refactor osusers.tasks into fileservertasks and ldaptasks
This commit is contained in:
parent
12b95881ec
commit
5b41d93898
6 changed files with 124 additions and 92 deletions
4
gnuviechadmin/ldaptasks/__init__.py
Normal file
4
gnuviechadmin/ldaptasks/__init__.py
Normal file
|
@ -0,0 +1,4 @@
|
|||
"""
|
||||
This module contains :py:mod:`ldaptasks.tasks`.
|
||||
|
||||
"""
|
117
gnuviechadmin/ldaptasks/tasks.py
Normal file
117
gnuviechadmin/ldaptasks/tasks.py
Normal file
|
@ -0,0 +1,117 @@
|
|||
"""
|
||||
This module defines task stubs for the tasks implemented in the gvaldap Celery
|
||||
worker.
|
||||
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
from celery import shared_task
|
||||
|
||||
|
||||
@shared_task
|
||||
def create_ldap_group(groupname, gid, descr):
|
||||
"""
|
||||
This task creates an :py:class:`LDAP group <ldapentities.models.LdapGroup>`
|
||||
if it does not exist yet.
|
||||
|
||||
If a group with the given name exists its group id and description
|
||||
attributes are updated.
|
||||
|
||||
:param str groupname: the group name
|
||||
:param int gid: the group id
|
||||
:param str descr: description text for the group
|
||||
:return: the distinguished name of the group
|
||||
:rtype: str
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def create_ldap_user(username, uid, gid, gecos, homedir, shell, password):
|
||||
"""
|
||||
This task creates an :py:class:`LDAP user <ldapentities.models.LdapUser>`
|
||||
if it does not exist yet.
|
||||
|
||||
The task is rejected if the primary group of the user is not defined.
|
||||
|
||||
The user's fields are updated if the user already exists.
|
||||
|
||||
:param str username: the user name
|
||||
:param int uid: the user id
|
||||
:param int gid: the user's primary group's id
|
||||
:param str gecos: the text for the GECOS field
|
||||
:param str homedir: the user's home directory
|
||||
:param str shell: the user's login shell
|
||||
:param str or None password: the clear text password, if :py:const:`None`
|
||||
is passed the password is not touched
|
||||
:raises celery.exceptions.Reject: if the specified primary group does not
|
||||
exist
|
||||
:return: the distinguished name of the user
|
||||
:rtype: str
|
||||
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def add_ldap_user_to_group(username, groupname):
|
||||
"""
|
||||
This task adds the specified user to the given group.
|
||||
|
||||
This task does nothing if the user is already member of the group.
|
||||
|
||||
:param str username: the user name
|
||||
:param str groupname: the group name
|
||||
:raises celery.exceptions.Retry: if the user does not exist yet,
|
||||
:py:func:`create_ldap_user` should be called before
|
||||
:return: True if the user has been added to the group otherwise False
|
||||
:rtype: boolean
|
||||
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def remove_ldap_user_from_group(username, groupname):
|
||||
"""
|
||||
This task removes the given user from the given group.
|
||||
|
||||
:param str username: the user name
|
||||
:param str groupname: the group name
|
||||
:return: True if the user has been removed, False otherwise
|
||||
:rtype: boolean
|
||||
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def delete_ldap_user(username):
|
||||
"""
|
||||
This task deletes the given user.
|
||||
|
||||
:param str username: the user name
|
||||
:return: True if the user has been deleted, False otherwise
|
||||
:rtype: boolean
|
||||
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def delete_ldap_group_if_empty(groupname):
|
||||
"""
|
||||
This task deletes the given group if it is empty.
|
||||
|
||||
:param str groupname: the group name
|
||||
:return: True if the user has been deleted, False otherwise
|
||||
:rtype: boolean
|
||||
|
||||
"""
|
||||
|
||||
|
||||
@shared_task
|
||||
def delete_ldap_group(groupname):
|
||||
"""
|
||||
This taks deletes the given group.
|
||||
|
||||
:param str groupname: the group name
|
||||
:return: True if the user has been deleted, False otherwise
|
||||
:rtype: boolean
|
||||
|
||||
"""
|
Loading…
Add table
Add a link
Reference in a new issue