Esempio n. 1
0
def edit_context(request, pk):
    unit = get_object_or_404(Unit, pk=pk)
    if not unit.is_source and not unit.translation.component.is_glossary:
        raise Http404("Non source unit!")

    do_add = "addflag" in request.POST
    if do_add or "removeflag" in request.POST:
        if not request.user.has_perm("unit.flag", unit.translation):
            raise PermissionDenied()
        flag = request.POST.get("addflag", request.POST.get("removeflag"))
        flags = Flags(unit.extra_flags)
        if do_add:
            flags.merge(flag)
        else:
            flags.remove(flag)
        new_flags = flags.format()
        if new_flags != unit.extra_flags:
            unit.extra_flags = new_flags
            unit.save(same_content=True, update_fields=["extra_flags"])
    else:

        if not request.user.has_perm("source.edit", unit.translation):
            raise PermissionDenied()

        form = ContextForm(request.POST, instance=unit, user=request.user)

        if form.is_valid():
            form.save()
        else:
            messages.error(request,
                           _("Failed to change additional string info!"))
            show_form_errors(request, form)

    return redirect_next(request.POST.get("next"), unit.get_absolute_url())
Esempio n. 2
0
def edit_context(request, pk):
    """Change source string context."""
    source = get_object_or_404(Source, pk=pk)

    if not request.user.has_perm('source.edit', source.component):
        raise PermissionDenied()

    form = ContextForm(request.POST)
    if form.is_valid():
        source.context = form.cleaned_data['context']
        source.save()
    else:
        messages.error(request, _('Failed to change a context!'))
    return redirect_next(request.POST.get('next'), source.get_absolute_url())
Esempio n. 3
0
def edit_context(request, pk):
    """Change source string context."""
    source = get_object_or_404(Source, pk=pk)

    if not request.user.has_perm('source.edit', source.component):
        raise PermissionDenied()

    form = ContextForm(request.POST)
    if form.is_valid():
        source.context = form.cleaned_data['context']
        source.save()
    else:
        messages.error(request, _('Failed to change a context!'))
    return redirect_next(request.POST.get('next'), source.get_absolute_url())
Esempio n. 4
0
def edit_context(request, pk):
    unit = get_object_or_404(Unit, pk=pk)
    if not unit.is_source:
        raise Http404("Non source unit!")

    if not request.user.has_perm("source.edit", unit.translation.component):
        raise PermissionDenied()

    form = ContextForm(request.POST, instance=unit, user=request.user)

    if form.is_valid():
        form.save()
    else:
        messages.error(request, _("Failed to change a context!"))
        show_form_errors(request, form)

    return redirect_next(request.POST.get("next"), unit.get_absolute_url())