mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Merge branch 'master' into signatur
This commit is contained in:
+190
-15
@@ -1089,6 +1089,20 @@ if (!@$db->db_query("SELECT 0 FROM system.tbl_filters WHERE 0 = 1"))
|
||||
echo '<br>Altered sequence system.tbl_filters_id_seq';
|
||||
}
|
||||
|
||||
// Add missing primary Key to system.tbl_filters.filter_id
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_filters_filter_id'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "ALTER TABLE system.tbl_filters ADD CONSTRAINT pk_filters_filter_id PRIMARY KEY (filter_id);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_filters '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>system.tbl_filters: added primary key on column filter_id';
|
||||
}
|
||||
}
|
||||
|
||||
// UNIQUE INDEX uidx_filters_app_dataset_name_filter_kurzbz
|
||||
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_filters_app_dataset_name_filter_kurzbz'"))
|
||||
{
|
||||
@@ -1205,20 +1219,6 @@ if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log"))
|
||||
echo '<br>Added Column taetigkeit_kurzbz to system.tbl_log';
|
||||
}
|
||||
|
||||
// Add missing primary Key to system.tbl_filters.filter_id
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_filters_filter_id'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "ALTER TABLE system.tbl_filters ADD CONSTRAINT pk_filters_filter_id PRIMARY KEY (filter_id);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_filters '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>system.tbl_filters: added primary key on column filter_id';
|
||||
}
|
||||
}
|
||||
|
||||
// Add index to tbl_akte
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_akte_dokument_kurzbz'"))
|
||||
{
|
||||
@@ -1279,6 +1279,7 @@ if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='infocenter'"
|
||||
echo '<br>Neue App infocenter in system.tbl_app hinzugefügt';
|
||||
}
|
||||
}
|
||||
|
||||
// App 'bewerbung' hinzufügen
|
||||
if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='bewerbung'"))
|
||||
{
|
||||
@@ -2029,6 +2030,55 @@ if(!@$db->db_query("SELECT cis_suche FROM campus.tbl_dms_version LIMIT 1"))
|
||||
<br><b>Bei allen DMS-Einträge mit befülltem Beschreibungstext, wurde dieser in die Spalte schlagworte übernommen</b>';
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
// Start changes to Phrases
|
||||
|
||||
// ADD COLUMN category to system.tbl_phrase
|
||||
if (!$result = @$db->db_query("SELECT category FROM system.tbl_phrase LIMIT 1"))
|
||||
{
|
||||
$qry = 'ALTER TABLE system.tbl_phrase ADD COLUMN category character varying(64);';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_phrase: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Added column category to table system.tbl_phrase';
|
||||
|
||||
// COMMENT ON TABLE system.tbl_phrase
|
||||
$qry = 'COMMENT ON COLUMN system.tbl_phrase.category IS \'To divide the phrases into categories\';';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>Adding comment to system.tbl_phrase.category: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Added comment to system.tbl_phrase.category';
|
||||
}
|
||||
|
||||
// UNIQUE INDEX uidx_phrase_category_phrase
|
||||
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_phrase_category_phrase'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = 'CREATE UNIQUE INDEX uidx_phrase_category_phrase ON system.tbl_phrase USING btree (category, phrase);';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>uidx_phrase_category_phrase '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Created unique uidx_phrase_category_phrase';
|
||||
}
|
||||
}
|
||||
|
||||
// UNIQUE INDEX uidx_phrasestext_phrase_id_sprache_orgeinheit_kurzbz_orgform_kurzbz
|
||||
if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'uidx_phrasestext_phrase_id_sprache_orgeinheit_kurzbz_orgform_kurzbz'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = 'CREATE UNIQUE INDEX uidx_phrasestext_phrase_id_sprache_orgeinheit_kurzbz_orgform_kurzbz ON system.tbl_phrasentext USING btree (phrase_id, sprache, orgeinheit_kurzbz, orgform_kurzbz);';
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>uidx_phrasestext_phrase_id_sprache_orgeinheit_kurzbz_orgform_kurzbz '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Created unique uidx_phrasestext_phrase_id_sprache_orgeinheit_kurzbz_orgform_kurzbz';
|
||||
}
|
||||
}
|
||||
|
||||
// End changes to Phrases
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// Remove NOT NULL constraint on matrikelnr on public.tbl_student
|
||||
if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_student' AND COLUMN_NAME = 'matrikelnr' AND is_nullable = 'NO'"))
|
||||
{
|
||||
@@ -2043,6 +2093,131 @@ if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS
|
||||
}
|
||||
}
|
||||
|
||||
// public.vw_prestudentstatus Datum zur Reihungstestanmeldung aus tbl_rt_person
|
||||
if($result = $db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='public' AND table_name='vw_prestudentstatus'"))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if(!mb_stristr($row->view_definition, 'tbl_rt_person'))
|
||||
{
|
||||
$qry = "
|
||||
CREATE OR REPLACE VIEW public.vw_prestudentstatus AS
|
||||
SELECT tbl_prestudent.prestudent_id,
|
||||
tbl_person.person_id,
|
||||
tbl_person.staatsbuergerschaft,
|
||||
tbl_person.geburtsnation,
|
||||
tbl_person.sprache,
|
||||
tbl_person.anrede,
|
||||
tbl_person.titelpost,
|
||||
tbl_person.titelpre,
|
||||
tbl_person.nachname,
|
||||
tbl_person.vorname,
|
||||
tbl_person.vornamen,
|
||||
tbl_person.gebdatum,
|
||||
tbl_person.gebort,
|
||||
tbl_person.gebzeit,
|
||||
tbl_person.foto,
|
||||
tbl_person.homepage,
|
||||
tbl_person.svnr,
|
||||
tbl_person.ersatzkennzeichen,
|
||||
tbl_person.familienstand,
|
||||
tbl_person.geschlecht,
|
||||
tbl_person.anzahlkinder,
|
||||
tbl_person.aktiv,
|
||||
tbl_person.bundesland_code,
|
||||
tbl_person.kompetenzen,
|
||||
tbl_person.kurzbeschreibung,
|
||||
tbl_person.zugangscode,
|
||||
tbl_person.foto_sperre,
|
||||
tbl_person.matr_nr,
|
||||
tbl_prestudent.aufmerksamdurch_kurzbz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_prestudent.berufstaetigkeit_code,
|
||||
tbl_prestudent.ausbildungcode,
|
||||
tbl_prestudent.zgv_code,
|
||||
tbl_prestudent.zgvort,
|
||||
tbl_prestudent.zgvdatum,
|
||||
tbl_prestudent.zgvmas_code,
|
||||
tbl_prestudent.zgvmaort,
|
||||
tbl_prestudent.zgvmadatum,
|
||||
tbl_prestudent.aufnahmeschluessel,
|
||||
tbl_prestudent.facheinschlberuf,
|
||||
tbl_prestudent.reihungstest_id,
|
||||
(SELECT
|
||||
COALESCE(anmeldedatum, tbl_rt_person.insertamum::date)
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN public.tbl_reihungstest ON(rt_id=reihungstest_id)
|
||||
JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
person_id=tbl_prestudent.person_id
|
||||
AND tbl_reihungstest.studiensemester_kurzbz=prestudentstatus.studiensemester_kurzbz
|
||||
AND tbl_studienordnung.studiengang_kz=tbl_prestudent.studiengang_kz
|
||||
ORDER BY anmeldedatum DESC, tbl_rt_person.insertamum DESC limit 1
|
||||
) as anmeldungreihungstest,
|
||||
tbl_prestudent.reihungstestangetreten,
|
||||
tbl_prestudent.rt_gesamtpunkte,
|
||||
tbl_prestudent.bismelden,
|
||||
tbl_prestudent.anmerkung,
|
||||
tbl_prestudent.dual,
|
||||
tbl_prestudent.rt_punkte1,
|
||||
tbl_prestudent.rt_punkte2,
|
||||
tbl_prestudent.ausstellungsstaat,
|
||||
tbl_prestudent.rt_punkte3,
|
||||
tbl_prestudent.zgvdoktor_code,
|
||||
tbl_prestudent.zgvdoktorort,
|
||||
tbl_prestudent.zgvdoktordatum,
|
||||
tbl_prestudent.mentor,
|
||||
prestudentstatus.status_kurzbz,
|
||||
prestudentstatus.studiensemester_kurzbz,
|
||||
prestudentstatus.ausbildungssemester,
|
||||
prestudentstatus.datum,
|
||||
prestudentstatus.insertamum,
|
||||
prestudentstatus.insertvon,
|
||||
prestudentstatus.updateamum,
|
||||
prestudentstatus.updatevon,
|
||||
COALESCE(prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) AS orgform_kurzbz,
|
||||
prestudentstatus.studienplan_id,
|
||||
prestudentstatus.bestaetigtam,
|
||||
prestudentstatus.bestaetigtvon,
|
||||
prestudentstatus.fgm,
|
||||
prestudentstatus.faktiv,
|
||||
tbl_studiengang.kurzbz,
|
||||
tbl_studiengang.kurzbzlang,
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiensemester.start,
|
||||
tbl_studiensemester.ende,
|
||||
tbl_studiensemester.studienjahr_kurzbz,
|
||||
substr(tbl_studiensemester.studiensemester_kurzbz::text, 3) || lower(substr(tbl_studiensemester.studiensemester_kurzbz::text, 1, 1)) AS studiensemester,
|
||||
CASE
|
||||
WHEN tbl_studiengang.typ = 'b'::bpchar AND tbl_prestudent.zgv_code IS NOT NULL OR tbl_studiengang.typ = 'm'::bpchar AND tbl_prestudent.zgvmas_code IS NOT NULL OR tbl_studiengang.typ = 'd'::bpchar AND tbl_prestudent.zgvdoktor_code IS NOT NULL THEN true
|
||||
ELSE false
|
||||
END AS zgv,
|
||||
CASE
|
||||
WHEN tbl_prestudentstatus.prestudent_id IS NULL THEN false
|
||||
ELSE true
|
||||
END AS student,
|
||||
date_part('week'::text, prestudentstatus.datum) AS kw
|
||||
FROM public.tbl_person
|
||||
JOIN public.tbl_prestudent USING (person_id)
|
||||
JOIN public.tbl_prestudentstatus prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiengang USING (studiengang_kz)
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
LEFT JOIN public.tbl_prestudentstatus ON tbl_prestudentstatus.prestudent_id = prestudentstatus.prestudent_id AND tbl_prestudentstatus.studiensemester_kurzbz::text = prestudentstatus.studiensemester_kurzbz::text AND tbl_prestudentstatus.status_kurzbz::text = 'Student'::text;
|
||||
|
||||
GRANT SELECT ON public.vw_prestudentstatus TO vilesci;
|
||||
GRANT SELECT ON public.vw_prestudentstatus TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.vw_prestudentstatus:'.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.vw_prestudentstatus angepasst damit anmeldungzumreihungstest aus tbl_rt_person kommt';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -2294,7 +2469,7 @@ $tabellen=array(
|
||||
"system.tbl_log" => array("log_id","person_id","zeitpunkt","app","oe_kurzbz","logtype_kurzbz","logdata","insertvon","taetigkeit_kurzbz"),
|
||||
"system.tbl_logtype" => array("logtype_kurzbz", "data_schema"),
|
||||
"system.tbl_filters" => array("filter_id","app","dataset_name","filter_kurzbz","person_id","description","sort","default_filter","filter","oe_kurzbz"),
|
||||
"system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon"),
|
||||
"system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon","category"),
|
||||
"system.tbl_phrasentext" => array("phrasentext_id","phrase_id","sprache","orgeinheit_kurzbz","orgform_kurzbz","text","description","insertamum","insertvon"),
|
||||
"system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
|
||||
"system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"),
|
||||
|
||||
Reference in New Issue
Block a user