- show Profilpicture with lock symbol if foto_sperre

- enable scrolling for multi view
- show uid beneath profile picture
- use phrases in detail header
This commit is contained in:
ma0068
2025-06-04 13:59:00 +02:00
parent 7da8a9ed79
commit 826dd52450
2 changed files with 26 additions and 17 deletions
@@ -622,6 +622,8 @@ class Students extends FHCAPI_Controller
$this->PrestudentModel->addSelect('ersatzkennzeichen');
$this->PrestudentModel->addSelect('gebdatum');
$this->PrestudentModel->addSelect('geschlecht');
$this->PrestudentModel->addSelect('foto');
$this->PrestudentModel->addSelect('foto_sperre');
// semester
// verband
@@ -629,6 +631,7 @@ class Students extends FHCAPI_Controller
$this->PrestudentModel->addSelect('UPPER(stg.typ || stg.kurzbz) AS studiengang');
$this->PrestudentModel->addSelect('tbl_prestudent.studiengang_kz');
$this->PrestudentModel->addSelect('stg.bezeichnung AS stg_bezeichnung');
$this->PrestudentModel->addSelect("s.matrikelnr");
$this->PrestudentModel->addSelect('p.person_id');
$this->PrestudentModel->addSelect('pls.status_kurzbz AS status');
@@ -640,7 +643,7 @@ class Students extends FHCAPI_Controller
);
$this->PrestudentModel->addSelect("
CASE WHEN b.uid IS NOT NULL AND b.uid<>''
THEN b.uid || " . $this->PrestudentModel->escape(DOMAIN) . "
THEN CONCAT(b.uid, '@', " . $this->PrestudentModel->escape(DOMAIN) . ")
ELSE '' END AS mail_intern", false);
$this->PrestudentModel->addSelect('p.anmerkung AS anmerkungen');
$this->PrestudentModel->addSelect('tbl_prestudent.anmerkung');
@@ -29,19 +29,27 @@ export default {
getVorgesetzer(){},
},
template: `
<div class="core-header d-flex justify-content-start align-items-center w-100 pb-3 gap-3" style="max-height:8rem">
<div class="core-header d-flex justify-content-start align-items-center w-100 overflow-auto pb-3 gap-3" style="max-height:9rem; min-width: 37.5rem;">
<div
v-for="person in headerData"
:key="person.person_id"
class="d-flex flex-column align-items-center h-100"
class="position-relative d-inline-block"
>
<img
class="d-block h-100 rounded"
:alt="'Profilbild ' + person.uid"
:src="appRoot + 'cis/public/bild.php?src=person&person_id=' + person.person_id"
alt="Profilbild"
:src="'data:image/jpeg;base64,' + person.foto"
/>
<small>{{person.uid}}</small>
<template v-if="person.foto_sperre">
<i
class=" fa fa-lock text-secondary bg-light rounded d-flex justify-content-center align-items-center position-absolute top-0 end-0"
style="z-index: 1; font-size: 1rem; width: 1.25rem; height: 1.25rem;"
></i>
</template>
<small class="text-muted">{{person.uid}}</small>
</div>
<div v-if="headerData.length == 1">
@@ -53,17 +61,19 @@ export default {
</h2>
<h5 v-if="typeHeader==='student'" class="h6">
<strong class="text-muted">Studiengang </strong>
{{headerData[0].studiengang}}
<strong v-if="headerData[0].semester" class="text-muted"> | Semester </strong>
<strong class="text-muted">Person ID </strong>
{{headerData[0].person_id}}
<strong class="text-muted">| {{$p.t('lehre', 'studiengang')}} </strong>
{{headerData[0].stg_bezeichnung}} ({{headerData[0].studiengang}})
<strong v-if="headerData[0].semester" class="text-muted"> | {{$p.t('lehre', 'semester')}} </strong>
{{headerData[0].semester}}
<strong v-if="headerData[0].verband" class="text-muted"> | Verband </strong>
<strong v-if="headerData[0].verband" class="text-muted"> | {{$p.t('lehre', 'verband')}}</strong>
{{headerData[0].verband}}
<strong v-if="headerData[0].gruppe" class="text-muted"> | Gruppe </strong>
<strong v-if="headerData[0].gruppe" class="text-muted"> | {{$p.t('lehre', 'gruppe')}} </strong>
{{headerData[0].gruppe}}
</h5>
<h5 v-if="typeHeader==='mitarbeiter'" class="h6">
<strong class="text-muted">Team </strong>
<strong class="text-muted">Team / {{$p.t('lehre', 'kompetenzfeld')}}</strong>
{{headerData[0].studiengang}}
<strong v-if="headerData[0].semester" class="text-muted"> | Vorgesetzte*r </strong>
{{headerData[0].semester}}
@@ -76,19 +86,15 @@ export default {
</span>
<strong class="text-muted"> | Status </strong>
{{headerData[0].status}}
<strong class="text-muted"> | MatrNr </strong>
<strong class="text-muted"> | {{$p.t('person', 'matrikelnummer')}} </strong>
{{headerData[0].matr_nr}}
<strong class="text-muted"> | UID </strong>
{{headerData[0].uid}}
<strong class="text-muted"> | Person ID </strong>
{{headerData[0].person_id}}
</h5>
<h5 v-if="typeHeader==='mitarbeiter'" class="h6">
<strong class="text-muted">Email </strong>
<span>
<a :href="'mailto:'+headerData[0]?.mail_intern">{{headerData[0].mail_intern}}</a>
</span>
<strong class="text-muted"> | Durchwahl </strong>
<strong class="text-muted"> | {{$p.t('kvp', 'op.label.phone')}} </strong>
{{headerData[0].status}}
</h5>