Exemplo n.º 1
0
    def delUser(self, user_ids, comment, del_connections, del_audit_logs,
                admin_name, remote_address):
        """
            delete users with ids in user_ids
            comment: comment when deleting users
            del_connection tells if we should delete user(s) connection logs too
        """
        self.__delUserCheckInput(user_ids, comment, del_connections,
                                 del_audit_logs, admin_name, remote_address)
        admin_obj = admin_main.getLoader().getAdminByName(admin_name)
        map(lambda user_id: user_main.getUserPool().addToBlackList, user_ids)
        try:
            loaded_users = self.getLoadedUsersByUserID(user_ids)
            total_credit = self.__delUserCheckUsers(loaded_users)
            admin_deposit = total_credit * -1
            ibs_query = IBSQuery()
            ibs_query += user_main.getCreditChangeLogActions(
            ).logCreditChangeQuery("DEL_USER", admin_obj.getAdminID(),
                                   user_ids, 0, admin_deposit, remote_address,
                                   comment)
            ibs_query += admin_main.getActionManager().consumeDepositQuery(
                admin_obj.getAdminID(), admin_deposit)
            ibs_query += ias_main.getActionsManager().logEvent(
                "DELETE_USER", admin_name, 0, ",".join(user_ids))

            self.__delUserQuery(ibs_query, user_ids, del_connections,
                                del_audit_logs)
            ibs_query.runQuery()
            admin_obj.consumeDeposit(admin_deposit)
            map(user_main.getUserPool().userChanged, user_ids)
        finally:
            map(lambda user_id: user_main.getUserPool().removeFromBlackList,
                user_ids)

        self.__postDelUser(loaded_users)
Exemplo n.º 2
0
    def voipAuthenticate(self, ras_msg):
        if ras_msg.hasAttr("h323_pre_authentication") or ras_msg.hasAttr(
                "pre_authentication"):
            loaded_user = user_main.getUserPool().getUserByCallerID(
                ras_msg["caller_id"])
        else:
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                ras_msg["voip_username"])

        self.loading_user.loadingStart(loaded_user.getUserID())
        try:
            user_obj = self.getUserObj(loaded_user.getUserID())
            if user_obj != None and not user_obj.isVoIPUser():
                raise GeneralException(
                    errorText("USER_LOGIN", "CANT_USE_MORE_THAN_ONE_SERVICE"))

        finally:
            self.loading_user.loadingEnd(loaded_user.getUserID())

        user_obj = self.__loadUserObj(
            loaded_user, "VoIP")  #always test login on new user_obj,
        #and trash it after test
        ras_msg["no_commit"] = True
        user_obj.login(ras_msg)  #test login

        return True
Exemplo n.º 3
0
    def delUser(self,user_ids,comment,del_connections,admin_name,remote_address):
	"""
	    delete users with ids in user_ids
	    comment: comment when deleting users
	    del_connection tells if we should delete user(s) connection logs too
	"""
	self.__delUserCheckInput(user_ids,comment,del_connections,admin_name,remote_address)
	admin_obj=admin_main.getLoader().getAdminByName(admin_name)
	map(lambda user_id:user_main.getUserPool().addToBlackList,user_ids)
	try:
	    loaded_users=self.getLoadedUsersByUserID(user_ids)
	    total_credit=self.__delUserCheckUsers(loaded_users)
	    admin_deposit=total_credit*-1
	    ibs_query=IBSQuery()
	    ibs_query+=user_main.getCreditChangeLogActions().logCreditChangeQuery("DEL_USER",
									      admin_obj.getAdminID(),
									      user_ids,
									      0,
									      admin_deposit,
									      remote_address,
									      comment)
	    ibs_query+=admin_main.getActionManager().consumeDepositQuery(admin_obj.getAdminID(),admin_deposit)
	    self.__delUserQuery(ibs_query,user_ids,del_connections)
	    ibs_query.runQuery()
	    admin_obj.consumeDeposit(admin_deposit)
	    map(user_main.getUserPool().userChanged,user_ids)
	finally:
	    map(lambda user_id:user_main.getUserPool().removeFromBlackList,user_ids)
Exemplo n.º 4
0
    def applySuccess(self, ras_msg):
        """
            apply error/return codes to successful voip ras message
        """

        if ras_msg.hasAttr("single_session_h323"):
            user_obj = self.__getUserObj(ras_msg)
            if ras_msg.hasAttr("h323_pre_authentication"):
                remaining_credit = user_main.getUserPool().getUserByCallerID(
                    ras_msg["caller_id"]).getBasicUser().getCredit()
                ras_msg.getRasObj().setSingleH323CreditAmount(
                    ras_msg.getReplyPacket(), remaining_credit)

            elif ras_msg.hasAttr("h323_authentication"):
                remaining_credit = user_main.getUserPool(
                ).getUserByVoIPUsername(
                    ras_msg["voip_username"]).getBasicUser().getCredit()
                ras_msg.getRasObj().setSingleH323CreditAmount(
                    ras_msg.getReplyPacket(), remaining_credit)

            elif ras_msg.hasAttr("h323_authorization"):
                remaining_time = user_obj.getTypeObj(
                ).getSingleSessionRemainingTime()
                ras_msg.getRasObj().setSingleH323CreditTime(
                    ras_msg.getReplyPacket(), remaining_time)

            ras_msg.getRasObj().setSingleH323ReturnCode(
                ras_msg.getReplyPacket(), 0)

        return True
Exemplo n.º 5
0
 def __reloadUsers(self, admin_id):
     """
         reload users whom owner is deleted admin
     """
     user_main.getUserPool().reloadUsersWithFilter(
         lambda loaded_user: loaded_user.getBasicUser().getOwnerObj(
         ).getAdminID() == admin_id)
Exemplo n.º 6
0
    def __logoutRecalcEvent(self,user_obj,global_unique_id):
	    if user_obj.instances==0:
		self.__removePrevUserEvent(user_obj.getUserID())
		user_obj.getLoadedUser().setOnlineFlag(False)
		user_main.getUserPool().userChanged(user_obj.getUserID())
		self.__removeFromOnlines(user_obj,global_unique_id)
	    else:
		self.recalcNextUserEvent(user_obj.getUserID(),True)
Exemplo n.º 7
0
    def getLoadedUsersByUserID(self,user_ids):
	"""
	    return a list of LoadedUser instances for users with ids "user_ids"
	"""
	user_ids=map(lambda x:to_int(x,"user id"),user_ids)
	loaded_users=map(user_main.getUserPool().getUserByID,user_ids)
	return loaded_users
Exemplo n.º 8
0
    def __broadcastChange(self,user_ids):
	"""
	    broadcast that users with id in "users" has been change
	    normally user_pool should be told to refresh the user
	"""
	userChanged=user_main.getUserPool().userChanged
	map(userChanged,user_ids)
Exemplo n.º 9
0
 def getLastDestination(self, voip_username):
     """
         return last destination dialed by user or empty string if
         no number was dialed yet
     """
     loaded_user = user_main.getUserPool().getUserByVoIPUsername(
         voip_username)
     ret = db_main.getHandle().selectQuery("""select 
                                 value 
                              from 
                                 connection_log,connection_log_details 
                              where 
                                 connection_log.connection_log_id=connection_log_details.connection_log_id 
                              and 
                                 service=2 
                              and 
                                 user_id=%s
                              and 
                                 name='called_number' 
                              order by 
                                 login_time 
                              limit 1""" % loaded_user.getUserID())
     try:
         return ret[0]["value"]
     except IndexError:
         return ""
Exemplo n.º 10
0
 def getLoadedUsersByVoIPUsername(self, voip_usernames):
     """
         return a list of LoadedUser instances for users with voip_usernames "voip_usernames"
     """
     loaded_users = map(user_main.getUserPool().getUserByVoIPUsername,
                        voip_usernames)
     return loaded_users
Exemplo n.º 11
0
 def getLoadedUsersByNormalUsername(self, normal_usernames):
     """
         return a list of LoadedUser instances for users with normal_usernames "normal_usernames"
     """
     loaded_users = map(user_main.getUserPool().getUserByNormalUsername,
                        normal_usernames)
     return loaded_users
Exemplo n.º 12
0
 def broadcastChange(self, user_ids):
     """
         broadcast that users with id in "users" has been change
         normally user_pool should be told to refresh the user
     """
     userChanged = user_main.getUserPool().userChanged
     map(userChanged, user_ids)
Exemplo n.º 13
0
    def __checkUserID(self, user_id):
        if not isLong(user_id):
            raise GeneralException(
                errorText("USER", "INVALID_USER_ID") % user_id)

        loaded_user = user_main.getUserPool().getUserByID(
            user_id)  #check user id
Exemplo n.º 14
0
def calcNearestExpDate(_id, _type, raw_attrs, parsed_attrs, date_type):
    if _type != "user":
        return

    nearest_exp_date = defs.MAXLONG
    group_obj = user_main.getUserPool().getUserByID(
        _id).getBasicUser().getGroupObj()

    if raw_attrs.has_key("first_login"):
        if raw_attrs.has_key("rel_exp_date"):
            nearest_exp_date = long(raw_attrs["first_login"]) + long(
                raw_attrs["rel_exp_date"])

        elif group_obj.hasAttr("rel_exp_date"):
            nearest_exp_date = long(raw_attrs["first_login"]) + long(
                group_obj.getAttr("rel_exp_date"))

    if raw_attrs.has_key("abs_exp_date"):
        nearest_exp_date = min(nearest_exp_date,
                               long(raw_attrs["abs_exp_date"]))

    elif group_obj.hasAttr("abs_exp_date"):
        nearest_exp_date = min(nearest_exp_date,
                               long(group_obj.getAttr("abs_exp_date")))

    if nearest_exp_date != defs.MAXLONG:
        parsed_attrs["nearest_exp_date"] = AbsDateFromEpoch(
            nearest_exp_date).getDate(date_type)
        parsed_attrs["nearest_exp_date_epoch"] = nearest_exp_date
        parsed_attrs[
            "time_to_nearest_exp_date"] = nearest_exp_date - time.time()
Exemplo n.º 15
0
    def voipAuthorize(self, ras_msg):
        self.__checkDuplicateOnline(ras_msg)

        loaded_user = user_main.getUserPool().getUserByVoIPUsername(
            ras_msg["voip_username"], True)

        self.loading_user.loadingStart(loaded_user.getUserID())
        try:
            user_obj = None
            try:
                user_obj = self.getUserObj(loaded_user.getUserID())

                if user_obj == None:
                    user_obj = self.__loadUserObj(loaded_user, "VoIP")
                elif not user_obj.isVoIPUser():
                    raise GeneralException(
                        errorText("USER_LOGIN",
                                  "CANT_USE_MORE_THAN_ONE_SERVICE"))

                user_obj.login(ras_msg)
                self.__authSuccessfull(user_obj, ras_msg)
            except:
                if user_obj == None or user_obj.instances == 0:
                    loaded_user.setOnlineFlag(False)
                raise
        finally:
            self.loading_user.loadingEnd(loaded_user.getUserID())
Exemplo n.º 16
0
    def persistentLanStop(self, ras_msg):
        loaded_user = user_main.getUserPool().getUserByID(ras_msg["user_id"])
        self.loading_user.loadingStart(loaded_user.getUserID())
        try:
            user_obj = self.getUserObj(loaded_user.getUserID())
            if user_obj == None:
                toLog(
                    "Got persistent lan stop for user %s, but he's not online"
                    % ras_msg["user_id"], LOG_DEBUG)
                return
            instance = user_obj.getInstanceFromRasMsg(ras_msg)
            if instance == None:
                toLog(
                    errorText("USER", "CANT_FIND_INSTANCE") %
                    (loaded_user.getUserID(), ras_msg.getRasID(),
                     ras_msg.getUniqueIDValue()))
                return

            global_unique_id = user_obj.getGlobalUniqueID(instance)
            accounting_started = user_obj.accountingStarted(instance)

            user_credit = user_obj.logout(instance, ras_msg)
            self.__logoutRecalcEvent(user_obj, global_unique_id,
                                     accounting_started)
        finally:
            self.loading_user.loadingEnd(loaded_user.getUserID())
Exemplo n.º 17
0
 def getLoadedUsersByUserID(self, user_ids, keep_order=False):
     """
         return a list of LoadedUser instances for users with ids "user_ids"
     """
     user_ids = map(lambda x: to_int(x, "user id"), user_ids)
     loaded_users = user_main.getUserPool().getUsersByID(
         user_ids, keep_order)
     return loaded_users
Exemplo n.º 18
0
    def _postAuth(self,ras_msg, auth_success):
        Ras._postAuth(self,ras_msg, auth_success)

        if self.__authSuccess(ras_msg, auth_success, "h323_pre_authentication"):
            voip_username = user_main.getUserPool().getUserByCallerID(ras_msg["caller_id"]).getUserAttrs()["voip_username"]
            self.pre_auth_usernames[ ras_msg["h323_conf_id"] ] = voip_username

        elif self.__authSuccess(ras_msg, auth_success, "h323_authorization"):
            self.__addToOnlines(ras_msg["voip_username"], ras_msg["h323_conf_id"])
Exemplo n.º 19
0
    def __logoutRecalcEvent(self, user_obj, global_unique_id,
                            accounting_started):
        """
            accounting_started(bool): is start accounting received for this instance of this user?
        """
        self.__removeFromRasOnlines(global_unique_id)

        if user_obj.instances == 0:
            self.__removeFromUserOnlines(user_obj)
            if accounting_started:
                self.__removePrevUserEvent(user_obj.getUserID())

            user_obj.getLoadedUser().setOnlineFlag(False)
            user_main.getUserPool().userChanged(user_obj.getUserID())

        else:
            if accounting_started:
                self.recalcNextUserEvent(user_obj.getUserID(), True)
Exemplo n.º 20
0
 def getUserCredit(self, request):
     """
         return credit amount of user
         username(str): pin number of user
     """
     self.__checkAsteriskAuth(request)
     request.checkArgs("username")
     loaded_user = user_main.getUserPool().getUserByVoIPUsername(
         request["username"])
     return loaded_user.getBasicUser().getCredit()
Exemplo n.º 21
0
    def checkAuth(self, username, password, auth_type):
        """
            check user authentication, for server requests. return loaded_user of authenticated user
            username(string): username
            password(Password Instance):
            auth_type(string): requested authentication type. Can be either "NORMAL_USER" or "VOIP_USER"
        """
        if auth_type == "NORMAL_USER":
            loaded_user = user_main.getUserPool().getUserByNormalUsername(
                username)
            pass_attr_name = "normal_password"

        elif auth_type == "VOIP_USER":
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                username)
            pass_attr_name = "voip_password"

        self.__checkUserPassword(loaded_user, pass_attr_name, password)

        return loaded_user
Exemplo n.º 22
0
 def getFastDialDestination(self, voip_username, _index):
     """
         return fast dial destination of voip_username and _index
         return an empty string if fast_dial is not set for _index
     """
     loaded_user = user_main.getUserPool().getUserByVoIPUsername(
         voip_username)
     try:
         return loaded_user.getUserAttrs()["fast_dial"].split(",")[_index]
     except:
         return ""
Exemplo n.º 23
0
 def preAuthenticate(self, caller_id, channel, unique_id):
     ras_msg = self.__createRasMsg(channel, unique_id)
     ras_msg["caller_id"] = caller_id
     ras_msg["pre_authentication"] = True
     ras_msg.setAction("VOIP_AUTHENTICATE")
     if ras_msg.send():
         loaded_user = user_main.getUserPool().getUserByCallerID(caller_id)
         return (loaded_user.getUserAttrs()["voip_username"],
                 loaded_user.getBasicUser().getCredit(),
                 self.__getLanguageForUser(loaded_user))
     else:
         raise GeneralException(ras_msg["error_key"])
Exemplo n.º 24
0
    def authenticate(self, username, password, caller_id, channel, unique_id):
        ras_msg = self.__createRasMsg(channel, unique_id)
        ras_msg["caller_id"] = caller_id
        ras_msg["voip_username"] = username
        ras_msg["voip_password"] = password
        ras_msg.setAction("VOIP_AUTHENTICATE")

        if ras_msg.send():
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                username)
            return loaded_user.getBasicUser().getCredit()
        else:
            raise GeneralException(ras_msg["error_key"])
Exemplo n.º 25
0
    def getUsernameReprForUserID(self, user_id):
        """
            return text representation of any available username for user_id
            this function tries to find user_id username and return that in format type:username
            first the normal username and then voip username is tried. If user doesn't have either of these
            N/A is returned
        """
        try:
            loaded_user = user_main.getUserPool().getUserByID(user_id)
        except GeneralException:  #user not found
            return "N/A"

        return self.__getUsernameReprForLoadedUser(loaded_user)
Exemplo n.º 26
0
    def killUser(self,request):
	request.needAuthType(request.ADMIN)
	request.checkArgs("user_id","ras_ip","unique_id_val","kill")
	requester=request.getAuthNameObj()
	user_id=to_int(request["user_id"],"user_id")
	loaded_user=user_main.getUserPool().getUserByID(user_id)
	if request["kill"]:
	    self.__canKillUser(loaded_user,requester)
	else:
	    self.__canClearUser(loaded_user,requester)
	return user_main.getActionManager().killUser(user_id,
						     request["ras_ip"],
						     request["unique_id_val"],
						     request["kill"],requester.getUsername())
Exemplo n.º 27
0
    def _postAuth(self,ras_msg, auth_success):
        GeneralUpdateRas._postAuth(self,ras_msg, auth_success)
	
	if ras_msg.hasAttr("h323_pre_authentication") and auth_success:
	    user_attrs = user_main.getUserPool().getUserByCallerID(ras_msg["caller_id"]).getUserAttrs()

	    username = user_attrs["voip_username"] + user_attrs["voip_password"]
	    ras_msg.getReplyPacket()["Cisco-AVPair"]="h323-ivr-in=%s"%username

	    if user_attrs.hasAttr("voip_preferred_language"):
		self.setH323PreferredLanguage(ras_msg.getReplyPacket(), user_attrs["voip_preferred_language"])

	elif ras_msg.hasAttr("h323_authorization") and auth_success:
	    self.__addToAuthH323IDs(ras_msg["h323_conf_id"])
Exemplo n.º 28
0
    def changePassword(self, request):
        request.needAuthType(request.ADMIN, request.VOIP_USER)

        if request.hasAuthType(request.ADMIN):
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                request["voip_username"])
            request.getAuthNameObj().canChangeVoIPAttrs(loaded_user)
            user_id = loaded_user.getUserID()
        else:
            user_id = request.getAuthNameObj().getUserID()
            self.__checkOldPassword(request.getAuthNameObj(),
                                    request["old_password"])

        getActionsManager().changePassword(user_id, request["password"])
Exemplo n.º 29
0
    def __rrqAuth(self,request,reply):
	"""
	    do the RRQ Auth. We do it by just checking the username and password
	    other checkings will be done in authorization request.
	"""
	try:
	    loaded_user=user_main.getUserPool().getUserByVoIPUsername(request["User-Name"][0])
	except GeneralException:
	    return False

	if not request.checkChapPassword(loaded_user.getUserAttrs()["voip_password"]):
	    return False

	return True
Exemplo n.º 30
0
    def __rrqAuth(self, request, reply):
        """
            do the RRQ Auth. We do it by just checking the username and password
            other checkings will be done in authorization request.
        """
        try:
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                request["User-Name"][0])
        except GeneralException:
            return False

        if not request.checkChapPassword(
                loaded_user.getUserAttrs()["voip_password"]):
            return False

        return True
Exemplo n.º 31
0
    def calcApproxDuration(self, request):
        if request.hasAuthType(request.ADMIN):
            request.checkArgs("user_id")
            loaded_user = user_main.getUserPool().getUserByID(
                request["user_id"])

            admin_obj = request.getAuthNameObj()
            admin_obj.canAccessUser(loaded_user)

        elif request.hasAuthType(request.NORMAL_USER) or request.hasAuthType(
                request.VOIP_USER):
            loaded_user = request.getAuthNameObj()
        else:
            raise request.raiseIncompleteRequest("auth_type")

        return user_main.getActionManager().calcApproxDuration(loaded_user)
Exemplo n.º 32
0
    def lockUser(self, request):
        request.needAuthType(request.ADMIN)
        requester_obj = request.getAuthNameObj()
        requester_obj.canDo("HANDLE IAS EVENTS")
        request.checkArgs("user_id", "reason")

        loaded_user = user_main.getUserPool().getUserByUserID(
            request["user_id"])
        if loaded_user.userHasAttr("lock"):
            lock_reason = "%s, %s" % (loaded_user.getUserAttrs()["lock"],
                                      request["reason"])
        else:
            lock_reason = request["reason"]

        self.updateUserAttrs([loaded_user], requester_obj,
                             {"lock": lock_reason}, [])
Exemplo n.º 33
0
    def addCallerIDAuthentication(self, voip_username, caller_id):
        """
            add caller_id to voip_username list of voip caller_ids
        """
        self.__addCallerIDAuthenticationCheckInput(voip_username, caller_id)
        loaded_user = user_main.getUserPool().getUserByVoIPUsername(
            voip_username)
        if loaded_user.userHasAttr("caller_id"):
            caller_ids = loaded_user.getUserAttrs()["caller_id"]
        else:
            caller_ids = []

        if caller_id not in caller_ids:
            caller_ids.append(caller_id)

        self.updateUserAttrs([loaded_user],
                             admin_main.getLoader().getAdminByName("system"),
                             {"caller_id": ",".join(caller_ids)}, [])
Exemplo n.º 34
0
    def changePassword(self, request):
        request.needAuthType(request.ADMIN, request.NORMAL_USER)

        if request.hasAuthType(request.ADMIN):
            loaded_user = user_main.getUserPool().getUserByNormalUsername(
                request["normal_username"])
            request.getAuthNameObj().canChangeNormalAttrs(loaded_user)
            user_id = loaded_user.getUserID()
        else:
            user_id = request.getAuthNameObj().getUserID()
            self.__checkOldPassword(request.getAuthNameObj(),
                                    request["old_password"])

        password = Password(request["password"])

        self.__changePasswordCheckInput(password)
        self.__updatePasswordDB(user_id, password.getPassword())
        user_main.getActionManager().broadcastChange([user_id])
Exemplo n.º 35
0
    def voipStop(self,ras_msg):
	loaded_user=user_main.getUserPool().getUserByVoIPUsername(ras_msg["voip_username"])
	self.loading_user.loadingStart(loaded_user.getUserID())
	try:
	    user_obj=self.getUserObj(loaded_user.getUserID())
	    if user_obj==None:
		toLog("Got VoIP stop for user %s, but he's not online"%ras_msg["voip_username"],LOG_DEBUG)
	        return
	    instance=user_obj.getInstanceFromRasMsg(ras_msg)
	    if instance==None:
		toLog(errorText("USER","CANT_FIND_INSTANCE")%(loaded_user.getUserID(),ras_msg.getRasID(),ras_msg.getUniqueIDValue()),LOG_DEBUG)
		return

	    global_unique_id=user_obj.getGlobalUniqueID(user_obj.instances)
	    user_obj.logout(instance,ras_msg)
	    self.__logoutRecalcEvent(user_obj,global_unique_id)
	finally:
	    self.loading_user.loadingEnd(loaded_user.getUserID())
Exemplo n.º 36
0
    def authorize(self, username, destination, caller_id, channel, unique_id):
        ras_msg = self.__createRasMsg(channel, unique_id)
        ras_msg["caller_id"] = caller_id
        ras_msg["voip_username"] = username
        ras_msg["calc_remaining_time"] = True
        ras_msg["start_accounting"] = True
        ras_msg["called_number"] = destination
        ras_msg.setAction("VOIP_AUTHORIZE")

        if ras_msg.send():
            loaded_user = user_main.getUserPool().getUserByVoIPUsername(
                username)
            user_obj = user_main.getOnline().getUserObj(
                loaded_user.getUserID())
            return user_obj.getTypeObj().getRemainingTime(
                user_obj.getInstanceFromRasMsg(ras_msg))
        else:
            raise GeneralException(ras_msg["error_key"])
Exemplo n.º 37
0
    def addDestinationToFastDial(self, voip_username, destination, _index):
        """
            add "destination" to fast dial _index of "voip_username"
        """
        self.__addDestinationToFastDialCheckInput(voip_username, destination,
                                                  _index)
        loaded_user = user_main.getUserPool().getUserByVoIPUsername(
            voip_username)
        if loaded_user.userHasAttr("fast_dial"):
            fast_dials = loaded_user.getUserAttrs()["fast_dial"].split(",")
        else:
            fast_dials = ['' for i in range(10)]

        fast_dials[_index] = destination

        user_main.getActionManager().updateUserAttrs(
            [loaded_user],
            admin_main.getLoader().getAdminByName("system"),
            {"fast_dial": fast_dials}, [])
Exemplo n.º 38
0
    def persistentLanAuthenticate(self,ras_msg):
	loaded_user=user_main.getUserPool().getUserByID(ras_msg["user_id"],True)
	self.loading_user.loadingStart(loaded_user.getUserID())
	try:
	    user_obj=None
	    try:
	        user_obj=self.getUserObj(loaded_user.getUserID())
		if user_obj==None:
	    	    user_obj=self.__loadUserObj(loaded_user,"Normal")
		elif not user_obj.isNormalUser():
		    raise GeneralException(errorText("USER_LOGIN","CANT_USE_MORE_THAN_ONE_SERVICE"))
		    
	        user_obj.login(ras_msg)
		self.__authenticateSuccessfull(user_obj,ras_msg)
	    except:
		if user_obj!=None and user_obj.instances==0:
	    	    loaded_user.setOnlineFlag(False)
		raise
	finally:
	    self.loading_user.loadingEnd(loaded_user.getUserID())
Exemplo n.º 39
0
    def getLoadedUsersByVoIPUsername(self,voip_usernames):
	"""
	    return a list of LoadedUser instances for users with voip_usernames "voip_usernames"
	"""
	loaded_users=map(user_main.getUserPool().getUserByVoIPUsername,voip_usernames)
	return loaded_users
Exemplo n.º 40
0
    def getLoadedUsersByNormalUsername(self,normal_usernames):
	"""
	    return a list of LoadedUser instances for users with normal_usernames "normal_usernames"
	"""
	loaded_users=map(user_main.getUserPool().getUserByNormalUsername,normal_usernames)
	return loaded_users
Exemplo n.º 41
0
from core.user import user_main
user_obj=user_main.getUserPool().getUserByID(222)
print user_obj.hasAttr("normal_username")
user_attrs=user_obj.getUserAttrs().getAllAttributes()
for attr in user_attrs: 
	print attr,user_attrs[attr]