gvaldap/gvaldap/osusers/tasks.py
Jan Dittberner 1575725bcb add celery tasks
- 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
2014-05-30 12:12:21 +02:00

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