misc: don't block exceptions because of booking on other desks (#21078)
This commit is contained in:
parent
b8b130e4f7
commit
70019d195a
|
@ -545,7 +545,8 @@ class TimePeriodException(models.Model):
|
|||
if not (self.start_datetime and self.end_datetime):
|
||||
# incomplete time period, can't tell
|
||||
return False
|
||||
for event in Event.objects.filter(agenda=self.desk.agenda,
|
||||
for event in Event.objects.filter(
|
||||
desk=self.desk,
|
||||
booking__isnull=False,
|
||||
booking__cancellation_datetime__isnull=True):
|
||||
if self.start_datetime <= event.start_datetime < self.end_datetime:
|
||||
|
|
|
@ -777,7 +777,7 @@ def test_meetings_agenda_add_time_period_exception_when_booking_exists(app, admi
|
|||
MeetingType(agenda=agenda, label='Blah').save()
|
||||
TimePeriod.objects.create(weekday=1, desk=desk,
|
||||
start_time=datetime.time(10, 0), end_time=datetime.time(12, 0))
|
||||
event = Event.objects.create(agenda=agenda, places=1,
|
||||
event = Event.objects.create(agenda=agenda, places=1, desk=desk,
|
||||
start_datetime=make_aware(datetime.datetime(2017, 5, 22, 10, 30)))
|
||||
Booking.objects.create(event=event)
|
||||
login(app)
|
||||
|
@ -793,6 +793,17 @@ def test_meetings_agenda_add_time_period_exception_when_booking_exists(app, admi
|
|||
assert 'One or several bookings exists within this time slot.' in resp.content
|
||||
assert TimePeriodException.objects.count() == 0
|
||||
|
||||
# check it's possible to add an exception on another desk
|
||||
desk = Desk.objects.create(agenda=agenda, label='Desk B')
|
||||
TimePeriod.objects.create(weekday=1, desk=desk,
|
||||
start_time=datetime.time(10, 0), end_time=datetime.time(12, 0))
|
||||
resp = app.get('/manage/agendas/%d/' % agenda.pk)
|
||||
resp = resp.click('Add a time period exception', href='desk/%s/' % desk.id)
|
||||
resp.form['start_datetime'] = '2017-05-22 08:00'
|
||||
resp.form['end_datetime'] = '2017-05-26 17:30'
|
||||
resp = resp.form.submit()
|
||||
assert TimePeriodException.objects.count() == 1
|
||||
|
||||
def test_meetings_agenda_add_time_period_exception_when_cancelled_booking_exists(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
|
||||
desk = Desk.objects.create(agenda=agenda, label='Desk A')
|
||||
|
|
Loading…
Reference in New Issue