manager: manager with view role can access to open events (#47116)

This commit is contained in:
Lauréline Guérin 2020-09-29 15:51:38 +02:00
parent 53b265359b
commit 79f6f158c8
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 14 additions and 4 deletions

View File

@ -1127,7 +1127,7 @@ class AgendaMonthView(AgendaDateView, MonthArchiveView):
agenda_monthly_view = AgendaMonthView.as_view()
class AgendaOpenEventsView(ManagedAgendaMixin, DetailView):
class AgendaOpenEventsView(ViewableAgendaMixin, DetailView):
model = Agenda
template_name = 'chrono/manager_agenda_open_events.html'

View File

@ -2816,7 +2816,7 @@ def test_agenda_events_month_view(app, admin_user):
assert "This month doesn't have any event configured." in resp.text
def test_agenda_open_events_view(app, admin_user):
def test_agenda_open_events_view(app, admin_user, manager_user):
agenda = Agenda.objects.create(
label='Events', kind='events', minimal_booking_delay=2, maximal_booking_delay=5
)
@ -2871,13 +2871,23 @@ def test_agenda_open_events_view(app, admin_user):
assert 'event E' not in resp.text
assert 'event F' in resp.text
# not enough permissions
app.reset()
app = login(app, username='manager', password='manager')
app.get('/manage/agendas/%s/events/open/' % agenda.pk, status=403)
# just enough permissions
agenda.view_role = manager_user.groups.all()[0]
agenda.save()
app.get('/manage/agendas/%s/events/open/' % agenda.pk)
# wrong kind
agenda.kind = 'meetings'
agenda.save()
resp = app.get('/manage/agendas/%s/events/open/' % agenda.pk, status=404)
app.get('/manage/agendas/%s/events/open/' % agenda.pk, status=404)
agenda.kind = 'virtual'
agenda.save()
resp = app.get('/manage/agendas/%s/events/open/' % agenda.pk, status=404)
app.get('/manage/agendas/%s/events/open/' % agenda.pk, status=404)
def test_agenda_month_view(app, admin_user, manager_user, api_user):