0001-event-show-booking-sorted-by-creation-40019.patch
chrono/manager/views.py | ||
---|---|---|
712 | 712 |
context = super(EventDetailView, self).get_context_data(**kwargs) |
713 | 713 |
context['user_can_manage'] = self.agenda.can_be_managed(self.request.user) |
714 | 714 |
event = self.get_object() |
715 |
context['booked'] = event.booking_set.filter( |
|
716 |
cancellation_datetime__isnull=True, in_waiting_list=False |
|
717 |
) |
|
718 |
context['waiting'] = event.booking_set.filter( |
|
719 |
cancellation_datetime__isnull=True, in_waiting_list=True |
|
720 |
) |
|
715 |
context['booked'] = ( |
|
716 |
event.booking_set |
|
717 |
.filter(cancellation_datetime__isnull=True, in_waiting_list=False) |
|
718 |
.order_by('creation_datetime')) |
|
719 |
context['waiting'] = ( |
|
720 |
event.booking_set |
|
721 |
.filter(cancellation_datetime__isnull=True, in_waiting_list=True) |
|
722 |
.order_by('creation_datetime')) |
|
721 | 723 |
return context |
722 | 724 | |
723 | 725 |
tests/test_manager.py | ||
---|---|---|
1978 | 1978 |
agenda = Agenda(label=u'Foo bar') |
1979 | 1979 |
agenda.view_role = manager_user.groups.all()[0] |
1980 | 1980 |
agenda.save() |
1981 |
event = Event( |
|
1981 |
event = Event.objects.create(
|
|
1982 | 1982 |
label='xyz', |
1983 | 1983 |
start_datetime=make_aware(datetime.datetime(2019, 12, 22, 17, 0)), |
1984 | 1984 |
places=10, |
1985 | 1985 |
agenda=agenda, |
1986 | 1986 |
) |
1987 |
event.save() |
|
1988 | 1987 |
for i in range(8): |
1989 |
Booking(event=event).save() |
|
1988 |
Booking.objects.create(event=event) |
|
1989 |
Booking.objects.create(event=event, cancellation_datetime=now()) |
|
1990 | 1990 |
app = login(app, username='manager', password='manager') |
1991 | 1991 |
resp = app.get('/manage/agendas/%s/2019/12/' % agenda.id, status=200) |
1992 | 1992 |
resp = resp.click('xyz') |
... | ... | |
1998 | 1998 |
resp = app.get(resp.request.url) |
1999 | 1999 |
assert 'Waiting List (0/5)' in resp.text |
2000 | 2000 | |
2001 |
booking = Booking.objects.order_by('pk')[0] |
|
2002 |
booking.in_waiting_list = True |
|
2003 |
booking.save() |
|
2004 |
booking = Booking.objects.order_by('pk')[1] |
|
2005 |
booking.in_waiting_list = True |
|
2006 |
booking.save() |
|
2007 |
resp = app.get(resp.request.url) |
|
2008 |
assert 'Waiting List (2/5)' in resp.text |
|
2009 |
assert 'Bookings (6/10)' in resp.text |
|
2010 |
assert list(resp.context['booked']) == list(Booking.objects.order_by('creation_datetime')[2:8]) |
|
2011 |
assert list(resp.context['waiting']) == list(Booking.objects.order_by('creation_datetime')[0:2]) |
|
2012 | ||
2001 | 2013 |
event.places = 5 |
2002 | 2014 |
event.save() |
2003 | 2015 |
resp = app.get(resp.request.url) |
2004 |
- |