From db7a8f271597a34258e20d9e37ce3e31b0f697f9 Mon Sep 17 00:00:00 2001 From: Nazar Kotjuk Date: Fri, 9 Oct 2015 11:56:49 +0300 Subject: [PATCH] Linked services fixing --- exposition/models.py | 7 +++++++ service/admin_urls.py | 10 +++++----- service/models.py | 9 +++++++++ .../admin/service/linked_service_list.html | 12 +++++------- .../exposition/exposition_services.html | 17 +++++++---------- 5 files changed, 33 insertions(+), 22 deletions(-) diff --git a/exposition/models.py b/exposition/models.py index 8a38e1a9..f8a652bb 100644 --- a/exposition/models.py +++ b/exposition/models.py @@ -178,6 +178,13 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin): return list(qs) + def get_services_detail(self): + excluded = ['visit', 'tickets'] + country_ids = [item for item, bool in self.country.services if bool==True] + ids = [item for item, bool in self.services if bool==True] + qs = Service.objects.language().exclude(url__in=excluded).filter(Q(Q(url__in=country_ids) & Q(type=Service.type.expo)) | Q(url__in=ids)) + return qs + def get_parent(self): return {} def get_absolute_url(self): diff --git a/service/admin_urls.py b/service/admin_urls.py index f1816405..4b025595 100644 --- a/service/admin_urls.py +++ b/service/admin_urls.py @@ -5,8 +5,8 @@ from views import CallBackListView, VisitListView, TranslationListView, Advertis from service.admin import ServiceControlList, ServiceControl, LinkedServiceList, LinkedServiceUpdateView, LinkedServiceDeleteView urlpatterns = patterns('service.admin', - url(r'^control/list/$', ServiceControlList.as_view()), - url(r'^control/(?P.*)/$', ServiceControl.as_view()), + #url(r'^control/list/$', ServiceControlList.as_view()), + #url(r'^control/(?P.*)/$', ServiceControl.as_view()), url(r'^add.*/$', 'service_add'), url(r'^delete/(?P.*)/$', 'service_delete'), url(r'^change/(?P.*)/$', 'service_change'), @@ -18,9 +18,9 @@ urlpatterns = patterns('service.admin', url(r'order/participation/$', ParticipationListView.as_view()), url(r'order/remote/$', RemoteListView.as_view()), url(r'order/tickets/$', TicketsListView.as_view()), - url('^test/delete/(?P[a-z]*)/', LinkedServiceDeleteView.as_view(), name='linked_service_delete'), - url('^test/all/', LinkedServiceList.as_view(), name = 'linked_service_all'), - url('^test/(?P[a-z]*)/', LinkedServiceUpdateView.as_view(), name= 'linked_service_update'), + url(r'^control/delete/(?P[a-z]*)/', LinkedServiceDeleteView.as_view(), name='linked_service_delete'), + url(r'^control/all/', LinkedServiceList.as_view(), name = 'linked_service_all'), + url(r'^control/(?P[a-z]*)/', LinkedServiceUpdateView.as_view(), name= 'linked_service_update'), #ajax url(r'^get_city/$', 'get_city'), diff --git a/service/models.py b/service/models.py index 4549f10e..471bc6fa 100644 --- a/service/models.py +++ b/service/models.py @@ -238,5 +238,14 @@ class LinkedService(models.Model): self.update_expositions_flag() self.update_conferences_flag() + def countries_count(self): + if not self.exclude_countries: + return self.countries.all().count() + else: + from country.models import Country + all = Country.objects.filter().count() + excluded = self.countries.all().count() + return all - excluded + def __unicode__(self): return u'Linked service for %s'%self.service.url diff --git a/templates/admin/service/linked_service_list.html b/templates/admin/service/linked_service_list.html index eb4af0cb..4d656474 100644 --- a/templates/admin/service/linked_service_list.html +++ b/templates/admin/service/linked_service_list.html @@ -2,7 +2,7 @@ {% block body %} -
+

Настройки услуг

@@ -25,17 +25,15 @@ {{ item.id }} {{ item.service.name }} - {% if item.service.type.mask == 1 %} expo {% elif item.service.type.mask == 2%} conf {% elif item.service.type.mask == 3 %} expo, conf{% endif %} - {{ item.countries.count }} + {% if item.service.type.mask == 1 %} выставки {% elif item.service.type.mask == 2%} конференции {% elif item.service.type.mask == 3 %} выставки и конференции{% endif %} + {{ item.countries_count }} {{ item.expositions.count }} {{ item.conferences.count }} - Изменить - - - Удалить + Управление + {% endfor %} diff --git a/templates/client/includes/exposition/exposition_services.html b/templates/client/includes/exposition/exposition_services.html index 5e9b936f..b98f4d71 100644 --- a/templates/client/includes/exposition/exposition_services.html +++ b/templates/client/includes/exposition/exposition_services.html @@ -2,15 +2,12 @@
\ No newline at end of file