Ajout gestion des groups dans le module sync nextcloud
This commit is contained in:
@@ -8,11 +8,21 @@ new_membership = Signal(Signal("user"))
|
|||||||
ending_membership = Signal(Signal("user"))
|
ending_membership = Signal(Signal("user"))
|
||||||
updating_membership = 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.db.models.signals import post_save, post_delete
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
from django.contrib.auth import get_user_model
|
|
||||||
|
|
||||||
|
|
||||||
def my_callback(sender,created,instance, **kwargs):
|
def my_callback(sender,created,instance, **kwargs):
|
||||||
if created:
|
if created:
|
||||||
|
@@ -118,6 +118,11 @@ def update_nexcloud_user(sender, **kwargs):
|
|||||||
_err.pop(0)
|
_err.pop(0)
|
||||||
nc.set_user_attribute(_user.username, 'email', _user.email)
|
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))
|
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()
|
nc.logout()
|
||||||
|
|
||||||
except NextCloudCLI.HTTPResponseError as e:
|
except NextCloudCLI.HTTPResponseError as e:
|
||||||
|
Reference in New Issue
Block a user