manager: agenda settings url with slug (#65986)
This commit is contained in:
parent
055b23156d
commit
e58e5e3a60
|
@ -159,6 +159,11 @@ urlpatterns = [
|
|||
name='chrono-manager-agenda-open-events-view',
|
||||
),
|
||||
url(r'^agendas/(?P<pk>\d+)/settings$', views.agenda_settings, name='chrono-manager-agenda-settings'),
|
||||
url(
|
||||
r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/settings/$',
|
||||
views.agenda_settings_redirect_view,
|
||||
name='chrono-manager-agenda-settings-redirect',
|
||||
),
|
||||
url(r'^agendas/(?P<pk>\d+)/edit$', views.agenda_edit, name='chrono-manager-agenda-edit'),
|
||||
url(
|
||||
r'^agendas/(?P<pk>\d+)/booking-delays$',
|
||||
|
|
|
@ -1853,6 +1853,15 @@ class ManagedTimePeriodExceptionMixin:
|
|||
)
|
||||
|
||||
|
||||
class AgendaSettingsRedirectView(RedirectView):
|
||||
def get_redirect_url(self, *args, **kwargs):
|
||||
agenda = get_object_or_404(Agenda, slug=kwargs['slug'])
|
||||
return reverse('chrono-manager-agenda-settings', kwargs={'pk': agenda.pk})
|
||||
|
||||
|
||||
agenda_settings_redirect_view = AgendaSettingsRedirectView.as_view()
|
||||
|
||||
|
||||
class AgendaSettings(ManagedAgendaMixin, DetailView):
|
||||
model = Agenda
|
||||
|
||||
|
|
|
@ -371,6 +371,17 @@ def test_add_agenda_and_set_role(app, admin_user, manager_user):
|
|||
assert agenda.desk_set.count() == 1
|
||||
|
||||
|
||||
def test_options_agenda_redirect(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo Bar')
|
||||
|
||||
app = login(app)
|
||||
for kind in ['events', 'meetings', 'virtual']:
|
||||
agenda.kind = kind
|
||||
agenda.save()
|
||||
resp = app.get('/manage/agendas/%s/settings/' % agenda.slug, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.pk)
|
||||
|
||||
|
||||
def test_options_agenda(app, admin_user):
|
||||
agenda_events = Agenda.objects.create(label='Foo bar', kind='events')
|
||||
Desk.objects.create(agenda=agenda_events, slug='_exceptions_holder')
|
||||
|
|
Loading…
Reference in New Issue