@@ -87,7 +87,7 @@ def get_urls(self):
8787 ),
8888 ]
8989 urls .extend (default_urls )
90- for model in InodeModel .file_models :
90+ for model in InodeModel .get_models ( include_proxy = True ) :
9191 if model_admin := self .admin_site ._registry .get (model ):
9292 urls .extend (model_admin .get_menu_extension_urls ())
9393 return urls
@@ -149,7 +149,7 @@ def get_editor_settings(self, request, inode):
149149
150150 def get_menu_extension_settings (self , request ):
151151 extensions = []
152- for model in InodeModel .file_models :
152+ for model in InodeModel .get_models ( include_proxy = True ) :
153153 if model_admin := self .admin_site ._registry .get (model ):
154154 extension = model_admin .get_menu_extension_settings (request )
155155 if extension .get ('component' ):
@@ -218,14 +218,15 @@ def upload_file(self, request, folder_id):
218218 return HttpResponseBadRequest (f"Method { request .method } not allowed. Only POST requests are allowed." )
219219 if not (folder := self .get_object (request , folder_id )):
220220 return HttpResponseNotFound (f"Folder { folder_id } not found." )
221- if request .content_type == 'multipart/form-data' and 'upload_file' in request .FILES :
222- model = FileModel .objects .get_model_for (request .FILES ['upload_file' ].content_type )
223- new_file = model .objects .create_from_upload (
224- request .FILES ['upload_file' ],
225- folder = folder ,
226- owner = request .user ,
227- )
228- return HttpResponse (f"Uploaded { new_file .name } successfully." )
221+ if request .content_type != 'multipart/form-data' or 'upload_file' not in request .FILES :
222+ return HttpResponseBadRequest ("Bad encoding type or missing payload." )
223+ model = FileModel .objects .get_model_for (request .FILES ['upload_file' ].content_type )
224+ new_file = model .objects .create_from_upload (
225+ request .FILES ['upload_file' ],
226+ folder = folder ,
227+ owner = request .user ,
228+ )
229+ return JsonResponse ({'uploaded_file' : new_file .as_dict })
229230
230231 def update_inode (self , request , folder_id ):
231232 if response := self .check_for_valid_post_request (request , folder_id ):
0 commit comments