Open yufuxiao opened 2 years ago
不是这里,是 itsm.role.models.UserRole.get_users_by_type , 参考这个方法的实现哈。
如果说我只增加一个部门领导这个处理人的话,简单的方法是不是可以使用组织架构,我在用户管理里面新建组织就叫部门领导, 这种方案是否可行
完全没毛病
用户组也可以实现
这种方式的话可以实现吗
这种方式是不是后端改动很大,函数太多了,调来调去的 看的晕
只是为了加处理人不太建议,改动其实也不大,不过没有必要
看实际场景
这边是有这个需求,能否提供一个支持
2573179560 加我一下
那就按照我的指引改 itsm.role.models.UserRole.get_users_by_type 代码就好
def get_users_by_type(cls, bk_biz_id, user_type, users, ticket=None):
"""
通过角色类型获取人名,返回人名列表
"""
if user_type == "STARTER":
return [ticket.creator] if ticket else []
if user_type == "ORGANIZATION":
return get_department_users(users, recursive=True)
if user_type == "STARTER_LEADER":
# 获取到当前提单人的leader
return get_user_leader(users)
# 新加的
if user_type == "DEPARTMENT_LEADER":
# 获取到当前提单人的部门 leader
return get_user_department_leader(users)
用户管理那边还要配置那个部门领导人字段吧, 应该是要先获取提单人部门信息,然后根据部门信息获取部门领导
参考实现 获取提单人的leader
获取提单人的 leader 不一定是部门领导,现在是要获取部门领导
你确定在这里面改就好? itsm.role.models.UserRole.get_users_by_type
不一定是部门领导,现在是要获取部门领导 这个要看用户管理支不支持的。我们只拉他的接口。
我可以加部门领导人这个字段,打比方说是 department, 拿这个字段,然后当处理人
你说是这个里面修改: itsm.role.models.UserRole.get_users_by_type 我觉得对 但感觉这里也要修改:
刚接触这个产品 不太知道全流程怎么跑的 ,里面还有一个编排引擎 也很复杂
是的,但是整体改的地方不算多的
帮忙整理一下
后端目前只定位到这里: itsm\ticket\views\ticket.py create 346 行 itsm\ticket\views\ticket.py do_after_create 364 行 itsm\ticket\models\ticket.py do_after_create 3813 itsm\ticket\models\ticket.py do_before_enter_state 3832 itsm\ticket\models\ticket.py self.update_state_before_enter 3474
版本:2.6.1.386
大概猜测是在这个位置:
里面业务不太熟悉,还请指教,加我 qq 交流:2573179560