示例#1
0
def upload(request):
    """Upload translated resource."""
    try:
        slug = request.POST['slug']
        code = request.POST['code']
        part = request.POST['part']
    except MultiValueDictKeyError:
        raise Http404

    locale = get_object_or_404(Locale, code=code)
    if not request.user.has_perm('base.can_translate_locale', locale):
        return HttpResponseForbidden("Forbidden: You don't have permission to upload files")

    form = forms.UploadFileForm(request.POST, request.FILES)

    if form.is_valid():
        f = request.FILES['uploadfile']
        utils.handle_upload_content(slug, code, part, f, request.user)
        messages.success(request, 'Translations updated from uploaded file.')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                messages.error(request, error)

    return translate(request, code, slug, part)
示例#2
0
def upload(request):
    """Upload translated resource."""
    try:
        slug = request.POST["slug"]
        code = request.POST["code"]
        part = request.POST["part"]
    except MultiValueDictKeyError:
        raise Http404

    locale = get_object_or_404(Locale, code=code)
    project = get_object_or_404(Project.objects.visible_for(request.user), slug=slug)

    if not request.user.can_translate(
        project=project, locale=locale
    ) or utils.readonly_exists(project, locale):
        return HttpResponseForbidden("You don't have permission to upload files.")

    form = forms.UploadFileForm(request.POST, request.FILES)

    if form.is_valid():
        f = request.FILES["uploadfile"]
        utils.handle_upload_content(slug, code, part, f, request.user)
        messages.success(request, "Translations updated from uploaded file.")
    else:
        for field, errors in form.errors.items():
            for error in errors:
                messages.error(request, error)

    response = HttpResponse(content="", status=303)
    response["Location"] = reverse(
        "pontoon.translate", kwargs={"locale": code, "project": slug, "resource": part},
    )
    return response
示例#3
0
文件: views.py 项目: waseem18/pontoon
def upload(request):
    """Upload translated resource."""
    try:
        slug = request.POST['slug']
        code = request.POST['code']
        part = request.POST['part']
    except MultiValueDictKeyError:
        raise Http404

    locale = get_object_or_404(Locale, code=code)
    if not request.user.has_perm('base.can_translate_locale', locale):
        return HttpResponseForbidden("Forbidden: You don't have permission to upload files")

    form = forms.UploadFileForm(request.POST, request.FILES)

    if form.is_valid():
        f = request.FILES['uploadfile']
        utils.handle_upload_content(slug, code, part, f, request.user)
        messages.success(request, 'Translations updated from uploaded file.')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                messages.error(request, error)

    return translate(request, code, slug, part)
示例#4
0
def upload(request):
    """Upload translated resource."""
    try:
        slug = request.POST['slug']
        code = request.POST['code']
        part = request.POST['part']
    except MultiValueDictKeyError:
        raise Http404

    locale = get_object_or_404(Locale, code=code)
    project = get_object_or_404(Project, slug=slug)

    if (not request.user.can_translate(project=project, locale=locale)
            or utils.readonly_exists(project, locale)):
        return HttpResponseForbidden(
            "You don't have permission to upload files.")

    form = forms.UploadFileForm(request.POST, request.FILES)

    if form.is_valid():
        f = request.FILES['uploadfile']
        utils.handle_upload_content(slug, code, part, f, request.user)
        messages.success(request, 'Translations updated from uploaded file.')
    else:
        for field, errors in form.errors.items():
            for error in errors:
                messages.error(request, error)

    response = HttpResponse(content='', status=303)
    response['Location'] = reverse(
        'pontoon.translate',
        kwargs={
            'locale': code,
            'project': slug,
            'resource': part,
        },
    )
    return response