diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index a3942d4c..259d97a9 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -44,10 +44,10 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven access: { requiresLogin: true }, + title: "PROJECT.WELCOME", resolve: { loader: tgLoaderProvider.add(true), pageParams: -> { - "title": "PROJECT.WELCOME" } } } @@ -59,25 +59,24 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven access: { requiresLogin: true }, + title: "PROJECT.SECTION_PROJECTS", resolve: { - loader: tgLoaderProvider.add(true), - pageParams: -> { - "title": "PROJECT.SECTION_PROJECTS" - } - }, - controller: "Page" + loader: tgLoaderProvider.add(true) + } } ) $routeProvider.when("/project/:pslug/", { - templateUrl: "projects/project/project-page.html", + templateUrl: "projects/project/project.html", access: { requiresLogin: true }, resolve: { loader: tgLoaderProvider.add(true) - } + }, + controller: "Project", + controllerAs: "vm" } ) @@ -354,7 +353,7 @@ i18nInit = (lang, $translate) -> checksley.updateMessages('default', messages) -init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls) -> +init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, $appTitle) -> $log.debug("Initialize application") # Taiga Plugins @@ -378,6 +377,9 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na if !$auth.isAuthenticated() $location.path($navUrls.resolve("login")) + if next.title + $translate(next.title).then (text) => $appTitle.set(text) + modules = [ # Main Global Modules "taigaBase", @@ -412,7 +414,6 @@ modules = [ # new modules "taigaProfile", "taigaHome", - "taigaPage", "taigaUserTimeline", # template cache @@ -450,5 +451,6 @@ module.run([ "$translate", "$tgLocation", "$tgNavUrls", + "$appTitle", init ]) diff --git a/app/modules/page/page.controller.coffee b/app/modules/page/page.controller.coffee deleted file mode 100644 index 3bdaf835..00000000 --- a/app/modules/page/page.controller.coffee +++ /dev/null @@ -1,12 +0,0 @@ -class PageController extends taiga.Controller - @.$inject = [ - "$appTitle", - "$translate", - "pageParams" - ] - - constructor: (@appTitle, @translate, @pageParams) -> - if @pageParams.title - @translate(@pageParams.title).then (text) => @appTitle.set(text) - -angular.module("taigaPage").controller("Page", PageController) diff --git a/app/modules/page/page.controller.spec.coffee b/app/modules/page/page.controller.spec.coffee deleted file mode 100644 index dac7d66c..00000000 --- a/app/modules/page/page.controller.spec.coffee +++ /dev/null @@ -1,62 +0,0 @@ -describe "PageController", -> - pageCtrl = null - provide = null - controller = null - mocks = {} - - _mockPageParams = () -> - mocks.pageParams = {} - - provide.value "pageParams", mocks.pageParams - - _mockAppTitle = () -> - mocks.appTitle = { - set: sinon.spy() - } - - provide.value "$appTitle", mocks.appTitle - - _mockTranslate = () -> - mocks.translate = sinon.stub() - - provide.value "$translate", mocks.translate - - _mocks = () -> - module ($provide) -> - provide = $provide - _mockAppTitle() - _mockPageParams() - _mockTranslate() - - return null - - beforeEach -> - module "taigaPage" - - _mocks() - - inject ($controller) -> - controller = $controller - - describe "page title", () -> - it "if title is defined set it", () -> - thenStub = sinon.stub() - - mocks.pageParams.title = "TITLE" - mocks.translate.withArgs("TITLE").returns({ - then: thenStub - }) - - pageCtrl = controller "Page", - $scope: {} - - thenStub.callArg(0, "TITLE") - - expect(mocks.appTitle.set.withArgs("TITLE")).have.been.calledOnce - - it "if title is not defined not call appTitle", () -> - pageCtrl = controller "Page", - $scope: {} - - expect(mocks.translate).have.callCount(0) - expect(mocks.appTitle.set.withArgs("TITLE")).have.callCount(0) diff --git a/app/modules/page/page.module.coffee b/app/modules/page/page.module.coffee deleted file mode 100644 index 82f679b0..00000000 --- a/app/modules/page/page.module.coffee +++ /dev/null @@ -1 +0,0 @@ -module = angular.module("taigaPage", []) diff --git a/app/modules/profile/profile-page.controller.coffee b/app/modules/profile/profile-page.controller.coffee new file mode 100644 index 00000000..891b08b3 --- /dev/null +++ b/app/modules/profile/profile-page.controller.coffee @@ -0,0 +1,12 @@ +class ProfilePageController extends taiga.Controller + @.$inject = [ + "$appTitle", + "$tgAuth" + ] + + constructor: (@appTitle, @auth) -> + user = @auth.getUser() + + @appTitle.set(user.username) + +angular.module("taigaProfile").controller("ProfilePage", ProfilePageController) diff --git a/app/modules/profile/profile-page.controller.spec.coffee b/app/modules/profile/profile-page.controller.spec.coffee new file mode 100644 index 00000000..cb17556e --- /dev/null +++ b/app/modules/profile/profile-page.controller.spec.coffee @@ -0,0 +1,47 @@ +describe "PageController", -> + pageCtrl = null + provide = null + controller = null + mocks = {} + + _mockAuth = () -> + mocks.authService = { + getUser: sinon.stub() + } + + provide.value "$tgAuth", mocks.authService + + _mockAppTitle = () -> + mocks.appTitle = { + set: sinon.spy() + } + + provide.value "$appTitle", mocks.appTitle + + _mocks = () -> + module ($provide) -> + provide = $provide + _mockAppTitle() + _mockAuth() + + return null + + beforeEach -> + module "taigaProfile" + + _mocks() + + inject ($controller) -> + controller = $controller + + it "set the username as title", () -> + user = { + username: 'UserName' + } + + mocks.authService.getUser.returns(user) + + pageCtrl = controller "ProfilePage", + $scope: {} + + expect(mocks.appTitle.set.withArgs(user.username)).have.been.calledOnce diff --git a/app/modules/profile/profile.jade b/app/modules/profile/profile-page.jade similarity index 100% rename from app/modules/profile/profile.jade rename to app/modules/profile/profile-page.jade diff --git a/app/modules/projects/project/project.jade b/app/modules/projects/project/project.jade index 339d0880..0551d025 100644 --- a/app/modules/projects/project/project.jade +++ b/app/modules/projects/project/project.jade @@ -11,7 +11,7 @@ div.wrapper div.project-data section.timeline - span TODO. Missing the amazing timeline around!!dfdfdf + div(tg-user-timeline) section.involved-data h2.title Team ul.involved-team