From 7aaa7cf255ffe9a99701fb3ed5279d2a94542c49 Mon Sep 17 00:00:00 2001
From: Rasmus Fuhse <fuhse@data-quest.de>
Date: Wed, 18 Dec 2024 12:34:25 +0000
Subject: [PATCH] Resolve "Weiterleitung im Formularbaukasten funktioniert
 nicht meht"

Closes #5049

Merge request studip/studip!3777
---
 .../assets/javascripts/bootstrap/forms.js     | 27 ++++++++++---------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/resources/assets/javascripts/bootstrap/forms.js b/resources/assets/javascripts/bootstrap/forms.js
index 16ac20db8f8..a8c1c7a63d9 100644
--- a/resources/assets/javascripts/bootstrap/forms.js
+++ b/resources/assets/javascripts/bootstrap/forms.js
@@ -289,19 +289,22 @@ STUDIP.ready(function () {
                                     let params = this.getFormValues();
                                     params.STUDIPFORM_AUTOSTORE = 1;
 
-                                    $.ajax({
-                                        url: this.STUDIPFORM_AUTOSAVEURL,
-                                        data: params,
-                                        type: 'post',
-                                        success(output) {
-                                            if (output === 'STUDIPFORM_STORE_SUCCESS' && this.STUDIPFORM_REDIRECTURL) {
-                                                //The form has been stored successfully:
-                                                window.location.href = this.STUDIPFORM_REDIRECTURL;
-                                            } else if (output !== 'STUDIPFORM_STORE_SUCCESS') {
-                                                Report.error($gettext('Es ist ein Fehler aufgetreten'), output);
+                                    let submit = function (url, params, redirect) {
+                                        $.ajax({
+                                            url: url,
+                                            data: params,
+                                            type: 'post',
+                                            success(output) {
+                                                if (output === 'STUDIPFORM_STORE_SUCCESS' && redirect) {
+                                                    //The form has been stored successfully:
+                                                    window.location.href = redirect;
+                                                } else if (output !== 'STUDIPFORM_STORE_SUCCESS') {
+                                                    Report.error($gettext('Es ist ein Fehler aufgetreten'), output);
+                                                }
                                             }
-                                        }
-                                    });
+                                        });
+                                    };
+                                    submit(this.STUDIPFORM_AUTOSAVEURL, params, this.STUDIPFORM_REDIRECTURL);
                                 } else {
                                     this.STUDIPFORM_VALIDATED = true;
                                     this.$el.submit();
-- 
GitLab