Added extra permission check to speaker widget, fixed #1191 only for 1.5.x branch
This commit is contained in:
parent
8866ee4d63
commit
39de1924cb
@ -8,6 +8,8 @@ Version 1.5.1 (unreleased)
|
|||||||
==========================
|
==========================
|
||||||
[https://github.com/OpenSlides/OpenSlides/issues?milestone=15]
|
[https://github.com/OpenSlides/OpenSlides/issues?milestone=15]
|
||||||
|
|
||||||
|
Agenda:
|
||||||
|
- Fixed permission error in list of speakers widget.
|
||||||
Participant:
|
Participant:
|
||||||
- Added permission to see participants also to the manager group.
|
- Added permission to see participants also to the manager group.
|
||||||
Files:
|
Files:
|
||||||
|
@ -669,6 +669,6 @@ def get_widgets(request):
|
|||||||
name='append_to_list_of_speakers',
|
name='append_to_list_of_speakers',
|
||||||
display_name=_('List of speakers'),
|
display_name=_('List of speakers'),
|
||||||
template='agenda/speaker_widget.html',
|
template='agenda/speaker_widget.html',
|
||||||
permission_required='agenda.can_be_speaker',
|
permission_required=('agenda.can_be_speaker', 'agenda.can_manage_agenda'), # Short hack only for OpenSlides >=1.5.1, <1.6.0
|
||||||
default_column=1,
|
default_column=1,
|
||||||
default_weight=30)]
|
default_weight=30)]
|
||||||
|
@ -250,6 +250,11 @@ def get_all_widgets(request, session=False):
|
|||||||
session_widgets = request.session.get('widgets', {})
|
session_widgets = request.session.get('widgets', {})
|
||||||
widgets = SortedDict()
|
widgets = SortedDict()
|
||||||
for widget in all_module_widgets:
|
for widget in all_module_widgets:
|
||||||
|
if isinstance(widget.permission_required, tuple):
|
||||||
|
for perm in widget.permission_required:
|
||||||
|
if request.user.has_perm(perm):
|
||||||
|
widget.permission_required = None
|
||||||
|
break
|
||||||
if (widget.permission_required is None or
|
if (widget.permission_required is None or
|
||||||
request.user.has_perm(widget.permission_required)):
|
request.user.has_perm(widget.permission_required)):
|
||||||
if not session or session_widgets.get(widget.get_name(), True):
|
if not session or session_widgets.get(widget.get_name(), True):
|
||||||
|
Loading…
Reference in New Issue
Block a user