Refactor right hasPermissionToSkipStatusCheck

This commit is contained in:
ma0068
2024-03-21 07:58:37 +01:00
parent a495ff9b98
commit 1b4a2f2d7a
6 changed files with 42 additions and 22 deletions
@@ -26,7 +26,7 @@ class Studentenverwaltung extends FHC_Controller
'assistenz_stgs' => $this->permissionlib->getSTG_isEntitledFor('assistenz'),
'admin' => $this->permissionlib->isBerechtigt('admin'),
'assistenz_schreibrechte' => $this->permissionlib->isBerechtigt('assistenz','suid'),
'student/keine_studdatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studdatuspruefung')
'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung')
],
'variables' => [
@@ -242,10 +242,7 @@ class Status extends FHC_Controller
}
$isBerechtigtNoStudstatusCheck = $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung');
/* var_dump(isBerechtigtNoStudstatusCheck);
$basis = $this->permissionlib->isBerechtigt('basis/prestudent');
var_dump($basis);*/
if(!$isBerechtigtNoStudstatusCheck)
{
//Block STATUSCHECKS
@@ -636,7 +633,7 @@ $sqlundo =
if (!hasData($result))
{
$this->outputJson($result);
var_dump("no data Löschen der Lehrverbandszuordnung");
//var_dump("no data Löschen der Lehrverbandszuordnung");
}
$this->outputJsonSuccess(true);
}
@@ -996,7 +993,7 @@ $sqlundo =
}
if(!isBerechtigtNoStudstatusCheck)
if(!$isBerechtigtNoStudstatusCheck)
{
//Block STATUSCHECKS
@@ -1013,7 +1010,7 @@ $sqlundo =
$this->db->trans_begin();
//update status
var_dump($ausbildungssemester, $studiensemester_kurzbz);
//var_dump($ausbildungssemester, $studiensemester_kurzbz);
$result = $this->PrestudentstatusModel->update(
[
'prestudent_id' => $key_prestudent_id,
@@ -54,7 +54,7 @@ export default {
hasAssistenzPermissionForStgs: this.permissions['assistenz_stgs'],
hasSchreibrechtAss: this.permissions['assistenz_schreibrechte'],
hasAdminPermission: this.permissions['admin'],
//hasPermissionToSkipStatusCheck: this.permission['student/keine_studdatuspruefung'],
hasPermissionToSkipStatusCheck: this.permissions['student/keine_studstatuspruefung'],
lists: this.lists,
defaultSemester: this.defaultSemester
}
@@ -28,6 +28,10 @@ export default {
from: 'hasPrestudentPermission',
default: false
},
/* hasPermissionToSkipStatusCheck: {
from: 'hasPermissionToSkipStatusCheck',
default: false
},*/
hasAssistenzPermission: {
from: 'hasAssistenzPermission',
default: false
@@ -201,6 +205,7 @@ detectChanges() {
mounted(){},
template: `
<div class="stv-details-details h-100 pb-3">
<!-- TEST: {{modelValue}} -->
<form-form ref="form" class="stv-details-prestudent" @submit.prevent="updatePrestudent">
<div class="position-sticky top-0 z-1">
<button type="submit" class="btn btn-primary position-absolute top-0 end-0" :disabled="!deltaLength">Speichern</button>
@@ -41,7 +41,8 @@ export default{
}
},
props: {
prestudent_id: String
prestudent_id: String,
studiengang_kz: String
},
data() {
return {
@@ -81,7 +82,7 @@ export default{
container.className = "d-flex gap-2";
let button = document.createElement('button');
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum)
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
button.className = 'btn btn-outline-secondary btn-action disabled';
else
button.className = 'btn btn-outline-secondary btn-action';
@@ -93,7 +94,7 @@ export default{
container.append(button);
button = document.createElement('button');
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum)
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
button.className = 'btn btn-outline-secondary btn-action disabled';
else
button.className = 'btn btn-outline-secondary btn-action';
@@ -105,7 +106,7 @@ export default{
container.append(button);
button = document.createElement('button');
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum)
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
button.className = 'btn btn-outline-secondary btn-action disabled';
else
button.className = 'btn btn-outline-secondary btn-action';
@@ -117,7 +118,7 @@ export default{
container.append(button);
button = document.createElement('button');
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum)
if (this.dataMeldestichtag && this.dataMeldestichtag > cell.getData().datum && !this.hasPermissionToSkipStatusCheck)
button.className = 'btn btn-outline-secondary btn-action disabled';
else
button.className = 'btn btn-outline-secondary btn-action';
@@ -157,13 +158,23 @@ export default{
gruendeLength: {},
dataMeldestichtag: null,
stichtag: {},
isLastStatus: {}
isLastStatus: {},
hasPermissionThisStg: {}
}
},
computed: {
gruende() {
return this.listStatusgruende.filter(grund => grund.status_kurzbz == this.statusData.status_kurzbz);
},
arrayStg(){
let stgInteger = this.hasAssistenzPermissionForStgs.map(item => {
return parseInt(item); // Wandelt jeden String in eine ganze Zahl um
});
return stgInteger;
},
hasPermissionCurrentStg(){
return this.arrayStg.includes(this.studiengang_kz);
}
},
watch: {
data: {
@@ -459,25 +470,32 @@ export default{
<div class="stv-list h-100 pt-3">
<p>TestData</p>
<!-- <p>TestData</p>
isLastStatus: {{isLastStatus}}
{{hasPermissionCurrentStg}}
<hr>
<!-- isLastStatus: {{isLastStatus}}
<br>
Bismeldestichtag
{{dataMeldestichtag }}
{{dataMeldestichtag }}-->
<!-- {{arrayStg}}-->
<!-- Berechtigungen:
Skip Check: {{hasPermissionToSkipStatusCheck}} |
Admin: {{hasAdminPermission}} |
Studiengaenge: {{hasAssistenzPermissionForStgs}} |
Schreibrecht ASS: {{hasSchreibrechtAss}}-->
Studiengaenge: |
Schreibrecht ASS: {{hasSchreibrechtAss}} ||
Basis Prestudent: {{hasPrestudentPermission}} ||
Recht für Studiengang {{studiengang_kz}} : {{hasPermissionCurrentStg}}-->
<hr>
<p>{{statusId}}</p>
<!-- <p>{{hasAssistenzPermissionForStgs}}</p>
{{this.hasAssistenzPermissionForStgs.includes("476")}}-->
<!--Modal: Add New Status-->
<BsModal ref="newStatusModal">
@@ -11,7 +11,7 @@ export default {
<div class="stv-details-details h-100 pb-3">
<div class="col-12 pb-3">
<legend>Status</legend>
<TblStatus :prestudent_id="modelValue.prestudent_id"></TblStatus>
<TblStatus :prestudent_id="modelValue.prestudent_id" :studiengang_kz="modelValue.studiengang_kz"></TblStatus>
</div>
</div>
`