From df8c946bb2c575a9e873735e9fe71d6f13f62f88 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 31 May 2021 23:20:56 +0200 Subject: [PATCH] enabled updating of oehbeitrag values --- application/controllers/codex/Oehbeitrag.php | 92 ++++++- application/models/codex/Oehbeitrag_model.php | 34 ++- application/views/codex/oehbeitrag.php | 20 +- public/css/codex/oehbeitrag.css | 9 + public/js/codex/oehbeitrag.js | 258 +++++++++++++++--- 5 files changed, 349 insertions(+), 64 deletions(-) create mode 100644 public/css/codex/oehbeitrag.css diff --git a/application/controllers/codex/Oehbeitrag.php b/application/controllers/codex/Oehbeitrag.php index 818815e95..9aa5e4402 100644 --- a/application/controllers/codex/Oehbeitrag.php +++ b/application/controllers/codex/Oehbeitrag.php @@ -13,6 +13,7 @@ class Oehbeitrag extends Auth_Controller 'index' => 'admin:r',// TODO which Berechtigung? 'getValidStudiensemester' => 'admin:r', 'addOehbeitrag' => 'admin:rw', + 'updateOehbeitrag' => 'admin:rw', 'deleteOehbeitrag' => 'admin:rw' ) ); @@ -38,14 +39,16 @@ class Oehbeitrag extends Auth_Controller public function getValidStudiensemester() { + $oehbeitrag_id = $this->input->get('oehbeitrag_id'); + $oehbeitrag_id_arr = isset($oehbeitrag_id) ? array($oehbeitrag_id) : null; + $studiensemester = array(); - $studiensemesterres = $this->OehbeitragModel->getUnassignedStudiensemester(self::STUDIENSEMESTER_START); - + $studiensemesterres = $this->OehbeitragModel->getUnassignedStudiensemester(self::STUDIENSEMESTER_START, $oehbeitrag_id_arr); if (isError($studiensemesterres)) { $this->outputJsonError(getError($studiensemesterres)); - die(); + return; } if (hasData($studiensemesterres)) @@ -63,9 +66,9 @@ class Oehbeitrag extends Auth_Controller if ($bis_studiensemester_kurzbz == 'null') $bis_studiensemester_kurzbz = null; - if (!is_numeric($studierendenbeitrag)) + if (!$this->_checkAmount($studierendenbeitrag)) $this->outputJsonError('Ungültiger Studierendenbeitrag'); - elseif (!is_numeric($versicherung)) + elseif (!$this->_checkAmount($versicherung)) $this->outputJsonError('Ungültige Versicherung'); else { @@ -82,13 +85,65 @@ class Oehbeitrag extends Auth_Controller 'bis_studiensemester_kurzbz' => $bis_studiensemester_kurzbz ); - $insertRes = $this->OehbeitragModel->insert($data); - - $this->outputJson($insertRes); + $this->outputJson($this->OehbeitragModel->insert($data)); } } } + public function updateOehbeitrag() + { + $oehbeitrag_id = $this->input->post("oehbeitrag_id"); + $data = $this->input->post("data"); + + if (!is_numeric($oehbeitrag_id) || isEmptyArray($data)) + { + $this->outputJsonError("Ungültige Parameter"); + return; + } + + foreach ($data as $idx => $value) + { + if ($idx == 'studierendenbeitrag' || $idx == 'versicherung') + { + if (!$this->_checkAmount($value)) + { + $this->outputJsonError("Ungültiger $idx"); + return; + } + } + elseif ($idx == 'von_studiensemester_kurzbz' || $idx == 'bis_studiensemester_kurzbz') + { + $this->OehbeitragModel->addSelect('von_studiensemester_kurzbz, bis_studiensemester_kurzbz'); + $vonBisStudiensemesterRes = $this->OehbeitragModel->load($oehbeitrag_id); + + if (!hasData($vonBisStudiensemesterRes)) + { + $this->outputJsonError("Fehler beim Holen des Öhbeitrags"); + return; + } + + $vonBisStudiensemester = getData($vonBisStudiensemesterRes); + + $von_studiensemester_kurzbz = $idx == 'von_studiensemester_kurzbz' ? $value : $vonBisStudiensemester[0]->von_studiensemester_kurzbz; + + if ($idx == 'bis_studiensemester_kurzbz') + $bis_studiensemester_kurzbz = $data[$idx] = $value == 'null' ? null : $value; + else + $bis_studiensemester_kurzbz = $vonBisStudiensemester[0]->bis_studiensemester_kurzbz; + + $checkStudiensemester = $this->_checkVonBisStudiensemester($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz, $oehbeitrag_id); + + if (isError($checkStudiensemester)) + { + $this->outputJsonError(getError($checkStudiensemester)); + return; + } + } + } + + $this->outputJson($this->OehbeitragModel->update($oehbeitrag_id, $data)); + } + public function deleteOehbeitrag() { $oehbeitrag_id = $this->input->post("oehbeitrag_id"); @@ -98,12 +153,19 @@ class Oehbeitrag extends Auth_Controller private function _loadOehbeitraege() { - $this->OehbeitragModel->addJoin('public.tbl_studiensemester', 'tbl_oehbeitrag.von_studiensemester_kurzbz = tbl_studiensemester.studiensemester_kurzbz'); - $this->OehbeitragModel->addOrder('public.tbl_studiensemester.start', 'DESC'); + $this->OehbeitragModel->addSelect('oehbeitrag_id, von_studiensemester_kurzbz, bis_studiensemester_kurzbz, studierendenbeitrag, versicherung, sem_von.start as von_datum, sem_bis.ende as bis_datum'); + $this->OehbeitragModel->addJoin('public.tbl_studiensemester sem_von', 'tbl_oehbeitrag.von_studiensemester_kurzbz = sem_von.studiensemester_kurzbz'); + $this->OehbeitragModel->addJoin('public.tbl_studiensemester sem_bis', 'tbl_oehbeitrag.bis_studiensemester_kurzbz = sem_bis.studiensemester_kurzbz', 'LEFT'); + $this->OehbeitragModel->addOrder('sem_von.start', 'DESC'); return $this->OehbeitragModel->load(); } - private function _checkVonBisStudiensemester($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz) + private function _checkAmount($amount) + { + return is_numeric($amount) && $amount <= 99999.99; + } + + private function _checkVonBisStudiensemester($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz, $oehbeitrag_id = null) { $regex = "/^(WS|SS)\d{4}$/"; if (!preg_match($regex, $von_studiensemester_kurzbz)) @@ -130,7 +192,13 @@ class Oehbeitrag extends Auth_Controller if ($bis_studiensemester_kurzbz != null && new DateTime($vonStudiensemester) > new DateTime($bisStudiensemester)) return error("Von-Studiensemester größer als Bis-Studiensemester"); - $assignableRes = $this->OehbeitragModel->checkIfStudiensemesterAssignable($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz); + $oehbeitrag_id_arr = isset($oehbeitrag_id) ? array($oehbeitrag_id) : null; + + $assignableRes = $this->OehbeitragModel->checkIfStudiensemesterAssignable( + $von_studiensemester_kurzbz, + $bis_studiensemester_kurzbz, + $oehbeitrag_id_arr + ); if (isError($assignableRes)) return $assignableRes; diff --git a/application/models/codex/Oehbeitrag_model.php b/application/models/codex/Oehbeitrag_model.php index ace532908..abc35a663 100644 --- a/application/models/codex/Oehbeitrag_model.php +++ b/application/models/codex/Oehbeitrag_model.php @@ -34,30 +34,40 @@ class Oehbeitrag_model extends DB_Model } /** - * Gets all Studiensemester for which no Oehbeitrag value assignment. + * Gets all Studiensemester for which no Oehbeitrag value assignment exists. * @param string $start_studiensemester_kurzbz semester before the given semester are ignored * @return object */ - public function getUnassignedStudiensemester($start_studiensemester_kurzbz) + public function getUnassignedStudiensemester($start_studiensemester_kurzbz, $excluded_oehbeitrag_id = array()) { + $params = array($start_studiensemester_kurzbz); + $qry = "SELECT * FROM public.tbl_studiensemester sem WHERE sem.start >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = ?) AND NOT EXISTS (SELECT 1 FROM bis.tbl_oehbeitrag oeh JOIN public.tbl_studiensemester oeh_von ON oeh.von_studiensemester_kurzbz = oeh_von.studiensemester_kurzbz LEFT JOIN public.tbl_studiensemester oeh_bis ON oeh.bis_studiensemester_kurzbz = oeh_bis.studiensemester_kurzbz - WHERE sem.start::date >= oeh_von.start::date AND (sem.start::date <= oeh_bis.start::date OR oeh_bis.studiensemester_kurzbz IS NULL)) - ORDER BY sem.start"; + WHERE sem.start::date >= oeh_von.start::date AND (sem.start::date <= oeh_bis.start::date OR oeh_bis.studiensemester_kurzbz IS NULL)"; - return $this->execQuery($qry, array($start_studiensemester_kurzbz)); + if (!isEmptyArray($excluded_oehbeitrag_id)) + { + $qry .= " AND oehbeitrag_id NOT IN ?"; + $params[] = $excluded_oehbeitrag_id; + } + + $qry .= ") ORDER BY sem.start"; + + return $this->execQuery($qry, $params); } /** * Checks if a Öhbeitrag can be assigned for a Studiensemester range. * @param string $von_studiensemester_kurzbz * @param string $bis_studiensemester_kurzbz - * @return object + * @param array $excluded_oehbeitrag_id + * @return object array with true if assignable, with false if not */ - public function checkIfStudiensemesterAssignable($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz = null) + public function checkIfStudiensemesterAssignable($von_studiensemester_kurzbz, $bis_studiensemester_kurzbz = null, $excluded_oehbeitrag_id = array()) { $params = array($von_studiensemester_kurzbz); @@ -73,7 +83,15 @@ class Oehbeitrag_model extends DB_Model $allStdSemSpanQry .= " AND EXISTS (SELECT 1 FROM bis.tbl_oehbeitrag JOIN public.tbl_studiensemester sem_von ON tbl_oehbeitrag.von_studiensemester_kurzbz = sem_von.studiensemester_kurzbz LEFT JOIN public.tbl_studiensemester sem_bis ON tbl_oehbeitrag.bis_studiensemester_kurzbz = sem_bis.studiensemester_kurzbz - WHERE sem.start >= sem_von.start AND (sem.start <= sem_bis.start OR sem_bis.studiensemester_kurzbz IS NULL))"; + WHERE sem.start >= sem_von.start AND (sem.start <= sem_bis.start OR sem_bis.studiensemester_kurzbz IS NULL)"; + + if (!isEmptyArray($excluded_oehbeitrag_id)) + { + $allStdSemSpanQry .= " AND oehbeitrag_id NOT IN ?"; + $params[] = $excluded_oehbeitrag_id; + } + + $allStdSemSpanQry .= ")"; $nrAssigned = $this->execQuery($allStdSemSpanQry, $params); diff --git a/application/views/codex/oehbeitrag.php b/application/views/codex/oehbeitrag.php index afb2170ff..47892527a 100644 --- a/application/views/codex/oehbeitrag.php +++ b/application/views/codex/oehbeitrag.php @@ -12,7 +12,7 @@ $this->load->view( 'dialoglib' => true, 'ajaxlib' => true, 'navigationwidget' => true, - 'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css'/*, 'public/css/codex/oehbeitrag.css'*/), + 'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css', 'public/css/codex/oehbeitrag.css'), 'customJSs' => array('public/js/tablesort/tablesort.js', 'public/js/codex/oehbeitrag.js') ) ); @@ -41,7 +41,7 @@ $this->load->view( Gültig von - Gültig bis (inkl.) + Gültig bis Studierendenbetrag Versicherungsbetrag Aktion @@ -50,10 +50,18 @@ $this->load->view( - von_studiensemester_kurzbz ?> - bis_studiensemester_kurzbz == null ? 'unbeschränkt' : $oehbeitrag->bis_studiensemester_kurzbz ?> - studierendenbeitrag, 2, ',', '.') ?> - versicherung, 2, ',', '.') ?> + von_datum), 'd.m.Y') . '/' . $oehbeitrag->von_studiensemester_kurzbz ?> + + + bis_studiensemester_kurzbz == null ? 'unbeschränkt' : (date_format(date_create($oehbeitrag->bis_datum), 'd.m.Y') . '/' . $oehbeitrag->bis_studiensemester_kurzbz) ?> + + + studierendenbeitrag, 2, ',', '.') ?> + + + versicherung, 2, ',', '.') ?> + + diff --git a/public/css/codex/oehbeitrag.css b/public/css/codex/oehbeitrag.css new file mode 100644 index 000000000..335489a1b --- /dev/null +++ b/public/css/codex/oehbeitrag.css @@ -0,0 +1,9 @@ +.inline-inputfield { + width: auto; + display: inline; +} + +.fa-edit, .fa-check { + cursor: pointer; + font-size: 1.2em; +} \ No newline at end of file diff --git a/public/js/codex/oehbeitrag.js b/public/js/codex/oehbeitrag.js index 6346c8ba0..68d39a897 100644 --- a/public/js/codex/oehbeitrag.js +++ b/public/js/codex/oehbeitrag.js @@ -8,8 +8,9 @@ const CONTROLLER_URL = BASE_URL + "/"+CALLED_PATH; $(document).ready(function () { //initialise table sorter - //Tablesort.addTablesorter("oehbeitraegeTbl", [], ["zebra"]); + Oehbeitrag._addTablesorter(); + // set trigger for adding new Oehhbeitrag $("#addNewOeh").click( function() { @@ -22,18 +23,14 @@ $(document).ready(function () let newRowHtml = ""+ ""; - newRowHtml += ""; + newRowHtml += Oehbeitrag._getStudiensemesterDropdown(Oehbeitrag.newBeitragId, 'von_studiensemester_kurzbz', studiensemester); newRowHtml += ""; - newRowHtml += ""; + newRowHtml += Oehbeitrag._getStudiensemesterDropdown(Oehbeitrag.newBeitragId, 'bis_studiensemester_kurzbz', studiensemester); newRowHtml += ""; - newRowHtml += ""+ - ""+ - ""+ + newRowHtml += ""+ + ""+ + " " + + " "+ ""; /* $("#saveHeading, .saveCell").show();*/ @@ -43,13 +40,25 @@ $(document).ready(function () { // get form data into object let oehbeitrag = { - "von_studiensemester_kurzbz": $("#von_studiensemester_kurzbz_"+nextOehbeitragId).val(), - "bis_studiensemester_kurzbz": $("#bis_studiensemester_kurzbz_"+nextOehbeitragId).val(), - "studierendenbeitrag": $("#studierendenbeitrag_"+nextOehbeitragId).val().replace(",", "."), - "versicherung": $("#versicherung_"+nextOehbeitragId).val().replace(",", ".") + "von_studiensemester_kurzbz": $("#input_von_studiensemester_kurzbz_"+nextOehbeitragId).val(), + "bis_studiensemester_kurzbz": $("#input_bis_studiensemester_kurzbz_"+nextOehbeitragId).val(), + "studierendenbeitrag": $("#input_studierendenbeitrag_"+nextOehbeitragId).val().replace(",", "."), + "versicherung": $("#input_versicherung_"+nextOehbeitragId).val().replace(",", ".") } - Oehbeitrag.addOehbeitrag(oehbeitrag, nextOehbeitragId); + let studiensemester_von_bis = { + "von_semester_with_date": $("#input_von_studiensemester_kurzbz_"+nextOehbeitragId+" option:selected").text(), + "bis_semester_with_date": $("#input_bis_studiensemester_kurzbz_"+nextOehbeitragId+" option:selected").text() + } + + Oehbeitrag.addOehbeitrag(oehbeitrag, studiensemester_von_bis, nextOehbeitragId); + } + ); + + $("#delete_"+nextOehbeitragId).click( + function() + { + $(this).parent('td').parent('tr').remove(); } ); @@ -64,26 +73,32 @@ $(document).ready(function () } ) + // set trigger for deleting Oehhbeitrag $(".deleteBtn").click( function() { let oehbeitrag_id_prefixed = $(this).prop("id"); - let oehbeitrag_id = oehbeitrag_id_prefixed.substr(oehbeitrag_id_prefixed.indexOf('_')+1); + let oehbeitrag_id = oehbeitrag_id_prefixed.substr(oehbeitrag_id_prefixed.lastIndexOf('_')+1); Oehbeitrag.deleteOehbeitrag(oehbeitrag_id); } - ) + ); + + // set trigger for updating Oehhbeitrag + Oehbeitrag._setUpdateEvents(); }); var Oehbeitrag = { newBeitragId: 0, // ----------------------------------------------------------------------------------------------------------------- // ajax calls - getValidStudiensemester: function(callback) + getValidStudiensemester: function(callback, oehbeitrag_id) { + let params = oehbeitrag_id ? {"oehbeitrag_id": oehbeitrag_id} : null; + FHC_AjaxClient.ajaxCallGet( CALLED_PATH + "/getValidStudiensemester", - null, + params, { successCallback: callback, errorCallback: function() @@ -93,33 +108,42 @@ var Oehbeitrag = { } ); }, - addOehbeitrag: function(oehbeitrag, nextOehbeitragId) + addOehbeitrag: function(oehbeitrag, studiensemester_von_bis, nextOehbeitragId) { FHC_AjaxClient.ajaxCallPost( CALLED_PATH + '/addOehbeitrag', oehbeitrag, { successCallback: function(data, textStatus, jqXHR) { - console.log(data); if (FHC_AjaxClient.isError(data)) { FHC_DialogLib.alertError(FHC_AjaxClient.getError(data)); } else if (FHC_AjaxClient.hasData(data)) { - console.log(data); let inserted_id = FHC_AjaxClient.getData(data); // refresh table row in GUI - let bis_studiensemester_kurzbz = oehbeitrag.bis_studiensemester_kurzbz == 'null' ? 'unbeschränkt' : oehbeitrag.bis_studiensemester_kurzbz; + let bis_studiensemester_kurzbz = oehbeitrag.bis_studiensemester_kurzbz == 'null' ? 'unbeschränkt' : studiensemester_von_bis.bis_semester_with_date; - $("#studierendenbeitrag_"+nextOehbeitragId).parent().html(Oehbeitrag._formatDecimalGerman(oehbeitrag.studierendenbeitrag)); - $("#versicherung_"+nextOehbeitragId).parent().html(Oehbeitrag._formatDecimalGerman(oehbeitrag.versicherung)); - $("#von_studiensemester_kurzbz_"+nextOehbeitragId).parent().html(oehbeitrag.von_studiensemester_kurzbz); - $("#bis_studiensemester_kurzbz_"+nextOehbeitragId).parent().html(bis_studiensemester_kurzbz); + $("#input_studierendenbeitrag_"+nextOehbeitragId).parent('td').html( + Oehbeitrag._formatDecimalGerman(oehbeitrag.studierendenbeitrag)+" " + ); + $("#input_versicherung_"+nextOehbeitragId).parent('td').html( + Oehbeitrag._formatDecimalGerman(oehbeitrag.versicherung)+" " + ); + $("#input_von_studiensemester_kurzbz_"+nextOehbeitragId).parent('td').html( + studiensemester_von_bis.von_semester_with_date+" " + ); + $("#input_bis_studiensemester_kurzbz_"+nextOehbeitragId).parent('td').html( + bis_studiensemester_kurzbz+" " + ); // add delete button instead of save btn - $("#addOeh_"+nextOehbeitragId).parent().html(""); + $("#addOeh_"+nextOehbeitragId).parent('td').html(""); + + // add update and delete events + Oehbeitrag._setUpdateEvents(); $("#delete_"+inserted_id).click( function() @@ -143,6 +167,52 @@ var Oehbeitrag = { } ); }, + updateOehbeitrag(oehbeitrag_id, fieldname, fieldelement, inputtype) + { + let oehbeitragdata = {}; + let fieldvalue = fieldelement.val(); + oehbeitragdata[fieldname] = fieldvalue; + + FHC_AjaxClient.ajaxCallPost( + CALLED_PATH + '/updateOehbeitrag', + { + "oehbeitrag_id": oehbeitrag_id, + "data": oehbeitragdata + }, + { + successCallback: function(data, textStatus, jqXHR) { + if (FHC_AjaxClient.isError(data)) + { + FHC_DialogLib.alertError(FHC_AjaxClient.getError(data)); + } + else if (FHC_AjaxClient.hasData(data)) + { + if (inputtype == 'semester') + fieldvalue = $(fieldelement).find("option:selected").text(); + else + fieldvalue = Oehbeitrag._formatDecimalGerman(fieldvalue); + $("#confirm_"+fieldname+"_"+oehbeitrag_id).parent('td').html( + fieldvalue+" " + ); + $("#edit_"+fieldname+"_"+oehbeitrag_id).click( + function() + { + Oehbeitrag._setUpdateEvent($(this).prop("id"), fieldname, inputtype); + } + ); + } + else + { + FHC_DialogLib.alertError('Fehler beim Hinzufügen des Öhbeitrags'); + } + }, + errorCallback: function() + { + FHC_DialogLib.alertError('Fehler beim Hinzufügen des Öhbeitrags'); + } + } + ); + }, deleteOehbeitrag: function(oehbeitrag_id) { FHC_AjaxClient.ajaxCallPost( @@ -152,8 +222,8 @@ var Oehbeitrag = { successCallback: function(data, textStatus, jqXHR) { if (FHC_AjaxClient.hasData(data)) { - console.log(data); $("#delete_"+oehbeitrag_id).closest("tr").remove(); + Oehbeitrag._addTablesorter(); } else { @@ -170,20 +240,128 @@ var Oehbeitrag = { // ----------------------------------------------------------------------------------------------------------------- // (private) methods - _printStudiensemesterDropdown(name, studiensemester) + _renderOehbeitragTable(oehbeitraege) { - let rowHtml = ""; - let first = true; - for (let idx in studiensemester) + for (let oehbeitragidx in oehbeitraege) { - let selected = first ? ' selected' : ''; - let studiensemester_kurzbz = studiensemester[idx].studiensemester_kurzbz; - rowHtml += ""; - first = false; + let oehbeitrag = oehbeitraege[oehbeitragidx]; + + + } + }, + _setUpdateEvents() + { + $(".editStudierendenbeitrag").off('click').click( + function() + { + Oehbeitrag._setUpdateEvent($(this).prop("id"), 'studierendenbeitrag'); + } + ); + + $(".editVersicherung").off('click').click( + function() + { + Oehbeitrag._setUpdateEvent($(this).prop("id"), 'versicherung'); + } + ); + + $(".editBisStudiensemester").off('click').click( + function() + { + Oehbeitrag._setUpdateEvent($(this).prop("id"), 'bis_studiensemester_kurzbz', 'semester'); + } + ); + + $(".editVonStudiensemester").off('click').click( + function() + { + Oehbeitrag._setUpdateEvent($(this).prop("id"), 'von_studiensemester_kurzbz', 'semester'); + } + ); + + }, + _setUpdateEvent(oehbeitrag_id_prefixed, fieldname, inputtype) + { + let initElement = $("#"+oehbeitrag_id_prefixed); // clicked element triggering event + let oehbeitrag_id = oehbeitrag_id_prefixed.substr(oehbeitrag_id_prefixed.lastIndexOf('_')+1); + let currFieldvalue = initElement.parent('td').text().trim(); + + let callback = function(validSemesterData) + { + let inputHtml = ""; + + // if semester dropdown, retrieve valid semester + if (inputtype === 'semester') + { + if (FHC_AjaxClient.hasData(validSemesterData)) + { + let studiensemester = FHC_AjaxClient.getData(validSemesterData); + + inputHtml = Oehbeitrag._getStudiensemesterDropdown(oehbeitrag_id, fieldname, studiensemester, currFieldvalue, 'inline-inputfield'); + } + } + else // otherwise display textfield + { + inputHtml = ""; + } + + inputHtml += " "; + + initElement.parent('td').html(inputHtml); + + // set the update event + $("#confirm_"+fieldname+"_"+oehbeitrag_id).click( + function() + { + Oehbeitrag.updateOehbeitrag(oehbeitrag_id, fieldname, $("#input_" + fieldname + "_" + oehbeitrag_id), inputtype); + } + ); } + if (inputtype == 'semester') + { + Oehbeitrag.getValidStudiensemester(callback, oehbeitrag_id); + } + else + callback(null); + }, + _getStudiensemesterDropdown(oehbeitrag_id, name, studiensemester, selectedDateSemester, formatclass) + { + let selectedDateSemesterArr = null; + if (selectedDateSemester) + { + selectedDateSemesterArr = selectedDateSemester.split('/'); + } + + let rowHtml = ""; + let inlineClass = formatclass != null ? ' '+formatclass : ''; + + rowHtml += ""; + return rowHtml; }, + _compareGermanDates: function(datea, dateb) + { + return datea.split(".").reverse().join("") < dateb.split(".").reverse().join(""); + }, + _addTablesorter: function() + { + let headers = {headers: { 0: { sorter: false}, 1: { sorter: false}, 4: { sorter: false}}}; + Tablesort.addTablesorter("oehbeitraegeTbl", [[0,0],[1,0]], ["zebra"], 8, headers); + }, /** * Formats a numeric value as a float with two decimals * @param sum @@ -213,5 +391,9 @@ var Oehbeitrag = { dec = dec1 + dec2; } return dec; + }, + _formatDateToGerman: function(date) + { + return date.substring(8, 10) + "." + date.substring(5, 7) + "." + date.substring(0, 4); } };