0002-manager-agenda-settings-url-with-slug-65986.patch
chrono/manager/urls.py | ||
---|---|---|
159 | 159 |
name='chrono-manager-agenda-open-events-view', |
160 | 160 |
), |
161 | 161 |
url(r'^agendas/(?P<pk>\d+)/settings$', views.agenda_settings, name='chrono-manager-agenda-settings'), |
162 |
url( |
|
163 |
r'^agendas/(?P<slug>[-_a-zA-Z0-9]+)/settings/$', |
|
164 |
views.agenda_settings_redirect_view, |
|
165 |
name='chrono-manager-agenda-settings-redirect', |
|
166 |
), |
|
162 | 167 |
url(r'^agendas/(?P<pk>\d+)/edit$', views.agenda_edit, name='chrono-manager-agenda-edit'), |
163 | 168 |
url( |
164 | 169 |
r'^agendas/(?P<pk>\d+)/booking-delays$', |
chrono/manager/views.py | ||
---|---|---|
1834 | 1834 |
) |
1835 | 1835 | |
1836 | 1836 | |
1837 |
class AgendaSettingsRedirectView(RedirectView): |
|
1838 |
def get_redirect_url(self, *args, **kwargs): |
|
1839 |
agenda = get_object_or_404(Agenda, slug=kwargs['slug']) |
|
1840 |
return reverse('chrono-manager-agenda-settings', kwargs={'pk': agenda.pk}) |
|
1841 | ||
1842 | ||
1843 |
agenda_settings_redirect_view = AgendaSettingsRedirectView.as_view() |
|
1844 | ||
1845 | ||
1837 | 1846 |
class AgendaSettings(ManagedAgendaMixin, DetailView): |
1838 | 1847 |
model = Agenda |
1839 | 1848 |
tests/manager/test_all.py | ||
---|---|---|
371 | 371 |
assert agenda.desk_set.count() == 1 |
372 | 372 | |
373 | 373 | |
374 |
def test_options_agenda_redirect(app, admin_user): |
|
375 |
agenda = Agenda.objects.create(label='Foo Bar') |
|
376 | ||
377 |
app = login(app) |
|
378 |
for kind in ['events', 'meetings', 'virtual']: |
|
379 |
agenda.kind = kind |
|
380 |
agenda.save() |
|
381 |
resp = app.get('/manage/agendas/%s/settings/' % agenda.slug, status=302) |
|
382 |
assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.pk) |
|
383 | ||
384 | ||
374 | 385 |
def test_options_agenda(app, admin_user): |
375 | 386 |
agenda_events = Agenda.objects.create(label='Foo bar', kind='events') |
376 | 387 |
Desk.objects.create(agenda=agenda_events, slug='_exceptions_holder') |
377 |
- |