def _process_form(request, folder): try: form = UploadImageForm(request.POST, request.FILES) if form.is_valid(): filer_file = filer_image_from_upload( request, path=folder, upload_data=request.FILES['file']) elif not request.FILES["file"].content_type.startswith("image/"): form = UploadFileForm(request.POST, request.FILES) if form.is_valid(): filer_file = filer_file_from_upload( request, path=folder, upload_data=request.FILES['file']) if not form.is_valid(): return JsonResponse({"error": form.errors}, status=400) ensure_media_file(get_shop(request), filer_file) except Exception as exc: return JsonResponse({"error": force_text(exc)}, status=500) return JsonResponse({ "file": filer_file_to_json_dict(filer_file), "message": _("%(file)s uploaded to %(folder)s") % { "file": filer_file.label, "folder": get_folder_name(folder) } })
def media_upload(request, *args, **kwargs): if not settings.SHUUP_CUSTOMER_INFORMATION_ALLOW_PICTURE_UPLOAD: return HttpResponseForbidden() shop = get_shop(request) folder = get_or_create_folder(shop, "/contacts") form = UploadImageForm(request.POST, request.FILES) if form.is_valid(): filer_file = filer_image_from_upload(request, path=folder, upload_data=request.FILES['file']) else: error_messages = [] for validation_error in form.errors.as_data().get("file", []): error_messages += validation_error.messages return JsonResponse({"error": ", ".join([msg for msg in error_messages])}, status=400) ensure_media_file(shop, filer_file) return JsonResponse({"file": filer_file_to_json_dict(filer_file)})