diff --git a/nextcloud/models/alerts.py b/nextcloud/models/alerts.py index b3a5194..a05339a 100644 --- a/nextcloud/models/alerts.py +++ b/nextcloud/models/alerts.py @@ -8,11 +8,21 @@ new_membership = Signal(Signal("user")) ending_membership = Signal(Signal("user")) updating_membership = Signal(["user"]) +''' +from django.contrib.auth import get_user_model + +# TODO remove this temps part +User = get_user_model() +users = User.objects.all() + +for usr in users: + print(f"sync {usr}") + new_membership.send(sender=sender, user=usr) + updating_membership.send(sender=sender, user=usr) +''' from django.db.models.signals import post_save, post_delete from django.contrib.auth.models import User -from django.contrib.auth import get_user_model - def my_callback(sender,created,instance, **kwargs): if created: diff --git a/nextcloud/signals.py b/nextcloud/signals.py index 056b7e0..70c48ca 100644 --- a/nextcloud/signals.py +++ b/nextcloud/signals.py @@ -118,6 +118,11 @@ def update_nexcloud_user(sender, **kwargs): _err.pop(0) nc.set_user_attribute(_user.username, 'email', _user.email) nc.set_user_attribute(_user.username, 'displayname', _user.first_name + " " + _user.last_name + get_pseudonyme_from_user(_user.username)) + _groups = _user.groups.values_list('name', flat=True) + groups = list(_groups) + for grp in groups: + log(f"add a group [{grp}] for {_user}") + nc.add_user_to_group(_user.username, grp) nc.logout() except NextCloudCLI.HTTPResponseError as e: