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);
}
};