From f9cc17671d2eea6d7f9280a69779c1daffb46e03 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Sun, 7 Apr 2013 13:38:44 +0100 Subject: [PATCH] Split out online and retail store sections. --- .../templates/stores/store_online_list.html | 76 +++++++++++++++++++ app/stores/urls.py | 2 + app/stores/views/__init__.py | 2 +- app/stores/views/stores.py | 15 ++++ app/vapemap/templates/base.html | 3 +- 5 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 app/stores/templates/stores/store_online_list.html diff --git a/app/stores/templates/stores/store_online_list.html b/app/stores/templates/stores/store_online_list.html new file mode 100644 index 0000000..9e3eb1e --- /dev/null +++ b/app/stores/templates/stores/store_online_list.html @@ -0,0 +1,76 @@ +{% extends "base.html" %} +{% load staticfiles %} + +{% block title %} + Stores +{% endblock %} + +{% block style %} + +{% endblock %} + +{% block scripts %} + + + +{% endblock %} + +{% block content %} + + +
+
+
+
+
+ +
+
+ +
+ {% if store_list.count %} + + + + + + {% for store in store_list %} + + + + + + {% endfor %} + +
NameCountryWebsite
{{ store }}{{ store.address.country }}Website
+ {% include "stores/paginator.html" %} + {% else %} + {% if search_query %} +

No results found for the search "{{ search_query }}".

+ {% endif %} + {% endif %} +
+
+
+ +
+
+
+{% endblock %} \ No newline at end of file diff --git a/app/stores/urls.py b/app/stores/urls.py index e3a4150..d7c6b9e 100644 --- a/app/stores/urls.py +++ b/app/stores/urls.py @@ -12,6 +12,8 @@ urlpatterns = patterns('', url(r'^chains/(?P.*)/$', ChainDetailView.as_view(), name='chain-detail'), url(r'^stores/$', StoreListView.as_view(), name='store-list'), + url(r'^stores/retail/$', RetailStoreListView.as_view(), name='store-retail-list'), + url(r'^stores/online/$', OnlineStoreListView.as_view(), name='store-online-list'), url(r'^stores/create/$', StoreCreateView.as_view([AddressForm, StoreForm]), name='store-create'), url(r'^stores/search/$', DistanceSearchView.as_view(), name='store-search'), url(r'^stores/(?P.*)/claim/$', ClaimCreateView.as_view(target_model=Store), name='store-claim'), diff --git a/app/stores/views/__init__.py b/app/stores/views/__init__.py index a4f9007..ce328e6 100644 --- a/app/stores/views/__init__.py +++ b/app/stores/views/__init__.py @@ -1,4 +1,4 @@ -from .stores import StoreListView, StoreDetailView, StoreUpdateView, StoreCreateView +from .stores import StoreListView, OnlineStoreListView, RetailStoreListView, StoreDetailView, StoreUpdateView, StoreCreateView from .chains import ChainListView, ChainDetailView from .search import DistanceSearchView from .claims import ClaimCreateView diff --git a/app/stores/views/stores.py b/app/stores/views/stores.py index fe71a6b..cd89435 100644 --- a/app/stores/views/stores.py +++ b/app/stores/views/stores.py @@ -27,6 +27,21 @@ class StoreListView(HaystackSearchListMixin, ListView): return qs.filter(active=True).select_related('address', 'address__country') +class OnlineStoreListView(StoreListView): + template_name_suffix = '_online_list' + + def get_queryset(self): + qs = super(OnlineStoreListView, self).get_queryset() + return qs.filter(store_type__in=[Store.STORE_TYPE_ONLINE, Store.STORE_TYPE_BOTH]) + + +class RetailStoreListView(StoreListView): + + def get_queryset(self): + qs = super(RetailStoreListView, self).get_queryset() + return qs.filter(store_type__in=[Store.STORE_TYPE_ONLINE, Store.STORE_TYPE_BOTH]) + + class StoreDetailView(EditorCheckMixin, DetailView): model = Store diff --git a/app/vapemap/templates/base.html b/app/vapemap/templates/base.html index ca9acd4..c0b1ca6 100644 --- a/app/vapemap/templates/base.html +++ b/app/vapemap/templates/base.html @@ -37,7 +37,8 @@