diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php
index ea3ca535a..395e01feb 100644
--- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php
+++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php
@@ -179,7 +179,8 @@ class requestAnrechnung extends Auth_Controller
// Output to AJAX
$this->outputJsonSuccess(array(
'antragdatum' => (new DateTime())->format('d.m.Y'),
- 'dms_id' => $lastInsert_dms_id
+ 'dms_id' => $lastInsert_dms_id,
+ 'filename' => $_FILES['uploadfile']['name']
));
}
diff --git a/application/views/lehre/anrechnung/createAnrechnung.php b/application/views/lehre/anrechnung/createAnrechnung.php
index af7043c9c..7e4e0b4dc 100644
--- a/application/views/lehre/anrechnung/createAnrechnung.php
+++ b/application/views/lehre/anrechnung/createAnrechnung.php
@@ -129,7 +129,6 @@ $this->load->view(
p->t('anrechnung', 'herkunftDerKenntnisse'); ?> |
'textarea-herkunftKenntnisse',
'name' => 'herkunftKenntnisse',
'rows' => 1
)); ?>
@@ -140,11 +139,11 @@ $this->load->view(
| p->t('anrechnung', 'nachweisdokumente'); ?> * |
'upload-nachweisdokumente',
'name' => 'uploadfile',
'accept' => '.pdf',
'size' => '50',
- 'required' => 'required'
+ 'required' => 'required',
+ 'enctype' => "multipart/form-data"
)); ?>
diff --git a/application/views/lehre/anrechnung/requestAnrechnung.php b/application/views/lehre/anrechnung/requestAnrechnung.php
index c6aab70d0..ce5f49450 100644
--- a/application/views/lehre/anrechnung/requestAnrechnung.php
+++ b/application/views/lehre/anrechnung/requestAnrechnung.php
@@ -24,7 +24,8 @@ $this->load->view(
'inBearbeitung',
'neu',
'maxZeichen',
- 'errorBestaetigungFehlt'
+ 'errorBestaetigungFehlt',
+ 'systemfehler'
),
'person' => array(
'student',
diff --git a/public/js/AjaxLib.js b/public/js/AjaxLib.js
index 07178f3c4..6da875384 100644
--- a/public/js/AjaxLib.js
+++ b/public/js/AjaxLib.js
@@ -379,19 +379,6 @@ var FHC_AjaxClient = {
this._veilTimeout);
},
- /**
- * Check if controllerParameters is a FormData object.
- * FormData objects can contain uploaded files.
- *
- * @param controllerParameters
- * Example: new FormData(selector)[0]
- * @returns {boolean}
- * @private
- */
- _isFormDataObject(controllerParameters){
- return controllerParameters instanceof FormData;
- },
-
/**
* Check if controllerParameters has a FileList of uploaded file(s).
*
@@ -483,16 +470,15 @@ var FHC_AjaxClient = {
// controllerParameters must be an object
if (typeof controllerParameters == "object")
{
- // If controllerParameters is a FormData object.
- if (FHC_AjaxClient._isFormDataObject(controllerParameters))
- {
- var data = controllerParameters; // data is a FormData object now
- }
// If controllerParameters contains uploaded file(s) as FileList
- else if (FHC_AjaxClient._hasFileList(controllerParameters))
+ if (FHC_AjaxClient._hasFileList(controllerParameters))
{
// Convert controllerParameters to FormData object to easily pass uploaded files via AJAX
var data = FHC_AjaxClient._convertToFormDataObject(controllerParameters); // data is a FormData object now
+
+ // Add options to tell jQuery not to process data or worry about content-type
+ ajaxParameters.processData = false;
+ ajaxParameters.contentType = false;
}
// Anything else
else
@@ -509,14 +495,6 @@ var FHC_AjaxClient = {
// so the variable data is saved also in _data and it will be used later
ajaxParameters.data = data;
ajaxParameters._data = data;
-
- // Finally, if data is a FormData object...
- if (data instanceof FormData)
- {
- //...add options to tell jQuery not to process data or worry about content-type
- ajaxParameters.processData = false;
- ajaxParameters.contentType = false;
- }
}
else
{
diff --git a/public/js/lehre/anrechnung/createAnrechnung.js b/public/js/lehre/anrechnung/createAnrechnung.js
index 20bc91d1a..82286205e 100644
--- a/public/js/lehre/anrechnung/createAnrechnung.js
+++ b/public/js/lehre/anrechnung/createAnrechnung.js
@@ -6,9 +6,18 @@ $(function () {
// Create Anrechnung on form submit
$('#createAnrechnung-form').submit(function(e){
+ e.preventDefault();
+
FHC_AjaxClient.ajaxCallPost(
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/create",
- new FormData(this),
+ {
+ prestudent_id: this.prestudent_id.value,
+ studiensemester_kurzbz: this.studiensemester_kurzbz.value,
+ lehrveranstaltung_id: this.lehrveranstaltung_id.value,
+ begruendung_id: this.begruendung_id.value,
+ herkunftKenntnisse: this.herkunftKenntnisse.value,
+ uploadfile: this.uploadfile.files
+ },
{
successCallback: function (data, textStatus, jqXHR)
{
@@ -28,11 +37,7 @@ $(function () {
}
}
);
-
- // Avoid form redirecting automatically
- return false;
});
-
})
// TABULATOR FUNCTIONS
diff --git a/public/js/lehre/anrechnung/requestAnrechnung.js b/public/js/lehre/anrechnung/requestAnrechnung.js
index df9f000b8..ccbf1a18b 100644
--- a/public/js/lehre/anrechnung/requestAnrechnung.js
+++ b/public/js/lehre/anrechnung/requestAnrechnung.js
@@ -18,23 +18,21 @@ $(function(){
// Set chars counter for textarea 'Herkunft der Kenntnisse'
requestAnrechnung.setCharsCounter();
- $('#requestAnrechnung-apply-anrechnung').click(function(e){
+ $('#requestAnrechnung-form').submit(function(e){
// Avoid form redirecting automatically
e.preventDefault();
- // Get form data
- let formdata = new FormData($('#requestAnrechnung-form')[0]);
-
- // These field MUST be activated
- if (!formdata.has('bestaetigung'))
- {
- return FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("ui", "errorBestaetigungFehlt"));
- }
-
FHC_AjaxClient.ajaxCallPost(
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/apply",
- formdata,
+ {
+ anmerkung: this.anmerkung.value,
+ begruendung: this.begruendung.value,
+ lv_id: this.lv_id.value,
+ studiensemester: this.studiensemester.value,
+ bestaetigung: this.bestaetigung.value,
+ uploadfile: this.uploadfile.files
+ },
{
successCallback:function(data, textStatus, jqXHR){
if (FHC_AjaxClient.isError(data))
@@ -47,7 +45,7 @@ $(function(){
requestAnrechnung.formatAnrechnungIsApplied(
data.retval.antragdatum,
data.retval.dms_id,
- formdata.get('uploadfile').name
+ data.retval.filename
);
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("global", "antragWurdeGestellt"));
|