agendas: add property for datetimes API url (#80489)
To simplify using datetimes URLs in tests.
This commit is contained in:
parent
3dac9ed0fb
commit
2d8912c0a3
|
@ -400,7 +400,7 @@ class Agenda(models.Model):
|
|||
.filter(total=real_agendas.count())
|
||||
)
|
||||
return [
|
||||
MeetingType(duration=mt['duration'], label=mt['label'], slug=mt['slug'])
|
||||
MeetingType(duration=mt['duration'], label=mt['label'], slug=mt['slug'], agenda=self)
|
||||
for mt in queryset.order_by('slug')
|
||||
]
|
||||
|
||||
|
@ -1640,6 +1640,10 @@ class Agenda(models.Model):
|
|||
if to_update:
|
||||
BookingCheck.objects.bulk_update(to_update, ['computed_start_time', 'computed_end_time'])
|
||||
|
||||
def get_datetimes_url(self):
|
||||
assert self.kind == 'events'
|
||||
return reverse('api-agenda-datetimes', kwargs={'agenda_identifier': self.slug})
|
||||
|
||||
|
||||
class VirtualMember(models.Model):
|
||||
"""Trough model to link virtual agendas to their real agendas.
|
||||
|
@ -2031,6 +2035,15 @@ class MeetingType(models.Model):
|
|||
|
||||
return new_meeting_type
|
||||
|
||||
def get_datetimes_url(self):
|
||||
return reverse(
|
||||
'api-agenda-meeting-datetimes',
|
||||
kwargs={
|
||||
'agenda_identifier': self.agenda.slug,
|
||||
'meeting_identifier': self.slug,
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
class Event(models.Model):
|
||||
id = models.BigAutoField(primary_key=True)
|
||||
|
|
|
@ -1102,15 +1102,7 @@ class MeetingList(APIView):
|
|||
'id': meeting_type.slug,
|
||||
'duration': meeting_type.duration,
|
||||
'api': {
|
||||
'datetimes_url': request.build_absolute_uri(
|
||||
reverse(
|
||||
'api-agenda-meeting-datetimes',
|
||||
kwargs={
|
||||
'agenda_identifier': agenda.slug,
|
||||
'meeting_identifier': meeting_type.slug,
|
||||
},
|
||||
)
|
||||
),
|
||||
'datetimes_url': request.build_absolute_uri(meeting_type.get_datetimes_url()),
|
||||
},
|
||||
}
|
||||
)
|
||||
|
@ -1137,12 +1129,7 @@ class MeetingInfo(APIView):
|
|||
except MeetingType.DoesNotExist:
|
||||
raise Http404()
|
||||
|
||||
datetimes_url = request.build_absolute_uri(
|
||||
reverse(
|
||||
'api-agenda-meeting-datetimes',
|
||||
kwargs={'agenda_identifier': agenda.slug, 'meeting_identifier': meeting_type.slug},
|
||||
)
|
||||
)
|
||||
datetimes_url = request.build_absolute_uri(meeting_type.get_datetimes_url())
|
||||
return Response(
|
||||
{
|
||||
'data': {
|
||||
|
|
Loading…
Reference in New Issue