diff --git a/application/controllers/system/MigrateKalender.php b/application/controllers/system/MigrateKalender.php
index 71a7d189f..d1d29e2ab 100644
--- a/application/controllers/system/MigrateKalender.php
+++ b/application/controllers/system/MigrateKalender.php
@@ -454,14 +454,14 @@ class MigrateKalender extends CLI_Controller
$db->db->query("DELETE FROM public.tbl_notiz
WHERE notiz_id IN (
SELECT notiz_id
- FROM public.tbl_notizzuordnung
+ FROM lehre.tbl_kalender_notiz
WHERE eindeutige_kalender_gruppen_id IN (
SELECT eindeutige_kalender_gruppen_id
FROM lehre.tbl_kalender
)
)");
- $db->db->query("DELETE FROM public.tbl_notizzuordnung
+ $db->db->query("DELETE FROM lehre.tbl_kalender_notiz
WHERE eindeutige_kalender_gruppen_id IN (
SELECT eindeutige_kalender_gruppen_id
FROM lehre.tbl_kalender
@@ -771,7 +771,7 @@ class MigrateKalender extends CLI_Controller
$this->load->model('person/Notiz_model', 'NotizModel');
$this->load->model('system/Notiztyp_model', 'NotiztypModel');
- $this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
+ $this->load->model('ressource/KalenderNotiz_model', 'KalenderNotizModel');
$checkTyp = $this->NotiztypModel->loadWhere(array('typ_kurzbz' => $notizType));
@@ -788,16 +788,16 @@ class MigrateKalender extends CLI_Controller
}
- $this->NotizzuordnungModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_notizzuordnung.notiz_id', 'LEFT');
- $this->NotizzuordnungModel->db->where('tbl_notiz.typ', $notizType);
- $this->NotizzuordnungModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
- $oldNotizZuordnung = $this->NotizzuordnungModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
- if (isError($oldNotizZuordnung))
+ $this->KalenderNotizModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_kalender_notiz.notiz_id', 'LEFT');
+ $this->KalenderNotizModel->db->where('tbl_notiz.typ', $notizType);
+ $this->KalenderNotizModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
+ $oldKalenderNotiz = $this->KalenderNotizModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
+ if (isError($oldKalenderNotiz))
{
- error("Error occurred while checking Notizzuordnung: " . $oldNotizZuordnung->message);
+ error("Error occurred while checking KalenderNotiz: " . $oldKalenderNotiz->message);
return false;
}
- if (hasData($oldNotizZuordnung))
+ if (hasData($oldKalenderNotiz))
{
return $this->updateTag($eindeutige_kalender_gruppen_id, $notizText, $lastUpdatedInOldSystem);
}
@@ -819,14 +819,14 @@ class MigrateKalender extends CLI_Controller
return false;
}
- $insertZuordnung = $this->NotizzuordnungModel->insert(array(
+ $insertKalenderNotiz = $this->KalenderNotizModel->insert(array(
'notiz_id' => $insertResult->retval,
'eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id
));
- if (isError($insertZuordnung))
+ if (isError($insertKalenderNotiz))
{
- error("Error occurred while inserting Notizzuordnung: " . $insertZuordnung->message);
+ error("Error occurred while inserting KalenderNotiz: " . $insertKalenderNotiz->message);
return false;
}
@@ -838,18 +838,18 @@ class MigrateKalender extends CLI_Controller
$notizType = 'hinweis';
$insertvonMockUser = 'oldToNewTempusMigration';
- $this->NotizzuordnungModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_notizzuordnung.notiz_id', 'LEFT');
- $this->NotizzuordnungModel->db->where('tbl_notiz.typ', $notizType);
- $this->NotizzuordnungModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
- $notizZuordnungRes = $this->NotizzuordnungModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
- if (isError($notizZuordnungRes))
+ $this->KalenderNotizModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_kalender_notiz.notiz_id', 'LEFT');
+ $this->KalenderNotizModel->db->where('tbl_notiz.typ', $notizType);
+ $this->KalenderNotizModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
+ $kalenderNotizRes = $this->KalenderNotizModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
+ if (isError($kalenderNotizRes))
{
- error("Error occurred while loading Notizzuordnung: " . $notizZuordnungRes->message);
+ error("Error occurred while loading KalenderNotiz: " . $kalenderNotizRes->message);
return false;
}
- $tag = $this->NotizModel->loadWhere(array('notiz_id' => $notizZuordnungRes->retval[0]->notiz_id));
+ $tag = $this->NotizModel->loadWhere(array('notiz_id' => $kalenderNotizRes->retval[0]->notiz_id));
if (isError($tag))
{
error("Error occurred while loading Notiz: " . $tag->message);
@@ -858,7 +858,7 @@ class MigrateKalender extends CLI_Controller
if (!hasData($tag))
{
- error("Error occurred while loading Notiz: " . $tag->message);
+ error("Error occurred while loading KalenderNotiz: " . $tag->message);
return false;
}
diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php
index d4c2a9975..ad1923b38 100644
--- a/system/dbupdate_3.4.php
+++ b/system/dbupdate_3.4.php
@@ -99,7 +99,6 @@ require_once('dbupdate_3.4/76150_perm_other_lv_plan.php');
require_once('dbupdate_3.4/68957_dashboard_bookmark_neue_Spalte_sort.php');
require_once('dbupdate_3.4/68530_Dashboard_Cleanup.php');
require_once('dbupdate_3.4/77375_ressourcen.php');
-require_once('dbupdate_3.4/78052_tempus_tag_events.php');
require_once('dbupdate_3.4/78318_rename_column_of_eindeutige_gruppen_id_to_eindeutige_kalender_gruppen_id_in_tbl_kalender.php');
require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
require_once('dbupdate_3.4/76160_lvv_favorites.php');
diff --git a/system/dbupdate_3.4/78052_tempus_tag_events.php b/system/dbupdate_3.4/78052_tempus_tag_events.php
deleted file mode 100644
index 64f47d57b..000000000
--- a/system/dbupdate_3.4/78052_tempus_tag_events.php
+++ /dev/null
@@ -1,19 +0,0 @@
-db_query("SELECT 1
- FROM information_schema.columns
- WHERE table_schema = 'public'
- AND table_name = 'tbl_notizzuordnung'
- AND column_name = 'eindeutige_kalender_gruppen_id'");
-
-if ($db->db_num_rows($result) === 0)
-{
- $qry = "ALTER TABLE public.tbl_notizzuordnung
- ADD COLUMN eindeutige_kalender_gruppen_id UUID NULL DEFAULT NULL";
-
- if (!$db->db_query($qry))
- echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
- else
- echo '
public.tbl_notizzuordnung: eindeutige_kalender_gruppen_id column added';
-}
diff --git a/system/dbupdate_3.4/83437_kalender_notiz_tbl.php b/system/dbupdate_3.4/83437_kalender_notiz_tbl.php
index 2d56e9837..0a7990df7 100644
--- a/system/dbupdate_3.4/83437_kalender_notiz_tbl.php
+++ b/system/dbupdate_3.4/83437_kalender_notiz_tbl.php
@@ -32,7 +32,16 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
echo '
Granted privileges to vilesci on lehre.tbl_kalender_notiz';
// Delete the related note when its calendar-note assignment no longer exists.
- $qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_notiz_on_kalender_notiz_delete()
+ $result = $db->db_query("SELECT 1
+ FROM pg_catalog.pg_proc AS p
+ JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
+ WHERE n.nspname = 'lehre'
+ AND p.proname = 'cleanup_notiz_on_kalender_notiz_delete'
+ AND p.proargtypes = ''::oidvector");
+
+ if ($db->db_num_rows($result) === 0)
+ {
+ $qry = 'CREATE FUNCTION lehre.cleanup_notiz_on_kalender_notiz_delete()
RETURNS trigger
LANGUAGE plpgsql
SECURITY DEFINER
@@ -50,9 +59,15 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
RETURN OLD;
END;
- $function$;
+ $function$;';
- CREATE TRIGGER cleanup_notiz_on_kalender_notiz_delete
+ if (!$db->db_query($qry))
+ echo 'lehre.tbl_notiz cleanup function: '.$db->db_last_error().'
';
+ else
+ echo '
lehre.tbl_notiz cleanup function created';
+ }
+
+ $qry = 'CREATE TRIGGER cleanup_notiz_on_kalender_notiz_delete
AFTER DELETE ON lehre.tbl_kalender_notiz
FOR EACH ROW
EXECUTE PROCEDURE lehre.cleanup_notiz_on_kalender_notiz_delete();';
@@ -65,7 +80,16 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
// Delete note assignments after a physical delete or when every row in the
// calendar group has an inactive status.
-$qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_kalender_notiz()
+$result = $db->db_query("SELECT 1
+ FROM pg_catalog.pg_proc AS p
+ JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
+ WHERE n.nspname = 'lehre'
+ AND p.proname = 'cleanup_kalender_notiz'
+ AND p.proargtypes = ''::oidvector");
+
+if ($db->db_num_rows($result) === 0)
+{
+ $qry = 'CREATE FUNCTION lehre.cleanup_kalender_notiz()
RETURNS trigger
LANGUAGE plpgsql
SECURITY DEFINER
@@ -113,6 +137,7 @@ $qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_kalender_notiz()
echo 'lehre.tbl_kalender_notiz cleanup function: '.$db->db_last_error().'
';
else
echo '
lehre.tbl_kalender_notiz cleanup function created';
+}
$result = $db->db_query("SELECT 1
FROM pg_catalog.pg_trigger AS t
@@ -138,7 +163,16 @@ if ($db->db_num_rows($result) === 0)
// Delete resource assignments after a physical delete or when every row in the
// calendar group has an inactive status.
-$qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_betriebsmittel_kalender()
+$result = $db->db_query("SELECT 1
+ FROM pg_catalog.pg_proc AS p
+ JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
+ WHERE n.nspname = 'lehre'
+ AND p.proname = 'cleanup_betriebsmittel_kalender'
+ AND p.proargtypes = ''::oidvector");
+
+if ($db->db_num_rows($result) === 0)
+{
+ $qry = 'CREATE FUNCTION lehre.cleanup_betriebsmittel_kalender()
RETURNS trigger
LANGUAGE plpgsql
SECURITY DEFINER
@@ -186,6 +220,7 @@ $qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_betriebsmittel_kalender()
echo 'lehre.tbl_betriebsmittel_kalender cleanup function: '.$db->db_last_error().'
';
else
echo '
lehre.tbl_betriebsmittel_kalender cleanup function created';
+}
$result = $db->db_query("SELECT 1
FROM pg_catalog.pg_trigger AS t
@@ -225,3 +260,20 @@ if ($db->db_num_rows($result) === 1)
else
echo '
public.tbl_notizzuordnung: eindeutige_kalender_gruppen_id column removed';
}
+
+$result = $db->db_query("SELECT 1
+ FROM information_schema.columns
+ WHERE table_schema = 'public'
+ AND table_name = 'tbl_notizzuordnung'
+ AND column_name = 'eindeutige_gruppen_id'");
+
+if ($db->db_num_rows($result) === 1)
+{
+ $qry = "ALTER TABLE public.tbl_notizzuordnung
+ DROP COLUMN eindeutige_gruppen_id";
+
+ if (!$db->db_query($qry))
+ echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_notizzuordnung: eindeutige_gruppen_id column removed';
+}