Example #1
0
def upload(request, slug, **kwargs):
    # For GET, just return blank response. See issue #327.
    if request.method != "POST":
        return HttpResponse("")
    error = None
    file_form = PageFileForm(request.POST, request.FILES)

    uploaded = request.FILES["file"]
    if "file" in kwargs:
        # Replace existing file if exists
        try:
            file = PageFile.objects.get(slug__exact=slug, name__exact=kwargs["file"])
            file.file = uploaded
        except PageFile.DoesNotExist:
            file = PageFile(file=uploaded, name=uploaded.name, slug=slug)
        file_form.instance = file
        if not file_form.is_valid():
            error = file_form.errors.values()[0]
        else:
            file_form.save()

        if error is not None:
            return HttpResponseBadRequest(error)
        return HttpResponseRedirect(reverse("pages:file-info", args=[slug, kwargs["file"]]))

    # uploaded from ckeditor
    relative_url = "_files/" + urlquote(uploaded.name)
    try:
        file = PageFile(file=uploaded, name=uploaded.name, slug=slug)
        file.save()
        return ck_upload_result(request, url=relative_url)
    except IntegrityError:
        error = "A file with this name already exists"
    return ck_upload_result(request, url=relative_url, message=error)
Example #2
0
def upload(request, slug, **kwargs):
    error = None
    file_form = PageFileForm(request.POST, request.FILES)

    uploaded = request.FILES['file']
    if 'file' in kwargs:
        # Replace existing file if exists
        try:
            file = PageFile.objects.get(slug__exact=slug,
                                        name__exact=kwargs['file'])
            file.file = uploaded
        except PageFile.DoesNotExist:
            file = PageFile(file=uploaded, name=uploaded.name, slug=slug)
        file_form.instance = file
        if not file_form.is_valid():
            error = file_form.errors.values()[0]
        else:
            file_form.save()

        if error is not None:
            return HttpResponseBadRequest(error)
        return HttpResponseRedirect(reverse('pages:file-info',
                                            args=[slug, kwargs['file']]))

    # uploaded from ckeditor
    relative_url = '_files/' + uploaded.name
    try:
        file = PageFile(file=uploaded, name=uploaded.name, slug=slug)
        file.save()
        return ck_upload_result(request, url=relative_url)
    except IntegrityError:
        error = 'A file with this name already exists'
    return ck_upload_result(request, url=relative_url, message=error)
Example #3
0
    def post(self, request, *args, **kwargs):
        slug = kwargs['slug']
        region = self.get_region()

        error = None
        file_form = PageFileForm(request.POST, request.FILES)

        uploaded = request.FILES['file']
        if 'file' in kwargs:
            # Replace existing file if exists
            try:
                file = PageFile.objects.get(slug__exact=slug,
                                            name__exact=kwargs['file'],
                                            region=region)
                file.file = uploaded
            except PageFile.DoesNotExist:
                file = PageFile(file=uploaded,
                                name=uploaded.name,
                                slug=slug,
                                region=region)
            file_form.instance = file
            if not file_form.is_valid():
                error = file_form.errors.values()[0]
            else:
                file_form.save()

            if error is not None:
                return HttpResponseBadRequest(error)
            return HttpResponseRedirect(
                reverse('pages:file-info',
                        kwargs={
                            'region': region.slug,
                            'slug': slug,
                            'file': kwargs['file']
                        }))

        # uploaded from ckeditor
        filename = _find_available_filename(uploaded.name, slug, region)
        relative_url = '_files/' + urlquote(filename)
        try:
            file = PageFile(file=uploaded,
                            name=filename,
                            slug=slug,
                            region=region)
            file.save()
            return ck_upload_result(request, url=relative_url)
        except IntegrityError:
            error = _('A file with this name already exists')
        return ck_upload_result(request, url=relative_url, message=error)
Example #4
0
    def post(self, request, *args, **kwargs):
        slug = kwargs['slug']
        region = self.get_region()

        error = None
        file_form = PageFileForm(request.POST, request.FILES)

        uploaded = request.FILES['file']
        if 'file' in kwargs:
            # Replace existing file if exists
            try:
                file = PageFile.objects.get(
                    slug__exact=slug,
                    name__exact=kwargs['file'],
                    region=region
                )
                file.file = uploaded
            except PageFile.DoesNotExist:
                file = PageFile(
                    file=uploaded,
                    name=uploaded.name,
                    slug=slug,
                    region=region
                )
            file_form.instance = file
            if not file_form.is_valid():
                error = file_form.errors.values()[0]
            else:
                file_form.save()

            if error is not None:
                return HttpResponseBadRequest(error)
            return HttpResponseRedirect(
                reverse('pages:file-info',
                        kwargs={'region': region.slug, 'slug': slug, 'file': kwargs['file']}))

        # uploaded from ckeditor
        filename = _find_available_filename(uploaded.name, slug, region)
        relative_url = '_files/' + urlquote(filename)
        try:
            file = PageFile(file=uploaded, name=filename, slug=slug, region=region)
            file.save()
            return ck_upload_result(request, url=relative_url)
        except IntegrityError:
            error = _('A file with this name already exists')
        return ck_upload_result(request, url=relative_url, message=error)
Example #5
0
def upload(request, slug, **kwargs):
    # For GET, just return blank response. See issue #327.
    if request.method != 'POST':
        return HttpResponse('')
    error = None
    file_form = PageFileForm(request.POST, request.FILES)

    uploaded = request.FILES['file']
    if 'file' in kwargs:
        # Replace existing file if exists
        try:
            file = PageFile.objects.get(slug__exact=slug,
                                        name__exact=kwargs['file'])
            file.file = uploaded
        except PageFile.DoesNotExist:
            file = PageFile(file=uploaded, name=uploaded.name, slug=slug)
        file_form.instance = file
        if not file_form.is_valid():
            error = file_form.errors.values()[0]
        else:
            file_form.save()

        if error is not None:
            return HttpResponseBadRequest(error)
        return HttpResponseRedirect(
            reverse('pages:file-info', args=[slug, kwargs['file']]))

    # uploaded from ckeditor
    filename = _find_available_filename(uploaded.name, slug)
    relative_url = '_files/' + urlquote(filename)
    try:
        file = PageFile(file=uploaded, name=filename, slug=slug)
        file.save()
        return ck_upload_result(request, url=relative_url)
    except IntegrityError:
        error = _('A file with this name already exists')
    return ck_upload_result(request, url=relative_url, message=error)