21b2a01a84
This is all noop in Py3, and Py2 is broke now in various places. Dropping Py2 code as it will not be a thing going forward. Django 2 is the next release, Py2 support will be dropped, as such, dropping this is forward looking.
19 lines
690 B
Python
19 lines
690 B
Python
def has_permission(user, proposal, speaker=False, reviewer=False):
|
|
"""
|
|
Returns whether or not ther user has permission to review this proposal,
|
|
with the specified requirements.
|
|
|
|
If ``speaker`` is ``True`` then the user can be one of the speakers for the
|
|
proposal. If ``reviewer`` is ``True`` the speaker can be a part of the
|
|
reviewer group.
|
|
"""
|
|
if user.is_superuser:
|
|
return True
|
|
if speaker:
|
|
if user == proposal.speaker.user or \
|
|
proposal.additional_speakers.filter(user=user).exists():
|
|
return True
|
|
if reviewer:
|
|
if user.groups.filter(name="reviewers").exists():
|
|
return True
|
|
return False
|