"""
return self.start <= datetime.date.today() <= self.end and self.enable_appointment
+ @cached_property
def days(self):
days = {}
delay = self.book_delay
# print days
return sorted(days.values(), key=lambda d:d['date'])
- def nb_jurys_to_show(self, date):
- min = 100
- for day in self.days():
- if day['date'] != date:
- continue
- for groupslot in day['slots']:
- for slot in groupslot.slots:
- for i, jury in enumerate(slot['jurys']):
- if jury['available']:
- if i < min:
- min = i
- return 1 + min
@staticmethod
def work_day_between(start, end):
return self.jurys.count()
get_nb_jury.short_description = "Nombre de jurys"
-
+ @property
def get_visible_jurys(self):
- return self.jurys.order_by('id')[:self.appointment_period.nb_jurys_to_show(self.date)]
+ return self.jurys.order_by('id')[:self.nb_jurys_to_show]
- @cached_property
+ @property
def get_nb_of_visible_jurys(self):
- return self.appointment_period.nb_jurys_to_show(self.date)
+ return self.nb_jurys_to_show
+
+ @cached_property
+ def nb_jurys_to_show(self):
+ min = 100
+
+ for groupslot in AppointmentSlot.objects.filter(date=self.date).all():
+ for slot in groupslot.slots:
+ for i, jury in enumerate(slot['jurys']):
+ if jury['available']:
+ if i < min:
+ min = i
+ return 1 + min
@cached_property
def slots(self):
# print res
return res
- @property
+ @cached_property
def has_available_slot(self):
""" is this day has any slot available"""
for slot in self.slots:
for ap_period in AppointmentPeriod.objects.filter(periods__id=period_id).order_by('id'):
if ap_period.is_open:
ap_periods.append({
- 'days':ap_period.days(),
+ 'days':ap_period.days,
'name': ap_period.name,
'appointment':ap_period.get_appointment(user)
})
delay = slot.appointment_period.book_delay
return u"Vous devez réserver au moins %d jours ouvrés à l'avance" % delay
# Check if this jury is open
- jurys = slot.get_visible_jurys()
+ jurys = slot.get_visible_jurys
if not jury_id in [ j.id for j in jurys ]:
return u"Ce jury n'est pas ouvert"
# Check if this slot is empty
'student': ap.student,
'main_text': ap.appointment_period.appointment_mail_text }
# DEBUG
- # data['mto'] = "gael@pilotsystems.net"
+ data['mto'] = "yoanl@pilotsystems.net"
# data['mto'] = "dorothee.lavalle@pre-barreau.com"
subject_template = 'teleforma/messages/email_appointment_sujet.txt'