Added GUI for DUMMY lectors in Lehrauftrag erteilen

. dummy status icon/tooltip/formats
. dummy filter button
This commit is contained in:
Cris
2019-10-16 11:57:39 +02:00
committed by hainberg
parent 5ccd23f68d
commit ed2a029139
@@ -105,6 +105,7 @@ $this->load->view(
<button id="show-ordered" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Nur bestellte anzeigen"><i class='fa fa-check-square-o'></i></button>
<button id="show-approved" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen"><i class='fa fa-check-square'></i></button>
<button id="show-accepted" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Nur akzeptierte anzeigen"><i class='fa fa-handshake-o'></i></button>
<button id="show-dummies" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Nur verplante ohne Lektor anzeigen (Dummies)"><i class='fa fa-user-secret'></i></button>
</div>
</div>
</div>
@@ -157,17 +158,25 @@ $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
- default (white): bestellte
- blue: dummy lectors
- bold: geaendert
- default (white) : bestellte
- 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
{
row._row.getElement().style['font-weight'] = 'bold';
}
@@ -188,11 +197,14 @@ $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 bestellte Lehraufträge
return row.getData().bestellt != null && // nicht neue
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
}
@@ -264,6 +276,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;
@@ -273,7 +286,11 @@ $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 && (betrag != vertrag_betrag))
if (is_dummy)
{
return "<i class='fa fa-user-secret'></i>"; // dummy lector
}
else if (bestellt != null && (betrag != vertrag_betrag))
{
return "<i class='fa fa-pencil'></i>"; // geaendert
// return "<i class='fas fa-user-edit'></i>"; // geaendert
@@ -305,6 +322,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 bestellt = cell.getRow().getData().bestellt;
var erteilt = cell.getRow().getData().erteilt;
var akzeptiert = cell.getRow().getData().akzeptiert;
@@ -315,7 +334,11 @@ $this->load->view(
var text = 'Lehrauftragsstunden und/oder -betrag wurde/n geändert.';
text += "\n";
if (bestellt != null && erteilt == null && betrag != vertrag_betrag)
if (is_dummy)
{
return 'Neuer Lehrauftrag. Ohne Lektor verplant.'
}
else if (bestellt != null && erteilt == null && betrag != vertrag_betrag)
{
return text += 'Erteilen möglich, wenn die Änderungen erneut bestellt worden sind.';
}
@@ -349,10 +372,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}
@@ -393,6 +418,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},
]
);
});
$("#download-cvs").click(function(){
$('#filterTabulator').tabulator("download", "csv", "data.csv");
});