Compare commits

...
17 changed files with 71 additions and 24 deletions
+44 -4
View File
@@ -26,6 +26,10 @@ $config['person'] = [
'comparison' => 'similar', 'comparison' => 'similar',
'field' => 'nachname' 'field' => 'nachname'
], ],
'wahlname' => [
'comparison' => 'similar',
'field' => 'wahlname'
],
'name' => [ 'name' => [
'comparison' => 'similar', 'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)" 'field' => "(vorname || ' ' || nachname)"
@@ -68,7 +72,7 @@ $config['person'] = [
'resultfields' => [ 'resultfields' => [
"ARRAY( SELECT uid FROM public.tbl_benutzer WHERE person_id = p.person_id ) AS uids", "ARRAY( SELECT uid FROM public.tbl_benutzer WHERE person_id = p.person_id ) AS uids",
"p.person_id", "p.person_id",
"(p.vorname || ' ' || p.nachname) AS name", "CASE WHEN p.wahlname IS NOT NULL THEN (p.wahlname || ' ' || p.nachname) ELSE (p.vorname || ' ' || p.nachname) END AS name",
"ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email", "ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE "CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
@@ -117,6 +121,20 @@ $config['student'] = [
] ]
] ]
], ],
'wahlname' => [
'comparison' => 'similar',
'field' => 'wahlname',
'join' => [
[
'table' => "public.tbl_prestudent",
'using' => "prestudent_id"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'name' => [ 'name' => [
'comparison' => 'similar', 'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)", 'field' => "(vorname || ' ' || nachname)",
@@ -196,7 +214,7 @@ $config['student'] = [
"s.student_uid AS uid", "s.student_uid AS uid",
"s.matrikelnr", "s.matrikelnr",
"p.person_id", "p.person_id",
"(p.vorname || ' ' || p.nachname) AS name", "CASE WHEN p.wahlname IS NOT NULL THEN (p.wahlname || ' ' || p.nachname) ELSE (p.vorname || ' ' || p.nachname) END AS name",
"(s.student_uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email", "(s.student_uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE "CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
@@ -257,6 +275,14 @@ $config['prestudent'] = [
'using' => "person_id" 'using' => "person_id"
] ]
], ],
'wahlname' => [
'comparison' => 'similar',
'field' => 'wahlname',
'join' => [
'table' => "public.tbl_person",
'using' => "person_id"
]
],
'name' => [ 'name' => [
'comparison' => 'similar', 'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)", 'field' => "(vorname || ' ' || nachname)",
@@ -314,7 +340,7 @@ $config['prestudent'] = [
"s.matrikelnr", "s.matrikelnr",
"p.person_id", "p.person_id",
"b.uid", "b.uid",
"(p.vorname || ' ' || p.nachname) AS name", "CASE WHEN p.wahlname IS NOT NULL THEN (p.wahlname || ' ' || p.nachname) ELSE (p.vorname || ' ' || p.nachname) END AS name",
"(b.uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email", "(b.uid || '@" . DOMAIN . "') || ARRAY( SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp = 'email' AND person_id=p.person_id ) AS email",
"CASE "CASE
WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto WHEN p.foto IS NOT NULL THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
@@ -390,6 +416,20 @@ $config['employee'] = [
] ]
] ]
], ],
'wahlname' => [
'comparison' => 'similar',
'field' => "wahlname",
'join' => [
[
'table' => "public.tbl_benutzer",
'on' => "uid = mitarbeiter_uid"
],
[
'table' => "public.tbl_person",
'using' => "person_id"
]
]
],
'name' => [ 'name' => [
'comparison' => 'similar', 'comparison' => 'similar',
'field' => "(vorname || ' ' || nachname)", 'field' => "(vorname || ' ' || nachname)",
@@ -472,7 +512,7 @@ $config['employee'] = [
'resultfields' => [ 'resultfields' => [
"b.uid", "b.uid",
"p.person_id", "p.person_id",
"(p.vorname || ' ' || p.nachname) AS name", "CASE WHEN p.wahlname IS NOT NULL THEN (p.wahlname || ' ' || p.nachname) ELSE (p.vorname || ' ' || p.nachname) END AS name",
"ARRAY( "ARRAY(
SELECT SELECT
'[' || ot.bezeichnung || '] ' || o.bezeichnung AS bezeichnung '[' || ot.bezeichnung || '] ' || o.bezeichnung AS bezeichnung
+1 -1
View File
@@ -25,7 +25,7 @@ $config['student']['resultfields'] = [
"s.matrikelnr AS personenkennzeichen", "s.matrikelnr AS personenkennzeichen",
"p.person_id", "p.person_id",
"p.matr_nr AS matrikelnummer", "p.matr_nr AS matrikelnummer",
"(p.vorname || ' ' || p.nachname) AS name", "CASE WHEN p.wahlname IS NOT NULL THEN (p.wahlname || ' ' || p.nachname) ELSE (p.vorname || ' ' || p.nachname) END AS name",
"ARRAY[s.student_uid || '@' || '" . DOMAIN . "'] AS email", "ARRAY[s.student_uid || '@' || '" . DOMAIN . "'] AS email",
"CASE "CASE
WHEN (p.foto_sperre = false AND p.foto IS NOT NULL) THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto WHEN (p.foto_sperre = false AND p.foto IS NOT NULL) THEN 'data:image/jpeg' || CONVERT_FROM(DECODE('3b','hex'), 'UTF8') || 'base64,' || p.foto
@@ -50,6 +50,7 @@ class Cis4FhcApi extends FHCAPI_Controller
$viewData = array( $viewData = array(
'uid' => getAuthUID(), 'uid' => getAuthUID(),
'name' => $personData->vorname, 'name' => $personData->vorname,
'wahlname' => $personData->wahlname,
'person_id' => $personData->person_id, 'person_id' => $personData->person_id,
'timezone' => $this->config->item('timezone'), 'timezone' => $this->config->item('timezone'),
); );
@@ -62,6 +62,7 @@ class OtherLvPlan extends FHCAPI_Controller
"foto" => $profileData->data->foto, "foto" => $profileData->data->foto,
"vorname" => $profileData->data->vorname, "vorname" => $profileData->data->vorname,
"nachname" => $profileData->data->nachname, "nachname" => $profileData->data->nachname,
"wahlname" => $profileData->data->wahlname,
"titel" => $profileData->data->titel, "titel" => $profileData->data->titel,
"postnomen" => $profileData->data->postnomen, "postnomen" => $profileData->data->postnomen,
], ],
+1 -1
View File
@@ -329,7 +329,7 @@ class ProfilLib{
private function getPersonInfo($uid, $geburtsInfo = null) private function getPersonInfo($uid, $geburtsInfo = null)
{ {
$this->ci->load->model("person/Benutzer_model","BenutzerModel"); $this->ci->load->model("person/Benutzer_model","BenutzerModel");
$selectClause = ["foto", "foto_sperre", "anrede", "titelpost as postnomen", "titelpre as titel", "vorname", "nachname"]; $selectClause = ["foto", "foto_sperre", "anrede", "titelpost as postnomen", "titelpre as titel", "vorname", "nachname", "wahlname"];
/** @param integer $geburtsInfo */ /** @param integer $geburtsInfo */
if ($geburtsInfo) { if ($geburtsInfo) {
array_push($selectClause, "gebort"); array_push($selectClause, "gebort");
+1 -1
View File
@@ -245,7 +245,7 @@ class Person_model extends DB_Model
*/ */
public function getByUid($uid) public function getByUid($uid)
{ {
$this->addSelect('vorname, nachname, gebdatum, person_id, bpk, matr_nr, foto'); $this->addSelect('vorname, nachname, wahlname, gebdatum, person_id, bpk, matr_nr, foto');
$this->addJoin('tbl_benutzer', 'person_id'); $this->addJoin('tbl_benutzer', 'person_id');
return $this->loadWhere(array('uid' => $uid)); return $this->loadWhere(array('uid' => $uid));
+4 -3
View File
@@ -179,7 +179,8 @@ echo ' <title>' . $p->t('mailverteiler/personenImVerteiler') . '</title>
<body id="inhalt">'; <body id="inhalt">';
$qry = "SELECT $qry = "SELECT
uid, vorname, nachname, geschlecht, fixangestellt uid, vorname, nachname, wahlname, geschlecht, fixangestellt,
CASE WHEN wahlname IS NOT NULL THEN wahlname ELSE vorname END AS orderVorname
FROM FROM
campus.vw_benutzer campus.vw_benutzer
JOIN JOIN
@@ -202,7 +203,7 @@ $qry = "SELECT
} }
$qry .= " ORDER BY $qry .= " ORDER BY
nachname, vorname"; nachname, orderVorname";
echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>'; echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>';
echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>'; echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>';
@@ -236,7 +237,7 @@ if ($result = $db->db_query($qry))
echo '<tr>'; echo '<tr>';
echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>'; echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>';
echo ' <td>'.$row->nachname.'</td>'; echo ' <td>'.$row->nachname.'</td>';
echo ' <td>'.$row->vorname.'</td>'; echo ' <td>'. ($row->wahlname ? $row->wahlname : $row->vorname) .'</td>';
echo ' <td>'.strtoupper($row->geschlecht).'</td>'; echo ' <td>'.strtoupper($row->geschlecht).'</td>';
echo ' <td>'.($row->fixangestellt != '' ? ($row->fixangestellt == 't' ? 'Ja' : 'Nein') :'-').'</td>'; echo ' <td>'.($row->fixangestellt != '' ? ($row->fixangestellt == 't' ? 'Ja' : 'Nein') :'-').'</td>';
echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>'; echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>';
+3 -1
View File
@@ -256,7 +256,9 @@ echo '
'.$p->t('global/anrede').': '.$user->anrede.'<br> '.$p->t('global/anrede').': '.$user->anrede.'<br>
'.$p->t('global/titel').': '.$user->titelpre.' <br>'; '.$p->t('global/titel').': '.$user->titelpre.' <br>';
if (!$ansicht) if ($user->wahlname)
echo $p->t('global/vorname').': '.$user->wahlname.' <br>';
else if (!$ansicht)
echo $p->t('global/vorname').': '.$user->vorname.' '.$user->vornamen.'<br>'; echo $p->t('global/vorname').': '.$user->vorname.' '.$user->vornamen.'<br>';
else else
echo $p->t('global/vorname').': '.$user->vorname.' <br>'; echo $p->t('global/vorname').': '.$user->vorname.' <br>';
+7 -5
View File
@@ -162,7 +162,8 @@ if (!isset($_GET['kz']))
if (isset($_GET['all'])) if (isset($_GET['all']))
{ {
$qry = "SELECT $qry = "SELECT
vorname, nachname, uid, geschlecht vorname, nachname, wahlname, uid, geschlecht,
CASE WHEN wahlname IS NOT NULL THEN wahlname ELSE vorname END AS orderVorname
FROM FROM
campus.vw_student campus.vw_student
WHERE WHERE
@@ -170,12 +171,13 @@ if (isset($_GET['all']))
AND studiengang_kz=".$db->db_add_param($_GET['kz'])." AND studiengang_kz=".$db->db_add_param($_GET['kz'])."
AND semester<10 AND semester<10
AND semester>0 AND semester>0
ORDER BY nachname, vorname"; ORDER BY nachname, orderVorname";
} }
else else
{ {
$qry = "SELECT $qry = "SELECT
vorname, nachname, uid, geschlecht vorname, nachname, wahlname, uid, geschlecht,
CASE WHEN wahlname IS NOT NULL THEN wahlname ELSE vorname END AS orderVorname
FROM FROM
campus.vw_student campus.vw_student
WHERE WHERE
@@ -191,7 +193,7 @@ else
if (isset($_GET['grp'])) if (isset($_GET['grp']))
$qry.=" AND gruppe=".$db->db_add_param($_GET['grp']); $qry.=" AND gruppe=".$db->db_add_param($_GET['grp']);
$qry.= ' ORDER BY nachname, vorname'; $qry.= ' ORDER BY nachname, orderVorname';
} }
echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>'; echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>';
echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>'; echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>';
@@ -223,7 +225,7 @@ if ($result = $db->db_query($qry))
echo "<tr>"; echo "<tr>";
echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>'; echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>';
echo " <td>$row->nachname</td>"; echo " <td>$row->nachname</td>";
echo " <td>$row->vorname</td>"; echo " <td>" . ($row->wahlname ? $row->wahlname : $row->vorname) . "</td>";
echo ' <td>'.strtoupper($row->geschlecht).'</td>'; echo ' <td>'.strtoupper($row->geschlecht).'</td>';
echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>'; echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>';
echo "</tr>"; echo "</tr>";
+1 -1
View File
@@ -180,7 +180,7 @@ function searchPerson($searchItems)
echo '<td>',$row->anrede,'</td>'; echo '<td>',$row->anrede,'</td>';
if ($row->wahlname) if ($row->wahlname)
echo '<td>',$row->wahlname, ' ' ,$row->vorname, '</td>'; echo '<td>',$row->wahlname,'</td>';
else else
echo '<td>',$row->vorname, '</td>'; echo '<td>',$row->vorname, '</td>';
@@ -213,7 +213,7 @@ export default {
this.isOtherPersonStudent = !!viewData?.user_data?.is_student; this.isOtherPersonStudent = !!viewData?.user_data?.is_student;
let fullNameWithTitleFragments = [ let fullNameWithTitleFragments = [
viewData?.user_data?.titel, viewData?.user_data?.titel,
viewData?.user_data?.vorname, viewData?.user_data?.wahlname ?? viewData?.user_data?.vorname,
viewData?.user_data?.nachname, viewData?.user_data?.nachname,
viewData?.user_data?.postnomen, viewData?.user_data?.postnomen,
]; ];
@@ -274,7 +274,7 @@ export default {
} }
return { return {
Vorname: this.data.vorname, Vorname: this.data.wahlname ?? this.data.vorname,
Nachname: this.data.nachname, Nachname: this.data.nachname,
Username: this.data.username, Username: this.data.username,
Anrede: this.data.anrede, Anrede: this.data.anrede,
@@ -160,7 +160,7 @@ export default {
} }
return { return {
Vorname: this.data.vorname, Vorname: this.data.wahlname ?? this.data.vorname,
Nachname: this.data.nachname, Nachname: this.data.nachname,
Username: this.data.username, Username: this.data.username,
Anrede: this.data.anrede, Anrede: this.data.anrede,
@@ -204,7 +204,7 @@ export default {
} }
return { return {
Vorname: this.data.vorname, Vorname: this.data.wahlname ?? this.data.vorname,
Nachname: this.data.nachname, Nachname: this.data.nachname,
Username: this.data.username, Username: this.data.username,
Anrede: this.data.anrede, Anrede: this.data.anrede,
@@ -33,7 +33,7 @@ export default {
} }
return { return {
Vorname: this.data.vorname, Vorname: this.data.wahlname ?? this.data.vorname,
Nachname: this.data.nachname, Nachname: this.data.nachname,
Username: this.data.username, Username: this.data.username,
Anrede: this.data.anrede, Anrede: this.data.anrede,
+1 -1
View File
@@ -184,7 +184,7 @@ export default {
let viewDataResult = await this.$api.call(ApiDashboard.getViewData()); let viewDataResult = await this.$api.call(ApiDashboard.getViewData());
const viewData = viewDataResult.data; const viewData = viewDataResult.data;
this.timezone = viewData?.timezone; this.timezone = viewData?.timezone;
this.userFirstName = viewData?.name; this.userFirstName = viewData?.wahlname ?? viewData?.name;
} }
}, },
async created() { async created() {
+1 -1
View File
@@ -50474,7 +50474,7 @@ array(
'phrases' => array( 'phrases' => array(
array( array(
'sprache' => 'German', 'sprache' => 'German',
'text' => 'Wahlname', 'text' => 'Wahlvorname',
'description' => '', 'description' => '',
'insertvon' => 'system' 'insertvon' => 'system'
), ),