Exemplo n.º 1
0
def show_glossary(request, project, lang):
    prj = get_project(request, project)
    lang = get_object_or_404(Language, code=lang)

    if request.method == "POST" and request.user.has_perm("glossary.add", prj):
        form = TermForm(prj, request.POST)
        if form.is_valid():
            Term.objects.create(
                request.user,
                language=lang,
                source=form.cleaned_data["source"],
                target=form.cleaned_data["target"],
                glossary=form.cleaned_data["glossary"],
            )
        return redirect_next(request.POST.get("next"), request.get_full_path())
    form = TermForm(prj)

    uploadform = GlossaryUploadForm(prj)

    terms = Term.objects.for_project(prj).filter(language=lang).order()

    letterform = LetterForm(request.GET)

    searchform = OneTermForm(request.GET)

    if searchform.is_valid() and searchform.cleaned_data["term"] != "":
        terms = terms.filter(source__substring=searchform.cleaned_data["term"])
        search = searchform.cleaned_data["term"]
    else:
        search = ""

    if letterform.is_valid() and letterform.cleaned_data["letter"] != "":
        terms = terms.filter(
            source__istartswith=letterform.cleaned_data["letter"])
        letter = letterform.cleaned_data["letter"]
    else:
        letter = ""

    terms = get_paginator(request, terms)

    last_changes = (Change.objects.last_changes(request.user).filter(
        project=prj, language=lang).exclude(glossary_term=None)[:10])

    exporters = EXPORTERS.list_exporters_filter(EXPORT_TYPES)

    return render(
        request,
        "glossary.html",
        {
            "title":
            dict_title(prj, lang),
            "project":
            prj,
            "language":
            lang,
            "page_obj":
            terms,
            "exporters":
            exporters,
            "form":
            form,
            "query_string":
            urlencode({
                "term": search,
                "letter": letter
            }),
            "uploadform":
            uploadform,
            "letterform":
            letterform,
            "searchform":
            searchform,
            "letter":
            letter,
            "last_changes":
            last_changes,
            "last_changes_url":
            urlencode((
                ("project", prj.slug),
                ("lang", lang.code),
                ("action", Change.ACTION_DICTIONARY_NEW),
                ("action", Change.ACTION_DICTIONARY_EDIT),
                ("action", Change.ACTION_DICTIONARY_UPLOAD),
            )),
        },
    )
Exemplo n.º 2
0
        letter = ""

    terms = get_paginator(request, terms)

    last_changes = (
        Change.objects.last_changes(request.user)
        .filter(project=prj, language=lang)
        .exclude(glossary_term=None)[:10]
    )

<<<<<<< HEAD
    exporters = [exp for exp in EXPORTERS.list_exporters() if exp['name'] in EXPORT_TYPES]

=======
>>>>>>> f6937a3fbb89f367a68077c658a1823b2f69f80a
    exporters = EXPORTERS.list_exporters_filter(EXPORT_TYPES)

    return render(
        request,
        "glossary.html",
        {
            "title": dict_title(prj, lang),
            "project": prj,
            "language": lang,
            "page_obj": terms,
            "exporters": exporters,
            "form": form,
            "query_string": urlencode({"term": search, "letter": letter}),
            "uploadform": uploadform,
            "letterform": letterform,
            "searchform": searchform,