From 2ea5b15175d53c1710c87602d8e14ef3247321c4 Mon Sep 17 00:00:00 2001 From: Aaron Kable Date: Fri, 8 Mar 2024 17:14:36 +0800 Subject: [PATCH] Add perms to ops dashboard view --- allianceauth/optimer/views.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/allianceauth/optimer/views.py b/allianceauth/optimer/views.py index f3627e89..760879e6 100644 --- a/allianceauth/optimer/views.py +++ b/allianceauth/optimer/views.py @@ -14,9 +14,11 @@ from .models import OpTimer, OpTimerType logger = logging.getLogger(__name__) +OPS_VIEW_PERMISSION = 'auth.optimer_view' +OPS_MANAGE_PERMISSION = 'auth.optimer_management' @login_required -@permission_required('auth.optimer_view') +@permission_required(OPS_VIEW_PERMISSION) def optimer_view(request): """ View for the optimer management page @@ -39,7 +41,7 @@ def optimer_view(request): @login_required -@permission_required('auth.optimer_management') +@permission_required(OPS_MANAGE_PERMISSION) def add_optimer_view(request): """ View for the add optimer page @@ -98,7 +100,7 @@ def add_optimer_view(request): @login_required -@permission_required('auth.optimer_management') +@permission_required(OPS_MANAGE_PERMISSION) def remove_optimer(request, optimer_id): """ Remove optimer @@ -121,7 +123,7 @@ def remove_optimer(request, optimer_id): @login_required -@permission_required('auth.optimer_management') +@permission_required(OPS_MANAGE_PERMISSION) def edit_optimer(request, optimer_id): """ Edit optimer @@ -192,14 +194,22 @@ def dashboard_ops(request): :return: :rtype: """ + if request.user.has_perm(OPS_VIEW_PERMISSION): + base_query = OpTimer.objects.select_related('eve_character', 'type') + timers = base_query.filter( + start__gte=timezone.now() + )[:5] - base_query = OpTimer.objects.select_related('eve_character', 'type') - timers = base_query.filter(start__gte=timezone.now())[:5] - - if timers.count(): - context = { - 'timers': timers, - } - return render_to_string('optimer/dashboard.ops.html', context=context, request=request) + if timers.count(): + context = { + 'timers': timers, + } + return render_to_string( + 'optimer/dashboard.ops.html', + context=context, + request=request + ) + else: + return "" else: return ""