From 5ccd23f68d909db771d5fdd90095cec1ea45b7c5 Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 16 Oct 2019 11:56:26 +0200 Subject: [PATCH] Added GUI for DUMMY lectors in Lehrauftrag bestellen . dummy status icon/tooltip/formats . dummy filter button --- .../lehre/lehrauftrag/orderLehrauftrag.php | 50 +++++++++++++++---- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/application/views/lehre/lehrauftrag/orderLehrauftrag.php b/application/views/lehre/lehrauftrag/orderLehrauftrag.php index a3b8a1c03..9643f359d 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftrag.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftrag.php @@ -105,6 +105,7 @@ $this->load->view( + @@ -157,19 +158,26 @@ $this->load->view( // Formats the rows function func_rowFormatter(row){ + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + var bestellt = row.getData().bestellt; var betrag = parseFloat(row.getData().betrag); var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); /* Formats the color of the rows depending on their status - - orange: geaendert - - default: neu und erteilt + - blue: dummy lectors + - bold: geaendert + - default (white): neu und erteilt - green: akzeptiert - grey: all other (marks unselectable) */ row.getCells().forEach(function(cell){ - if (bestellt != null && (betrag != vertrag_betrag) && !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows + if(is_dummy) + { + cell.getElement().classList.add('bg-info'); // dummy lectors + } + else if (bestellt != null && (betrag != vertrag_betrag) && !row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows { // cell.getElement().classList.add('bg-warning') // geaendert } @@ -190,12 +198,15 @@ $this->load->view( // Formats row selectable/unselectable function func_selectableCheck(row){ - var betrag = parseFloat(row.getData().betrag); - var vertrag_betrag = parseFloat(row.getData().vertrag_betrag); + var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null); + + var betrag = row.getData().betrag; + var vertrag_betrag = row.getData().vertrag_betrag; // Only allow to select neue and geaenderte - return row.getData().bestellt == null || // neue - row.getData().bestellt != null && betrag != vertrag_betrag; // geaenderte + return !is_dummy && // NOT dummy lector + row.getData().bestellt == null || // AND neue + row.getData().bestellt != null && betrag != vertrag_betrag; // OR geaenderte } // Adds column status @@ -276,6 +287,7 @@ $this->load->view( // ----------------------------------------------------------------------------------------------------------------- // Generates status icons status_formatter = function(cell, formatterParams, onRendered){ + 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; @@ -285,7 +297,7 @@ $this->load->view( var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag); // commented icons would be so nice to have with fontawsome 5.11... - if (bestellt != null && isNaN(vertrag_betrag)) + if (is_dummy) { return ""; // kein Vertrag } @@ -321,6 +333,8 @@ $this->load->view( // Generates status tooltip status_tooltip = function(cell){ + var is_dummy = (cell.getRow().getData().personalnummer <= 0 && cell.getRow().getData().personalnummer != null); + var betrag = parseFloat(cell.getRow().getData().betrag); var stunden = parseFloat(cell.getRow().getData().stunden); var stundensatz = parseFloat(cell.getRow().getData().stundensatz); @@ -336,7 +350,11 @@ $this->load->view( } // Return tooltip message - if (isNaN(vertrag_betrag)) + if (is_dummy) + { + return 'Neuer Lehrauftrag. Ohne Lektor verplant.' + } + else if (isNaN(vertrag_betrag)) { return 'Neuer Lehrauftrag. Noch kein Vertrag vorhanden.' } @@ -367,10 +385,12 @@ $(function() { $('#filterTabulator').tabulator('clearFilter'); }); - // Show only rows with new lehrauftraege + // Show only rows with new lehrauftraege (not dummy lectors) $("#show-new").click(function(){ $('#filterTabulator').tabulator('setFilter', [ + {field: 'personalnummer', type: '!=', value: null}, + {field: 'personalnummer', type: '>=', value: 0}, {field: 'bestellt', type: '=', value: null}, {field: 'erteilt', type: '=', value: null}, {field: 'akzeptiert', type: '=', value: null} @@ -411,6 +431,16 @@ $(function() { ); }); + // Show only rows with dummy lectors + $("#show-dummies").click(function(){ + $('#filterTabulator').tabulator('setFilter', + [ + {field: 'personalnummer', type: '!=', value: null}, + {field: 'personalnummer', type: '<=', value: 0}, + ] + ); + }); + // Order Lehrauftraege $("#order-lehrauftraege").click(function(){