### # Copyright (C) 2014-2017 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # # File: project-router.controller.coffee ### class ProjectRouterController @.$inject = [ "$routeParams", "$location" "tgProjectService" "$tgResources" "$tgSections" ] constructor: (@routeParams, @location, @projectService, @rs, @tgSections) -> @getProjectHomepage() .then (section) => if section @location.url("project/#{@routeParams.pslug}/#{section}") else @gotoDefaultProjectHomepage() .then null, -> @gotoDefaultProjectHomepage() gotoDefaultProjectHomepage: () -> @location.url("project/#{@routeParams.pslug}/timeline") getProjectHomepage: () -> sections = @tgSections.list() project = @projectService.project.toJS() @rs.userProjectSettings.list().then (userProjectSettings) -> settings = _.find(userProjectSettings, {"project": project.id}) return if !settings section = _.find(sections, {"id": settings.homepage}) return if !section return section.path angular.module("taigaProjects").controller("ProjectRouter", ProjectRouterController)