From 548ffae3d062ae00bd0fa849a8c326cba66774ea Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Tue, 21 Aug 2018 10:55:29 +0100 Subject: [PATCH] Hide the determination button if user cant use it --- .../determinations/includes/determination_button.html | 2 +- .../determinations/templatetags/determination_tags.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/opentech/apply/determinations/templates/determinations/includes/determination_button.html b/opentech/apply/determinations/templates/determinations/includes/determination_button.html index 13b73852d..0ab87cde3 100644 --- a/opentech/apply/determinations/templates/determinations/includes/determination_button.html +++ b/opentech/apply/determinations/templates/determinations/includes/determination_button.html @@ -1,5 +1,5 @@ {% load determination_tags workflow_tags %} -{% if request.user|can_add_determination:submission %} +{% if request.user|show_determination_button:submission %} <a href="{% url 'apply:submissions:determinations:form' submission_pk=submission.id %}" class="button button--primary button--full-width"> {% if submission.determination.is_draft %}Update draft{% else %}Add determination{% endif %} </a> diff --git a/opentech/apply/determinations/templatetags/determination_tags.py b/opentech/apply/determinations/templatetags/determination_tags.py index 0f687f21e..d13b1baae 100644 --- a/opentech/apply/determinations/templatetags/determination_tags.py +++ b/opentech/apply/determinations/templatetags/determination_tags.py @@ -1,10 +1,14 @@ from django import template +from django.db.models import ObjectDoesNotExist -from ..views import can_create_determination +from ..views import can_create_determination, can_edit_determination register = template.Library() @register.filter -def can_add_determination(user, submission): - return can_create_determination(user, submission) +def show_determination_button(user, submission): + try: + return can_edit_determination(user, submission.determination, submission) + except ObjectDoesNotExist: + return can_create_determination(user, submission) -- GitLab