Skip to content

Commit

Permalink
Merge pull request #20 from praekelt/feature/show-in-home-page-keywor…
Browse files Browse the repository at this point in the history
…d-filter

Feature/show in home page keyword filter
  • Loading branch information
moh-moola committed Sep 20, 2018
2 parents 17ddcdb + d2eb088 commit 5a69bce
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 21 deletions.
12 changes: 5 additions & 7 deletions molo/servicedirectory/templates/servicedirectory/home.html
Expand Up @@ -9,18 +9,16 @@

{% if SERVICE_DIRECTORY_MULTI_CATEGORY_SELECT %}
<fieldset>
<div>Select Service Categories</div>
{% for category in categories_keywords %}
{% for keyword in category.keywords %}
<div>Select Service Categories</div>
{% for keyword in keyword_list %}
<label class="">
{{ keyword|title }}
{{ keyword.name|title }}
<input type="checkbox"
{% if keyword in keywords %}checked="checked"{% endif %}
{% if keyword.name in keywords %}checked="checked"{% endif %}
name="keywords[]"
value="{{ keyword }}" />
value="{{ keyword.name }}" />
</label>
{% endfor %}
{% endfor %}
</fieldset>

{% for category in categories %}
Expand Down
1 change: 1 addition & 0 deletions molo/servicedirectory/tests/test_views.py
Expand Up @@ -75,6 +75,7 @@ def test_home_view(self):
context = response.context_data
self.assertEqual(response.status_code, 200)
self.assertEqual(context['categories'], [1, 2])
self.assertTrue('keyword_list' in context.keys())
self.assertEqual(context['keywords'], ['key1', 'key2'])

self.assertEqual(
Expand Down
31 changes: 17 additions & 14 deletions molo/servicedirectory/views.py
Expand Up @@ -72,18 +72,25 @@ class HomeView(TemplateView):
def get_context_data(self, **kwargs):
context = super(HomeView, self).get_context_data(**kwargs)

keyword_list = None
category = self.request.GET.get('category', None)
keywords = self.request.GET.getlist('keywords[]', [])
categories = self.request.GET.getlist('categories[]', [])

site_settings = SiteSettings.for_site(self.request.site)
if site_settings.enable_multi_category_service_directory_search:
keywords_url = '{0}keywords?show_on_home_page=True'.format(
get_service_directory_api_base_url(self.request))

keyword_list = make_request_to_servicedirectory_api(
keywords_url, self.request)

if not category:
categories_keywords_url = '{0}homepage_categories_keywords/'\
.format(get_service_directory_api_base_url(self.request))

categories_keywords = make_request_to_servicedirectory_api(
categories_keywords_url,
self.request
)
categories_keywords_url, self.request)

else:
service_directory_query_parms = QueryDict('', mutable=True)
Expand All @@ -94,21 +101,18 @@ def get_context_data(self, **kwargs):
service_directory_query_parms.urlencode())

keywords = make_request_to_servicedirectory_api(
keywords_url,
self.request
)
keywords_url, self.request)

categories_keywords = [
{
'name': category,
'keywords': [keyword['name'] for keyword in keywords]
}
]
categories_keywords = [{
'name': category,
'keywords': [keyword['name'] for keyword in keywords]
}]

context['keywords'] = keywords
context['and_more'] = not category
context['categories'] = [int(i) for i in categories if i.isdigit()]
context['keyword_list'] = keyword_list
context['categories_keywords'] = categories_keywords
context['categories'] = [int(i) for i in categories if i.isdigit()]
return context


Expand All @@ -122,7 +126,6 @@ def get_context_data(self, **kwargs):
categories = self.request.GET.getlist('categories[]', [])

context['keywords'] = keywords
context['categories'] = categories
context['search_term'] = search_term
context['categories'] = [int(i) for i in categories if i.isdigit()]
return context
Expand Down

0 comments on commit 5a69bce

Please sign in to comment.