diff --git a/app/user_db_func.py b/app/user_db_func.py index 9ab3455..3d4d75f 100644 --- a/app/user_db_func.py +++ b/app/user_db_func.py @@ -57,6 +57,14 @@ class UserDbHelper(TableDbHelperBase): :param userno: :return: [str] """ + user_info_sql = "select role from `user` where userno='%s'" % (userno) + user_info = self.do_select(user_info_sql) + if not user_info: + return [] + role = user_info[0]['role'] + if role == 'manager': + area_infos = self.query_all_area_infos() + return list(area_infos.keys()) sql_query = "select area_id from `area_user` where userno='%s';" % (userno) res = self.do_select(sql_query) if len(res) < 1: diff --git a/app/user_worker.py b/app/user_worker.py index a19d5d5..0b73446 100644 --- a/app/user_worker.py +++ b/app/user_worker.py @@ -84,10 +84,14 @@ def do_get_user_info(params, token): if user is not None: user_t = {'userno': user['userno'], 'user_name': user['user_name'], 'role': user['role'], 'department': user['department']} - user_area_ids = db_user.query_areaid_list(user['userno']) - user_area_info = [] - for area_id in user_area_ids: - user_area_info.append(all_area_info[int(area_id)]) + if user['role'] == 'manager': + all_areas = db_user.query_all_area_infos() + user_area_info = list(all_areas.keys()) + else: + user_area_ids = db_user.query_areaid_list(user['userno']) + user_area_info = [] + for area_id in user_area_ids: + user_area_info.append(all_area_info[int(area_id)]) res = make_common_res(0, 'ok') res['data'] = user_area_info res['token'] = user_t