Merge branch 'master' into feature-5491/UDFWidget_add_new_features

This commit is contained in:
Paolo
2020-01-28 11:03:51 +01:00
913 changed files with 3963 additions and 3173 deletions
@@ -0,0 +1,39 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'Lehrauftrag bestellen',
'jquery' => true,
'bootstrap' => true,
'fontawesome' => true,
'sbadmintemplate' => true,
'ajaxlib' => true,
'navigationwidget' => true,
)
);
?>
<body>
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
Lehraufträge - Lehrendenübersicht
</h3>
</div>
</div>
<div>
<iframe src="<?php echo base_url() . '/addons/reports/cis/vorschau.php?statistik_kurzbz=LehrauftraegeOeUebersicht'; ?>"
style="height: 950px; width: 100%; border: none">
</iframe>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -14,7 +14,6 @@ $this->load->view(
'ajaxlib' => true,
'dialoglib' => true,
'tablewidget' => true,
'navigationwidget' => true,
'phrases' => array(
'global' => array('lehrauftraegeAnnehmen'),
),
@@ -48,23 +47,64 @@ $this->load->view(
<div class="well">
<h4>Wie nehme ich Lehraufträge an?</h4>
<div class="panel panel-body">
<p>
Sobald Ihnen ein oder mehrere Lehraufträge erteilt wurden, können Sie diese annehmen.
<ol>
<li>Klicken Sie unten auf das Status-Icon 'Nur erteilte anzeigen' oder 'Alle anzeigen'</li>
<li>Wählen Sie einzelne Lehraufträge mit Klick auf die Zeilen oder alle über den Button 'Alle auswählen'.</li>
<li>Wählen Sie die Lehraufträge, die Sie annehmen möchten, selbst oder alle über den Button 'Alle auswählen'.</li>
<li>Geben Sie Ihr CIS-Passwort ein und klicken auf Lehrauftrag annehmen.</li>
</ol>
</p>
</div>
<br>
<h4>Warum kann ich manche Lehraufträge nicht auswählen?</h4>
<div class="panel panel-body">
<p>
Nur Lehraufträge mit dem Status 'erteilt' können gewählt werden.<br>
Angenommene Lehraufträge oder Lehraufträge in Bearbeitung werden nur zu Ihrer Information angezeigt.
</p>
</div>
<br>
<h4>Filter</h4>
<div class="panel panel-body">
<div class="col-xs-12 col-md-8 col-lg-6">
<table class="table table-bordered">
<tr class="text-center">
<td class="col-xs-1"><i class='fa fa-users'></i></td>
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-tag.png" style="height: 30px; width: 30px;"></td>
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-check.png" style="height: 30px; width: 30px;"></td>
<td class="col-xs-1"><i class='fa fa-handshake-o'></i></td>
</tr>
<tr class="text-center">
<td><b>Alle</b><br>Alle Lehraufträge mit jedem Status</td>
<td><b>Bestellt</b><br>Nur bestellte UND bestellte Lehraufträge, die in Bearbeitung sind</td>
<td><b>Erteilt</b><br>Nur erteilte UND geänderte Lehraufträge, die in Bearbeitung sind</td>
<td><b>Angenommen</b><br>Nur von Ihnen angenommene Lehraufträge</td>
</tr>
</table>
</div>
</div>
<br>
<h4>Auswahl</h4>
<div class="panel panel-body">
<ul>
<li>Einzeln auswählen: <kbd>Strg</kbd> + Klick auf einzelne Zeile(n)</li>
<li>Bereich auswählen: <kbd>Shift</kbd> + Klick auf Anfangs- und Endzeile</li>
<li>Alle auswählen: Button 'Alle auswählen'</li>
</ul>
</div>
<br>
<h4>Ansicht</h4>
<div class="panel panel-body">
<b>Spaltenbreite verändern</b>
<p>
Um die Spaltenbreite zu verändern, fährt man im Spaltenkopf langsam mit dem Mauszeiger auf
den rechten Rand der entprechenden Spalte. <br>
Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, wird die Maustaste geklickt und
mit gedrückter Maustaste die Spalte nach rechts erweitert oder nach links verkleinert.
</p>
</div>
<br>
</div>
</div>
</div>
@@ -92,7 +132,7 @@ $this->load->view(
</div>
</div>
<!-- tabulator data table -->
<!-- tabulator data table 'Lehrauftraege annehmen'-->
<div class="row">
<div class="col-lg-12">
<?php $this->load->view('lehre/lehrauftrag/acceptLehrauftragData.php'); ?>
@@ -105,11 +145,24 @@ $this->load->view(
<div class="col-xs-6">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group" role="group">
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="Alle anzeigen"><i class='fa fa-users'></i></button>
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="Nur bestellte anzeigen"></button><!-- png img set in javascript -->
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen"></button><!-- png img set in javascript -->
<button id="show-accepted" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="Nur angenommene anzeigen"><i class='fa fa-handshake-o'></i></button>
<button id="show-all" class="btn btn-default btn-lehrauftrag active focus" type="button"
data-toggle="tooltip" data-placement="left" title="Alle anzeigen"><i class='fa fa-users'></i>
</button>
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button"
data-toggle="tooltip" data-placement="left" title="Nur bestellte anzeigen">
</button><!-- png img set in javascript -->
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button"
data-toggle="tooltip" data-placement="left" title="Nur erteilte anzeigen">
</button><!-- png img set in javascript -->
<button id="show-accepted" class="btn btn-default btn-lehrauftrag" type="button"
data-toggle="tooltip" data-placement="left" title="Nur angenommene anzeigen"><i class='fa fa-handshake-o'></i>
</button>
</div>
<button id="show-cancelled" class="btn btn-default btn-lehrauftrag" type="button" style="margin-left: 20px;"
data-toggle="collapse" data-placement="left" title="Stornierte anzeigen"
data-target ="#collapseCancelledLehrauftraege" aria-expanded="false" aria-controls="collapseExample">
</button><!-- png img set in javascript -->
</div>
</div>
<div class="col-md-offset-2 col-md-4 col-xs-6">
@@ -121,7 +174,28 @@ $this->load->view(
</div>
</div>
</div>
<br>
<br>
<!-- collapse module with data table 'Stornierte Lehrauftraege' (collapsed by default until opened on buttonclick)-->
<div class="row">
<div class="col-lg-12 collapse" id="collapseCancelledLehrauftraege">
<h4>
<?php echo ucfirst($this->p->t('global', 'stornierteLehrauftraege')); ?>:
<small>
<abbr title="Anderes Studiensemester? Bitte oben im Dropdown wählen." >
<?php echo $studiensemester_selected ?>
</abbr>
</small>
</h4>
<div class="row">
<div class="col-lg-12">
<?php $this->load->view('lehre/lehrauftrag/cancelledLehrauftragData.php'); ?>
</div>
</div>
<br>
</div>
</div>
</div><!-- end container -->
</div><!-- end page-wrapper -->
<br>
@@ -15,11 +15,11 @@ SELECT
studiensemester_kurzbz,
studiengang_kz,
stg_typ_kurzbz,
semester,
orgform_kurzbz,
person_id,
typ,
auftrag,
semester,
lv_oe_kurzbz,
gruppe,
stunden,
@@ -296,7 +296,6 @@ $filterWidgetArray = array(
'tableUniqueId' => 'acceptLehrauftrag',
'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren',
'datasetRepresentation' => 'tabulator',
'reloadDataset' => true, // reload query on page refresh
'columnsAliases' => array( // TODO: use phrasen
'Status', // alias for row_index, because row_index is formatted to display the status icons
'LV-Teil',
@@ -305,11 +304,11 @@ $filterWidgetArray = array(
'Studiensemester',
'Studiengang-KZ',
'Studiengang',
'Semester',
'OrgForm',
'Person-ID',
'Typ',
'Auftrag',
'Semester',
'LV- / Projektbezeichnung',
'Organisationseinheit',
'Gruppe',
'Stunden',
@@ -330,6 +329,7 @@ $filterWidgetArray = array(
layout: "fitColumns", // fit columns to width of table
responsiveLayout: "hide", // hide columns that dont fit on the table
movableColumns: true, // allows changing column
placeholder: func_placeholder(),
headerFilterPlaceholder: " ",
index: "row_index", // assign specific column as unique id (important for row indexing)
selectable: true, // allow row selection
@@ -366,17 +366,17 @@ $filterWidgetArray = array(
studiensemester_kurzbz: {visible: false},
studiengang_kz: {visible: false},
stg_typ_kurzbz: {headerFilter:"input", width: "5%"},
semester: {headerFilter:"input"},
orgform_kurzbz: {headerFilter:"input"},
person_id: {visible: false},
typ: {headerFilter:"input", width: "7%"},
auftrag: {headerFilter:"input", width: "23%"},
semester: {headerFilter:"input"},
lv_oe_kurzbz: {headerFilter:"input", width: "12%"},
auftrag: {headerFilter:"input", width: "15%"},
lv_oe_kurzbz: {headerFilter:"input", width: "8%"},
gruppe: {headerFilter:"input", width: "5%"},
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:1}, width: "5%"},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
betrag: {align:"right", width: "6%", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"},
width: "8%"},
@@ -384,9 +384,9 @@ $filterWidgetArray = array(
vertrag_stunden: {visible: false},
vertrag_betrag: {visible: false},
mitarbeiter_uid: {visible: false},
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip, width: "8%"},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip, width: "8%"},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip, width: "8%"},
bestellt_von: {visible: false},
erteilt_von: {visible: false},
akzeptiert_von: {visible: false}
@@ -116,7 +116,7 @@ $this->load->view(
<td><b>Bestellt</b><br>Nur bestellte UND geänderte bestellte Lehraufträge</td>
<td><b>Erteilt</b><br>Nur erteilte UND geänderte erteilte Lehraufträge</td>
<td><b>Angenommen</b><br>Nur vom Lehrenden angenommene Lehraufträge</td>
<td><b>Geändert</b><br>Nur geänderte Lehraufträge, die den Status 'bestellt' oder 'erteilt' haben</td>
<td><b>Geändert</b><br>Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind</td>
<td><b>Dummies</b><br>Nur Lehraufträge, die mit einem Dummylektor angelegt sind</td>
</tr>
</table>
@@ -133,6 +133,18 @@ $this->load->view(
</div>
<br>
<h4>Ansicht</h4>
<div class="panel panel-body">
<b>Spaltenbreite verändern</b>
<p>
Um die Spaltenbreite zu verändern, fährt man im Spaltenkopf langsam mit dem Mauszeiger auf
den rechten Rand der entprechenden Spalte. <br>
Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, wird die Maustaste geklickt und
mit gedrückter Maustaste die Spalte nach rechts erweitert oder nach links verkleinert.
</p>
</div>
<br>
</div>
</div>
</div>
@@ -16,11 +16,11 @@ SELECT
studiensemester_kurzbz,
studiengang_kz,
stg_typ_kurzbz,
semester,
orgform_kurzbz,
person_id,
typ,
auftrag,
semester,
lv_oe_kurzbz,
gruppe,
lektor,
@@ -147,7 +147,7 @@ FROM
WHEN oe.organisationseinheittyp_kurzbz = \'Department\' THEN (\'DEP \' || oe.bezeichnung)
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(person.vorname || \' \' || person.nachname) AS "lektor",
(person.nachname || \' \' || person.vorname) AS "lektor",
TRUNC(lema.semesterstunden, 1) AS "stunden",
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
vertrag_id,
@@ -267,7 +267,7 @@ FROM
ELSE (oe.organisationseinheittyp_kurzbz ||
\' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(vorname || \' \' || nachname) AS "lektor",
(nachname || \' \' || vorname) AS "lektor",
TRUNC(pb.stunden, 1) AS "stunden",
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
vertrag_id,
@@ -304,7 +304,6 @@ $filterWidgetArray = array(
'tableUniqueId' => 'approveLehrauftrag',
'requiredPermissions' => 'lehre/lehrauftrag_erteilen',
'datasetRepresentation' => 'tabulator',
'reloadDataset' => true, // reload query on page refresh
'columnsAliases' => array( // TODO: use phrasen
'Status', // alias for row_index, because row_index is formatted to display the status icons
'Personalnummer',
@@ -315,11 +314,11 @@ $filterWidgetArray = array(
'Studiensemester',
'Studiengang-KZ',
'Studiengang',
'Semester',
'OrgForm',
'Person-ID',
'Typ',
'Auftrag',
'Semester',
'LV- / Projektbezeichnung',
'Organisationseinheit',
'Gruppe',
'Lektor',
@@ -341,6 +340,7 @@ $filterWidgetArray = array(
layout: "fitColumns", // fit columns to width of table
responsiveLayout: "hide", // hide columns that dont fit on the table
movableColumns: true, // allows changing column
placeholder: func_placeholder(),
headerFilterPlaceholder: " ",
groupBy:"lehrveranstaltung_id",
groupToggleElement:"header", //toggle group on click anywhere in the group header
@@ -385,28 +385,28 @@ $filterWidgetArray = array(
projektarbeit_id: {visible: false},
studiensemester_kurzbz: {headerFilter:"input"},
studiengang_kz: {visible: false},
stg_typ_kurzbz: {visible: false},
stg_typ_kurzbz: {headerFilter:"input", width: "5%"},
semester: {headerFilter:"input"},
orgform_kurzbz: {headerFilter:"input"},
person_id: {visible: false},
typ: {headerFilter:"input"},
auftrag: {headerFilter:"input", width:"20%"},
semester: {headerFilter:"input"},
lv_oe_kurzbz: {headerFilter:"input"},
gruppe: {headerFilter:"input"},
lektor: {headerFilter:"input"},
lektor: {headerFilter:"input", widthGrow: 3},
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:1}},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
betrag: {align:"right", width: "8%", formatter: form_formatNulltoStringNumber,
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},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip, width: "8%"},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip, width: "8%"},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip, width: "8%"},
bestellt_von: {visible: false},
erteilt_von: {visible: false},
akzeptiert_von: {visible: false},
@@ -0,0 +1,104 @@
<?php
$STUDIENSEMESTER = $studiensemester_selected;
$UID = getAuthUID();
$query = '
SELECT
vertrag_id,
vertragsstunden_studiensemester_kurzbz,
vertragstyp_kurzbz,
bezeichnung,
vertragsstunden,
betrag,
datum AS "storniert",
(
SELECT
vorname || \' \' || nachname
FROM
public.tbl_person
JOIN public.tbl_benutzer benutzer USING (person_id)
WHERE benutzer.uid = (
SELECT
insertvon
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE vertragsstatus_kurzbz = \'storno\'
AND vertrag_id = vvs.vertrag_id
)
) AS "storniert_von",
(
SELECT
vertragsstatus_kurzbz
FROM
lehre.tbl_vertrag_vertragsstatus
WHERE vertrag_id = vvs.vertrag_id
AND vertragsstatus_kurzbz != \'storno\'
ORDER BY datum DESC
LIMIT 1
) AS "letzterStatus_vorStorniert"
FROM lehre.tbl_vertrag_vertragsstatus vvs
JOIN lehre.tbl_vertrag USING (vertrag_id)
WHERE
/* filter lector */
uid = \'' . $UID . '\'
/* filter studiensemester */
AND vertragsstunden_studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
/* filter cancelled only */
AND vertragsstatus_kurzbz = \'storno\'
';
$tableWidgetArray = array(
'query' => $query,
'tableUniqueId' => 'cancelledLehrauftrag',
'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren',
'datasetRepresentation' => 'tabulator',
'columnsAliases' => array( // TODO: use phrasen
'Status',
'Studiensemester',
'Typ',
'LV- / Projektbezeichnung',
'Stunden',
'Betrag',
'Storniert am'
),
'datasetRepOptions' => '{
layout: "fitColumns", // fit columns to width of table
responsiveLayout: "hide", // hide columns that dont fit on the table
movableColumns: true, // allows changing column
placeholder: func_placeholder(),
rowFormatter:function(row){
func_rowFormatter(row);
},
selectableCheck: function(row){
return func_selectableCheck(row);
},
renderComplete:function(){
func_renderComplete(this);
},
tableBuilt: function(){
func_tableBuilt(this);
}
}', // tabulator properties
'datasetRepFieldsDefs' => '{
vertrag_id: {visible: false},
vertragsstunden_studiensemester_kurzbz: {visible: false},
vertragstyp_kurzbz: {widthGrow: 2},
bezeichnung: {widthGrow: 2},
vertragsstunden: {
align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
bottomCalc:"sum", bottomCalcParams:{precision:1}
},
betrag: {
align:"right", formatter: form_formatNulltoStringNumber,
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}
},
storniert: {align:"center", mutator: mut_formatStringDate, tooltip: storniert_tooltip},
storniert_von: {visible: false},
letzterStatus_vorStorniert: {visible: false}
}', // col properties
);
echo $this->widgetlib->widget('TableWidget', $tableWidgetArray);
?>
@@ -86,6 +86,7 @@ $this->load->view(
<h4>Geänderte Lehraufträge</h4>
<div class="panel panel-body">
Im FAS können Änderungen an Stunden/Stundensatz eines Lehrauftrags durchgeführt werden, solange dieser nicht vom Lehrenden angenommen wurde.<br>
Diese müssen dann erneut bestellt werden.<br><br>
Wenn Änderungen an bereits bestellten oder erteilten Lehraufträgen vorgenommen wurden, werden diese in einem tooltip angezeigt.<br>
Fahren Sie dazu mit der Maus über dem Status-Icon am Beginn der Zeile.<br>
</div>
@@ -117,7 +118,7 @@ $this->load->view(
<td><b>Bestellt</b><br>Nur bestellte UND geänderte bestellte Lehraufträge</td>
<td><b>Erteilt</b><br>Nur erteilte UND geänderte erteilte Lehraufträge</td>
<td><b>Angenommen</b><br>Nur vom Lehrenden angenommene Lehraufträge</td>
<td><b>Geändert</b><br>Nur geänderte Lehraufträge, die den Status 'bestellt' oder 'erteilt' haben</td>
<td><b>Geändert</b><br>Nur Lehraufträge, die geändert wurden, nachdem sie bereits bestellt oder erteilt worden sind</td>
<td><b>Dummies</b><br>Nur Lehraufträge, die mit einem Dummylektor angelegt sind</td>
</tr>
</table>
@@ -134,6 +135,18 @@ $this->load->view(
</div>
<br>
<h4>Ansicht</h4>
<div class="panel panel-body">
<b>Spaltenbreite verändern</b>
<p>
Um die Spaltenbreite zu verändern, fährt man im Spaltenkopf langsam mit dem Mauszeiger auf
den rechten Rand der entprechenden Spalte. <br>
Sobald sich der Mauszeiger in einen Doppelpfeil verwandelt, wird die Maustaste geklickt und
mit gedrückter Maustaste die Spalte nach rechts erweitert oder nach links verkleinert.
</p>
</div>
<br>
</div>
</div>
</div>
@@ -16,11 +16,41 @@ SELECT
studiensemester_kurzbz,
studiengang_kz,
stg_typ_kurzbz,
semester,
/* get valid STPL(s), to which the lehrveranstaltung is assigned to (can be more) */
/* therefore join over lv, studiensemester and semester */
(
SELECT
string_agg(bezeichnung, \', \')
FROM (
SELECT stpl.bezeichnung
FROM lehre.tbl_studienplan stpl
JOIN lehre.tbl_studienplan_semester stplsem USING (studienplan_id)
JOIN lehre.tbl_studienplan_lehrveranstaltung stpllv USING (studienplan_id)
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheit le USING (lehrveranstaltung_id)
WHERE
/* join over lv of the le */
le.lehreinheit_id = auftraege.lehreinheit_id
AND stpl.aktiv
/* then restrict on stpl of les studiensemester */
AND stplsem.studiensemester_kurzbz = le.studiensemester_kurzbz
/* then restrict on stpl of lvs semester*/
AND stplsem.semester = stpllv.semester
/* then restrict on most recent inserted studienplan of the lv */
AND studienplan_id = (
SELECT stpllv.studienplan_id
FROM lehre.tbl_studienplan_lehrveranstaltung
WHERE lehrveranstaltung_id = lv.lehrveranstaltung_id
ORDER BY insertamum DESC
LIMIT 1
)
) AS tmp_stpl
) AS "studienplan_bezeichnung",
orgform_kurzbz,
person_id,
typ,
auftrag,
semester,
lv_oe_kurzbz,
gruppe,
lektor,
@@ -148,7 +178,7 @@ FROM
WHEN oe.organisationseinheittyp_kurzbz = \'Department\' THEN (\'DEP \' || oe.bezeichnung)
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(person.vorname || \' \' || person.nachname) AS "lektor",
(person.nachname || \' \' || person.vorname) AS "lektor",
TRUNC(lema.semesterstunden, 1) AS "stunden",
lema.stundensatz,
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
@@ -269,7 +299,7 @@ FROM
ELSE (oe.organisationseinheittyp_kurzbz ||
\' \' || oe.bezeichnung)
END AS "lv_oe_kurzbz",
(vorname || \' \' || nachname) AS "lektor",
(nachname || \' \' || vorname) AS "lektor",
TRUNC(pb.stunden, 1) AS "stunden",
pb.stundensatz,
TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag",
@@ -306,7 +336,6 @@ $filterWidgetArray = array(
'tableUniqueId' => 'orderLehrauftrag',
'requiredPermissions' => 'lehre/lehrauftrag_bestellen',
'datasetRepresentation' => 'tabulator',
'reloadDataset' => true, // reload query on page refresh
'columnsAliases' => array( // TODO: use phrasen
'Status', // alias for row_index, because row_index is formatted to display the status icons
'Personalnummer',
@@ -317,11 +346,12 @@ $filterWidgetArray = array(
'Studiensemester',
'Studiengang-KZ',
'Studiengang',
'Semester',
'Studienplan',
'OrgForm',
'Person-ID',
'Typ',
'Auftrag',
'Semester',
'LV- / Projektbezeichnung',
'Organisationseinheit',
'Gruppe',
'Lektor',
@@ -344,6 +374,7 @@ $filterWidgetArray = array(
layout:"fitColumns", // fit columns to width of table
responsiveLayout:"hide", // hide columns that dont fit on the table
movableColumns: true, // allows changing column
placeholder: func_placeholder(),
headerFilterPlaceholder: " ",
groupBy:"lehrveranstaltung_id",
groupToggleElement:"header", //toggle group on click anywhere in the group header
@@ -389,20 +420,21 @@ $filterWidgetArray = array(
projektarbeit_id: {visible: false},
studiensemester_kurzbz: {headerFilter:"input"},
studiengang_kz: {visible: false},
stg_typ_kurzbz: {visible: false},
stg_typ_kurzbz: {headerFilter:"input", width: "5%"},
semester: {headerFilter:"input"},
studienplan_bezeichnung: {headerFilter:"input", width: "7%"},
orgform_kurzbz: {headerFilter:"input"},
person_id: {visible: false},
typ: {headerFilter:"input"},
auftrag: {headerFilter:"input", width:"20%"},
semester: {headerFilter:"input"},
auftrag: {headerFilter:"input", width:"15%"},
lv_oe_kurzbz: {headerFilter:"input"},
gruppe: {headerFilter:"input"},
lektor: {headerFilter:"input"},
lektor: {headerFilter:"input", widthGrow: 3},
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:1}},
stundensatz: {visible: false},
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
betrag: {align:"right", width: "8%", formatter: form_formatNulltoStringNumber,
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money",
bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}},
@@ -410,12 +442,12 @@ $filterWidgetArray = array(
vertrag_stunden: {visible: false},
vertrag_betrag: {visible: false},
mitarbeiter_uid: {visible: false},
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
bestellt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip, width: "8%"},
erteilt: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip, width: "8%"},
akzeptiert: {align:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip, width: "8%"},
bestellt_von: {visible: false},
erteilt_von: {visible: false},
akzeptiert_von: {visible: false},
akzeptiert_von: {visible: false}
}', // col properties
);
@@ -274,7 +274,6 @@
'filter_id' => $this->input->get('filter_id'),
'requiredPermissions' => 'infocenter',
'datasetRepresentation' => 'tablesorter',
'reloadDataset' => ($this->input->get('reloadDataset')=='true'?true:false),
'customMenu' => true,
'checkboxes' => 'PersonId',
'additionalColumns' => array('Details'),
@@ -135,7 +135,7 @@
FROM tbl_prestudentstatus spss
WHERE spss.prestudent_id = pss.prestudent_id
AND spss.status_kurzbz = '.$REJECTED_STATUS.'
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >
AND spss.studiensemester_kurzbz IN (SELECT ss.studiensemester_kurzbz FROM public.tbl_studiensemester ss WHERE ss.ende >
(SELECT start FROM public.tbl_studiensemester sss WHERE studiensemester_kurzbz = '.$STUDIENSEMESTER.'))
)
LIMIT 1
@@ -236,7 +236,6 @@
'filter_id' => $this->input->get('filter_id'),
'requiredPermissions' => 'infocenter',
'datasetRepresentation' => 'tablesorter',
'reloadDataset' => ($this->input->get('reloadDataset')=='true'?true:false),
'checkboxes' => 'PersonId',
'additionalColumns' => array('Details'),
'columnsAliases' => array(
@@ -204,7 +204,6 @@
'filter_id' => $this->input->get('filter_id'),
'requiredPermissions' => 'infocenter',
'datasetRepresentation' => 'tablesorter',
'reloadDataset' => ($this->input->get('reloadDataset')=='true'?true:false),
'checkboxes' => 'PersonId',
'additionalColumns' => array('Details'),
'columnsAliases' => array(
@@ -14,7 +14,6 @@
',
'requiredPermissions' => 'admin',
'datasetRepresentation' => 'tablesorter',
'reloadDataset' => true,
'columnsAliases' => array(
'Log id',
'Request id',
+13 -11
View File
@@ -18,28 +18,26 @@ isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci';
!isset($widgetsCSS) ? $widgetsCSS = false : $widgetsCSS = $widgetsCSS;
!isset($datepicker) ? $datepicker = false : $datepicker = $datepicker;
if ($tablesort || $jquery_checkboxes || $jquery_custom)
$jqueryV1 = true;
if ($tablesort || $jquery_checkboxes || $jquery_custom) $jqueryV1 = true;
if($datepicker)
$jqueryui = true;
if($datepicker) $jqueryui = true;
if($jqueryui)
$jqueryV2 = true;
if($jqueryui) $jqueryV2 = true;
if($jqueryV1 && $jqueryV2)
show_error("Two JQuery versions used: composer and include folder version");
if($jqueryV1 && $jqueryV2) show_error("Two JQuery versions used: composer and include folder version");
?>
<!DOCTYPE HTML>
<html>
<head>
<title><?php echo $title; ?></title>
<meta charset="UTF-8">
<link rel="shortcut icon" type="image/x-icon" href="<?php echo base_url('skin/images/Vilesci.ico'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/vilesci.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/vilesci.css'); ?>" />
<?php if($tablesort) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/tablesort.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/tablesort.css'); ?>" />
<?php endif ?>
<?php if($jqueryV1) : ?>
@@ -62,7 +60,7 @@ if($jqueryV1 && $jqueryV2)
<?php endif ?>
<?php if($jquery_custom) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/jquery-ui-1.9.2.custom.min.css'); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/jquery-ui-1.9.2.custom.min.css'); ?>" />
<?php endif ?>
<?php if($tablesort && !empty($tableid)) : ?>
@@ -99,17 +97,21 @@ if($jqueryV1 && $jqueryV2)
<?php if($tinymce) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/tinymce/tinymce/tinymce.min.js');?>"></script>
<?php endif ?>
<?php if($textile) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/borgar/textile-js/lib/textile.min.js');?>"></script>
<?php endif ?>
<?php if($jsoneditor) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('vendor/jsoneditor/dist/jsoneditor.css');?>" />
<script type="text/javascript" src="<?php echo base_url('vendor/jsoneditor/dist/jsoneditor.js');?>"></script>
<?php endif ?>
<?php if($jsonforms) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('vendor/json-forms/dist/css/brutusin-json-forms.min.css'); ?>" />
<script type="text/javascript" src="<?php echo base_url('vendor/json-forms/dist/js/brutusin-json-forms.min.js'); ?>"></script>
<?php endif ?>
<?php if($widgetsCSS) : ?>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/widgets.css'); ?>" />
<?php endif ?>