Commit e1694f210a0394f62f334bbd7b5cb12fc575006e
1 parent
e0562676
Exists in
master
and in
7 other branches
Moved generic filters from search
- Moved mailing lists filters to super_archives - Moved users filters to accounts Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Matheus Faria <matheus.sousa.faria@gmail.com>
Showing
4 changed files
with
48 additions
and
45 deletions
Show diff stats
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +from django.utils.translation import ugettext as _ | ||
2 | + | ||
3 | + | ||
4 | +def get_filters(request): | ||
5 | + return { | ||
6 | + 'user': { | ||
7 | + 'name': _(u'User'), | ||
8 | + 'icon': 'user', | ||
9 | + 'fields': ( | ||
10 | + ( | ||
11 | + 'username', | ||
12 | + _(u'Username'), | ||
13 | + request.get('username'), | ||
14 | + ), | ||
15 | + ('name', _(u'Name'), request.get('name')), | ||
16 | + ( | ||
17 | + 'institution', | ||
18 | + _(u'Institution'), | ||
19 | + request.get('institution'), | ||
20 | + ), | ||
21 | + ('role', _(u'Role'), request.get('role')) | ||
22 | + ), | ||
23 | + }, | ||
24 | + } |
colab/search/tests.py
@@ -77,10 +77,6 @@ class SearchViewTest(TestCase): | @@ -77,10 +77,6 @@ class SearchViewTest(TestCase): | ||
77 | 77 | ||
78 | request = self.client.get('/search/?q=') | 78 | request = self.client.get('/search/?q=') |
79 | 79 | ||
80 | - value = [ | ||
81 | - ('plugin_name', 'PluginData', 'plugin_icon'), | ||
82 | - ('user', u'User', 'user'), | ||
83 | - ('thread', u'Discussion', 'envelope') | ||
84 | - ] | 80 | + value = [('plugin_name', 'PluginData', 'plugin_icon')] |
85 | 81 | ||
86 | self.assertEqual(request.context['filters_options'], value) | 82 | self.assertEqual(request.context['filters_options'], value) |
colab/search/views.py
1 | # -*- coding:utf-8 -*- | 1 | # -*- coding:utf-8 -*- |
2 | 2 | ||
3 | from django.conf import settings | 3 | from django.conf import settings |
4 | -from django.utils.translation import ugettext as _ | ||
5 | 4 | ||
6 | from haystack.views import SearchView | 5 | from haystack.views import SearchView |
7 | from colab.plugins.utils import filters_importer | 6 | from colab.plugins.utils import filters_importer |
8 | -from colab.super_archives.models import MailingList | ||
9 | 7 | ||
10 | 8 | ||
11 | class ColabSearchView(SearchView): | 9 | class ColabSearchView(SearchView): |
@@ -15,43 +13,6 @@ class ColabSearchView(SearchView): | @@ -15,43 +13,6 @@ class ColabSearchView(SearchView): | ||
15 | self.request.LANGUAGE_CODE, (None, None) | 13 | self.request.LANGUAGE_CODE, (None, None) |
16 | ) | 14 | ) |
17 | 15 | ||
18 | - types = { | ||
19 | - 'thread': { | ||
20 | - 'name': _(u'Discussion'), | ||
21 | - 'icon': 'envelope', | ||
22 | - 'fields': ( | ||
23 | - ('author', _(u'Author'), self.request.GET.get('author')), | ||
24 | - ( | ||
25 | - 'list', | ||
26 | - _(u'Mailinglist'), | ||
27 | - self.request.GET.getlist('list'), | ||
28 | - 'list', | ||
29 | - [(v, v) for v in MailingList.objects.values_list( | ||
30 | - 'name', flat=True)] | ||
31 | - ), | ||
32 | - ), | ||
33 | - }, | ||
34 | - } | ||
35 | - | ||
36 | - types['user'] = { | ||
37 | - 'name': _(u'User'), | ||
38 | - 'icon': 'user', | ||
39 | - 'fields': ( | ||
40 | - ( | ||
41 | - 'username', | ||
42 | - _(u'Username'), | ||
43 | - self.request.GET.get('username'), | ||
44 | - ), | ||
45 | - ('name', _(u'Name'), self.request.GET.get('name')), | ||
46 | - ( | ||
47 | - 'institution', | ||
48 | - _(u'Institution'), | ||
49 | - self.request.GET.get('institution'), | ||
50 | - ), | ||
51 | - ('role', _(u'Role'), self.request.GET.get('role')) | ||
52 | - ), | ||
53 | - } | ||
54 | - | ||
55 | try: | 16 | try: |
56 | type_chosen = self.form.cleaned_data.get('type') | 17 | type_chosen = self.form.cleaned_data.get('type') |
57 | except AttributeError: | 18 | except AttributeError: |
@@ -65,7 +26,7 @@ class ColabSearchView(SearchView): | @@ -65,7 +26,7 @@ class ColabSearchView(SearchView): | ||
65 | size_chosen = self.request.GET.get('size') | 26 | size_chosen = self.request.GET.get('size') |
66 | used_by_chosen = self.request.GET.get('used_by') | 27 | used_by_chosen = self.request.GET.get('used_by') |
67 | 28 | ||
68 | - types.update(filters_importer.import_plugin_filters(self.request)) | 29 | + types = filters_importer.import_plugin_filters(self.request.GET) |
69 | 30 | ||
70 | filters_options = [(k, v['name'], v['icon']) | 31 | filters_options = [(k, v['name'], v['icon']) |
71 | for (k, v) in types.iteritems()] | 32 | for (k, v) in types.iteritems()] |
@@ -0,0 +1,22 @@ | @@ -0,0 +1,22 @@ | ||
1 | +from django.utils.translation import ugettext as _ | ||
2 | +from colab.super_archives.models import MailingList | ||
3 | + | ||
4 | + | ||
5 | +def get_filters(request): | ||
6 | + return { | ||
7 | + 'thread': { | ||
8 | + 'name': _(u'Discussion'), | ||
9 | + 'icon': 'envelope', | ||
10 | + 'fields': ( | ||
11 | + ('author', _(u'Author'), request.get('author')), | ||
12 | + ( | ||
13 | + 'list', | ||
14 | + _(u'Mailinglist'), | ||
15 | + request.get('list'), | ||
16 | + 'list', | ||
17 | + [(v, v) for v in MailingList.objects.values_list( | ||
18 | + 'name', flat=True)] | ||
19 | + ), | ||
20 | + ), | ||
21 | + }, | ||
22 | + } |