Compare commits

...
5 changed files with 71 additions and 4 deletions
+3
View File
@@ -74,6 +74,9 @@ $config['tabs'] =
],
],
],
'hiddenFields' => [
'uhrzeit'
]
],
'exemptions' => [
//if true, Anrechnungen can be added and edited in tab Anrechnungen
@@ -239,6 +239,8 @@ class LvMenu extends FHCAPI_Controller
$this->fhc_menu_anrechnungLector($menu, $angezeigtes_stsem);
$this->fhc_menu_anwesenheitslisten($menu, $is_lector, $studiengang_kz, $semester, $lvid, $studiensemester_kurzbz);
// Addons Menu Logic
// ##########################################################################################
@@ -550,4 +552,24 @@ class LvMenu extends FHCAPI_Controller
);
}
}
private function fhc_menu_anwesenheitslisten(&$menu, $is_lector, $stg_kz, $sem, $lvid, $stsem)
{
if (
!$is_lector ||
(defined('CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN') && !CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN)
) {
return;
}
$menu[]=array
(
'id' => 'core_menu_anwesenheitslisten',
'position' => '40',
'phrase' => 'lehre/anwesenheitsUndNotenlisten',
'c4_icon' => base_url('skin/images/button_kreuzerltool.png'),
'c4_icon2' => 'fa-solid fa-graduation-cap',
'c4_link' => base_url('cis.php/Cis/Compat/legacy/cis/private/lehre/anwesenheitsliste.php?stg_kz=' . urlencode($stg_kz) . '&sem=' . urlencode($sem) . '&lvid=' . urlencode($lvid) . '&stsem=' . urlencode($stsem)),
);
}
}
@@ -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,
@@ -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>
`
}
+21
View File
@@ -44966,6 +44966,27 @@ In the list:
)
)
),
array(
'app' => 'core',
'category' => 'lehre',
'phrase' => 'anwesenheitsUndNotenlisten',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Anwesenheits- und Notenlisten',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Attendance and grade list',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'lehre',