Compare commits

...

1 Commits

Author SHA1 Message Date
Raphael Michel
9b7aed9557 Items: Allow plugins to put forms above a formset 2025-09-10 11:06:15 +02:00
2 changed files with 20 additions and 4 deletions

View File

@@ -310,9 +310,13 @@ an instance of a form class that you bind yourself when appropriate. Your form w
as part of the standard validation and rendering cycle and rendered using default bootstrap
styles. It is advisable to set a prefix for your form to avoid clashes with other plugins.
Your forms may also have two special properties: ``template`` with a template that will be
included to render the form, and ``title``, which will be used as a headline. Your template
will be passed a ``form`` variable with your form.
Your forms may also have special properties:
- ``template`` with a template that will be included to render the form. Your template will be passed a ``form``
variable with your form.
- ``title``, which will be used as a headline.
- ``ìs_layouts = True``, if your form should be grouped with the ticket layout settings (mutually exclusive with setting ``title``).
- ``group_with_formset = True``, if your form should be grouped with a formset of the same ``title``
As with all event plugin signals, the ``sender`` keyword argument will contain the event.
"""

View File

@@ -177,6 +177,18 @@
{% for v in formsets.values %}
<fieldset>
<legend>{{ v.title }}</legend>
{% for f in plugin_forms %}
{% if f.group_with_formset and f.title == v.title %}
{% if f.template and not "template" in f.fields %}
{% include f.template with form=f %}
{% else %}
{% bootstrap_form f layout="control" %}
{% endif %}
<hr />
{% endif %}
{% endfor %}
{% include v.template with formset=v %}
</fieldset>
{% endfor %}
@@ -276,7 +288,7 @@
{% endfor %}
</fieldset>
{% for f in plugin_forms %}
{% if not f.is_layouts and f.title %}
{% if not f.is_layouts and not f.group_with_formset and f.title %}
<fieldset>
<legend>{{ f.title }}</legend>
{% if f.template and not "template" in f.fields %}