From efa0ee8e25982bd48f69dd8ca32962cea77dd524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Mon, 27 Apr 2015 21:05:19 +0200 Subject: [PATCH] [i18n] Fix admin > permissions page --- app/coffee/modules/admin/roles.coffee | 114 +++++++++++++++----------- app/locales/locale-en.json | 43 +++++++++- app/locales/locale-es.json | 43 +++++++++- 3 files changed, 152 insertions(+), 48 deletions(-) diff --git a/app/coffee/modules/admin/roles.coffee b/app/coffee/modules/admin/roles.coffee index 53bf9ca7..2e702f04 100644 --- a/app/coffee/modules/admin/roles.coffee +++ b/app/coffee/modules/admin/roles.coffee @@ -48,7 +48,8 @@ class RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fil "$translate" ] - constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @appTitle, @translate) -> + constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @appTitle, + @translate) -> bindMethods(@) @scope.sectionName = "ADMIN.MENU.PERMISSIONS" @@ -82,7 +83,7 @@ class RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fil return role public_permission = { - "name": "External User", + "name": @translate.instant("ADMIN.ROLES.EXTERNAL_USER"), "permissions": @scope.project.public_permissions, "external_user": true } @@ -114,8 +115,6 @@ class RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fil @scope.$broadcast("role:changed", @scope.role) delete: -> - subtitle = @scope.role.name - choices = {} for role in @scope.roles if role.id != @scope.role.id @@ -124,15 +123,20 @@ class RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fil if _.keys(choices).length == 0 return @confirm.error(@translate.instant("ADMIN.ROLES.ERROR_DELETE_ALL")) - return @confirm.askChoice(@translate.instant("ADMIN.ROLES.TITLE_DELETE_ROLE"), subtitle, choices, @translate.instant("ADMIN.ROLES.REPLACEMENT_ROLE"), @translate.instant("ADMIN.ROLES.WARNING_DELETE_ROLE")).then (response) => - promise = @repo.remove(@scope.role, {moveTo: response.selected}) - promise.then => + title = @translate.instant("ADMIN.ROLES.TITLE_DELETE_ROLE") + subtitle = @scope.role.name + replacement = @translate.instant("ADMIN.ROLES.REPLACEMENT_ROLE") + warning = @translate.instant("ADMIN.ROLES.WARNING_DELETE_ROLE") + return @confirm.askChoice(title, subtitle, choices, replacement, warning).then (response) => + onSuccess = (response)=> @.loadProject() - @.loadRoles().finally -> + @.loadRoles().finally => response.finish() - promise.then null, => + onError = => @confirm.notify('error') + return @repo.remove(@scope.role, {moveTo: response.selected}).then onSuccess, onError + setComputable: debounce 2000, -> onSuccess = => @confirm.notify("success") @@ -254,14 +258,14 @@ module.directive("tgNewRole", ["$tgRepo", "$tgConfirm", NewRoleDirective]) # Use category-config.scss styles -RolePermissionsDirective = ($rootscope, $repo, $confirm) -> +RolePermissionsDirective = ($rootscope, $repo, $confirm, $compile) -> resumeTemplate = _.template(""" -
<%- category.name %>
+
<%- category.activePermissions %>/<%- category.permissions.length %>
<% _.each(category.permissions, function(permission) { %>
+ title="{{ '<%- permission.name %>' | translate }}">
<% }) %>
@@ -275,12 +279,14 @@ RolePermissionsDirective = ($rootscope, $repo, $confirm) ->
<% _.each(category.permissions, function(permission) { %>
- <%- permission.description %> +
- disabled="disabled"<% } %> <% if(permission.active) { %>checked="checked"<% } %>/> + disabled="disabled" <% } %> + <% if(permission.active) { %> checked="checked" <% } %>/>
- Yes - No + +
<% }) %> @@ -323,47 +329,62 @@ RolePermissionsDirective = ($rootscope, $repo, $confirm) -> categories = [] milestonePermissions = [ - { key: "view_milestones", description: "View sprints" } - { key: "add_milestone", description: "Add sprint" } - { key: "modify_milestone", description: "Modify sprint" } - { key: "delete_milestone", description: "Delete sprint" } + { key: "view_milestones", name: "COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS"} + { key: "add_milestone", name: "COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS"} + { key: "modify_milestone", name: "COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS"} + { key: "delete_milestone", name: "COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS"} ] - categories.push({ name: "Sprints", permissions: setActivePermissions(milestonePermissions) }) + categories.push({ + name: "COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME", + permissions: setActivePermissions(milestonePermissions) + }) userStoryPermissions = [ - { key: "view_us", description: "View user story" } - { key: "add_us", description: "Add user story" } - { key: "modify_us", description: "Modify user story" } - { key: "delete_us", description: "Delete user story" } + { key: "view_us", name: "COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES"} + { key: "add_us", name: "COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES"} + { key: "modify_us", name: "COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES"} + { key: "delete_us", name: "COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES"} ] - categories.push({ name: "User Stories", permissions: setActivePermissions(userStoryPermissions) }) + categories.push({ + name: "COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME", + permissions: setActivePermissions(userStoryPermissions) + }) taskPermissions = [ - { key: "view_tasks", description: "View tasks" } - { key: "add_task", description: "Add task" } - { key: "modify_task", description: "Modify task" } - { key: "delete_task", description: "Delete task" } + { key: "view_tasks", name: "COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS"} + { key: "add_task", name: "COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS"} + { key: "modify_task", name: "COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS"} + { key: "delete_task", name: "COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS"} ] - categories.push({ name: "Tasks", permissions: setActivePermissions(taskPermissions) }) + categories.push({ + name: "COMMON.PERMISIONS_CATEGORIES.TASKS.NAME" , + permissions: setActivePermissions(taskPermissions) + }) issuePermissions = [ - { key: "view_issues", description: "View issues" } - { key: "add_issue", description: "Add issue" } - { key: "modify_issue", description: "Modify issue" } - { key: "delete_issue", description: "Delete issue" } + { key: "view_issues", name: "COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES"} + { key: "add_issue", name: "COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES"} + { key: "modify_issue", name: "COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES"} + { key: "delete_issue", name: "COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES"} ] - categories.push({ name: "Issues", permissions: setActivePermissions(issuePermissions) }) + categories.push({ + name: "COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME", + permissions: setActivePermissions(issuePermissions) + }) wikiPermissions = [ - { key: "view_wiki_pages", description: "View wiki pages" } - { key: "add_wiki_page", description: "Add wiki page" } - { key: "modify_wiki_page", description: "Modify wiki page" } - { key: "delete_wiki_page", description: "Delete wiki page" } - { key: "view_wiki_links", description: "View wiki links" } - { key: "add_wiki_link", description: "Add wiki link" } - { key: "delete_wiki_link", description: "Delete wiki link" } + { key: "view_wiki_pages", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES"} + { key: "add_wiki_page", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES"} + { key: "modify_wiki_page", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES"} + { key: "delete_wiki_page", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES"} + { key: "view_wiki_links", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS"} + { key: "add_wiki_link", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS"} + { key: "delete_wiki_link", name: "COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS"} ] - categories.push({ name: "Wiki", permissions: setActivePermissions(wikiPermissions) }) + categories.push({ + name: "COMMON.PERMISIONS_CATEGORIES.WIKI.NAME", + permissions: setActivePermissions(wikiPermissions) + }) return setActivePermissionsPerCategory(categories) @@ -374,7 +395,7 @@ RolePermissionsDirective = ($rootscope, $repo, $confirm) -> html = categoryTemplate({category: category, index: index}) html = angular.element(html) renderResume(html, category) - return html + return $compile(html)($scope) renderPermissions = () -> $el.off() @@ -435,4 +456,5 @@ RolePermissionsDirective = ($rootscope, $repo, $confirm) -> return {link:link} -module.directive("tgRolePermissions", ["$rootScope", "$tgRepo", "$tgConfirm", RolePermissionsDirective]) +module.directive("tgRolePermissions", ["$rootScope", "$tgRepo", "$tgConfirm", "$compile", + RolePermissionsDirective]) diff --git a/app/locales/locale-en.json b/app/locales/locale-en.json index c028ffab..d29b8ca9 100644 --- a/app/locales/locale-en.json +++ b/app/locales/locale-en.json @@ -121,6 +121,46 @@ "PREVIEW_BUTTON": "Preview", "EDIT_BUTTON": "Edit", "MARKDOWN_HELP": "Markdown syntax help" + }, + "PERMISIONS_CATEGORIES": { + "SPRINTS": { + "NAME": "Sprints", + "VIEW_SPRINTS": "View sprints", + "ADD_SPRINTS": "Add sprints", + "MODIFY_SPRINTS": "Modify sprints", + "DELETE_SPRINTS": "Delete sprints" + }, + "USER_STORIES": { + "NAME": "User Stories", + "VIEW_USER_STORIES": "View user stories", + "ADD_USER_STORIES": "Add user stories", + "MODIFY_USER_STORIES": "Modify user stories", + "DELETE_USER_STORIES": "Delete user stories" + }, + "TASKS": { + "NAME": "Tasks", + "VIEW_TASKS": "View tasks", + "ADD_TASKS": "Add tasks", + "MODIFY_TASKS": "Modify tasks", + "DELETE_TASKS": "Delete tasks" + }, + "ISSUES": { + "NAME": "Issues", + "VIEW_ISSUES": "View issues", + "ADD_ISSUES": "Add issues", + "MODIFY_ISSUES": "Modify issues", + "DELETE_ISSUES": "Delete issues" + }, + "WIKI": { + "NAME": "Wiki", + "VIEW_WIKI_PAGES": "View wiki pages", + "ADD_WIKI_PAGES": "Add wiki pages", + "MODIFY_WIKI_PAGES": "Modify wiki pages", + "DELETE_WIKI_PAGES": "Delete wiki pages", + "VIEW_WIKI_LINKS": "View wiki links", + "ADD_WIKI_LINKS": "Add wiki links", + "DELETE_WIKI_LINKS": "Delete wiki links" + } } }, "AUTH": { @@ -267,7 +307,8 @@ "TITLE_DELETE_ROLE": "Delete Role", "REPLACEMENT_ROLE": "All the users with this role will be moved to", "WARNING_DELETE_ROLE": "Be careful, all role estimations will be removed", - "ERROR_DELETE_ALL": "You can't delete all values" + "ERROR_DELETE_ALL": "You can't delete all values", + "EXTERNAL_USER": "External user" }, "THIRD_PARTIES": { "SECRET_KEY": "Secret key", diff --git a/app/locales/locale-es.json b/app/locales/locale-es.json index 9ee1b99c..b00da866 100644 --- a/app/locales/locale-es.json +++ b/app/locales/locale-es.json @@ -119,6 +119,46 @@ "PREVIEW_BUTTON": "Previsualizar", "EDIT_BUTTON": "Editar", "MARKDOWN_HELP": "Ayuda de sintaxis Markdown" + }, + "PERMISIONS_CATEGORIES": { + "SPRINTS": { + "NAME": "Sprints", + "VIEW_SPRINTS": "Ver sprints", + "ADD_SPRINTS": "Crear sprints", + "MODIFY_SPRINTS": "Editar sprints", + "DELETE_SPRINTS": "Borrar sprints" + }, + "USER_STORIES": { + "NAME": "Historias de Usuario", + "VIEW_USER_STORIES": "Ver historias de usuario", + "ADD_USER_STORIES": "Crear historias de usuario", + "MODIFY_USER_STORIES": "Editar historias de usuario", + "DELETE_USER_STORIES": "Borrar historias de usuario" + }, + "TASKS": { + "NAME": "Tareas", + "VIEW_TASKS": "Ver tareas", + "ADD_TASKS": "Crear tareas", + "MODIFY_TASKS": "Editar tareas", + "DELETE_TASKS": "Borrar tareas" + }, + "ISSUES": { + "NAME": "Peticiones", + "VIEW_ISSUES": "Ver peticiones", + "ADD_ISSUES": "Crear peticiones", + "MODIFY_ISSUES": "Editar peticiones", + "DELETE_ISSUES": "Borrar peticiones" + }, + "WIKI": { + "NAME": "Wiki", + "VIEW_WIKI_PAGES": "Ver páginas", + "ADD_WIKI_PAGES": "Crear páginas", + "MODIFY_WIKI_PAGES": "Editar páginas", + "DELETE_WIKI_PAGES": "Borrar páginas", + "VIEW_WIKI_LINKS": "Ver enlaces", + "ADD_WIKI_LINKS": "Crear enlaces", + "DELETE_WIKI_LINKS": "Borrar enlaces" + } } }, "AUTH": { @@ -265,7 +305,8 @@ "TITLE_DELETE_ROLE": "Borrar Rol", "REPLACEMENT_ROLE": "Todos los usuarios con este rol serán movidos a", "WARNING_DELETE_ROLE": "Cuidado, todas las estimaciones asociadas a este rol se perderán", - "ERROR_DELETE_ALL": "Usted no puede eliminar todos los valores" + "ERROR_DELETE_ALL": "Usted no puede eliminar todos los valores", + "EXTERNAL_USER": "Usuario externo" }, "THIRD_PARTIES": { "SECRET_KEY": "Secret key",