From d91758a08a9ce7b7880f6dd575d397c0072b5c69 Mon Sep 17 00:00:00 2001 From: kibablu Date: Sat, 15 Oct 2022 11:53:45 +0300 Subject: [PATCH 1/3] Add searchable feature for plugins on plublic repo --- chris_backend/plugins/models.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/chris_backend/plugins/models.py b/chris_backend/plugins/models.py index 65a2fb1d..04cfe6b5 100755 --- a/chris_backend/plugins/models.py +++ b/chris_backend/plugins/models.py @@ -1,4 +1,5 @@ - +from cgitb import lookup +from dataclasses import field from django.db import models import django_filters @@ -223,6 +224,7 @@ class PluginFilter(FilterSet): category = django_filters.CharFilter(field_name='meta__category', lookup_expr='icontains') type = django_filters.CharFilter(field_name='meta__type', lookup_expr='exact') + public_repo = django_filters.CharFilter(field_name='meta__type', lookup_expr='icontains') description = django_filters.CharFilter(field_name='description', lookup_expr='icontains') name_title_category = django_filters.CharFilter(method='search_name_title_category') @@ -240,11 +242,19 @@ def search_name_title_category(self, queryset, name, value): lookup = lookup | models.Q(meta__category__icontains=value) return queryset.filter(lookup) + + def search_name_public_rep(self, queryset, name, value): + """ + Custom method to get a filtered queryset with all plugins in public_repo + """ + lookup = models.Q(meta__name__icontains=value) + lookup = lookup | models.Q(meta__public_repo__icontains=value) + return queryset.filter(lookup) class Meta: model = Plugin fields = ['id', 'name', 'name_exact', 'version', 'dock_image', 'type', 'category', 'min_creation_date', 'max_creation_date', 'title', 'description', - 'name_title_category', 'compute_resource_id'] + 'name_title_category', 'compute_resource_id', 'public_repo'] class PluginParameter(models.Model): From d691ec785cf4616826c7948a6b36851d89b286c0 Mon Sep 17 00:00:00 2001 From: kibablu Date: Mon, 24 Oct 2022 07:49:39 +0300 Subject: [PATCH 2/3] Remove additional imports --- chris_backend/plugins/models.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/chris_backend/plugins/models.py b/chris_backend/plugins/models.py index 04cfe6b5..5574cda8 100755 --- a/chris_backend/plugins/models.py +++ b/chris_backend/plugins/models.py @@ -1,5 +1,4 @@ -from cgitb import lookup -from dataclasses import field + from django.db import models import django_filters @@ -242,14 +241,6 @@ def search_name_title_category(self, queryset, name, value): lookup = lookup | models.Q(meta__category__icontains=value) return queryset.filter(lookup) - - def search_name_public_rep(self, queryset, name, value): - """ - Custom method to get a filtered queryset with all plugins in public_repo - """ - lookup = models.Q(meta__name__icontains=value) - lookup = lookup | models.Q(meta__public_repo__icontains=value) - return queryset.filter(lookup) class Meta: model = Plugin fields = ['id', 'name', 'name_exact', 'version', 'dock_image', 'type', 'category', From fe975bb83b5c2d934f31f01ca56c4295c524a151 Mon Sep 17 00:00:00 2001 From: kibablu Date: Thu, 8 Dec 2022 06:28:58 +0300 Subject: [PATCH 3/3] change meta__type to meta__public_repo in searchable plugins --- chris_backend/plugins/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chris_backend/plugins/models.py b/chris_backend/plugins/models.py index 5574cda8..89e03aa3 100755 --- a/chris_backend/plugins/models.py +++ b/chris_backend/plugins/models.py @@ -223,7 +223,7 @@ class PluginFilter(FilterSet): category = django_filters.CharFilter(field_name='meta__category', lookup_expr='icontains') type = django_filters.CharFilter(field_name='meta__type', lookup_expr='exact') - public_repo = django_filters.CharFilter(field_name='meta__type', lookup_expr='icontains') + public_repo = django_filters.CharFilter(field_name='meta__public_repo', lookup_expr='icontains') description = django_filters.CharFilter(field_name='description', lookup_expr='icontains') name_title_category = django_filters.CharFilter(method='search_name_title_category')