@@ -62,6 +62,11 @@ def has_change_permission(self, request, obj=None) -> bool:
6262 def has_delete_permission (self , request , obj = None ) -> bool :
6363 return self .check_object_permissions (request )
6464
65+ def is_valid (self , form , file_obj ) -> bool :
66+ if form .is_valid () and file_obj .is_valid ():
67+ return True
68+ return False
69+
6570 def get_model (self ):
6671 return self .form_class .Meta .model
6772
@@ -97,18 +102,7 @@ def post(self, request, *args, **kwargs):
97102 def delete (self , request , * args , ** kwargs ):
98103 """Override DELETE method from View."""
99104
100- form , file_obj = self ._get_form_file (request , * args , ** kwargs )
101- if self .has_delete_permission (request ):
102- instance = self .get_instance ()
103- if instance and (
104- self .request .user .is_superuser or self .request .user == instance .user
105- ):
106- self ._delete (instance )
107- file_obj .message = _ ("The file deleted successfully." )
108- return self .ajax_response (None , file_obj , status = 200 , save = False )
109-
110- file_obj .message = _ ("Permission denied." )
111- return self .ajax_response (None , file_obj , status = 400 , save = False )
105+ return self ._delete (request , * args , ** kwargs )
112106
113107 def _get (self , request , * args , ** kwargs ):
114108 if self .has_view_permission (request ):
@@ -117,11 +111,7 @@ def _get(self, request, *args, **kwargs):
117111
118112 def _post (self , request , * args , ** kwargs ):
119113 form , file_obj = self ._get_form_file (request , * args , ** kwargs )
120- if (
121- self .has_add_permission (self .request )
122- and file_obj .is_valid ()
123- and form .is_valid ()
124- ):
114+ if self .has_add_permission (self .request ) and self .is_valid (form , file_obj ):
125115 instance = self .get_instance ()
126116 return self .chunked_upload (instance , form , file_obj )
127117
@@ -130,7 +120,7 @@ def _post(self, request, *args, **kwargs):
130120
131121 def _update (self , request , * args , ** kwargs ):
132122 form , file_obj = self ._get_form_file (request , * args , ** kwargs )
133- if self .has_change_permission (self .request ):
123+ if self .has_change_permission (self .request ) and self . is_valid ( form , file_obj ) :
134124 instance = self .get_instance ()
135125 if instance :
136126 if self .remove_file_on_update :
@@ -145,10 +135,20 @@ def _update(self, request, *args, **kwargs):
145135 file_obj .message = _ ("Permission denied." )
146136 return self .ajax_response (None , file_obj , status = 400 , save = False )
147137
148- def _delete (self , instance ):
149- if instance :
150- instance .file .delete ()
151- instance .delete ()
138+ def _delete (self , request , * args , ** kwargs ):
139+ form , file_obj = self ._get_form_file (request , * args , ** kwargs )
140+ if self .has_delete_permission (request ):
141+ instance = self .get_instance ()
142+ if instance and (
143+ self .request .user .is_superuser or self .request .user == instance .user
144+ ):
145+ instance .file .delete ()
146+ instance .delete ()
147+ file_obj .message = _ ("The file deleted successfully." )
148+ return self .ajax_response (None , file_obj , status = 200 , save = False )
149+
150+ file_obj .message = _ ("Permission denied." )
151+ return self .ajax_response (None , file_obj , status = 400 , save = False )
152152
153153 def _get_form_file (
154154 self , request , * args , ** kwargs
0 commit comments