aboutsummaryrefslogtreecommitdiff
path: root/lib/models/UserStudyCourse.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/UserStudyCourse.class.php')
-rw-r--r--lib/models/UserStudyCourse.class.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/models/UserStudyCourse.class.php b/lib/models/UserStudyCourse.class.php
index ac7670c..965106a 100644
--- a/lib/models/UserStudyCourse.class.php
+++ b/lib/models/UserStudyCourse.class.php
@@ -45,6 +45,31 @@ class UserStudyCourse extends SimpleORMap implements PrivacyObject
$config['additional_fields']['degree_name'] = [];
$config['additional_fields']['studycourse_name'] = [];
+
+ $config['registered_callbacks']['after_create'][] = function ($entry) {
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'degree', $entry->abschluss_id);
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'subject', $entry->fach_id);
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'semester', $entry->semester);
+ };
+
+ $config['registered_callbacks']['after_delete'][] = function ($entry) {
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'degree', $entry->abschluss_id);
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'subject', $entry->fach_id);
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'semester', $entry->semester);
+ };
+
+ $config['registered_callbacks']['before_update'][] = function ($entry) {
+ if ($entry->isFieldDirty('abschluss_id')) {
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'degree', $entry->abschluss_id);
+ }
+ if ($entry->isFieldDirty('fach_id')) {
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'subject', $entry->fach_id);
+ }
+ if ($entry->isFieldDirty('semester')) {
+ AutoInsert::instance()->saveUser($entry->user_id, false, 'semester', $entry->semester);
+ }
+ };
+
parent::configure($config);
}