Added GUI to create Anrechnungsantrag

Signed-off-by: cris-technikum <hainberg@technikum-wien.at>
This commit is contained in:
Cris
2021-04-20 15:54:16 +02:00
committed by cris-technikum
parent f6f31f7efb
commit 5e77e252c7
4 changed files with 321 additions and 0 deletions
@@ -0,0 +1,171 @@
<?php
$this->load->view(
'templates/FHC-Header',
array(
'title' => $this->p->t('anrechnung', 'neueAnrechnung'),
'jquery' => true,
'jqueryui' => true,
'bootstrap' => true,
'fontawesome' => true,
'ajaxlib' => true,
'dialoglib' => true,
'tabulator' => true,
'tablewidget' => true,
'phrases' => array(
'global' => array(
'anerkennungNachgewiesenerKenntnisse',
'antragWurdeGestellt',
'antragBereitsGestellt'
),
'ui' => array(
'hochladen'
),
'lehre' => array(
'studiensemester',
'studiengang',
'lehrveranstaltung'
)
),
'customJSs' => array(
'public/js/bootstrapper.js',
'public/js/lehre/anrechnung/createAnrechnung.js'
),
'customCSSs' => array(
'public/css/lehre/anrechnung.css'
)
)
);
?>
<body>
<div id="page-wrapper">
<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'
)
);
?>
</div>
<button type="submit"
class="btn btn-default form-group">
<?php echo ucfirst($this->p->t('ui', 'anzeigen')); ?>
</button>
</form>
</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(
'id' => 'textarea-herkunftKenntnisse',
'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(
'id' => 'upload-nachweisdokumente',
'name' => 'uploadfile',
'accept' => '.pdf',
'size' => '50',
'required' => 'required'
)); ?>
</div>
<a class="pull-right" id="download-nachweisdokumente"></a>
</td>
</tr>
</table>
</div>
</div>
<!-- Submit Button -->
<div class="row">
<div class="col-lg-10">
<button class="btn btn-primary btn-w200 pull-right" id="createAnrechnung-submit" type="button" value="submit">
<?php echo $this->p->t('global', 'antragAnlegen'); ?>
</button>
</div>
</div>
</form>
<!-- FORM END --------------------------------------------------------------------------------------------------------->
</div>
</div>
</body>
@@ -0,0 +1,83 @@
<?php
$STUDIENSEMESTER = $studiensemester_selected;
$STUDIENGAENGE_ENTITLED = implode(', ', $studiengaenge_entitled);
$LANGUAGE_INDEX = getUserLanguage() == 'German' ? '0' : '1';
$query = '
SELECT pst.prestudent_id,
person.person_id,
pststatus.studienplan_id,
stg.studiengang_kz,
stg.bezeichnung AS "stg_bezeichnung",
ausbildungssemester,
nachname,
vorname,
(SELECT COALESCE(
array_to_json(zgvmaster.bezeichnung::varchar[])->>' . $LANGUAGE_INDEX . ',
array_to_json(zgv.bezeichnung::varchar[])->>' . $LANGUAGE_INDEX . '
) AS zgv
FROM public.tbl_prestudent
LEFT JOIN bis.tbl_zgv zgv USING (zgv_code)
LEFT JOIN bis.tbl_zgvmaster zgvmaster USING (zgvmas_code)
WHERE prestudent_id = pst.prestudent_id
) AS zgv
FROM public.tbl_prestudent pst
JOIN public.tbl_prestudentstatus pststatus USING (prestudent_id)
JOIN public.tbl_person person USING (person_id)
JOIN public.tbl_student student USING (prestudent_id)
JOIN public.tbl_benutzer benutzer ON benutzer.uid = student.student_uid
JOIN public.tbl_studiengang stg ON stg.studiengang_kz = pst.studiengang_kz
WHERE pststatus.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
AND pst.studiengang_kz IN (' . $STUDIENGAENGE_ENTITLED . ')
AND benutzer.aktiv = true
ORDER BY "stg_bezeichnung", ausbildungssemester, nachname
';
$filterWidgetArray = array(
'query' => $query,
'tableUniqueId' => 'createAnrechnung',
'requiredPermissions' => 'lehre/anrechnung_genehmigen',
'datasetRepresentation' => 'tabulator',
'columnsAliases' => array(
'prestudent_id',
'person_id',
'studienplan_id',
'studiengang_kz',
ucfirst($this->p->t('lehre', 'studiengang')),
'Semester',
ucfirst($this->p->t('person', 'nachname')),
ucfirst($this->p->t('person', 'vorname')),
ucfirst($this->p->t('global', 'zgv'))
),
'datasetRepOptions' => '{
height: 300,
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
}',
'datasetRepFieldsDefs' => '{
prestudent_id: {visible: false, headerFilter:"input"},
person_id: {visible: false, headerFilter:"input"},
studienplan_id: {visible: false, headerFilter:"input"},
studiengang_kz: {visible: false, headerFilter:"input"},
stg_bezeichnung: {headerFilter:"input"},
ausbildungssemester: {headerFilter:"input"},
nachname: {headerFilter:"input"},
vorname: {headerFilter:"input"},
zgv: {headerFilter:"input"}
}'
);
echo $this->widgetlib->widget('TableWidget', $filterWidgetArray);
+7
View File
@@ -0,0 +1,7 @@
.select-w500 {
width: 500px;
}
.pl-15 {
padding-left: 15px !important;
}
+60
View File
@@ -10690,6 +10690,66 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'anrechnung',
'phrase' => 'neueAnrechnung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Neue Anrechnung",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "New Exemption",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'antragAnlegen',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Antrag anlegen",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "Create Application",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'keineLVzugeteilt',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Dem Studierenden sind keine Lehrveranstaltungen zugeteilt.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "No courses assigned to this student yet.",
'description' => '',
'insertvon' => 'system'
)
)
),
);