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 @@
  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 77  
78 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 82 self.assertEqual(request.context['filters_options'], value)
... ...
colab/search/views.py
1 1 # -*- coding:utf-8 -*-
2 2  
3 3 from django.conf import settings
4   -from django.utils.translation import ugettext as _
5 4  
6 5 from haystack.views import SearchView
7 6 from colab.plugins.utils import filters_importer
8   -from colab.super_archives.models import MailingList
9 7  
10 8  
11 9 class ColabSearchView(SearchView):
... ... @@ -15,43 +13,6 @@ class ColabSearchView(SearchView):
15 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 16 try:
56 17 type_chosen = self.form.cleaned_data.get('type')
57 18 except AttributeError:
... ... @@ -65,7 +26,7 @@ class ColabSearchView(SearchView):
65 26 size_chosen = self.request.GET.get('size')
66 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 31 filters_options = [(k, v['name'], v['icon'])
71 32 for (k, v) in types.iteritems()]
... ...
colab/super_archives/filters.py 0 → 100644
... ... @@ -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 + }
... ...