def browse(request, project, dir_path, filename): """Languages browser for a given project.""" item_func = (make_xlanguage_item if dir_path or filename else make_language_item) items = [item_func(item) for item in request.resource_obj.get_children_for_user(request.profile)] items.sort(lambda x, y: locale.strcoll(x['title'], y['title'])) table_fields = ['name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] table = { 'id': 'project', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, } ctx = get_browser_context(request) ctx.update({ 'project': project, 'table': table, 'stats': jsonify(request.resource_obj.get_stats()), 'browser_extends': 'projects/base.html', }) return render(request, 'browser/index.html', ctx)
def browse(request, language): user_tps = language.get_children_for_user(request.user) items = (make_project_item(tp) for tp in user_tps) table_fields = [ 'name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity' ] ctx = get_browser_context(request) ctx.update({ 'language': { 'code': language.code, 'name': tr_lang(language.fullname), }, 'table': { 'id': 'language', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, }, 'stats': jsonify(request.resource_obj.get_stats_for_user(request.user)), 'browser_extends': 'languages/base.html', }) response = render(request, 'browser/index.html', ctx) response.set_cookie('pootle-language', language.code) return response
def projects_browse(request, project_set): """Page listing all projects""" items = [make_project_list_item(project) for project in project_set.children] items.sort(lambda x, y: locale.strcoll(x['title'], y['title'])) table_fields = ['name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] table = { 'id': 'projects', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, } ctx = get_browser_context(request) ctx.update({ 'table': table, 'stats': jsonify(request.resource_obj.get_stats()), 'browser_extends': 'projects/all/base.html', }) response = render(request, 'browser/index.html', ctx) response.set_cookie('pootle-language', 'projects') return response
def browse(request, project, dir_path, filename): """Languages browser for a given project.""" item_func = (make_xlanguage_item if dir_path or filename else make_language_item) items = [ item_func(item) for item in request.resource_obj.get_children_for_user(request.profile) ] items.sort(lambda x, y: locale.strcoll(x['title'], y['title'])) table_fields = [ 'name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity' ] table = { 'id': 'project', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, } ctx = get_browser_context(request) ctx.update({ 'project': project, 'table': table, 'stats': jsonify(request.resource_obj.get_stats()), 'browser_extends': 'projects/base.html', }) return render(request, 'browser/index.html', ctx)
def projects_browse(request, project_set): """Page listing all projects""" items = [ make_project_list_item(project) for project in project_set.children ] items.sort(lambda x, y: locale.strcoll(x['title'], y['title'])) table_fields = [ 'name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity' ] table = { 'id': 'projects', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, } ctx = get_browser_context(request) ctx.update({ 'table': table, 'stats': jsonify(request.resource_obj.get_stats()), 'browser_extends': 'projects/all/base.html', }) response = render(request, 'browser/index.html', ctx) response.set_cookie('pootle-language', 'projects') return response
def browse(request, language): translation_projects = language.children \ .order_by('project__fullname') user_tps = filter(lambda x: x.is_accessible_by(request.user), translation_projects) items = (make_project_item(tp) for tp in user_tps) table_fields = ['name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] ctx = get_browser_context(request) ctx.update({ 'language': { 'code': language.code, 'name': tr_lang(language.fullname), }, 'table': { 'id': 'language', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, }, 'stats': jsonify(request.resource_obj.get_stats()), 'browser_extends': 'languages/base.html', }) response = render(request, 'browser/index.html', ctx) response.set_cookie('pootle-language', language.code) return response
def browse(request, language): user_tps = language.get_children_for_user(request.user) items = (make_project_item(tp) for tp in user_tps) table_fields = ['name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] ctx, cookie_data = get_sidebar_announcements_context( request, (language, ), ) ctx.update(get_browser_context(request)) ctx.update({ 'language': { 'code': language.code, 'name': tr_lang(language.fullname), }, 'table': { 'id': 'language', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': items, }, 'stats': jsonify(request.resource_obj.get_stats_for_user(request.user)), 'browser_extends': 'languages/base.html', }) response = render(request, 'browser/index.html', ctx) response.set_cookie('pootle-language', language.code) if cookie_data: response.set_cookie(SIDEBAR_COOKIE_NAME, cookie_data) return response
def browse(request, translation_project, dir_path, filename=None): project = translation_project.project language = translation_project.language directory = request.directory store = request.store is_admin = check_permission('administrate', request) ctx, cookie_data = get_sidebar_announcements_context( request, (project, language, translation_project, ), ) ctx.update(get_browser_context(request)) # TODO improve plugin logic if "import_export" in settings.INSTALLED_APPS: if request.user.is_authenticated(): if check_permission('translate', request): ctx.update(handle_upload_form(request, project)) ctx.update({'display_download': True, 'has_sidebar': True}) stats = request.resource_obj.get_stats() if store is None: table_fields = ['name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] ctx.update({ 'table': { 'id': 'tp', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': get_children(directory), } }) if 'virtualfolder' in settings.INSTALLED_APPS: vfolders = get_vfolders(directory, all_vfolders=is_admin) if len(vfolders) > 0: table_fields = ['name', 'priority', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity'] ctx.update({ 'vfolders': { 'id': 'vfolders', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': vfolders, }, }) # FIXME: set vfolders stats in the resource, don't inject them # here. stats['vfolders'] = {} for vfolder_treeitem in directory.vf_treeitems.iterator(): if request.user.is_superuser or vfolder_treeitem.is_visible: stats['vfolders'][vfolder_treeitem.code] = \ vfolder_treeitem.get_stats(include_children=False) ctx.update({ 'parent': get_parent(directory if store is None else store), 'translation_project': translation_project, 'project': project, 'language': language, 'stats': jsonify(stats), 'is_admin': is_admin, 'is_store': store is not None, 'browser_extends': 'translation_projects/base.html', }) response = render(request, 'browser/index.html', ctx) if cookie_data: response.set_cookie(SIDEBAR_COOKIE_NAME, cookie_data) return response
def browse(request, translation_project, dir_path, filename=None): project = translation_project.project language = translation_project.language directory = request.directory store = request.store is_admin = check_permission('administrate', request) ctx, cookie_data = get_sidebar_announcements_context( request, ( project, language, translation_project, ), ) ctx.update(get_browser_context(request)) # TODO improve plugin logic if "import_export" in settings.INSTALLED_APPS: if request.user.is_authenticated(): if check_permission('translate', request): ctx.update(handle_upload_form(request, project)) ctx.update({'display_download': True, 'has_sidebar': True}) stats = request.resource_obj.get_stats() if store is None: table_fields = [ 'name', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity' ] ctx.update({ 'table': { 'id': 'tp', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': get_children(directory), } }) if 'virtualfolder' in settings.INSTALLED_APPS: vfolders = get_vfolders(directory, all_vfolders=is_admin) if len(vfolders) > 0: table_fields = [ 'name', 'priority', 'progress', 'total', 'need-translation', 'suggestions', 'critical', 'last-updated', 'activity' ] ctx.update({ 'vfolders': { 'id': 'vfolders', 'fields': table_fields, 'headings': get_table_headings(table_fields), 'items': vfolders, }, }) # FIXME: set vfolders stats in the resource, don't inject them # here. stats['vfolders'] = {} for vfolder_treeitem in directory.vf_treeitems.iterator(): if request.user.is_superuser or vfolder_treeitem.is_visible: stats['vfolders'][vfolder_treeitem.code] = \ vfolder_treeitem.get_stats(include_children=False) ctx.update({ 'parent': get_parent(directory if store is None else store), 'translation_project': translation_project, 'project': project, 'language': language, 'stats': jsonify(stats), 'is_admin': is_admin, 'is_store': store is not None, 'browser_extends': 'translation_projects/base.html', }) response = render(request, 'browser/index.html', ctx) if cookie_data: response.set_cookie(SIDEBAR_COOKIE_NAME, cookie_data) return response
def browse(request, translation_project, dir_path, filename=None): project = translation_project.project language = translation_project.language directory = request.directory store = request.store is_admin = check_permission("administrate", request) ctx, cookie_data = get_sidebar_announcements_context(request, project.code, language.code) ctx.update(get_browser_context(request)) # TODO improve plugin logic if "import_export" in settings.INSTALLED_APPS and request.user.is_authenticated(): from import_export.views import handle_upload_form ctx.update(handle_upload_form(request)) has_download = not translation_project.is_terminology_project and ( check_permission("translate", request) or check_permission("suggest", request) ) ctx.update({"display_download": has_download, "has_sidebar": True}) stats = request.resource_obj.get_stats() if store is None: table_fields = [ "name", "progress", "total", "need-translation", "suggestions", "critical", "last-updated", "activity", ] ctx.update( { "table": { "id": "tp", "fields": table_fields, "headings": get_table_headings(table_fields), "items": get_children(directory), } } ) if "virtualfolder" in settings.INSTALLED_APPS: vfolders = get_vfolders(directory, all_vfolders=is_admin) if len(vfolders) > 0: table_fields = [ "name", "priority", "progress", "total", "need-translation", "suggestions", "critical", "activity", ] ctx.update( { "vfolders": { "id": "vfolders", "fields": table_fields, "headings": get_table_headings(table_fields), "items": vfolders, } } ) # FIXME: set vfolders stats in the resource, don't inject them here. stats["vfolders"] = {} for vfolder_treeitem in directory.vf_treeitems.iterator(): if request.user.is_superuser or vfolder_treeitem.is_visible: stats["vfolders"][vfolder_treeitem.code] = vfolder_treeitem.get_stats(include_children=False) ctx.update( { "parent": get_parent(directory if store is None else store), "translation_project": translation_project, "project": project, "language": language, "stats": jsonify(stats), "is_admin": is_admin, "browser_extends": "translation_projects/base.html", } ) response = render(request, "browser/index.html", ctx) if cookie_data: response.set_cookie(SIDEBAR_COOKIE_NAME, cookie_data) return response