mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Funktionalitaet feature-39602
This commit is contained in:
@@ -26,8 +26,8 @@ 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_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung')
|
||||
|
||||
'student/keine_studstatuspruefung' => $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung'),
|
||||
'lehre/reihungstestAufsicht' => $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht')
|
||||
],
|
||||
'variables' => [
|
||||
'semester_aktuell' => $this->variablelib->getVar('semester_aktuell')
|
||||
|
||||
@@ -484,8 +484,9 @@ class Status extends FHCAPI_Controller
|
||||
|
||||
$isBerechtigtAdmin = $this->permissionlib->isBerechtigt('admin', null, 'suid');
|
||||
$isBerechtigtNoStudstatusCheck = $this->permissionlib->isBerechtigt('student/keine_studstatuspruefung', null, 'suid');
|
||||
$isBerechtigtToDeleteAbgewiesen = $this->permissionlib->isBerechtigt('lehre/reihungstestAufsicht') && $status_kurzbz == "Abgewiesener";
|
||||
|
||||
if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg))
|
||||
if(!$this->permissionlib->isBerechtigt('admin', 'suid', $stg) && !$this->permissionlib->isBerechtigt('assistenz', 'suid', $stg) && !$isBerechtigtToDeleteAbgewiesen)
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('lehre','error_keineSchreibrechte'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
@@ -764,9 +764,9 @@ class Prestudent_model extends DB_Model
|
||||
ps.updatevon
|
||||
FROM
|
||||
public.tbl_prestudentstatus ps
|
||||
JOIN
|
||||
LEFT JOIN
|
||||
public.tbl_student st USING (prestudent_id)
|
||||
JOIN
|
||||
LEFT JOIN
|
||||
public.tbl_studiengang sg ON (st.studiengang_kz = sg.studiengang_kz)
|
||||
LEFT JOIN
|
||||
lehre.tbl_studienplan sp USING (studienplan_id)
|
||||
|
||||
@@ -54,6 +54,7 @@ export default {
|
||||
hasSchreibrechtAss: this.permissions['assistenz_schreibrechte'],
|
||||
hasAdminPermission: this.permissions['admin'],
|
||||
hasPermissionToSkipStatusCheck: this.permissions['student/keine_studstatuspruefung'],
|
||||
hasPermissionRtAufsicht: this.permissions['lehre/reihungstestAufsicht'],
|
||||
lists: this.lists,
|
||||
defaultSemester: this.defaultSemester,
|
||||
$reloadList: () => {
|
||||
|
||||
@@ -39,6 +39,10 @@ export default{
|
||||
from: 'hasSchreibrechtAss',
|
||||
default: false
|
||||
},
|
||||
hasPermissionRtAufsicht: {
|
||||
from: 'hasPermissionRtAufsicht',
|
||||
default: false
|
||||
},
|
||||
$reloadList: {
|
||||
from: '$reloadList',
|
||||
required: true
|
||||
@@ -96,6 +100,10 @@ export default{
|
||||
},
|
||||
hasPermissionCurrentStg(){
|
||||
return this.arrayStg.includes(this.studiengang_kz);
|
||||
},
|
||||
isStatusBeforeStudent(){
|
||||
let isStatusStudent = ['Student', 'Absolvent', 'Diplomand'];
|
||||
return !isStatusStudent.includes(this.statusData.status_kurzbz);
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -669,6 +677,7 @@ export default{
|
||||
mounted(){},
|
||||
template: `
|
||||
<div class="stv-list h-100 pt-3">
|
||||
|
||||
|
||||
<!--Modal: Add New Status-->
|
||||
<BsModal ref="newStatusModal">
|
||||
@@ -828,11 +837,15 @@ export default{
|
||||
|
||||
<!--Modal: Edit Status-->
|
||||
<BsModal ref="editStatusModal">
|
||||
|
||||
<template #title>{{$p.t('lehre', 'status_edit')}}</template>
|
||||
<form-form class="row g-3" ref="statusData">
|
||||
|
||||
<div v-if="statusData.datum < dataMeldestichtag">
|
||||
<b>{{$p.t('bismeldestichtag', 'meldestichtag_erreicht')}}</b>
|
||||
<div v-if="statusData.datum < dataMeldestichtag && !isStatusBeforeStudent">
|
||||
<b>{{$p.t('bismeldestichtag', 'info_MeldestichtagStatusgrund')}}</b>
|
||||
</div>
|
||||
<div v-if="statusData.datum < dataMeldestichtag && isStatusBeforeStudent">
|
||||
<b>{{$p.t('bismeldestichtag', 'info_MeldestichtagStatusgrundSemester')}}</b>
|
||||
</div>
|
||||
|
||||
<input type="hidden" id="statusId" name="statusId" value="statusData.statusId">
|
||||
@@ -866,7 +879,9 @@ export default{
|
||||
type="select"
|
||||
name="studiensemester_kurzbz"
|
||||
v-model="statusData['studiensemester_kurzbz']"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
>
|
||||
<option value="null"></option>
|
||||
<option v-for="sem in listStudiensemester" :key="sem.studiensemester_kurzbz" :value="sem.studiensemester_kurzbz">{{sem.studiensemester_kurzbz}}</option>
|
||||
</form-input>
|
||||
</div>
|
||||
@@ -879,6 +894,7 @@ export default{
|
||||
type="select"
|
||||
name="ausbildungssemester"
|
||||
v-model="statusData['ausbildungssemester']"
|
||||
:disabled="statusData.datum < dataMeldestichtag && !isStatusBeforeStudent"
|
||||
>
|
||||
<option v-for="number in maxSem" :key="number" :value="number">{{ number }}</option>
|
||||
</form-input>
|
||||
@@ -897,6 +913,7 @@ export default{
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
></form-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -912,6 +929,7 @@ export default{
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
></form-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -927,6 +945,7 @@ export default{
|
||||
format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy"
|
||||
:teleport="true"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
></form-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -937,6 +956,7 @@ export default{
|
||||
type="select"
|
||||
name="studienplan"
|
||||
v-model="statusData['studienplan_id']"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
>
|
||||
<option v-for="sp in listStudienplaene" :key="sp.studienplan_id" :value="sp.studienplan_id">{{sp.bezeichnung}}</option>
|
||||
</form-input>
|
||||
@@ -949,6 +969,7 @@ export default{
|
||||
type="text"
|
||||
name="anmerkung"
|
||||
v-model="statusData['anmerkung']"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
@@ -961,6 +982,7 @@ export default{
|
||||
type="select"
|
||||
name="aufnahmestufe"
|
||||
v-model="statusData['rt_stufe']"
|
||||
:disabled="statusData.datum < dataMeldestichtag"
|
||||
>
|
||||
<option v-for="entry in aufnahmestufen" :key="entry" :value="entry">{{entry}}</option>
|
||||
</form-input>
|
||||
@@ -975,6 +997,7 @@ export default{
|
||||
name="statusgrund"
|
||||
v-model="statusData['statusgrund_id']"
|
||||
>
|
||||
<option :value="NULL"></option>
|
||||
<option v-for="grund in gruende" :key="grund.statusgrund_id" :value="grund.statusgrund_id">{{grund.beschreibung[0]}}</option>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
@@ -28062,6 +28062,46 @@ array(
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'bismeldestichtag',
|
||||
'phrase' => 'info_MeldestichtagStatusgrund',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Meldestichtag erreicht - ausschließlich Bearbeiten Statusgrund möglich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Reporting deadline reached - only editing status reason possible',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'bismeldestichtag',
|
||||
'phrase' => 'info_MeldestichtagStatusgrundSemester',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Meldestichtag erreicht - Bearbeiten Ausbildungssemester und Statusgrund möglich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Edit education semester and status reason possible',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user