Server IP : 85.214.239.14 / Your IP : 18.117.151.127 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/task/3/cwd/srv/modoboa/env/lib/python3.5/site-packages/modoboa/ldapsync/ |
Upload File : |
"""LDAP sync related handlers.""" from django.db.models import signals from django.dispatch import receiver from modoboa.core import models as core_models from modoboa.parameters import tools as param_tools from . import lib @receiver(signals.post_save, sender=core_models.User) def sync_ldap_account(sender, instance, created, **kwargs): """Create/modify a new LDAP account if needed.""" config = dict(param_tools.get_global_parameters("core")) if not config["ldap_enable_sync"]: return if created: return if instance.role != "SimpleUsers": return update_fields = kwargs.get("update_fields") if update_fields and "last_login" in update_fields: return lib.update_ldap_account(instance, config) @receiver(signals.pre_delete, sender=core_models.User) def delete_ldap_account(sender, instance, **kwargs): """Delete LDAP account if needed.""" config = dict(param_tools.get_global_parameters("core")) if not config["ldap_enable_sync"]: return if instance.role != "SimpleUsers": return lib.delete_ldap_account(instance, config)