Browse Source

suhh-部门增加parent_dept_id、知识库编辑权限bug

‘suhuihui’ 2 months ago
parent
commit
b05eb959bd

+ 1 - 1
api/controllers/console/datasets/datasets_permissions.py

@@ -78,7 +78,7 @@ class DatasetPermissionListApi(Resource):
         if not isinstance(read_permission_list, list):
             return jsonify({"error": "'read_permission' should be a list"}), 400
         # 更新知识库的编辑权限
-        DatasetService.update_dataset_edit_auth(dataset_id, edit_auth)
+        DatasetService.update_dataset_edit_auth(dataset_id, edit_auth, current_user)
         # 更新知识库的编辑、可见授权
         DatasetService.update_dataset_edit_and_read_permission(
             dataset_id, current_user, edit_permission_list, read_permission_list

+ 1 - 1
api/models/dataset.py

@@ -1374,7 +1374,7 @@ class DatasetPermissionAll(db.Model):  # type: ignore[name-defined]
     has_edit_permission = db.Column(db.Boolean, nullable=False, server_default=db.text("true"))
     has_read_permission = db.Column(db.Boolean, nullable=False, server_default=db.text("true"))
     created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())
-    created_by = created_by = db.Column(StringUUID, nullable=False)
+    created_by = db.Column(StringUUID, nullable=False)
     updated_by = db.Column(StringUUID, nullable=True)
     updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp())
     email = db.Column(db.String(255), nullable=False)

+ 4 - 6
api/services/dataset_service.py

@@ -316,17 +316,15 @@ class DatasetService:
         return read_permission_list
 
     @staticmethod
-    def update_dataset_edit_auth(dataset_id, edit_auth):
+    def update_dataset_edit_auth(dataset_id, edit_auth, user):
         dataset = DatasetService.get_dataset(dataset_id)
         if not dataset:
             raise ValueError("Dataset not found")
 
         if dataset.edit_auth != edit_auth:
-            filtered_data["updated_by"] = user.id
-            filtered_data["updated_at"] = datetime.datetime.now()
-            filtered_data["edit_auth"] = edit_auth
-
-            dataset.query.filter_by(id=dataset_id).update(filtered_data)
+            dataset.query.filter_by(id=dataset_id).update(
+                {"edit_auth": edit_auth, "updated_by": user.id, "updated_at": datetime.datetime.now()}
+            )
             db.session.commit()
             # if action:
             # deal_dataset_vector_index_task.delay(dataset_id, action)

+ 7 - 1
api/services/dept_service.py

@@ -55,7 +55,13 @@ class DeptService:
                 .all()
             )
             for children_dept in children_depts:
-                children_dept_list.append({"dept_id": children_dept.dept_id, "dept_name": children_dept.dept_name})
+                children_dept_list.append(
+                    {
+                        "dept_id": children_dept.dept_id,
+                        "dept_name": children_dept.dept_name,
+                        "parent_dept_id": children_dept.parent_dept_id,
+                    }
+                )
             dept_list.append(
                 {
                     "parent_dept_id": "",