Jan Dittberner
1575725bcb
- add celery application code in gvaldap.celery - add osusers app to mimic the osusers code in the main gnuviechadmin code - add celery configuration settings to gvaldap.settings.base - add osusers.models.Group and osusers.models.User - add osusers.tasks.create_ldap_group and osusers.tasks.create_ldap_user - add billiard, kombu and pytz to requirements/base.txt
29 lines
755 B
Python
29 lines
755 B
Python
from __future__ import absolute_import
|
|
|
|
from celery import shared_task
|
|
from ldapentities.models import (
|
|
LdapGroup,
|
|
LdapUser,
|
|
)
|
|
|
|
|
|
@shared_task
|
|
def create_ldap_group(group):
|
|
ldapgroup = LdapGroup(gid=group.gid, name=group.groupname)
|
|
ldapgroup.save()
|
|
return ldapgroup.dn
|
|
|
|
|
|
@shared_task
|
|
def create_ldap_user(user, password):
|
|
ldapuser = LdapUser(
|
|
uid=user.uid, group=user.group.gid, gecos=user.gecos,
|
|
home_directory=user.homedir, login_shell=user.shell,
|
|
username=user.username, common_name=user.username)
|
|
ldapuser.set_password(password)
|
|
ldapgroup = LdapGroup.objects.get(gid=ldapuser.group)
|
|
ldapgroup.members.append(ldapuser.username)
|
|
ldapgroup.save()
|
|
ldapuser.save()
|
|
return ldapuser.dn
|