[FIX] HORILLA_VIEWS: #855

This commit is contained in:
Horilla
2025-07-29 15:59:04 +05:30
parent af96066cf1
commit f99eeafddd
2 changed files with 73 additions and 76 deletions

View File

@@ -1082,6 +1082,7 @@ class HorillaFormView(FormView):
context["form_class_path"] = self.form_class_path
context["view_id"] = self.view_id
context["hx_confirm"] = self.hx_confirm
context["hx_target"] = self.request.META.get("HTTP_HX_TARGET") or "this" # 855
pk = None
if self.form.instance:
pk = self.form.instance.pk

View File

@@ -1,21 +1,20 @@
{% load generic_template_filters %}
<div id="{{view_id}}">
{% for field_tuple in dynamic_create_fields %}
<div
class="oh-modal"
id="dynamicModal{{field_tuple.0}}"
role="dialog"
aria-labelledby="dynamicModal{{field_tuple.0}}"
aria-hidden="true"
>
<div
class="oh-modal__dialog"
id="dynamicModal{{field_tuple.0}}Body"
></div>
</div>
<div class="oh-modal" id="dynamicModal{{field_tuple.0}}" role="dialog"
aria-labelledby="dynamicModal{{field_tuple.0}}" aria-hidden="true">
<div class="oh-modal__dialog" id="dynamicModal{{field_tuple.0}}Body"></div>
</div>
{% endfor %}
<form id="{{view_id}}Form" hx-post="{{request.path}}?{{request.GET.urlencode}}" hx-encoding="multipart/form-data" hx-swap="outerHTML" {% if hx_confirm %} hx-confirm="{{hx_confirm}}" {% endif %}>{{form.structured}}</form>
</div>
<form id="{{view_id}}Form" hx-post="{{request.path}}?{{request.GET.urlencode}}" hx-target="#{{ hx_target }}"
hx-encoding="multipart/form-data" {% if hx_target == "this" %} hx-swap="outerHTML" {% endif %}
{% if hx_confirm %} hx-confirm="{{hx_confirm}}" {% endif %}>
{{form.structured}}
</form>
{% for field_tuple in dynamic_create_fields %}
<div>
<script class="dynamic_{{field_tuple.0}}_scripts">
@@ -23,32 +22,29 @@
$("#{{view_id}}Form [name={{field_tuple.0}}]").val({{form.initial|get_item:field_tuple.0|safe}}).change()
</script>
<form
hidden
id="modalButton{{field_tuple.0}}Form"
<form hidden id="modalButton{{field_tuple.0}}Form"
hx-get="/dynamic-path-{{field_tuple.0}}-{{request.session.session_key}}?dynamic_field={{field_tuple.0}}"
hx-target="#dynamicModal{{field_tuple.0}}Body"
>
hx-target="#dynamicModal{{field_tuple.0}}Body">
<input type="text" name="dynamic_initial" data-dynamic-field="{{field_tuple.0}}">
<input type="text" name="view_id" value="{{view_id}}">
{% for field in field_tuple.2 %}
<input type="text" name="{{field}}">
{% endfor %}
<button
type="submit"
id="modalButton{{field_tuple.0}}"
onclick="$('#dynamicModal{{field_tuple.0}}').addClass('oh-modal--show');"
>
<button type="submit" id="modalButton{{field_tuple.0}}"
onclick="$('#dynamicModal{{field_tuple.0}}').addClass('oh-modal--show');">
{{field_tuple.0}}
</button>
</form>
<form hidden id="reload-field{{field_tuple.0}}{{view_id}}" hx-get="{% url "reload-field" %}?form_class_path={{form_class_path}}&dynamic_field={{field_tuple.0}}" hx-target="#dynamic_field_{{field_tuple.0}}">
<form hidden id="reload-field{{field_tuple.0}}{{view_id}}" hx-target="#dynamic_field_{{field_tuple.0}}"
hx-get="{% url 'reload-field' %}?form_class_path={{form_class_path}}&dynamic_field={{field_tuple.0}}" >
<input type="text" name="dynamic_initial" data-dynamic-field="{{field_tuple.0}}">
<input type="text" name="view_id" value="{{view_id}}">
<button class="reload-field" data-target="{{field_tuple.0}}">
{{field_tuple.0}}
</button>
</form>
<script class="dynamic_{{field_tuple.0}}_scripts">
$("#{{view_id}}Form [name={{field_tuple.0}}]").change(function (e) {
values = $(this).val();