diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-12-01 09:53:00 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-02-19 14:45:57 +0100 |
commit | 847ae9bab5afbc2d62fa6e4b1e751096e74e4c4d (patch) | |
tree | ad5c77410653a240c1224f3107bb59ffb677ca41 /ishtar_common | |
parent | eae583cfaddfad42ccffb7e7f09773d00c051d10 (diff) | |
download | Ishtar-847ae9bab5afbc2d62fa6e4b1e751096e74e4c4d.tar.bz2 Ishtar-847ae9bab5afbc2d62fa6e4b1e751096e74e4c4d.zip |
✨ exhibitions: "GAM" export
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/models.py | 1 | ||||
-rw-r--r-- | ishtar_common/templates/ishtar/forms/qa_base.html | 7 | ||||
-rw-r--r-- | ishtar_common/templates/ishtar/forms/qa_form.html | 2 | ||||
-rw-r--r-- | ishtar_common/utils.py | 4 | ||||
-rw-r--r-- | ishtar_common/views.py | 16 |
5 files changed, 24 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 0690693f5..cebfccecb 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -2320,6 +2320,7 @@ class DocumentTemplate(models.Model): prefix += k return list(set(new_filter)) + # snake_case ; snake_case[number] ; snake_case[number]:filter ; snake_case:filter ITEM_RE = r"([A-Za-z0-9_.]*)(?:[\[\]0-9-:])*(?:\|[^}]+)*" BASE_RE = [ # {{ key1.key2 }} diff --git a/ishtar_common/templates/ishtar/forms/qa_base.html b/ishtar_common/templates/ishtar/forms/qa_base.html index f6e43ad15..822f39c58 100644 --- a/ishtar_common/templates/ishtar/forms/qa_base.html +++ b/ishtar_common/templates/ishtar/forms/qa_base.html @@ -3,7 +3,7 @@ <div class="modal-dialog {% if modal_size == 'large' %}modal-lg {% elif modal_size == 'small'%}modal-sm {% endif%}modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> - <h2>{{page_name|safe}}</h2> + <h2>{% if icon %}<i class="{{icon}}"></i> {% endif %}{{page_name|safe}}</h2> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> @@ -48,6 +48,7 @@ </div> <div class="modal-footer"> {% block footer %} + {% if not unavailable %} <button type="submit" id="submit_form" name='validate' value="validate" class="btn btn-success"> {% if action_name %} @@ -56,9 +57,11 @@ {% trans "Modify" %} {% endif %} </button> + {% endif %} <button type="button" data-dismiss="modal" aria-label="Close" class="btn btn-secondary"> - {% trans "Cancel" %} + {% if cancel_name %}{{cancel_name}}{% else %} + {% trans "Cancel" %}{% endif %} </button> {% endblock %} </div> diff --git a/ishtar_common/templates/ishtar/forms/qa_form.html b/ishtar_common/templates/ishtar/forms/qa_form.html index 178910215..ef4f9f149 100644 --- a/ishtar_common/templates/ishtar/forms/qa_form.html +++ b/ishtar_common/templates/ishtar/forms/qa_form.html @@ -6,9 +6,11 @@ <div class="alert alert-{{message.type}} alert-dismissible fade show" role="alert"> {% if message.icon %}<i class="{{message.icon}}" aria-hidden="true"></i> {% endif %} {{message.message}} + {% if not message.no_dismiss %} <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">×</span> </button> + {% endif %} </div> {% endfor %} {% for error in form.non_field_errors %} diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 1f0b099e7..af4ea06dc 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -1387,10 +1387,12 @@ def get_random_item_image_link(request): class BSMessage: - def __init__(self, message, message_type="info", icon=None): + def __init__(self, message, message_type="info", icon=None, + no_dismiss=False): self.message = message self.type = message_type self.icon = icon + self.no_dismiss = no_dismiss def convert_coordinates_to_point(x, y, z=None, srid=4326): diff --git a/ishtar_common/views.py b/ishtar_common/views.py index ba9ccb316..32f23f91d 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -73,6 +73,7 @@ from ishtar_common import wizards from ishtar_common.data_importer import ImporterError from ishtar_common.forms import FinalForm, FinalDeleteForm, reverse_lazy from ishtar_common.models import get_current_profile +from ishtar_common.models_common import QuickAction from ishtar_common.templatetags.link_to_window import simple_link_to_window from ishtar_common.utils_migrations import HOMEPAGE_TITLE from ishtar_common.utils import ( @@ -3139,10 +3140,19 @@ class QAItemForm(IshtarMixin, LoginRequiredMixin, FormView): modal_size = None # large, small or None (medium) icon = "fa fa-pencil" action_name = None + permissions = [] def get_quick_action(self): - # if not listed in QUICK_ACTIONS overload this method - return self.model.get_quick_action_by_url(self.base_url) + quick_action = self.model.get_quick_action_by_url(self.base_url) + if quick_action: + return quick_action + # if not listed in QUICK_ACTIONS + return QuickAction( + url=self.base_url, + icon_class=self.icon, + text=self.page_name, + rights=self.permissions + ) def pre_dispatch(self, request, *args, **kwargs): if not self.model: @@ -3192,7 +3202,7 @@ class QAItemForm(IshtarMixin, LoginRequiredMixin, FormView): ) def get_context_data(self, **kwargs): - data = super(QAItemForm, self).get_context_data(**kwargs) + data = super().get_context_data(**kwargs) data["url"] = self.url data["items"] = self.items data["modal_size"] = self.modal_size |