mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 07:52:16 +00:00
Merge branch 'feature-36185/requestAnrechnung_bootstrap3_zu_bootstrap5' into feature-25999/C4_cleanup
This commit is contained in:
@@ -26,6 +26,8 @@ class TableWidgetLib
|
||||
{
|
||||
const TABLE_UNIQUE_ID = 'tableUniqueId'; // TableWidget unique id
|
||||
|
||||
const TABLE_BOOTSTRAP_VERSION = 'bootstrapVersion'; // TableWidget bootstrap version
|
||||
|
||||
// TableWidget session name
|
||||
const SESSION_NAME = 'FHC_TABLE_WIDGET';
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -63,6 +62,5 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -7,7 +7,8 @@ $includesArray = array(
|
||||
'fontawesome6' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'tablewidget' => true,
|
||||
'sbadmintemplate3' => true,
|
||||
'navigationwidget' => true,
|
||||
@@ -48,7 +49,8 @@ $includesArray = array(
|
||||
'public/js/lehre/anrechnung/adminAnrechnung.js'
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css'
|
||||
'public/css/sbadmin2/tablesort_bootstrap.css',
|
||||
'public/css/lehre/anrechnung.css'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -83,7 +85,8 @@ if (defined("CIS4")) {
|
||||
<div class="row">
|
||||
<div class="col-xs-4">
|
||||
<button class="btn btn-primary azrOpenModal" data-toggle="modal" data-target="#azrModal">
|
||||
<i class="fa fa-plus"></i> <?php echo $this->p->t('anrechnung', 'anrechnungszeitraumHinzufuegen'); ?>
|
||||
<i class="fa fa-plus"></i>
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungszeitraumHinzufuegen'); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -96,48 +99,52 @@ if (defined("CIS4")) {
|
||||
</div>
|
||||
|
||||
<!-- Modal (für insert und update von Anrechnungszeitraum)-->
|
||||
<div class="modal fade" id="azrModal" tabindex="-1" role="dialog" aria-labelledby="azrModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="azrModalLabel"></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<input type="hidden" id="anrechnungszeitraum_id" value="">
|
||||
<input type="hidden" id="defaultStudiensemester_kurzbz" value="<?php echo $studiensemester_kurzbz ?>">
|
||||
<div class="col-xs-4">
|
||||
<label for="studiensemester" class="small">Studiensemester</label>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_kurzbz
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<label for="azrStart" class="small">Anr.-Zeitraum Start</label>
|
||||
<input type="date" id="azrStart" value="" class="form-control" required>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<label for="azrEnde" class="small">Anr.-Zeitraum Ende</label>
|
||||
<input type="date" id="azrEnde" value="" class="form-control" required>
|
||||
<div class="modal fade" id="azrModal" tabindex="-1" role="dialog" aria-labelledby="azrModalLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="azrModalLabel"></h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<input type="hidden" id="anrechnungszeitraum_id" value="">
|
||||
<input type="hidden" id="defaultStudiensemester_kurzbz"
|
||||
value="<?php echo $studiensemester_kurzbz ?>">
|
||||
<div class="col-xs-4">
|
||||
<label for="studiensemester" class="small">Studiensemester</label>
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_kurzbz
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<label for="azrStart" class="small">Anr.-Zeitraum Start</label>
|
||||
<input type="date" id="azrStart" value="" class="form-control" required>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<label for="azrEnde" class="small">Anr.-Zeitraum Ende</label>
|
||||
<input type="date" id="azrEnde" value="" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="azrInsertBtn" class="btn btn-primary" value=""><?php echo $this->p->t('ui', 'speichern'); ?></button>
|
||||
<div class="modal-footer">
|
||||
<button type="button" id="azrInsertBtn" class="btn btn-primary"
|
||||
value=""><?php echo $this->p->t('ui', 'speichern'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -156,4 +163,3 @@ if (defined("CIS4")) {
|
||||
);
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ $filterWidgetArray = array(
|
||||
'requiredPermissions' => 'lehre/anrechnungszeitfenster',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
'columnsAliases' => array(
|
||||
'AzrID',
|
||||
'AzrID',
|
||||
ucfirst($this->p->t('lehre', 'studiensemester')),
|
||||
ucfirst($this->p->t('anrechnung', 'anrechnungszeitraumStart')),
|
||||
ucfirst($this->p->t('anrechnung', 'anrechnungszeitraumEnde')),
|
||||
@@ -24,13 +24,15 @@ $filterWidgetArray = array(
|
||||
layout: "fitDataFill",
|
||||
persistentLayout:true,
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
index: "anrechnungszeitraum_id", // assign specific column as unique id (important for row indexing)
|
||||
selectable: false, // allow row selection
|
||||
tableWidgetHeader: true,
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
columnDefaults:{
|
||||
headerFilterPlaceholder:" ",
|
||||
},
|
||||
}',
|
||||
'datasetRepFieldsDefs' => '{
|
||||
anrechnungszeitraum_id: {visible: false, headerFilter:"input"},
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
<?php
|
||||
$this->load->config('anrechnung');
|
||||
|
||||
$includesArray = array(
|
||||
$includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenGenehmigen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'bootstrap5' => true,
|
||||
'cis' => true,
|
||||
'fontawesome4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
@@ -50,12 +51,11 @@ $includesArray = array(
|
||||
)
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/Tabulator.css'
|
||||
'public/css/lehre/anrechnung.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/approveAnrechnungDetail.js'
|
||||
|
||||
)
|
||||
);
|
||||
|
||||
@@ -73,125 +73,155 @@ if (defined("CIS4")) {
|
||||
?>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- header -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<div class="container-fluid">
|
||||
<!-- header -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 my-4 border-bottom">
|
||||
<h3 class="fw-normal ">
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungenGenehmigen'); ?>
|
||||
<small>| <?php echo $this->p->t('global', 'detailsicht'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<small class="text-secondary fs-6">| <?php echo $this->p->t('global', 'detailsicht'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<!--end header -->
|
||||
|
||||
<div class="row" id="approveAnrechnungDetail-generell" data-readonly="<?php echo json_encode($hasReadOnlyAccess)?>">
|
||||
<div class="col-xs-8">
|
||||
|
||||
<div class="row " id="approveAnrechnungDetail-generell"
|
||||
data-readonly="<?php echo json_encode($hasReadOnlyAccess) ?>">
|
||||
<div class="col-8">
|
||||
<!-- Antragsdaten -->
|
||||
<div class="row">
|
||||
<div class="row mb-4">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'antrag'); ?></b></span> 
|
||||
<span class="approveAnrechnungDetail-anrechnungInfoTooltip"
|
||||
data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="pull-right"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
id="approveAnrechnung-status"><?php echo !empty($anrechnungData->anrechnung_id) ? $anrechnungData->insertamum : '-' ?></span></span>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span
|
||||
class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'antrag'); ?></b></span> 
|
||||
<span class="approveAnrechnungDetail-anrechnungInfoTooltip" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="float-end"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
id="approveAnrechnung-status"><?php echo !empty($anrechnungData->anrechnung_id) ? $anrechnungData->insertamum : '-' ?></span></span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<div class="col-xxl-4">
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('person', 'studentIn')); ?></th>
|
||||
<td><?php echo $antragData->vorname . ' ' . $antragData->nachname; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('person', 'personenkennzeichen'); ?></th>
|
||||
<td><?php echo $antragData->matrikelnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('lehre', 'studiensemester')); ?></th>
|
||||
<td><?php echo $antragData->studiensemester_kurzbz ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('lehre', 'studiengang')); ?></th>
|
||||
<td><?php echo $antragData->stg_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?></th>
|
||||
<td><?php echo $antragData->lv_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'lektorInnen'); ?></th>
|
||||
<td>
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
echo $key === $len ? '' : ', ' ?>
|
||||
<?php endforeach; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><span id="ects"><?php echo $antragData->ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5">
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span class="approveAnrechnungDetail-anrechnungEctsTooltip"
|
||||
data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td>
|
||||
Total: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[Schulisch: <span id="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>"><?php echo $antragData->sumEctsSchulisch ?></span> /
|
||||
Beruflich: <span id="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="sumEctsMsg"></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('person', 'studentIn')); ?></th>
|
||||
<td><?php echo $antragData->vorname . ' ' . $antragData->nachname; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo $this->p->t('person', 'personenkennzeichen'); ?></th>
|
||||
<td><?php echo $antragData->matrikelnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('lehre', 'studiensemester')); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->studiensemester_kurzbz ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('lehre', 'studiengang')); ?></th>
|
||||
<td><?php echo $antragData->stg_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?></th>
|
||||
<td><?php echo $antragData->lv_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5"><?php echo $this->p->t('lehre', 'lektorInnen'); ?>
|
||||
</th>
|
||||
<td>
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
echo $key === $len ? '' : ', ' ?>
|
||||
<?php endforeach; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><span id="ects"><?php echo $antragData->ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span class="approveAnrechnungDetail-anrechnungEctsTooltip"
|
||||
data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
data-bs-html="true"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td>
|
||||
Total: <span
|
||||
id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[Schulisch: <span id="sumEctsSchulisch"
|
||||
value="<?php echo $antragData->sumEctsSchulisch ?>"><?php echo $antragData->sumEctsSchulisch ?></span>
|
||||
/
|
||||
Beruflich: <span id="sumEctsBeruflich"
|
||||
value="<?php echo $antragData->sumEctsBeruflich ?>"><?php echo $antragData->sumEctsBeruflich ?></span>
|
||||
]
|
||||
<div class="p-1 align-items-center" id="sumEctsMsg"></div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<div class="col-xxl-8">
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th class="col-xs-3"><?php echo ucfirst($this->p->t('global', 'zgv')); ?></th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></th>
|
||||
<td>
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<td><span id="begruendung_id" data-begruendung_id="<?php echo $anrechnungData->begruendung_id ?>" ><?php echo $anrechnungData->begruendung ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-3">
|
||||
<?php echo ucfirst($this->p->t('global', 'zgv')); ?></th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?>
|
||||
</th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?>
|
||||
</th>
|
||||
<td>
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<td><span id="begruendung_id"
|
||||
data-begruendung_id="<?php echo $anrechnungData->begruendung_id ?>"><?php echo $anrechnungData->begruendung ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($this->config->item('explain_equivalence')): ?>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'begruendungEctsLabel'); ?></th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'begruendungLvinhaltLabel'); ?></th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_lvinhalt ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungEctsLabel'); ?>
|
||||
</th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_ects ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungLvinhaltLabel'); ?>
|
||||
</th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_lvinhalt ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -204,86 +234,105 @@ if (defined("CIS4")) {
|
||||
<!-- Empfehlungsdaten -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default" id="approveAnrechnungDetail-empfehlung"
|
||||
data-empfehlung="<?php echo json_encode($empfehlungData->empfehlung) ?>">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></b></span> 
|
||||
<div class="pull-right">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungVon'); ?>:
|
||||
<span id="approveAnrechnungDetail-empfehlungVon"><?php echo $empfehlungData->empfehlung_von ?></span>
|
||||
 | 
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungdatum'); ?>:
|
||||
<span id="approveAnrechnungDetail-empfehlungAm"><?php echo $empfehlungData->empfehlung_am ?></span>
|
||||
</div>
|
||||
<div class="card " id="approveAnrechnungDetail-empfehlung"
|
||||
data-empfehlung="<?php echo json_encode($empfehlungData->empfehlung) ?>">
|
||||
<div class="card-header">
|
||||
<span
|
||||
class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></b></span> 
|
||||
<div class="float-end">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungVon'); ?>:
|
||||
<span
|
||||
id="approveAnrechnungDetail-empfehlungVon"><?php echo $empfehlungData->empfehlung_von ?></span>
|
||||
 | 
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungdatum'); ?>:
|
||||
<span
|
||||
id="approveAnrechnungDetail-empfehlungAm"><?php echo $empfehlungData->empfehlung_am ?></span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlung">
|
||||
<input type="hidden" name="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<tbody>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlung">
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch"
|
||||
value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich"
|
||||
value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')); ?></th>
|
||||
<td id="approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAm">
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')); ?>
|
||||
</th>
|
||||
<td
|
||||
id="approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAm">
|
||||
<?php echo $empfehlungData->empfehlungsanfrageAm; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'empfehlungsanfrageAn'); ?></th>
|
||||
<td id="approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAn">
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungsanfrageAn'); ?>
|
||||
</th>
|
||||
<td
|
||||
id="approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAn">
|
||||
<?php echo $empfehlungData->empfehlungsanfrageAn; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungAm')); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungAm')); ?>
|
||||
</th>
|
||||
<td><?php echo $empfehlungData->empfehlung_am ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungVon')); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungVon')); ?>
|
||||
</th>
|
||||
<td><?php echo $empfehlungData->empfehlung_von ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></th>
|
||||
<td id="approveAnrechnungDetail-empfehlungDetail-empfehlung"></td>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlung'); ?></th>
|
||||
<td id="approveAnrechnungDetail-empfehlungDetail-empfehlung">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<td id="approveAnrechnungDetail-empfehlungDetail-begruendung">
|
||||
<?php echo htmlentities($empfehlungData->begruendung) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlungNotiz">
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="notiz_id"
|
||||
value="<?php echo $empfehlungData->notiz_id ?>">
|
||||
<div class="form-group">
|
||||
<label class="text-center">
|
||||
<?php echo ucfirst($this->p->t('global', 'notiz')); ?>
|
||||
</label>
|
||||
<textarea name="empfehlungText" rows="4"><?php echo htmlentities($empfehlungData->notiz) ?></textarea>
|
||||
</div>
|
||||
<input type="submit" class="btn btn-default pull-right" value="<?php echo ucfirst($this->p->t('ui', 'speichern')); ?>">
|
||||
</form>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlungNotiz">
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="notiz_id"
|
||||
value="<?php echo $empfehlungData->notiz_id ?>">
|
||||
<div class="form-row mb-3">
|
||||
<label class="fw-bold text-center mb-2">
|
||||
<?php echo ucfirst($this->p->t('global', 'notiz')); ?>
|
||||
</label>
|
||||
<textarea name="empfehlungText"
|
||||
rows="4"><?php echo htmlentities($empfehlungData->notiz) ?></textarea>
|
||||
</div>
|
||||
<input type="submit" class="btn btn-outline-secondary float-end"
|
||||
value="<?php echo ucfirst($this->p->t('ui', 'speichern')); ?>">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<button id="approveAnrechnungDetail-withdraw-request-recommedation"
|
||||
class="btn btn-default btn-w200 <?php echo (is_null($empfehlungData->empfehlung) &&
|
||||
$anrechnungData->status_kurzbz == 'inProgressLektor') ? '' : 'hidden' ?>"
|
||||
type="button">
|
||||
</div>
|
||||
|
||||
<div class="mt-4 mb-5 d-flex justify-content-end">
|
||||
<button id="approveAnrechnungDetail-withdraw-request-recommedation" class="me-1 btn btn-outline-secondary btn-w200 <?php echo (is_null($empfehlungData->empfehlung) &&
|
||||
$anrechnungData->status_kurzbz == 'inProgressLektor') ? '' : 'visually-hidden' ?>" type="button">
|
||||
<?php echo ucfirst($this->p->t('global', 'zuruecknehmen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-request-recommendation" class="btn btn-primary btn-w200"
|
||||
@@ -293,164 +342,174 @@ if (defined("CIS4")) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
<!-- Genehmigungssdaten -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'genehmigung'); ?></b></span> 
|
||||
<div class="pull-right">
|
||||
<div class="card my-4">
|
||||
<div class="card-header">
|
||||
<span
|
||||
class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'genehmigung'); ?></b></span> 
|
||||
<div class="float-end">
|
||||
<?php echo $this->p->t('anrechnung', 'abgeschlossenVon'); ?>:
|
||||
<span id="approveAnrechnungDetail-abgeschlossenVon"><?php echo $genehmigungData->abgeschlossen_von ?></span>
|
||||
<span
|
||||
id="approveAnrechnungDetail-abgeschlossenVon"><?php echo $genehmigungData->abgeschlossen_von ?></span>
|
||||
 | 
|
||||
<?php echo $this->p->t('anrechnung', 'abschlussdatum'); ?>:
|
||||
<span id="approveAnrechnungDetail-abgeschlossenAm"><?php echo $genehmigungData->abgeschlossen_am ?></span>
|
||||
<span
|
||||
id="approveAnrechnungDetail-abgeschlossenAm"><?php echo $genehmigungData->abgeschlossen_am ?></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body" id="approveAnrechnungDetail-genehmigungDetail">
|
||||
<div class="card-body" id="approveAnrechnungDetail-genehmigungDetail">
|
||||
<!-- Infopanel: Noch nicht genehmigt / abgelehnt -->
|
||||
<div class="panel panel-default panel-body <?php echo is_null($genehmigungData->genehmigung) ? '' : 'hidden' ?>"
|
||||
id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull">
|
||||
<div class="card card-body my-3 <?php echo is_null($genehmigungData->genehmigung) ? '' : 'visually-hidden' ?>"
|
||||
id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull">
|
||||
<?php echo $this->p->t('anrechnung', 'nochKeineGenehmigung'); ?>
|
||||
</div>
|
||||
<!-- Infopanel: Genehmigt -->
|
||||
<div class="alert alert-success <?php echo $genehmigungData->genehmigung === true ? '' : 'hidden' ?>" id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv">
|
||||
<div class="card card-body bg-success-subtle my-3 <?php echo $genehmigungData->genehmigung === true ? '' : 'visually-hidden' ?>"
|
||||
id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv">
|
||||
<b><?php echo $this->p->t('anrechnung', 'genehmigungPositiv'); ?></b>
|
||||
</div>
|
||||
<!-- Infopanel: Abgelehnt -->
|
||||
<div class="<?php echo $genehmigungData->genehmigung === false ? '' : 'hidden' ?>" id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ">
|
||||
<div class="alert alert-danger">
|
||||
<div class="<?php echo $genehmigungData->genehmigung === false ? '' : 'visually-hidden' ?>"
|
||||
id="approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ">
|
||||
<div class="card card-body bg-danger-subtle my-3">
|
||||
<b><?php echo $this->p->t('anrechnung', 'genehmigungNegativ'); ?></b>
|
||||
</div>
|
||||
<div class="well"><b><?php echo $this->p->t('global', 'begruendung'); ?>
|
||||
<div class="card card-body bg-secondary-subtle my-3">
|
||||
<b><?php echo $this->p->t('global', 'begruendung'); ?>
|
||||
: </b>
|
||||
<span id="approveAnrechnungDetail-genehmigungDetail-begruendung"><?php echo htmlentities($genehmigungData->notiz) ?></span>
|
||||
<span
|
||||
id="approveAnrechnungDetail-genehmigungDetail-begruendung"><?php echo htmlentities($genehmigungData->notiz) ?></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form>
|
||||
<input type="hidden" name="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<!-- Ablehnen -->
|
||||
<div style="display: none" id="approveAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungNegativQuestion'); ?></h4>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertigWeil'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEmpfehlungstextUebernehmen'); ?></span>
|
||||
<span id="empfehlungstextUebernehmen" class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item" onclick="{ $(this).closest('div').find('textarea').val('').focus()}">
|
||||
<span><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="approveAnrechnungDetail-begruendung"
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="pull-right">
|
||||
<button id="approveAnrechnungDetail-begruendung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-reject-anrechnung-confirm"
|
||||
|
||||
<form>
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<!-- Ablehnen -->
|
||||
<div style="display: none" id="approveAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="card card-body bg-danger-subtle my-3">
|
||||
<?php echo $this->p->t('anrechnung', 'genehmigungNegativQuestion'); ?>
|
||||
</h4>
|
||||
<ul class="list-group my-3">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea float-end"
|
||||
data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?></span>
|
||||
<span class="btn-copyIntoTextarea float-end"
|
||||
data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertigWeil'); ?></span>
|
||||
<span class="btn-copyIntoTextarea float-end"
|
||||
data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEmpfehlungstextUebernehmen'); ?></span>
|
||||
<span id="empfehlungstextUebernehmen"
|
||||
class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"
|
||||
onclick="{ $(this).closest('div').find('textarea').val('').focus()}">
|
||||
<span><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="my-3 form-control" name="begruendung"
|
||||
id="approveAnrechnungDetail-begruendung" rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="float-end">
|
||||
<button id="approveAnrechnungDetail-begruendung-abbrechen"
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-reject-anrechnung-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Genehmigen -->
|
||||
<div style="display: none" id="approveAnrechnungDetail-genehmigung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-success text-success"><?php echo $this->p->t('anrechnung', 'genehmigungPositivQuestion'); ?></h4>
|
||||
  <?php echo $this->p->t('anrechnung', 'genehmigungPositivSubquestion'); ?>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="pull-right">
|
||||
<button id="approveAnrechnungDetail-genehmigung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-approve-anrechnung-confirm"
|
||||
<!-- Genehmigen -->
|
||||
<div style="display: none" id="approveAnrechnungDetail-genehmigung-panel">
|
||||
<div class="my-3">
|
||||
<h4 class="card card-body bg-success-subtle ">
|
||||
<?php echo $this->p->t('anrechnung', 'genehmigungPositivQuestion'); ?>
|
||||
</h4>
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungPositivSubquestion'); ?></span>
|
||||
</div>
|
||||
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="float-end">
|
||||
<button id="approveAnrechnungDetail-genehmigung-abbrechen"
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-approve-anrechnung-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Button Gehenhmigen / Ablehnen / Zurücknehmen -->
|
||||
<div class="pull-right">
|
||||
<button id="approveAnrechnungDetail-withdraw-anrechnung-approvement"
|
||||
class="btn btn-default btn-w200 <?php echo ($anrechnungData->status_kurzbz == 'approved' ||
|
||||
$anrechnungData->status_kurzbz == 'rejected') ? '' : 'hidden' ?>"
|
||||
type="button">
|
||||
<div class="float-end mb-5">
|
||||
<button id="approveAnrechnungDetail-withdraw-anrechnung-approvement" class="me-1 btn btn-outline-secondary btn-w200 <?php echo ($anrechnungData->status_kurzbz == 'approved' ||
|
||||
$anrechnungData->status_kurzbz == 'rejected') ? '' : 'visually-hidden' ?>" type="button">
|
||||
<?php echo ucfirst($this->p->t('global', 'zuruecknehmen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-reject-anrechnung-ask" class="btn btn-danger btn-w200"
|
||||
type="button"
|
||||
<?php echo $anrechnungData->status_kurzbz == 'inProgressDP' ? '' : 'disabled' ?>>
|
||||
<button id="approveAnrechnungDetail-reject-anrechnung-ask"
|
||||
class="me-1 btn btn-danger btn-w200" type="button" <?php echo $anrechnungData->status_kurzbz == 'inProgressDP' ? '' : 'disabled' ?>>
|
||||
<?php echo ucfirst($this->p->t('global', 'ablehnen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungDetail-approve-anrechnung-ask" class="btn btn-primary btn-w200"
|
||||
type="button"
|
||||
<?php echo $anrechnungData->status_kurzbz == 'inProgressDP' ? '' : 'disabled' ?>>
|
||||
<button id="approveAnrechnungDetail-approve-anrechnung-ask"
|
||||
class="me-1 btn btn-primary btn-w200" type="button" <?php echo $anrechnungData->status_kurzbz == 'inProgressDP' ? '' : 'disabled' ?>>
|
||||
<?php echo ucfirst($this->p->t('global', 'genehmigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br><br><br><br>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
</div>
|
||||
|
||||
<div class="col-4">
|
||||
<!-- -Statusleiste -->
|
||||
<div class="alert text-center">
|
||||
Status: <b><span class="text-uppercase" id="approveAnrechnungDetail-status_kurzbz"
|
||||
data-status_kurzbz="<?php echo $anrechnungData->status_kurzbz ?>">
|
||||
<?php echo $anrechnungData->status; ?>
|
||||
</span></b>
|
||||
</div>
|
||||
<br>
|
||||
<div class="mb-5 alert text-center">
|
||||
Status: <b><span class="text-uppercase" id="approveAnrechnungDetail-status_kurzbz"
|
||||
data-status_kurzbz="<?php echo $anrechnungData->status_kurzbz ?>">
|
||||
<?php echo $anrechnungData->status; ?>
|
||||
</span></b>
|
||||
</div>
|
||||
|
||||
<!-- Infopanels -->
|
||||
<?php $this->load->view('lehre/anrechnung/reviewAnrechnungInfo'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!--end container-fluid-->
|
||||
</div><!--end container-fluid-->
|
||||
</div><!--end page-wrapper-->
|
||||
|
||||
<?php
|
||||
|
||||
@@ -4,16 +4,18 @@ $includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenGenehmigen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'bootstrap5' => true,
|
||||
'fontawesome4' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'cis'=>true,
|
||||
'tablewidget' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'begruendung',
|
||||
'zgv'
|
||||
'zgv'
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'nachweisdokumente',
|
||||
@@ -48,7 +50,7 @@ $includesArray = array(
|
||||
'empfehlungWurdeAngefordertAusnahmeWoKeineLektoren',
|
||||
'anrechnungenWurdenGenehmigt',
|
||||
'anrechnungenWurdenAbgelehnt',
|
||||
'nurLeseberechtigung'
|
||||
'nurLeseberechtigung'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
@@ -79,8 +81,11 @@ $includesArray = array(
|
||||
)
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
//'public/js/bootstrapper5.js',
|
||||
'public/js/lehre/anrechnung/approveAnrechnungUebersicht.js'
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/lehre/anrechnung.css'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -99,20 +104,23 @@ if (defined("CIS4")) {
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
<!-- header -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<div class="col-lg-12 my-4 border-bottom">
|
||||
<h3 class="fw-normal ">
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungenGenehmigen'); ?>
|
||||
<small>| <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?></small>
|
||||
<small class="text-secondary fs-6">| <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- end header -->
|
||||
|
||||
<!-- dropdown studiensemester -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="formApproveAnrechnungUebersicht" class="form-inline" action="" method="get" data-readonly="<?php echo json_encode($hasReadOnlyAccess)?>" data-createaccess="<?php echo json_encode($hasCreateAnrechnungAccess)?>">
|
||||
<div class="form-group">
|
||||
<form id="formApproveAnrechnungUebersicht" class="row align-items-center" action="" method="get" data-readonly="<?php echo json_encode($hasReadOnlyAccess)?>" data-createaccess="<?php echo json_encode($hasCreateAnrechnungAccess)?>">
|
||||
<div class="col-auto">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
@@ -121,76 +129,81 @@ if (defined("CIS4")) {
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
'id'=>'studiensemester',
|
||||
'class'=>'form-select w-auto ',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
|
||||
<button type="submit"
|
||||
class="btn btn-default form-group"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
class="btn btn-outline-secondary col-auto"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Tabelle -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="row mb-4">
|
||||
<div class="col-12">
|
||||
<?php $this->load->view('lehre/anrechnung/approveAnrechnungUebersichtData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Genehmigen / Ablehnen Panel -->
|
||||
<div class="row">
|
||||
<div class="panel panel-default panel-body" style="display: none"
|
||||
<div class="border border-1 mb-4" style="display: none"
|
||||
id="approveAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungenNegativQuestion'); ?></h4>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ol class="list-group">
|
||||
<div class="mb-4 col-12">
|
||||
|
||||
<h4 class="card card-body border-danger text-danger my-3"><?php echo $this->p->t('anrechnung', 'genehmigungenNegativQuestion'); ?></h4>
|
||||
<div class="mb-4">
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span></b>
|
||||
</div>
|
||||
<ol class="list-group mb-4">
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
<span role="button" class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
<span role="button" class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item disabled"><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertigWeilHinweis'); ?></li>
|
||||
<li class="list-group-item list-group-item-secondary"><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertigWeilHinweis'); ?></li>
|
||||
</ol>
|
||||
<textarea class="form-control" name="begruendung" id="approveAnrechnungUebersicht-begruendung"
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="pull-right">
|
||||
<div class="mb-4 d-flex justify-content-end" >
|
||||
<button id="approveAnrechnungUebersicht-begruendung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
class="me-1 btn btn-outline-secondary btn-w200 " type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungUebersicht-reject-anrechnungen-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
class="btn btn-primary btn-w200 " type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default panel-body" style="display: none"
|
||||
|
||||
<div class="border border-1 mb-4" style="display: none"
|
||||
id="approveAnrechnungUebersicht-genehmigung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-success text-success"><?php echo $this->p->t('anrechnung', 'genehmigungenPositivQuestion'); ?></h4>
|
||||
 <?php echo $this->p->t('anrechnung', 'genehmigungenPositiv'); ?><br><br>
|
||||
<div class="mb-4">
|
||||
<h4 class="card card-body border-success text-success my-3"><?php echo $this->p->t('anrechnung', 'genehmigungenPositivQuestion'); ?></h4>
|
||||
<div class="ps-2 mb-4"><?php echo $this->p->t('anrechnung', 'genehmigungenPositiv'); ?></div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="pull-right">
|
||||
<div class="mb-4 d-flex justify-content-end">
|
||||
<button id="approveAnrechnungUebersicht-empfehlung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="approveAnrechnungUebersicht-approve-anrechnungen-confirm"
|
||||
@@ -203,57 +216,58 @@ if (defined("CIS4")) {
|
||||
<!-- Filter buttons / Submit buttons-->
|
||||
<div class="row">
|
||||
<!-- Filter buttons -->
|
||||
<div class="col-xs-4 col-md-5">
|
||||
<div class="btn-toolbar" role="toolbar">
|
||||
<div class="col-12 col-md-5">
|
||||
<div class="btn-toolbar " role="toolbar">
|
||||
<div class="btn-group" role="group">
|
||||
<button id="show-inProgressDP" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-inProgressDP" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'alleInBearbeitungSTGL'); ?>">
|
||||
<i class='fa fa-eye'></i>
|
||||
</button>
|
||||
<button id="show-inProgressLektor" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-inProgressLektor" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'alleInBearbeitungLektor'); ?>"><i
|
||||
class='fa fa-clock-o'></i>
|
||||
</button>
|
||||
<button id="show-recommended" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-recommended" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-up'></i>
|
||||
</button>
|
||||
<button id="show-not-recommended" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-not-recommended" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurNichtEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-down'></i>
|
||||
</button>
|
||||
<button id="show-approved" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-approved" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurGenehmigteAnzeigen'); ?>"><i
|
||||
class='fa fa-check'></i>
|
||||
</button>
|
||||
<button id="show-rejected" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
<button id="show-rejected" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurAbgelehnteAnzeigen'); ?>"><i
|
||||
class='fa fa-times'></i>
|
||||
</button>
|
||||
</div>
|
||||
<a type="button" id="approveAnrechnungUebersicht-create-anrechnung" class="btn btn-default" style="margin-left: 20px;" href='<?php echo site_url('lehre/anrechnung/createAnrechnung') ?>' target='_blank'>
|
||||
<a type="button" id="approveAnrechnungUebersicht-create-anrechnung" class="btn btn-outline-secondary ms-4" href='<?php echo site_url('lehre/anrechnung/createAnrechnung') ?>' target='_blank'>
|
||||
<i class='fa fa-plus' aria-hidden='true'></i> <?php echo $this->p->t('global', 'antragAnlegen'); ?>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Action Buttons 'Genehmigen', Ablehnen, 'Empfehlung anfordern'-->
|
||||
<div class="col-xs-8 col-md-7">
|
||||
<div class="pull-right">
|
||||
<div class="col-12 col-md-7">
|
||||
<div class="d-flex ">
|
||||
<button id="approveAnrechnungUebersicht-request-recommendation"
|
||||
class="btn btn-default btn-w200 btn-mr50" type="button">
|
||||
class="btn btn-outline-secondary btn-w200 me-5" type="button">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungAnfordern')); ?></button>
|
||||
|
||||
<button id="approveAnrechnungUebersicht-reject-anrechnungen-ask"
|
||||
class="btn btn-danger btn-w200" type="button">
|
||||
class="btn btn-danger btn-w200 me-1" type="button">
|
||||
<?php echo ucfirst($this->p->t('global', 'ablehnen')); ?></button>
|
||||
<button id="approveAnrechnungUebersicht-approve-anrechnungen-ask"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('global', 'genehmigen')); ?></button>
|
||||
<?php echo ucfirst($this->p->t('global', 'genehmigen')); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@ const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = 'inProgressLektor';
|
||||
|
||||
$STUDIENSEMESTER = $studiensemester_selected;
|
||||
$STUDIENGAENGE_ENTITLED = implode(', ', $studiengaenge_entitled); // alle STG mit Lese- und Schreibberechtigung
|
||||
$ORGANISATIONSEINHEITEN_SCHREIBBERECHTIGT = "'". implode('\',\'', $oes_schreibberechtigt). "'"; // alle OE nur mit Schreibberechtigung; singlequote für jeden string notwendig
|
||||
$ORGANISATIONSEINHEITEN_SCHREIBBERECHTIGT = "'" . implode('\',\'', $oes_schreibberechtigt) . "'"; // alle OE nur mit Schreibberechtigung; singlequote für jeden string notwendig
|
||||
$LANGUAGE_INDEX = getUserLanguage() == 'German' ? '1' : '2';
|
||||
|
||||
$query = '
|
||||
@@ -109,9 +109,8 @@ $query = '
|
||||
LIMIT 1)
|
||||
END "empfehlungsanfrageAm",';
|
||||
|
||||
if ($configFachbereichsleitung === TRUE)
|
||||
{
|
||||
$query.= ' CASE
|
||||
if ($configFachbereichsleitung === TRUE) {
|
||||
$query .= ' CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
@@ -136,10 +135,8 @@ if ($configFachbereichsleitung === TRUE)
|
||||
) as tmp_empfehlungsanfrageEmpfaenger
|
||||
)
|
||||
END "empfehlungsanfrageAn"';
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= ' CASE
|
||||
} else {
|
||||
$query .= ' CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
@@ -164,7 +161,7 @@ else
|
||||
END "empfehlungsanfrageAn"';
|
||||
}
|
||||
|
||||
$query.= ' FROM anrechnungen
|
||||
$query .= ' FROM anrechnungen
|
||||
JOIN lehre.tbl_anrechnungstatus as anrechnungstatus ON (anrechnungstatus.status_kurzbz = anrechnungen.status_kurzbz)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND studiengang_kz IN (' . $STUDIENGAENGE_ENTITLED . ')
|
||||
@@ -172,6 +169,7 @@ $query.= ' FROM anrechnungen
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => $query,
|
||||
'bootstrapVersion' => 5,
|
||||
'tableUniqueId' => 'approveAnrechnungUebersicht',
|
||||
'requiredPermissions' => 'lehre/anrechnung_genehmigen',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
@@ -189,8 +187,8 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('lehre', 'lehrveranstaltung')),
|
||||
'ECTS (LV)',
|
||||
'ECTS (LV + Bisher)',
|
||||
'ECTS (Bisher schulisch)',
|
||||
'ECTS (Bisher beruflich',
|
||||
'ECTS (Bisher schulisch)',
|
||||
'ECTS (Bisher beruflich',
|
||||
ucfirst($this->p->t('global', 'begruendung')),
|
||||
ucfirst($this->p->t('person', 'studentIn')),
|
||||
ucfirst($this->p->t('anrechnung', 'nachweisdokumente')),
|
||||
@@ -200,46 +198,45 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlung')),
|
||||
'status_kurzbz',
|
||||
'Status',
|
||||
'PrestudentID',
|
||||
'PrestudentID',
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')),
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAn'))
|
||||
),
|
||||
|
||||
'datasetRepOptions' => '{
|
||||
|
||||
height: func_height(this),
|
||||
layout: "fitColumns", // fit columns to width of table
|
||||
persistenceID: "approveAnrechnungUebersicht_V1",
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
index: "anrechnung_id", // assign specific column as unique id (important for row indexing)
|
||||
index: "anrechnung_id", // assign specific column as unique id (important for row indexing)
|
||||
selectable: true, // allow row selection
|
||||
selectableRangeMode: "click", // allow range selection using shift end click on end of range
|
||||
selectablePersistence:false, // deselect previously selected rows when table is filtered, sorted or paginated
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
tableWidgetFooter: {
|
||||
selectButtons: true
|
||||
selectButtons: true // tableWidgetFooter properties are checked in _renderTabulatorFooterHTML function
|
||||
},
|
||||
selectableCheck: function(row){
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
tooltips: function(cell){
|
||||
return func_tooltips(cell);
|
||||
}
|
||||
rowFormatter:function(row){
|
||||
return func_rowFormatter(row);
|
||||
},
|
||||
|
||||
columnDefaults:{
|
||||
tooltip:func_tooltips,
|
||||
headerFilterPlaceholder: " ",
|
||||
}
|
||||
|
||||
}', // tabulator properties
|
||||
|
||||
'datasetRepFieldsDefs' => '{
|
||||
anrechnung_id: {visible: false, headerFilter:"input"},
|
||||
lehrveranstaltung_id: {visible: false, headerFilter:"input"},
|
||||
begruendung_id: {visible: false, headerFilter:"input"},
|
||||
dms_id: {visible: false, headerFilter:"input"},
|
||||
schreibberechtigt: {
|
||||
formatter:"tickCross", align:"center",
|
||||
formatter:"tickCross", hozAlign:"center",
|
||||
headerFilter:"tickCross", headerFilterParams:{tristate: true}, headerFilterFunc: hf_schreibberechtigt
|
||||
},
|
||||
studiensemester_kurzbz: {visible: false, headerFilter:"input"},
|
||||
@@ -248,25 +245,26 @@ $filterWidgetArray = array(
|
||||
orgform_kurzbz: {headerFilter:"input"},
|
||||
ausbildungssemester: {headerFilter:"input"},
|
||||
lv_bezeichnung: {headerFilter:"input"},
|
||||
ects: {headerFilter:"input", align:"center"},
|
||||
ects: {headerFilter:"input", hozAlign:"center"},
|
||||
ectsSumBisherUndNeu: {formatter: format_ectsSumBisherUndNeu},
|
||||
ectsSumSchulisch: {visible: false, headerFilter:"input", align:"right"},
|
||||
ectsSumBeruflich: {visible: false, headerFilter:"input", align:"right"},
|
||||
ectsSumSchulisch: {visible: false, headerFilter:"input", hozAlign:"right"},
|
||||
ectsSumBeruflich: {visible: false, headerFilter:"input", hozAlign:"right"},
|
||||
begruendung: {headerFilter:"input", visible: true},
|
||||
|
||||
student: {headerFilter:"input"},
|
||||
zgv: {headerFilter:"input"},
|
||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
|
||||
anmerkung_student: {headerFilter:"input"},
|
||||
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
antragsdatum: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlung_anrechnung: {headerFilter:"input", hozAlign:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
status_kurzbz: {visible: false, headerFilter:"input"},
|
||||
status_bezeichnung: {headerFilter:"input"},
|
||||
prestudent_id: {visible: false, headerFilter:"input"},
|
||||
empfehlungsanfrageAm: {visible: false, align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlungsanfrageAm: {visible: false, hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlungsanfrageAn: {visible: false, headerFilter:"input"}
|
||||
}', // col properties
|
||||
);
|
||||
|
||||
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -1,14 +1,16 @@
|
||||
<?php
|
||||
|
||||
$includesArray =array(
|
||||
$includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'neueAnrechnung'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'bootstrap5' => true,
|
||||
'fontawesome4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'cis' => true,
|
||||
'tablewidget' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
@@ -31,7 +33,7 @@ $includesArray =array(
|
||||
'public/js/lehre/anrechnung/createAnrechnung.js'
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/lehre/anrechnung.css'
|
||||
'public/css/lehre/anrechnung.css'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -49,139 +51,141 @@ if (defined("CIS4")) {
|
||||
?>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- Title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<?php echo $this->p->t('anrechnung', 'neueAnrechnung'); ?>
|
||||
<small>| <?php echo $this->p->t('global', 'antragAnlegen'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Studiensemester Dropdown -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form class="form-inline" action="" method="get">
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
<!-- Title -->
|
||||
<div class="row my-4">
|
||||
<div class="col-lg-12 border-bottom">
|
||||
<h3 class="fw-normal">
|
||||
<?php echo $this->p->t('anrechnung', 'neueAnrechnung'); ?>
|
||||
<small class="text-secondary fs-6">| <?php echo $this->p->t('global', 'antragAnlegen'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
<button type="submit"
|
||||
class="btn btn-default form-group">
|
||||
<?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- StudentInnen Table -->
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<?php $this->load->view('lehre/anrechnung/createAnrechnungData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<br><br>
|
||||
<!-- FORM START ------------------------------------------------------------------------------------------------------->
|
||||
<form id="createAnrechnung-form">
|
||||
<input name="prestudent_id" id="prestudent_id" type="hidden" value="" data-prestudent_id = "" >
|
||||
<input name="studiensemester_kurzbz" id="studiensemester_kurzbz" type="hidden" value="<?php echo $studiensemester_selected ?>">
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<table class="table table-condensed table-bordered">
|
||||
<!-- StudentIn -->
|
||||
<tr>
|
||||
<th class="col-xs-5 col-lg-2"><label><?php echo $this->p->t('person', 'studentIn'); ?></label></th>
|
||||
<td><span id="student" class="pl-15"></span></td>
|
||||
</tr>
|
||||
<!-- Selectmenu Lehrveranstaltungen -->
|
||||
<tr>
|
||||
<th class="col-xs-5 col-lg-2"><?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?> *</th>
|
||||
<td>
|
||||
<select name="lehrveranstaltung_id" id="select-lehrveranstaltung" class="form-control select-w500">
|
||||
<option value="" <?php echo set_select('lehrveranstaltung', '', true); ?> >
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Select Anrechnungbegruendungen -->
|
||||
<tr>
|
||||
<th class="col-xs-5 col-lg-2"><?php echo $this->p->t('global', 'begruendung'); ?> *</th>
|
||||
<td>
|
||||
<select name="begruendung_id" id="select-begruendung" class="form-control select-w500">
|
||||
<option value="" <?php echo set_select('begruendung', '', true); ?> >
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
<?php foreach ($begruendungen as $begruendung) : ?>
|
||||
<option value="<?php echo $begruendung->begruendung_id ?>"
|
||||
<?php echo set_select('begruendung', $begruendung->begruendung_id); ?> >
|
||||
<?php echo ucfirst($begruendung->bezeichnung) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Submit Herkunft der Kenntnisse -->
|
||||
<tr>
|
||||
<th class="col-xs-5 col-lg-2"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></th>
|
||||
<td>
|
||||
<?php echo form_textarea(array(
|
||||
'name' => 'herkunftKenntnisse',
|
||||
'rows' => 1
|
||||
)); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Submit Upload Nachweisdokumente -->
|
||||
<tr>
|
||||
<th class="col-xs-5 col-lg-2"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?> *</th>
|
||||
<td>
|
||||
<div><?php echo form_upload(array(
|
||||
'name' => 'uploadfile',
|
||||
'accept' => '.pdf',
|
||||
'size' => '50',
|
||||
'required' => 'required',
|
||||
'enctype' => "multipart/form-data"
|
||||
)); ?>
|
||||
<!-- Studiensemester Dropdown -->
|
||||
<div class="row my-4">
|
||||
<div class="col-12">
|
||||
<form class="row align-items-center" action="" method="get">
|
||||
<div class="col-auto">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester',
|
||||
'class' => 'form-select w-auto ',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<a class="pull-right" id="download-nachweisdokumente"></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<button type="submit" class="btn btn-outline-secondary col-auto">
|
||||
<?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- StudentInnen Table -->
|
||||
<div class="row my-4">
|
||||
<div class="col-lg-10">
|
||||
<?php $this->load->view('lehre/anrechnung/createAnrechnungData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- FORM START ------------------------------------------------------------------------------------------------------->
|
||||
<form id="createAnrechnung-form">
|
||||
<input name="prestudent_id" id="prestudent_id" type="hidden" value="" data-prestudent_id="">
|
||||
<input name="studiensemester_kurzbz" id="studiensemester_kurzbz" type="hidden"
|
||||
value="<?php echo $studiensemester_selected ?>">
|
||||
<div class="row my-4">
|
||||
<div class="col-lg-10">
|
||||
<table class="table table-condensed table-bordered mb-0">
|
||||
<!-- StudentIn -->
|
||||
<tr>
|
||||
<th class="col-5 col-lg-2"><label><?php echo $this->p->t('person', 'studentIn'); ?></label>
|
||||
</th>
|
||||
<td><span id="student" class="ps-3"></span></td>
|
||||
</tr>
|
||||
<!-- Selectmenu Lehrveranstaltungen -->
|
||||
<tr>
|
||||
<th class="col-5 col-lg-2"><?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?> *</th>
|
||||
<td>
|
||||
<select name="lehrveranstaltung_id" id="select-lehrveranstaltung"
|
||||
class="form-select select-w500">
|
||||
<option value="" <?php echo set_select('lehrveranstaltung', '', true); ?>>
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Select Anrechnungbegruendungen -->
|
||||
<tr>
|
||||
<th class="col-5 col-lg-2"><?php echo $this->p->t('global', 'begruendung'); ?> *</th>
|
||||
<td>
|
||||
<select name="begruendung_id" id="select-begruendung" class="form-select select-w500">
|
||||
<option value="" <?php echo set_select('begruendung', '', true); ?>>
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
<?php foreach ($begruendungen as $begruendung): ?>
|
||||
<option value="<?php echo $begruendung->begruendung_id ?>" <?php echo set_select('begruendung', $begruendung->begruendung_id); ?>>
|
||||
<?php echo ucfirst($begruendung->bezeichnung) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Submit Herkunft der Kenntnisse -->
|
||||
<tr>
|
||||
<th class="col-5 col-lg-2"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?>
|
||||
</th>
|
||||
<td>
|
||||
<?php echo form_textarea(
|
||||
array(
|
||||
'name' => 'herkunftKenntnisse',
|
||||
'rows' => 1
|
||||
)
|
||||
); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- Submit Upload Nachweisdokumente -->
|
||||
<tr>
|
||||
<th class="col-5 col-lg-2 "><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?> *
|
||||
</th>
|
||||
<td class="d-flex input-group align-items-center">
|
||||
|
||||
<input class="form-control flex-fill" type="file" id="requestAnrechnung-uploadfile"
|
||||
name="uploadfile" accept=".pdf" size="50"
|
||||
data-maxsize="<?php echo (int) ini_get('upload_max_filesize') * 1024 * 1024 ?>"
|
||||
required>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row my-4">
|
||||
<div class="col-lg-10">
|
||||
<!-- Submit Button -->
|
||||
<button class="btn btn-primary btn-w200 float-end" id="createAnrechnung-submit" type="submit"
|
||||
value="submit">
|
||||
<?php echo $this->p->t('global', 'antragAnlegen'); ?>
|
||||
</button>
|
||||
<!-- Open new Anrechnung Button (hidden by default) -->
|
||||
<a type="button" class="btn btn-outline-secondary me-1 float-end visually-hidden"
|
||||
id="createAnrechnung-openAnrechnung" target="_blank"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- FORM END --------------------------------------------------------------------------------------------------------->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-10">
|
||||
<!-- Submit Button -->
|
||||
<button class="btn btn-primary btn-w200 pull-right" id="createAnrechnung-submit" type="submit" value="submit">
|
||||
<?php echo $this->p->t('global', 'antragAnlegen'); ?>
|
||||
</button>
|
||||
<!-- Open new Anrechnung Button (hidden by default) -->
|
||||
<a type="button" class="btn btn-default btn-mr10 pull-right hidden" id="createAnrechnung-openAnrechnung" target="_blank"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<!-- FORM END --------------------------------------------------------------------------------------------------------->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
if (defined("CIS4")) {
|
||||
$this->load->view(
|
||||
'templates/CISVUE-Footer',
|
||||
|
||||
@@ -37,6 +37,7 @@ $query = '
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => $query,
|
||||
'bootstrapVersion'=>5,
|
||||
'tableUniqueId' => 'createAnrechnung',
|
||||
'requiredPermissions' => 'lehre/anrechnung_anlegen',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
@@ -56,17 +57,13 @@ $filterWidgetArray = array(
|
||||
layout: "fitColumns", // fit columns to width of table
|
||||
persistentLayout:true,
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
index: "prestudent_id", // assign specific column as unique id (important for row indexing)
|
||||
selectable: 1, // allow row selection
|
||||
selectablePersistence:false, // deselect previously selected rows when table is filtered, sorted or paginated
|
||||
rowSelected: function(row) {
|
||||
func_rowSelected(row);
|
||||
},
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
tableWidgetHeader: false
|
||||
tableWidgetHeader: false,
|
||||
columnDefaults:{
|
||||
headerFilterPlaceholder: " ",
|
||||
}
|
||||
}',
|
||||
'datasetRepFieldsDefs' => '{
|
||||
prestudent_id: {visible: false, headerFilter:"input"},
|
||||
|
||||
@@ -10,33 +10,34 @@ $includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'antragStellen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'bootstrap5' => true,
|
||||
'fontawesome4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'cis'=>true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'anerkennungNachgewiesenerKenntnisse',
|
||||
'antragStellen',
|
||||
'antragWurdeGestellt',
|
||||
'antragBereitsGestellt',
|
||||
'antragWurdeGestellt',
|
||||
'antragBereitsGestellt',
|
||||
'bearbeitungGesperrt'
|
||||
),
|
||||
'ui' => array(
|
||||
'hilfeZuDieserSeite',
|
||||
'hochladen',
|
||||
'inBearbeitung',
|
||||
'neu',
|
||||
'inBearbeitung',
|
||||
'neu',
|
||||
'maxZeichen',
|
||||
'errorBestaetigungFehlt',
|
||||
'errorBestaetigungFehlt',
|
||||
'systemfehler',
|
||||
'errorDokumentZuGross'
|
||||
'errorDokumentZuGross'
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'deadlineUeberschritten',
|
||||
'benotungDerLV',
|
||||
'anrechnungEctsTextBeiUeberschreitung',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
'anrechnungEctsTextBeiUeberschreitung',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
@@ -54,6 +55,9 @@ $includesArray = array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/requestAnrechnung.js'
|
||||
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/lehre/anrechnung.css'
|
||||
)
|
||||
);
|
||||
|
||||
@@ -81,23 +85,23 @@ else
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- header -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<div class="col-lg-12 my-4 border-bottom">
|
||||
<h3 class="fw-normal">
|
||||
<?php echo $this->p->t('anrechnung', 'anerkennungNachgewiesenerKenntnisse'); ?>
|
||||
<small>| <?php echo $this->p->t('anrechnung', 'antragStellen'); ?></small>
|
||||
<small class="text-secondary fs-6">| <?php echo $this->p->t('anrechnung', 'antragStellen'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end header-->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
<div class="col-8">
|
||||
<!-- Antragsdaten, Dokument Upload, Notiz-->
|
||||
<div class="row">
|
||||
<div class="row mb-5">
|
||||
<div class="col-lg-12">
|
||||
<form id="requestAnrechnung-form">
|
||||
<input type="hidden" name="anrechnung_id" id="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
@@ -107,19 +111,19 @@ else
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<!-- Antragsdaten -->
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'antrag'); ?></b></span> 
|
||||
<span class="requestAnrechnung-anrechnungInfoTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="text-uppercase fw-bold"><?php echo $this->p->t('anrechnung', 'antrag'); ?></span> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="pull-right"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
</div>
|
||||
<span class="float-end"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
id="requestAnrechnung-antragdatum"><?php echo !empty($anrechnungData->anrechnung_id) ? $anrechnungData->insertamum : '-' ?></span></span>
|
||||
</div>
|
||||
<table class="panel-body table table-bordered table-condensed">
|
||||
<table class="card-body table table-bordered table-condensed mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('person', 'studentIn')); ?></th>
|
||||
@@ -147,17 +151,17 @@ else
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
Total ECTS: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[ Schulisch: <span id="sumEctsSchulisch"><?php echo $antragData->sumEctsSchulisch ?></span> |
|
||||
Beruflich: <span id="sumEctsBeruflich"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="requestAnrechnung-maxEctsUeberschrittenMsg"></span>
|
||||
<div class="p-1 align-items-center" id="requestAnrechnung-maxEctsUeberschrittenMsg"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -176,84 +180,88 @@ else
|
||||
</div>
|
||||
</div>
|
||||
<!-- Antrag mit Checkboxen -->
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="well" style="border:solid black 3px">
|
||||
<span><?php echo $this->p->t('anrechnung', 'antragStellenText'); ?></span> 
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="1" required
|
||||
<?php echo $anrechnungData->begruendung_id == '1' ? 'checked' : ''; ?> />
|
||||
<div class="border border-dark border-3 rounded p-3" >
|
||||
<p ><?php echo $this->p->t('anrechnung', 'antragStellenText'); ?></p>
|
||||
|
||||
<div class="ps-3 ">
|
||||
|
||||
<div class="form-check mb-1">
|
||||
|
||||
<input class="form-check-input" type="radio" name="begruendung" value="1" <?php echo $anrechnungData->begruendung_id == '1' ? 'checked' : ''; ?> required />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenZeugnis'); ?> 
|
||||
<span id="requestAnrechnung-anrechnungGrundZeugnisTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>" />
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="5" required
|
||||
<?php echo $anrechnungData->begruendung_id == '5' ? 'checked' : ''; ?> />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenHochschulzeugnis'); ?> 
|
||||
<span id="requestAnrechnung-anrechnungGrundHochschulzeugnisTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>" />
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="4" required
|
||||
<?php echo $anrechnungData->begruendung_id == '4' ? 'checked' : ''; ?>>
|
||||
<div class="d-inline" id="requestAnrechnung-anrechnungGrundZeugnisTooltip" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true"
|
||||
data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>" >
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-1">
|
||||
|
||||
<input class="form-check-input" type="radio" name="begruendung" value="5" <?php echo $anrechnungData->begruendung_id == '5' ? 'checked' : ''; ?> required />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenHochschulzeugnis'); ?> 
|
||||
<div class="d-inline" id="requestAnrechnung-anrechnungGrundHochschulzeugnisTooltip" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true"
|
||||
data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-check mb-1">
|
||||
|
||||
<input class="form-check-input" type="radio" name="begruendung" value="4" <?php echo $anrechnungData->begruendung_id == '4' ? 'checked' : ''; ?> required />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenPraxis'); ?> 
|
||||
<span id="requestAnrechnung-anrechnungGrundBerufTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundBerufTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</label>
|
||||
<div class="d-inline" id="requestAnrechnung-anrechnungGrundBerufTooltip" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true"
|
||||
data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundBerufTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if ($this->config->item('explain_equivalence')): ?>
|
||||
<!-- Begruendung ECTS -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<b><?php echo $this->p->t('anrechnung', 'begruendungEcts'); ?></b> 
|
||||
<span class="requestAnrechnung-anrechnungInfoTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungBegruendungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<textarea class="form-control" name="begruendung_ects" rows="1" id="requestAnrechnung-begruendungEcts"
|
||||
maxlength="<?php echo CHAR_LENGTH150 ?>" required><?php echo $anrechnungData->begruendung_ects; ?></textarea>
|
||||
<small><span class="text-muted pull-right"><?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-begruendungEcts-charCounter"><?php echo CHAR_LENGTH150 ?></span></span></small>
|
||||
<!-- Begruendung ECTS -->
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="fw-bold"><?php echo $this->p->t('anrechnung', 'begruendungEcts'); ?></span> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungBegruendungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<textarea class="form-control" name="begruendung_ects" rows="1" id="requestAnrechnung-begruendungEcts"
|
||||
maxlength="<?php echo CHAR_LENGTH150 ?>" required><?php echo $anrechnungData->begruendung_ects; ?></textarea>
|
||||
<small><span class="text-muted float-end"><?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-begruendungEcts-charCounter"><?php echo CHAR_LENGTH150 ?></span></span></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Begruendung LV Inhalt -->
|
||||
<div class="row">
|
||||
</div>
|
||||
<!-- Begruendung LV Inhalt -->
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<b><?php echo $this->p->t('anrechnung', 'begruendungLvinhalt'); ?></b> 
|
||||
<span class="requestAnrechnung-anrechnungInfoTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungBegruendungLvinhaltTooltipText'); ?>">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="fw-bold"><?php echo $this->p->t('anrechnung', 'begruendungLvinhalt'); ?></span> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right"
|
||||
data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungBegruendungLvinhaltTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<textarea class="form-control" name="begruendung_lvinhalt" rows="7" id="requestAnrechnung-begruendungLvinhalt"
|
||||
minlength="<?php echo CHAR_LENGTH500 ?>"
|
||||
maxlength="<?php echo CHAR_LENGTH1000 ?>" required><?php echo $anrechnungData->begruendung_lvinhalt; ?></textarea>
|
||||
<small><span class="text-muted pull-right"> / <?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-begruendungLvinhalt-charCounterMax"><?php echo CHAR_LENGTH1000 ?></span></span></small>
|
||||
<small><span class="text-muted pull-right"><?php echo $this->p->t('ui', 'fehlendeMinZeichen'); ?> :<span id="requestAnrechnung-begruendungLvinhalt-charCounterMin"><?php echo CHAR_LENGTH500 ?></span></span></small>
|
||||
<small><span class="text-muted float-end"> / <?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-begruendungLvinhalt-charCounterMax"><?php echo CHAR_LENGTH1000 ?></span></span></small>
|
||||
<small><span class="text-muted float-end"><?php echo $this->p->t('ui', 'fehlendeMinZeichen'); ?> :<span id="requestAnrechnung-begruendungLvinhalt-charCounterMin"><?php echo CHAR_LENGTH500 ?></span></span></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -261,95 +269,91 @@ else
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Dokument Upload-->
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<b><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></b> 
|
||||
<span class="requestAnrechnung-anrechnungInfoTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundAllgemeinTooltipText'); ?>">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="fw-bold"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></span> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundAllgemeinTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="form-inline panel-body">
|
||||
<div class="form-group">
|
||||
<input type="file" id="requestAnrechnung-uploadfile"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 * 1024 ?>"
|
||||
required>
|
||||
</div>
|
||||
<span id="requestAnrechnung-uploadTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'uploadTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-question-circle-o" aria-hidden="true"></i>
|
||||
</span>
|
||||
<a class="pull-right <?php echo !empty($anrechnungData->dms_id) ? '' : 'hidden' ?>"
|
||||
id="requestAnrechnung-downloadDocLink"
|
||||
href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?>
|
||||
</a>
|
||||
</div>
|
||||
<div class=" card-body">
|
||||
<div class="input-group d-flex align-items-center ">
|
||||
<input class="form-control flex-fill" type="file" id="requestAnrechnung-uploadfile"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 * 1024 ?>"
|
||||
required>
|
||||
<div class="mx-4 " id="requestAnrechnung-uploadTooltip" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true"
|
||||
data-bs-title="<?php echo $this->p->t('ui', 'uploadTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-question-circle-o" aria-hidden="true"></i>
|
||||
</div>
|
||||
<a class="mx-4 float-end <?php echo !empty($anrechnungData->dms_id) ? '' : 'visually-hidden' ?>"
|
||||
id="requestAnrechnung-downloadDocLink"
|
||||
href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Herkunft der Kenntnisse -->
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<b><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></b> 
|
||||
<span class="requestAnrechnung-anrechnungInfoTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="fw-bold"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></span> 
|
||||
<div class="d-inline" data-bs-toggle="tooltip" data-bs-placement="right" data-bs-html="true" data-bs-title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<textarea class="form-control" name="anmerkung" rows="1" id="requestAnrechnung-herkunftDerKenntnisse"
|
||||
maxlength="<?php echo CHAR_LENGTH125 ?>" required><?php echo $anrechnungData->anmerkung; ?></textarea>
|
||||
<small><span class="text-muted pull-right"><?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-herkunftDerKenntnisse-charCounter"><?php echo CHAR_LENGTH125 ?></span></span></small>
|
||||
<small><span class="text-muted float-end"><?php echo $this->p->t('ui', 'maxZeichen'); ?> :<span id="requestAnrechnung-herkunftDerKenntnisse-charCounter"><?php echo CHAR_LENGTH125 ?></span></span></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Bestaetigung-->
|
||||
<div class="row">
|
||||
<div class="row mb-3">
|
||||
<div class="col-lg-12">
|
||||
<div class="well" style="border:solid black 3px">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="bestaetigung" required>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bestaetigungstext'); ?></b>
|
||||
</label>
|
||||
</div>
|
||||
<div class="border border-3 rounded border-dark p-3" >
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input border-3" type="checkbox" name="bestaetigung" required>
|
||||
<small class=" fw-bold"><?php echo $this->p->t('anrechnung', 'bestaetigungstext'); ?></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Button 'Anrechnung beantragen'-->
|
||||
<div class="pull-right">
|
||||
<div class="float-end">
|
||||
<input type="submit" id="requestAnrechnung-apply-anrechnung" class="btn btn-primary"
|
||||
value="<?php echo $this->p->t('anrechnung', 'anrechnungBeantragen'); ?>">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<br><br><br><br>
|
||||
</div>
|
||||
<div class="col-xs-4">
|
||||
<div class="col-4">
|
||||
<!-- Status panel -->
|
||||
<div class="alert text-center" id="requestAnrechnung-status">Status: <b><span class="text-uppercase" id="requestAnrechnung-status_kurzbz"
|
||||
<div class="alert text-center" id="requestAnrechnung-status">Status: <span class="fw-bold text-uppercase" id="requestAnrechnung-status_kurzbz"
|
||||
data-status_kurzbz="<?php echo $anrechnungData->status_kurzbz ?>">
|
||||
<?php echo $anrechnungData->status; ?>
|
||||
</span></b>
|
||||
</span>
|
||||
</div>
|
||||
<!-- Sperregrund panel (hidden by default) -->
|
||||
<div class="alert alert-danger text-center hidden" id="requestAnrechnung-sperre"
|
||||
<div class="alert bg-danger-subtle text-center visually-hidden" id="requestAnrechnung-sperre"
|
||||
data-anrechnung_id="<?php echo empty($anrechnungData->anrechnung_id) ? '' : $anrechnungData->anrechnung_id; ?>"
|
||||
data-expired="<?php echo json_encode($is_expired); ?>"
|
||||
data-blocked="<?php echo json_encode($is_blocked) ?>">
|
||||
</div>
|
||||
<br>
|
||||
<?php $this->load->view('lehre/anrechnung/requestAnrechnungImportant'); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,70 +1,71 @@
|
||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<!-- Beantragung: Fristen panel -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingOne">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
|
||||
<div class="accordion" id="requestAnrechnungImportant">
|
||||
<!-- Beantragung: Fristen panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
|
||||
<div class="d-flex">
|
||||
|
||||
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenTitle'); ?>
|
||||
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoFristenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Referenzbeispiele ECTS Berechnung panel -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingBegruendung">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseBegruendung"
|
||||
aria-expanded="false" aria-controls="collapseBegruendung">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
</div>
|
||||
<!-- Referenzbeispiele ECTS Berechnung panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
|
||||
<div class="d-flex">
|
||||
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseBegruendung" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingBegruendung">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Referenzbeispiele" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Nachweisdokumente: Voraussetzung panel -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingTwo">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo"
|
||||
aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
</div>
|
||||
<!-- Nachweisdokumente: Voraussetzung panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="d-flex">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
|
||||
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Nachweisdokumente" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoNachweisdokumenteBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Herkunft der Kenntnisse: Angaben panel -->
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingThree">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree"
|
||||
aria-expanded="false" aria-controls="collapseThree">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
|
||||
<div class="d-flex">
|
||||
<i class="me-2 fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="HerkunftKenntnisse" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoHerkunftKenntnisseBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -2,51 +2,53 @@
|
||||
$this->load->config('anrechnung');
|
||||
|
||||
$includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenPruefen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'anerkennungNachgewiesenerKenntnisse',
|
||||
'antragStellen'
|
||||
array(
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenPruefen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap5' => true,
|
||||
'cis' => true,
|
||||
'fontawesome4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'anerkennungNachgewiesenerKenntnisse',
|
||||
'antragStellen'
|
||||
),
|
||||
'ui' => array(
|
||||
'hilfeZuDieserSeite',
|
||||
'hochladen',
|
||||
'nichtSelektierbarAufgrundVon',
|
||||
'systemfehler',
|
||||
'bitteMindEinenAntragWaehlen',
|
||||
'bitteBegruendungAngeben',
|
||||
'bitteBegruendungVervollstaendigen',
|
||||
'anrechnungenWurdenEmpfohlen',
|
||||
'anrechnungenWurdenNichtEmpfohlen'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
'personenkennzeichen'
|
||||
),
|
||||
'lehre' => array(
|
||||
'studiensemester',
|
||||
'studiengang',
|
||||
'lehrveranstaltung',
|
||||
'ects',
|
||||
'lektor',
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'empfehlungPositivConfirmed',
|
||||
'empfehlungNegativConfirmed'
|
||||
)
|
||||
),
|
||||
'ui' => array(
|
||||
'hilfeZuDieserSeite',
|
||||
'hochladen',
|
||||
'nichtSelektierbarAufgrundVon',
|
||||
'systemfehler',
|
||||
'bitteMindEinenAntragWaehlen',
|
||||
'bitteBegruendungAngeben',
|
||||
'bitteBegruendungVervollstaendigen',
|
||||
'anrechnungenWurdenEmpfohlen',
|
||||
'anrechnungenWurdenNichtEmpfohlen'
|
||||
'customCSSs' => array(
|
||||
'public/css/lehre/anrechnung.css'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
'personenkennzeichen'
|
||||
),
|
||||
'lehre' => array(
|
||||
'studiensemester',
|
||||
'studiengang',
|
||||
'lehrveranstaltung',
|
||||
'ects',
|
||||
'lektor',
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'empfehlungPositivConfirmed',
|
||||
'empfehlungNegativConfirmed'
|
||||
)
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/Tabulator.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/reviewAnrechnungDetail.js'
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/reviewAnrechnungDetail.js'
|
||||
|
||||
)
|
||||
);
|
||||
@@ -65,104 +67,129 @@ if (defined("CIS4")) {
|
||||
?>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 my-4 border-bottom">
|
||||
<h3 class="fw-normal ">
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungenPruefen'); ?>
|
||||
<small>| <?php echo $this->p->t('global', 'detailsicht'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<small class="text-secondary fs-6">| <?php echo $this->p->t('global', 'detailsicht'); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-8">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<!-- Antragsdaten -->
|
||||
<div class="row">
|
||||
<div class="row mb-4">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'antrag'); ?></b></span>
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span
|
||||
class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'antrag'); ?></b></span>
|
||||
</span> 
|
||||
<span class="reviewAnrechnungDetail-anrechnungInfoTooltip" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="pull-right"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
id="reviewAnrechnung-status"><?php echo !empty($anrechnungData->anrechnung_id) ? $anrechnungData->insertamum : '-' ?></span></span>
|
||||
<span class="reviewAnrechnungDetail-anrechnungInfoTooltip" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungInfoTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
<span class="float-end"><?php echo $this->p->t('anrechnung', 'antragdatum'); ?>: <span
|
||||
id="reviewAnrechnung-status"><?php echo !empty($anrechnungData->anrechnung_id) ? $anrechnungData->insertamum : '-' ?></span></span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('person', 'studentIn')); ?></th>
|
||||
<td><?php echo $antragData->vorname . ' ' . $antragData->nachname; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('person', 'personenkennzeichen'); ?></th>
|
||||
<td><?php echo $antragData->matrikelnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('lehre', 'studiensemester')); ?></th>
|
||||
<td><?php echo $antragData->studiensemester_kurzbz ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo ucfirst($this->p->t('lehre', 'studiengang')); ?></th>
|
||||
<td><?php echo $antragData->stg_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?></th>
|
||||
<td><?php echo $antragData->lv_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-5"><?php echo $this->p->t('lehre', 'lektorInnen'); ?></th>
|
||||
<td>
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
echo $key === $len ? '' : ', ' ?>
|
||||
<?php endforeach; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('person', 'studentIn')); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->vorname . ' ' . $antragData->nachname; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo $this->p->t('person', 'personenkennzeichen'); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->matrikelnr ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('lehre', 'studiensemester')); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->studiensemester_kurzbz ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo ucfirst($this->p->t('lehre', 'studiengang')); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->stg_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5">
|
||||
<?php echo $this->p->t('lehre', 'lehrveranstaltung'); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->lv_bezeichnung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-5"><?php echo $this->p->t('lehre', 'lektorInnen'); ?>
|
||||
</th>
|
||||
<td>
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
echo $key === $len ? '' : ', ' ?>
|
||||
<?php endforeach; ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('global', 'zgv')); ?></th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></th>
|
||||
<td>
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('global', 'zgv')); ?>
|
||||
</th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?>
|
||||
</th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?>
|
||||
</th>
|
||||
<td>
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ($this->config->item('explain_equivalence')): ?>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'begruendungEctsLabel'); ?></th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'begruendungLvinhaltLabel'); ?></th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_lvinhalt ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungEctsLabel'); ?>
|
||||
</th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_ects ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungLvinhaltLabel'); ?>
|
||||
</th>
|
||||
<td><span><?php echo $anrechnungData->begruendung_lvinhalt ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -176,133 +203,158 @@ if (defined("CIS4")) {
|
||||
<!-- Empfehlungsdaten -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default" id="reviewAnrechnungDetail-empfehlung" data-empfehlung="<?php echo json_encode($empfehlungData->empfehlung) ?>">
|
||||
<div class="panel-heading">
|
||||
<span class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></b></span>
|
||||
<div class="pull-right">
|
||||
<div class="card mb-4" id="reviewAnrechnungDetail-empfehlung"
|
||||
data-empfehlung="<?php echo json_encode($empfehlungData->empfehlung) ?>">
|
||||
<div class="card-header">
|
||||
<span
|
||||
class="text-uppercase"><b><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></b></span>
|
||||
<div class="float-end">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungVon'); ?>:
|
||||
<span id="reviewAnrechnungDetail-empfehlungVon"><?php echo $empfehlungData->empfehlung_von ?></span>
|
||||
<span
|
||||
id="reviewAnrechnungDetail-empfehlungVon"><?php echo $empfehlungData->empfehlung_von ?></span>
|
||||
 | 
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungdatum'); ?>:
|
||||
<span id="reviewAnrechnungDetail-empfehlungAm"><?php echo $empfehlungData->empfehlung_am ?></span>
|
||||
<span
|
||||
id="reviewAnrechnungDetail-empfehlungAm"><?php echo $empfehlungData->empfehlung_am ?></span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<tbody>
|
||||
<table class="table table-bordered table-condensed table-fixed mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')); ?></th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAm">
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')); ?>
|
||||
</th>
|
||||
<td
|
||||
id="reviewAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAm">
|
||||
<?php echo $empfehlungData->empfehlungsanfrageAm; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'empfehlungsanfrageAn'); ?></th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAn">
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungsanfrageAn'); ?>
|
||||
</th>
|
||||
<td
|
||||
id="reviewAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAn">
|
||||
<?php echo $empfehlungData->empfehlungsanfrageAn; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungAm')); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungAm')); ?>
|
||||
</th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-empfehlungAm">
|
||||
<?php echo $empfehlungData->empfehlung_am ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('anrechnung', 'empfehlungVon')); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlungVon')); ?>
|
||||
</th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-empfehlungVon">
|
||||
<?php echo $empfehlungData->empfehlung_von ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'empfehlung'); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlung'); ?>
|
||||
</th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-empfehlung"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<th class="col-4">
|
||||
<?php echo $this->p->t('global', 'begruendung'); ?>
|
||||
</th>
|
||||
<td id="reviewAnrechnungDetail-empfehlungDetail-begruendung">
|
||||
<?php echo htmlentities($empfehlungData->begruendung) ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div>
|
||||
<label class="text-center">
|
||||
<?php echo ucfirst($this->p->t('global', 'notizDerSTGL')); ?>
|
||||
<label class="text-center mb-2">
|
||||
<b><?php echo ucfirst($this->p->t('global', 'notizDerSTGL')); ?></b>
|
||||
</label>
|
||||
<textarea rows="4" readonly><?php echo htmlentities($empfehlungData->notiz) ?></textarea>
|
||||
<textarea rows="4"
|
||||
readonly><?php echo htmlentities($empfehlungData->notiz) ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form>
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<!-- Nicht empfehlen panel (hidden) -->
|
||||
<div class="panel panel-default panel-body" style="display: none" id="reviewAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungNegativQuestion'); ?></h4>
|
||||
<ul class="list-group">
|
||||
<div class="card card-body" style="display: none"
|
||||
id="reviewAnrechnungDetail-begruendung-panel">
|
||||
<div class="mb-4">
|
||||
<h4 class="card card-body bg-danger-subtle my-3">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungNegativQuestion'); ?>
|
||||
</h4>
|
||||
<ul class="list-group mb-4">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<span class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertigWeil'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<span class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item" onclick="{ $(this).closest('div').find('textarea').val('').focus()}">
|
||||
<span><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></span>
|
||||
</li>
|
||||
<li class="list-group-item"
|
||||
onclick="{ $(this).closest('div').find('textarea').val('').focus()}">
|
||||
<span><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="reviewAnrechnungDetail-begruendung"
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
<textarea class="my-3 form-control" name="begruendung"
|
||||
id="reviewAnrechnungDetail-begruendung" rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Button Abbrechen & Bestaetigen-->
|
||||
<div class="pull-right">
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="reviewAnrechnungDetail-begruendung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="reviewAnrechnungDetail-dont-recommend-anrechnung-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Empfehlen panel (hidden)-->
|
||||
<div class="panel panel-default panel-body" style="display: none" id="reviewAnrechnungDetail-empfehlung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-success text-success"><?php echo $this->p->t('anrechnung', 'empfehlungPositivQuestion'); ?></h4>
|
||||
 <?php echo $this->p->t('anrechnung', 'empfehlungPositivSubquestion'); ?>
|
||||
<br><br>
|
||||
<div class="card card-body" style="display: none"
|
||||
id="reviewAnrechnungDetail-empfehlung-panel">
|
||||
<div class="my-3">
|
||||
<h4 class="card card-body bg-success-subtle">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungPositivQuestion'); ?>
|
||||
</h4>
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungPositivSubquestion'); ?>
|
||||
</span>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Action Button Abbrechen & Bestaetigen-->
|
||||
<div class="pull-right">
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="reviewAnrechnungDetail-empfehlung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="reviewAnrechnungDetail-recommend-anrechnung-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
@@ -310,36 +362,39 @@ if (defined("CIS4")) {
|
||||
</form>
|
||||
</div>
|
||||
<!-- Button Empfehlen / Nicht Empfehlen -->
|
||||
<div class="pull-right">
|
||||
<button id="reviewAnrechnungDetail-dont-recommend-anrechnung-ask" class="btn btn-danger btn-w200"
|
||||
type="button"
|
||||
<?php echo (is_null($empfehlungData->empfehlung) && $isEmpfehlungsberechtigt) ? '' : 'disabled' ?>>
|
||||
<div class="row justify-content-center justify-content-sm-end align-items-center mb-5">
|
||||
<div class="col-auto mb-1">
|
||||
<button id="reviewAnrechnungDetail-dont-recommend-anrechnung-ask"
|
||||
class=" btn btn-danger btn-w200" type="button" <?php echo (is_null($empfehlungData->empfehlung) && $isEmpfehlungsberechtigt) ? '' : 'disabled' ?>>
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'nichtEmpfehlen')); ?>
|
||||
</button>
|
||||
<button id="reviewAnrechnungDetail-recommend-anrechnung-ask" class="btn btn-primary btn-w200"
|
||||
type="button"
|
||||
<?php echo (is_null($empfehlungData->empfehlung) && $isEmpfehlungsberechtigt) ? '' : 'disabled' ?>>
|
||||
</div>
|
||||
<div class="col-auto mb-1">
|
||||
<button id="reviewAnrechnungDetail-recommend-anrechnung-ask"
|
||||
class="btn btn-primary btn-w200" type="button" <?php echo (is_null($empfehlungData->empfehlung) && $isEmpfehlungsberechtigt) ? '' : 'disabled' ?>>
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 ">
|
||||
<div class="mb-5 alert text-center">
|
||||
Status:
|
||||
<b><span class="text-uppercase" id="reviewAnrechnungDetail-status_kurzbz"
|
||||
data-status_kurzbz="<?php echo $anrechnungData->status_kurzbz ?>">
|
||||
<?php echo $anrechnungData->status; ?>
|
||||
</span></b>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4">
|
||||
<div class="alert text-center">
|
||||
Status:
|
||||
<b><span class="text-uppercase" id="reviewAnrechnungDetail-status_kurzbz"
|
||||
data-status_kurzbz="<?php echo $anrechnungData->status_kurzbz ?>">
|
||||
<?php echo $anrechnungData->status; ?>
|
||||
</span></b>
|
||||
</div>
|
||||
<br>
|
||||
<?php $this->load->view('lehre/anrechnung/reviewAnrechnungInfo'); ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
@@ -1,82 +1,86 @@
|
||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingOne">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"
|
||||
aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
|
||||
<div class="accordion" id="requestAnrechnungImportant">
|
||||
<!-- Beantragung: Fristen panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#Beantragung" aria-expanded="true" aria-controls="Beantragung">
|
||||
<div class="d-flex">
|
||||
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenTitle'); ?>
|
||||
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Beantragung" class="accordion-collapse collapse show" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoFristenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingBegruendung">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseBegruendung"
|
||||
aria-expanded="false" aria-controls="collapseBegruendung">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<!-- Referenzbeispiele ECTS Berechnung panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Referenzbeispiele" aria-expanded="false" aria-controls="Referenzbeispiele">
|
||||
<div class="d-flex">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungTitle'); ?>
|
||||
</div>
|
||||
<div id="collapseBegruendung" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingBegruendung">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Referenzbeispiele" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'requestAnrechnungInfoEctsBerechnungBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingZero">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseZero"
|
||||
aria-expanded="true" aria-controls="collapseZero">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<!-- Antrag: Voraussetzungen panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="d-flex">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Antrag" aria-expanded="false" aria-controls="Antrag">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenTitle'); ?>
|
||||
</div>
|
||||
<div id="collapseZero" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingZero">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Antrag" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoAntragVoraussetungenBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingTwo">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo"
|
||||
aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<!-- Nachweisdokumente: Voraussetzung panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#Nachweisdokumente" aria-expanded="false" aria-controls="Nachweisdokumente">
|
||||
<div class="d-flex">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteTitle'); ?>
|
||||
</div>
|
||||
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="Nachweisdokumente" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoNachweisdokumenteBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading" role="tab" id="headingThree">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree"
|
||||
aria-expanded="false" aria-controls="collapseThree">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseTitle'); ?>
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<!-- Herkunft der Kenntnisse: Angaben panel -->
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<div class="bg-info-subtle accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#HerkunftKenntnisse" aria-expanded="false" aria-controls="HerkunftKenntnisse">
|
||||
<div class="d-flex">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i> 
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseTitle'); ?>
|
||||
</div>
|
||||
<div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
|
||||
<div class="panel-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</h2>
|
||||
<div id="HerkunftKenntnisse" class="accordion-collapse collapse" data-bs-parent="#requestAnrechnungImportant">
|
||||
<div class="accordion-body">
|
||||
<?php echo $this->p->t('anrechnung', 'reviewAnrechnungInfoHerkunftKenntnisseBody'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,80 +1,85 @@
|
||||
<?php
|
||||
|
||||
$includesArray = array(
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenPruefen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'tabulator4' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tablewidget' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'begruendung',
|
||||
'zgv'
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'nachweisdokumente',
|
||||
'empfehlung',
|
||||
'herkunft'
|
||||
),
|
||||
'ui' => array(
|
||||
'anzeigen',
|
||||
'alleAnzeigen',
|
||||
'hilfeZuDieserSeite',
|
||||
'hochladen',
|
||||
'spaltenEinstellen',
|
||||
'hilfeZuDieserSeite',
|
||||
'alleAuswaehlen',
|
||||
'alleAbwaehlen',
|
||||
'ausgewaehlteZeilen',
|
||||
'hilfe',
|
||||
'tabelleneinstellungen',
|
||||
'keineDatenVorhanden',
|
||||
'spaltenEinstellen',
|
||||
'ja',
|
||||
'nein',
|
||||
'nichtSelektierbarAufgrundVon',
|
||||
'systemfehler',
|
||||
'bitteMindEinenAntragWaehlen',
|
||||
'bitteBegruendungAngeben',
|
||||
'anrechnungenWurdenEmpfohlen',
|
||||
'anrechnungenWurdenNichtEmpfohlen'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
'personenkennzeichen',
|
||||
'vorname',
|
||||
'nachname'
|
||||
),
|
||||
'lehre' => array(
|
||||
'studiensemester',
|
||||
'studiengang',
|
||||
'lehrveranstaltung',
|
||||
'ects',
|
||||
'lektor',
|
||||
),
|
||||
'table' => array(
|
||||
'spaltenEinAusblenden',
|
||||
'spaltenEinAusblendenMitKlickOeffnen',
|
||||
'spaltenEinAusblendenAufEinstellungenKlicken',
|
||||
'spaltenEinAusblendenMitKlickAktivieren',
|
||||
'spaltenEinAusblendenMitKlickSchliessen',
|
||||
'spaltenbreiteVeraendern',
|
||||
'spaltenbreiteVeraendernText',
|
||||
'spaltenbreiteVeraendernInfotext',
|
||||
'zeilenAuswaehlen',
|
||||
'zeilenAuswaehlenEinzeln',
|
||||
'zeilenAuswaehlenBereich',
|
||||
'zeilenAuswaehlenAlle'
|
||||
)
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js'
|
||||
)
|
||||
'title' => $this->p->t('anrechnung', 'anrechnungenPruefen'),
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'bootstrap5' => true,
|
||||
'fontawesome4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'cis' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tablewidget' => true,
|
||||
'phrases' => array(
|
||||
'global' => array(
|
||||
'begruendung',
|
||||
'zgv'
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'nachweisdokumente',
|
||||
'empfehlung',
|
||||
'herkunft'
|
||||
),
|
||||
'ui' => array(
|
||||
'anzeigen',
|
||||
'alleAnzeigen',
|
||||
'hilfeZuDieserSeite',
|
||||
'hochladen',
|
||||
'spaltenEinstellen',
|
||||
'hilfeZuDieserSeite',
|
||||
'alleAuswaehlen',
|
||||
'alleAbwaehlen',
|
||||
'ausgewaehlteZeilen',
|
||||
'hilfe',
|
||||
'tabelleneinstellungen',
|
||||
'keineDatenVorhanden',
|
||||
'spaltenEinstellen',
|
||||
'ja',
|
||||
'nein',
|
||||
'nichtSelektierbarAufgrundVon',
|
||||
'systemfehler',
|
||||
'bitteMindEinenAntragWaehlen',
|
||||
'bitteBegruendungAngeben',
|
||||
'anrechnungenWurdenEmpfohlen',
|
||||
'anrechnungenWurdenNichtEmpfohlen'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
'personenkennzeichen',
|
||||
'vorname',
|
||||
'nachname'
|
||||
),
|
||||
'lehre' => array(
|
||||
'studiensemester',
|
||||
'studiengang',
|
||||
'lehrveranstaltung',
|
||||
'ects',
|
||||
'lektor',
|
||||
),
|
||||
'table' => array(
|
||||
'spaltenEinAusblenden',
|
||||
'spaltenEinAusblendenMitKlickOeffnen',
|
||||
'spaltenEinAusblendenAufEinstellungenKlicken',
|
||||
'spaltenEinAusblendenMitKlickAktivieren',
|
||||
'spaltenEinAusblendenMitKlickSchliessen',
|
||||
'spaltenbreiteVeraendern',
|
||||
'spaltenbreiteVeraendernText',
|
||||
'spaltenbreiteVeraendernInfotext',
|
||||
'zeilenAuswaehlen',
|
||||
'zeilenAuswaehlenEinzeln',
|
||||
'zeilenAuswaehlenBereich',
|
||||
'zeilenAuswaehlenAlle'
|
||||
)
|
||||
),
|
||||
'customCSSs' => array(
|
||||
'public/css/lehre/anrechnung.css'
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/anrechnung/reviewAnrechnungUebersicht.js'
|
||||
)
|
||||
);
|
||||
|
||||
if (defined("CIS4")) {
|
||||
@@ -94,147 +99,152 @@ if (defined("CIS4")) {
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungenPruefen'); ?>
|
||||
<small>| <?php echo ucfirst($this->p->t('global', 'uebersicht')); ?></small>
|
||||
<div class="col-lg-12 my-4 border-bottom">
|
||||
<h3 class="fw-normal">
|
||||
<?php echo $this->p->t('anrechnung', 'anrechnungenPruefen'); ?>
|
||||
<small class="text-secondary fs-6">|
|
||||
<?php echo ucfirst($this->p->t('global', 'uebersicht')); ?></small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<!-- dropdown studiensemester -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="formApproveAnrechnungUebersicht" class="form-inline" action="" method="get">
|
||||
<div class="form-group">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
)
|
||||
);
|
||||
?>
|
||||
<form id="formReviewAnrechnungUebersicht" class="row align-items-center" action="" method="get">
|
||||
<div class="col-auto">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
array(
|
||||
DropdownWidget::SELECTED_ELEMENT => $studiensemester_selected
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester',
|
||||
'class' => 'form-select w-auto ',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<button type="submit"
|
||||
class="btn btn-default form-group"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
class="btn btn-outline-secondary col-auto"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Tabelle -->
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<?php $this->load->view('lehre/anrechnung/reviewAnrechnungUebersichtData.php');?>
|
||||
<div class="col-12">
|
||||
<?php $this->load->view('lehre/anrechnung/reviewAnrechnungUebersichtData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Empfehlung / Nicht Empfehlung Panel -->
|
||||
<div class="row">
|
||||
<div class="panel panel-default panel-body" style="display: none"
|
||||
id="reviewAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungenNegativQuestion'); ?></h4>
|
||||
<b><span> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></span>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ul class="list-group">
|
||||
<div class="border border-1 mb-4" style="display: none" id="reviewAnrechnungUebersicht-begruendung-panel">
|
||||
<div class="mb-4 col-12">
|
||||
<h4 class="card card-body border-danger text-danger my-3">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungenNegativQuestion'); ?>
|
||||
</h4>
|
||||
<div class="mb-4">
|
||||
<b><span> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></span>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span></b>
|
||||
</div>
|
||||
|
||||
<ul class="list-group mb-4">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<span class="btn-copyIntoTextarea float-end" data-bs-toggle="tooltip"
|
||||
data-bs-placement="right" title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item disabled">
|
||||
<li class="list-group-item list-group-item-secondary">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertigWeilHinweis'); ?>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="form-control" name="begruendung" id="reviewAnrechnungUebersicht-begruendung"
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Action Button Abbrechen & Bestaetigen-->
|
||||
<div class="pull-right">
|
||||
<div class=" mb-4 d-flex justify-content-end">
|
||||
<button id="reviewAnrechnungUebersicht-begruendung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="reviewAnrechnungUebersicht-dont-recommend-anrechnungen-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel panel-default panel-body" style="display: none"
|
||||
id="reviewAnrechnungUebersicht-empfehlung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-success text-success"><?php echo $this->p->t('anrechnung', 'empfehlungenPositivQuestion'); ?></h4>
|
||||
 <?php echo $this->p->t('anrechnung', 'empfehlungenPositiv'); ?><br><br>
|
||||
<div class="border border-1 mb-4" style="display: none" id="reviewAnrechnungUebersicht-empfehlung-panel">
|
||||
<div class="mb-4">
|
||||
<h4 class="card card-body border-success text-success my-3">
|
||||
<?php echo $this->p->t('anrechnung', 'empfehlungenPositivQuestion'); ?>
|
||||
</h4>
|
||||
<div class="ps-2 mb-4"><?php echo $this->p->t('anrechnung', 'empfehlungenPositiv'); ?></div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
<div class="pull-right">
|
||||
<div class="mb-4 d-flex justify-content-end">
|
||||
<button id="reviewAnrechnungUebersicht-empfehlung-abbrechen"
|
||||
class="btn btn-default btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
class="me-1 btn btn-outline-secondary btn-w200" type="reset">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
<button id="reviewAnrechnungUebersicht-recommend-anrechnungen-confirm"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('ui', 'bestaetigen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Filter buttons / Submit buttons-->
|
||||
<div class="row">
|
||||
|
||||
<!-- Filter buttons -->
|
||||
<div class="col-xs-3">
|
||||
<div class="col-3">
|
||||
<div class="btn-toolbar" role="toolbar">
|
||||
<div class="btn-group" role="group">
|
||||
<button id="show-need-recommendation" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurFehlendeEmpfehlungenAnzeigen'); ?>"><i
|
||||
class='fa fa-eye'></i>
|
||||
<button id="show-need-recommendation" class="btn btn-outline-secondary btn-clearfilter"
|
||||
type="button" data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'nurFehlendeEmpfehlungenAnzeigen'); ?>"><i
|
||||
class='fa fa-eye'></i>
|
||||
</button>
|
||||
<button id="show-recommended" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-up'></i>
|
||||
<button id="show-recommended" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'nurEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-up'></i>
|
||||
</button>
|
||||
<button id="show-not-recommended" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurNichtEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-down'></i>
|
||||
<button id="show-not-recommended" class="btn btn-outline-secondary btn-clearfilter"
|
||||
type="button" data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'nurNichtEmpfohleneAnzeigen'); ?>"><i
|
||||
class='fa fa-thumbs-o-down'></i>
|
||||
</button>
|
||||
<button id="show-approved" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurGenehmigteAnzeigen'); ?>"><i
|
||||
class='fa fa-check'></i>
|
||||
<button id="show-approved" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'nurGenehmigteAnzeigen'); ?>"><i
|
||||
class='fa fa-check'></i>
|
||||
</button>
|
||||
<button id="show-rejected" class="btn btn-default btn-clearfilter" type="button"
|
||||
data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'nurAbgelehnteAnzeigen'); ?>"><i
|
||||
class='fa fa-times'></i>
|
||||
<button id="show-rejected" class="btn btn-outline-secondary btn-clearfilter" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" data-bs-html="true"
|
||||
title="<?php echo $this->p->t('ui', 'nurAbgelehnteAnzeigen'); ?>"><i
|
||||
class='fa fa-times'></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Action Buttons 'Empfehlen', 'Nicht empfehlen'-->
|
||||
<div class="col-xs-9">
|
||||
<div class="pull-right">
|
||||
<div class="col-9">
|
||||
<div class="d-flex justify-content-end">
|
||||
<button id="reviewAnrechnungUebersicht-dont-recommend-anrechnungen-ask"
|
||||
class="btn btn-danger btn-w200" type="button">
|
||||
class="me-1 btn btn-danger btn-w200" type="button">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'nichtEmpfehlen')); ?></button>
|
||||
<button id="reviewAnrechnungUebersicht-recommend-anrechnungen-ask"
|
||||
class="btn btn-primary btn-w200" type="button">
|
||||
<button id="reviewAnrechnungUebersicht-recommend-anrechnungen-ask" class="btn btn-primary btn-w200"
|
||||
type="button">
|
||||
<?php echo ucfirst($this->p->t('anrechnung', 'empfehlen')); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -255,4 +265,3 @@ if (defined("CIS4")) {
|
||||
);
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -70,9 +70,8 @@ $query = '
|
||||
ORDER BY lehrveranstaltung_id, benutzer.uid, lehrfunktion_kurzbz DESC
|
||||
)';
|
||||
|
||||
if ($configFachbereichsleitung === TRUE)
|
||||
{
|
||||
$query.= '
|
||||
if ($configFachbereichsleitung === TRUE) {
|
||||
$query .= '
|
||||
SELECT
|
||||
-- immer empfehlungsberechtigt, da hier nur Leitungen der LV-OE eine Empfehlungsanfrage erhalten
|
||||
TRUE AS empfehlungsberechtigt,
|
||||
@@ -95,10 +94,8 @@ if ($configFachbereichsleitung === TRUE)
|
||||
)
|
||||
order by empfehlung_anrechnung NULLS FIRST, antragsdatum
|
||||
';
|
||||
}
|
||||
else
|
||||
{
|
||||
$query.= '
|
||||
} else {
|
||||
$query .= '
|
||||
SELECT DISTINCT ON (anrechnungen.*, lema.mitarbeiter_uid)
|
||||
CASE
|
||||
-- erst prüfen, ob es überhaupt eine LV Leitung gibt (wenn nicht, dann immer empfehlungsberechtigt)
|
||||
@@ -127,11 +124,12 @@ else
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => $query,
|
||||
'bootstrapVersion' => 5,
|
||||
'tableUniqueId' => 'approveAnrechnungUebersicht',
|
||||
'requiredPermissions' => 'lehre/anrechnung_empfehlen',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
'columnsAliases' => array(
|
||||
'Empfehlungsberechtigt',
|
||||
'Empfehlungsberechtigt',
|
||||
'anrechnung_id',
|
||||
'lehrveranstaltung_id',
|
||||
'begruendung_id',
|
||||
@@ -157,33 +155,29 @@ $filterWidgetArray = array(
|
||||
persistentLayout:true,
|
||||
persistentSort:true,
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
initialHeaderFilter: [{field:"empfehlungsberechtigt", value: true}],
|
||||
index: "anrechnung_id", // assign specific column as unique id (important for row indexing)
|
||||
selectable: true, // allow row selection
|
||||
selectableRangeMode: "click", // allow range selection using shift end click on end of range
|
||||
selectablePersistence:false, // deselect previously selected rows when table is filtered, sorted or paginated
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
tableWidgetFooter: {
|
||||
selectButtons: true
|
||||
},
|
||||
|
||||
selectableCheck: function(row){
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
tooltips: function(cell){
|
||||
return func_tooltips(cell);
|
||||
}
|
||||
rowFormatter:function(row){
|
||||
return func_rowFormatter(row);
|
||||
},
|
||||
columnDefaults:{
|
||||
tooltip:func_tooltips,
|
||||
headerFilterPlaceholder: " ",
|
||||
}
|
||||
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
empfehlungsberechtigt: {formatter:"tickCross", align:"center", headerTooltip:"Berechtigt wenn man die LV leitet oder wenn der LV keine LV-Leitung zugeordnet ist.",
|
||||
empfehlungsberechtigt: {formatter:"tickCross", hozAlign:"center", headerTooltip:"Berechtigt wenn man die LV leitet oder wenn der LV keine LV-Leitung zugeordnet ist.",
|
||||
headerFilter:"tickCross", headerFilterParams:{"tristate": true}, headerFilterFunc: hf_empfehlungsberechtigt
|
||||
},
|
||||
anrechnung_id: {visible: false, headerFilter:"input"},
|
||||
@@ -194,14 +188,14 @@ $filterWidgetArray = array(
|
||||
studiengang_kz: {visible: false, headerFilter:"input"},
|
||||
stg_bezeichnung: {headerFilter:"input"},
|
||||
lv_bezeichnung: {headerFilter:"input"},
|
||||
ects: {headerFilter:"input", align:"center"},
|
||||
ects: {headerFilter:"input", hozAlign:"center"},
|
||||
student: {headerFilter:"input"},
|
||||
begruendung: {headerFilter:"input"},
|
||||
zgv: {headerFilter:"input"},
|
||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams: paramLookup_dokBez},
|
||||
anmerkung_student: {headerFilter:"input"},
|
||||
antragsdatum: {align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
antragsdatum: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlung_anrechnung: {headerFilter:"input", hozAlign:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
status_kurzbz: {visible: false, headerFilter:"input"},
|
||||
status_bezeichnung: {headerFilter:"input"}
|
||||
}', // col properties
|
||||
@@ -209,4 +203,4 @@ $filterWidgetArray = array(
|
||||
|
||||
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -16,7 +16,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -33,6 +32,5 @@ $this->load->view(
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -13,7 +13,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -34,6 +33,5 @@ $this->load->view(
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -6,10 +6,12 @@ $this->load->view(
|
||||
'jquery3' => true,
|
||||
'jqueryui1' => true,
|
||||
'jquerycheckboxes1' => true,
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'bootstrap5' => true,
|
||||
'fontawesome6' => true,
|
||||
'sbadmintemplate' => false,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'cis'=>true,
|
||||
'momentjs2' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
@@ -84,14 +86,14 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- title & helper link -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<a class="pull-right" data-toggle="collapse" href="#collapseHelp" aria-expanded="false" aria-controls="collapseExample">
|
||||
<a class="float-end" data-bs-toggle="collapse" href="#collapseHelp" aria-expanded="false" aria-controls="collapseExample">
|
||||
<?php echo $this->p->t('ui', 'hilfeZuDieserSeite'); ?>
|
||||
</a>
|
||||
<h3>
|
||||
@@ -102,19 +104,20 @@ $this->load->view(
|
||||
|
||||
<!-- helper collapse module -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 collapse" id="collapseHelp">
|
||||
<div class="well">
|
||||
<div class="col-lg-12 collapse my-4" id="collapseHelp">
|
||||
<div class="card p-3">
|
||||
|
||||
<?php $this->load->view('lehre/lehrauftrag/acceptLehrauftragHelp') ?>
|
||||
</div> <!--./well-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- dropdown widgets -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="formLehrauftrag" class="form-inline" action="" method="get">
|
||||
<form id="formLehrauftrag" class="row align-items-center" action="" method="get">
|
||||
<input type="hidden" id="uid" name="uid" value="<?php echo getAuthUID(); ?>">
|
||||
<div class="form-group">
|
||||
<div class="col-auto">
|
||||
<?php
|
||||
echo $this->widgetlib->widget(
|
||||
'Studiensemester_widget',
|
||||
@@ -123,12 +126,13 @@ $this->load->view(
|
||||
),
|
||||
array(
|
||||
'name' => 'studiensemester',
|
||||
'id' => 'studiensemester'
|
||||
'id' => 'studiensemester',
|
||||
'class' => 'form-select w-auto ',
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
<button type="submit" name="submit" value="anzeigen" class="btn btn-default form-group"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
<button type="submit" name="submit" value="anzeigen" class="btn btn-outline-secondary col-auto"><?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?></button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -144,10 +148,10 @@ $this->load->view(
|
||||
<!-- link for external lectors 'Informationsblatt fuer externe Lehrende'. Show only for external lecturers -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<span class="pull-left"><?php echo $this->p->t('ui' , 'hinweistextLehrauftrag'); ?></span>
|
||||
<div class="col-12">
|
||||
<span class="float-start"><?php echo $this->p->t('ui' , 'hinweistextLehrauftrag'); ?></span>
|
||||
<?php if ($is_external_lector): ?>
|
||||
<span class="pull-right"><?php echo $this->p->t('dms' , 'informationsblattExterneLehrende'); ?></span>
|
||||
<span class="float-start"><?php echo $this->p->t('dms' , 'informationsblattExterneLehrende'); ?></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -156,46 +160,46 @@ $this->load->view(
|
||||
|
||||
<!-- filter buttons & PDF downloads & password field & akzeptieren-button -->
|
||||
<div class="row">
|
||||
<div class="col-xs-5 col-md-4">
|
||||
<div class="col-5 col-md-4">
|
||||
<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="<?php echo $this->p->t('ui', 'alleAnzeigen'); ?>"><i class='fa fa-users'></i>
|
||||
<button id="show-all" class="btn btn-outline-secondary btn-lehrauftrag active focus" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" title="<?php echo $this->p->t('ui', 'alleAnzeigen'); ?>"><i class='fa fa-users'></i>
|
||||
</button>
|
||||
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button"
|
||||
data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>">
|
||||
</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="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa fa-handshake-o'></i>
|
||||
<button id="show-approved" class="btn btn-outline-secondary btn-lehrauftrag" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" title="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>"><i class='fa fa-user-check'></i>
|
||||
</button>
|
||||
<button id="show-accepted" class="btn btn-outline-secondary btn-lehrauftrag" type="button"
|
||||
data-bs-toggle="tooltip" data-bs-placement="left" title="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa-regular fa-handshake'></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="<?php echo $this->p->t('ui', 'nurStornierteAnzeigen'); ?>"
|
||||
data-target ="#collapseCancelledLehrauftraege" aria-expanded="false" aria-controls="collapseExample">
|
||||
</button><!-- png img set in javascript -->
|
||||
<button id="show-cancelled" class="btn btn-outline-secondary btn-lehrauftrag" type="button" style="margin-left: 20px;"
|
||||
data-bs-toggle="collapse" data-placement="left" title="<?php echo $this->p->t('ui', 'nurStornierteAnzeigen'); ?>"
|
||||
data-bs-target ="#collapseCancelledLehrauftraege" aria-expanded="false" aria-controls="collapseExample"><i class="fa fa-user-xmark"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-3 col-md-offset-2 col-md-2">
|
||||
<div class="btn-group dropup pull-right">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<div class="col-3 offset-md-2 col-md-2">
|
||||
<div class="btn-group dropup float-end">
|
||||
<button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<?php echo $this->p->t('global', 'dokumentePDF'); ?> <i class="fa fa-arrow-down"></i> <span class="caret"></span>
|
||||
</button>
|
||||
<ul id="ul-download-pdf" class="dropdown-menu">
|
||||
<li value="etw"><a href="#"><?php echo $this->p->t('global', 'PDFLehrauftraegeFH'); ?></a></li>
|
||||
<li value="lehrgang"><a href="#"><?php echo $this->p->t('global', 'PDFLehrauftraegeLehrgaenge'); ?></a></li>
|
||||
<li value="etw"><a class="dropdown-item" href="#"><?php echo $this->p->t('global', 'PDFLehrauftraegeFH'); ?></a></li>
|
||||
<li value="lehrgang"><a class="dropdown-item" href="#"><?php echo $this->p->t('global', 'PDFLehrauftraegeLehrgaenge'); ?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-4 col-md-offset-0 col-md-4">
|
||||
<div class="col-4 offset-md-0 col-md-4">
|
||||
<div class="input-group">
|
||||
<input id="username" autocomplete="username" style="position: absolute; opacity: 0;"><!-- this is to prevent Chrome autofilling a random input field with the username-->
|
||||
<input id="password" type="password" autocomplete="new-password" class="form-control" placeholder="CIS-<?php echo ucfirst($this->p->t('password', 'password')); ?>">
|
||||
<span class="input-group-btn">
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary pull-right"><?php echo ucfirst($this->p->t('global', 'lehrauftraegeAnnehmen')); ?></button>
|
||||
<button id="accept-lehrauftraege" class="btn btn-primary float-end"><?php echo ucfirst($this->p->t('global', 'lehrauftraegeAnnehmen')); ?></button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -225,7 +229,6 @@ $this->load->view(
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -294,6 +294,7 @@ ORDER BY "akzeptiert" NULLS FIRST, "erteilt" NULLS LAST, "bestellt"
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => $query,
|
||||
'bootstrapVersion' => 5,
|
||||
'tableUniqueId' => 'acceptLehrauftrag',
|
||||
'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
@@ -330,7 +331,6 @@ $filterWidgetArray = array(
|
||||
height: func_height(this),
|
||||
layout: "fitColumns", // fit columns to width of table
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
index: "row_index", // assign specific column as unique id (important for row indexing)
|
||||
selectable: true, // allow row selection
|
||||
selectableRangeMode: "click", // allow range selection using shift end click on end of range
|
||||
@@ -338,24 +338,16 @@ $filterWidgetArray = array(
|
||||
selectableCheck: function(row){
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
renderComplete:function(){
|
||||
func_renderComplete(this);
|
||||
},
|
||||
renderStarted:function(){
|
||||
func_renderStarted(this);
|
||||
},
|
||||
|
||||
tableWidgetFooter: {
|
||||
selectButtons: true
|
||||
}
|
||||
},
|
||||
columnsDefaults:{
|
||||
headerFilterPlaceholder: " ",
|
||||
}
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
row_index: {visible:false}, // necessary for row indexing
|
||||
@@ -375,11 +367,11 @@ $filterWidgetArray = array(
|
||||
orgform_kurzbz: {visible: false, headerFilter:"input"},
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
stunden: {hozAlign:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}
|
||||
},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
betrag: {hozAlign:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}
|
||||
},
|
||||
@@ -387,9 +379,9 @@ $filterWidgetArray = array(
|
||||
vertrag_stunden: {visible: false},
|
||||
vertrag_betrag: {visible: false},
|
||||
mitarbeiter_uid: {visible: false, headerFilter:"input"},
|
||||
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: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
|
||||
erteilt: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
|
||||
akzeptiert: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
|
||||
bestellt_von: {visible: false, headerFilter:"input"},
|
||||
erteilt_von: {visible: false, headerFilter:"input"},
|
||||
akzeptiert_von: {visible: false, headerFilter:"input"}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<h4><?php echo $this->p->t('lehre', 'lehrauftraegeAnnehmen'); ?></h4>
|
||||
<div class="panel panel-body">
|
||||
|
||||
<div class="card-body">
|
||||
<?php echo $this->p->t('lehre', 'lehrauftraegeAnnehmenText'); ?>
|
||||
<ol>
|
||||
<li><?php echo $this->p->t('lehre', 'lehrauftraegeAnnehmenKlickStatusicon'); ?></li>
|
||||
@@ -7,22 +8,26 @@
|
||||
<li><?php echo $this->p->t('lehre', 'lehrauftraegeAnnehmenMitKlickAnnehmen'); ?></li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h4><?php echo $this->p->t('lehre', 'lehrauftraegeNichtAuswaehlbar'); ?></h4>
|
||||
<div class="panel panel-body">
|
||||
|
||||
<div class="card-body">
|
||||
<?php echo $this->p->t('lehre', 'lehrauftraegeNichtAuswaehlbarTextBeiAnnahme'); ?>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<h4>Filter</h4>
|
||||
<div class="panel panel-body">
|
||||
<div class="col-xs-12 col-md-8 col-lg-6">
|
||||
|
||||
<div class="card-body">
|
||||
<div class="col-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-check.png" style="height: 30px; width: 30px;"></td>
|
||||
<td class="col-xs-1"><i class='fa fa-handshake-o'></i></td>
|
||||
<td class="col-1"><i class='fa fa-users'></i></td>
|
||||
<td class="col-1"><i class='fa fa-user-check'></i></td>
|
||||
<td class="col-1"><i class='fa-regular fa-handshake'></i></td>
|
||||
</tr>
|
||||
<tr class="text-center">
|
||||
<td><?php echo $this->p->t('lehre', 'filterAlleBeiAnnahme'); ?></td>
|
||||
@@ -31,5 +36,6 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
@@ -7,9 +7,10 @@ $this->load->view(
|
||||
'jqueryui1' => true,
|
||||
'jquerycheckboxes1' => true,
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'fontawesome6' => true,
|
||||
'sbadmintemplate3' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'momentjs2' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
@@ -88,14 +89,13 @@ $this->load->view(
|
||||
)
|
||||
),
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/lehrauftrag/approveLehrauftrag.js'
|
||||
)
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -190,12 +190,12 @@ $this->load->view(
|
||||
<div class="btn-group" role="group">
|
||||
<button id="show-all" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'alleAnzeigen'); ?>"><i class='fa fa-users'></i></button>
|
||||
<button id="show-new" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurNeueAnzeigen'); ?>"><i class='fa fa-user-plus'></i></button>
|
||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurBestellteAnzeigen'); ?>"></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="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>"></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="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa fa-handshake-o'></i></button>
|
||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurBestellteAnzeigen'); ?>"><i class='fa fa-user-tag'></i></button>
|
||||
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>"><i class='fa fa-user-check'></i></button>
|
||||
<button id="show-accepted" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa-regular fa-handshake'></i></button>
|
||||
</div>
|
||||
<div class="btn-group" role="group" style="margin-left: 20px;">
|
||||
<button id="show-changed" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurGeaenderteAnzeigen'); ?>"></button><!-- png img set in javascript -->
|
||||
<button id="show-changed" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurGeaenderteAnzeigen'); ?>"><i class='fa fa-user-pen'></i></button>
|
||||
</div>
|
||||
<div class="btn-group" role="group" style="margin-left: 20px;">
|
||||
<button id="show-dummies" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurDummiesAnzeigen'); ?>"><i class='fa fa-user-secret'></i></button>
|
||||
@@ -207,7 +207,6 @@ $this->load->view(
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -346,7 +346,6 @@ $filterWidgetArray = array(
|
||||
layout: "fitColumns", // fit columns to width of table
|
||||
layoutColumnsOnNewData: true, // ajust column widths to the data each time TableWidget is loaded
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
groupBy:"lehrveranstaltung_id",
|
||||
groupToggleElement:"header", //toggle group on click anywhere in the group header
|
||||
groupHeader: function(value, count, data, group){
|
||||
@@ -361,22 +360,16 @@ $filterWidgetArray = array(
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
initialFilter: func_initialFilter(),
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowFormatter:function(row)
|
||||
{
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
renderStarted:function(){
|
||||
func_renderStarted(this);
|
||||
},
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
tableWidgetFooter: {
|
||||
selectButtons: true
|
||||
}
|
||||
},
|
||||
columnDefaults:{
|
||||
headerFilterPlaceholder: " ",
|
||||
}
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
// column status is built dynamically in funcTableBuilt(),
|
||||
@@ -400,21 +393,21 @@ $filterWidgetArray = array(
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
|
||||
lektor: {headerFilter:"input", widthGrow: 2},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
stunden: {hozAlign:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}},
|
||||
stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
|
||||
stundensatz: {visible: true, hozAlign:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
betrag: {hozAlign:"right", 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, headerFilter:"input"},
|
||||
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: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
|
||||
erteilt: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
|
||||
akzeptiert: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
|
||||
bestellt_von: {visible: false, headerFilter:"input"},
|
||||
erteilt_von: {visible: false, headerFilter:"input"},
|
||||
akzeptiert_von: {visible: false, headerFilter:"input"},
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<div class="panel panel-body">
|
||||
<table>
|
||||
<tr class="text-center">
|
||||
<td><img src="../../../public/images/icons/fa-user-tag.png" style="height: 60px; width: 60px;"></td>
|
||||
<td><i class='fa fa-2x fa-user-tag'></i></td>
|
||||
<td><i class='fa fa-2x fa-long-arrow-right'></i></td>
|
||||
<td><img src="../../../public/images/icons/fa-user-check.png" style="height: 60px; width: 60px;"></td>
|
||||
<td><i class='fa fa-2x fa-user-check'></i></td>
|
||||
<td><i class='fa fa-2x fa-long-arrow-right'></i></td>
|
||||
<td><i class='fa fa-2x fa-handshake-o'></i></td>
|
||||
<td><i class='fa-regular fa-2x fa-handshake'></i></td>
|
||||
</tr>
|
||||
<tr class="text-center">
|
||||
<td class="text-muted"><?php echo $this->p->t('lehre', 'lehrauftragStandardBestellprozessBestellen'); ?></td>
|
||||
@@ -48,10 +48,10 @@
|
||||
<tr class="text-center">
|
||||
<td class="col-xs-1"><i class='fa fa-users'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-plus'></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>
|
||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-edit.png" style="height: 30px; width: 30px;"></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-tag'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-check'></i></td>
|
||||
<td class="col-xs-1"><i class='fa-regular fa-handshake'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-pen'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-secret'></i></td>
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -50,6 +50,7 @@ $query = '
|
||||
|
||||
$tableWidgetArray = array(
|
||||
'query' => $query,
|
||||
'bootstrapVersion' => 5,
|
||||
'tableUniqueId' => 'cancelledLehrauftrag',
|
||||
'requiredPermissions' => 'lehre/lehrauftrag_akzeptieren',
|
||||
'datasetRepresentation' => 'tabulator',
|
||||
@@ -70,12 +71,7 @@ $tableWidgetArray = array(
|
||||
selectableCheck: function(row){
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
renderComplete:function(){
|
||||
func_renderComplete(this);
|
||||
},
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
vertrag_id: {visible: false},
|
||||
@@ -83,16 +79,16 @@ $tableWidgetArray = array(
|
||||
vertragstyp_kurzbz: {minWidth: 200},
|
||||
bezeichnung: {minWidth: 200},
|
||||
vertragsstunden: {
|
||||
align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
|
||||
hozAlign:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:1},
|
||||
minWidth: 200
|
||||
},
|
||||
betrag: {
|
||||
align:"right", formatter: form_formatNulltoStringNumber,
|
||||
hozAlign:"right", formatter: form_formatNulltoStringNumber,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money", bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"},
|
||||
minWidth: 200
|
||||
},
|
||||
storniert: {align:"center", mutator: mut_formatStringDate, tooltip: storniert_tooltip, minWidth: 200},
|
||||
storniert: {hozAlign:"center", mutator: mut_formatStringDate, tooltip: storniert_tooltip, minWidth: 200},
|
||||
storniert_von: {visible: false},
|
||||
letzterStatus_vorStorniert: {visible: false}
|
||||
}', // col properties
|
||||
|
||||
@@ -7,9 +7,10 @@ $this->load->view(
|
||||
'jqueryui1' => true,
|
||||
'jquerycheckboxes1' => true,
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'fontawesome6' => true,
|
||||
'sbadmintemplate3' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'momentjs2' => true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
@@ -95,7 +96,7 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -186,13 +187,14 @@ $this->load->view(
|
||||
<div class="btn-toolbar" role="toolbar">
|
||||
<div class="btn-group" role="group">
|
||||
<button id="show-all" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'alleAnzeigen'); ?>"><i class='fa fa-users'></i></button>
|
||||
<button id="show-new" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurNeueAnzeigen'); ?>"><i class='fa fa-user-plus'></i></button>
|
||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurBestellteAnzeigen'); ?>"></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="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>"></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="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa fa-handshake-o'></i></button>
|
||||
<button id="show-newAndChanged" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'neuUndGeaenderteAnzeigen'); ?>"><i style="margin-right:10px" class='fa fa-user-plus'></i><i style="margin-right:10px" class="fa fa-ellipsis-vertical"></i> <i class='fa fa-user-pen'></i></button>
|
||||
</div>
|
||||
<div class="btn-group" role="group" style="margin-left: 20px;">
|
||||
<button id="show-changed" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurGeaenderteAnzeigen'); ?>"></button><!-- png img set in javascript -->
|
||||
<button id="show-new" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurNeueAnzeigen'); ?>"><i class='fa fa-user-plus'></i></button>
|
||||
<button id="show-ordered" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurBestellteAnzeigen'); ?>"><i class='fa fa-user-tag'></i></button>
|
||||
<button id="show-approved" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurErteilteAnzeigen'); ?>"><i class='fa fa-user-check'></i></button>
|
||||
<button id="show-accepted" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurAngenommeneAnzeigen'); ?>"><i class='fa-regular fa-handshake'></i></button>
|
||||
<button id="show-changed" class="btn btn-default btn-lehrauftrag active focus" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurGeaenderteAnzeigen'); ?>"><i class='fa fa-user-pen'></i></button></button>
|
||||
</div>
|
||||
<div class="btn-group" role="group" style="margin-left: 20px;">
|
||||
<button id="show-dummies" class="btn btn-default btn-lehrauftrag" type="button" data-toggle="tooltip" data-placement="left" title="<?php echo $this->p->t('ui', 'nurDummiesAnzeigen'); ?>"><i class='fa fa-user-secret'></i></button>
|
||||
@@ -204,7 +206,6 @@ $this->load->view(
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -376,7 +376,6 @@ $filterWidgetArray = array(
|
||||
layout:"fitColumns", // fit columns to width of table
|
||||
layoutColumnsOnNewData: true, // ajust column widths to the data each time TableWidget is loaded
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
groupBy:"lehrveranstaltung_id",
|
||||
groupToggleElement:"header", //toggle group on click anywhere in the group header
|
||||
groupHeader: function(value, count, data, group){
|
||||
@@ -390,24 +389,15 @@ $filterWidgetArray = array(
|
||||
selectableCheck: function(row){
|
||||
return func_selectableCheck(row);
|
||||
},
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
},
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
renderStarted:function(){
|
||||
func_renderStarted(this);
|
||||
},
|
||||
tableBuilt: function(){
|
||||
func_tableBuilt(this);
|
||||
},
|
||||
dataLoaded: function(data){
|
||||
func_dataLoaded(data, this);
|
||||
},
|
||||
tableWidgetFooter: {
|
||||
selectButtons: true
|
||||
}
|
||||
},
|
||||
columnDefaults:{
|
||||
headerFilterPlaceholder:" ",
|
||||
}
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
// column status is built dynamically in funcTableBuilt()
|
||||
@@ -432,12 +422,12 @@ $filterWidgetArray = array(
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {headerFilter:"input"},
|
||||
lektor: {headerFilter:"input", widthGrow: 2},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
stunden: {hozAlign:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}},
|
||||
stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
|
||||
stundensatz: {visible: true, hozAlign:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
betrag: {hozAlign:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}, bottomCalcFormatter:"money",
|
||||
bottomCalcFormatterParams:{decimal: ",", thousand: ".", symbol:"€"}},
|
||||
@@ -445,9 +435,9 @@ $filterWidgetArray = array(
|
||||
vertrag_stunden: {visible: false},
|
||||
vertrag_betrag: {visible: false},
|
||||
mitarbeiter_uid: {visible: false, headerFilter:"input"},
|
||||
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: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: bestellt_tooltip},
|
||||
erteilt: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: erteilt_tooltip},
|
||||
akzeptiert: {hozAlign:"center", headerFilter:"input", mutator: mut_formatStringDate, tooltip: akzeptiert_tooltip},
|
||||
bestellt_von: {visible: false, headerFilter:"input"},
|
||||
erteilt_von: {visible: false, headerFilter:"input"},
|
||||
akzeptiert_von: {visible: false, headerFilter:"input"}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
<div class="panel panel-body">
|
||||
<table>
|
||||
<tr class="text-center">
|
||||
<td><img src="../../../public/images/icons/fa-user-tag.png" style="height: 60px; width: 60px;"></td>
|
||||
<td><i class='fa fa-2x fa-user-tag'></i></td>
|
||||
<td><i class='fa fa-2x fa-long-arrow-right'></i></td>
|
||||
<td><img src="../../../public/images/icons/fa-user-check.png" style="height: 60px; width: 60px;"></td>
|
||||
<td><i class='fa fa-2x fa-user-check'></i></td>
|
||||
<td><i class='fa fa-2x fa-long-arrow-right'></i></td>
|
||||
<td><i class='fa fa-2x fa-handshake-o'></i></td>
|
||||
<td><i class='fa-regular fa-2x fa-handshake'></i></td>
|
||||
</tr>
|
||||
<tr class="text-center">
|
||||
<td><b><?php echo $this->p->t('lehre', 'lehrauftragStandardBestellprozessBestellen'); ?></b></td>
|
||||
@@ -50,10 +50,10 @@
|
||||
<tr class="text-center">
|
||||
<td class="col-xs-1"><i class='fa fa-users'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-plus'></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>
|
||||
<td class="col-xs-1"><img src="../../../public/images/icons/fa-user-edit.png" style="height: 30px; width: 30px;"></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-tag'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-check'></i></td>
|
||||
<td class="col-xs-1"><i class='fa-regular fa-handshake'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-pen'></i></td>
|
||||
<td class="col-xs-1"><i class='fa fa-user-secret'></i></td>
|
||||
|
||||
</tr>
|
||||
|
||||
@@ -9,7 +9,8 @@ $this->load->view(
|
||||
'fontawesome4' => true,
|
||||
'momentjs2' => true,
|
||||
'ajaxlib' => true,
|
||||
'tabulator4' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'tablewidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'sbadmintemplate3' => true,
|
||||
@@ -33,6 +34,7 @@ $this->load->view(
|
||||
),
|
||||
'widgets' => true,
|
||||
'dialoglib' => true,
|
||||
|
||||
'customJSs' => array(
|
||||
'public/js/bootstrapper.js',
|
||||
'public/js/lehre/lvplanung/zverfueg.js'
|
||||
@@ -41,128 +43,130 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
<!-- title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>Zeitverfügbarkeiten verwalten<small>
|
||||
| Punktuelle Zeitverfügbarkeiten von Lehrenden für die LV-Planung verwalten</small>
|
||||
</h3>
|
||||
<!-- title -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 page-header">
|
||||
<h3>Zeitverfügbarkeiten verwalten<small>
|
||||
| Punktuelle Zeitverfügbarkeiten von Lehrenden für die LV-Planung verwalten</small>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- form -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="form-zeitverfuegbarkeit" class="form-horizontal">
|
||||
<input type="hidden" id="studsemStart" value="<?php echo $studsemStart ?>">
|
||||
<input type="hidden" id="zeitsperre_id" name="zeitsperre_id" value="">
|
||||
<!-- form -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="form-zeitverfuegbarkeit" class="form-horizontal">
|
||||
<input type="hidden" id="studsemStart" value="<?php echo $studsemStart ?>">
|
||||
<input type="hidden" id="zeitsperre_id" name="zeitsperre_id" value="">
|
||||
|
||||
<div class="form-group">
|
||||
<label for="mitarbeiter_uid" class="col-sm-1 control-label">LektorIn: </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="mitarbeiter_uid" name="mitarbeiter_uid" class="form-control select-w500" required>
|
||||
<option value="" >
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
<?php foreach ($lektor_arr as $lektor) : ?>
|
||||
<option value="<?php echo $lektor->mitarbeiter_uid ?>">
|
||||
<?php echo $lektor->nachname. ' '. $lektor->vorname ?>
|
||||
<div class="form-group">
|
||||
<label for="mitarbeiter_uid" class="col-sm-1 control-label">LektorIn: </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="mitarbeiter_uid" name="mitarbeiter_uid" class="form-control " required>
|
||||
<option value="">
|
||||
<?php echo $this->p->t('ui', 'bitteWaehlen'); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<?php foreach ($lektor_arr as $lektor): ?>
|
||||
<option value="<?php echo $lektor->mitarbeiter_uid ?>">
|
||||
<?php echo $lektor->nachname . ' ' . $lektor->vorname ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="zverfueg" class="col-sm-1 control-label">Grund: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" id="zeitsperretyp_kurzbz" value="Zeitverfügbarkeit" name="zeitsperretyp_kurzbz" readonly />
|
||||
<div class="form-group">
|
||||
<label for="zverfueg" class="col-sm-1 control-label">Grund: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" id="zeitsperretyp_kurzbz" value="Zeitverfügbarkeit"
|
||||
name="zeitsperretyp_kurzbz" readonly />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="bezeichnung" class="col-sm-1 control-label">Notiz: </label>
|
||||
<div class="col-sm-3">
|
||||
<textarea type="" id="bezeichnung" name="bezeichnung" value="" required></textarea>
|
||||
<div class="form-group">
|
||||
<label for="bezeichnung" class="col-sm-1 control-label">Notiz: </label>
|
||||
<div class="col-sm-3">
|
||||
<textarea type="" id="bezeichnung" name="bezeichnung" value="" required></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="vondatum" class="col-sm-1 control-label">Von: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="date" id="vondatum" name="vondatum" class="form-control zverfueg-datepicker" required>
|
||||
<div class="form-group">
|
||||
<label for="vondatum" class="col-sm-1 control-label">Von: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="date" id="vondatum" name="vondatum"
|
||||
class="form-control zverfueg-datepicker" required>
|
||||
</div>
|
||||
<label for="vonstunde" class="col-sm-1 control-label">Stunde (inkl.): </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="vonstunde" name="vonstunde" class="form-control ">
|
||||
<option value="">*</option>
|
||||
<?php foreach ($stunde_arr as $stunde): ?>
|
||||
<option value="<?php echo $stunde->stunde ?>">
|
||||
<?php echo $stunde->stunde .
|
||||
' [' .
|
||||
(new DateTime($stunde->beginn))->format('H:i') . ' - ' .
|
||||
(new DateTime($stunde->ende))->format('H:i') .
|
||||
']' ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<label for="vonstunde" class="col-sm-1 control-label">Stunde (inkl.): </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="vonstunde" name="vonstunde" class="form-control select-w500">
|
||||
<option value="" >*</option>
|
||||
<?php foreach ($stunde_arr as $stunde) : ?>
|
||||
<option value="<?php echo $stunde->stunde ?>">
|
||||
<?php echo $stunde->stunde.
|
||||
' ['.
|
||||
(new DateTime($stunde->beginn))->format('H:i'). ' - '.
|
||||
(new DateTime($stunde->ende))->format('H:i').
|
||||
']' ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="bisdatum" class="col-sm-1 control-label">Bis: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="date" id="bisdatum" name="bisdatum" class="form-control zverfueg-datepicker" required>
|
||||
<div class="form-group">
|
||||
<label for="bisdatum" class="col-sm-1 control-label">Bis: </label>
|
||||
<div class="col-sm-3">
|
||||
<input type="date" id="bisdatum" name="bisdatum"
|
||||
class="form-control zverfueg-datepicker" required>
|
||||
</div>
|
||||
<label for="bisstunde" class="col-sm-1 control-label">Stunde (inkl.): </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="bisstunde" name="bisstunde" class="form-control ">
|
||||
<option value="">*</option>
|
||||
<?php foreach ($stunde_arr as $stunde): ?>
|
||||
<option value="<?php echo $stunde->stunde ?>">
|
||||
<?php echo $stunde->stunde .
|
||||
' [' .
|
||||
(new DateTime($stunde->beginn))->format('H:i') . ' - ' .
|
||||
(new DateTime($stunde->ende))->format('H:i') .
|
||||
']' ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<label for="bisstunde" class="col-sm-1 control-label">Stunde (inkl.): </label>
|
||||
<div class="col-sm-3">
|
||||
<select id="bisstunde" name="bisstunde" class="form-control select-w500">
|
||||
<option value="" >*</option>
|
||||
<?php foreach ($stunde_arr as $stunde) : ?>
|
||||
<option value="<?php echo $stunde->stunde ?>">
|
||||
<?php echo $stunde->stunde.
|
||||
' ['.
|
||||
(new DateTime($stunde->beginn))->format('H:i'). ' - '.
|
||||
(new DateTime($stunde->ende))->format('H:i').
|
||||
']' ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-8">
|
||||
<button type="submit" id="btn-save" class="btn btn-primary btn-w200 pull-right">
|
||||
<?php echo ucfirst($this->p->t('ui', 'speichern')); ?>
|
||||
</button>
|
||||
<button type="button" id="btn-delete" class="btn btn-danger btn-w200 btn-mr5 pull-right" disabled
|
||||
data-toggle="tooltip" data-placement="right"
|
||||
<div class="col-sm-8">
|
||||
<button type="submit" id="btn-save" style="width:200px;" class="btn btn-primary pull-right">
|
||||
<?php echo ucfirst($this->p->t('ui', 'speichern')); ?>
|
||||
</button>
|
||||
<button type="button" id="btn-delete" style="width:200px; margin-right:10px"
|
||||
class="btn btn-danger pull-right" disabled data-toggle="tooltip" data-placement="right"
|
||||
title="Zum Löschen LektorIn aus Tabelle wählen">
|
||||
<?php echo ucfirst($this->p->t('ui', 'loeschen')); ?>
|
||||
</button>
|
||||
<button type="reset" id="btn-break" class="btn btn-default btn-w200 btn-mr5 pull-right">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<?php echo ucfirst($this->p->t('ui', 'loeschen')); ?>
|
||||
</button>
|
||||
<button type="reset" id="btn-break" style="width:200px; margin-right:10px"
|
||||
class="btn btn-default pull-right">
|
||||
<?php echo ucfirst($this->p->t('ui', 'abbrechen')); ?>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- data table -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<?php $this->load->view('lehre/lvplanung/adminZeitverfuegbarkeitData.php'); ?>
|
||||
<!-- data table -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<?php $this->load->view('lehre/lvplanung/adminZeitverfuegbarkeitData.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
</body>
|
||||
</div><!-- end container -->
|
||||
</div><!-- end page-wrapper -->
|
||||
<br>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
@@ -15,7 +15,7 @@ $qry = '
|
||||
JOIN lehre.tbl_lehrveranstaltung lv USING (lehrveranstaltung_id)
|
||||
JOIN public.tbl_studiensemester ss USING (studiensemester_kurzbz)
|
||||
JOIN campus.tbl_zeitsperre zsp ON zsp.mitarbeiter_uid = lema.mitarbeiter_uid
|
||||
WHERE lv.studiengang_kz IN ('. implode (',', $STUDIENGANG_KZ_ARR). ')
|
||||
WHERE lv.studiengang_kz IN (' . implode(',', $STUDIENGANG_KZ_ARR) . ')
|
||||
AND b.aktiv
|
||||
AND zsp.vondatum >= ss.start
|
||||
AND zeitsperretyp_kurzbz = \'ZVerfueg\'
|
||||
@@ -40,18 +40,17 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('global', 'notiz'))
|
||||
),
|
||||
'datasetRepOptions' => '{
|
||||
height: func_height(this),
|
||||
layout: "fitColumns", // fit columns to width of table
|
||||
autoResize: false, // prevent auto resizing of table (false to allow adapting table size when cols are (de-)activated
|
||||
headerFilterPlaceholder: " ",
|
||||
index: "zeitsperre_id", // assign specific column as unique id (important for row indexing)
|
||||
selectable: 1, // allow row selection
|
||||
tableWidgetHeader: false,
|
||||
rowSelected: function(row) {
|
||||
func_rowSelected(row);
|
||||
columnDefaults:{
|
||||
headerFilterPlaceholder: " ",
|
||||
},
|
||||
rowDeselected: function(row) {
|
||||
func_rowDeselected(row);
|
||||
}
|
||||
|
||||
|
||||
}', // tabulator properties
|
||||
'datasetRepFieldsDefs' => '{
|
||||
zeitsperre_id: {visible:false},
|
||||
@@ -67,4 +66,4 @@ $filterWidgetArray = array(
|
||||
|
||||
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -9,6 +9,9 @@
|
||||
'bootstrap3' => true,
|
||||
'fontawesome4' => true,
|
||||
'tablesorter2' => true,
|
||||
'tabulator5' => true,
|
||||
'tabulator5JQuery' => true,
|
||||
'cis'=>true,
|
||||
'ajaxlib' => true,
|
||||
'dialoglib' => true,
|
||||
'tablewidget' => true,
|
||||
@@ -27,7 +30,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
@@ -63,6 +65,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -41,6 +40,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
$this->load->view('templates/header', array('title' => 'StudienjahrList', 'tablesort' => true, 'tableid' => 't1', 'headers' => '2:{sorter:false}, 3:{sorter:false}', 'sortList' => '0,1'));
|
||||
?>
|
||||
<body>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<h2>Studienjahr</h2>
|
||||
@@ -40,7 +40,6 @@ $this->load->view('templates/header', array('title' => 'StudienjahrList', 'table
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -155,6 +154,5 @@
|
||||
</div> <!-- ./container-fluid-->
|
||||
</div> <!-- ./page-wrapper-->
|
||||
</div> <!-- ./wrapper -->
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -46,6 +45,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -63,7 +62,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -70,6 +69,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -41,6 +40,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -45,6 +44,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -45,6 +44,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -46,6 +45,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -46,6 +45,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -241,6 +240,5 @@
|
||||
</div> <!-- ./page-wrapper-->
|
||||
</div> <!-- ./wrapper -->
|
||||
<button id="scrollToTop" title="Go to top"><i class="fa fa-chevron-up"></i></button>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -24,7 +24,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -44,6 +43,5 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -11,7 +11,6 @@ $this->load->view(
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -36,7 +35,6 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -44,6 +44,5 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -24,7 +24,7 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -195,6 +195,5 @@ $this->load->view(
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -24,7 +24,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -163,6 +162,5 @@ $this->load->view(
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
@@ -42,6 +41,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="login-form">
|
||||
|
||||
<p class="text-center">
|
||||
@@ -40,6 +40,5 @@
|
||||
<p class="text-center"><a href="#">Forgot Password?</a></p>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -191,7 +190,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
|
||||
<fieldset>
|
||||
|
||||
@@ -56,6 +55,5 @@
|
||||
|
||||
<div id="readMessagePanel"></div>
|
||||
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -101,6 +100,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -96,6 +95,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -77,6 +76,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -77,6 +76,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -99,6 +98,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -88,6 +87,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
)
|
||||
);
|
||||
?>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
@@ -191,6 +190,5 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view("templates/FHC-Footer"); ?>
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
$tablesorter2 = isset($tablesorter2) ? $tablesorter2 : false;
|
||||
$tabulator4 = isset($tabulator4) ? $tabulator4 : false;
|
||||
$tabulator5 = isset($tabulator5) ? $tabulator5 : false;
|
||||
$tabulator5JQuery = isset($tabulator5JQuery) ? $tabulator5JQuery : false;
|
||||
$tinymce3 = isset($tinymce3) ? $tinymce3 : false;
|
||||
$tinymce5 = isset($tinymce5) ? $tinymce5 : false;
|
||||
$vue3 = isset($vue3) ? $vue3 : false;
|
||||
|
||||
@@ -99,7 +99,8 @@
|
||||
|
||||
// Tabulator 5 JS
|
||||
if ($tabulator5 === true) generateJSsInclude('vendor/olifolkerd/tabulator5/dist/js/tabulator.min.js');
|
||||
|
||||
// Tabulator 5 JQuery
|
||||
if ($tabulator5JQuery === true) generateJSsInclude('public/js/tabulator/jquery_wrapper.js');
|
||||
// Tinymce 3 JS
|
||||
if ($tinymce3 === true) generateJSsInclude('include/tiny_mce/tiny_mce.js');
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::REGEX); ?>
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::TITLE); ?>
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::DISABLED, false); ?>
|
||||
<?php HTMLWidget::printAttribute(${HTMLWidget::HTML_ARG_NAME}, HTMLWidget::STYLE); ?>
|
||||
>
|
||||
<?php
|
||||
$elements = ${DropdownWidget::WIDGET_DATA_ELEMENTS_ARRAY_NAME};
|
||||
|
||||
@@ -1,24 +1,25 @@
|
||||
<br>
|
||||
<div class="row" id="divTableWidgetDataset" tableUniqueId="<?php echo $tableUniqueId; ?>">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<div class="row" id="divTableWidgetDataset" tableUniqueId="<?php echo $tableUniqueId; ?>">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<!-- Table widget header -->
|
||||
<div id="tableWidgetHeader"></div>
|
||||
|
||||
<!-- TableWidget help site ( only rendered if widget is Tabulator )-->
|
||||
|
||||
<!-- TableWidget help site ( only rendered if widget is Tabulator )-->
|
||||
<?php $this->load->view('widgets/table/tableHelpsite') ?>
|
||||
|
||||
|
||||
<!-- Table info top -->
|
||||
<div id="tableDatasetActionsTop"></div>
|
||||
|
||||
<!-- TableWidget table -->
|
||||
<div style="border:1px solid lightgrey; border-bottom:none; ">
|
||||
<?php TableWidget::loadViewDataset(); ?>
|
||||
</div>
|
||||
|
||||
<!-- Table info bottom -->
|
||||
<div id="tableDatasetActionsBottom"></div>
|
||||
|
||||
<!-- Table widget footer -->
|
||||
<div id="tableWidgetFooter"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,10 +1,19 @@
|
||||
<!--CollapseHTML 'Help'-->
|
||||
<div class="row">
|
||||
<div class="col-lg-12 collapse" id="tabulatorHelp-<?php echo $tableUniqueId; ?>">
|
||||
<div class="well">
|
||||
<div class="mb-2 "
|
||||
style="<?php
|
||||
if(isset($bootstrapVersion) && $bootstrapVersion==5)
|
||||
{
|
||||
echo "border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
padding: 15px;
|
||||
background-color: #f5f5f5;";
|
||||
} ?>"
|
||||
>
|
||||
|
||||
<h4><?php echo ucfirst($this->p->t('ui', 'tabelleneinstellungen')); ?></h4>
|
||||
<div class="panel panel-body">
|
||||
<div class=" <?php echo (isset($bootstrapVersion) && $bootstrapVersion==5)?"card card-body":"panel panel-body" ?>">
|
||||
<b><?php echo $this->p->t('table', 'spaltenEinAusblenden'); ?></b>
|
||||
<p>
|
||||
<ul>
|
||||
@@ -25,11 +34,11 @@
|
||||
<br> <!--end panel-body-->
|
||||
|
||||
<h4><?php echo $this->p->t('table', 'zeilenAuswaehlen'); ?></h4>
|
||||
<div class="panel panel-body">
|
||||
<ul>
|
||||
<li><?php echo $this->p->t('table', 'zeilenAuswaehlenEinzeln'); ?></li>
|
||||
<li><?php echo $this->p->t('table', 'zeilenAuswaehlenBereich'); ?></li>
|
||||
<li><?php echo $this->p->t('table', 'zeilenAuswaehlenAlle'); ?></li>
|
||||
<div class="<?php echo (isset($bootstrapVersion) && $bootstrapVersion==5)?"card card-body":"panel panel-body" ?>">
|
||||
<ul class="mb-0">
|
||||
<li class="mb-1"><?php echo $this->p->t('table', 'zeilenAuswaehlenEinzeln'); ?></li>
|
||||
<li class="mb-1"><?php echo $this->p->t('table', 'zeilenAuswaehlenBereich'); ?></li>
|
||||
<li class="mb-1"><?php echo $this->p->t('table', 'zeilenAuswaehlenAlle'); ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br> <!--end panel-body-->
|
||||
|
||||
@@ -35,6 +35,9 @@ class TableWidget extends Widget
|
||||
// Required permissions to use this TableWidget
|
||||
private $_requiredPermissions;
|
||||
|
||||
// optional bootstrap version can be set to use different bootstrap classes
|
||||
private $_bootstrapVersion=3;
|
||||
|
||||
// SQL statement
|
||||
private $_query;
|
||||
|
||||
@@ -92,8 +95,10 @@ class TableWidget extends Widget
|
||||
*/
|
||||
public function display($widgetData)
|
||||
{
|
||||
|
||||
$this->view(self::WIDGET_URL_TABLE, array(
|
||||
'tableUniqueId' => $widgetData[TableWidgetLib::TABLE_UNIQUE_ID]
|
||||
'tableUniqueId' => $widgetData[TableWidgetLib::TABLE_UNIQUE_ID],
|
||||
'bootstrapVersion' => $widgetData[TableWidgetLib::TABLE_BOOTSTRAP_VERSION],
|
||||
)); // GUI starts here
|
||||
}
|
||||
|
||||
@@ -135,6 +140,7 @@ class TableWidget extends Widget
|
||||
|
||||
// Initialize class properties
|
||||
$this->_requiredPermissions = null;
|
||||
$this->_bootstrapVersion = 3;
|
||||
$this->_reloadDataset = true; // by default the dataset is NOT cached in session
|
||||
$this->_query = null;
|
||||
$this->_additionalColumns = null;
|
||||
@@ -154,6 +160,12 @@ class TableWidget extends Widget
|
||||
$this->_requiredPermissions = $args[TableWidgetLib::REQUIRED_PERMISSIONS];
|
||||
}
|
||||
|
||||
// Retrieved the optional tableWindget Bootstrap version
|
||||
if (isset($args[TableWidgetLib::TABLE_BOOTSTRAP_VERSION]) && !isEmptyString($args[TableWidgetLib::TABLE_BOOTSTRAP_VERSION]))
|
||||
{
|
||||
$this->_bootstrapVersion = $args[TableWidgetLib::TABLE_BOOTSTRAP_VERSION];
|
||||
}
|
||||
|
||||
// How to retrieve data for the table: SQL statement or a result from DB
|
||||
if (isset($args[TableWidgetLib::QUERY]))
|
||||
{
|
||||
@@ -349,6 +361,7 @@ class TableWidget extends Widget
|
||||
$this->tablewidgetlib->setSession(
|
||||
array(
|
||||
TableWidgetLib::TABLE_UNIQUE_ID => $tableUniqueId, // table unique id
|
||||
TableWidgetLib::TABLE_BOOTSTRAP_VERSION => $this->_bootstrapVersion, // bootstrap version for tableWidget
|
||||
TableWidgetLib::SESSION_FIELDS => $this->tablewidgetlib->getExecutedQueryListFields(), // all the fields of the dataset
|
||||
TableWidgetLib::SESSION_COLUMNS_ALIASES => $this->_columnsAliases, // all the fields aliases
|
||||
TableWidgetLib::SESSION_ADDITIONAL_COLUMNS => $this->_additionalColumns, // additional columns
|
||||
|
||||
@@ -27,6 +27,7 @@ class HTMLWidget extends Widget
|
||||
const MIN_LENGTH = 'min-length';
|
||||
const PLACEHOLDER = 'placeholder';
|
||||
const DISABLED = 'disabled';
|
||||
const STYLE = 'class';
|
||||
|
||||
/**
|
||||
* It gets also the htmlArgs array as parameter, it will be used to set the HTML properties
|
||||
|
||||
@@ -39,6 +39,71 @@
|
||||
z-index: 999999;
|
||||
}
|
||||
|
||||
/* classes for rows that are not selectable in the tabulator, except for rows that are used for calculation */
|
||||
.tabulator-row.tabulator-unselectable:not(.tabulator-calcs) {
|
||||
color: #adb5bd !important;
|
||||
pointer-events: none !important;
|
||||
}
|
||||
|
||||
.tabulator-row.tabulator-unselectable a {
|
||||
pointer-events: auto !important;
|
||||
}
|
||||
|
||||
/* using bootstrap background classes to style the background color of tabulator rows */
|
||||
/* bg-warning */
|
||||
/* odd-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-warning,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-warning,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-warning {
|
||||
background-color: #fcf8e3;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-warning,
|
||||
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-warning,
|
||||
.tabulator-row.tabulator-row-even .tabulator-cell.bg-warning {
|
||||
background-color: #fcf8e3;
|
||||
|
||||
}
|
||||
|
||||
/* bg-success */
|
||||
/* odd-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-success,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-success,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-success {
|
||||
background-color: #dff0d8;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-success,
|
||||
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-success,
|
||||
.tabulator-row.tabulator-row-even .tabulator-cell.bg-success {
|
||||
background-color: #dff0d8;
|
||||
|
||||
}
|
||||
|
||||
/* bg-info */
|
||||
/* odd-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-info,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-info,
|
||||
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-info {
|
||||
background-color: #d9edf7;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.tabulator-headers .tabulator-frozen.bg-info,
|
||||
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-info,
|
||||
.tabulator-row.tabulator-row-even .tabulator-cell.bg-info {
|
||||
background-color: #d9edf7;
|
||||
|
||||
}
|
||||
|
||||
/* special bootstrap5 styling for tableWidget and their accordion-item ::after content */
|
||||
.accordion-button::after{
|
||||
content:none !important;
|
||||
}
|
||||
|
||||
|
||||
.tabulator {
|
||||
font-size: 1rem;
|
||||
}
|
||||
@@ -54,3 +119,14 @@
|
||||
z-index: 1;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.btn-select-col-selected
|
||||
{
|
||||
background-color: #e6e6e6;
|
||||
}
|
||||
|
||||
.accordion-item-dark, .accordion-item-dark:focus{
|
||||
background-color:#CED4DA !important;
|
||||
border-color:#ADB5BD !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ h6, .h6 {
|
||||
|
||||
.tabulator {
|
||||
font-size: var(--bs-body-font-size);
|
||||
|
||||
}
|
||||
|
||||
.fhc-container .tabulator {
|
||||
@@ -93,6 +94,50 @@ h6, .h6 {
|
||||
background-color: #ececec;
|
||||
}
|
||||
|
||||
|
||||
/* using bootstrap background classes to style the background color of tabulator rows */
|
||||
/* bg-warning */
|
||||
/* odd-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-warning,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-warning {
|
||||
background-color: #fcf8e3;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-warning,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-warning {
|
||||
background-color: #fcf8e3;
|
||||
|
||||
}
|
||||
|
||||
/* bg-success */
|
||||
/* odd-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-success,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-success {
|
||||
background-color: #dff0d8;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-success,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-success {
|
||||
background-color: #dff0d8;
|
||||
|
||||
}
|
||||
|
||||
/* bg-info */
|
||||
/* odd-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-info,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-info {
|
||||
background-color: #d9edf7;
|
||||
|
||||
}
|
||||
/* even-rows */
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-info,
|
||||
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-info {
|
||||
background-color: #d9edf7;
|
||||
|
||||
}
|
||||
|
||||
.fhc-container .tabulator .tabulator-col,
|
||||
.fhc-container .tabulator .tabulator-cell {
|
||||
border-right: 1px solid #dee2e6;
|
||||
|
||||
@@ -1,7 +1,73 @@
|
||||
|
||||
.btn-w200
|
||||
{
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.btn-mr5
|
||||
{
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.select-w500 {
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
.pl-15 {
|
||||
padding-left: 15px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.bg-secondary-subtle{
|
||||
background-color: #E9ECEF !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #DEE2E6 !important;
|
||||
}
|
||||
|
||||
.bg-info-subtle{
|
||||
background-color: #D9EDF7 !important;
|
||||
color: #31708F !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #BCE8F1 !important;
|
||||
}
|
||||
|
||||
.bg-warning-subtle{
|
||||
background-color: #FFF3CD !important;
|
||||
color: #664D03 !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #FFE69C !important;
|
||||
}
|
||||
|
||||
.bg-success-subtle{
|
||||
background-color: #D1E7DD !important;
|
||||
color: #0A3622 !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #A3CFBB !important;
|
||||
}
|
||||
|
||||
.bg-danger-subtle{
|
||||
background-color: #F8D7DA !important;
|
||||
color: #672B31 !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #F1AEB5 !important;
|
||||
}
|
||||
|
||||
.bg-primary-subtle{
|
||||
background-color: #CFE2FF !important;
|
||||
color: #052C65 !important;
|
||||
border-style: solid !important;
|
||||
border-width: 1px !important;
|
||||
border-color: #9EC5FE !important;
|
||||
}
|
||||
|
||||
|
||||
/* html attribute disabled and title don't work together, sets the pointer-event to auto in order to see the title toolip */
|
||||
.btn:disabled {
|
||||
pointer-events: auto !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
|
||||
+913
-835
File diff suppressed because it is too large
Load Diff
@@ -1,242 +1,284 @@
|
||||
// TABULATOR
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// global variable used to check whether the modal button should insert or update a
|
||||
var isUpdate = false;
|
||||
|
||||
// Add Edit and Update Buttons to table rows
|
||||
function func_tableBuilt(table) {
|
||||
table.addColumn(
|
||||
{
|
||||
title: "Aktion",
|
||||
align: "center",
|
||||
width: 150,
|
||||
formatter: addActionButtons,
|
||||
}, false // place column right
|
||||
);
|
||||
table.tabulator(
|
||||
"addColumn",
|
||||
{
|
||||
title: "Aktion",
|
||||
align: "center",
|
||||
width: 150,
|
||||
formatter: addActionButtons,
|
||||
},
|
||||
false // place column right
|
||||
);
|
||||
|
||||
// fully redrawing the table after adding the Details column
|
||||
table.tabulator("redraw", true);
|
||||
}
|
||||
|
||||
// Returns relative height (depending on screen size)
|
||||
function func_height(table){
|
||||
return $(window).height() * 0.50;
|
||||
function func_height(table) {
|
||||
return $(window).height() * 0.5;
|
||||
}
|
||||
|
||||
// Converts string date postgre style to string DD.MM.YYYY.
|
||||
// This will allow correct filtering.
|
||||
var formatDate = function(cell, formatterParams){
|
||||
let postgreDate = cell.getValue();
|
||||
if (postgreDate != null)
|
||||
{
|
||||
var d = new Date(postgreDate);
|
||||
return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear();
|
||||
}
|
||||
}
|
||||
var formatDate = function (cell, formatterParams) {
|
||||
let postgreDate = cell.getValue();
|
||||
if (postgreDate != null) {
|
||||
var d = new Date(postgreDate);
|
||||
return (
|
||||
("0" + d.getDate()).slice(-2) +
|
||||
"." +
|
||||
("0" + (d.getMonth() + 1)).slice(-2) +
|
||||
"." +
|
||||
d.getFullYear()
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
// Create Edit and Update Buttons for table rows
|
||||
var addActionButtons = function(cell) {
|
||||
var addActionButtons = function (cell) {
|
||||
// Create edit button
|
||||
var editBtn = document.createElement("button");
|
||||
editBtn.type = "button";
|
||||
editBtn.innerHTML = '<i class="fa fa-edit"></i>';
|
||||
editBtn.classList.add("azrEditBtn");
|
||||
editBtn.classList.add("btn");
|
||||
editBtn.classList.add("btn-default");
|
||||
editBtn.addEventListener("click", function () {
|
||||
adminAnrechnung.editRow(cell);
|
||||
});
|
||||
|
||||
// Create edit button
|
||||
var editBtn = document.createElement("button");
|
||||
editBtn.type = "button";
|
||||
editBtn.innerHTML = "<i class=\"fa fa-edit\"></i>";
|
||||
editBtn.classList.add("azrEditBtn");
|
||||
editBtn.classList.add("btn");
|
||||
editBtn.classList.add("btn-default");
|
||||
editBtn.addEventListener("click", function(){
|
||||
adminAnrechnung.editRow(cell);
|
||||
});
|
||||
// Create delete button
|
||||
var delBtn = document.createElement("button");
|
||||
delBtn.type = "button";
|
||||
delBtn.innerHTML = '<i class="fa fa-times"></i>';
|
||||
delBtn.classList.add("azrDeleteBtn");
|
||||
delBtn.classList.add("btn");
|
||||
delBtn.classList.add("btn-default");
|
||||
delBtn.style.marginLeft = "5px";
|
||||
delBtn.addEventListener("click", function () {
|
||||
adminAnrechnung.deleteRow(cell);
|
||||
});
|
||||
|
||||
// Add buttons to cell
|
||||
var buttonHolder = document.createElement("span");
|
||||
buttonHolder.appendChild(editBtn);
|
||||
buttonHolder.appendChild(delBtn);
|
||||
|
||||
|
||||
// Create delete button
|
||||
var delBtn= document.createElement("button");
|
||||
delBtn.type = "button";
|
||||
delBtn.innerHTML = "<i class=\"fa fa-times\"></i>";
|
||||
delBtn.classList.add("azrDeleteBtn");
|
||||
delBtn.classList.add("btn");
|
||||
delBtn.classList.add("btn-default");
|
||||
delBtn.style.marginLeft = '5px';
|
||||
delBtn.addEventListener("click", function(){
|
||||
adminAnrechnung.deleteRow(cell);
|
||||
});
|
||||
|
||||
// Add buttons to cell
|
||||
var buttonHolder = document.createElement("span");
|
||||
buttonHolder.appendChild(editBtn);
|
||||
buttonHolder.appendChild(delBtn);
|
||||
|
||||
return buttonHolder;
|
||||
}
|
||||
return buttonHolder;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
$(function () {
|
||||
$(document).on("tableInit", function (event, tabulatorInstance) {
|
||||
// tablutBuilt has to be attached as a callback the the tabulator in tabulator5
|
||||
func_tableBuilt($("#tableWidgetTabulator"));
|
||||
});
|
||||
|
||||
// Empty Modal fields on 'Anrechnungszeitraum hinzufuegen'
|
||||
$(document).on('click', '.azrOpenModal', function(){
|
||||
// Empty Modal fields on 'Anrechnungszeitraum hinzufuegen'
|
||||
$(document).on("click", ".azrOpenModal", function () {
|
||||
let defaultStudiensemester_kurzbz = $(
|
||||
".modal-body #defaultStudiensemester_kurzbz"
|
||||
).val();
|
||||
|
||||
let defaultStudiensemester_kurzbz = $('.modal-body #defaultStudiensemester_kurzbz').val();
|
||||
$(".modal-header #azrModalLabel").text(
|
||||
FHC_PhrasesLib.t("anrechnung", "anrechnungszeitraumHinzufuegen")
|
||||
);
|
||||
|
||||
$('.modal-header #azrModalLabel').text(FHC_PhrasesLib.t("anrechnung", "anrechnungszeitraumHinzufuegen"));
|
||||
$(".modal-body #anrechnungszeitraum_id").val("");
|
||||
$(".modal-body #studiensemester")
|
||||
.val(defaultStudiensemester_kurzbz)
|
||||
.change();
|
||||
$(".modal-body #azrStart").val("");
|
||||
$(".modal-body #azrEnde").val("");
|
||||
});
|
||||
|
||||
$('.modal-body #anrechnungszeitraum_id').val('');
|
||||
$('.modal-body #studiensemester').val(defaultStudiensemester_kurzbz).change();
|
||||
$('.modal-body #azrStart').val('');
|
||||
$('.modal-body #azrEnde').val('');
|
||||
// Insert Anrechnungszeitraum
|
||||
$(document).on("click", "#azrInsertBtn", function () {
|
||||
var studiensemester_kurzbz = $(".modal-body #studiensemester").val();
|
||||
var anrechnungstart = $(".modal-body #azrStart").val();
|
||||
var anrechnungende = $(".modal-body #azrEnde").val();
|
||||
|
||||
});
|
||||
if (isUpdate) {
|
||||
// read the id of the anrechungszeitraum
|
||||
var anrechnungszeitraum_id = $(
|
||||
".modal-body #anrechnungszeitraum_id"
|
||||
).val();
|
||||
|
||||
// Insert Anrechnungszeitraum
|
||||
$(document).on('click', '#azrInsertBtn', function(){
|
||||
var studiensemester_kurzbz = $('.modal-body #studiensemester').val();
|
||||
var anrechnungstart = $('.modal-body #azrStart').val();
|
||||
var anrechnungende = $('.modal-body #azrEnde').val();
|
||||
|
||||
// Insert Anrechnungszeitraum
|
||||
adminAnrechnung.insertAzr(studiensemester_kurzbz, anrechnungstart, anrechnungende);
|
||||
});
|
||||
|
||||
})
|
||||
// Update Anrechnungszeitraum
|
||||
adminAnrechnung.updateAzr(
|
||||
anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz,
|
||||
anrechnungstart,
|
||||
anrechnungende
|
||||
);
|
||||
} else {
|
||||
// Insert Anrechnungszeitraum
|
||||
adminAnrechnung.insertAzr(
|
||||
studiensemester_kurzbz,
|
||||
anrechnungstart,
|
||||
anrechnungende
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
var adminAnrechnung = {
|
||||
insertAzr: function(studiensemester_kurzbz, anrechnungstart, anrechnungende){
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/save",
|
||||
{
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
insertAzr: function (
|
||||
studiensemester_kurzbz,
|
||||
anrechnungstart,
|
||||
anrechnungende
|
||||
) {
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/save",
|
||||
{
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende,
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data)) {
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
|
||||
if (FHC_AjaxClient.hasData(data)) {
|
||||
data = FHC_AjaxClient.getData(data);
|
||||
|
||||
// Update row
|
||||
$("#tableWidgetTabulator").tabulator(
|
||||
"addData",
|
||||
[
|
||||
{
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
data = FHC_AjaxClient.getData(data);
|
||||
|
||||
// Update row
|
||||
$('#tableWidgetTabulator').tabulator('addData', [{
|
||||
anrechnungszeitraum_id: data.anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende
|
||||
}], true); // true to add row on top
|
||||
|
||||
// Close Modal
|
||||
$('#azrModal').modal('hide');
|
||||
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "gespeichert"));
|
||||
}
|
||||
anrechnungszeitraum_id: data.anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende,
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
editRow: function (cell){
|
||||
// Open Modal
|
||||
$('#azrModal').modal('show');
|
||||
],
|
||||
true
|
||||
); // true to add row on top
|
||||
|
||||
let row = cell.getRow();
|
||||
var anrechnungszeitraum_id = row.getData().anrechnungszeitraum_id;
|
||||
var studiensemester_kurzbz = row.getData().studiensemester_kurzbz;
|
||||
var anrechnungstart = row.getData().anrechnungstart;
|
||||
var anrechnungende = row.getData().anrechnungende;
|
||||
// Close Modal
|
||||
$("#azrModal").modal("hide");
|
||||
|
||||
$('.modal-header #azrModalLabel').text('Anrechnungszeitraum bearbeiten');
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "gespeichert"));
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
},
|
||||
}
|
||||
);
|
||||
},
|
||||
editRow: function (cell) {
|
||||
// Open Modal
|
||||
$("#azrModal").modal("show");
|
||||
|
||||
$('.modal-body #anrechnungszeitraum_id').val(anrechnungszeitraum_id);
|
||||
$('.modal-body #studiensemester').val(studiensemester_kurzbz).change();
|
||||
$('.modal-body #azrStart').val(anrechnungstart);
|
||||
$('.modal-body #azrEnde').val(anrechnungende);
|
||||
// set global condition to true, so that the modal knows whether to display an insert or edit button
|
||||
isUpdate = true;
|
||||
|
||||
},
|
||||
updateAzr: function (anrechnungszeitraum_id, studiensemester_kurzbz, anrechnungstart, anrechnungende) {
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/edit",
|
||||
{
|
||||
let row = cell.getRow();
|
||||
var anrechnungszeitraum_id = row.getData().anrechnungszeitraum_id;
|
||||
var studiensemester_kurzbz = row.getData().studiensemester_kurzbz;
|
||||
var anrechnungstart = row.getData().anrechnungstart;
|
||||
var anrechnungende = row.getData().anrechnungende;
|
||||
|
||||
$(".modal-header #azrModalLabel").text("Anrechnungszeitraum bearbeiten");
|
||||
|
||||
$(".modal-body #anrechnungszeitraum_id").val(anrechnungszeitraum_id);
|
||||
$(".modal-body #studiensemester").val(studiensemester_kurzbz).change();
|
||||
$(".modal-body #azrStart").val(anrechnungstart);
|
||||
$(".modal-body #azrEnde").val(anrechnungende);
|
||||
},
|
||||
updateAzr: function (
|
||||
anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz,
|
||||
anrechnungstart,
|
||||
anrechnungende
|
||||
) {
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/edit",
|
||||
{
|
||||
anrechnungszeitraum_id: anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende,
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data)) {
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
|
||||
if (FHC_AjaxClient.hasData(data)) {
|
||||
// Update row
|
||||
$("#tableWidgetTabulator").tabulator("updateData", [
|
||||
{
|
||||
anrechnungszeitraum_id: anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
anrechnungende: anrechnungende,
|
||||
},
|
||||
]);
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
// Update row
|
||||
$('#tableWidgetTabulator').tabulator('updateData', [{
|
||||
anrechnungszeitraum_id: anrechnungszeitraum_id,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz,
|
||||
anrechnungstart: anrechnungstart,
|
||||
anrechnungende: anrechnungende
|
||||
}]);
|
||||
// Close Modal
|
||||
$("#azrModal").modal("hide");
|
||||
|
||||
// Close Modal
|
||||
$('#azrModal').modal('hide');
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "gespeichert"));
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
},
|
||||
}
|
||||
);
|
||||
},
|
||||
deleteAzr: function (anrechnungszeitraum_id) {
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/delete",
|
||||
{
|
||||
anrechnungszeitraum_id: anrechnungszeitraum_id,
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR) {
|
||||
if (FHC_AjaxClient.isError(data)) {
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "gespeichert"));
|
||||
if (FHC_AjaxClient.hasData(data)) {
|
||||
let row = $("#tableWidgetTabulator").tabulator(
|
||||
"getRow",
|
||||
anrechnungszeitraum_id
|
||||
);
|
||||
row.delete(anrechnungszeitraum_id);
|
||||
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
deleteAzr: function(anrechnungszeitraum_id){
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/delete",
|
||||
{
|
||||
anrechnungszeitraum_id: anrechnungszeitraum_id
|
||||
},
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (FHC_AjaxClient.isError(data))
|
||||
{
|
||||
FHC_DialogLib.alertWarning(FHC_AjaxClient.getError(data));
|
||||
}
|
||||
|
||||
if (FHC_AjaxClient.hasData(data))
|
||||
{
|
||||
let row = $('#tableWidgetTabulator').tabulator('getRow', anrechnungszeitraum_id);
|
||||
row.delete(anrechnungszeitraum_id);
|
||||
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "geloescht"));
|
||||
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
deleteRow: function (cell){
|
||||
if(!confirm(FHC_PhrasesLib.t("ui", "frageSicherLoeschen")))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Delete Anrechnungszeitraum
|
||||
adminAnrechnung.deleteAzr(cell.getRow().getData().anrechnungszeitraum_id);
|
||||
// Success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "geloescht"));
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
},
|
||||
}
|
||||
);
|
||||
},
|
||||
deleteRow: function (cell) {
|
||||
if (!confirm(FHC_PhrasesLib.t("ui", "frageSicherLoeschen"))) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Delete Anrechnungszeitraum
|
||||
adminAnrechnung.deleteAzr(cell.getRow().getData().anrechnungszeitraum_id);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -393,16 +393,16 @@ var approveAnrechnungDetail = {
|
||||
|
||||
switch (status_kurzbz) {
|
||||
case ANRECHNUNGSTATUS_APPROVED:
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-success');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-success-subtle');
|
||||
break;
|
||||
case ANRECHNUNGSTATUS_REJECTED:
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-danger');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-danger-subtle');
|
||||
break;
|
||||
case '':
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-info');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-info-subtle');
|
||||
break;
|
||||
default:
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-warning-subtle');
|
||||
}
|
||||
},
|
||||
setEmpfehlungstext: function () {
|
||||
@@ -424,7 +424,7 @@ var approveAnrechnungDetail = {
|
||||
}
|
||||
},
|
||||
initTooltips: function (){
|
||||
$('[data-toggle="tooltip"]').tooltip({
|
||||
$('[data-bs-toggle="tooltip"]').tooltip({
|
||||
delay: { "show": 200, "hide": 200 },
|
||||
html: true
|
||||
}
|
||||
@@ -498,14 +498,14 @@ var approveAnrechnungDetail = {
|
||||
$('#approveAnrechnungDetail-request-recommendation').prop('disabled', true);
|
||||
$('#approveAnrechnungDetail-approve-anrechnung-ask').prop('disabled', true);
|
||||
$('#approveAnrechnungDetail-reject-anrechnung-ask').prop('disabled', true);
|
||||
$('#approveAnrechnungDetail-withdraw-request-recommedation').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-withdraw-request-recommedation').removeClass('visually-hidden');
|
||||
},
|
||||
formatGenehmigungIsPositiv: function(abgeschlossenAm, abgeschlossenVon, statusKurzbz, statusBezeichnung){
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').addClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').addClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').removeClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').text(statusBezeichnung);
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('alert-warning').addClass('alert-success');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('bg-warning-subtle').addClass('bg-success-subtle');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').data('status_kurzbz', statusKurzbz);
|
||||
$('#approveAnrechnungDetail-abgeschlossenAm').text(abgeschlossenAm);
|
||||
$('#approveAnrechnungDetail-abgeschlossenVon').text(abgeschlossenVon);
|
||||
@@ -514,14 +514,14 @@ var approveAnrechnungDetail = {
|
||||
$('#approveAnrechnungDetail-reject-anrechnung-ask').prop('disabled', true);
|
||||
|
||||
// Show button to withdraw approval
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').removeClass('visually-hidden');
|
||||
},
|
||||
formatGenehmigungIsNegativ: function(abgeschlossenAm, abgeschlossenVon, statusKurzbz, statusBezeichnung, begruendung){
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').addClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').addClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').removeClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').text(statusBezeichnung);
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('alert-warning').addClass('alert-danger');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('bg-warning-subtle').addClass('bg-danger-subtle');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').data('status_kurzbz', statusKurzbz);
|
||||
$('#approveAnrechnungDetail-abgeschlossenAm').text(abgeschlossenAm);
|
||||
$('#approveAnrechnungDetail-abgeschlossenVon').text(abgeschlossenVon);
|
||||
@@ -531,18 +531,18 @@ var approveAnrechnungDetail = {
|
||||
$('#approveAnrechnungDetail-reject-anrechnung-ask').prop('disabled', true);
|
||||
|
||||
// Show button to withdraw approval
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').removeClass('visually-hidden');
|
||||
},
|
||||
formatGenehmigungIsWithdrawed: function (statusBezeichnung){
|
||||
let empfehlung = $('#approveAnrechnungDetail-empfehlung').data('empfehlung'); // null / false / true
|
||||
|
||||
$('#approveAnrechnungDetail-status_kurzbz').text(statusBezeichnung);
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('alert-danger').removeClass('alert-success');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').removeClass('bg-danger-subtle').removeClass('bg-success-subtle');
|
||||
$('#approveAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-warning-subtle');
|
||||
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNull').removeClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsPositiv').addClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-genehmigungDetail-genehmigungIsNegativ').addClass('visually-hidden');
|
||||
|
||||
$('#approveAnrechnungDetail-abgeschlossenAm').text('-');
|
||||
$('#approveAnrechnungDetail-abgeschlossenVon').text('-');
|
||||
@@ -555,12 +555,12 @@ var approveAnrechnungDetail = {
|
||||
$('#approveAnrechnungDetail-approve-anrechnung-ask').prop('disabled', false);
|
||||
$('#approveAnrechnungDetail-reject-anrechnung-ask').prop('disabled', false);
|
||||
// Hide button to withdraw approval
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-withdraw-anrechnung-approvement').addClass('visually-hidden');
|
||||
},
|
||||
formatEmpfehlungIsWithdrawed: function (statusBezeichnung){
|
||||
$('#approveAnrechnungDetail-status_kurzbz').text(statusBezeichnung);
|
||||
|
||||
$('#approveAnrechnungDetail-empfehlungDetail-empfehlungIsNull').removeClass('hidden');
|
||||
$('#approveAnrechnungDetail-empfehlungDetail-empfehlungIsNull').removeClass('visually-hidden');
|
||||
$('#approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAm').html('-');
|
||||
$('#approveAnrechnungDetail-empfehlungDetail-empfehlungsanfrageAn').html('-');
|
||||
|
||||
@@ -568,7 +568,7 @@ var approveAnrechnungDetail = {
|
||||
$('#approveAnrechnungDetail-approve-anrechnung-ask').prop('disabled', false);
|
||||
$('#approveAnrechnungDetail-reject-anrechnung-ask').prop('disabled', false);
|
||||
// Hide button to withdraw approval
|
||||
$('#approveAnrechnungDetail-withdraw-request-recommedation').addClass('hidden');
|
||||
$('#approveAnrechnungDetail-withdraw-request-recommedation').addClass('visually-hidden');
|
||||
},
|
||||
sumUpEcts: function(){
|
||||
var ects = parseFloat($('#ects').text());
|
||||
@@ -615,8 +615,9 @@ var approveAnrechnungDetail = {
|
||||
|
||||
$('#sumEctsTotal').text(sumEctsSchulisch + sumEctsBeruflich - ects);
|
||||
},
|
||||
|
||||
alertIfMaxEctsExceeded: function(){
|
||||
var begruendung_id = $('#begruendung_id').data('begruendung_id');
|
||||
|
||||
if (begruendung_id == 5)
|
||||
{
|
||||
return;
|
||||
@@ -626,20 +627,19 @@ var approveAnrechnungDetail = {
|
||||
(begruendung_id != 4 && (parseFloat($('#ects').text()) + parseFloat($('#sumEctsSchulisch').text()))) > 60 ||
|
||||
(begruendung_id == 4 && (parseFloat($('#ects').text()) + parseFloat($('#sumEctsBeruflich').text()))) > 60 ||
|
||||
(parseFloat($('#ects').text()) + parseFloat($('#sumEctsSchulisch').text()) + parseFloat($('#sumEctsBeruflich').text())) > 90
|
||||
)
|
||||
{
|
||||
){
|
||||
|
||||
$('#sumEctsMsg')
|
||||
.html("<br><b>ACHTUNG! Bei Anrechnung von LV: Überschreitung der Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz</b><i class=\"fa fa-lg fa-info-circle\"></i></br>")
|
||||
.addClass('bg-danger text-danger')
|
||||
.html("<span class='flex-fill fw-bold'>Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz ist überschritten. </span><i class='mx-4 fa fa-lg fa-info-circle'></i>")
|
||||
.addClass('bg-danger-subtle')
|
||||
.tooltip({
|
||||
title: FHC_PhrasesLib.t("anrechnung", "anrechnungEctsTooltipTextBeiUeberschreitung"),
|
||||
placement: 'right',
|
||||
html: true
|
||||
});
|
||||
}
|
||||
else
|
||||
});
|
||||
}else
|
||||
{
|
||||
$('#sumEctsMsg').html('').css('border', 'none');
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,16 @@
|
||||
$(function () {
|
||||
|
||||
// tableInit is called in the jquery_wrapper when the tableBuilt event was finished
|
||||
$(document).on("tableInit", function(event,tabulatorInstance) {
|
||||
|
||||
// event rowSelected needs to be attached as a callback to the tableBuilt event in tabulator5
|
||||
$("#tableWidgetTabulator").tabulator("on","rowSelected",(row)=>{func_rowSelected(row)});
|
||||
// event rowSelectionChanged needs to be attached as a callback to the tableBuilt event in tabulator5
|
||||
$("#tableWidgetTabulator").tabulator("on","rowSelectionChanged",(data,rows)=>{func_rowSelectionChanged(data,rows)});
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Disable all form fields by default
|
||||
createAnrechnung.disableFormFields();
|
||||
|
||||
@@ -8,6 +19,13 @@ $(function () {
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
var fileInput = $('#requestAnrechnung-uploadfile');
|
||||
const uploadMaxFilesize = $('#requestAnrechnung-uploadfile').data('maxsize') ; // in byte
|
||||
if (!createAnrechnung.fileSizeOk(fileInput, uploadMaxFilesize)) // in byte
|
||||
{
|
||||
return FHC_DialogLib.alertWarning(FHC_PhrasesLib.t("ui", "errorDokumentZuGross"));
|
||||
}
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/create",
|
||||
{
|
||||
@@ -93,6 +111,20 @@ function func_rowSelectionChanged(data, rows){
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
var createAnrechnung = {
|
||||
fileSizeOk: function(fileInput, maxSize){
|
||||
|
||||
if (fileInput.get(0).files.length){
|
||||
|
||||
var fileSize = fileInput.get(0).files[0].size; // in bytes
|
||||
|
||||
if (fileSize > maxSize)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
},
|
||||
emptyFormFields: function(){
|
||||
|
||||
// Empty field StudentIn
|
||||
@@ -102,7 +134,7 @@ var createAnrechnung = {
|
||||
$('#createAnrechnung-form :input:not([type=hidden])').val('');
|
||||
|
||||
// Hide eventually displayed button to open Anrechnung
|
||||
$('#createAnrechnung-openAnrechnung').addClass('hidden');
|
||||
$('#createAnrechnung-openAnrechnung').addClass('visually-hidden');
|
||||
},
|
||||
disableFormFields: function(){
|
||||
let prestudent_id = $('#prestudent_id').data('prestudent_id');
|
||||
@@ -152,7 +184,7 @@ var createAnrechnung = {
|
||||
displayButtonToOpenAnrechnung: function(anrechnung_id){
|
||||
// Display button to open Anrechnung in new tab
|
||||
$('#createAnrechnung-openAnrechnung')
|
||||
.removeClass('hidden')
|
||||
.removeClass('visually-hidden')
|
||||
.attr('href', 'ApproveAnrechnungDetail/?anrechnung_id=' + anrechnung_id)
|
||||
.html('<i class="fa fa-external-link" aria-hidden="true"></i> ' + FHC_PhrasesLib.t("global", "antragBearbeiten"));
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ $(function(){
|
||||
var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich);
|
||||
|
||||
// Add to Checkbox text
|
||||
$(this).closest('label').append(msgBeiEctsUeberschreitung);
|
||||
$(this).closest('div').append(msgBeiEctsUeberschreitung);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -76,7 +76,7 @@ $(function(){
|
||||
var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich);
|
||||
|
||||
// Add to Checkbox text
|
||||
$(this).closest('label').append(msgBeiEctsUeberschreitung);
|
||||
$(this).closest('div').append(msgBeiEctsUeberschreitung);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,17 +142,17 @@ var requestAnrechnung = {
|
||||
|
||||
switch (status_kurzbz) {
|
||||
case ANRECHNUNGSTATUS_APPROVED:
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-success');
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('bg-success-subtle');
|
||||
break;
|
||||
case ANRECHNUNGSTATUS_REJECTED:
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-danger');
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('bg-danger-subtle');
|
||||
break;
|
||||
case '':
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-info');
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('bg-info-subtle');
|
||||
$('#requestAnrechnung-status_kurzbz').text(FHC_PhrasesLib.t("ui", "neu"));
|
||||
break;
|
||||
default:
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('bg-warning-subtle');
|
||||
$('#requestAnrechnung-status_kurzbz').text(FHC_PhrasesLib.t("ui", "inBearbeitung"));
|
||||
}
|
||||
},
|
||||
@@ -190,7 +190,7 @@ var requestAnrechnung = {
|
||||
|
||||
// Show sperre panel
|
||||
$('#requestAnrechnung-sperre')
|
||||
.removeClass('hidden')
|
||||
.removeClass('visually-hidden')
|
||||
.html(function(){
|
||||
let sperregrund = FHC_PhrasesLib.t('global', 'bearbeitungGesperrt') + ': ';
|
||||
|
||||
@@ -200,7 +200,7 @@ var requestAnrechnung = {
|
||||
else if (is_blocked){
|
||||
sperregrund += FHC_PhrasesLib.t('anrechnung', 'benotungDerLV');
|
||||
}
|
||||
return "<b>"+ sperregrund + "</b>";
|
||||
return "<span class='fw-bold'>"+ sperregrund + "</span>";
|
||||
})
|
||||
|
||||
// Disable all form elements
|
||||
@@ -208,7 +208,7 @@ var requestAnrechnung = {
|
||||
}
|
||||
},
|
||||
initTooltips: function (){
|
||||
$('[data-toggle="tooltip"]').tooltip({
|
||||
$('[data-bs-toggle="tooltip"]').tooltip({
|
||||
delay: { "show": 200, "hide": 200 },
|
||||
html: true
|
||||
}
|
||||
@@ -240,11 +240,11 @@ var requestAnrechnung = {
|
||||
formatAnrechnungIsApplied: function (antragdatum, dms_id, filename){
|
||||
$('#requestAnrechnung-antragdatum').text(antragdatum);
|
||||
$('#requestAnrechnung-status_kurzbz').text(FHC_PhrasesLib.t("ui", "inBearbeitung"));
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
$('#requestAnrechnung-status_kurzbz').closest('div').addClass('bg-warning-subtle');
|
||||
|
||||
// Display File-Downloadlink
|
||||
$('#requestAnrechnung-downloadDocLink')
|
||||
.removeClass('hidden')
|
||||
.removeClass('visually-hidden')
|
||||
.attr('href', 'RequestAnrechnung/download?dms_id=' + dms_id)
|
||||
.html(filename);
|
||||
|
||||
@@ -287,14 +287,15 @@ var requestAnrechnung = {
|
||||
alertIfMaxEctsExceeded: function(){
|
||||
|
||||
if(
|
||||
(parseFloat($('#sumEctsSchulisch').text())) > 60 ||
|
||||
(parseFloat($('#sumEctsBeruflich').text())) > 60 ||
|
||||
(parseFloat($('#sumEctsSchulisch').text()) + parseFloat($('#sumEctsBeruflich').text())) > 90
|
||||
|
||||
(parseFloat($('#sumEctsSchulisch').text())) > 60 ||
|
||||
(parseFloat($('#sumEctsBeruflich').text())) > 60 ||
|
||||
(parseFloat($('#sumEctsSchulisch').text()) + parseFloat($('#sumEctsBeruflich').text())) > 90
|
||||
)
|
||||
{
|
||||
$('#requestAnrechnung-maxEctsUeberschrittenMsg')
|
||||
.html("<br><b>Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz ist überschritten. </b><i class=\"fa fa-lg fa-info-circle\"></i></br>")
|
||||
.addClass('bg-danger text-danger')
|
||||
.html("<span class='flex-fill fw-bold'>Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz ist überschritten. </span><i class='mx-4 fa fa-lg fa-info-circle'></i>")
|
||||
.addClass('bg-danger-subtle')
|
||||
.tooltip({
|
||||
title: FHC_PhrasesLib.t("anrechnung", "anrechnungEctsTooltipTextBeiUeberschreitung"),
|
||||
placement: 'right',
|
||||
@@ -304,7 +305,8 @@ var requestAnrechnung = {
|
||||
},
|
||||
alertIfMaxEctsExceededInsideBegruendungsbox: function(){
|
||||
let status_kurzbz = $('#requestAnrechnung-status_kurzbz').data('status_kurzbz');
|
||||
|
||||
|
||||
|
||||
if (status_kurzbz != ' ' && status_kurzbz != ANRECHNUNGSTATUS_APPROVED)
|
||||
{
|
||||
var ectsLv = parseFloat($('#ects').text());
|
||||
@@ -317,7 +319,7 @@ var requestAnrechnung = {
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// If max ECTS is ecceeded
|
||||
if (begruendung_id == 4)
|
||||
{
|
||||
@@ -329,7 +331,7 @@ var requestAnrechnung = {
|
||||
var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich);
|
||||
|
||||
// Add to Checkbox text
|
||||
$('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung);
|
||||
$('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('div').append(msgBeiEctsUeberschreitung);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -342,20 +344,19 @@ var requestAnrechnung = {
|
||||
var msgBeiEctsUeberschreitung = requestAnrechnung.getMsgBeiEctsUeberschreitung(begruendung_id, ectsLv, sumEctsSchulisch, sumEctsBeruflich);
|
||||
|
||||
// Add to Checkbox text
|
||||
$('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('label').append(msgBeiEctsUeberschreitung);
|
||||
$('#requestAnrechnung-form :input[name="begruendung"]:checked').closest('div').append(msgBeiEctsUeberschreitung);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
getMsgBeiEctsUeberschreitung: function(begruendung_id, ects, sumEctsSchulisch, sumEctsBeruflich){
|
||||
|
||||
return $('<span id="sumEctsMsg"></span>')
|
||||
.html(FHC_PhrasesLib.t("anrechnung", "anrechnungEctsTextBeiUeberschreitung",
|
||||
begruendung_id == 4
|
||||
? [(sumEctsSchulisch + sumEctsBeruflich + ects), sumEctsSchulisch, (sumEctsBeruflich + ects)] // beruflich
|
||||
: [(sumEctsSchulisch + sumEctsBeruflich + ects), (sumEctsSchulisch + ects), sumEctsBeruflich])) // schulisch
|
||||
const phraseUsed = '<span class="d-block">Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz wird überschritten.</span><span class=" fw-bold">Bisherige ECTS + ECTS dieser LV: Total: {0} [ Schulisch: {1} | Beruflich: {2} ]</span> ';
|
||||
|
||||
return $('<div class="p-1" id="sumEctsMsg"></div>')
|
||||
.html(phraseUsed) // schulisch
|
||||
.append('<i class="fa fa-lg fa-info-circle"></i>')
|
||||
.addClass('bg-danger text-danger')
|
||||
.addClass('bg-danger-subtle')
|
||||
.tooltip({
|
||||
title: FHC_PhrasesLib.t("anrechnung", "anrechnungEctsTooltipTextBeiUeberschreitung"),
|
||||
placement: 'right',
|
||||
|
||||
@@ -205,16 +205,16 @@ var reviewAnrechnung = {
|
||||
|
||||
switch (status_kurzbz) {
|
||||
case ANRECHNUNGSTATUS_APPROVED:
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-success');
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-success-subtle');
|
||||
break;
|
||||
case ANRECHNUNGSTATUS_REJECTED:
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-danger');
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-danger-subtle');
|
||||
break;
|
||||
case '':
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-info');
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-info-subtle');
|
||||
break;
|
||||
default:
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
$('#reviewAnrechnungDetail-status_kurzbz').closest('div').addClass('bg-warning-subtle');
|
||||
}
|
||||
},
|
||||
setEmpfehlungstext: function () {
|
||||
@@ -236,7 +236,7 @@ var reviewAnrechnung = {
|
||||
}
|
||||
},
|
||||
initTooltips: function (){
|
||||
$('[data-toggle="tooltip"]').tooltip({
|
||||
$('[data-bs-toggle="tooltip"]').tooltip({
|
||||
delay: { "show": 200, "hide": 200 },
|
||||
html: true
|
||||
}
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
const BASE_URL = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router;
|
||||
const BASE_URL =
|
||||
FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router;
|
||||
const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path;
|
||||
const CONTROLLER_URL = BASE_URL + '/' + CALLED_PATH;
|
||||
const CONTROLLER_URL = BASE_URL + "/" + CALLED_PATH;
|
||||
const APPROVE_ANRECHNUNG_DETAIL_URI = "lehre/anrechnung/ReviewAnrechnungDetail";
|
||||
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = 'inProgressDP';
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_KF = 'inProgressKF';
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = 'inProgressLektor';
|
||||
const ANRECHNUNGSTATUS_APPROVED = 'approved';
|
||||
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_STGL = "inProgressDP";
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_KF = "inProgressKF";
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = "inProgressLektor";
|
||||
const ANRECHNUNGSTATUS_APPROVED = "approved";
|
||||
const ANRECHNUNGSTATUS_REJECTED = "rejected";
|
||||
|
||||
const COLOR_LIGHTGREY = "#f5f5f5";
|
||||
|
||||
@@ -17,130 +18,133 @@ const COLOR_LIGHTGREY = "#f5f5f5";
|
||||
|
||||
// Converts string date postgre style to string DD.MM.YYYY.
|
||||
// This will allow correct filtering.
|
||||
var mut_formatStringDate = function(value, data, type, params, component) {
|
||||
if (value != null)
|
||||
{
|
||||
var d = new Date(value);
|
||||
return ("0" + (d.getDate())).slice(-2) + "." + ("0" + (d.getMonth() + 1)).slice(-2) + "." + d.getFullYear();
|
||||
}
|
||||
}
|
||||
var mut_formatStringDate = function (value, data, type, params, component) {
|
||||
if (value != null) {
|
||||
var d = new Date(value);
|
||||
return (
|
||||
("0" + d.getDate()).slice(-2) +
|
||||
"." +
|
||||
("0" + (d.getMonth() + 1)).slice(-2) +
|
||||
"." +
|
||||
d.getFullYear()
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
// TABULATOR FUNCTIONS
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
// Returns relative height (depending on screen size)
|
||||
function func_height(table){
|
||||
return $(window).height() * 0.50;
|
||||
function func_height(table) {
|
||||
return $(window).height() * 0.5;
|
||||
}
|
||||
|
||||
// Filters boolean values
|
||||
function hf_filterTrueFalse(headerValue, rowValue){
|
||||
function hf_filterTrueFalse(headerValue, rowValue) {
|
||||
if ("ja".startsWith(headerValue) || "yes".startsWith(headerValue)) {
|
||||
return rowValue == "true";
|
||||
}
|
||||
|
||||
if ('ja'.startsWith(headerValue) || 'yes'.startsWith(headerValue))
|
||||
{
|
||||
return rowValue == 'true';
|
||||
}
|
||||
if ("nein".startsWith(headerValue) || "no".startsWith(headerValue)) {
|
||||
return rowValue == "false";
|
||||
}
|
||||
|
||||
if ('nein'.startsWith(headerValue) || 'no'.startsWith(headerValue))
|
||||
{
|
||||
return rowValue == 'false';
|
||||
}
|
||||
|
||||
if (headerValue = '-')
|
||||
{
|
||||
return rowValue == null;
|
||||
}
|
||||
if ((headerValue = "-")) {
|
||||
return rowValue == null;
|
||||
}
|
||||
}
|
||||
|
||||
// Filters empfehlungsberechtigt boolean values
|
||||
function hf_empfehlungsberechtigt(headerValue, rowValue){
|
||||
|
||||
return rowValue == headerValue.toString();
|
||||
function hf_empfehlungsberechtigt(headerValue, rowValue) {
|
||||
return rowValue == headerValue.toString();
|
||||
}
|
||||
|
||||
// Adds column details
|
||||
function func_tableBuilt(table) {
|
||||
table.addColumn(
|
||||
{
|
||||
title: "Details",
|
||||
field: 'details',
|
||||
align: "center",
|
||||
width: 100,
|
||||
formatter: "link",
|
||||
formatterParams:{
|
||||
label:"Details",
|
||||
url:function(cell){
|
||||
return BASE_URL + "/" + APPROVE_ANRECHNUNG_DETAIL_URI + "?anrechnung_id=" + cell.getData().anrechnung_id
|
||||
},
|
||||
target:"_blank"
|
||||
}
|
||||
}, true // place column on the very left
|
||||
);
|
||||
table.tabulator(
|
||||
"addColumn",
|
||||
{
|
||||
title: "Details",
|
||||
field: "details",
|
||||
align: "center",
|
||||
width: 100,
|
||||
formatter: "link",
|
||||
formatterParams: {
|
||||
label: "Details",
|
||||
url: function (cell) {
|
||||
return (
|
||||
BASE_URL +
|
||||
"/" +
|
||||
APPROVE_ANRECHNUNG_DETAIL_URI +
|
||||
"?anrechnung_id=" +
|
||||
cell.getData().anrechnung_id
|
||||
);
|
||||
},
|
||||
target: "_blank",
|
||||
},
|
||||
},
|
||||
true // place column on the very left
|
||||
);
|
||||
// fully redrawing the table after adding the Details column
|
||||
table.tabulator("redraw", true);
|
||||
}
|
||||
|
||||
// Formats the rows
|
||||
function func_rowFormatter(row){
|
||||
let status_kurzbz = row.getData().status_kurzbz;
|
||||
let empfehlungsberechtigt = row.getData().empfehlungsberechtigt;
|
||||
|
||||
row.getCells().forEach(function(cell){
|
||||
if (status_kurzbz != ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR || empfehlungsberechtigt == "false")
|
||||
{
|
||||
row.getElement().style["background-color"] = COLOR_LIGHTGREY; // default
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Formats row selectable/unselectable
|
||||
function func_selectableCheck(row){
|
||||
let status_kurzbz = row.getData().status_kurzbz;
|
||||
let empfehlungsberechtigt = row.getData().empfehlungsberechtigt;
|
||||
function func_selectableCheck(row) {
|
||||
let status_kurzbz = row.getData().status_kurzbz;
|
||||
let empfehlungsberechtigt = row.getData().empfehlungsberechtigt;
|
||||
|
||||
return (
|
||||
status_kurzbz == ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR || empfehlungsberechtigt == "false"
|
||||
);
|
||||
return status_kurzbz == ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR || empfehlungsberechtigt == "false";
|
||||
|
||||
}
|
||||
|
||||
// Performes after row was updated
|
||||
function func_rowUpdated(row){
|
||||
// Refresh row formatters
|
||||
row.reformat();
|
||||
|
||||
// Deselect and disable new selection of updated rows
|
||||
row.deselect();
|
||||
row.getElement().style["pointerEvents"] = "none";
|
||||
function func_rowFormatter(row){
|
||||
const rowData = row.getData();
|
||||
|
||||
// ...but leave url links selectable
|
||||
row.getCell('dokument_bezeichnung').getElement().firstChild.style["pointerEvents"] = "auto";
|
||||
row.getCell('details').getElement().firstChild.style["pointerEvents"] = "auto";
|
||||
// add the tabulator-unselectable class to the row if its data property isSelectable is false
|
||||
if(rowData.isSelectable===false && !row.getElement().classList.contains("tabulator-unselectable")){
|
||||
row.getElement().classList.add("tabulator-unselectable");
|
||||
}
|
||||
|
||||
// remove the tabulator-selectable class if the data property isSelectable is false and it contains the class
|
||||
if(rowData.isSelectable===false && row.getElement().classList.contains("tabulator-selectable")){
|
||||
row.getElement().classList.remove("tabulator-selectable");
|
||||
}
|
||||
}
|
||||
|
||||
// Returns tooltip
|
||||
function func_tooltips(cell) {
|
||||
// Return tooltip if row is unselectable
|
||||
if (!func_selectableCheck(cell.getRow())){
|
||||
return FHC_PhrasesLib.t("ui", "nichtSelektierbarAufgrundVon") + 'Status';
|
||||
}
|
||||
function func_tooltips(e, cell, onRendered) {
|
||||
//e - mouseover event
|
||||
//cell - cell component
|
||||
//onRendered - onRendered callback registration functionfunction
|
||||
|
||||
// Return tooltip if row is unselectable
|
||||
if (!func_selectableCheck(cell.getRow())) {
|
||||
return FHC_PhrasesLib.t("ui", "nichtSelektierbarAufgrundVon") + "Status";
|
||||
}
|
||||
}
|
||||
|
||||
// Formats empfehlung_anrechnung
|
||||
var format_empfehlung_anrechnung = function(cell, formatterParams){
|
||||
return (cell.getValue() == null)
|
||||
? '-'
|
||||
: (cell.getValue() == 'true')
|
||||
? FHC_PhrasesLib.t("ui", "ja")
|
||||
: FHC_PhrasesLib.t("ui", "nein");
|
||||
}
|
||||
var format_empfehlung_anrechnung = function (cell, formatterParams) {
|
||||
return cell.getValue() == null
|
||||
? "-"
|
||||
: cell.getValue() == "true"
|
||||
? FHC_PhrasesLib.t("ui", "ja")
|
||||
: FHC_PhrasesLib.t("ui", "nein");
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns formatter params for field dokument_bezeichnung (= Spalte Nachweisdokumente)
|
||||
* NOTE: Returning a formatter param object fixes the problem, that tabulator did not know the url after refreshing the page.
|
||||
*/
|
||||
function paramLookup_dokBez(cell){
|
||||
return {
|
||||
labelField: 'dokument_bezeichnung',
|
||||
url: CONTROLLER_URL + '/download?dms_id=' + cell.getData().dms_id,
|
||||
target: '_blank'
|
||||
}
|
||||
function paramLookup_dokBez(cell) {
|
||||
return {
|
||||
labelField: "dokument_bezeichnung",
|
||||
url: CONTROLLER_URL + "/download?dms_id=" + cell.getData().dms_id,
|
||||
target: "_blank",
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -148,308 +152,330 @@ function paramLookup_dokBez(cell){
|
||||
* Select all (filtered) rows that are progressed by stg leiter.
|
||||
* (Ignore rows that are approved, rejected or in request for recommendation)
|
||||
*/
|
||||
function tableWidgetHook_selectAllButton(tableWidgetDiv){
|
||||
var resultRows = tableWidgetDiv.find("#tableWidgetTabulator").tabulator('getRows', true)
|
||||
.filter(row =>
|
||||
row.getData().status_kurzbz == ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR
|
||||
);
|
||||
function tableWidgetHook_selectAllButton(tableWidgetDiv) {
|
||||
var resultRows = tableWidgetDiv
|
||||
.find("#tableWidgetTabulator")
|
||||
.tabulator("getRows", true)
|
||||
.filter(
|
||||
(row) =>
|
||||
row.getData().status_kurzbz == ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR
|
||||
);
|
||||
|
||||
tableWidgetDiv.find("#tableWidgetTabulator").tabulator('selectRow', resultRows);
|
||||
tableWidgetDiv
|
||||
.find("#tableWidgetTabulator")
|
||||
.tabulator("selectRow", resultRows);
|
||||
}
|
||||
|
||||
$(function () {
|
||||
const empfehlung_panel = $("#reviewAnrechnungUebersicht-empfehlung-panel");
|
||||
const begruendung_panel = $("#reviewAnrechnungUebersicht-begruendung-panel");
|
||||
|
||||
$(function(){
|
||||
// Pruefen ob Promise unterstuetzt wird
|
||||
// Tabulator funktioniert nicht mit IE
|
||||
var canPromise = !!window.Promise;
|
||||
if (!canPromise) {
|
||||
alert(
|
||||
"Diese Seite kann mit ihrem Browser nicht angezeigt werden. Bitte verwenden Sie Firefox, Chrome oder Edge um die Seite anzuzeigen"
|
||||
);
|
||||
window.location.href = "about:blank";
|
||||
return;
|
||||
}
|
||||
|
||||
const empfehlung_panel = $('#reviewAnrechnungUebersicht-empfehlung-panel');
|
||||
const begruendung_panel = $('#reviewAnrechnungUebersicht-begruendung-panel');
|
||||
$(document).on("tableInit", function (event, tabulatorInstance) {
|
||||
func_tableBuilt($("#tableWidgetTabulator"));
|
||||
});
|
||||
|
||||
// Pruefen ob Promise unterstuetzt wird
|
||||
// Tabulator funktioniert nicht mit IE
|
||||
var canPromise = !! window.Promise;
|
||||
if(!canPromise)
|
||||
{
|
||||
alert("Diese Seite kann mit ihrem Browser nicht angezeigt werden. Bitte verwenden Sie Firefox, Chrome oder Edge um die Seite anzuzeigen");
|
||||
window.location.href='about:blank';
|
||||
return;
|
||||
|
||||
// Redraw table on resize to fit tabulators height to windows height
|
||||
window.addEventListener("resize", function () {
|
||||
$("#tableWidgetTabulator").tabulator("setHeight", $(window).height() * 0.5);
|
||||
$("#tableWidgetTabulator").tabulator("redraw", true);
|
||||
});
|
||||
|
||||
// Show only rows with anrechnungen ohne Empfehlung
|
||||
$("#show-need-recommendation").click(function () {
|
||||
$("#tableWidgetTabulator").tabulator("setFilter", [
|
||||
{
|
||||
field: "status_kurzbz",
|
||||
type: "=",
|
||||
value: ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR,
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
// Show only rows with empfohlene + noch nicht genehmigte/abgelehnte anrechnungen
|
||||
$("#show-recommended").click(function () {
|
||||
$("#tableWidgetTabulator").tabulator("setFilter", [
|
||||
{
|
||||
field: "status_kurzbz",
|
||||
type: "=",
|
||||
value: ANRECHNUNGSTATUS_PROGRESSED_BY_STGL,
|
||||
},
|
||||
{ field: "empfehlung_anrechnung", type: "=", value: "true" },
|
||||
]);
|
||||
});
|
||||
|
||||
// Show only rows with nicht empfohlene + noch nicht genehmigte/abgelehnte anrechnungen
|
||||
$("#show-not-recommended").click(function () {
|
||||
$("#tableWidgetTabulator").tabulator("setFilter", [
|
||||
{
|
||||
field: "status_kurzbz",
|
||||
type: "=",
|
||||
value: ANRECHNUNGSTATUS_PROGRESSED_BY_STGL,
|
||||
},
|
||||
{ field: "empfehlung_anrechnung", type: "=", value: "false" },
|
||||
]);
|
||||
});
|
||||
|
||||
// Show only rows with genehmigte anrechnungen
|
||||
$("#show-approved").click(function () {
|
||||
$("#tableWidgetTabulator").tabulator("setFilter", [
|
||||
{ field: "status_kurzbz", type: "=", value: ANRECHNUNGSTATUS_APPROVED },
|
||||
]);
|
||||
});
|
||||
|
||||
// Show only rows with abgelehnte anrechnungen
|
||||
$("#show-rejected").click(function () {
|
||||
$("#tableWidgetTabulator").tabulator("setFilter", [
|
||||
{ field: "status_kurzbz", type: "=", value: ANRECHNUNGSTATUS_REJECTED },
|
||||
]);
|
||||
});
|
||||
|
||||
/**
|
||||
* Show all rows: clear filter and blur button
|
||||
* Bootstrap button remains in activated style, even when clicking various times.
|
||||
* This function "resets" button style and clear all tabulators filter.
|
||||
* NOTE: MUST be after all other filters
|
||||
*/
|
||||
$(".btn-clearfilter").click(function () {
|
||||
if ($(this).hasClass("active")) {
|
||||
$("#tableWidgetTabulator").tabulator("clearFilter");
|
||||
$(this).blur();
|
||||
}
|
||||
});
|
||||
|
||||
// Redraw table on resize to fit tabulators height to windows height
|
||||
window.addEventListener('resize', function(){
|
||||
$('#tableWidgetTabulator').tabulator('setHeight', $(window).height() * 0.50);
|
||||
$('#tableWidgetTabulator').tabulator('redraw', true);
|
||||
});
|
||||
// Ask ifRecommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-recommend-anrechnungen-ask").click(
|
||||
function () {
|
||||
begruendung_panel.css("display", "none");
|
||||
|
||||
// Set status alert color
|
||||
reviewAnrechnung.setStatusAlertColor();
|
||||
|
||||
// Show only rows with anrechnungen ohne Empfehlung
|
||||
$("#show-need-recommendation").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('setFilter',
|
||||
[
|
||||
{field: 'status_kurzbz', type: '=', value: ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR}
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
// Show only rows with empfohlene + noch nicht genehmigte/abgelehnte anrechnungen
|
||||
$("#show-recommended").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('setFilter',
|
||||
[
|
||||
{field: 'status_kurzbz', type: '=', value: ANRECHNUNGSTATUS_PROGRESSED_BY_STGL},
|
||||
{field: 'empfehlung_anrechnung', type: '=', value: 'true'}
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
// Show only rows with nicht empfohlene + noch nicht genehmigte/abgelehnte anrechnungen
|
||||
$("#show-not-recommended").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('setFilter', [
|
||||
{field: 'status_kurzbz', type: '=', value: ANRECHNUNGSTATUS_PROGRESSED_BY_STGL},
|
||||
{field: 'empfehlung_anrechnung', type: '=', value: 'false'},
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
// Show only rows with genehmigte anrechnungen
|
||||
$("#show-approved").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('setFilter',
|
||||
[
|
||||
{field: 'status_kurzbz', type: '=', value: ANRECHNUNGSTATUS_APPROVED}
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
// Show only rows with abgelehnte anrechnungen
|
||||
$("#show-rejected").click(function(){
|
||||
$('#tableWidgetTabulator').tabulator('setFilter',
|
||||
[
|
||||
{field: 'status_kurzbz', type: '=', value: ANRECHNUNGSTATUS_REJECTED}
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* Show all rows: clear filter and blur button
|
||||
* Bootstrap button remains in activated style, even when clicking various times.
|
||||
* This function "resets" button style and clear all tabulators filter.
|
||||
* NOTE: MUST be after all other filters
|
||||
*/
|
||||
$(".btn-clearfilter").click(function(){
|
||||
if($(this).hasClass('active'))
|
||||
{
|
||||
$('#tableWidgetTabulator').tabulator('clearFilter');
|
||||
$(this).blur();
|
||||
}
|
||||
})
|
||||
|
||||
// Ask ifRecommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-recommend-anrechnungen-ask").click(function(){
|
||||
|
||||
begruendung_panel.css('display', 'none');
|
||||
|
||||
if (empfehlung_panel.is(":hidden"))
|
||||
{
|
||||
// Show begruendung panel if is hidden
|
||||
empfehlung_panel.slideDown(400, function() {
|
||||
$('html, body').animate({
|
||||
scrollTop: empfehlung_panel.offset().top // Move empfehlung panel bottom up to be visible within window screen
|
||||
}, 400);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
// Recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-recommend-anrechnungen-confirm").click(function(e){
|
||||
|
||||
// Avoid bubbling click event to sibling break button
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
// Get selected rows data
|
||||
let selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData')
|
||||
.map(function(data){
|
||||
// reduce to necessary fields
|
||||
return {
|
||||
'anrechnung_id' : data.anrechnung_id,
|
||||
}
|
||||
});
|
||||
|
||||
// Alert and exit if no anrechnung is selected
|
||||
if (selected_data.length == 0)
|
||||
{
|
||||
FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("ui", "bitteMindEinenAntragWaehlen"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Prepare data object for ajax call
|
||||
let data = {
|
||||
'data': selected_data
|
||||
};
|
||||
|
||||
// Hide empfehlung panel again
|
||||
empfehlung_panel.slideUp('slow');
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/recommend",
|
||||
data,
|
||||
if (empfehlung_panel.is(":hidden")) {
|
||||
// Show begruendung panel if is hidden
|
||||
empfehlung_panel.slideDown(400, function () {
|
||||
$("html, body").animate(
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data.error && data.retval != null)
|
||||
{
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
scrollTop: empfehlung_panel.offset().top, // Move empfehlung panel bottom up to be visible within window screen
|
||||
},
|
||||
400
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'genehmigt'
|
||||
$('#tableWidgetTabulator').tabulator('updateData', data.retval);
|
||||
// Recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-recommend-anrechnungen-confirm").click(
|
||||
function (e) {
|
||||
// Avoid bubbling click event to sibling break button
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
// Print success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "anrechnungenWurdenEmpfohlen"));
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
}
|
||||
}
|
||||
// Get selected rows data
|
||||
let selected_data = $("#tableWidgetTabulator")
|
||||
.tabulator("getSelectedData")
|
||||
.map(function (data) {
|
||||
// reduce to necessary fields
|
||||
return {
|
||||
anrechnung_id: data.anrechnung_id,
|
||||
};
|
||||
});
|
||||
|
||||
// Alert and exit if no anrechnung is selected
|
||||
if (selected_data.length == 0) {
|
||||
FHC_DialogLib.alertInfo(
|
||||
FHC_PhrasesLib.t("ui", "bitteMindEinenAntragWaehlen")
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Ask if Dont recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-dont-recommend-anrechnungen-ask").click(function(){
|
||||
// Prepare data object for ajax call
|
||||
let data = {
|
||||
data: selected_data,
|
||||
};
|
||||
|
||||
empfehlung_panel.css('display', 'none');
|
||||
// Hide empfehlung panel again
|
||||
empfehlung_panel.slideUp("slow");
|
||||
|
||||
if (begruendung_panel.is(":hidden"))
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/recommend",
|
||||
data,
|
||||
{
|
||||
// Show begruendung panel if is hidden
|
||||
begruendung_panel.slideDown(400, function() {
|
||||
$('html, body').animate({
|
||||
scrollTop: begruendung_panel.offset().top // Move genehmigung panel bottom up to be visible within window screen
|
||||
}, 400);
|
||||
});
|
||||
return;
|
||||
successCallback: function (data, textStatus, jqXHR) {
|
||||
|
||||
if (data.error && data.retval != null) {
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
|
||||
if (!data.error && data.retval != null) {
|
||||
|
||||
// Update status 'genehmigt'
|
||||
$("#tableWidgetTabulator").tabulator("updateData", data.retval);
|
||||
|
||||
// make all confirmed anrechnungen unselectable and deselect them
|
||||
let selectedRows = $("#tableWidgetTabulator").tabulator("getSelectedRows");
|
||||
selectedRows.forEach(row => {
|
||||
row.update({...row.getData(), isSelectable:false});
|
||||
row.reformat();
|
||||
});
|
||||
|
||||
// deselect all selected rows
|
||||
$("#tableWidgetTabulator").tabulator(
|
||||
"deselectRow",
|
||||
selectedRows
|
||||
);
|
||||
|
||||
// Print success message
|
||||
FHC_DialogLib.alertSuccess(
|
||||
FHC_PhrasesLib.t("ui", "anrechnungenWurdenEmpfohlen")
|
||||
);
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
},
|
||||
}
|
||||
});
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// Dont recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-dont-recommend-anrechnungen-confirm").click(function(e){
|
||||
// Ask if Dont recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-dont-recommend-anrechnungen-ask").click(
|
||||
function () {
|
||||
empfehlung_panel.css("display", "none");
|
||||
|
||||
// Avoid bubbling click event to sibling break button
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
let begruendung = $('#reviewAnrechnungUebersicht-begruendung').val();
|
||||
|
||||
empfehlung_panel.css('display', 'none');
|
||||
|
||||
// Check if begruendung is given
|
||||
if (!begruendung.trim()) // empty or white spaces only
|
||||
{
|
||||
FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("ui", "bitteBegruendungAngeben"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Get selected rows data and add begruendung
|
||||
let selected_data = $('#tableWidgetTabulator').tabulator('getSelectedData')
|
||||
.map(function(data){
|
||||
// reduce to necessary fields
|
||||
return {
|
||||
'anrechnung_id' : data.anrechnung_id,
|
||||
'begruendung' : begruendung
|
||||
}
|
||||
});
|
||||
|
||||
// Alert and exit if no anrechnung is selected
|
||||
if (selected_data.length == 0)
|
||||
{
|
||||
FHC_DialogLib.alertInfo(FHC_PhrasesLib.t("ui", "bitteMindEinenAntragWaehlen"));
|
||||
return;
|
||||
}
|
||||
|
||||
// Prepare data object for ajax call
|
||||
let data = {
|
||||
'data': selected_data
|
||||
};
|
||||
|
||||
// Hide begruendung panel again
|
||||
begruendung_panel.slideUp('slow');
|
||||
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/dontRecommend",
|
||||
data,
|
||||
if (begruendung_panel.is(":hidden")) {
|
||||
// Show begruendung panel if is hidden
|
||||
begruendung_panel.slideDown(400, function () {
|
||||
$("html, body").animate(
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR)
|
||||
{
|
||||
if (data.error && data.retval != null)
|
||||
{
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
scrollTop: begruendung_panel.offset().top, // Move genehmigung panel bottom up to be visible within window screen
|
||||
},
|
||||
400
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
if (!data.error && data.retval != null)
|
||||
{
|
||||
// Update status 'genehmigt'
|
||||
$('#tableWidgetTabulator').tabulator('updateData', data.retval);
|
||||
// Dont recommend Anrechnungen
|
||||
$("#reviewAnrechnungUebersicht-dont-recommend-anrechnungen-confirm").click(
|
||||
function (e) {
|
||||
// Avoid bubbling click event to sibling break button
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
// Print success message
|
||||
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t("ui", "anrechnungenWurdenNichtEmpfohlen"));
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
}
|
||||
}
|
||||
let begruendung = $("#reviewAnrechnungUebersicht-begruendung").val();
|
||||
|
||||
empfehlung_panel.css("display", "none");
|
||||
|
||||
// Check if begruendung is given
|
||||
if (!begruendung.trim()) {
|
||||
// empty or white spaces only
|
||||
FHC_DialogLib.alertInfo(
|
||||
FHC_PhrasesLib.t("ui", "bitteBegruendungAngeben")
|
||||
);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Break Empfehlung abgeben
|
||||
$('#reviewAnrechnungUebersicht-empfehlung-abbrechen').click(function(){
|
||||
empfehlung_panel.slideUp('slow');
|
||||
// Get selected rows data and add begruendung
|
||||
let selected_data = $("#tableWidgetTabulator")
|
||||
.tabulator("getSelectedData")
|
||||
.map(function (data) {
|
||||
// reduce to necessary fields
|
||||
return {
|
||||
anrechnung_id: data.anrechnung_id,
|
||||
begruendung: begruendung,
|
||||
};
|
||||
});
|
||||
|
||||
})
|
||||
// Alert and exit if no anrechnung is selected
|
||||
if (selected_data.length == 0) {
|
||||
FHC_DialogLib.alertInfo(
|
||||
FHC_PhrasesLib.t("ui", "bitteMindEinenAntragWaehlen")
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
// Break Begruendung abgeben
|
||||
$('#reviewAnrechnungUebersicht-begruendung-abbrechen').click(function(){
|
||||
// Prepare data object for ajax call
|
||||
let data = {
|
||||
data: selected_data,
|
||||
};
|
||||
|
||||
begruendung_panel.slideUp('slow');
|
||||
// Hide begruendung panel again
|
||||
begruendung_panel.slideUp("slow");
|
||||
|
||||
})
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
FHC_JS_DATA_STORAGE_OBJECT.called_path + "/dontRecommend",
|
||||
data,
|
||||
{
|
||||
successCallback: function (data, textStatus, jqXHR) {
|
||||
if (data.error && data.retval != null) {
|
||||
// Print error message
|
||||
FHC_DialogLib.alertWarning(data.retval);
|
||||
}
|
||||
|
||||
// Copy Begruendung into textarea
|
||||
$(".btn-copyIntoTextarea").click(function(){
|
||||
reviewAnrechnung.copyIntoTextarea(this);
|
||||
})
|
||||
if (!data.error && data.retval != null) {
|
||||
// Update status 'genehmigt'
|
||||
$("#tableWidgetTabulator").tabulator("updateData", data.retval);
|
||||
|
||||
const selectedRows = $("#tableWidgetTabulator").tabulator("getSelectedRows");
|
||||
|
||||
// makes all denied anrechnungen unselectable by adding the isSelectable property and retriggering the rowFormatter function
|
||||
selectedRows.forEach(row=>{
|
||||
row.update({...row.getData(), isSelectable:false});
|
||||
row.reformat();
|
||||
})
|
||||
|
||||
// deselect all selected rows
|
||||
$("#tableWidgetTabulator").tabulator("deselectRow", selectedRows);
|
||||
|
||||
// Print success message
|
||||
FHC_DialogLib.alertSuccess(
|
||||
FHC_PhrasesLib.t("ui", "anrechnungenWurdenNichtEmpfohlen")
|
||||
);
|
||||
}
|
||||
},
|
||||
errorCallback: function (jqXHR, textStatus, errorThrown) {
|
||||
FHC_DialogLib.alertError(FHC_PhrasesLib.t("ui", "systemfehler"));
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// Break Empfehlung abgeben
|
||||
$("#reviewAnrechnungUebersicht-empfehlung-abbrechen").click(function () {
|
||||
empfehlung_panel.slideUp("slow");
|
||||
});
|
||||
|
||||
// Break Begruendung abgeben
|
||||
$("#reviewAnrechnungUebersicht-begruendung-abbrechen").click(function () {
|
||||
begruendung_panel.slideUp("slow");
|
||||
});
|
||||
|
||||
// Copy Begruendung into textarea
|
||||
$(".btn-copyIntoTextarea").click(function () {
|
||||
reviewAnrechnung.copyIntoTextarea(this);
|
||||
});
|
||||
});
|
||||
|
||||
var reviewAnrechnung = {
|
||||
setStatusAlertColor: function () {
|
||||
let status_kurzbz = $('#reviewAnrechnung-status_kurzbz').data('status_kurzbz');
|
||||
copyIntoTextarea: function (elem) {
|
||||
// Find closest textarea
|
||||
let textarea = $(elem).closest("div").find("textarea");
|
||||
|
||||
switch (status_kurzbz) {
|
||||
case ANRECHNUNGSTATUS_APPROVED:
|
||||
$('#reviewAnrechnung-status_kurzbz').closest('div').addClass('alert-success');
|
||||
break;
|
||||
case ANRECHNUNGSTATUS_REJECTED:
|
||||
$('#reviewAnrechnung-status_kurzbz').closest('div').addClass('alert-danger');
|
||||
break;
|
||||
case '':
|
||||
$('#reviewAnrechnung-status_kurzbz').closest('div').addClass('alert-info');
|
||||
break;
|
||||
default:
|
||||
$('#reviewAnrechnung-status_kurzbz').closest('div').addClass('alert-warning');
|
||||
}
|
||||
},
|
||||
copyIntoTextarea: function(elem){
|
||||
|
||||
// Find closest textarea
|
||||
let textarea = $(elem).closest('div').find('textarea');
|
||||
|
||||
// Copy begruendung into textarea and set focus
|
||||
textarea.val($.trim($(elem).parent().text())).focus();
|
||||
}
|
||||
}
|
||||
// Copy begruendung into textarea and set focus
|
||||
textarea.val($.trim($(elem).parent().text())).focus();
|
||||
},
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,19 @@
|
||||
|
||||
// Returns relative height (depending on screen size)
|
||||
function func_height(table) {
|
||||
return $(window).height() * 0.5;
|
||||
}
|
||||
|
||||
$(function(){
|
||||
|
||||
// tableInit is called in the jquery_wrapper when the tableBuilt event was finished
|
||||
$(document).on("tableInit", function(event,tabulatorInstance) {
|
||||
|
||||
$("#tableWidgetTabulator").tabulator("on","rowDeselected",(row)=>func_rowDeselected(row));
|
||||
$("#tableWidgetTabulator").tabulator("on","rowSelected",(row)=>func_rowSelected(row));
|
||||
|
||||
});
|
||||
|
||||
var studiensemesterStart = $("#studsemStart").val();
|
||||
|
||||
Zverfueg.initDatepicker(studiensemesterStart);
|
||||
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* This file is part of the Tabulator package.
|
||||
*
|
||||
* (c) Oliver Folkerd <oliver.folkerd@gmail.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* Full Documentation & Demos can be found at: http://olifolkerd.github.io/tabulator/
|
||||
*
|
||||
*/
|
||||
|
||||
(function (root, factory) {
|
||||
"use strict";
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['jquery', 'tabulator', 'jquery-ui'], factory);
|
||||
}
|
||||
else if(typeof module !== 'undefined' && module.exports) {
|
||||
module.exports = factory(
|
||||
require('jquery'),
|
||||
require('tabulator'),
|
||||
require('jquery-ui')
|
||||
);
|
||||
}
|
||||
else {
|
||||
factory(root.jQuery, root.Tabulator);
|
||||
}
|
||||
}(this, function ($, Tabulator) {
|
||||
|
||||
$.widget("ui.tabulator", {
|
||||
_create:function(){
|
||||
var options = Object.assign({}, this.options);
|
||||
var props = [];
|
||||
|
||||
delete options.create;
|
||||
delete options.disabled;
|
||||
|
||||
this.table = new Tabulator(this.element[0], options);
|
||||
window.table = this.table;
|
||||
|
||||
const that = this;
|
||||
this.table.on("tableBuilt", function(){
|
||||
props = Object.getOwnPropertyNames(Object.getPrototypeOf(Object.getPrototypeOf(this)));
|
||||
props = props.concat(Object.getOwnPropertyNames(this));
|
||||
for(let key of props){
|
||||
if(typeof this[key] === "function" && key.charAt(0) !== "_"){
|
||||
that[key] = this[key].bind(this);
|
||||
}
|
||||
}
|
||||
|
||||
$(document).trigger("tableInit",[this]);
|
||||
});
|
||||
|
||||
//retrieve properties on prototype
|
||||
props = Object.getOwnPropertyNames(Object.getPrototypeOf(Object.getPrototypeOf(this.table)));
|
||||
|
||||
//retrieve properties added by modules
|
||||
props = props.concat(Object.getOwnPropertyNames(this.table));
|
||||
|
||||
//map tabulator functions to jquery wrapper
|
||||
for(let key of props){
|
||||
if(typeof this.table[key] === "function" && key.charAt(0) !== "_"){
|
||||
this[key] = this.table[key].bind(this.table);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_setOption: function(option, value){
|
||||
console.error("Tabulator jQuery wrapper does not support setting options after the table has been instantiated");
|
||||
},
|
||||
|
||||
_destroy: function(option, value){
|
||||
this.table.destroy();
|
||||
},
|
||||
});
|
||||
}));
|
||||
@@ -6401,6 +6401,26 @@ The invoice will be sent to you again. <u><strong>The amount is only to be trans
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'neuUndGeaenderteAnzeigen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Neue und geänderte anzeigen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Show new and changed',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
@@ -12165,7 +12185,7 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '<br>Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz wird überschritten.<br><b>Bisherige ECTS + ECTS dieser LV: Total: {0} [ Schulisch: {1} | Beruflich: {2} ]</b> ',
|
||||
'text' => 'Die Höchstgrenze für Anrechnungen gem. § 12 Abs. 3 Fachhochschulgesetz wird überschritten.<span class="fw-bold">Bisherige ECTS + ECTS dieser LV: Total: {0} [ Schulisch: {1} | Beruflich: {2} ]</span>',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user