|
@@ -245,20 +245,25 @@ class StoreTreeView(APIView):
|
|
|
|
|
|
@permission_required('account.manager_store')
|
|
@permission_required('account.manager_store')
|
|
def get(self, request):
|
|
def get(self, request):
|
|
|
|
+ id = request.GET.get('id')
|
|
store_data = []
|
|
store_data = []
|
|
|
|
|
|
- # 查询当前用户的代理商和管理的门店
|
|
|
|
|
|
+ # 查询用户的代理商和管理的门店
|
|
|
|
+ user = User.objects.filter(id=id).first()
|
|
general_agents = GeneralAgent.objects.filter()
|
|
general_agents = GeneralAgent.objects.filter()
|
|
agents = Agent.objects.filter()
|
|
agents = Agent.objects.filter()
|
|
stores = Store.objects.filter()
|
|
stores = Store.objects.filter()
|
|
- if not request.user.is_superuser:
|
|
|
|
- general_agents = GeneralAgent.objects.filter(id=request.user.general_agent_id)
|
|
|
|
- if request.user.agent:
|
|
|
|
- agents = Agent.objects.filter(id=request.user.agent_id,
|
|
|
|
- general_agent_id=request.user.general_agent_id)
|
|
|
|
- if request.user.store:
|
|
|
|
- stores = Store.objects.filter(id=request.user.store_id, enable=True)
|
|
|
|
-
|
|
|
|
|
|
+ manage_user = ManageStoreUser.objects.filter(manage_user_id=user.id)
|
|
|
|
+ if not user.is_superuser:
|
|
|
|
+ general_agents = GeneralAgent.objects.filter(id=user.general_agent_id)
|
|
|
|
+ if user.agent:
|
|
|
|
+ agents = Agent.objects.filter(id=user.agent_id,
|
|
|
|
+ general_agent_id=user.general_agent_id)
|
|
|
|
+ if user.store:
|
|
|
|
+ if not manage_user:
|
|
|
|
+ raise CustomError(u'无门店管理权限!')
|
|
|
|
+ stores = Store.objects.filter(id=user.store_id, id__in=user.get_manager_range(),
|
|
|
|
+ check_user__isnull=False, enable=True)
|
|
general_agents = general_agents.values('id', 'name')
|
|
general_agents = general_agents.values('id', 'name')
|
|
for general_agent in general_agents:
|
|
for general_agent in general_agents:
|
|
general_agent_item = {
|
|
general_agent_item = {
|
|
@@ -267,7 +272,7 @@ class StoreTreeView(APIView):
|
|
'field': 'general_agent',
|
|
'field': 'general_agent',
|
|
'children': [],
|
|
'children': [],
|
|
}
|
|
}
|
|
- if not request.user.agent:
|
|
|
|
|
|
+ if not user.agent:
|
|
agents = Agent.objects.filter(general_agent_id=general_agent['id'])
|
|
agents = Agent.objects.filter(general_agent_id=general_agent['id'])
|
|
agents = agents.values('id', 'name')
|
|
agents = agents.values('id', 'name')
|
|
for agent in agents:
|
|
for agent in agents:
|
|
@@ -278,15 +283,19 @@ class StoreTreeView(APIView):
|
|
'children': [],
|
|
'children': [],
|
|
}
|
|
}
|
|
general_agent_item['children'].append(agent_item)
|
|
general_agent_item['children'].append(agent_item)
|
|
- if not request.user.store:
|
|
|
|
- stores = Store.objects.filter(agent_id=agent['id'], enable=True)
|
|
|
|
|
|
+ if not user.store:
|
|
|
|
+ stores = Store.objects.filter(agent_id=agent['id'], check_user__isnull=False, enable=True)
|
|
stores = stores.values('id', 'name')
|
|
stores = stores.values('id', 'name')
|
|
for store in stores:
|
|
for store in stores:
|
|
|
|
+ manage_store = ManageStoreUser.objects.filter(manage_user_id=id, store_id=store['id']).first()
|
|
|
|
+ checked = manage_store and True or False
|
|
store_item = {
|
|
store_item = {
|
|
'title': store['name'],
|
|
'title': store['name'],
|
|
'id': store['id'],
|
|
'id': store['id'],
|
|
|
|
+ 'checked': checked,
|
|
'field': 'store_{}'.format(store['id']),
|
|
'field': 'store_{}'.format(store['id']),
|
|
}
|
|
}
|
|
|
|
+ agent_item['checked'] = checked
|
|
agent_item['children'].append(store_item)
|
|
agent_item['children'].append(store_item)
|
|
store_data.append(general_agent_item)
|
|
store_data.append(general_agent_item)
|
|
|
|
|