Merge branch 'feature-53416/stundenplan_eine_lva' into feature-25999/C4_cleanup

This commit is contained in:
Johann Hoffmann
2024-11-19 10:36:34 +01:00
5 changed files with 31 additions and 12 deletions
@@ -71,11 +71,16 @@ class Documents extends Auth_Controller
]);
$stgs = [];
$stsemArray = [];
$buchungstypen = implode('\',\'', defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN") ? unserialize(CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN) : []);
$person_ids = [];
foreach ($stati as $status) {
$person_ids[] = $status->person_id;
if(!in_array($status->studiensemester_kurzbz, $stsemArray)) {
$stsemArray[] = $status->studiensemester_kurzbz;
}
if (!isset($stgs[$status->studiengang_kz])) {
$stg = $this->StudiengangModel->load($status->studiengang_kz);
if (isError($stg))
@@ -122,6 +127,7 @@ class Documents extends Auth_Controller
$this->load->view('Cis/Documents', [
'stsemArray' => $stsemArray,
'stgs' => $stgs,
'uid' => $uid,
'studienbuchblatt' => defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN,
-1
View File
@@ -104,7 +104,6 @@ $this->load->view('templates/CISVUE-Header', $includesArray);
<?php } ?>
<div class="col-auto">
<select class="form-select" @input="changeFilter('studienerfolgsbestaetigungtable', 'Stsem', $event)">
<option value="">Alle</option>
<option value="<?= $this->p->t('tools', 'alleStudiensemester'); ?>"><?= $this->p->t('tools', 'alleStudiensemester'); ?></option>
<?php foreach ($stsemArray as $sem) { ?>
<option value="<?= $sem; ?>">
+4 -7
View File
@@ -1,14 +1,8 @@
// import Phrasen from '../../mixins/Phrasen.js';
import Phrasen from '../../plugin/Phrasen.js';
//import {TabulatorFull as Tabulator} from '../../../../vendor/olifolkerd/tabulator5/dist/js/tabulator_esm.min.js';
//import CssLib from '../../helpers/CssLib.js';
//CssLib.import('../../vendor/olifolkerd/tabulator5/dist/css/tabulator_bootstrap5.min.css');
import {setScrollbarWidth} from "../../helpers/CssVarCalcHelpers";
const app = Vue.createApp({
name: 'DocumentsApp',
// mixins: [
// Phrasen
// ],
data() {
return {
inscriptiontable: null,
@@ -92,5 +86,8 @@ const app = Vue.createApp({
});
}
});
setScrollbarWidth();
app.use(Phrasen, {reload: true});
app.mount('#content');
+10 -2
View File
@@ -19,7 +19,9 @@ export default {
"change",
"remove",
"dragstart",
"resizestart"
"resizestart",
"configOpened",
"configClosed"
],
props: [
"id",
@@ -41,6 +43,12 @@ export default {
},
},
methods: {
handleShowBsModal() {
this.$emit('configOpened')
},
handleHideBsModal() {
this.$emit('configClosed')
},
mouseDown(e) {
this.target = e.target;
},
@@ -120,7 +128,7 @@ export default {
<component :is="component" v-model:shared-data="sharedData" :config="arguments" :width="width" :height="height" @setConfig="setConfig" @change="changeConfigManually"></component>
</div>
<div v-else class="card-body overflow-hidden text-center d-flex flex-column justify-content-center"><i class="fa-solid fa-spinner fa-pulse fa-3x"></i></div>
<bs-modal v-if="hasConfig" ref="config">
<bs-modal v-if="hasConfig" ref="config" @hideBsModal="handleHideBsModal" @showBsModal="handleShowBsModal">
<template v-slot:title>
{{ widget ? 'Config for ' + widget.setup.name : '' }}
</template>
+11 -2
View File
@@ -26,6 +26,7 @@ export default {
],
data() {
return {
configOpened: false,
gridWidth: 1,
gridHeight: null,
editMode: this.adminMode
@@ -91,6 +92,12 @@ export default {
},
},
methods: {
handleConfigOpened() {
this.configOpened = true
},
handleConfigClosed() {
this.configOpened = false
},
checkResizeLimit(item, w, h) {
// NOTE(chris): widgets needs to be loaded for this to work
let widget = CachedWidgetLoader.getWidget(item.widget);
@@ -180,7 +187,7 @@ export default {
<span >{{$p.t('ui/section' + name)}}</span>
<button style="margin-left: 8px;" class="btn" @click="editMode = !editMode"><i class="fa-solid fa-gear"></i></button>
</h3>
<drop-grid v-model:cols="gridWidth" :items="items" :placeholders="items_placeholders" :active="editMode" :resize-limit="checkResizeLimit" :margin-for-extra-row=".01" @rearrange-items="updatePositions" @gridHeight="gridHeight=$event" >
<drop-grid v-model:cols="gridWidth" :items="items" :placeholders="items_placeholders" :active="editMode && !configOpened" :resize-limit="checkResizeLimit" :margin-for-extra-row=".01" @rearrange-items="updatePositions" @gridHeight="gridHeight=$event" >
<template #default="item" #default>
<dashboard-item v-if="!item.placeholder"
@@ -193,7 +200,9 @@ export default {
:hidden="item.hidden"
:editMode="editMode"
@change="saveConfig($event, item)"
@remove="removeWidget(item, $event)">
@remove="removeWidget(item, $event)"
@config-opened="handleConfigOpened"
@config-closed="handleConfigClosed">
</dashboard-item>
<div v-else class="empty-tile-hover" @click="$emit('widgetAdd', name, { widget: 1, config: {}, place: {[gridWidth]: {x:item.x,y:item.y,w:1,h:1}}, custom: 1 })"></div>