mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' into bug-70848/FHC4_Studierendenverwaltung_Notiz_handleVisibleColumns_pp
This commit is contained in:
@@ -32,9 +32,9 @@ class Studentenverwaltung extends Auth_Controller
|
||||
'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung'),
|
||||
'lehre/reihungstestAufsicht' => $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht'),
|
||||
'system/change_outputformat' => $this->permissionlib->getOE_isEntitledFor('system/change_outputformat'),
|
||||
'student/editBakkZgv' => $this->permissionlib->isBerechtigt('student/editBakkZgv'),
|
||||
'student/editMakkZgv' => $this->permissionlib->isBerechtigt('student/editMakkZgv'),
|
||||
'student/editDokZgv' => $this->permissionlib->isBerechtigt('student/editDokZgv'),
|
||||
'student/editBakkZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editBakkZgv') ?: array(),
|
||||
'student/editMakkZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editMakkZgv') ?: array(),
|
||||
'student/editDokZgv' => $this->permissionlib->getSTG_isEntitledFor('student/editDokZgv') ?: array(),
|
||||
'student/editBismelden' => $this->permissionlib->isBerechtigt('student/editBismelden')
|
||||
],
|
||||
'variables' => [
|
||||
|
||||
@@ -43,7 +43,7 @@ class Prestudent extends FHCAPI_Controller
|
||||
|
||||
// Load language phrases
|
||||
$this->loadPhrases([
|
||||
'ui', 'studierendenantrag', 'lehre'
|
||||
'ui', 'studierendenantrag', 'lehre', 'global'
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -98,11 +98,9 @@ class Prestudent extends FHCAPI_Controller
|
||||
'person_id',
|
||||
'berufstaetigkeit_code',
|
||||
'ausbildungcode',
|
||||
'zgv_code',
|
||||
'zgvort',
|
||||
'zgvdatum',
|
||||
'zgvnation',
|
||||
'zgvmas_code',
|
||||
'zgvmaort',
|
||||
'zgvmadatum',
|
||||
'zgvmanation',
|
||||
@@ -110,7 +108,6 @@ class Prestudent extends FHCAPI_Controller
|
||||
'bismelden',
|
||||
'anmerkung',
|
||||
'dual',
|
||||
'zgvdoktor_code',
|
||||
'zgvdoktorort',
|
||||
'zgvdoktordatum',
|
||||
'zgvdoktornation',
|
||||
@@ -125,6 +122,57 @@ class Prestudent extends FHCAPI_Controller
|
||||
'standort_code'
|
||||
];
|
||||
|
||||
// add zgv code fields only if user has permission
|
||||
$this->load->library('PermissionLib');
|
||||
$prestudentres = $this->PrestudentModel->load($prestudent_id);
|
||||
if(!hasData($prestudentres))
|
||||
{
|
||||
$this->terminateWithError($this->p->t('ui', 'error_fieldNotFound', ['field' => 'Prestudent ' . $prestudent_id]));
|
||||
}
|
||||
$prestudent = (getData($prestudentres))[0];
|
||||
$bakkZgvStg = $this->permissionlib->getSTG_isEntitledFor('student/editBakkZgv') ?: array();
|
||||
$makkZgvStg = $this->permissionlib->getSTG_isEntitledFor('student/editMakkZgv') ?: array();
|
||||
$dokZgvStg = $this->permissionlib->getSTG_isEntitledFor('student/editDokZgv') ?: array();
|
||||
|
||||
if(in_array($prestudent->studiengang_kz, $bakkZgvStg))
|
||||
{
|
||||
$array_allowed_props_prestudent[] = 'zgv_code';
|
||||
}
|
||||
else if(!is_null($this->input->post('zgv_code')))
|
||||
{
|
||||
$this->terminateWithError(
|
||||
$this->p->t('global', 'zgv')
|
||||
. ' - ' .
|
||||
$this->p->t('ui', 'error_keineBerechtigungStg')
|
||||
);
|
||||
}
|
||||
|
||||
if(in_array($prestudent->studiengang_kz, $makkZgvStg))
|
||||
{
|
||||
$array_allowed_props_prestudent[] = 'zgvmas_code';
|
||||
}
|
||||
else if(!is_null($this->input->post('zgvmas_code')))
|
||||
{
|
||||
$this->terminateWithError(
|
||||
$this->p->t('lehre', 'zgvMaster')
|
||||
. ' - ' .
|
||||
$this->p->t('ui', 'error_keineBerechtigungStg')
|
||||
);
|
||||
}
|
||||
|
||||
if(in_array($prestudent->studiengang_kz, $dokZgvStg))
|
||||
{
|
||||
$array_allowed_props_prestudent[] = 'zgvdoktor_code';
|
||||
}
|
||||
else if(!is_null($this->input->post('zgvdoktor_code')))
|
||||
{
|
||||
$this->terminateWithError(
|
||||
$this->p->t('lehre', 'zgvDoktor')
|
||||
. ' - ' .
|
||||
$this->p->t('ui', 'error_keineBerechtigungStg')
|
||||
);
|
||||
}
|
||||
|
||||
// add UDFs
|
||||
$result = $this->udflib->getDefinitionForModel($this->PrestudentModel);
|
||||
|
||||
|
||||
@@ -32,15 +32,15 @@ export default {
|
||||
},
|
||||
hasZGVBakkPermission: {
|
||||
from: 'hasZGVBakkPermission',
|
||||
default: false
|
||||
default: []
|
||||
},
|
||||
hasZGVMasterPermission: {
|
||||
from: 'hasZGVMasterPermission',
|
||||
default: false
|
||||
default: []
|
||||
},
|
||||
hasZGVDoctorPermission: {
|
||||
from: 'hasZGVDoctorPermission',
|
||||
default: false
|
||||
default: []
|
||||
},
|
||||
hasBismeldenPermission: {
|
||||
from: 'hasBismeldenPermission',
|
||||
@@ -89,6 +89,15 @@ export default {
|
||||
computed: {
|
||||
deltaLength() {
|
||||
return Object.keys(this.deltaArray).length;
|
||||
},
|
||||
disableZgvBakk: function() {
|
||||
return !this.hasZGVBakkPermission.includes(this.modelValue.studiengang_kz.toString());
|
||||
},
|
||||
disableZgvMaster: function() {
|
||||
return !this.hasZGVMasterPermission.includes(this.modelValue.studiengang_kz.toString());
|
||||
},
|
||||
disableZgvDoctor: function() {
|
||||
return !this.hasZGVDoctorPermission.includes(this.modelValue.studiengang_kz.toString());
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -289,7 +298,7 @@ export default {
|
||||
dropdown
|
||||
name="zgv_code"
|
||||
@complete="filterZgvs"
|
||||
:disabled="!hasZGVBakkPermission"
|
||||
:disabled="disableZgvBakk"
|
||||
>
|
||||
<template #option="slotProps">
|
||||
<div
|
||||
@@ -308,7 +317,6 @@ export default {
|
||||
type="text"
|
||||
v-model="data.zgvort"
|
||||
name="zgvort"
|
||||
:disabled="!hasZGVBakkPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -325,7 +333,6 @@ export default {
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="!hasZGVBakkPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -335,7 +342,6 @@ export default {
|
||||
type="select"
|
||||
v-model="data.zgvnation"
|
||||
name="zgvnation"
|
||||
:disabled="!hasZGVBakkPermission"
|
||||
>
|
||||
<!-- TODO(chris): gesperrte nationen können nicht ausgewählt werden! Um das zu realisieren müsste man ein pseudo select machen -->
|
||||
<option value=""> </option>
|
||||
@@ -356,7 +362,7 @@ export default {
|
||||
dropdown
|
||||
name="zgvmas_code"
|
||||
@complete="filterMasterZgvs"
|
||||
:disabled="!hasZGVMasterPermission"
|
||||
:disabled="disableZgvMaster"
|
||||
>
|
||||
<template #option="slotProps">
|
||||
<div
|
||||
@@ -375,7 +381,6 @@ export default {
|
||||
type="text"
|
||||
v-model="data.zgvmaort"
|
||||
name="zgvmaort"
|
||||
:disabled="!hasZGVMasterPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -392,7 +397,6 @@ export default {
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="!hasZGVMasterPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -402,7 +406,6 @@ export default {
|
||||
type="select"
|
||||
v-model="data.zgvmanation"
|
||||
name="zgvmanation"
|
||||
:disabled="!hasZGVMasterPermission"
|
||||
>
|
||||
<!-- TODO(chris): gesperrte nationen können nicht ausgewählt werden! Um das zu realisieren müsste man ein pseudo select machen -->
|
||||
<option value=""> </option>
|
||||
@@ -424,7 +427,7 @@ export default {
|
||||
dropdown
|
||||
name="zgvdoktor_code"
|
||||
@complete="filterDoktorZgvs"
|
||||
:disabled="!hasZGVDoctorPermission"
|
||||
:disabled="disableZgvDoctor"
|
||||
>
|
||||
<template #option="slotProps">
|
||||
<div
|
||||
@@ -443,7 +446,6 @@ export default {
|
||||
type="text"
|
||||
v-model="data.zgvdoktorort"
|
||||
name="zgvdoktorort"
|
||||
:disabled="!hasZGVDoctorPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -460,7 +462,6 @@ export default {
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="!hasZGVDoctorPermission"
|
||||
>
|
||||
</form-input>
|
||||
<form-input
|
||||
@@ -470,7 +471,6 @@ export default {
|
||||
type="select"
|
||||
v-model="data.zgvdoktornation"
|
||||
name="zgvdoktornation"
|
||||
:disabled="!hasZGVDoctorPermission"
|
||||
>
|
||||
<!-- TODO(chris): gesperrte nationen können nicht ausgewählt werden! Um das zu realisieren müsste man ein pseudo select machen -->
|
||||
<option value=""> </option>
|
||||
@@ -487,7 +487,6 @@ export default {
|
||||
type="checkbox"
|
||||
v-model="data.zgv_erfuellt"
|
||||
name="zgv_erfuellt"
|
||||
:disabled="!hasZGVBakkPermission"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
@@ -499,7 +498,6 @@ export default {
|
||||
type="checkbox"
|
||||
v-model="data.zgvmas_erfuellt"
|
||||
name="zgvmas_erfuellt"
|
||||
:disabled="!hasZGVMasterPermission"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
@@ -511,7 +509,6 @@ export default {
|
||||
type="checkbox"
|
||||
v-model="data.zgvdoktor_erfuellt"
|
||||
name="zgvdoktor_erfuellt"
|
||||
:disabled="!hasZGVDoctorPermission"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
@@ -91,7 +91,15 @@ export default{
|
||||
layoutColumnsOnNewData: false,
|
||||
height: 'auto',
|
||||
index: 'pruefung_id',
|
||||
persistenceID: 'stv-details-pruefung-list-2025112402'
|
||||
persistenceID: 'stv-details-pruefung-list-2026012701',
|
||||
persistence: {
|
||||
sort: false,
|
||||
columns: ["width", "visible", "frozen"],
|
||||
filter: false,
|
||||
headerFilter: false,
|
||||
group: false,
|
||||
page: false
|
||||
}
|
||||
},
|
||||
tabulatorEvents: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user