diff options
Diffstat (limited to 'lib/models/UserStudyCourse.class.php')
| -rw-r--r-- | lib/models/UserStudyCourse.class.php | 25 |
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); } |
