diff --git a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js
index ea96a8c7c..00750430f 100644
--- a/public/js/lehre/lehrauftrag/acceptLehrauftrag.js
+++ b/public/js/lehre/lehrauftrag/acceptLehrauftrag.js
@@ -17,7 +17,7 @@ const COLOR_LIGHTGREY = "#f5f5f5";
const ICON_LEHRAUFTRAG_ORDERED = '
';
const ICON_LEHRAUFTRAG_APPROVED = '
';
const ICON_LEHRAUFTRAG_CHANGED = '
';
-
+const ICON_LEHRAUFTRAG_CANCELLED = '
';
// -----------------------------------------------------------------------------------------------------------------
// Mutators - setter methods to manipulate table data when entering the tabulator
@@ -134,10 +134,12 @@ function func_selectableCheck(row){
var betrag = parseFloat(row.getData().betrag);
var vertrag_betrag = parseFloat(row.getData().vertrag_betrag);
- if (isNaN(betrag))
- {
- betrag = 0;
- }
+ var is_storniert = row.getData().storniert != undefined;
+
+ if (isNaN(betrag))
+ {
+ betrag = 0;
+ }
// only allow to select bestellte && erteilte && nicht geaenderte Lehraufträge
return row.getData().bestellt != null && // bestellt
@@ -149,18 +151,18 @@ function func_selectableCheck(row){
// 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
@@ -311,9 +313,10 @@ function func_rowSelectionChanged(data, rows){
// Generates status icons
status_formatter = function(cell, formatterParams, onRendered){
- 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 is_storniert = cell.getRow().getData().storniert != undefined;
var stunden = parseFloat(cell.getRow().getData().stunden);
var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden);
@@ -326,47 +329,54 @@ status_formatter = function(cell, formatterParams, onRendered){
betrag = 0;
}
- // commented icons would be so nice to have with fontawsome 5.11...
- if (bestellt != null && isNaN(vertrag_betrag))
- {
- return ""; // kein Vertrag
- }
- else if (bestellt != null && (betrag != vertrag_betrag) ||
- bestellt != null && stunden != vertrag_stunden)
- {
- 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
- // return "";
- }
- else
- {
- return ""; // default
- }
+ // commented icons would be so nice to have with fontawsome 5.11...
+ if (bestellt != null && isNaN(vertrag_betrag))
+ {
+ return ""; // kein Vertrag
+ }
+ else if (bestellt != null && (betrag != vertrag_betrag) ||
+ bestellt != null && stunden != vertrag_stunden)
+ {
+ return ICON_LEHRAUFTRAG_CHANGED; // geaendert
+ // return "";
+ }
+ else if (bestellt == null && erteilt == null && akzeptiert == null && !is_storniert)
+ {
+ 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
+ // return "";
+ }
+ else if (is_storniert)
+ {
+ return ICON_LEHRAUFTRAG_CANCELLED; // storniert
+ }
+ else
+ {
+ return ""; // default
+ }
};
// Generates status tooltip
status_tooltip = function(cell){
- 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 is_storniert = cell.getRow().getData().storniert != undefined;
+ var letzterStatus_vorStorniert = cell.getRow().getData().letzterStatus_vorStorniert;
+
var stunden = parseFloat(cell.getRow().getData().stunden);
var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden);
@@ -379,32 +389,42 @@ status_tooltip = function(cell){
betrag = 0;
}
- var text = 'Lehrauftrag in Bearbeitung. ';
+ if (letzterStatus_vorStorniert != undefined && letzterStatus_vorStorniert == 'akzeptiert')
+ {
+ letzterStatus_vorStorniert = 'angenommen';
+ }
- if (bestellt != null && erteilt == null && akzeptiert == null
- && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when never erteilt before)
- {
- text += 'Wartet auf Erteilung.';
- 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.';
- 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.';
- }
+ var text = 'Lehrauftrag in Bearbeitung. ';
+
+ if (bestellt != null && erteilt == null && akzeptiert == null
+ && (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when never erteilt before)
+ {
+ text += 'Wartet auf Erteilung.';
+ 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.';
+ 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.';
+ }
+ else if (is_storniert)
+ {
+ return 'Dieser Vertrag wurde storniert. Letzter Status vor Stornierung war: '
+ + letzterStatus_vorStorniert; // storniert
+ }
}
// Generates bestellt tooltip
@@ -429,6 +449,13 @@ akzeptiert_tooltip = function(cell){
}
}
+// Generates storniert tooltip
+storniert_tooltip = function(cell){
+ if (cell.getRow().getData().storniert_von != null) {
+ return 'Storniert von: ' + cell.getRow().getData().storniert_von;
+ }
+}
+
$(function() {
// Show all rows
@@ -468,17 +495,20 @@ $(function() {
);
});
- // 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;
- }
- });
+ // 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-cancelled':
+ this.innerHTML = ICON_LEHRAUFTRAG_CANCELLED;
+ break;
+ }
+ });
// De/activate and un/focus on clicked button
$(".btn-lehrauftrag").click(function() {
@@ -488,8 +518,13 @@ $(function() {
$(this).addClass('focus').addClass('active');
});
- // Approve Lehrauftraege
- $("#accept-lehrauftraege").click(function(){
+ // Redraw table stornierte lehrauftraege on button click
+ $('#collapseCancelledLehrauftraege').on('shown.bs.collapse', function () {
+ $('[tableuniqueid = cancelledLehrauftrag] #tableWidgetTabulator').tabulator('redraw', true);
+ });
+
+ // Approve Lehrauftraege
+ $("#accept-lehrauftraege").click(function(){
// Get selected rows data
var selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData')