File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed
Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -149,15 +149,26 @@ def edit(self, instance):
149149 current_node = Folder .objects .get (id = current_id )
150150 if current_node is None :
151151 raise serializers .ValidationError (_ ('Folder does not exist' ))
152+ # 模块间的移动
153+ parent_id = instance .get ('parent_id' )
154+ if parent_id is None :
155+ parent_id = current_node .parent_id
156+ # 如果要修改文件夹名称,检查同级目录下是否存在同名文件夹
157+ new_name = instance .get ('name' )
158+ if new_name is not None and new_name != current_node .name :
159+ if QuerySet (Folder ).filter (
160+ name = new_name ,
161+ parent_id = parent_id ,
162+ workspace_id = current_node .workspace_id
163+ ).exclude (id = current_id ).exists ():
164+ raise serializers .ValidationError (_ ('Folder name already exists' ))
152165
153166 edit_field_list = ['name' , 'desc' ]
154167 edit_dict = {field : instance .get (field ) for field in edit_field_list if (
155168 field in instance and instance .get (field ) is not None )}
156169
157170 QuerySet (Folder ).filter (id = current_id ).update (** edit_dict )
158171
159- # 模块间的移动
160- parent_id = instance .get ('parent_id' )
161172 if parent_id is not None and current_id != current_node .workspace_id and current_node .parent_id != parent_id :
162173 # Folder 不能超过3层
163174 current_depth = get_max_depth (current_node )
You can’t perform that action at this time.
0 commit comments