工单过滤字段支持反向查询
This commit is contained in:
parent
5a3c380dff
commit
215b18314c
|
|
@ -172,7 +172,14 @@ class WfService(object):
|
||||||
if state.filter_dept not in [0, '0', None]:
|
if state.filter_dept not in [0, '0', None]:
|
||||||
# if not new_ticket_data.get(state.filter_dept, None):
|
# if not new_ticket_data.get(state.filter_dept, None):
|
||||||
# raise ParseError('部门过滤字段错误')
|
# raise ParseError('部门过滤字段错误')
|
||||||
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
|
if '.' not in state.filter_dept:
|
||||||
|
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
|
||||||
|
else:
|
||||||
|
dpt_attrs = state.filter_dept.split('.') # 通过反向查询得到可能有多层
|
||||||
|
expr = ticket
|
||||||
|
for i in dpt_attrs:
|
||||||
|
expr = getattr(expr, i)
|
||||||
|
dpts = Dept.objects.filter(id=expr.id)
|
||||||
user_queryset = user_queryset.filter(depts__in=dpts)
|
user_queryset = user_queryset.filter(depts__in=dpts)
|
||||||
# if state.filter_policy == 1:
|
# if state.filter_policy == 1:
|
||||||
# depts = get_parent_queryset(ticket.belong_dept)
|
# depts = get_parent_queryset(ticket.belong_dept)
|
||||||
|
|
@ -190,7 +197,14 @@ class WfService(object):
|
||||||
if state.filter_dept not in [0, '0', None]:
|
if state.filter_dept not in [0, '0', None]:
|
||||||
# if not new_ticket_data.get(state.filter_dept, None):
|
# if not new_ticket_data.get(state.filter_dept, None):
|
||||||
# raise ParseError('部门过滤字段错误')
|
# raise ParseError('部门过滤字段错误')
|
||||||
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
|
if '.' not in state.filter_dept:
|
||||||
|
dpts = Dept.objects.filter(id=new_ticket_data[state.filter_dept])
|
||||||
|
else:
|
||||||
|
dpt_attrs = state.filter_dept.split('.')
|
||||||
|
expr = ticket
|
||||||
|
for i in dpt_attrs:
|
||||||
|
expr = getattr(expr, i)
|
||||||
|
dpts = Dept.objects.filter(id=expr.id)
|
||||||
user_queryset = user_queryset.filter(depts__in=dpts)
|
user_queryset = user_queryset.filter(depts__in=dpts)
|
||||||
# if state.filter_policy == 1:
|
# if state.filter_policy == 1:
|
||||||
# depts = get_parent_queryset(ticket.belong_dept)
|
# depts = get_parent_queryset(ticket.belong_dept)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue