mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Adapted GUI and filter to UPDATE also CHANGED HOURS
Up to now changes were identified only by comparing betrag with vertrag_betrag. Problem is: when a new Lehrauftrag betrag is set with 0 or NULL and only hours are set, a later change of hours cannot be identified (as the betrag and vertrag_betrag do not change). This is fixed now.
This commit is contained in:
@@ -175,9 +175,17 @@ $this->load->view(
|
||||
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 betrag = parseFloat(row.getData().betrag);
|
||||
var vertrag_betrag = parseFloat(row.getData().vertrag_betrag);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Formats the color of the rows depending on their status
|
||||
- orange: geaendert
|
||||
@@ -186,7 +194,8 @@ $this->load->view(
|
||||
- grey: all other (marks unselectable)
|
||||
*/
|
||||
row.getCells().forEach(function(cell){
|
||||
if (bestellt != null && (betrag != vertrag_betrag))
|
||||
if (bestellt != null && (betrag != vertrag_betrag) ||
|
||||
bestellt != null && stunden != vertrag_stunden)
|
||||
{
|
||||
cell.getElement().classList.add('bg-warning'); // geaenderte
|
||||
}
|
||||
@@ -207,14 +216,23 @@ $this->load->view(
|
||||
|
||||
// Formats row selectable/unselectable
|
||||
function func_selectableCheck(row){
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// only allow to select bestellte && erteilte && nicht geaenderte Lehraufträge
|
||||
return row.getData().bestellt != null && // bestellt
|
||||
row.getData().erteilt != null && // AND erteilt
|
||||
row.getData().akzeptiert == null && // AND nicht akzeptiert
|
||||
betrag == vertrag_betrag; // OR nicht geaenderte
|
||||
betrag == vertrag_betrag &&
|
||||
stunden == vertrag_stunden; // OR nicht geaenderte
|
||||
}
|
||||
|
||||
// Adds column status
|
||||
@@ -241,10 +259,19 @@ $this->load->view(
|
||||
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 betrag = parseFloat(row.getData().betrag);
|
||||
var vertrag_betrag = parseFloat(row.getData().vertrag_betrag);
|
||||
|
||||
if (bestellt != null && (betrag != vertrag_betrag))
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
if ((bestellt != null && betrag != vertrag_betrag) ||
|
||||
(bestellt != null && stunden != vertrag_stunden))
|
||||
{
|
||||
row.getData().status = 'Geändert'; // geaendert
|
||||
}
|
||||
@@ -362,15 +389,24 @@ $this->load->view(
|
||||
var erteilt = cell.getRow().getData().erteilt;
|
||||
var akzeptiert = cell.getRow().getData().akzeptiert;
|
||||
|
||||
var betrag = cell.getRow().getData().betrag;
|
||||
var vertrag_betrag = cell.getRow().getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// commented icons would be so nice to have with fontawsome 5.11...
|
||||
if (bestellt != null && isNaN(vertrag_betrag))
|
||||
{
|
||||
return "<i class='fas fa-user-minus'></i>"; // kein Vertrag
|
||||
}
|
||||
else if (bestellt != null && (betrag != vertrag_betrag))
|
||||
else if (bestellt != null && (betrag != vertrag_betrag) ||
|
||||
bestellt != null && stunden != vertrag_stunden)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_CHANGED; // geaendert
|
||||
// return "<i class='fas fa-user-edit'></i>";
|
||||
@@ -406,19 +442,27 @@ $this->load->view(
|
||||
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 betrag = parseFloat(cell.getRow().getData().betrag);
|
||||
var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
var text = 'Lehrauftrag in Bearbeitung. ';
|
||||
|
||||
if (bestellt != null && erteilt == null && akzeptiert == null
|
||||
&& betrag != vertrag_betrag) // geaendert (when never erteilt before)
|
||||
&& (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) // geaendert (when has been erteilt once)
|
||||
&& (betrag != vertrag_betrag || stunden != vertrag_stunden)) // geaendert (when has been erteilt once)
|
||||
{
|
||||
text += 'Wartet auf erneute Erteilung.';
|
||||
return text;
|
||||
|
||||
@@ -25,6 +25,7 @@ SELECT
|
||||
stunden,
|
||||
betrag,
|
||||
vertrag_id,
|
||||
vertrag_stunden,
|
||||
vertrag_betrag,
|
||||
mitarbeiter_uid,
|
||||
bestellt,
|
||||
@@ -138,6 +139,7 @@ FROM
|
||||
TRUNC(lema.semesterstunden, 1) AS "stunden",
|
||||
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
vertragsstunden AS "vertrag_stunden",
|
||||
vertrag.betrag AS "vertrag_betrag",
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
@@ -248,6 +250,7 @@ FROM
|
||||
TRUNC(pb.stunden, 1) AS "stunden",
|
||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
vertragsstunden AS "vertrag_stunden",
|
||||
vertrag.betrag AS "vertrag_betrag"
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer pb
|
||||
@@ -305,6 +308,7 @@ $filterWidgetArray = array(
|
||||
'Stunden',
|
||||
'Betrag',
|
||||
'Vertrag-ID',
|
||||
'Vertrag-Stunden',
|
||||
'Vertrag-Betrag',
|
||||
'UID',
|
||||
'Bestellt',
|
||||
@@ -371,6 +375,7 @@ $filterWidgetArray = array(
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"},
|
||||
width: "8%"},
|
||||
vertrag_id: {visible: false},
|
||||
vertrag_stunden: {visible: false},
|
||||
vertrag_betrag: {visible: false},
|
||||
mitarbeiter_uid: {visible: false},
|
||||
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
|
||||
|
||||
@@ -191,15 +191,6 @@ $this->load->view(
|
||||
]
|
||||
}
|
||||
|
||||
// Filters geaenderte
|
||||
function filter_showChanged(data){
|
||||
|
||||
// Filters geaenderte from status bestellt on
|
||||
return data.personalnummer >= 0 && // NOT dummy lector AND
|
||||
data.bestellt != null && // bestellt AND
|
||||
data.betrag != data.vertrag_betrag; // geaendert
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Tabulator table format functions
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
@@ -216,8 +207,16 @@ $this->load->view(
|
||||
var erteilt = row.getData().erteilt;
|
||||
var akzeptiert = row.getData().akzeptiert;
|
||||
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Formats the color of the rows depending on their status
|
||||
@@ -232,7 +231,9 @@ $this->load->view(
|
||||
{
|
||||
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
|
||||
else if (bestellt != null && (betrag != vertrag_betrag) ||
|
||||
bestellt != null && stunden != vertrag_stunden &&
|
||||
!row._row.element.classList.contains('tabulator-calcs')) // exclude calculation rows
|
||||
{
|
||||
cell.getElement().classList.add('bg-warning'); // geaenderte
|
||||
}
|
||||
@@ -255,14 +256,23 @@ $this->load->view(
|
||||
function func_selectableCheck(row){
|
||||
var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null);
|
||||
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// only allow to select bestellte Lehraufträge
|
||||
return !is_dummy && // NOT dummy lector
|
||||
row.getData().bestellt != null && // AND NOT neue
|
||||
row.getData().erteilt == null && // AND bestellt
|
||||
betrag == vertrag_betrag; // AND nicht geändert
|
||||
betrag == vertrag_betrag &&
|
||||
stunden == vertrag_stunden; // AND nicht geändert
|
||||
}
|
||||
|
||||
// Adds column status
|
||||
@@ -289,10 +299,19 @@ $this->load->view(
|
||||
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 betrag = parseFloat(row.getData().betrag);
|
||||
var vertrag_betrag = parseFloat(row.getData().vertrag_betrag);
|
||||
|
||||
if (bestellt != null && (betrag != vertrag_betrag))
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
if ((bestellt != null && betrag != vertrag_betrag) ||
|
||||
(bestellt != null && stunden != vertrag_stunden))
|
||||
{
|
||||
row.getData().status = 'Geändert'; // geaendert
|
||||
}
|
||||
@@ -373,8 +392,8 @@ $this->load->view(
|
||||
$('#filterTabulator').tabulator('getRows', true)
|
||||
.filter(row => row.getData().personalnummer >= 0 && // NOT dummies
|
||||
row.getData().bestellt != null && // AND bestellt
|
||||
row.getData().erteilt == null && // AND NOT erteilt
|
||||
row.getData().betrag == row.getData().vertrag_betrag) // AND NOT geaendert
|
||||
row.getData().erteilt == null && // AND NOT erteilt
|
||||
row.getData().status != 'Geändert') // AND NOT geaendert
|
||||
.forEach((row => row.select()));
|
||||
}
|
||||
|
||||
@@ -402,15 +421,24 @@ $this->load->view(
|
||||
var erteilt = cell.getRow().getData().erteilt;
|
||||
var akzeptiert = cell.getRow().getData().akzeptiert;
|
||||
|
||||
var betrag = cell.getRow().getData().betrag;
|
||||
var vertrag_betrag = cell.getRow().getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// commented icons would be so nice to have with fontawsome 5.11...
|
||||
if (is_dummy)
|
||||
{
|
||||
return "<i class='fa fa-user-secret'></i>"; // dummy lector
|
||||
}
|
||||
else if (bestellt != null && (betrag != vertrag_betrag))
|
||||
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 "<i class='fas fa-user-edit'></i>";
|
||||
@@ -448,8 +476,20 @@ $this->load->view(
|
||||
var erteilt = cell.getRow().getData().erteilt;
|
||||
var akzeptiert = cell.getRow().getData().akzeptiert;
|
||||
|
||||
var betrag = cell.getRow().getData().betrag;
|
||||
var vertrag_betrag = cell.getRow().getData().vertrag_betrag;
|
||||
var betrag = parseFloat(cell.getRow().getData().betrag);
|
||||
var stunden = parseFloat(cell.getRow().getData().stunden);
|
||||
|
||||
var vertrag_betrag = parseFloat(cell.getRow().getData().vertrag_betrag);
|
||||
var vertrag_stunden = parseFloat(cell.getRow().getData().vertrag_stunden);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
if (isNaN(vertrag_stunden)){
|
||||
vertrag_stunden = 0;
|
||||
}
|
||||
|
||||
var text = 'Lehrauftragstunden/-stundensatz geändert.';
|
||||
text += "\n";
|
||||
@@ -458,11 +498,13 @@ $this->load->view(
|
||||
{
|
||||
return 'Neuer Lehrauftrag. Ohne Lektor verplant.'
|
||||
}
|
||||
else if (bestellt != null && erteilt == null && betrag != vertrag_betrag) // geaendert (when never erteilt before)
|
||||
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.';
|
||||
}
|
||||
else if (bestellt != null && erteilt != null && betrag != vertrag_betrag) // geaendert (when has been erteilt once)
|
||||
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.';
|
||||
}
|
||||
@@ -571,7 +613,13 @@ $(function() {
|
||||
// Show only rows with dummy lectors
|
||||
$("#show-changed").click(function(){
|
||||
// needs custom filter to compare fields betrag and vertrag_betrag
|
||||
$('#filterTabulator').tabulator('setFilter', filter_showChanged);
|
||||
$('#filterTabulator').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
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
// Set png-icons into filter-buttons
|
||||
|
||||
@@ -27,6 +27,7 @@ SELECT
|
||||
stunden,
|
||||
betrag,
|
||||
vertrag_id,
|
||||
vertrag_stunden,
|
||||
vertrag_betrag,
|
||||
mitarbeiter_uid,
|
||||
bestellt,
|
||||
@@ -144,6 +145,7 @@ FROM
|
||||
TRUNC(lema.semesterstunden, 1) AS "stunden",
|
||||
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
vertragsstunden AS "vertrag_stunden",
|
||||
vertrag.betrag AS "vertrag_betrag",
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
@@ -257,6 +259,7 @@ FROM
|
||||
TRUNC(pb.stunden, 1) AS "stunden",
|
||||
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
vertragsstunden AS "vertrag_stunden",
|
||||
vertrag.betrag AS "vertrag_betrag"
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer pb
|
||||
@@ -316,6 +319,7 @@ $filterWidgetArray = array(
|
||||
'Stunden',
|
||||
'Betrag',
|
||||
'Vertrag-ID',
|
||||
'Vertrag-Stunden',
|
||||
'Vertrag-Betrag',
|
||||
'UID',
|
||||
'Bestellt',
|
||||
@@ -390,6 +394,7 @@ $filterWidgetArray = array(
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}},
|
||||
vertrag_id: {visible: false},
|
||||
vertrag_stunden: {visible: false},
|
||||
vertrag_betrag: {visible: false},
|
||||
mitarbeiter_uid: {visible: false},
|
||||
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
|
||||
|
||||
@@ -196,15 +196,6 @@ $this->load->view(
|
||||
]);
|
||||
}
|
||||
|
||||
// Filters geaenderte
|
||||
function filter_showChanged(data){
|
||||
|
||||
// Filters geaenderte from status bestellt on
|
||||
return data.personalnummer >= 0 && // NOT dummy lector AND
|
||||
data.bestellt != null && // bestellt AND
|
||||
data.betrag != data.vertrag_betrag; // geaendert
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// Tabulator table format functions
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
@@ -221,8 +212,16 @@ $this->load->view(
|
||||
var erteilt = row.getData().erteilt;
|
||||
var akzeptiert = row.getData().akzeptiert;
|
||||
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Formats the color of the rows depending on their status
|
||||
@@ -237,7 +236,9 @@ $this->load->view(
|
||||
{
|
||||
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
|
||||
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
|
||||
}
|
||||
@@ -260,13 +261,22 @@ $this->load->view(
|
||||
function func_selectableCheck(row){
|
||||
var is_dummy = (row.getData().personalnummer <= 0 && row.getData().personalnummer != null);
|
||||
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
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
|
||||
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
|
||||
@@ -293,10 +303,19 @@ $this->load->view(
|
||||
var erteilt = row.getData().erteilt;
|
||||
var akzeptiert = row.getData().akzeptiert;
|
||||
|
||||
var betrag = row.getData().betrag;
|
||||
var vertrag_betrag = row.getData().vertrag_betrag;
|
||||
var stunden = parseFloat(row.getData().stunden);
|
||||
var vertrag_stunden = parseFloat(row.getData().vertrag_stunden);
|
||||
|
||||
if (bestellt != null && (betrag != vertrag_betrag))
|
||||
var betrag = parseFloat(row.getData().betrag);
|
||||
var vertrag_betrag = parseFloat(row.getData().vertrag_betrag);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
if ((bestellt != null && betrag != vertrag_betrag) ||
|
||||
(bestellt != null && stunden != vertrag_stunden))
|
||||
{
|
||||
row.getData().status = 'Geändert'; // geaendert
|
||||
}
|
||||
@@ -380,7 +399,7 @@ $this->load->view(
|
||||
.filter(row => row.getData().personalnummer >= 0 && // NOT dummies
|
||||
row.getData().bestellt == null || // AND neu
|
||||
row.getData().bestellt != null && // OR (bestellt
|
||||
row.getData().betrag != row.getData().vertrag_betrag) // AND geaendert)
|
||||
row.getData().status == 'Geändert') // AND geaendert)
|
||||
.forEach((row => row.select()));
|
||||
}
|
||||
|
||||
@@ -408,8 +427,16 @@ $this->load->view(
|
||||
var erteilt = cell.getRow().getData().erteilt;
|
||||
var akzeptiert = cell.getRow().getData().akzeptiert;
|
||||
|
||||
var betrag = cell.getRow().getData().betrag;
|
||||
var vertrag_betrag = cell.getRow().getData().vertrag_betrag;
|
||||
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);
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// commented icons would be so nice to have with fontawsome 5.11...
|
||||
if (is_dummy)
|
||||
@@ -420,7 +447,8 @@ $this->load->view(
|
||||
{
|
||||
return "<i class='fa fa-user-minus'></i>"; // kein Vertrag
|
||||
}
|
||||
else if (bestellt != null && (betrag != vertrag_betrag))
|
||||
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 "<i class='fas fa-user-edit'></i>";
|
||||
@@ -459,12 +487,17 @@ $this->load->view(
|
||||
|
||||
var betrag = parseFloat(cell.getRow().getData().betrag);
|
||||
var stunden = parseFloat(cell.getRow().getData().stunden);
|
||||
var stundensatz = parseFloat(cell.getRow().getData().stundensatz);
|
||||
var stundensatz = 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;
|
||||
|
||||
if (isNaN(betrag))
|
||||
{
|
||||
betrag = 0;
|
||||
}
|
||||
|
||||
// Calculate vertrag stundensatz
|
||||
if (vertrag_stunden != 0)
|
||||
{
|
||||
@@ -480,7 +513,8 @@ $this->load->view(
|
||||
{
|
||||
return 'Neuer Lehrauftrag. Wartet auf Bestellung.'
|
||||
}
|
||||
else if (betrag != vertrag_betrag) // geaendert
|
||||
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";
|
||||
@@ -579,7 +613,13 @@ $(function() {
|
||||
// Show only rows with geaenderte lectors
|
||||
$("#show-changed").click(function(){
|
||||
// needs custom filter to compare fields betrag and vertrag_betrag
|
||||
$('#filterTabulator').tabulator('setFilter', filter_showChanged);
|
||||
$('#filterTabulator').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
|
||||
|
||||
@@ -477,6 +477,7 @@ $filters = array(
|
||||
{"name": "stunden"},
|
||||
{"name": "betrag"},
|
||||
{"name": "vertrag_id"},
|
||||
{"name": "vertrag_stunden"},
|
||||
{"name": "vertrag_betrag"},
|
||||
{"name": "mitarbeiter_uid"},
|
||||
{"name": "bestellt"},
|
||||
@@ -519,6 +520,7 @@ $filters = array(
|
||||
{"name": "stunden"},
|
||||
{"name": "betrag"},
|
||||
{"name": "vertrag_id"},
|
||||
{"name": "vertrag_stunden"},
|
||||
{"name": "vertrag_betrag"},
|
||||
{"name": "mitarbeiter_uid"},
|
||||
{"name": "bestellt"},
|
||||
|
||||
Reference in New Issue
Block a user