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("""
-
<% _.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",