Browse Source

walle 2.0.1 - 上线单增加「我的」上线任务过滤

walle 6 years ago
parent
commit
313fc6ab99
2 changed files with 10 additions and 2 deletions
  1. 6 1
      walle/api/task.py
  2. 4 1
      walle/model/task.py

+ 6 - 1
walle/api/task.py

@@ -39,7 +39,12 @@ class TaskAPI(SecurityResource):
         size = int(request.args.get('size', 10))
         kw = request.values.get('kw', '')
 
-        task_list, count = TaskModel().list(page=page, size=size, kw=kw, space_id=self.space_id)
+        user_id = request.values.get('user_id', '')
+        # TODO 将来更多的权限模式下,高级权限下可以选择多个用户user_id,用英文逗号分割
+        if int(user_id) != current_user.id and permission.role_upper_master():
+            user_id = None
+
+        task_list, count = TaskModel().list(page=page, size=size, kw=kw, space_id=self.space_id, user_id=user_id)
         return self.list_json(list=task_list, count=count, enable_create=permission.role_upper_reporter() and current_user.role != SUPER)
 
     def item(self, task_id):

+ 4 - 1
walle/model/task.py

@@ -73,7 +73,7 @@ class TaskModel(SurrogatePK, Model):
     #     return dict(project_info, **self.taskMdl)
     #
 
-    def list(self, page=0, size=10, space_id=None, kw=None):
+    def list(self, page=0, size=10, space_id=None, user_id=None, kw=None):
         """
         获取分页列表
         :param page:
@@ -99,6 +99,9 @@ class TaskModel(SurrogatePK, Model):
         if space_id:
             query = query.filter(ProjectModel.space_id == space_id)
 
+        if user_id:
+            query = query.filter(TaskModel.user_id == user_id)
+
         query = query.add_columns(ProjectModel.name, EnvironmentModel.name, ProjectModel.keep_version_num)
         count = query.count()