diff --git a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js index b8d6e888c..d69195fa9 100644 --- a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js @@ -368,36 +368,35 @@ status_tooltip = function(cell){ letzterStatus_vorStorniert = 'angenommen'; } - var text = 'Lehrauftrag in Bearbeitung. '; + var text = FHC_PhrasesLib.t("ui", "lehrauftragInBearbeitung"); if (bestellt != null && erteilt == null && akzeptiert == null && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when never erteilt before) { - text += 'Wartet auf Erteilung.'; + text += FHC_PhrasesLib.t("ui", "wartetAufErteilung");; return text; } else if (bestellt != null && erteilt != null && akzeptiert == null && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when has been erteilt once) { - text += 'Wartet auf erneute Erteilung.'; + text += FHC_PhrasesLib.t("ui", "wartetAufErneuteErteilung"); return text; } else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); } else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); } else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); } - else if (is_storniert) + else if (is_storniert) // storniert { - return 'Dieser Vertrag wurde storniert. Letzter Status vor Stornierung war: ' - + letzterStatus_vorStorniert; // storniert + return FHC_PhrasesLib.t("ui", "vertragWurdeStorniert"); } } @@ -405,28 +404,28 @@ status_tooltip = function(cell){ bestellt_tooltip = function(cell){ if (cell.getRow().getData().bestellt_von != null) { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; + return FHC_PhrasesLib.t("ui", "angenommenVon") + cell.getRow().getData().akzeptiert_von; } } // Generates storniert tooltip storniert_tooltip = function(cell){ if (cell.getRow().getData().storniert_von != null) { - return 'Storniert von: ' + cell.getRow().getData().storniert_von; + return FHC_PhrasesLib.t("ui", "storniertVon") + cell.getRow().getData().storniert_von; } } diff --git a/public/js/lehre/lehrauftrag/approveLehrauftrag.js b/public/js/lehre/lehrauftrag/approveLehrauftrag.js index 3131bcfb3..cd8816c1e 100644 --- a/public/js/lehre/lehrauftrag/approveLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/approveLehrauftrag.js @@ -433,38 +433,38 @@ status_tooltip = function(cell){ vertrag_stunden = 0; } - var text = 'Lehrauftragstunden/-stundensatz geändert.'; + var text = FHC_PhrasesLib.t("ui", "stundenStundensatzGeaendert"); text += "\n"; if (is_dummy) // dummy (no lector) { - return 'Neuer Lehrauftrag. Ohne Lektor verplant.' + return FHC_PhrasesLib.t("ui", "neuerLehrauftragOhneLektorVerplant"); } else if ((bestellt != null && erteilt == null && betrag != vertrag_betrag) || (bestellt != null && erteilt == null && stunden != vertrag_stunden)) // geaendert (when never erteilt before) { - return text += 'Wartet auf Bestellung, danach Erteilen möglich.'; + return text += FHC_PhrasesLib.t("ui", "wartetAufBestellung"); } else if ((bestellt != null && erteilt != null && betrag != vertrag_betrag) || (bestellt != null && erteilt != null && stunden != vertrag_stunden)) // geaendert (when has been erteilt once) { - return text += 'Wartet auf neuerliche Bestellung, danach erneut Erteilen möglich.'; + return text += FHC_PhrasesLib.t("ui", "wartetAufErneuteBestellung"); } else if (bestellt == null) // neu { - return 'Neuer Lehrauftrag. Wartet auf Bestellung.'; + return FHC_PhrasesLib.t("ui", "neuerLehrauftragWartetAufBestellung"); } else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); } else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); } else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); } } @@ -472,21 +472,21 @@ status_tooltip = function(cell){ bestellt_tooltip = function(cell){ if (cell.getRow().getData().bestellt_von != null) { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; + return FHC_PhrasesLib.t("ui", "angenommenVon") + cell.getRow().getData().akzeptiert_von; } } $(function() { diff --git a/public/js/lehre/lehrauftrag/orderLehrauftrag.js b/public/js/lehre/lehrauftrag/orderLehrauftrag.js index b7f5e7430..41d872bc0 100644 --- a/public/js/lehre/lehrauftrag/orderLehrauftrag.js +++ b/public/js/lehre/lehrauftrag/orderLehrauftrag.js @@ -36,11 +36,11 @@ var tableWidgetBlacklistArray_columnUnselectable = [ // Converts string date postgre style to string DD.MM.YYYY. // This will allow correct filtering. var mut_formatStringDate = function(value, data, type, params, component) { - if (value != null) - { - var d = new Date(value); - return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear(); - } + if (value != null) + { + var d = new Date(value); + return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear(); + } } // ----------------------------------------------------------------------------------------------------------------- @@ -49,16 +49,16 @@ var mut_formatStringDate = function(value, data, type, params, component) { // Formats null values to a string number '0.00' var form_formatNulltoStringNumber = function(cell, formatterParams){ - if (cell.getValue() == null){ - if (formatterParams.precision == 1) - { - return '0.0'; - } - return '0.00'; - } - else { - return cell.getValue(); - } + if (cell.getValue() == null){ + if (formatterParams.precision == 1) + { + return '0.0'; + } + return '0.00'; + } + else { + return cell.getValue(); + } } // ----------------------------------------------------------------------------------------------------------------- @@ -68,23 +68,23 @@ var form_formatNulltoStringNumber = function(cell, formatterParams){ // Filters values using comparison operator or just by string comparison function hf_filterStringnumberWithOperator(headerValue, rowValue, rowData){ - // If string starts with <, <=, >, >=, !=, ==, compare values with that operator - var operator = ''; - if (headerValue.match(/([<=>!]{1,2})/g)) { - var operator_arr = headerValue.match(/([<=>!]{1,2})/g); - operator = operator_arr[0]; + // If string starts with <, <=, >, >=, !=, ==, compare values with that operator + var operator = ''; + if (headerValue.match(/([<=>!]{1,2})/g)) { + var operator_arr = headerValue.match(/([<=>!]{1,2})/g); + operator = operator_arr[0]; - headerValue = headerValue - .replace(operator, '') - .trim() - ; + headerValue = headerValue + .replace(operator, '') + .trim() + ; - // return if value comparison is true - return eval(rowValue + operator + headerValue); - } + // return if value comparison is true + return eval(rowValue + operator + headerValue); + } - // If just a stringnumber, return if exact match found - return parseFloat(rowValue) == headerValue; + // If just a stringnumber, return if exact match found + return parseFloat(rowValue) == headerValue; } // ----------------------------------------------------------------------------------------------------------------- @@ -98,13 +98,13 @@ function hf_filterStringnumberWithOperator(headerValue, rowValue, rowData){ * The callback dataLoaded is processed after tableBuild and provides the status. */ function func_dataLoaded(data, table){ - table.setFilter([ - {field: 'personalnummer', type: '>=', value: 0}, // not dummy lector AND - [ - {field: 'status', type: '=', value: 'Neu'}, // neu OR - {field: 'status', type: '=', value: 'Geändert'} // geaendert - ] - ]); + table.setFilter([ + {field: 'personalnummer', type: '>=', value: 0}, // not dummy lector AND + [ + {field: 'status', type: '=', value: 'Neu'}, // neu OR + {field: 'status', type: '=', value: 'Geändert'} // geaendert + ] + ]); } // ----------------------------------------------------------------------------------------------------------------- @@ -113,210 +113,210 @@ function func_dataLoaded(data, table){ // Returns relative height (depending on screen size) function func_height(table){ - return $(window).height() * 0.50; + return $(window).height() * 0.50; } // Formats the group header function func_groupHeader(data) { - return data[0].lv_bezeichnung + "  " + ' ( LV-ID: ' + data[0].lehrveranstaltung_id + ' )'; // change name to lehrveranstaltung; + return data[0].lv_bezeichnung + "  " + ' ( LV-ID: ' + data[0].lehrveranstaltung_id + ' )'; // change name to lehrveranstaltung; } // Formats the rows function func_rowFormatter(row){ - var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); - var bestellt = row.getData().bestellt; - var erteilt = row.getData().erteilt; - var akzeptiert = row.getData().akzeptiert; + var bestellt = row.getData().bestellt; + var erteilt = row.getData().erteilt; + var akzeptiert = row.getData().akzeptiert; - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - /* - Formats the color of the rows depending on their status - - blue: dummy lectors - - bold: geaendert - - default (white): neu und erteilt - - green: akzeptiert - - grey: all other (marks unselectable) - */ - row.getCells().forEach(function(cell){ - if(is_dummy) - { - cell.getElement().classList.add('bg-info'); // dummy lectors - } - else if (bestellt != null && (betrag != vertrag_betrag) || - bestellt != null && stunden != vertrag_stunden && - !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows - { - row.getElement().style['font-weight'] = 'bold'; // geaendert - } - else if(bestellt == null) - { - return; // neu und erteilt - } - else if(bestellt != null && erteilt != null && akzeptiert != null) - { - cell.getElement().classList.add('bg-success') // akzeptiert - } - else - { - row.getElement().style["background-color"] = COLOR_LIGHTGREY; // default - } - }); + /* + Formats the color of the rows depending on their status + - blue: dummy lectors + - bold: geaendert + - default (white): neu und erteilt + - green: akzeptiert + - grey: all other (marks unselectable) + */ + row.getCells().forEach(function(cell){ + if(is_dummy) + { + cell.getElement().classList.add('bg-info'); // dummy lectors + } + else if (bestellt != null && (betrag != vertrag_betrag) || + bestellt != null && stunden != vertrag_stunden && + !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows + { + row.getElement().style['font-weight'] = 'bold'; // geaendert + } + else if(bestellt == null) + { + return; // neu und erteilt + } + else if(bestellt != null && erteilt != null && akzeptiert != null) + { + cell.getElement().classList.add('bg-success') // akzeptiert + } + else + { + row.getElement().style["background-color"] = COLOR_LIGHTGREY; // default + } + }); } // Formats row selectable/unselectable function func_selectableCheck(row){ - var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // Only allow to select neue and geaenderte - return !is_dummy && // NOT dummy lector - row.getData().bestellt == null || // AND neue - row.getData().bestellt != null && betrag != vertrag_betrag || // OR geaenderte - row.getData().bestellt != null && stunden != vertrag_stunden // OR geanderte (if betrag is 0 or null) + // Only allow to select neue and geaenderte + return !is_dummy && // NOT dummy lector + row.getData().bestellt == null || // AND neue + row.getData().bestellt != null && betrag != vertrag_betrag || // OR geaenderte + row.getData().bestellt != null && stunden != vertrag_stunden // OR geanderte (if betrag is 0 or null) } // Adds column status function func_tableBuilt(table) { - // Add status column to table - table.addColumn( - { - title: "", - field: "status", - width:40, - align:"center", - downloadTitle: 'Status', - formatter: status_formatter, - tooltip: status_tooltip - }, true - ); + // Add status column to table + table.addColumn( + { + title: "", + field: "status", + width:40, + align:"center", + downloadTitle: 'Status', + formatter: status_formatter, + tooltip: status_tooltip + }, true + ); } // Sets status values into column status function func_renderStarted(table){ - // set literally status to each row - this enables sorting by status despite using icons - table.getRows().forEach(function(row){ - var bestellt = row.getData().bestellt; - var erteilt = row.getData().erteilt; - var akzeptiert = row.getData().akzeptiert; + // set literally status to each row - this enables sorting by status despite using icons + table.getRows().forEach(function(row){ + var bestellt = row.getData().bestellt; + var erteilt = row.getData().erteilt; + var akzeptiert = row.getData().akzeptiert; - var stunden = parseFloat(row.getData().stunden); - var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); + var stunden = parseFloat(row.getData().stunden); + var vertrag_stunden = parseFloat(row.getData().vertrag_stunden); - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var betrag = parseFloat(row.getData().betrag); + var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - if ((bestellt != null && betrag != vertrag_betrag) || - (bestellt != null && stunden != vertrag_stunden)) - { - row.getData().status = 'Geändert'; // geaendert - } - else if (bestellt == null && erteilt == null && akzeptiert == null) - { - row.getData().status = 'Neu'; // neu - } - else if (bestellt != null && erteilt == null && akzeptiert == null) - { - row.getData().status = 'Bestellt'; // bestellt - } - else if (bestellt != null && erteilt != null && akzeptiert == null) - { - row.getData().status = 'Erteilt'; // erteilt - } - else if (bestellt != null && erteilt != null && akzeptiert != null) - { - row.getData().status = 'Akzeptiert'; // akzeptiert - } - else - { - row.getData().status = null; // default - } - }); + if ((bestellt != null && betrag != vertrag_betrag) || + (bestellt != null && stunden != vertrag_stunden)) + { + row.getData().status = 'Geändert'; // geaendert + } + else if (bestellt == null && erteilt == null && akzeptiert == null) + { + row.getData().status = 'Neu'; // neu + } + else if (bestellt != null && erteilt == null && akzeptiert == null) + { + row.getData().status = 'Bestellt'; // bestellt + } + else if (bestellt != null && erteilt != null && akzeptiert == null) + { + row.getData().status = 'Erteilt'; // erteilt + } + else if (bestellt != null && erteilt != null && akzeptiert != null) + { + row.getData().status = 'Akzeptiert'; // akzeptiert + } + else + { + row.getData().status = null; // default + } + }); } // Performes after row was updated function func_rowUpdated(row){ - // Refresh status icon and row color - row.reformat(); // retriggers cell formatters and rowFormatter callback + // Refresh status icon and row color + row.reformat(); // retriggers cell formatters and rowFormatter callback - // Format font-weight normal (needed after geaenderte were bestellt) - row.getElement().style['font-weight'] = 'normal'; + // Format font-weight normal (needed after geaenderte were bestellt) + row.getElement().style['font-weight'] = 'normal'; - // Deselect and disable new selection of updated rows (ordering done) - row.deselect(); - row.getElement().style["pointerEvents"] = "none"; + // Deselect and disable new selection of updated rows (ordering done) + row.deselect(); + row.getElement().style["pointerEvents"] = "none"; } // TableWidget Footer element @@ -340,353 +340,355 @@ function tableWidgetHook_selectAllButton(tableWidgetDiv){ // ----------------------------------------------------------------------------------------------------------------- // Generates status icons status_formatter = function(cell, formatterParams, onRendered){ - var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); + var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); - var bestellt = cell.getRow().getData().bestellt; - var erteilt = cell.getRow().getData().erteilt; - var akzeptiert = cell.getRow().getData().akzeptiert; + var bestellt = cell.getRow().getData().bestellt; + var erteilt = cell.getRow().getData().erteilt; + var akzeptiert = cell.getRow().getData().akzeptiert; - var stunden = parseFloat(cell.getRow().getData().stunden); - var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); + var stunden = parseFloat(cell.getRow().getData().stunden); + var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); - var betrag = parseFloat(cell.getRow().getData().betrag); - var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); + var betrag = parseFloat(cell.getRow().getData().betrag); + var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // commented icons would be so nice to have with fontawsome 5.11... - if (is_dummy) - { - return ""; // dummy lector - } - else if (bestellt != null && isNaN(vertrag_betrag)) - { - return ""; // kein Vertrag - } - else if (bestellt != null && (betrag != vertrag_betrag) || // geaendert - bestellt != null && stunden != vertrag_stunden) // geaendert ((if betrag is 0 or null) - { - return ICON_LEHRAUFTRAG_CHANGED; // geaendert - // return ""; - } - else if (bestellt == null && erteilt == null && akzeptiert == null) - { - return ""; // neu - } - else if (bestellt != null && erteilt == null && akzeptiert == null) - { - return ICON_LEHRAUFTRAG_ORDERED; // bestellt - // return ""; - } - else if (bestellt != null && erteilt != null && akzeptiert == null) - { - return ICON_LEHRAUFTRAG_APPROVED; // erteilt - // return ""; - } - else if (bestellt != null && erteilt != null && akzeptiert != null) - { - return ""; // akzeptiert - } - else - { - return ""; // default - } + // commented icons would be so nice to have with fontawsome 5.11... + if (is_dummy) + { + return ""; // dummy lector + } + else if (bestellt != null && isNaN(vertrag_betrag)) + { + return ""; // kein Vertrag + } + else if (bestellt != null && (betrag != vertrag_betrag) || // geaendert + bestellt != null && stunden != vertrag_stunden) // geaendert ((if betrag is 0 or null) + { + return ICON_LEHRAUFTRAG_CHANGED; // geaendert + // return ""; + } + else if (bestellt == null && erteilt == null && akzeptiert == null) + { + return ""; // neu + } + else if (bestellt != null && erteilt == null && akzeptiert == null) + { + return ICON_LEHRAUFTRAG_ORDERED; // bestellt + // return ""; + } + else if (bestellt != null && erteilt != null && akzeptiert == null) + { + return ICON_LEHRAUFTRAG_APPROVED; // erteilt + // return ""; + } + else if (bestellt != null && erteilt != null && akzeptiert != null) + { + return ""; // akzeptiert + } + else + { + return ""; // default + } }; // Generates status tooltip status_tooltip = function(cell){ - var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); + var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); - var bestellt = cell.getRow().getData().bestellt; - var erteilt = cell.getRow().getData().erteilt; - var akzeptiert = cell.getRow().getData().akzeptiert; + var bestellt = cell.getRow().getData().bestellt; + var erteilt = cell.getRow().getData().erteilt; + var akzeptiert = cell.getRow().getData().akzeptiert; - var betrag = parseFloat(cell.getRow().getData().betrag); - var stunden = parseFloat(cell.getRow().getData().stunden); - var stundensatz = parseFloat(cell.getRow().getData().stundensatz); + var betrag = parseFloat(cell.getRow().getData().betrag); + var stunden = parseFloat(cell.getRow().getData().stunden); + var stundensatz = parseFloat(cell.getRow().getData().stundensatz); - var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); - var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); - var vertrag_stundensatz = 0; + var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); + var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden); + var vertrag_stundensatz = 0; - if (isNaN(betrag)) - { - betrag = 0; - } + if (isNaN(betrag)) + { + betrag = 0; + } - if (isNaN(stunden)) - { - stunden = 0; - } + if (isNaN(stunden)) + { + stunden = 0; + } - if (isNaN(vertrag_stunden)) - { - vertrag_stunden = 0; - } + if (isNaN(vertrag_stunden)) + { + vertrag_stunden = 0; + } - if (isNaN(vertrag_betrag)) - { - vertrag_betrag = 0; - } + if (isNaN(vertrag_betrag)) + { + vertrag_betrag = 0; + } - // Calculate vertrag stundensatz - if (vertrag_stunden != 0) - { - vertrag_stundensatz = vertrag_betrag/vertrag_stunden; - } + // Calculate vertrag stundensatz + if (vertrag_stunden != 0) + { + vertrag_stundensatz = vertrag_betrag/vertrag_stunden; + } - // Return tooltip message - if (is_dummy) // dummy (no lector) - { - return 'Neuer Lehrauftrag. Ohne Lektor verplant.' - } - else if (isNaN(vertrag_betrag)) // neu - { - return 'Neuer Lehrauftrag. Wartet auf Bestellung.' - } - else if (betrag != vertrag_betrag || // geaendert - bestellt != null && stunden != vertrag_stunden) // geaendert (if betrag is 0 or null) - { - var text = 'NACH Änderung: Stundensatz: ' + stundensatz + ' Stunden: ' + stunden; - text += "\n"; - text += 'VOR Änderung:' + '\xa0\xa0\xa0' + 'Stundensatz: ' + vertrag_stundensatz + ' Stunden: ' + vertrag_stunden; - return text; - } - else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt - { - return 'Letzter Status: Bestellt. Wartet auf Erteilung.'; - } - else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt - { - return 'Letzter Status: Erteilt. Wartet auf Annahme durch Lektor.'; - } - else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert - { - return 'Letzter Status: Angenommen. Vertrag wurde beidseitig abgeschlossen.'; - } + // Return tooltip message + if (is_dummy) // dummy (no lector) + { + return FHC_PhrasesLib.t("ui", "neuerLehrauftragOhneLektorVerplant"); + } + else if (vertrag_betrag == 0) // neu + { + return FHC_PhrasesLib.t("ui", "neuerLehrauftragWartetAufBestellung"); + } + else if (betrag != vertrag_betrag || // geaendert + bestellt != null && stunden != vertrag_stunden) // geaendert (if betrag is 0 or null) + { + var text = FHC_PhrasesLib.t("ui", "nachAenderungStundensatzStunden", + new Array(stundensatz, stunden)); + text += "\n"; + text += FHC_PhrasesLib.t("ui", "vorAenderungStundensatzStunden", + new Array(vertrag_stundensatz, vertrag_stunden)); + return text; + } + else if (bestellt != null && erteilt == null && akzeptiert == null) // bestellt + { + return FHC_PhrasesLib.t("ui", "letzterStatusBestellt"); + } + else if (bestellt != null && erteilt != null && akzeptiert == null) // erteilt + { + return FHC_PhrasesLib.t("ui", "letzterStatusErteilt"); + } + else if (bestellt != null && erteilt != null && akzeptiert != null) // akzeptiert + { + return FHC_PhrasesLib.t("ui", "letzterStatusAngenommen"); + } } // Generates bestellt tooltip bestellt_tooltip = function(cell){ - if (cell.getRow().getData().bestellt_von != null) - { - return 'Bestellt von: ' + cell.getRow().getData().bestellt_von; - } + if (cell.getRow().getData().bestellt_von != null) + { + return FHC_PhrasesLib.t("ui", "bestelltVon") + cell.getRow().getData().bestellt_von; + } } // Generates erteilt tooltip erteilt_tooltip = function(cell){ - if (cell.getRow().getData().erteilt_von != null) { - return 'Erteilt von: ' + cell.getRow().getData().erteilt_von; - } + if (cell.getRow().getData().erteilt_von != null) { + return FHC_PhrasesLib.t("ui", "erteiltVon") + cell.getRow().getData().erteilt_von; + } } // Generates akzeptiert tooltip akzeptiert_tooltip = function(cell){ - if (cell.getRow().getData().akzeptiert_von != null) { - return 'Angenommen von: ' + cell.getRow().getData().akzeptiert_von; - } + if (cell.getRow().getData().akzeptiert_von != null) { + return FHC_PhrasesLib.t("ui", "akzeptiertVon") + cell.getRow().getData().akzeptiert_von; + } } $(function() { - // Redraw table on resize to fit tabulators height to windows height - window.addEventListener('resize', function(){ - $('#tableWidgetTabulator').tabulator('setHeight', $(window).height() * 0.50); - $('#tableWidgetTabulator').tabulator('redraw', true); - }); + // Redraw table on resize to fit tabulators height to windows height + window.addEventListener('resize', function(){ + $('#tableWidgetTabulator').tabulator('setHeight', $(window).height() * 0.50); + $('#tableWidgetTabulator').tabulator('redraw', true); + }); - // Show all rows - $("#show-all").click(function(){ - $('#tableWidgetTabulator').tabulator('clearFilter'); - }); + // Show all rows + $("#show-all").click(function(){ + $('#tableWidgetTabulator').tabulator('clearFilter'); + }); - // Show only rows with new lehrauftraege (not dummy lectors) - $("#show-new").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, - {field: 'bestellt', type: '=', value: null}, - {field: 'erteilt', type: '=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with new lehrauftraege (not dummy lectors) + $("#show-new").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, + {field: 'bestellt', type: '=', value: null}, + {field: 'erteilt', type: '=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with ordered lehrauftraege - $("#show-ordered").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with ordered lehrauftraege + $("#show-ordered").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with erteilte lehrauftraege - $("#show-approved").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '!=', value: null}, - {field: 'akzeptiert', type: '=', value: null} - ] - ); - }); + // Show only rows with erteilte lehrauftraege + $("#show-approved").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '!=', value: null}, + {field: 'akzeptiert', type: '=', value: null} + ] + ); + }); - // Show only rows with akzeptierte lehrauftraege - $("#show-accepted").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'bestellt', type: '!=', value: null}, - {field: 'erteilt', type: '!=', value: null}, - {field: 'akzeptiert', type: '!=', value: null} - ] - ); - }); + // Show only rows with akzeptierte lehrauftraege + $("#show-accepted").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'bestellt', type: '!=', value: null}, + {field: 'erteilt', type: '!=', value: null}, + {field: 'akzeptiert', type: '!=', value: null} + ] + ); + }); - // Show only rows with geaenderte lectors - $("#show-changed").click(function(){ - // needs custom filter to compare fields betrag and vertrag_betrag - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '>=', value: 0}, // NOT dummy lector AND - {field: 'bestellt', type: '!=', value: null}, // bestellt AND - {field: 'status', type: '=', value: 'Geändert'} // geaendert - ] - ); - }); + // Show only rows with geaenderte lectors + $("#show-changed").click(function(){ + // needs custom filter to compare fields betrag and vertrag_betrag + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '>=', value: 0}, // NOT dummy lector AND + {field: 'bestellt', type: '!=', value: null}, // bestellt AND + {field: 'status', type: '=', value: 'Geändert'} // geaendert + ] + ); + }); - // Show only rows with dummy lectors - $("#show-dummies").click(function(){ - $('#tableWidgetTabulator').tabulator('setFilter', - [ - {field: 'personalnummer', type: '!=', value: null}, - {field: 'personalnummer', type: '<=', value: 0}, - ] - ); - }); + // Show only rows with dummy lectors + $("#show-dummies").click(function(){ + $('#tableWidgetTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '!=', value: null}, + {field: 'personalnummer', type: '<=', value: 0}, + ] + ); + }); - // Set png-icons into filter-buttons - $(".btn-lehrauftrag").each(function(){ - switch(this.id) { - case 'show-ordered': - this.innerHTML = ICON_LEHRAUFTRAG_ORDERED; - break; - case 'show-approved': - this.innerHTML = ICON_LEHRAUFTRAG_APPROVED; - break; - case 'show-changed': - this.innerHTML = ICON_LEHRAUFTRAG_CHANGED; - break; - } - }); + // Set png-icons into filter-buttons + $(".btn-lehrauftrag").each(function(){ + switch(this.id) { + case 'show-ordered': + this.innerHTML = ICON_LEHRAUFTRAG_ORDERED; + break; + case 'show-approved': + this.innerHTML = ICON_LEHRAUFTRAG_APPROVED; + break; + case 'show-changed': + this.innerHTML = ICON_LEHRAUFTRAG_CHANGED; + break; + } + }); - // De/activate and un/focus on clicked button, En-/Disable 'Lehrauftrag bestellen' - $(".btn-lehrauftrag").click(function() { + // De/activate and un/focus on clicked button, En-/Disable 'Lehrauftrag bestellen' + $(".btn-lehrauftrag").click(function() { - // De/activate and un/focus on clicked button - $(".btn-lehrauftrag").removeClass('focus').removeClass('active'); - $(this).addClass('focus').addClass('active'); + // De/activate and un/focus on clicked button + $(".btn-lehrauftrag").removeClass('focus').removeClass('active'); + $(this).addClass('focus').addClass('active'); - //Enable button 'Lehrauftrag bestellen' by default - $('#order-lehrauftraege').attr('disabled', false).attr('title', ''); + //Enable button 'Lehrauftrag bestellen' by default + $('#order-lehrauftraege').attr('disabled', false).attr('title', ''); - // Disable button Lehrauftrag bestellen for dummies - if (this.id == 'show-dummies') - { - $('#order-lehrauftraege').attr('disabled', true).attr('title', 'Lehraufträge ohne Lektorzuteilung können nicht bestellt werden.'); - } - }); + // Disable button Lehrauftrag bestellen for dummies + if (this.id == 'show-dummies') + { + $('#order-lehrauftraege').attr('disabled', true).attr('title', 'Lehraufträge ohne Lektorzuteilung können nicht bestellt werden.'); + } + }); - // Order Lehrauftraege - $("#order-lehrauftraege").click(function(){ + // Order Lehrauftraege + $("#order-lehrauftraege").click(function(){ - var selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData') - .filter(function(val){ - // filter pseudo lines of groupBy (e.g. the bottom calculations lines) - return val.row_index != null || typeof(val.row_index) !== 'undefined'; - }) - .map(function(data){ - // reduce to necessary fields - return { - 'row_index' : data.row_index, - 'lehreinheit_id' : data.lehreinheit_id, - 'lehrveranstaltung_id' : data.lehrveranstaltung_id, - 'person_id' : data.person_id, - 'mitarbeiter_uid' : data.mitarbeiter_uid, - 'vertrag_id' : data.vertrag_id, - 'projektarbeit_id' : data.projektarbeit_id, - 'stunden' : data.stunden, - 'betrag' : data.betrag, - 'studiensemester_kurzbz' : data.studiensemester_kurzbz, - 'studiengang_kz' : data.studiengang_kz, - 'lv_oe_kurzbz' : data.lv_oe_kurzbz - } - }); + var selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData') + .filter(function(val){ + // filter pseudo lines of groupBy (e.g. the bottom calculations lines) + return val.row_index != null || typeof(val.row_index) !== 'undefined'; + }) + .map(function(data){ + // reduce to necessary fields + return { + 'row_index' : data.row_index, + 'lehreinheit_id' : data.lehreinheit_id, + 'lehrveranstaltung_id' : data.lehrveranstaltung_id, + 'person_id' : data.person_id, + 'mitarbeiter_uid' : data.mitarbeiter_uid, + 'vertrag_id' : data.vertrag_id, + 'projektarbeit_id' : data.projektarbeit_id, + 'stunden' : data.stunden, + 'betrag' : data.betrag, + 'studiensemester_kurzbz' : data.studiensemester_kurzbz, + 'studiengang_kz' : data.studiengang_kz, + 'lv_oe_kurzbz' : data.lv_oe_kurzbz + } + }); - // Alert and exit if no lehraufgang is selected - if (selected_data.length == 0) - { - FHC_DialogLib.alertInfo('Bitte wählen Sie erst zumindest einen Lehrauftrag'); - return; - } + // Alert and exit if no lehraufgang is selected + if (selected_data.length == 0) + { + FHC_DialogLib.alertInfo('Bitte wählen Sie erst zumindest einen Lehrauftrag'); + return; + } - /* - * Prepare data object for ajax call - * NOTE: Stringify to send only ONE post param (json string) instead of many single post params. - * This avoids issues with POST param limitation. - */ - var data = { - 'selected_data': JSON.stringify(selected_data) - }; + /* + * Prepare data object for ajax call + * NOTE: Stringify to send only ONE post param (json string) instead of many single post params. + * This avoids issues with POST param limitation. + */ + var data = { + 'selected_data': JSON.stringify(selected_data) + }; - FHC_AjaxClient.ajaxCallPost( - FHC_JS_DATA_STORAGE_OBJECT.called_path + "/orderLehrauftrag", - data, - { - successCallback: function (data, textStatus, jqXHR) - { - if (!data.error && data.retval != null) - { - // Update status 'Bestellt' - $('#tableWidgetTabulator').tabulator('updateData', data.retval); + FHC_AjaxClient.ajaxCallPost( + FHC_JS_DATA_STORAGE_OBJECT.called_path + "/orderLehrauftrag", + data, + { + successCallback: function (data, textStatus, jqXHR) + { + if (!data.error && data.retval != null) + { + // Update status 'Bestellt' + $('#tableWidgetTabulator').tabulator('updateData', data.retval); - // Print success message - FHC_DialogLib.alertSuccess("Alle " + data.retval.length + " Lehraufträge wurden bestellt.") - } + // Print success message + FHC_DialogLib.alertSuccess("Alle " + data.retval.length + " Lehraufträge wurden bestellt.") + } - if (data.error && data.retval != null) - { - // Print error message - FHC_DialogLib.alertError(data.retval); - } - }, - errorCallback: function (jqXHR, textStatus, errorThrown) - { - FHC_DialogLib.alertError("Sytemfehler
Bitte kontaktieren Sie Ihren Administrator."); - } - } - ); - }); + if (data.error && data.retval != null) + { + // Print error message + FHC_DialogLib.alertError(data.retval); + } + }, + errorCallback: function (jqXHR, textStatus, errorThrown) + { + FHC_DialogLib.alertError("Sytemfehler
Bitte kontaktieren Sie Ihren Administrator."); + } + } + ); + }); });