aboutsummaryrefslogtreecommitdiff
path: root/lib/models/InstituteMember.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/InstituteMember.class.php')
-rw-r--r--lib/models/InstituteMember.class.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/models/InstituteMember.class.php b/lib/models/InstituteMember.class.php
index a501c61..d7d7daa 100644
--- a/lib/models/InstituteMember.class.php
+++ b/lib/models/InstituteMember.class.php
@@ -85,6 +85,21 @@ class InstituteMember extends SimpleORMap implements PrivacyObject
if ($institute) {
$institute->status_groups->removeUser($user_id, true);
+
+ AutoInsert::instance()->saveUser($user_id, $member->inst_perms, 'institute',
+ $member->institut_id);
+ }
+ };
+
+ $config['registered_callbacks']['after_create'][] = function ($member) {
+ AutoInsert::instance()->saveUser($member->user_id, $member->inst_perms, 'institute',
+ $member->institut_id);
+ };
+
+ $config['registered_callbacks']['before_update'][] = function ($member) {
+ if ($member->isFieldDirty('inst_perms')) {
+ AutoInsert::instance()->saveUser($member->user_id, $member->inst_perms, 'institute',
+ $member->institut_id);
}
};