[i18n] Translate the team page and fix the filter
parent
18d9376812
commit
a33ecb9570
|
@ -45,7 +45,8 @@ class TeamController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
"$translate"
|
"$translate"
|
||||||
]
|
]
|
||||||
|
|
||||||
constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appTitle, @auth, tgLoader, @translate) ->
|
constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appTitle, @auth, tgLoader,
|
||||||
|
@translate) ->
|
||||||
@scope.sectionName = "TEAM.SECTION_NAME"
|
@scope.sectionName = "TEAM.SECTION_NAME"
|
||||||
|
|
||||||
promise = @.loadInitialData()
|
promise = @.loadInitialData()
|
||||||
|
@ -138,6 +139,7 @@ class TeamController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
|
|
||||||
module.controller("TeamController", TeamController)
|
module.controller("TeamController", TeamController)
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## Team Filters Directive
|
## Team Filters Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -149,6 +151,7 @@ TeamFiltersDirective = () ->
|
||||||
|
|
||||||
module.directive("tgTeamFilters", [TeamFiltersDirective])
|
module.directive("tgTeamFilters", [TeamFiltersDirective])
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## Team Member Stats Directive
|
## Team Member Stats Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -167,6 +170,7 @@ TeamMemberStatsDirective = () ->
|
||||||
|
|
||||||
module.directive("tgTeamMemberStats", TeamMemberStatsDirective)
|
module.directive("tgTeamMemberStats", TeamMemberStatsDirective)
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## Team Current User Directive
|
## Team Current User Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -186,6 +190,7 @@ TeamMemberCurrentUserDirective = () ->
|
||||||
|
|
||||||
module.directive("tgTeamCurrentUser", TeamMemberCurrentUserDirective)
|
module.directive("tgTeamCurrentUser", TeamMemberCurrentUserDirective)
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## Team Members Directive
|
## Team Members Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -208,6 +213,7 @@ TeamMembersDirective = () ->
|
||||||
|
|
||||||
module.directive("tgTeamMembers", TeamMembersDirective)
|
module.directive("tgTeamMembers", TeamMembersDirective)
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## Leave project Directive
|
## Leave project Directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -236,10 +242,17 @@ LeaveProjectDirective = ($repo, $confirm, $location, $rs, $navurls, $translate)
|
||||||
link: link
|
link: link
|
||||||
}
|
}
|
||||||
|
|
||||||
module.directive("tgLeaveProject", ["$tgRepo", "$tgConfirm", "$tgLocation", "$tgResources", "$tgNavUrls", LeaveProjectDirective])
|
module.directive("tgLeaveProject", ["$tgRepo", "$tgConfirm", "$tgLocation", "$tgResources", "$tgNavUrls",
|
||||||
|
LeaveProjectDirective])
|
||||||
|
|
||||||
module.filter 'membersRoleFilter', () ->
|
|
||||||
(input, filtersRole) ->
|
#############################################################################
|
||||||
if filtersRole?
|
## Team Filters
|
||||||
return _.filter(input, {role: filtersRole.id})
|
#############################################################################
|
||||||
return input
|
|
||||||
|
membersFilter = ->
|
||||||
|
return (members, filtersQ, filtersRole) ->
|
||||||
|
return _.filter members, (m) -> (not filtersRole or m.role == filtersRole.id) and
|
||||||
|
(not filtersQ or m.full_name.search(new RegExp(filtersQ, "i")) >= 0)
|
||||||
|
|
||||||
|
module.filter('membersFilter', membersFilter)
|
||||||
|
|
|
@ -818,7 +818,7 @@
|
||||||
"TEAM": {
|
"TEAM": {
|
||||||
"SECTION_NAME": "Team",
|
"SECTION_NAME": "Team",
|
||||||
"APP_TITLE": "TEAM - {{projectName}}",
|
"APP_TITLE": "TEAM - {{projectName}}",
|
||||||
"PLACEHOLDER_INPUT_SEARCH": "Search by username or role...",
|
"PLACEHOLDER_INPUT_SEARCH": "Search by full name...",
|
||||||
"COLUMN_MR_WOLF": "Mr. Wolf",
|
"COLUMN_MR_WOLF": "Mr. Wolf",
|
||||||
"EXPLANATION_COLUMN_MR_WOLF": "Closed issues",
|
"EXPLANATION_COLUMN_MR_WOLF": "Closed issues",
|
||||||
"COLUMN_IOCAINE": "Iocaine Drinker",
|
"COLUMN_IOCAINE": "Iocaine Drinker",
|
||||||
|
|
|
@ -815,7 +815,7 @@
|
||||||
"TEAM": {
|
"TEAM": {
|
||||||
"SECTION_NAME": "Equipo",
|
"SECTION_NAME": "Equipo",
|
||||||
"APP_TITLE": "EQUIPO - {{projectName}}",
|
"APP_TITLE": "EQUIPO - {{projectName}}",
|
||||||
"PLACEHOLDER_INPUT_SEARCH": "Buscar por nombre de usuario o rol",
|
"PLACEHOLDER_INPUT_SEARCH": "Buscar por nombre completo...",
|
||||||
"COLUMN_MR_WOLF": "Sr. Lobo",
|
"COLUMN_MR_WOLF": "Sr. Lobo",
|
||||||
"EXPLANATION_COLUMN_MR_WOLF": "Peticiones cerradas",
|
"EXPLANATION_COLUMN_MR_WOLF": "Peticiones cerradas",
|
||||||
"COLUMN_IOCAINE": "Bebedor de Iocaína",
|
"COLUMN_IOCAINE": "Bebedor de Iocaína",
|
||||||
|
@ -831,7 +831,7 @@
|
||||||
"SECTION_TITLE_TEAM": "Equipo >",
|
"SECTION_TITLE_TEAM": "Equipo >",
|
||||||
"SECTION_FILTER_ALL": "Todo",
|
"SECTION_FILTER_ALL": "Todo",
|
||||||
"CONFIRM_LEAVE_PROJECT": "¿Esta seguro que desea dejar el proyecto?",
|
"CONFIRM_LEAVE_PROJECT": "¿Esta seguro que desea dejar el proyecto?",
|
||||||
"ACTION_LEAVE_PROJECT": "Abandonar esté proyecto"
|
"ACTION_LEAVE_PROJECT": "Abandonar este proyecto"
|
||||||
},
|
},
|
||||||
"CHANGE_PASSWORD": {
|
"CHANGE_PASSWORD": {
|
||||||
"SECTION_NAME": "Cambiar contraseña",
|
"SECTION_NAME": "Cambiar contraseña",
|
||||||
|
|
|
@ -815,7 +815,7 @@
|
||||||
"TEAM": {
|
"TEAM": {
|
||||||
"SECTION_NAME": "Equipe",
|
"SECTION_NAME": "Equipe",
|
||||||
"APP_TITLE": "EQUIPE - {{projectName}}",
|
"APP_TITLE": "EQUIPE - {{projectName}}",
|
||||||
"PLACEHOLDER_INPUT_SEARCH": "Rechercher par nom ou par rôle...",
|
"PLACEHOLDER_INPUT_SEARCH": "Rechercher par nom...",
|
||||||
"COLUMN_MR_WOLF": "Mr. Wolf",
|
"COLUMN_MR_WOLF": "Mr. Wolf",
|
||||||
"EXPLANATION_COLUMN_MR_WOLF": "Bugs fermés",
|
"EXPLANATION_COLUMN_MR_WOLF": "Bugs fermés",
|
||||||
"COLUMN_IOCAINE": "Buveur de iocaine",
|
"COLUMN_IOCAINE": "Buveur de iocaine",
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
a.leave-project(ng-click='leave()', href='')
|
a.leave-project(ng-click="leave()", href="")
|
||||||
span.icon.icon-delete
|
span.icon.icon-delete
|
||||||
| {{"TEAM.ACTION_LEAVE_PROJECT" | translate}}
|
| {{ 'TEAM.ACTION_LEAVE_PROJECT' | translate }}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
a(ng-class='{active: !filtersRole.id}', ng-click='ctrl.setRole()', href='')
|
a(ng-class="{active: !filtersRole.id}", ng-click="ctrl.setRole()", href="")
|
||||||
span.title(translate="TEAM.SECTION_FILTER_ALL")
|
span.title(translate="TEAM.SECTION_FILTER_ALL")
|
||||||
span.icon.icon-arrow-right
|
span.icon.icon-arrow-right
|
||||||
|
|
||||||
li(ng-repeat='role in roles')
|
li(ng-repeat="role in roles")
|
||||||
a(ng-class='{active: role.id == filtersRole.id}', ng-click='ctrl.setRole(role)', href='')
|
a(ng-class="{active: role.id == filtersRole.id}", ng-click="ctrl.setRole(role)", href="")
|
||||||
span.title(tg-bo-bind='role.name')
|
span.title(tg-bo-bind="role.name")
|
||||||
span.icon.icon-arrow-right
|
span.icon.icon-arrow-right
|
||||||
|
|
|
@ -1,13 +1,17 @@
|
||||||
.row
|
.row
|
||||||
.username
|
.username
|
||||||
figure.avatar
|
figure.avatar
|
||||||
img(tg-bo-src='currentUser.photo', tg-bo-alt='currentUser.full_name')
|
img(tg-bo-src="currentUser.photo", tg-bo-alt="currentUser.full_name")
|
||||||
|
|
||||||
figcaption
|
figcaption
|
||||||
span.name(tg-bo-bind='currentUser.full_name')
|
span.name(tg-bo-bind="currentUser.full_name")
|
||||||
|
|
||||||
span.position(tg-bo-bind='currentUser.role_name')
|
span.position(tg-bo-bind="currentUser.role_name")
|
||||||
|
|
||||||
div(tg-leave-project='', projectid='{{projectId}}')
|
div(tg-leave-project="", projectid="{{projectId}}")
|
||||||
|
|
||||||
.member-stats(tg-team-member-stats, stats="stats", user="currentUser.user", issuesEnabled="issuesEnabled", tasksenabled="tasksEnabled", wikienabled="wikiEnabled")
|
.member-stats(tg-team-member-stats, stats="stats",
|
||||||
|
user="currentUser.user",
|
||||||
|
issuesEnabled="issuesEnabled",
|
||||||
|
tasksenabled="tasksEnabled",
|
||||||
|
wikienabled="wikiEnabled")
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
.attribute(ng-if='issuesEnabled')
|
.attribute(ng-if="issuesEnabled")
|
||||||
span.icon.icon-briefcase(ng-style="{'opacity': stats.closed_bugs[userId]}", ng-class="{'top': stats.closed_bugs[userId] == 1}")
|
span.icon.icon-briefcase(ng-style="{'opacity': stats.closed_bugs[userId]}",
|
||||||
|
ng-class="{'top': stats.closed_bugs[userId] == 1}")
|
||||||
|
|
||||||
.attribute(ng-if='tasksEnabled')
|
.attribute(ng-if="tasksEnabled")
|
||||||
span.icon.icon-iocaine(ng-style="{'opacity': stats.iocaine_tasks[userId]}", ng-class="{'top': stats.iocaine_tasks[userId] == 1}")
|
span.icon.icon-iocaine(ng-style="{'opacity': stats.iocaine_tasks[userId]}",
|
||||||
|
ng-class="{'top': stats.iocaine_tasks[userId] == 1}")
|
||||||
|
|
||||||
.attribute(ng-if='wikiEnabled')
|
.attribute(ng-if="wikiEnabled")
|
||||||
span.icon.icon-writer(ng-style="{'opacity': stats.wiki_changes[userId]}", ng-class="{'top': stats.wiki_changes[userId] == 1}")
|
span.icon.icon-writer(ng-style="{'opacity': stats.wiki_changes[userId]}",
|
||||||
|
ng-class="{'top': stats.wiki_changes[userId] == 1}")
|
||||||
|
|
||||||
.attribute(ng-if='issuesEnabled')
|
.attribute(ng-if="issuesEnabled")
|
||||||
span.icon.icon-bug(ng-style="{'opacity': stats.created_bugs[userId]}", ng-class="{'top': stats.created_bugs[userId] == 1}")
|
span.icon.icon-bug(ng-style="{'opacity': stats.created_bugs[userId]}",
|
||||||
|
ng-class="{'top': stats.created_bugs[userId] == 1}")
|
||||||
|
|
||||||
.attribute(ng-if='tasksEnabled')
|
.attribute(ng-if="tasksEnabled")
|
||||||
span.icon.icon-tasks(ng-style="{'opacity': stats.closed_tasks[userId]}", ng-class="{'top': stats.closed_tasks[userId] == 1}")
|
span.icon.icon-tasks(ng-style="{'opacity': stats.closed_tasks[userId]}",
|
||||||
|
ng-class="{'top': stats.closed_tasks[userId] == 1}")
|
||||||
|
|
||||||
.attribute
|
.attribute
|
||||||
span.points(ng-bind='stats.totals[userId]')
|
span.points(ng-bind="stats.totals[userId]")
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
.row.member(ng-repeat='user in memberships | filter:filtersQ | membersRoleFilter:filtersRole')
|
.row.member(ng-repeat="user in memberships | membersFilter:filtersQ:filtersRole")
|
||||||
.username
|
.username
|
||||||
figure.avatar
|
figure.avatar
|
||||||
img(tg-bo-src='user.photo', tg-bo-alt='user.full_name')
|
img(tg-bo-src="user.photo", tg-bo-alt="user.full_name")
|
||||||
|
|
||||||
figcaption
|
figcaption
|
||||||
span.name(tg-bo-bind='user.full_name')
|
span.name(tg-bo-bind="user.full_name")
|
||||||
|
|
||||||
span.position(tg-bo-bind='user.role_name')
|
span.position(tg-bo-bind="user.role_name")
|
||||||
|
|
||||||
.member-stats(tg-team-member-stats, stats="stats", user="user.user", issuesEnabled="issuesEnabled", tasksenabled="tasksEnabled", wikienabled="wikiEnabled")
|
.member-stats(tg-team-member-stats, stats="stats",
|
||||||
|
user="user.user",
|
||||||
|
issuesEnabled="issuesEnabled",
|
||||||
|
tasksenabled="tasksEnabled",
|
||||||
|
wikienabled="wikiEnabled")
|
||||||
|
|
Loading…
Reference in New Issue