From 785638ee23ba8452e4f49040633125d9c59296d9 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 24 Nov 2025 10:49:13 +0000 Subject: [PATCH] Add cancel button to ConditionForm for easier navigation --- atlas/forms.py | 17 ++++++++++++++++- atlas/templates/atlas/condition_form.html | 5 ----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/atlas/forms.py b/atlas/forms.py index d40153bd..57a453c4 100755 --- a/atlas/forms.py +++ b/atlas/forms.py @@ -56,7 +56,8 @@ from generic.models import Examination # , Sign from django.contrib.admin.widgets import FilteredSelectMultiple from django.forms.widgets import RadioSelect, TextInput, Textarea, Select -from crispy_forms.layout import Submit, Layout, Fieldset, Field, Div, HTML +from crispy_forms.layout import Submit, Layout, Fieldset, Field, Div, HTML, Button +from django.urls import reverse from crispy_forms.bootstrap import Accordion, AccordionGroup from tinymce.widgets import TinyMCE @@ -137,7 +138,21 @@ class ConditionForm(ModelForm): self.helper = FormHelper() self.helper.form_method = "post" self.helper.form_tag = True + # Primary submit self.helper.add_input(Submit("submit", "Submit")) + # Cancel as a button that redirects back to the condition list + try: + cancel_url = reverse("atlas:condition_view") + except Exception: + cancel_url = "#" + self.helper.add_input( + Button( + "cancel", + "Cancel", + css_class="btn btn-secondary ms-2", + onclick=f"window.location='{cancel_url}'", + ) + ) except Exception: # If crispy not available or something goes wrong, don't break form pass diff --git a/atlas/templates/atlas/condition_form.html b/atlas/templates/atlas/condition_form.html index 70410b28..a1d44c8b 100755 --- a/atlas/templates/atlas/condition_form.html +++ b/atlas/templates/atlas/condition_form.html @@ -15,11 +15,6 @@
{% csrf_token %} {% crispy form %} - -
- - Cancel -
{% endblock %}