From d748a41e2896c6d3bf5b28e67acc95a4499d6c81 Mon Sep 17 00:00:00 2001 From: Juanfran Date: Fri, 5 Feb 2016 09:33:19 +0100 Subject: [PATCH] user settings plugins support --- app/coffee/app.coffee | 5 +++++ app/coffee/modules/base.coffee | 1 + app/coffee/modules/base/contrib.coffee | 13 +++++++++++++ app/partials/contrib/user-settings.jade | 10 ++++++++++ .../includes/modules/user-settings-menu.jade | 7 +++++++ 5 files changed, 36 insertions(+) create mode 100644 app/partials/contrib/user-settings.jade diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 5d782823..2a860aea 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -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 diff --git a/app/coffee/modules/base.coffee b/app/coffee/modules/base.coffee index feeb02f8..e0b8c33b 100644 --- a/app/coffee/modules/base.coffee +++ b/app/coffee/modules/base.coffee @@ -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" } diff --git a/app/coffee/modules/base/contrib.coffee b/app/coffee/modules/base/contrib.coffee index 3db5a643..e8607fef 100644 --- a/app/coffee/modules/base/contrib.coffee +++ b/app/coffee/modules/base/contrib.coffee @@ -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) diff --git a/app/partials/contrib/user-settings.jade b/app/partials/contrib/user-settings.jade new file mode 100644 index 00000000..2af06472 --- /dev/null +++ b/app/partials/contrib/user-settings.jade @@ -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") \ No newline at end of file diff --git a/app/partials/includes/modules/user-settings-menu.jade b/app/partials/includes/modules/user-settings-menu.jade index 68afaab3..05a7cb7c 100644 --- a/app/partials/includes/modules/user-settings-menu.jade +++ b/app/partials/includes/modules/user-settings-menu.jade @@ -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 }}