HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/lve_utils/hooks/sync_map_hook.py
#!/usr/bin/python
# coding=utf-8
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

from __future__ import absolute_import
from clcommon.cpapi import panel_hooks_lib
from clcommon.public_hooks.lib import ModifyUserHook


class SyncMapHook(ModifyUserHook):
    """
    Synchronize kernel lve<=>lvp mapping
    with control panel.
    """

    def post_create_user(self, username, owner, **kwargs):
        panel_hooks_lib.call_sync_map()

    def post_delete_user(self, username, **kwargs):
        panel_hooks_lib.call_sync_map()

    def post_modify_user(self, username, new_name=None, new_owner=None, **kwargs):
        if new_owner is not None:
            self._post_transit_user(username or new_name, new_owner)

    def _post_transit_user(self, username, new_owner, **kwargs):
        panel_hooks_lib.call_sync_map()