예제 #1
0
    def post(self, *args, **kwargs):
        try:
            role_model = Role()
            power_ids = self.get_args("power_ids")
            role_id = self.get_args("role_id")
            if is_empty(role_id):
                self.send_fail_json(reason="role_id不能为空")
                return

            # 更新角色权限
            up_res = role_model.update(where={"id": role_id},
                                       data={"power_ids": power_ids})
            if not up_res:
                # 更新失败
                self.send_fail_json(reason="更新失败")
                return

            write_log("'{}'修改了角色(ID为:{})权限".format(self.user["id"], role_id),
                      LOG_TYPE_OPERATE)
            self.send_ok_json("")
        except Exception as ex:
            write_log("{}.{} raise exception, ex={}".format(
                self.__class__.__name__,
                sys._getframe().f_code.co_name, repr(ex)))
            self.send_fail_json("系统错误,稍会儿再试")
예제 #2
0
    def _handler_result_data(self, data, **kwargs):
        data = super()._handler_result_data(data)
        role_name = {role.id: role.name for role in Role().get_all()}
        for td in data:
            td["user_type_label"] = role_name.get(td['role_id'], "未知")
            td["gender_label"] = USER_GENDER_LABELS.get(td["gender"], "未知")

        return data
예제 #3
0
    def get(self, *args, **kwargs):
        role_model = Role()
        power_model = Power()
        role_no_power = list()
        role_power = list()

        role_id = self.get_args("id")
        if is_empty(role_id):
            self.send_fail_html(reason="role_id不能为空")
            return

        # 获取角色所拥有的权限id列表
        role = role_model.get_one8id(role_id)
        if role and role.types == ROLE_TYPE_SP_ADMIN:
            # 是超管,无法为其分配权限
            self.render("system/role-power.html",
                        role_no_power=role_no_power,
                        role_power=role_power,
                        role=role,
                        sp_admin=ROLE_TYPE_SP_ADMIN)
            return
        if not role.power_ids:
            role_power_ids = []
        else:
            role_power_ids = role.power_ids.split(",")

        # 获取所有权限
        powers = power_model.get_all()
        if not powers:
            # 无数据
            self.send_fail_html("无权限")

        for item in powers:
            if str(item.id) in role_power_ids:
                role_power.append(item)
            else:
                role_no_power.append(item)
        self.render("system/role-power.html",
                    role_no_power=role_no_power,
                    role_power=role_power,
                    role=role,
                    sp_admin=ROLE_TYPE_SP_ADMIN)
예제 #4
0
 def get(self, *args, **kwargs):
     """
     加载添加用户表单页
     :param args:
     :param kwargs:
     :return:
     """
     roles = Role().get_all()
     self.render("system/user-add.html",
                 one="",
                 roles=roles,
                 user_init_pwd=settings.PLATFORM_USER_INITIAL_PWD)
예제 #5
0
    def post(self, *args, **kwargs):
        """
        执行修改角色
        :param args:
        :param kwargs:
        :return:
        """
        try:
            role_id = self.get_args("role_id")
            if is_empty(role_id):
                # role_id不能为空不能为空
                self.send_fail_json("role_id不能为空")
                return

            name = self.get_args("name")
            if is_empty(name):
                # 角色名称不能为空
                self.send_fail_json("角色名称不能为空")
                return

            types = self.get_args("types")
            if is_empty(types):
                # 角色类型不能为空
                self.send_fail_json("角色类型不能为空")
                return

            data = dict(
                name=name,
                types=types,
                update_time=datetime.now(),
            )
            comments = self.get_args("comments")
            if comments:
                data["comments"] = comments

            res = Role().update(where={"id": role_id}, data=data)
            if not res:
                self.send_fail_json("更新失败")
                return

            write_log("'{}'修改了一个角色,角色名称为:{}".format(self.user["id"], name),
                      LOG_TYPE_OPERATE)
            self.send_ok_json("")
        except Exception as ex:
            write_log("{}.{} raise exception, ex={}".format(
                self.__class__.__name__,
                sys._getframe().f_code.co_name, repr(ex)))
            self.send_fail_json("系统错误,稍会儿再试")
예제 #6
0
    def get(self, *args, **kwargs):
        try:
            role_id = self.get_args("id", "")
            if not role_id:
                self.send_fail_json("id不能为空")

            res = Role().delete(where={"id": role_id})
            if not res:
                self.send_fail_json("删除失败")
                return

            write_log("'{}'删除了角色(ID为:{})".format(self.user["id"], role_id),
                      LOG_TYPE_OPERATE)
            self.send_ok_json("")
        except Exception as ex:
            write_log("{}.{} raise exception, ex={}".format(
                self.__class__.__name__,
                sys._getframe().f_code.co_name, repr(ex)))
            self.send_fail_json("系统错误,稍会儿再试")
예제 #7
0
    def get(self, *args, **kwargs):
        """
        加载修改角色表单页
        :param args:
        :param kwargs:
        :return:
        """
        role_id = self.get_args("id")
        if is_empty(role_id):
            self.send_fail_html(reason="role_id不能为空")
            return

        role = Role().get_one8id(role_id)
        if not role:
            self.send_fail_html(reason="加载失败")
            return
        self.render("system/role-add.html",
                    one=role,
                    role_types=ROLE_TYPE_LABELS)
예제 #8
0
    def get(self, *args, **kwargs):
        """
        加载修改用户表单页
        :param args:
        :param kwargs:
        :return:
        """
        # 获取用户
        user_id = self.get_args("id", "")
        if is_empty(user_id):
            self.send_fail_json("用户id不能为空")
            return
        user = SysUser().get_one8id(user_id)

        # 获取角色
        roles = Role().get_all()

        self.render("system/user-add.html",
                    one=user,
                    roles=roles,
                    user_init_pwd=settings.PLATFORM_USER_INITIAL_PWD)
예제 #9
0
 def get(self, *args, **kwargs):
     self._do_request(roles=Role().get_all())