Prüfungsprotokoll Übersichtsliste für Vorsitz hinzugefügt

This commit is contained in:
Andreas Österreicher
2020-05-28 09:44:52 +02:00
parent b56b5af561
commit 772c4fa308
5 changed files with 206 additions and 30 deletions
@@ -28,7 +28,10 @@ class Pruefungsprotokoll extends Auth_Controller
// Load language phrases
$this->loadPhrases(
array(
'abschlusspruefung'
'abschlusspruefung',
'global',
'person',
'lehre'
)
);
@@ -39,6 +42,11 @@ class Pruefungsprotokoll extends Auth_Controller
// -----------------------------------------------------------------------------------------------------------------
// Public methods
public function index()
{
$this->load->library('WidgetLib');
$this->load->view('lehre/pruefungsprotokollUebersicht.php');
}
/**
*/
@@ -0,0 +1,46 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => 'Prüfungsprotokoll',
'jquery' => true,
'jqueryui' => true,
'jquerycheckboxes' => true,
'bootstrap' => true,
'fontawesome' => true,
'tablesorter' => true,
'ajaxlib' => true,
'dialoglib' => true,
'tablewidget' => true,
'phrases' => array(
'ui' => array(
'keineDatenVorhanden',
)
),
'customCSSs' => array('public/css/sbadmin2/tablesort_bootstrap.css'),
'customJSs' => array('public/js/bootstrapper.js')
)
);
?>
<body>
<div id="page-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
<?php echo $this->p->t('abschlusspruefung','Protokoll'); ?>
</h3>
</div>
</div>
<?php echo $this->p->t('abschlusspruefung','einfuehrungstext'); ?>
<div class="row">
<div class="col-lg-12">
<?php $this->load->view('lehre/pruefungsprotokollUebersichtData.php'); ?>
</div>
</div>
</div>
</div>
</body>
<?php $this->load->view('templates/FHC-Footer'); ?>
@@ -0,0 +1,67 @@
<?php
$UID = getAuthUID();
$query = "
SELECT
tbl_abschlusspruefung.abschlusspruefung_id,
tbl_person.nachname || ' ' || tbl_person.vorname as name,
tbl_studiengangstyp.bezeichnung || ' ' || tbl_studiengang.bezeichnung,
tbl_abschlusspruefung.datum,
tbl_abschlusspruefung.freigabedatum
FROM
lehre.tbl_abschlusspruefung
JOIN public.tbl_student USING(student_uid)
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING(person_id)
JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz)
JOIN public.tbl_studiengangstyp USING(typ);
WHERE
vorsitz='".$UID."'
AND datum>='2020-05-27'
ORDER BY datum
";
$filterWidgetArray = array(
'query' => $query,
'tableUniqueId' => 'pruefungsprotokoll',
'requiredPermissions' => 'lehre/pruefungsbeurteilung',
'datasetRepresentation' => 'tablesorter',
'columnsAliases' => array(
ucfirst($this->p->t('global', 'details')),
ucfirst($this->p->t('global', 'name')),
ucfirst($this->p->t('lehre', 'studiengang')),
ucfirst($this->p->t('global', 'datum')),
ucfirst($this->p->t('global', 'status')),
),
'formatRow' => function($datasetRaw) {
/* NOTE: Dont use $this here for PHP Version compatibility */
$datasetRaw->{'abschlusspruefung_id'} = sprintf(
'<a href="%s?abschlusspruefung_id=%s" target="_blank">Protokoll ausfüllen</a>',
site_url('lehre/Pruefungsprotokoll/Protokoll'),
$datasetRaw->{'abschlusspruefung_id'}
);
if ($datasetRaw->{'datum'} == null)
{
$datasetRaw->{'datum'} = '-';
}
else
{
$datasetRaw->{'datum'} = date_format(date_create($datasetRaw->{'datum'}),'d.m.Y');
}
if ($datasetRaw->{'freigabedatum'} == null)
{
$datasetRaw->{'freigabedatum'} = 'offen';
}
else
{
$datasetRaw->{'freigabedatum'} = 'Freigegeben am: '.date_format(date_create($datasetRaw->{'freigabedatum'}),'d.m.Y');
}
return $datasetRaw;
},
);
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
?>
+44 -29
View File
@@ -336,47 +336,62 @@ var FHC_TableWidget = {
if (typeof tableWidgetDiv.find("#tableWidgetTableDataset").checkboxes === 'function')
tableWidgetDiv.find("#tableWidgetTableDataset").checkboxes("range", true);
}
for (var i = 0; i < data.dataset.length; i++)
if (data.dataset.length == 0)
{
var record = data.dataset[i];
if ($.isEmptyObject(record))
// Display placeholder if Table is empty
var numColumns = arrayFieldsToDisplay.length;
if (data.hasOwnProperty("additionalColumns") && $.isArray(data.additionalColumns))
{
continue;
numColumns += data.additionalColumns.length;
}
var strHtml = "<tr class='" + record.MARK_ROW_CLASS + "'>";
if (data.checkboxes != null && data.checkboxes != "")
var strHtml = '<tr><td align="center" colspan="'+numColumns+'">';
strHtml += FHC_PhrasesLib.t('ui', 'keineDatenVorhanden');
strHtml += '</td></tr>';
tableWidgetDiv.find("#tableWidgetTableDataset > tbody").append(strHtml);
}
else
{
for (var i = 0; i < data.dataset.length; i++)
{
strHtml += "<td>";
strHtml += "<input type='checkbox' name='" + data.checkboxes + "[]' value='" + record[data.checkboxes] + "'>";
strHtml += "</td>";
}
var record = data.dataset[i];
$.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
if (record.hasOwnProperty(data.fields[i]))
if ($.isEmptyObject(record))
{
strHtml += "<td>" + record[data.fields[i]] + "</td>";
continue;
}
});
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
{
$.each(data.additionalColumns, function(i, additionalColumn) {
var strHtml = "<tr class='" + record.MARK_ROW_CLASS + "'>";
if (record.hasOwnProperty(additionalColumn))
if (data.checkboxes != null && data.checkboxes != "")
{
strHtml += "<td>";
strHtml += "<input type='checkbox' name='" + data.checkboxes + "[]' value='" + record[data.checkboxes] + "'>";
strHtml += "</td>";
}
$.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
if (record.hasOwnProperty(data.fields[i]))
{
strHtml += "<td>" + record[additionalColumn] + "</td>";
strHtml += "<td>" + record[data.fields[i]] + "</td>";
}
});
if (data.additionalColumns != null && $.isArray(data.additionalColumns))
{
$.each(data.additionalColumns, function(i, additionalColumn) {
if (record.hasOwnProperty(additionalColumn))
{
strHtml += "<td>" + record[additionalColumn] + "</td>";
}
});
}
strHtml += "</tr>";
tableWidgetDiv.find("#tableWidgetTableDataset > tbody").append(strHtml);
}
strHtml += "</tr>";
tableWidgetDiv.find("#tableWidgetTableDataset > tbody").append(strHtml);
}
}
}
@@ -540,7 +555,7 @@ var FHC_TableWidget = {
options.columnVisibilityChanged = function(column, visible) {
_func_columnVisibilityChanged(column, visible);
};
// Renders the tabulator
tableWidgetDiv.find("#tableWidgetTabulator").tabulator(options);
}
+40
View File
@@ -4174,6 +4174,26 @@ When on hold, the date is only a reminder.',
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'status',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Status',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Status',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
@@ -6766,6 +6786,26 @@ When on hold, the date is only a reminder.',
)
)
),
array(
'app' => 'core',
'category' => 'abschlusspruefung',
'phrase' => 'einfuehrungstext',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Hier sehen Sie alle Abschlussprüfungen zu denen Sie als Vorsitz zugeteilt sind. Klicken Sie auf den entsprechenden Link um das Prüfungsprotokoll zu erstellen.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Here you can see all the Examination where you are assigned as a chair. Select the entry to create the protocol.',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'abschlusspruefung',