From 93fb3b44a2f1f4af9e568041a579fda27fa86e6e Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Fri, 23 Sep 2022 13:45:16 +0000
Subject: [PATCH] remove translations after config value was removed, fixes
 #1597

Closes #1597

Merge request studip/studip!1029
---
 lib/models/ConfigValue.php | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/models/ConfigValue.php b/lib/models/ConfigValue.php
index 16354ec796d..4e27ec7843c 100644
--- a/lib/models/ConfigValue.php
+++ b/lib/models/ConfigValue.php
@@ -26,10 +26,18 @@ class ConfigValue extends SimpleORMap
     protected static function configure($config = [])
     {
         $config['db_table'] = 'config_values';
+
         $config['belongs_to']['entry'] = [
             'class_name' => \ConfigEntry::class,
             'foreign_key' => 'field',
         ];
+
+        $config['registered_callbacks']['after_delete'][] = function (ConfigValue $value) {
+            if ($value->entry->type === 'i18n') {
+                $value->getTypedValue()->removeTranslations();
+            }
+        };
+
         parent::configure($config);
     }
 
-- 
GitLab