1203 Done. Need testing.

remotes/origin/1203
Alexander Burdeiny 10 years ago
parent dd9355f09e
commit 940bc2eb30
  1. 9
      conference/models.py
  2. 9
      exposition/models.py
  3. 14
      functions/model_mixin.py

@ -136,11 +136,8 @@ class Conference(TranslatableModel, EventMixin, ExpoMixin):
#return list(Service.objects.language().filter(url__in=ids, type=Service.type.conference).order_by('sort'))
def get_services_detail(self):
excluded = ['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.conference)) | Q(url__in=ids))
return list(qs)
# excluded = ['tickets']
return super(Conference, self).get_services_detail(None, Service.type.conference)
def get_nearest_events(self):
if self.theme.all():
@ -242,4 +239,4 @@ class TimeTable(TranslatableModel):
pre_save.connect(pre_save_handler, sender=Conference)
post_save.connect(post_save_handler, sender=Conference)
post_save.connect(post_save_handler, sender=TimeTable)
post_save.connect(post_save_handler, sender=Statistic)
post_save.connect(post_save_handler, sender=Statistic)

@ -179,11 +179,8 @@ 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 list(qs)
excluded = ['visit']
return super(Exposition, self).get_services_detail(excluded, Service.type.expo)
def get_parent(self):
return {}
@ -359,4 +356,4 @@ pre_save.connect(pre_save_handler, sender=Exposition)
post_save.connect(post_save_handler, sender=Exposition)
post_save.connect(post_save_handler, sender=TimeTable)
post_save.connect(post_save_handler, sender=TmpTimeTable)
post_save.connect(post_save_handler, sender=Statistic)
post_save.connect(post_save_handler, sender=Statistic)

@ -88,6 +88,18 @@ class EventMixin(object):
return list(Service.objects.language().filter(url__in=ids).order_by('sort'))
def get_services_detail(self, exluded, _type):
if not isinstance(getattr(self, '_get_services_detail', None), list):
# 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()
if exluded is not None:
qs = qs.exclude(url__in=excluded)
qs = qs.filter(Q(Q(url__in=country_ids) & Q(type=_type)) | Q(url__in=ids))
self._get_services_detail = list(qs)
return self._get_services_detail
def duration_days(self, month=None):
if not month:
d = self.data_end - self.data_begin
@ -177,4 +189,4 @@ class EventMixin(object):
for item in source.all():
destination.add(item)
return duplicate
return duplicate

Loading…
Cancel
Save