api: include date attribute in /datetimes API calls (#55366)

This commit is contained in:
Frédéric Péters 2021-07-03 08:44:56 +02:00
parent ceaff0ef79
commit 8104efa1e2
3 changed files with 14 additions and 0 deletions

View File

@ -60,6 +60,10 @@ def format_response_datetime(dt):
return localtime(dt).strftime('%Y-%m-%d %H:%M:%S')
def format_response_date(dt):
return localtime(dt).strftime('%Y-%m-%d')
def get_min_datetime(agenda, start_datetime=None):
if agenda.minimal_booking_delay is None:
return start_datetime
@ -455,6 +459,7 @@ def get_event_detail(
'slug': event.slug, # kept for compatibility
'text': get_event_text(event, agenda),
'label': event.label or '',
'date': format_response_date(event.start_datetime),
'datetime': format_response_datetime(event.start_datetime),
'description': event.description,
'pricing': event.pricing,
@ -899,6 +904,7 @@ class MeetingDatetimes(APIView):
slot_id = '%s:%s' % (meeting_type.slug, slot.start_datetime.strftime('%Y-%m-%d-%H%M'))
slot_data = {
'id': slot_id,
'date': format_response_date(slot.start_datetime),
'datetime': format_response_datetime(slot.start_datetime),
'text': date_format(slot.start_datetime, format='DATETIME_FORMAT'),
'disabled': bool(slot.full),
@ -947,6 +953,7 @@ class RecurringEventsList(APIView):
{
'id': slug,
'text': get_event_text(event, agenda, day),
'date': format_response_date(event.start_datetime),
'datetime': format_response_datetime(event.start_datetime),
'description': event.description,
'pricing': event.pricing,

View File

@ -42,6 +42,7 @@ def test_status(app, user):
'slug': 'event-slug',
'text': str(event),
'label': '',
'date': localtime(event.start_datetime).strftime('%Y-%m-%d'),
'datetime': localtime(event.start_datetime).strftime('%Y-%m-%d %H:%M:%S'),
'description': None,
'pricing': None,

View File

@ -121,6 +121,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
assert resp.json['data'] == [
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-24-0900/'},
'date': '2020-10-24',
'datetime': '2020-10-24 09:00:00',
'disabled': False,
'id': 'foo:2020-10-24-0900',
@ -128,6 +129,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
},
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-24-1400/'},
'date': '2020-10-24',
'datetime': '2020-10-24 14:00:00',
'disabled': False,
'id': 'foo:2020-10-24-1400',
@ -135,6 +137,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
},
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-25-0900/'},
'date': '2020-10-25',
'datetime': '2020-10-25 09:00:00',
'disabled': False,
'id': 'foo:2020-10-25-0900',
@ -142,6 +145,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
},
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-25-1400/'},
'date': '2020-10-25',
'datetime': '2020-10-25 14:00:00',
'disabled': False,
'id': 'foo:2020-10-25-1400',
@ -149,6 +153,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
},
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-26-0900/'},
'date': '2020-10-26',
'datetime': '2020-10-26 09:00:00',
'disabled': False,
'id': 'foo:2020-10-26-0900',
@ -156,6 +161,7 @@ def test_datetimes_api_meetings_agenda_time_change(app):
},
{
'api': {'fillslot_url': 'http://testserver/api/agenda/agenda/fillslot/foo:2020-10-26-1400/'},
'date': '2020-10-26',
'datetime': '2020-10-26 14:00:00',
'disabled': False,
'id': 'foo:2020-10-26-1400',