Example #1
0
    def get_manager(self, user_id):
        '''
        获取运营员员的详细信息。包括其管理了几个公司,在每个公司的角色。
        :return:
        '''
        result = {
            'result': False,
        }

        token_info = self.get_token()
        # 日志
        self.log_user_action(token_info.get("uuid"), "get_manager", user_id)

        if (token_info is not None):
            syndicate_uuid = token_info.get("syndicate_uuid")

            #获取当前集团的所有公司
            com_db = CompanyDao(session=self.session)
            company_list = com_db.get_companys(syndicate_uuid)
            cmpy_dict = {
                com_item['uuid']: com_item['name']
                for com_item in company_list
            }

            company_ids = cmpy_dict.keys()

            #获取此运营员所管理的公司及在每个公司的角色。
            user_conf_db = UserConfDao(session=self.session)

            cmpy_role_dict = user_conf_db.get_manager_companies(
                user_id, company_ids
            )  #{company_id2:[role_1,role_2],company_id2:[role_2]}

            #获取这些运营员的信息。
            user_db = UserDao(session=self.session)
            result = user_db.user(user_id, Users.ROLE_MANAGER)

            result['user_id'] = str(user_id)
            result["roles"] = cmpy_role_dict
            result["result"] = True

            del result['role']

        else:
            result = {'result': False, 'msg': err_msgs['No_AUTHENTICATION']}
            self.set_status(400)
        return result
Example #2
0
                'result': False,
                'msg': err_msgs['TEL_NAME_NOT_MATCH'],
                'name': user_name
            }
            self.set_status(400)
            return result

        company_roles = []
        try:
            for role in roles:
                usr_rle_db.insert_role(user_id=usr_id,
                                       company_uuid=company_uuid,
                                       role=role,
                                       role_type=UserConf.TYPE_ROLE_MGR)

            company_roles = usr_rle_db.get_manager_companies(usr_id)
        except Exception, e:
            self.logger.error(traceback.format_exc())

        # 通知该用户,其已经发生变化。
        redis = RedisBase()
        redis.user_change(usr_id, CODE_USER_MODIFIED, Users.ROLE_MANAGER)
        # 日志
        self.log_user_action(self.get_token().get("uuid"), "add_manager",
                             usr_id)

        result = {
            'result': True,
            'user_id': str(usr_id),
            'user_name': user_name,
            'telephone': telephone,