#!/usr/bin/python
#-*- coding: utf-8 -*-

# Copyright 2008-2010 Mir Calculate. http://www.calculate-linux.org
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

import sys
import os
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-lib/pym'))
sys.path.insert(0,os.path.abspath('/usr/lib/calculate/calculate-server/pym'))
import cl_base
tr = cl_base.lang()
tr.setGlobalDomain('cl_server')
tr.setLanguage(sys.modules[__name__])
import cl_ldap


if __name__ == "__main__":
    ldapObj = cl_ldap.cl_ldap("cl-usermod")
    optObj = cl_ldap.tsOpt(ldapObj,['user'],True,True)
    flagError = False
    if not optObj.flagHelp and 'service' in optObj.params and\
        'user' in optObj.params:
        flagError = True
        if optObj.params['service'] == "unix":
            obj = cl_ldap.servUnix()
            # Модифицируем LDAP пользователя
            if obj.modUserUnixServer(optObj.params['user'], optObj.opt):
                flagError = False
        elif optObj.params['service'] == "samba":
            obj = cl_ldap.servSamba()
            # Модифицируем Samba пользователя
            if obj.modUserSambaServer(optObj.params['user'], optObj.opt):
                flagError = False
        elif optObj.params['service'] == "mail":
            obj = cl_ldap.servMail()
            # Модифицируем Mail пользователя
            if obj.modUserMailServer(optObj.params['user'], optObj.opt):
                flagError = False
        elif optObj.params['service'] == "jabber":
            obj = cl_ldap.servJabber()
            # Модифицируем Jabber пользователя
            if obj.modUserJabberServer(optObj.params['user'], optObj.opt):
                flagError = False
        elif optObj.params['service'] == "ftp":
            obj = cl_ldap.servFtp()
            # Модифицируем FTP пользователя
            if obj.modUserFtpServer(optObj.params['user'], optObj.opt):
                flagError = False
        elif optObj.params['service'] == "proxy":
            obj = cl_ldap.servProxy()
            # Модифицируем Proxy пользователя
            if obj.modUserProxyServer(optObj.params['user'], optObj.opt):
                flagError = False
    if flagError:
        sys.exit(1)
    else:
        sys.exit(0)
