Commit e1694f210a0394f62f334bbd7b5cb12fc575006e

Authored by Gust
1 parent e0562676

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>
colab/accounts/filters.py 0 → 100644
@@ -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()]
colab/super_archives/filters.py 0 → 100644
@@ -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 + }