diff --git a/application/controllers/api/frontend/v1/stv/Student.php b/application/controllers/api/frontend/v1/stv/Student.php index f2845572f..2f8f0fe4a 100644 --- a/application/controllers/api/frontend/v1/stv/Student.php +++ b/application/controllers/api/frontend/v1/stv/Student.php @@ -111,16 +111,28 @@ class Student extends FHCAPI_Controller if (defined('ACTIVE_ADDONS') && strpos(ACTIVE_ADDONS, 'bewerbung') !== false) { $this->PrestudentModel->addSelect( "( - SELECT kontakt - FROM public.tbl_kontakt - WHERE kontakttyp='email' - AND person_id=p.person_id - AND zustellung - ORDER BY kontakt_id + SELECT kontakt + FROM public.tbl_kontakt + WHERE kontakttyp='email' + AND person_id=p.person_id + AND zustellung + ORDER BY kontakt_id LIMIT 1 ) AS email_privat", false ); + $this->PrestudentModel->addSelect( + "( + SELECT kontakt + FROM public.tbl_kontakt + WHERE kontakttyp='email_unverifiziert' + AND person_id=p.person_id + AND zustellung + ORDER BY kontakt_id + LIMIT 1 + ) AS email_privat_unverified", + false + ); } $this->PrestudentModel->addSelect( "( diff --git a/application/views/system/infocenter/stammdaten.php b/application/views/system/infocenter/stammdaten.php index 83961dd91..c632b079f 100644 --- a/application/views/system/infocenter/stammdaten.php +++ b/application/views/system/infocenter/stammdaten.php @@ -106,6 +106,7 @@ kontakte as $kontakt): ?> kontakttyp === 'email'): ?> @@ -119,14 +120,16 @@ kontakttyp.'" data-id="'. $kontakt->kontakt_id .'" data-value="' . $kontakt->kontakt .'">';?> kontakttyp === 'email'): ?> - kontakt; + kontakt; ?> + kontakttyp === 'email_unverifiziert'): ?> + kontakt; endif; echo $kontakt->kontakt; - if ($kontakt->kontakttyp === 'email'): + if ($kontakt->kontakttyp === 'email'): ?> - - '?> + + '?> anmerkung; ?> @@ -140,9 +143,9 @@
strasse ?>
- +
plz ?>
- +
ort ?>
nationkurztext)): ?> @@ -182,7 +185,8 @@
zugangscode)): ?>
-  p->t('infocenter','zugangBewerbung') ?>
diff --git a/public/js/components/Stv/Studentenverwaltung/Details/Details.js b/public/js/components/Stv/Studentenverwaltung/Details/Details.js index 5bb673d1a..d0fbf7447 100644 --- a/public/js/components/Stv/Studentenverwaltung/Details/Details.js +++ b/public/js/components/Stv/Studentenverwaltung/Details/Details.js @@ -186,7 +186,7 @@ export default {
- {{data.zugangscode}} + {{data.zugangscode}}
diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index c0d8bdd5d..31e6c7885 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -279,12 +279,32 @@ function draw_content($row) $status=''; $mail_privat = ''; - $qry_mail = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id=".$db->db_add_param($row->person_id)." AND zustellung=true ORDER BY kontakt_id DESC LIMIT 1"; + $mail_unverifiziert = ''; + + $qry_mail = " + SELECT + DISTINCT ON (kontakttyp) kontakt, kontakttyp + FROM + public.tbl_kontakt + WHERE + zustellung=TRUE + AND kontakttyp IN ('email', 'email_unverifiziert') + AND person_id = ".$db->db_add_param($row->person_id)." + ORDER BY + kontakttyp, kontakt_id DESC"; + if($db->db_query($qry_mail)) { if($row_mail = $db->db_fetch_object()) { - $mail_privat = $row_mail->kontakt; + if ($row_mail->kontakttyp == 'email') + { + $mail_privat = $row_mail->kontakt; + } + elseif ($row_mail->kontakttyp == 'email_unverifiziert') + { + $mail_unverifiziert = $row_mail->kontakt; + } } } @@ -366,7 +386,7 @@ function draw_content($row) uid)?$row->uid.'@'.DOMAIN:'').']]> zugangscode.']]> - zugangscode.'&emailAdresse='.$mail_privat.'&keepEmailUnverified=true]]> + zugangscode.'&emailAdresse='.($mail_privat == '' ? $mail_unverifiziert : $mail_privat).'&keepEmailUnverified=true]]> bpk.']]>