mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-21 19:29:35 +00:00
Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3fb25869d | ||
|
|
e68634cf6f | ||
|
|
e3ed6066c2 | ||
|
|
39ea868f08 | ||
|
|
b2f3b5a3bc | ||
|
|
864b56e62c | ||
|
|
424ed0c5bb | ||
|
|
b0f1572576 | ||
|
|
03efc55c93 | ||
|
|
95c4dc2734 | ||
|
|
94c019888a | ||
|
|
756b9b995d |
@@ -74,6 +74,9 @@ $config['tabs'] =
|
||||
],
|
||||
],
|
||||
],
|
||||
'hiddenFields' => [
|
||||
'uhrzeit'
|
||||
]
|
||||
],
|
||||
'exemptions' => [
|
||||
//if true, Anrechnungen can be added and edited in tab Anrechnungen
|
||||
|
||||
@@ -280,6 +280,47 @@ class LvMenu extends FHCAPI_Controller
|
||||
},
|
||||
$params
|
||||
);
|
||||
if (intval(substr($studiensemester_kurzbz, -2)) > 25 && $studiensemester_kurzbz !== "SS2026") {
|
||||
$menu = array_filter(
|
||||
$menu,
|
||||
function ($menuItem) {
|
||||
return $menuItem['id'] !== 'addon_lvevaluierung_menu_lvevaluierung';
|
||||
}
|
||||
);
|
||||
} else if (intval(substr($studiensemester_kurzbz, -2)) < 25) {
|
||||
$menu = array_filter(
|
||||
$menu,
|
||||
function ($menuItem) {
|
||||
return $menuItem['id'] !== 'extension_lvevaluierung_menu_initiierung';
|
||||
}
|
||||
);
|
||||
} else {
|
||||
$oldEval = current(array_filter(
|
||||
$menu,
|
||||
function ($menuItem) {
|
||||
return $menuItem['id'] === 'addon_lvevaluierung_menu_lvevaluierung';
|
||||
}
|
||||
));
|
||||
$newEval = current(array_filter(
|
||||
$menu,
|
||||
function ($menuItem) {
|
||||
return $menuItem['id'] === 'extension_lvevaluierung_menu_initiierung';
|
||||
}
|
||||
));
|
||||
if ($oldEval && $newEval) {
|
||||
$this->load->library('PhrasesLib');
|
||||
$p = $this->p;
|
||||
$menu = array_map(
|
||||
function ($menuItem) use ($p) {
|
||||
if ($menuItem['id'] === 'addon_lvevaluierung_menu_lvevaluierung') {
|
||||
$menuItem['name'] .= ' (' . $p->t('global', 'old') . ')';
|
||||
}
|
||||
return $menuItem;
|
||||
},
|
||||
$menu
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Menu sortieren
|
||||
// ##########################################################################################
|
||||
@@ -379,7 +420,8 @@ class LvMenu extends FHCAPI_Controller
|
||||
'name'=>$this->p->t('lehre', 'gesamtnote'),
|
||||
'phrase' => 'lehre/gesamtnote',
|
||||
'c4_icon'=> base_url('skin/images/button_endnote.png'),
|
||||
'c4_link'=> site_url('Cis/Benotungstool/'.urlencode($lvid).'/'.urlencode($angezeigtes_stsem))
|
||||
'c4_link'=> base_url('cis.php/Cis/Compat/legacy/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
|
||||
//'c4_link'=> site_url('Cis/Benotungstool/'.urlencode($lvid).'/'.urlencode($angezeigtes_stsem))
|
||||
//'c4_link'=> base_url('cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
|
||||
//'c4_link'=> base_url('benotungstool/lvgesamtnoteverwalten.php?lvid='.urlencode($lvid).'&stsem='.urlencode($angezeigtes_stsem))
|
||||
);
|
||||
|
||||
@@ -32,7 +32,6 @@ class Funktionen extends FHCAPI_Controller
|
||||
]);
|
||||
|
||||
// Load models
|
||||
$this->load->model('extensions/FHC-Core-Personalverwaltung/Api_model', 'ApiModel');
|
||||
$this->load->model('ressource/Funktion_model', 'FunktionModel');
|
||||
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
|
||||
|
||||
@@ -315,6 +315,7 @@ class Abschlusspruefung extends FHCAPI_Controller
|
||||
'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'],
|
||||
'datum' => $formData['datum'], //TODO(Manu) check if minute format like FAS
|
||||
'sponsion' => $formData['sponsion'],
|
||||
'uhrzeit' => $formData['uhrzeit'],
|
||||
'pruefer1' => $formData['pruefer1'],
|
||||
'pruefer2' => $formData['pruefer2'],
|
||||
'pruefer3' => $formData['pruefer3'],
|
||||
@@ -387,6 +388,7 @@ class Abschlusspruefung extends FHCAPI_Controller
|
||||
'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'],
|
||||
'datum' => $datum,
|
||||
'sponsion' => $sponsion,
|
||||
'uhrzeit' => $formData['uhrzeit'],
|
||||
'pruefer1' => $pruefer1,
|
||||
'pruefer2' => $pruefer2,
|
||||
'pruefer3' => $pruefer3,
|
||||
|
||||
@@ -103,13 +103,6 @@ export default {
|
||||
keyboard: this.keyboard
|
||||
});
|
||||
},
|
||||
//to avoid pagelocks if more than one instance
|
||||
beforeUnmount() {
|
||||
if (this.modal) {
|
||||
this.modal.dispose();
|
||||
this.modal = null;
|
||||
}
|
||||
},
|
||||
popup(body, options, title, footer) {
|
||||
const BsModal = this,
|
||||
slots = {};
|
||||
@@ -164,7 +157,17 @@ export default {
|
||||
});
|
||||
});
|
||||
},
|
||||
template: `<div ref="modal" class="bootstrap-modal modal" tabindex="-1" @[\`hide.bs.modal\`]="$emit('hideBsModal')" @[\`hidden.bs.modal\`]="$emit('hiddenBsModal')" @[\`hidePrevented.bs.modal\`]="$emit('hidePreventedBsModal')" @[\`show.bs.modal\`]="$emit('showBsModal')" @[\`shown.bs.modal\`]="$emit('shownBsModal')">
|
||||
template: `
|
||||
<div
|
||||
ref="modal"
|
||||
class="bootstrap-modal modal"
|
||||
tabindex="-1"
|
||||
@[\`hide.bs.modal\`]="$emit('hideBsModal', $event)"
|
||||
@[\`hidden.bs.modal\`]="$emit('hiddenBsModal', $event)"
|
||||
@[\`hidePrevented.bs.modal\`]="$emit('hidePreventedBsModal', $event)"
|
||||
@[\`show.bs.modal\`]="$emit('showBsModal', $event)"
|
||||
@[\`shown.bs.modal\`]="$emit('shownBsModal', $event)"
|
||||
>
|
||||
<div class="modal-dialog" :class="fullscreen ? 'modal-fullscreen' : dialogClass">
|
||||
<div class="modal-content">
|
||||
<div v-if="$slots.title" class="modal-header" :class="headerClass">
|
||||
|
||||
@@ -515,7 +515,7 @@ export default {
|
||||
},
|
||||
template: /* html */`
|
||||
<div class="stv" :class="{ 'sidebar-collapsed': sidebarCollapsed }">
|
||||
<header class="navbar navbar-expand-lg navbar-dark bg-dark flex-md-nowrap p-0 shadow" style="background-color: green !important;">
|
||||
<header class="navbar navbar-expand-lg navbar-dark bg-dark flex-md-nowrap p-0 shadow">
|
||||
<div class="col-md-4 col-lg-3 col-xl-2 d-flex align-items-center">
|
||||
<button
|
||||
class="btn btn-outline-light border-0 m-1 collapsed"
|
||||
@@ -528,12 +528,7 @@ export default {
|
||||
>
|
||||
<span class="svg-icon svg-icon-apps"></span>
|
||||
</button>
|
||||
<a class="navbar-brand me-0" :href="stvRoot">
|
||||
<span style="font-size: 10px; line-height: 1; display: block; width: 100%; text-wrap: wrap; text-align: left;">
|
||||
DEMO Datenstand 29.09.2026
|
||||
</span>
|
||||
StudVw: {{studiensemesterKurzbz}} {{studiengangKuerzel}}
|
||||
</a>
|
||||
<a class="navbar-brand me-0" :href="stvRoot">StudVw: {{studiensemesterKurzbz}} {{studiengangKuerzel}}</a>
|
||||
<button
|
||||
class="btn btn-outline-light border-0 d-none d-md-inline-flex m-1 ms-auto"
|
||||
type="button"
|
||||
|
||||
+23
-4
@@ -56,7 +56,8 @@ export default {
|
||||
anmerkung: null,
|
||||
protokoll: null,
|
||||
note: null,
|
||||
link: null
|
||||
link: null,
|
||||
uhrzeit: null
|
||||
},
|
||||
statusNew: true,
|
||||
arrTypen: [],
|
||||
@@ -310,6 +311,7 @@ export default {
|
||||
|
||||
this.formData.pruefungstyp_kurzbz = data.pruefungstyp_kurzbz;
|
||||
this.formData.datum = data.datum;
|
||||
this.formData.uhrzeit = data.uhrzeit;
|
||||
this.formData.sponsion = data.sponsion;
|
||||
this.formData.akadgrad_id = data.akadgrad_id;
|
||||
this.formData.pruefungsantritt_kurzbz = data.pruefungsantritt_kurzbz;
|
||||
@@ -411,6 +413,7 @@ export default {
|
||||
pruefer3_label: this.selectedPruefer3?.label || null,
|
||||
akadgrad_id: this.formData.akadgrad_id,
|
||||
datum: this.formData.datum,
|
||||
uhrzeit: this.formData.uhrzeit || null,
|
||||
sponsion: this.formData.sponsion
|
||||
};
|
||||
localStorage.setItem(STORAGE_KEY, JSON.stringify(stored));
|
||||
@@ -527,6 +530,7 @@ export default {
|
||||
this.formData.abschlussbeurteilung_kurzbz = null;
|
||||
this.formData.datum = null;
|
||||
this.formData.sponsion = null;
|
||||
this.formData.uhrzeit = null;
|
||||
this.formData.pruefer1 = null;
|
||||
this.formData.pruefer2 = null;
|
||||
this.formData.pruefer3 = null;
|
||||
@@ -620,7 +624,7 @@ export default {
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$api
|
||||
@@ -715,7 +719,6 @@ export default {
|
||||
</template>
|
||||
|
||||
<form-form ref="formFinalExam" @submit.prevent>
|
||||
|
||||
<legend>{{this.$p.t('global','details')}}</legend>
|
||||
<p v-if="statusNew">[{{$p.t('ui', 'neu')}}]</p>
|
||||
|
||||
@@ -916,6 +919,22 @@ export default {
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-if="!config.hiddenFields?.includes('uhrzeit')" class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-6 stv-details-uhrzeit"
|
||||
:label="$p.t('global', 'uhrzeit')"
|
||||
type="DatePicker"
|
||||
v-model="formData.uhrzeit"
|
||||
model-type="HH:mm:ss"
|
||||
time-picker
|
||||
text-input
|
||||
name="uhrzeit"
|
||||
:teleport="true"
|
||||
:cancel-text="$p.t('ui', 'abbrechen')"
|
||||
:select-text="$p.t('ui', 'ok')"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="col-6 stv-details-abschlusspruefung-sponsion"
|
||||
@@ -979,7 +998,7 @@ export default {
|
||||
:cisRoot="cisRoot"
|
||||
@linkGenerated="printDocument"
|
||||
></abschlusspruefung-dropdown>
|
||||
</Teleport>
|
||||
</Teleport>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ export default {
|
||||
<div class="stv-details-kontakt-contact h-100 pt-3">
|
||||
|
||||
<!--Modal: contactModal-->
|
||||
<bs-modal ref="contactModal">
|
||||
<bs-modal ref="contactModal" @hideBsModal.stop="">
|
||||
<template #title>
|
||||
<p v-if="statusNew" class="fw-bold mt-3">{{$p.t('person', 'kontakt_new')}}</p>
|
||||
<p v-else class="fw-bold mt-3">{{$p.t('person', 'kontakt_edit')}}</p>
|
||||
|
||||
+3
-1
@@ -604,9 +604,11 @@ export default {
|
||||
|
||||
<!--Modal: KontaktdatenModal -->
|
||||
<bs-modal
|
||||
v-if="autocompleteSelectedBetreuer && autocompleteSelectedBetreuer.person_id"
|
||||
@hideBsModal.stop=""
|
||||
ref="kontaktdatenModal"
|
||||
dialog-class="modal-xl modal-dialog-scrollable"
|
||||
v-if="autocompleteSelectedBetreuer && autocompleteSelectedBetreuer.person_id">
|
||||
>
|
||||
|
||||
<template #title>
|
||||
<p class="fw-bold mt-3">{{$p.t('projektarbeit', 'kontaktdatenBearbeiten')}}</p>
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../vendor
|
||||
@@ -68199,6 +68199,26 @@ I have been informed that I am under no obligation to consent to the transmissio
|
||||
)
|
||||
),
|
||||
// Zeitsperren Sancho Subjects end
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'global',
|
||||
'phrase' => 'old',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'alt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'old',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user