pricing: agenda detail url with slug (#65985)
This commit is contained in:
parent
9c4ca12b57
commit
fcff7a4512
|
@ -138,6 +138,11 @@ urlpatterns = [
|
|||
staff_member_required(views.agenda_detail),
|
||||
name='lingo-manager-agenda-detail',
|
||||
),
|
||||
url(
|
||||
r'^agenda/((?P<slug>[-_a-zA-Z0-9]+))/$',
|
||||
staff_member_required(views.agenda_detail_redirect),
|
||||
name='lingo-manager-agenda-detail-redirect',
|
||||
),
|
||||
url(
|
||||
r'^agenda/(?P<pk>\d+)/export/$',
|
||||
staff_member_required(views.agenda_export),
|
||||
|
|
|
@ -655,6 +655,15 @@ class AgendaDetailView(AgendaMixin, DetailView):
|
|||
agenda_detail = AgendaDetailView.as_view()
|
||||
|
||||
|
||||
class AgendaDetailRedirectView(RedirectView):
|
||||
def get_redirect_url(self, *args, **kwargs):
|
||||
agenda = get_object_or_404(Agenda, slug=kwargs['slug'])
|
||||
return reverse('lingo-manager-agenda-detail', kwargs={'pk': agenda.pk})
|
||||
|
||||
|
||||
agenda_detail_redirect = AgendaDetailRedirectView.as_view()
|
||||
|
||||
|
||||
class AgendaExport(AgendaMixin, DetailView):
|
||||
model = Agenda
|
||||
|
||||
|
|
|
@ -172,6 +172,14 @@ def test_delete_agenda_pricing(app, admin_user):
|
|||
assert AgendaPricing.objects.filter(pk=agenda_pricing.pk).exists() is False
|
||||
|
||||
|
||||
def test_detail_agenda_redirect(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo Bar')
|
||||
|
||||
app = login(app)
|
||||
resp = app.get('/manage/pricing/agenda/%s/' % agenda.slug, status=302)
|
||||
assert resp.location.endswith('/manage/pricing/agenda/%s/' % agenda.pk)
|
||||
|
||||
|
||||
def test_detail_agenda_pricing(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo Bar')
|
||||
pricing = Pricing.objects.create(label='Model')
|
||||
|
|
Loading…
Reference in New Issue