Beispiel #1
0
def tp_translate(request, translation_project, dir_path):

    if not check_permission("view", request):
        raise PermissionDenied(_("You do not have rights to access translation mode."))

    directory = get_object_or_404(
            Directory,
            pootle_path=translation_project.directory.pootle_path + dir_path
    )

    project = translation_project.project
    language = translation_project.language
    is_terminology = project.is_terminology

    template_vars = {
        'translation_project': translation_project,
        'project': project,
        'language': language,
        'directory': directory,
        'children': get_children(request, translation_project, directory,
                                 links_required='translate'),
        'navitems': [navbar_dict.make_directory_navbar_dict(
            request, directory, links_required='translate',
            terminology=is_terminology)],
        'feed_path': directory.pootle_path[1:],
        'topstats': gentopstats_translation_project(translation_project),
    }

    return render_to_response("translation_project/tp_translate.html",
            template_vars, context_instance=RequestContext(request))
Beispiel #2
0
    def GET(self, template_vars, request, translation_project, directory):
        template_vars = super(TPReviewView, self).GET(template_vars, request)

        request.permissions = get_matching_permissions(
                get_profile(request.user), translation_project.directory)
        project  = translation_project.project
        language = translation_project.language
        is_terminology = project.is_terminology

        children = get_children(request, translation_project, directory,
                                links_required='review')
        navitems = [navbar_dict.make_directory_navbar_dict(
            request, directory, links_required='review',
            terminology=is_terminology)]

        template_vars.update({
            'translation_project': translation_project,
            'project': project,
            'language': language,
            'directory': directory,
            'children': children,
            'navitems': navitems,
            'topstats': gentopstats_translation_project(translation_project),
            'feed_path': directory.pootle_path[1:],
            })

        return template_vars
Beispiel #3
0
def view(request, path):
    #FIXME: why do we have leading and trailing slashes in pootle_path?
    pootle_path = '/%s' % path

    directory = get_object_or_404(Directory, pootle_path=pootle_path)

    request.permissions = get_matching_permissions(get_profile(request.user), directory)

    if not check_permission('view', request):
        raise PermissionDenied

    template_vars = {'path': path,
                     'directory': directory}

    if check_permission('administrate', request):
        template_vars['form'] = handle_form(request, directory)
        template_vars['title'] = directory_to_title(request, directory)
    if request.GET.get('all', False):
        template_vars['notices'] = Notice.objects.filter(directory__pootle_path__startswith=directory.pootle_path).select_related('directory')[:30]
    else:
        template_vars['notices'] = Notice.objects.filter(directory=directory).select_related('directory')[:30]

    if not directory.is_language() and not directory.is_project():
        try:
            request.translation_project = directory.get_translationproject()
            template_vars['navitems'] = [navbar_dict.make_directory_navbar_dict(request, directory)]
            template_vars['translation_project'] = request.translation_project
            template_vars['language'] = request.translation_project.language
            template_vars['project'] = request.translation_project.project
        except:
            pass

    return render_to_response('notices.html', template_vars, context_instance=RequestContext(request))
Beispiel #4
0
def tp_admin_files(request, translation_project):
    queryset = translation_project.stores.all()
    if 'template_update' in request.POST:
        translation_project.update_from_templates()
        request.POST = {}

    if 'scan_files' in request.POST:
        translation_project.scan_files()
        for store in translation_project.stores.exclude(file='').iterator():
            store.sync(update_translation=True)
            store.update(
                update_structure=True, update_translation=True,
                conservative=False)
        request.POST = {}

    model_args = {
        'title': _("Files"),
        'submitname': "changestores",
        'formid': "stores",
        'navitems': [navbar_dict.make_directory_navbar_dict(
            request, translation_project.directory)],
        'feed_path': translation_project.directory.pootle_path[1:],
        'translation_project': translation_project,
        'language': translation_project.language,
        'project': translation_project.project,
        'directory': translation_project.directory,
        }
    link = lambda instance: '<a href="%s/translate">%s</a>' % (
        l('/wikitrans' + instance.pootle_path),
        instance.pootle_path[len(translation_project.pootle_path):])

    return util.edit(
        request, 'translation_project/tp_admin_files.html', Store, model_args,
        link, linkfield='pootle_path', queryset=queryset,
        formset=StoreFormset, can_delete=True, extra=0)
Beispiel #5
0
def tp_admin_files(request, translation_project):
    queryset = translation_project.stores.all()
    try:
        template_translation_project = TranslationProject.objects.get(project=translation_project.project,
                                                                      language__code='templates')
        if 'template_update' in request.GET:
            convert_templates(template_translation_project, translation_project)
    except TranslationProject.DoesNotExist:
        pass

    if 'scan_files' in request.GET:
        scan_translation_project_files(translation_project)
        for store in translation_project.stores.exclude(file='').iterator():
            store.sync(update_translation=True)
            store.update(update_structure=True, update_translation=True, conservative=False)

    model_args = {
        'title': _("Files"),
        'submitname': "changestores",
        'formid': "stores",
        'navitems': [navbar_dict.make_directory_navbar_dict(request, translation_project.directory)],
        'feed_path': translation_project.directory.pootle_path[1:],
        'translation_project': translation_project,
        'language': translation_project.language,
        'project': translation_project.project,
        'directory': translation_project.directory,
        }
    link = "%s/translate/"
    return util.edit(request, 'translation_project/tp_admin_files.html', Store, model_args,
                     link, linkfield='pootle_path', queryset=queryset,
                     formset=StoreFormset, can_delete=True, extra=0)
Beispiel #6
0
def view(request, path):
    # FIXME: why do we have leading and trailing slashes in pootle_path?
    pootle_path = "/%s" % path

    directory = get_object_or_404(Directory, pootle_path=pootle_path)

    request.permissions = get_matching_permissions(get_profile(request.user), directory)

    if not check_permission("view", request):
        raise PermissionDenied

    template_vars = {"path": path, "directory": directory}

    if check_permission("administrate", request):
        template_vars["form"] = handle_form(request, directory)
        template_vars["title"] = directory_to_title(directory)
    if request.GET.get("all", False):
        template_vars["notices"] = Notice.objects.filter(
            directory__pootle_path__startswith=directory.pootle_path
        ).select_related("directory")[:30]
    else:
        template_vars["notices"] = Notice.objects.filter(directory=directory).select_related("directory")[:30]

    if not directory.is_language() and not directory.is_project():
        try:
            request.translation_project = directory.get_translationproject()
            template_vars["navitems"] = [navbar_dict.make_directory_navbar_dict(request, directory)]
            template_vars["translation_project"] = request.translation_project
            template_vars["language"] = request.translation_project.language
            template_vars["project"] = request.translation_project.project
        except:
            pass

    return render_to_response("notices.html", template_vars, context_instance=RequestContext(request))
Beispiel #7
0
    def GET(self, template_vars, request, translation_project, directory):
        template_vars = super(TPTranslateView,
                              self).GET(template_vars, request)
        request.permissions = get_matching_permissions(
            get_profile(request.user), translation_project.directory)
        project = translation_project.project
        language = translation_project.language

        template_vars.update({
            'translation_project':
            translation_project,
            'project':
            project,
            'language':
            language,
            'directory':
            directory,
            'children':
            get_children(request,
                         translation_project,
                         directory,
                         links_required='translate'),
            'navitems': [
                navbar_dict.make_directory_navbar_dict(
                    request, directory, links_required='translate')
            ],
            'feed_path':
            directory.pootle_path[1:],
            'topstats':
            gentopstats_translation_project(translation_project),
        })
        return template_vars
Beispiel #8
0
    def GET(self, template_vars, request, translation_project, directory):
        template_vars = super(ProjectIndexView,
                              self).GET(template_vars, request)
        request.permissions = get_matching_permissions(
            get_profile(request.user), translation_project.directory)
        state = dispatch.ProjectIndexState(request.GET)
        project = translation_project.project
        language = translation_project.language

        template_vars.update({
            'translation_project':
            translation_project,
            'project':
            project,
            'language':
            language,
            'directory':
            directory,
            'children':
            get_children(request, translation_project, directory),
            'navitems':
            [navbar_dict.make_directory_navbar_dict(request, directory)],
            'stats_headings':
            get_stats_headings(),
            'editing':
            state.editing,
            'topstats':
            gentopstats_translation_project(translation_project),
            'feed_path':
            directory.pootle_path[1:],
        })
        return template_vars
Beispiel #9
0
def view(request, path):
    #FIXME: why do we have leading and trailing slashes in pootle_path?
    pootle_path = '/%s' % path

    directory = get_object_or_404(Directory, pootle_path=pootle_path)

    request.permissions = get_matching_permissions(get_profile(request.user),
                                                   directory)

    if not check_permission('view', request):
        raise PermissionDenied

    template_vars = {'path': path, 'directory': directory}

    # Find language and project defaults, passed to handle_form
    proj = None
    lang = None
    if not directory.is_language() and not directory.is_project():
        translation_project = directory.translation_project
        lang = translation_project.language
        proj = translation_project.project
    else:
        if directory.is_language():
            lang = directory.language
            proj = None
        if directory.is_project():
            lang = None
            proj = directory.project

    if check_permission('administrate', request):
        # Thus, form is only set for the template if the user has
        # 'administrate' permission
        template_vars['form'] = handle_form(request, directory, proj, lang,
                                            template_vars)
        template_vars['title'] = directory_to_title(directory)
    else:
        template_vars['form'] = None

    if request.GET.get('all', False):
        template_vars['notices'] = Notice.objects.filter(
            directory__pootle_path__startswith=directory.pootle_path
        ).select_related('directory')[:30]
    else:
        template_vars['notices'] = Notice.objects.filter(
            directory=directory).select_related('directory')[:30]

    if not directory.is_language() and not directory.is_project():
        request.translation_project = directory.translation_project
        template_vars['navitems'] = [
            navbar_dict.make_directory_navbar_dict(request, directory)
        ]
        template_vars['translation_project'] = request.translation_project
        template_vars['language'] = request.translation_project.language
        template_vars['project'] = request.translation_project.project

    return render_to_response('notices.html',
                              template_vars,
                              context_instance=RequestContext(request))
Beispiel #10
0
def tp_admin_files(request, translation_project):
    queryset = translation_project.stores.all()
    if 'template_update' in request.POST:
        translation_project.update_from_templates()
        request.POST = {}

    if 'scan_files' in request.POST:
        translation_project.scan_files()
        for store in translation_project.stores.exclude(file='').iterator():
            store.sync(update_translation=True)
            store.update(update_structure=True,
                         update_translation=True,
                         conservative=False)
        request.POST = {}

    model_args = {
        'title':
        _("Files"),
        'submitname':
        "changestores",
        'formid':
        "stores",
        'navitems': [
            navbar_dict.make_directory_navbar_dict(
                request, translation_project.directory)
        ],
        'feed_path':
        translation_project.directory.pootle_path[1:],
        'translation_project':
        translation_project,
        'language':
        translation_project.language,
        'project':
        translation_project.project,
        'directory':
        translation_project.directory,
    }
    link = lambda instance: '<a href="%s/translate">%s</a>' % (l(
        instance.pootle_path), instance.pootle_path[len(translation_project.
                                                        pootle_path):])

    return util.edit(request,
                     'translation_project/tp_admin_files.html',
                     Store,
                     model_args,
                     link,
                     linkfield='pootle_path',
                     queryset=queryset,
                     formset=StoreFormset,
                     can_delete=True,
                     extra=0)
Beispiel #11
0
def tp_admin_permissions(request, translation_project):
    language               = translation_project.language
    project                = translation_project.project

    template_vars = {
        'translation_project': translation_project,
        "project":                project,
        "language":               language,
        "directory":              translation_project.directory,
        "navitems":               [navbar_dict.make_directory_navbar_dict(request, translation_project.directory)],
        "feed_path":              translation_project.pootle_path[1:],
    }
    return admin_permissions(request, translation_project.directory, "translation_project/tp_admin_permissions.html",
                             template_vars)
Beispiel #12
0
    def GET(self, template_vars, request, translation_project, directory):
        template_vars = super(ProjectIndexView, self).GET(template_vars, request)
        request.permissions = get_matching_permissions(get_profile(request.user), translation_project.directory)
        state    = dispatch.ProjectIndexState(request.GET)
        project  = translation_project.project
        language = translation_project.language

        template_vars.update({
            'translation_project': translation_project,
            'project': project,
            'language': language,
            'directory': directory,
            'children':              get_children(request, translation_project, directory),
            'navitems':              [navbar_dict.make_directory_navbar_dict(request, directory)],
            'stats_headings':        get_stats_headings(),
            'editing':               state.editing,
            'topstats':              gentopstats_translation_project(translation_project),
            'feed_path':             directory.pootle_path[1:],
            })
        return template_vars
Beispiel #13
0
def tp_admin_permissions(request, translation_project):
    language = translation_project.language
    project = translation_project.project

    template_vars = {
        'translation_project':
        translation_project,
        "project":
        project,
        "language":
        language,
        "directory":
        translation_project.directory,
        "navitems": [
            navbar_dict.make_directory_navbar_dict(
                request, translation_project.directory)
        ],
        "feed_path":
        translation_project.pootle_path[1:],
    }
    return admin_permissions(request, translation_project.directory,
                             "translation_project/tp_admin_permissions.html",
                             template_vars)