mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Added/Adapted JS functions for 'Stornierte Lehrauftraege'
- redrawed tabulator when opening the collapsed module. Must be done to display stornierte lehrauftraege. - generated storniert-tooltip - generated storniert-status icon - adapted selectableCheck to leave stornierte unselectable
This commit is contained in:
@@ -17,7 +17,7 @@ const COLOR_LIGHTGREY = "#f5f5f5";
|
||||
const ICON_LEHRAUFTRAG_ORDERED = '<img src="../../../public/images/icons/fa-user-tag.png" style="height: 30px; width: 30px; margin: -6px;">';
|
||||
const ICON_LEHRAUFTRAG_APPROVED = '<img src="../../../public/images/icons/fa-user-check.png" style="height: 30px; width: 30px; margin: -6px;">';
|
||||
const ICON_LEHRAUFTRAG_CHANGED = '<img src="../../../public/images/icons/fa-user-edit.png" style="height: 30px; width: 30px; margin: -6px;">';
|
||||
|
||||
const ICON_LEHRAUFTRAG_CANCELLED = '<img src="../../../public/images/icons/fa-user-times.png" style="height: 30px; width: 30px; margin: -6px;">';
|
||||
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
// 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: "<i class='fa fa-user-o'></i>",
|
||||
field: "status",
|
||||
width:40,
|
||||
align:"center",
|
||||
downloadTitle: 'Status',
|
||||
formatter: status_formatter,
|
||||
tooltip: status_tooltip
|
||||
}, true
|
||||
);
|
||||
// Add status column to table
|
||||
table.addColumn(
|
||||
{
|
||||
title: "<i class='fa fa-user-o'></i>",
|
||||
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 "<i class='fas fa-user-minus'></i>"; // kein Vertrag
|
||||
}
|
||||
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>";
|
||||
}
|
||||
else if (bestellt == null && erteilt == null && akzeptiert == null)
|
||||
{
|
||||
return "<i class='fa fa-user-plus'></i>"; // neu
|
||||
}
|
||||
else if (bestellt != null && erteilt == null && akzeptiert == null)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_ORDERED; // bestellt
|
||||
// return "<i class='fa fa-user-tag'></i>";
|
||||
}
|
||||
else if (bestellt != null && erteilt != null && akzeptiert == null)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_APPROVED; // erteilt
|
||||
// return "<i class='fas fa-user-check'></i>";
|
||||
}
|
||||
else if (bestellt != null && erteilt != null && akzeptiert != null)
|
||||
{
|
||||
return "<i class='fa fa-handshake-o'></i>"; // akzeptiert
|
||||
// return "<i class='fas fa-user-graduate'></i>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<i class='fa fa-user'></i>"; // default
|
||||
}
|
||||
// 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) ||
|
||||
bestellt != null && stunden != vertrag_stunden)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_CHANGED; // geaendert
|
||||
// return "<i class='fas fa-user-edit'></i>";
|
||||
}
|
||||
else if (bestellt == null && erteilt == null && akzeptiert == null && !is_storniert)
|
||||
{
|
||||
return "<i class='fa fa-user-plus'></i>"; // neu
|
||||
}
|
||||
else if (bestellt != null && erteilt == null && akzeptiert == null)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_ORDERED; // bestellt
|
||||
// return "<i class='fa fa-user-tag'></i>";
|
||||
}
|
||||
else if (bestellt != null && erteilt != null && akzeptiert == null)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_APPROVED; // erteilt
|
||||
// return "<i class='fas fa-user-check'></i>";
|
||||
}
|
||||
else if (bestellt != null && erteilt != null && akzeptiert != null)
|
||||
{
|
||||
return "<i class='fa fa-handshake-o'></i>"; // akzeptiert
|
||||
// return "<i class='fas fa-user-graduate'></i>";
|
||||
}
|
||||
else if (is_storniert)
|
||||
{
|
||||
return ICON_LEHRAUFTRAG_CANCELLED; // storniert
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<i class='fa fa-user'></i>"; // 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')
|
||||
|
||||
Reference in New Issue
Block a user