diff --git a/application/views/system/messages/htmlWriteTemplate.php b/application/views/system/messages/htmlWriteTemplate.php
index b6876dc91..199a88cfa 100644
--- a/application/views/system/messages/htmlWriteTemplate.php
+++ b/application/views/system/messages/htmlWriteTemplate.php
@@ -89,7 +89,7 @@
array(
'name' => 'variables[]',
'id' => 'variables',
- 'size' => 27,
+ 'size' => count($variables),
'multiple' => true
)
);
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index 1c27b2d91..df4a1e77e 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -3565,7 +3565,6 @@ if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.tbl_gebiet LIMIT
// ADD COLUMN offset to testtool.vw_auswertung_ablauf
if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung_ablauf LIMIT 1"))
{
- // CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf
$qry = '
CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf AS (
SELECT
@@ -3618,12 +3617,11 @@ if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung_ab
echo '
testtool.vw_auswertung_ablauf view created';
}
-// ADD COLUMN offset to testtool.vw_auswertung_ablauf
+// ADD COLUMN offset to testtool.vw_auswertung
if(!$result = @$db->db_query("SELECT offsetpunkte FROM testtool.vw_auswertung LIMIT 1"))
{
- // CREATE OR REPLACE VIEW testtool.vw_auswertung_ablauf
$qry = '
- CREATE OR REPLACE VIEW testtool.vw_auswertung AS
+ CREATE OR REPLACE VIEW testtool.vw_auswertung AS
SELECT
tbl_gebiet.gebiet_id,
tbl_gebiet.bezeichnung AS gebiet,
@@ -3825,7 +3823,7 @@ if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Stu
if(!$db->db_query($qry))
echo 'public.vw_msg_vars: '.$db->db_last_error().'
';
else
- echo '
public.vw_msg_vars IBAN Studiengang, BIC Studiengang, Studiengangskennzahl, Einstiegssemester, Einstiegsstudiensemester, Vorname Studiengangsassistenz, Nachname Studiengangsassistenz, Durchwahl Studiengangsassistenz, Relative Priorität added';
+ echo '
public.vw_msg_vars IBAN Studiengang, BIC Studiengang, Studiengangskennzahl, Einstiegssemester, Einstiegsstudiensemester, Vorname Studiengangsassistenz, Nachname Studiengangsassistenz, Durchwahl Studiengangsassistenz, Alias Studiengangsassistenz, Relative Priorität added';
}
// UNIQUE INDEX unq_idx_ablauf_gebiet_studiengang_semester in testtool.tbl_ablauf löschen und durch neuen INDEX ersetzen, der auch den Studienplan einschließt
@@ -3971,6 +3969,152 @@ if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsar
echo '
Verwendung und Beschaeftigungsart für BIS Version 6.8 aktualisiert.';
}
+// Orgform DE und Orform EN zu vw_msg_vars hinzufügen
+if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars LIMIT 1'))
+{
+ $qry = '
+ CREATE OR REPLACE VIEW public.vw_msg_vars AS (
+ SELECT DISTINCT ON(p.person_id, pr.prestudent_id) p.person_id,
+ pr.prestudent_id AS prestudent_id,
+ p.nachname AS "Nachname",
+ p.vorname AS "Vorname",
+ p.anrede AS "Anrede",
+ a.strasse AS "Strasse",
+ a.ort AS "Ort",
+ a.plz AS "PLZ",
+ a.gemeinde AS "Gemeinde",
+ a.langtext AS "Nation",
+ ke.kontakt AS "Email",
+ kt.kontakt AS "Telefon",
+ s.bezeichnung AS "Studiengang DE",
+ s.english AS "Studiengang EN",
+ st.bezeichnung AS "Typ",
+ last_prestudent_status.orgform_kurzbz AS "Orgform",
+ p.zugangscode AS "Zugangscode",
+ bk.iban AS "IBAN Studiengang",
+ bk.bic AS "BIC Studiengang",
+ s.studiengang_kz AS "Studiengangskennzahl",
+ first_prestudent_status.ausbildungssemester AS "Einstiegssemester",
+ first_prestudent_status.studiensemester AS "Einstiegsstudiensemester",
+ ass.vorname AS "Vorname Studiengangsassistenz",
+ ass.nachname AS "Nachname Studiengangsassistenz",
+ ass.telefonklappe AS "Durchwahl Studiengangsassistenz",
+ ass.alias AS "Alias Studiengangsassistenz",
+ (SELECT count(*)
+ FROM (
+ SELECT pss.prestudent_id, pss.person_id, priorisierung,
+ (
+ SELECT status_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = pss.prestudent_id
+ ORDER BY datum DESC,
+ tbl_prestudentstatus.insertamum DESC LIMIT 1
+ ) AS laststatus
+ FROM public.tbl_prestudent pss
+ JOIN public.tbl_prestudentstatus USING (prestudent_id)
+ WHERE person_id = (
+ SELECT person_id
+ FROM public.tbl_prestudent
+ WHERE prestudent_id = pr.prestudent_id
+ )
+ AND studiensemester_kurzbz = (
+ SELECT studiensemester_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = pr.prestudent_id
+ AND status_kurzbz = \'Interessent\' LIMIT 1
+ )
+ AND status_kurzbz = \'Interessent\'
+ ) prest
+ WHERE laststatus NOT IN (\'Abbrecher\', \'Abgewiesener\', \'Absolvent\')
+ AND priorisierung <= pr.priorisierung) AS "Relative Prio",
+ last_prestudent_status.orgform_bezeichnung_de AS "Orgform DE",
+ last_prestudent_status.orgform_bezeichnung_en AS "Orgform EN"
+ FROM public.tbl_person p
+ LEFT JOIN (
+ SELECT person_id,
+ kontakt
+ FROM public.tbl_kontakt
+ WHERE zustellung = TRUE
+ AND kontakttyp = \'email\'
+ ORDER BY kontakt_id DESC
+ ) ke USING(person_id)
+ LEFT JOIN (
+ SELECT person_id,
+ kontakt
+ FROM public.tbl_kontakt
+ WHERE zustellung = TRUE
+ AND kontakttyp IN (\'telefon\', \'mobil\')
+ ORDER BY kontakt_id DESC
+ ) kt USING(person_id)
+ LEFT JOIN (
+ SELECT person_id,
+ strasse,
+ ort,
+ plz,
+ gemeinde,
+ langtext
+ FROM public.tbl_adresse
+ LEFT JOIN bis.tbl_nation ON(bis.tbl_nation.nation_code = public.tbl_adresse.nation)
+ WHERE public.tbl_adresse.heimatadresse = TRUE
+ ORDER BY adresse_id DESC
+ ) a USING(person_id)
+ LEFT JOIN public.tbl_prestudent pr USING(person_id)
+ INNER JOIN public.tbl_studiengang s USING(studiengang_kz)
+ INNER JOIN public.tbl_studiengangstyp st USING(typ)
+ LEFT JOIN (
+ SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_studienplan.orgform_kurzbz,
+ tbl_orgform.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE content=TRUE AND sprache=\'German\' LIMIT 1)] AS orgform_bezeichnung_de,
+ tbl_orgform.bezeichnung_mehrsprachig[(SELECT index FROM public.tbl_sprache WHERE content=TRUE AND sprache=\'English\' LIMIT 1)] AS orgform_bezeichnung_en
+ FROM public.tbl_prestudent ps
+ JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
+ JOIN lehre.tbl_studienplan USING(studienplan_id)
+ LEFT JOIN bis.tbl_orgform ON tbl_studienplan.orgform_kurzbz = tbl_orgform.orgform_kurzbz
+ ORDER BY ps.prestudent_id DESC,
+ tbl_prestudentstatus.datum DESC,
+ tbl_prestudentstatus.insertamum DESC,
+ tbl_prestudentstatus.ext_id DESC
+ ) last_prestudent_status ON pr.prestudent_id = last_prestudent_status.prestudent_id
+ LEFT JOIN (
+ SELECT DISTINCT ON (ps.prestudent_id) ps.prestudent_id, tbl_prestudentstatus.ausbildungssemester,
+ studiensemester_kurzbz, tbl_studiensemester.bezeichnung AS studiensemester,
+ tbl_studienordnung.studiengang_kz
+ FROM public.tbl_prestudent ps
+ JOIN public.tbl_prestudentstatus ON ps.prestudent_id = tbl_prestudentstatus.prestudent_id
+ JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
+ JOIN lehre.tbl_studienplan USING(studienplan_id)
+ JOIN lehre.tbl_studienordnung USING (studienordnung_id)
+ WHERE tbl_prestudentstatus.status_kurzbz = \'Interessent\'
+ ORDER BY ps.prestudent_id ASC,
+ tbl_prestudentstatus.datum ASC,
+ tbl_prestudentstatus.insertamum ASC,
+ tbl_prestudentstatus.ext_id ASC
+ ) first_prestudent_status ON pr.prestudent_id = first_prestudent_status.prestudent_id
+ LEFT JOIN (
+ SELECT DISTINCT ON (tbl_benutzerfunktion.oe_kurzbz) vorname, nachname, oe_kurzbz, telefonklappe, alias
+ FROM public.tbl_benutzerfunktion
+ JOIN public.tbl_benutzer USING (uid)
+ JOIN public.tbl_person USING (person_id)
+ JOIN public.tbl_mitarbeiter on tbl_benutzer.uid = tbl_mitarbeiter.mitarbeiter_uid
+ WHERE tbl_benutzerfunktion.funktion_kurzbz = \'ass\'
+ AND NOW() BETWEEN COALESCE(datum_von, NOW()) AND COALESCE(datum_bis, NOW())
+ ORDER BY tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerfunktion.insertamum DESC NULLS LAST, datum_von DESC NULLS LAST
+ ) ass ON s.oe_kurzbz = ass.oe_kurzbz
+ LEFT JOIN (
+ SELECT DISTINCT ON (oe_kurzbz, orgform_kurzbz) oe_kurzbz, orgform_kurzbz, iban, bic
+ FROM tbl_bankverbindung
+ WHERE oe_kurzbz IS NOT NULL
+ ORDER BY oe_kurzbz, orgform_kurzbz, tbl_bankverbindung.insertamum DESC,tbl_bankverbindung.iban
+ )bk ON s.oe_kurzbz = bk.oe_kurzbz AND (last_prestudent_status.orgform_kurzbz = bk.orgform_kurzbz OR bk.orgform_kurzbz IS NULL)
+ WHERE p.aktiv = TRUE
+ ORDER BY p.person_id ASC, pr.prestudent_id ASC
+ );';
+
+ if(!$db->db_query($qry))
+ echo 'public.vw_msg_vars: '.$db->db_last_error().'
';
+ else
+ echo '
public.vw_msg_vars added';
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '