Create new permission groups and fix member register permissions

This commit is contained in:
Jan Tuomi
2017-09-28 18:46:51 +03:00
parent 51a30d637f
commit 75d9fb1dbb
7 changed files with 37 additions and 57 deletions
@@ -14,14 +14,14 @@ class Migration(migrations.Migration):
operations = [
migrations.AlterModelOptions(
name='member',
options={'permissions': (('check_by_email', 'Can check if user exists by email'), ('read', 'Can see member in list'))},
options={'permissions': (('check_by_email', 'Can check if user exists by email'), ('read_member', 'Can see member in list'))},
),
migrations.AlterModelOptions(
name='payment',
options={'permissions': (('read', 'Can see payment in list'),)},
options={'permissions': (('read_payment', 'Can see payment in list'),)},
),
migrations.AlterModelOptions(
name='request',
options={'permissions': (('read', 'Can see member application in list'),)},
options={'permissions': (('read_application', 'Can see member application in list'),)},
),
]
+3 -3
View File
@@ -45,7 +45,7 @@ class Request(BaseMember):
class Meta:
permissions = (
('read', 'Can see member application in list'),
('read_application', 'Can see member application in list'),
)
submitted = models.DateTimeField(_('Submitted'), default=timezone.now)
@@ -62,7 +62,7 @@ class Payment(models.Model):
class Meta:
permissions = (
('read', 'Can see payment in list'),
('read_payment', 'Can see payment in list'),
)
date = models.DateTimeField(_('Date'), default=timezone.now)
@@ -98,7 +98,7 @@ class Member(BaseMember):
class Meta:
permissions = (
('check_by_email', 'Can check if user exists by email'),
('read', 'Can see member in list'),
('read_member', 'Can see member in list'),
)
def last_paid(self):
+5 -5
View File
@@ -18,7 +18,7 @@ from members.forms import ApplicationForm
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.read_application', login_url='/login', raise_exception=True)
def application_list(request, *args, **kwargs):
"""List member applications not yet processed."""
applications = Request.objects.all()
@@ -40,7 +40,7 @@ def application_list(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_request', login_url='/login', raise_exception=True)
def application_edit(request, *args, **kwargs):
"""Edit member request information."""
i = kwargs.pop('index', None)
@@ -58,7 +58,7 @@ def application_edit(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_member', login_url='/login', raise_exception=True)
def application_accept(request, *args, **kwargs):
"""Accept application."""
form = ApplicationForm(request.POST)
@@ -86,7 +86,7 @@ def application_accept(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_request', login_url='/login', raise_exception=True)
def application_delete(request, *args, **kwargs):
"""Delete member application."""
try:
@@ -114,7 +114,7 @@ def application_delete(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_request', login_url='/login', raise_exception=True)
def application_delete_confirm(request, *args, **kwargs):
"""Confirm application deletion."""
i = kwargs.pop('index', None)
+9 -9
View File
@@ -27,7 +27,7 @@ from members.views.utils import *
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.read_member', login_url='/login', raise_exception=True)
def member_list(request, *args, **kwargs):
"""Render members list."""
search = request.GET.get('q', None)
@@ -53,7 +53,7 @@ def member_list(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_member', login_url='/login', raise_exception=True)
def member_add(request, *args, **kwargs):
"""Render add member page."""
form = MemberForm()
@@ -62,7 +62,7 @@ def member_add(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_member', login_url='/login', raise_exception=True)
def member_delete_confirm(request, *args, **kwargs):
"""Render member deletion confirmation page."""
i = kwargs.pop('index', None)
@@ -78,7 +78,7 @@ def member_delete_confirm(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_member', login_url='/login', raise_exception=True)
def member_add_many(request, *args, **kwargs):
"""Render add multiple members page."""
return render(request, 'member_add_many.html', {})
@@ -86,7 +86,7 @@ def member_add_many(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_member', login_url='/login', raise_exception=True)
def add_many_confirm(request, *args, **kwargs):
models = request.session['models']
@@ -108,7 +108,7 @@ def add_many_confirm(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_member', login_url='/login', raise_exception=True)
def member_submit(request, *args, **kwargs):
"""Add member based on data gained from member form."""
form = MemberForm(request.POST)
@@ -128,7 +128,7 @@ def member_submit(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_member', login_url='/login', raise_exception=True)
def member_update(request, *args, **kwargs):
"""Update member information."""
form = MemberForm(request.POST)
@@ -154,7 +154,7 @@ def member_update(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_member', login_url='/login', raise_exception=True)
def member_delete(request, *args, **kwargs):
"""Delete member."""
try:
@@ -181,7 +181,7 @@ def member_delete(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_member', login_url='/login', raise_exception=True)
def member_edit(request, *args, **kwargs):
"""Edit member information."""
i = kwargs.pop('index', None)
+7 -7
View File
@@ -18,7 +18,7 @@ from members.forms import PaymentForm
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.read_payment', login_url='/login', raise_exception=True)
def payment_list(request, *args, **kwargs):
"""Render list of payments."""
search = request.GET.get('q', None)
@@ -45,7 +45,7 @@ def payment_list(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_payment', login_url='/login', raise_exception=True)
def payment_add(request, *args, **kwargs):
"""Render add payment form."""
form = PaymentForm()
@@ -54,7 +54,7 @@ def payment_add(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.add_payment', login_url='/login', raise_exception=True)
def payment_submit(request, *args, **kwargs):
"""Submit payment."""
form = PaymentForm(request.POST)
@@ -75,7 +75,7 @@ def payment_submit(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_payment', login_url='/login', raise_exception=True)
def payment_edit(request, *args, **kwargs):
"""Edit payment."""
i = kwargs.pop('index', None)
@@ -93,7 +93,7 @@ def payment_edit(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_payment', login_url='/login', raise_exception=True)
def payment_delete_confirm(request, *args, **kwargs):
"""Render payment delete confirmation page."""
i = kwargs.pop('index', None)
@@ -111,7 +111,7 @@ def payment_delete_confirm(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.delete_payment', login_url='/login', raise_exception=True)
def payment_delete(request, *args, **kwargs):
"""Delete payment."""
try:
@@ -139,7 +139,7 @@ def payment_delete(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_payment', login_url='/login', raise_exception=True)
def payment_update(request, *args, **kwargs):
"""Update payment information."""
form = PaymentForm(request.POST)
+3 -3
View File
@@ -93,7 +93,7 @@ def convert_table_to_html(table, request):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.change_member', login_url='/login', raise_exception=True)
def settings_page(request, *args, **kwargs):
"""Render member app settings page."""
return render(request, 'settings.html', {})
@@ -101,7 +101,7 @@ def settings_page(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["POST"])
@permission_required('members.change_member', login_url='/login')
@permission_required(['members.change_member', 'members.change_payment'], login_url='/login', raise_exception=True)
def import_csv(request, *args, **kwargs):
"""Get csv data imported to page and create members based on that."""
try:
@@ -145,7 +145,7 @@ def import_csv(request, *args, **kwargs):
@ensure_csrf_cookie
@require_http_methods(["GET"])
@permission_required('members.change_member', login_url='/login')
@permission_required('members.read_member', login_url='/login', raise_exception=True)
def export_csv(request, *args, **kwargs):
"""Export members as csv."""
response = HttpResponse()