def validate(self, data): if data.get("logo") and data.get("logo_path"): data["logo"] = filer_image_from_upload( self.context["request"], path=data["logo_path"], upload_data=data["logo"]) elif data.get("logo"): raise serializers.ValidationError("Path is required when sending a manufacturer logo.") return data
def media_upload(request, *args, **kwargs): shop = get_shop(request) try: folder_id = int(request.POST.get("folder_id") or request.GET.get("folder_id") or 0) path = request.POST.get("path") or request.GET.get("path") or None if folder_id != 0: folder = _get_folder_query(shop).get(pk=folder_id) elif path: folder = get_or_create_folder(shop, path) else: folder = None # Root folder upload. How bold! except Exception as exc: return JsonResponse({"error": "Invalid folder: %s" % force_text(exc)}) try: upload_file = request.FILES["file"] if upload_file.content_type.startswith("image/"): filer_file = filer_image_from_upload(request, path=folder, upload_data=upload_file) else: filer_file = filer_file_from_upload(request, path=folder, upload_data=upload_file) _ensure_media_file(shop, filer_file) except Exception as exc: return JsonResponse({"error": force_text(exc)}) 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 handle_upload(self): request = self.request try: folder_id = int(request.POST.get("folder_id") or request.GET.get("folder_id") or 0) if folder_id != 0: folder = Folder.objects.get(pk=folder_id) else: folder = None # Root folder upload. How bold! except Exception as exc: return JsonResponse({"error": "Invalid folder: %s" % force_text(exc)}) try: upload_file = request.FILES["file"] if upload_file.content_type.startswith("image/"): filer_file = filer_image_from_upload(request, path=folder, upload_data=upload_file) else: filer_file = filer_file_from_upload(request, path=folder, upload_data=upload_file) except Exception as exc: return JsonResponse({"error": force_text(exc)}) 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 _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 validate(self, data): if data.get("image") and data.get("image_path"): data["image"] = filer_image_from_upload( self.context["request"], path=data["image_path"], upload_data=data["image"]) elif data.get("image"): raise serializers.ValidationError("Path is required when sending a Category image.") return data
def handle_upload(self): request = self.request try: folder_id = int( request.POST.get("folder_id") or request.GET.get("folder_id") or 0) if folder_id != 0: folder = Folder.objects.get(pk=folder_id) else: folder = None # Root folder upload. How bold! except Exception as exc: return JsonResponse( {"error": "Invalid folder: %s" % force_text(exc)}) try: upload_file = request.FILES["file"] if upload_file.content_type.startswith("image/"): filer_file = filer_image_from_upload(request, path=folder, upload_data=upload_file) else: filer_file = filer_file_from_upload(request, path=folder, upload_data=upload_file) except Exception as exc: return JsonResponse({"error": force_text(exc)}) 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)})
def handle_upload(self): request = self.request shop = get_shop(request) try: folder_id = int( request.POST.get("folder_id") or request.GET.get("folder_id") or 0) path = request.POST.get("path") or request.GET.get("path") or None if folder_id != 0: folder = _get_folder_query(shop).get(pk=folder_id) elif path: folder = get_or_create_folder(shop, path) else: folder = None # Root folder upload. How bold! except Exception as exc: return JsonResponse( {"error": "Invalid folder: %s" % force_text(exc)}) try: upload_file = request.FILES["file"] if upload_file.content_type.startswith("image/"): filer_file = filer_image_from_upload(request, path=folder, upload_data=upload_file) _ensure_media_file(shop, filer_file) else: filer_file = filer_file_from_upload(request, path=folder, upload_data=upload_file) _ensure_media_file(shop, filer_file) except Exception as exc: return JsonResponse({"error": force_text(exc)}) 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) } })