Merge pull request #858 from taigaio/user-settings-plugins-support

user settings plugins support
stable
David Barragán Merino 2016-02-09 11:11:42 +01:00
commit c862e1eb4d
5 changed files with 36 additions and 0 deletions

View File

@ -335,6 +335,10 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
$routeProvider.when("/cancel-account/:cancel_token",
{templateUrl: "user/cancel-account.html"})
# UserSettings - Contrib Plugins
$routeProvider.when("/user-settings/contrib/:plugin",
{templateUrl: "contrib/user-settings.html"})
# User profile
$routeProvider.when("/profile",
{
@ -594,6 +598,7 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
# Taiga Plugins
$rootscope.contribPlugins = @.taigaContribPlugins
$rootscope.adminPlugins = _.filter(@.taigaContribPlugins, {"type": "admin"})
$rootscope.userSettingsPlugins = _.filter(@.taigaContribPlugins, {"type": "userSettings"})
$rootscope.$on "$translateChangeEnd", (e, ctx) ->
lang = ctx.language

View File

@ -112,6 +112,7 @@ urls = {
"user-settings-user-change-password": "/user-settings/user-change-password"
"user-settings-user-avatar": "/user-settings/user-avatar"
"user-settings-mail-notifications": "/user-settings/mail-notifications"
"user-settings-contrib": "/user-settings/contrib/:plugin"
}

View File

@ -56,3 +56,16 @@ class ContribController extends taiga.Controller
return @.loadProject()
module.controller("ContribController", ContribController)
class ContribUserSettingsController extends taiga.Controller
@.$inject = [
"$rootScope",
"$scope",
"$routeParams"
]
constructor: (@rootScope, @scope, @params) ->
@scope.currentPlugin = _.head(_.filter(@rootScope.userSettingsPlugins, {"slug": @params.plugin}))
module.controller("ContribUserSettingsController", ContribUserSettingsController)

View File

@ -0,0 +1,10 @@
doctype html
div.wrapper(
ng-controller="ContribUserSettingsController as ctrl"
ng-init="section='user-settings'"
)
sidebar.menu-secondary.sidebar.settings-nav(tg-user-settings-navigation)
include ../includes/modules/user-settings-menu
section.main(ng-include="currentPlugin.template")

View File

@ -10,3 +10,10 @@ section.admin-menu
li#usersettingsmenu-mail-notifications
a(href="", tg-nav="user-settings-mail-notifications", title="{{ 'USER_SETTINGS.MENU.EMAIL_NOTIFICATIONS' | translate }}")
span.title(translate="USER_SETTINGS.MENU.EMAIL_NOTIFICATIONS")
li#usersettings-contrib(ng-repeat="plugin in userSettingsPlugins")
a(
href=""
tg-nav="user-settings-contrib:plugin=plugin.slug"
ng-class="{active: plugin.slug == currentPlugin.slug}"
)
span.title {{ plugin.name }}