import calendar as python_calendar from service.models import Service class ExpoMixin(object): # def get_index_text(self): # names = [tr.name for tr in self.translations.all()] # return names def get_logo(self): logo = self.files.filter(purpose='logo') if logo: return logo[0] return logo def get_preview(self): preview = self.files.filter(purpose='preview') if preview: return preview[0] return preview def get_photos(self): photos = self.files.filter(purpose='photo') return photos class EventMixin(object): def get_permanent_url(self): url = '%s%s/'%(self.get_catalog_url(), self.url) return url def get_logo(self): return self.logo """ logo = self.files.filter(purpose='logo') if logo: return logo[0] return logo """ def get_preview(self): preview = self.files.filter(purpose='preview') if preview: return preview[0] return preview def get_photos(self): if self.photogallery: return self.photogallery.photos.language().all() else: return None """ photos = self.files.filter(purpose='photo') return photos """ def on(self): self.is_published = True self.canceled_by_administrator = False self.save() def off(self): self.is_published = False self.canceled_by_administrator = True self.save() def cancel(self): self.canceled_by_administrator = True def get_services(self): ids = [item for item, bool in self.country.services if bool==True] ##sasa return list(Service.objects.language().filter(url__in=ids).order_by('sort')) def duration_days(self, month=None): if not month: d = self.data_end - self.data_begin return d.days+1 else: if self.data_begin.month == month and self.data_end.month ==month: d = self.data_end - self.data_begin return d.days + 1 if self.data_begin.month == month: last_day = python_calendar.monthrange(self.data_begin.year, month)[1] return last_day - self.data_begin.day + 1 if self.data_end.month == month: return self.data_end.day return 0