manager: redirection for old urls (#72323)
gitea-wip/chrono/pipeline/pr-main This commit looks good
Details
gitea-wip/chrono/pipeline/pr-main This commit looks good
Details
This commit is contained in:
parent
bf44300704
commit
b0201494cc
|
@ -83,6 +83,11 @@ urlpatterns = [
|
|||
views.resource_day_view,
|
||||
name='chrono-manager-resource-day-view',
|
||||
),
|
||||
re_path(
|
||||
r'^resource/(?P<pk>\d+)/(?P<year>[0-9]{4})/',
|
||||
views.resource_redirect_view,
|
||||
name='chrono-manager-resource-redirect-view',
|
||||
),
|
||||
path('resource/<int:pk>/edit/', views.resource_edit, name='chrono-manager-resource-edit'),
|
||||
path('resource/<int:pk>/delete/', views.resource_delete, name='chrono-manager-resource-delete'),
|
||||
path('categories/', views.category_list, name='chrono-manager-category-list'),
|
||||
|
@ -132,6 +137,11 @@ urlpatterns = [
|
|||
views.agenda_day_view,
|
||||
name='chrono-manager-agenda-day-view',
|
||||
),
|
||||
re_path(
|
||||
r'^agendas/(?P<pk>\d+)/(?P<year>[0-9]{4})/',
|
||||
views.agenda_redirect_view,
|
||||
name='chrono-manager-agenda-redirect-view',
|
||||
),
|
||||
path(
|
||||
'agendas/<int:pk>/events/open/',
|
||||
views.agenda_open_events_view,
|
||||
|
|
|
@ -654,6 +654,14 @@ class ResourceMonthView(ResourceWeekMonthMixin, DateMixin, DayArchiveView):
|
|||
resource_monthly_view = ResourceMonthView.as_view()
|
||||
|
||||
|
||||
class ResourceRedirectView(RedirectView):
|
||||
def get_redirect_url(self, *args, **kwargs):
|
||||
return reverse('chrono-manager-resource-view', kwargs={'pk': kwargs['pk']})
|
||||
|
||||
|
||||
resource_redirect_view = ResourceRedirectView.as_view()
|
||||
|
||||
|
||||
class ResourceAddView(CreateView):
|
||||
template_name = 'chrono/manager_resource_form.html'
|
||||
model = Resource
|
||||
|
@ -1754,6 +1762,14 @@ class AgendaMonthView(AgendaWeekMonthMixin, AgendaDateView, DayArchiveView):
|
|||
agenda_monthly_view = AgendaMonthView.as_view()
|
||||
|
||||
|
||||
class AgendaRedirectView(RedirectView):
|
||||
def get_redirect_url(self, *args, **kwargs):
|
||||
return reverse('chrono-manager-agenda-view', kwargs={'pk': kwargs['pk']})
|
||||
|
||||
|
||||
agenda_redirect_view = AgendaRedirectView.as_view()
|
||||
|
||||
|
||||
class AgendaOpenEventsView(ViewableAgendaMixin, DetailView):
|
||||
model = Agenda
|
||||
template_name = 'chrono/manager_agenda_open_events.html'
|
||||
|
|
|
@ -113,25 +113,33 @@ def test_events_agenda_redirect(app, admin_user):
|
|||
app = login(app)
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'open_events'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/events/open/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/events/open/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'day'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'week'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
|
||||
# old month/week/days views
|
||||
resp = app.get('/manage/agendas/%s/2022/12/15/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/12/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/week/1/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
|
||||
|
||||
@freezegun.freeze_time('2020-07-12')
|
||||
|
@ -296,19 +304,27 @@ def test_meetings_agenda_redirect(app, admin_user):
|
|||
app = login(app)
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'month'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'week'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
|
||||
# old month/week/days views
|
||||
resp = app.get('/manage/agendas/%s/2022/12/15/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/12/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/week/1/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
|
||||
|
||||
def test_virtual_agenda_redirect(app, admin_user):
|
||||
|
@ -317,19 +333,27 @@ def test_virtual_agenda_redirect(app, admin_user):
|
|||
app = login(app)
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/day/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'month'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/month/' % agenda.pk)
|
||||
|
||||
agenda.default_view = 'week'
|
||||
agenda.save()
|
||||
for agenda_id in [agenda.pk, agenda.slug]:
|
||||
resp = app.get('/manage/agendas/%s/' % agenda_id, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
assert resp.location.endswith('/manage/agendas/%s/week/' % agenda.pk)
|
||||
|
||||
# old month/week/days views
|
||||
resp = app.get('/manage/agendas/%s/2022/12/15/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/12/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
resp = app.get('/manage/agendas/%s/2022/week/1/' % agenda.pk, status=302)
|
||||
assert resp.location.endswith('/manage/agendas/%s/' % agenda.pk)
|
||||
|
||||
|
||||
def test_view_agendas_as_admin(app, admin_user):
|
||||
|
|
|
@ -66,6 +66,20 @@ def test_view_resource_as_manager(app, manager_user):
|
|||
app.get('/manage/resource/%s/' % resource.pk, status=403)
|
||||
|
||||
|
||||
def test_resource_redirect(app, admin_user):
|
||||
resource = Resource.objects.create(label='Resource 1')
|
||||
|
||||
app = login(app)
|
||||
|
||||
# old month/week/days views
|
||||
resp = app.get('/manage/resource/%s/2022/12/15/' % resource.pk, status=302)
|
||||
assert resp.location.endswith('/manage/resource/%s/' % resource.pk)
|
||||
resp = app.get('/manage/resource/%s/2022/12/' % resource.pk, status=302)
|
||||
assert resp.location.endswith('/manage/resource/%s/' % resource.pk)
|
||||
resp = app.get('/manage/resource/%s/2022/week/1/' % resource.pk, status=302)
|
||||
assert resp.location.endswith('/manage/resource/%s/' % resource.pk)
|
||||
|
||||
|
||||
def test_resource_day_view(app, admin_user, get_proper_html_str):
|
||||
today = datetime.date.today()
|
||||
resource = Resource.objects.create(label='Foo bar')
|
||||
|
|
Loading…
Reference in New Issue