|
|
|
|
@ -180,6 +180,17 @@ class Exposition(TranslatableModel, EventMixin, ExpoMixin): |
|
|
|
|
def get_visit_url(self): |
|
|
|
|
return '/exposition-visit/%s/'%self.id |
|
|
|
|
|
|
|
|
|
def get_timetables_days(self): |
|
|
|
|
tables = self.business_program.all() |
|
|
|
|
days = [] |
|
|
|
|
for t in tables: |
|
|
|
|
d = t.begin.replace(hour = 0, minute = 0, second = 0, microsecond = 0) |
|
|
|
|
if not d in days: |
|
|
|
|
days.append(d) |
|
|
|
|
|
|
|
|
|
return days |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def clone(self): |
|
|
|
|
@ -248,8 +259,10 @@ class TimeTable(TranslatableModel): |
|
|
|
|
modified = models.DateTimeField(auto_now=True) |
|
|
|
|
#translated fields |
|
|
|
|
translations = TranslatedFields( |
|
|
|
|
name = models.CharField(verbose_name='Название программы', max_length=255, blank=True), |
|
|
|
|
programe = models.TextField(verbose_name='Программа'), |
|
|
|
|
speaker = models.CharField(verbose_name='Спикеры', max_length=255, blank=True) |
|
|
|
|
speaker = models.CharField(verbose_name='Спикеры', max_length=255, blank=True), |
|
|
|
|
place = models.CharField(verbose_name='Место проведения', max_length=255, blank=True) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
def to_dict(self): |
|
|
|
|
@ -268,8 +281,10 @@ class TmpTimeTable(TranslatableModel): |
|
|
|
|
modified = models.DateTimeField(auto_now=True) |
|
|
|
|
#translated fields |
|
|
|
|
translations = TranslatedFields( |
|
|
|
|
name = models.CharField(verbose_name='Название программы', max_length=255, blank=True), |
|
|
|
|
programe = models.TextField(verbose_name='Программа'), |
|
|
|
|
speaker = models.CharField(verbose_name='Спикеры', max_length=255, blank=True) |
|
|
|
|
speaker = models.CharField(verbose_name='Спикеры', max_length=255, blank=True), |
|
|
|
|
place = models.CharField(verbose_name='Место проведения', max_length=255, blank=True) |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
def clone(self, exposition=None): |
|
|
|
|
|