diff --git a/dist/index.html b/dist/index.html index 85e65e1..513d8c2 100644 --- a/dist/index.html +++ b/dist/index.html @@ -84,8 +84,8 @@

- - - + + + \ No newline at end of file diff --git a/dist/js/app-loader.js b/dist/js/app-loader.js index 850251b..5388efd 100644 --- a/dist/js/app-loader.js +++ b/dist/js/app-loader.js @@ -1,7 +1,7 @@ (function() { var promise, version; - version = 1439792148866; + version = 1441715868801; window.taigaConfig = { "api": "http://localhost:8000/api/v1/", diff --git a/dist/js/app.js b/dist/js/app.js index 8844a40..363fc10 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -46,8 +46,9 @@ taiga.sessionId = taiga.generateUniqueSessionIdentifier(); - configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, $compileProvider, $translateProvider) { + configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, $compileProvider, $translateProvider, $animateProvider) { var authHttpIntercept, defaultHeaders, loaderIntercept, originalWhen, preferedLangCode, userInfo, versionCheckHttpIntercept; + $animateProvider.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/); originalWhen = $routeProvider.when; $routeProvider.when = function(path, route) { route.resolve || (route.resolve = {}); @@ -487,7 +488,7 @@ module = angular.module("taiga", modules); - module.config(["$routeProvider", "$locationProvider", "$httpProvider", "$provide", "$tgEventsProvider", "$compileProvider", "$translateProvider", configure]); + module.config(["$routeProvider", "$locationProvider", "$httpProvider", "$provide", "$tgEventsProvider", "$compileProvider", "$translateProvider", "$animateProvider", configure]); module.run(["$log", "$rootScope", "$tgAuth", "$tgEvents", "$tgAnalytics", "$translate", "$tgLocation", "$tgNavUrls", "tgAppMetaService", "tgProjectService", "tgLoader", init]); @@ -2655,7 +2656,7 @@ assigned_to: null }; link = function($scope, $el, $attrs) { - var createTask, render; + var close, createTask, render; createTask = debounce(2000, function(task) { var currentLoading, promise; task.subject = $el.find('input').val(); @@ -2678,8 +2679,13 @@ }); return promise; }); - render = function() { + close = function() { $el.off(); + $el.html(""); + return $scope.newRelatedTaskFormOpen = false; + }; + render = function() { + $scope.newRelatedTaskFormOpen = true; $el.html($compile(template())($scope)); $el.find('input').focus().select(); $el.addClass('active'); @@ -2689,15 +2695,19 @@ return render(); }); } else if (event.keyCode === 27) { - return $el.html(""); + return $scope.$apply(function() { + return close(); + }); } }); $el.on("click", ".icon-delete", function(event) { - return $el.html(""); + return $scope.$apply(function() { + return close(); + }); }); return $el.on("click", ".icon-floppy", function(event) { return createTask(newTask).then(function() { - return $el.html(""); + return close(); }); }); }; @@ -2724,7 +2734,7 @@ RelatedTaskCreateButtonDirective = function($repo, $compile, $confirm, $tgmodel) { var link, template; - template = _.template(""); + template = _.template(""); link = function($scope, $el, $attrs) { $scope.$watch("project", function(val) { if (!val) { @@ -2732,7 +2742,7 @@ } $el.off(); if ($scope.project.my_permissions.indexOf("add_task") !== -1) { - $el.html(template()); + $el.html($compile(template())($scope)); } else { $el.html(""); } @@ -16184,7 +16194,7 @@ module.controller("MembershipsController", MembershipsController); - MembershipsDirective = function($template) { + MembershipsDirective = function($template, $compile) { var link, linkPagination, template; template = $template.get("admin/admin-membership-paginator.html", true); linkPagination = function($scope, $el, $attrs, $ctrl) { @@ -16205,7 +16215,7 @@ return numPages; }; renderPagination = function() { - var cpage, i, j, numPages, options, pages, ref; + var cpage, html, i, j, numPages, options, pages, ref; numPages = getNumPages(); if (numPages <= 1) { $pagEl.hide(); @@ -16246,7 +16256,10 @@ }); } } - return $pagEl.html(template(options)); + html = template(options); + html = $compile(html)($scope); + $pagEl.html(html); + return $pagEl.show(); }; $scope.$watch("memberships", function(value) { if (!value) { @@ -16292,7 +16305,7 @@ }; }; - module.directive("tgMemberships", ["$tgTemplate", MembershipsDirective]); + module.directive("tgMemberships", ["$tgTemplate", "$compile", MembershipsDirective]); MembershipsRowAvatarDirective = function($log, $template) { var link, template; @@ -16464,13 +16477,18 @@ var defaultMsg, message, title; event.preventDefault(); title = $translate.instant("ADMIN.MEMBERSHIP.DELETE_MEMBER"); - defaultMsg = $translate.instant("ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE"); + defaultMsg = $translate.instant("ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE", { + email: member.email + }); message = member.user ? member.full_name : defaultMsg; return $confirm.askOnDelete(title, message).then(function(finish) { var onError, onSuccess; onSuccess = function() { var text; finish(); + if ($scope.page > 1 && ($scope.count - 1) <= $scope.paginatedBy) { + $ctrl.selectFilter("page", $scope.page - 1); + } $ctrl.loadMembers(); text = $translate.instant("ADMIN.MEMBERSHIP.SUCCESS_DELETE"); return $confirm.notify("success", null, text); diff --git a/dist/js/maps/app.js.map b/dist/js/maps/app.js.map index ead1c13..be43420 100644 --- a/dist/js/maps/app.js.map +++ b/dist/js/maps/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["coffee/app.coffee","coffee/classes.coffee","coffee/utils.coffee","coffee/modules/controllerMixins.coffee","coffee/modules/admin.coffee","coffee/modules/auth.coffee","coffee/modules/backlog.coffee","coffee/modules/base.coffee","coffee/modules/common.coffee","coffee/modules/events.coffee","coffee/modules/feedback.coffee","coffee/modules/integrations.coffee","coffee/modules/issues.coffee","coffee/modules/kanban.coffee","coffee/modules/projects.coffee","coffee/modules/related-tasks.coffee","coffee/modules/resources.coffee","coffee/modules/search.coffee","coffee/modules/taskboard.coffee","coffee/modules/tasks.coffee","coffee/modules/team.coffee","coffee/modules/user-settings.coffee","coffee/modules/userstories.coffee","coffee/modules/wiki.coffee","coffee/modules/common/analytics.coffee","coffee/modules/common/attachments.coffee","coffee/modules/common/bind-scope.coffee","coffee/modules/common/compile-html.directive.coffee","coffee/modules/common/components.coffee","coffee/modules/common/confirm.coffee","coffee/modules/common/custom-field-values.coffee","coffee/modules/common/estimation.coffee","coffee/modules/common/filters.coffee","coffee/modules/common/history.coffee","coffee/modules/common/importer.coffee","coffee/modules/common/lightboxes.coffee","coffee/modules/common/loader.coffee","coffee/modules/common/loading.coffee","coffee/modules/common/popovers.coffee","coffee/modules/common/raven-logger.coffee","coffee/modules/common/tags.coffee","coffee/modules/common/wisiwyg.coffee","coffee/modules/backlog/filters.coffee","coffee/modules/backlog/lightboxes.coffee","coffee/modules/backlog/main.coffee","coffee/modules/backlog/sortable.coffee","coffee/modules/backlog/sprints.coffee","coffee/modules/taskboard/charts.coffee","coffee/modules/taskboard/lightboxes.coffee","coffee/modules/taskboard/main.coffee","coffee/modules/taskboard/sortable.coffee","coffee/modules/kanban/main.coffee","coffee/modules/kanban/sortable.coffee","coffee/modules/issues/detail.coffee","coffee/modules/issues/lightboxes.coffee","coffee/modules/issues/list.coffee","coffee/modules/userstories/detail.coffee","coffee/modules/tasks/detail.coffee","coffee/modules/team/main.coffee","coffee/modules/wiki/main.coffee","coffee/modules/wiki/nav.coffee","coffee/modules/admin/lightboxes.coffee","coffee/modules/admin/memberships.coffee","coffee/modules/admin/nav.coffee","coffee/modules/admin/project-profile.coffee","coffee/modules/admin/project-values.coffee","coffee/modules/admin/roles.coffee","coffee/modules/admin/third-parties.coffee","coffee/modules/projects/lightboxes.coffee","coffee/modules/base/bind.coffee","coffee/modules/base/conf.coffee","coffee/modules/base/contrib.coffee","coffee/modules/base/filters.coffee","coffee/modules/base/http.coffee","coffee/modules/base/location.coffee","coffee/modules/base/model.coffee","coffee/modules/base/navurls.coffee","coffee/modules/base/repository.coffee","coffee/modules/base/storage.coffee","coffee/modules/base/urls.coffee","coffee/modules/resources/attachments.coffee","coffee/modules/resources/custom-attributes-values.coffee","coffee/modules/resources/custom-attributes.coffee","coffee/modules/resources/history.coffee","coffee/modules/resources/invitations.coffee","coffee/modules/resources/issues.coffee","coffee/modules/resources/kanban.coffee","coffee/modules/resources/locales.coffee","coffee/modules/resources/mdrender.coffee","coffee/modules/resources/memberships.coffee","coffee/modules/resources/modules.coffee","coffee/modules/resources/notify-policies.coffee","coffee/modules/resources/projects.coffee","coffee/modules/resources/roles.coffee","coffee/modules/resources/search.coffee","coffee/modules/resources/sprints.coffee","coffee/modules/resources/tasks.coffee","coffee/modules/resources/user-settings.coffee","coffee/modules/resources/users.coffee","coffee/modules/resources/userstories.coffee","coffee/modules/resources/webhooklogs.coffee","coffee/modules/resources/webhooks.coffee","coffee/modules/resources/wiki.coffee","coffee/modules/user-settings/change-password.coffee","coffee/modules/user-settings/lightboxes.coffee","coffee/modules/user-settings/main.coffee","coffee/modules/user-settings/nav.coffee","coffee/modules/user-settings/notifications.coffee","modules/components/components.module.coffee","modules/home/home.module.coffee","modules/navigation-bar/navigation-bar.module.coffee","modules/profile/profile.module.coffee","modules/projects/projects.module.coffee","modules/resources/resources.module.coffee","modules/user-timeline/user-timeline.module.coffee","modules/components/project-menu/project-menu.controller.coffee","modules/components/project-menu/project-menu.directive.coffee","modules/feedback/feedback.service.coffee","modules/home/duties/duty.directive.coffee","modules/home/home.service.coffee","modules/home/projects/home-project-list.directive.coffee","modules/home/working-on/working-on.controller.coffee","modules/home/working-on/working-on.directive.coffee","modules/navigation-bar/dropdown-project-list/dropdown-project-list.directive.coffee","modules/navigation-bar/dropdown-user/dropdown-user.directive.coffee","modules/navigation-bar/navigation-bar.directive.coffee","modules/profile/profile-bar/profile-bar.controller.coffee","modules/profile/profile-bar/profile-bar.directive.coffee","modules/profile/profile-contacts/profile-contacts.controller.coffee","modules/profile/profile-contacts/profile-contacts.directive.coffee","modules/profile/profile-hints/profile-hints.controller.coffee","modules/profile/profile-hints/profile-hints.directive.coffee","modules/profile/profile-projects/profile-projects.controller.coffee","modules/profile/profile-projects/profile-projects.directive.coffee","modules/profile/profile-tab/profile-tab.directive.coffee","modules/profile/profile-tabs/profile-tabs.controller.coffee","modules/profile/profile-tabs/profile-tabs.directive.coffee","modules/profile/profile.controller.coffee","modules/projects/components/sort-projects.directive.coffee","modules/projects/listing/projects-listing.controller.coffee","modules/projects/project/project.controller.coffee","modules/projects/projects.service.coffee","modules/resources/issues-resource.service.coffee","modules/resources/projects-resource.service.coffee","modules/resources/resources.coffee","modules/resources/tasks-resource.service.coffee","modules/resources/users-resource.service.coffee","modules/resources/userstories-resource.service.coffee","modules/services/app-meta.service.coffee","modules/services/current-user.service.coffee","modules/services/lightbox-factory.service.coffee","modules/services/paginate-response.service.coffee","modules/services/project.service.coffee","modules/services/scope-event.service.coffee","modules/services/user.service.coffee","modules/services/xhrError.service.coffee","modules/user-timeline/user-timeline-attachment/user-timeline-attachment.directive.coffee","modules/user-timeline/user-timeline-item/user-timeline-item-title.service.coffee","modules/user-timeline/user-timeline-item/user-timeline-item-type.service.coffee","modules/user-timeline/user-timeline-item/user-timeline-item.controller.coffee","modules/user-timeline/user-timeline-item/user-timeline-item.directive.coffee","modules/user-timeline/user-timeline-pagination-sequence/user-timeline-pagination-sequence.service.coffee","modules/user-timeline/user-timeline/user-timeline.controller.coffee","modules/user-timeline/user-timeline/user-timeline.directive.coffee","modules/user-timeline/user-timeline/user-timeline.service.coffee","plugins/main.coffee","plugins/humanshtml/humanshtml.coffee","plugins/terms/terms.coffee","vendor/checksley/i18n/messages.ar.coffee","vendor/checksley/i18n/messages.ca.coffee","vendor/checksley/i18n/messages.cs.coffee","vendor/checksley/i18n/messages.de.coffee","vendor/checksley/i18n/messages.es.coffee","vendor/checksley/i18n/messages.fr.coffee","vendor/checksley/i18n/messages.it.coffee","vendor/checksley/i18n/messages.nl.coffee","vendor/checksley/i18n/messages.ru.coffee","vendor/checksley/i18n/messages.zh_cn.coffee"],"names":[],"mappings":"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","file":"app.js","sourcesContent":["###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: app.coffee\n###\n\n@taiga = taiga = {}\n@.taigaContribPlugins = @.taigaContribPlugins or []\n\n# Generic function for generate hash from a arbitrary length\n# collection of parameters.\ntaiga.generateHash = (components=[]) ->\n components = _.map(components, (x) -> JSON.stringify(x))\n return hex_sha1(components.join(\":\"))\n\n\ntaiga.generateUniqueSessionIdentifier = ->\n date = (new Date()).getTime()\n randomNumber = Math.floor(Math.random() * 0x9000000)\n return taiga.generateHash([date, randomNumber])\n\n\ntaiga.sessionId = taiga.generateUniqueSessionIdentifier()\n\n\nconfigure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider,\n $compileProvider, $translateProvider) ->\n\n # wait until the trasnlation is ready to resolve the page\n originalWhen = $routeProvider.when\n\n $routeProvider.when = (path, route) ->\n route.resolve || (route.resolve = {})\n angular.extend(route.resolve, {\n languageLoad: [\"$q\", \"$translate\", ($q, $translate) ->\n deferred = $q.defer()\n\n $translate().then () -> deferred.resolve()\n\n return deferred.promise\n ]\n })\n\n return originalWhen.call($routeProvider, path, route)\n\n $routeProvider.when(\"/\",\n {\n templateUrl: \"home/home.html\",\n access: {\n requiresLogin: true\n },\n title: \"HOME.PAGE_TITLE\",\n description: \"HOME.PAGE_DESCRIPTION\",\n loader: true\n }\n )\n\n $routeProvider.when(\"/projects/\",\n {\n templateUrl: \"projects/listing/projects-listing.html\",\n access: {\n requiresLogin: true\n },\n title: \"PROJECTS.PAGE_TITLE\",\n description: \"PROJECTS.PAGE_DESCRIPTION\",\n loader: true,\n controller: \"ProjectsListing\",\n controllerAs: \"vm\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/\",\n {\n templateUrl: \"projects/project/project.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\"\n section: \"project-timeline\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/search\",\n {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false,\n section: \"search\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/backlog\",\n {\n templateUrl: \"backlog/backlog.html\",\n loader: true,\n section: \"backlog\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/kanban\",\n {\n templateUrl: \"kanban/kanban.html\",\n loader: true,\n section: \"kanban\"\n }\n )\n\n # Milestone\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\",\n {\n templateUrl: \"taskboard/taskboard.html\",\n loader: true,\n section: \"backlog\"\n }\n )\n\n # User stories\n $routeProvider.when(\"/project/:pslug/us/:usref\",\n {\n templateUrl: \"us/us-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n }\n )\n\n # Tasks\n $routeProvider.when(\"/project/:pslug/task/:taskref\",\n {\n templateUrl: \"task/task-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n }\n )\n\n # Wiki\n $routeProvider.when(\"/project/:pslug/wiki\",\n {redirectTo: (params) -> \"/project/#{params.pslug}/wiki/home\"}, )\n $routeProvider.when(\"/project/:pslug/wiki/:slug\",\n {\n templateUrl: \"wiki/wiki.html\",\n loader: true,\n section: \"wiki\"\n }\n )\n\n # Team\n $routeProvider.when(\"/project/:pslug/team\",\n {\n templateUrl: \"team/team.html\",\n loader: true,\n section: \"team\"\n }\n )\n\n # Issues\n $routeProvider.when(\"/project/:pslug/issues\",\n {\n templateUrl: \"issue/issues.html\",\n loader: true,\n section: \"issues\"\n }\n )\n $routeProvider.when(\"/project/:pslug/issue/:issueref\",\n {\n templateUrl: \"issue/issues-detail.html\",\n loader: true,\n section: \"issues\"\n }\n )\n\n # Admin - Project Profile\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\",\n {\n templateUrl: \"admin/admin-project-profile.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\",\n {\n templateUrl: \"admin/admin-project-default-values.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\",\n {\n templateUrl: \"admin/admin-project-modules.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\",\n {\n templateUrl: \"admin/admin-project-export.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\",\n {\n templateUrl: \"admin/admin-project-reports.html\",\n section: \"admin\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\",\n {\n templateUrl: \"admin/admin-project-values-status.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\",\n {\n templateUrl: \"admin/admin-project-values-points.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\",\n {\n templateUrl: \"admin/admin-project-values-priorities.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\",\n {\n templateUrl: \"admin/admin-project-values-severities.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\",\n {\n templateUrl: \"admin/admin-project-values-types.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\",\n {\n templateUrl: \"admin/admin-project-values-custom-fields.html\",\n section: \"admin\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/admin/memberships\",\n {\n templateUrl: \"admin/admin-memberships.html\",\n section: \"admin\"\n }\n )\n # Admin - Roles\n $routeProvider.when(\"/project/:pslug/admin/roles\",\n {\n templateUrl: \"admin/admin-roles.html\",\n section: \"admin\"\n }\n )\n\n # Admin - Third Parties\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\",\n {\n templateUrl: \"admin/admin-third-parties-webhooks.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\",\n {\n templateUrl: \"admin/admin-third-parties-github.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\",\n {\n templateUrl: \"admin/admin-third-parties-gitlab.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\",\n {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\",\n section: \"admin\"\n }\n )\n # Admin - Contrib Plugins\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\",\n {templateUrl: \"contrib/main.html\"})\n\n # User settings\n $routeProvider.when(\"/user-settings/user-profile\",\n {templateUrl: \"user/user-profile.html\"})\n $routeProvider.when(\"/user-settings/user-change-password\",\n {templateUrl: \"user/user-change-password.html\"})\n $routeProvider.when(\"/user-settings/mail-notifications\",\n {templateUrl: \"user/mail-notifications.html\"})\n $routeProvider.when(\"/change-email/:email_token\",\n {templateUrl: \"user/change-email.html\"})\n $routeProvider.when(\"/cancel-account/:cancel_token\",\n {templateUrl: \"user/cancel-account.html\"})\n\n # User profile\n $routeProvider.when(\"/profile\",\n {\n templateUrl: \"profile/profile.html\",\n loader: true,\n access: {\n requiresLogin: true\n },\n controller: \"Profile\",\n controllerAs: \"vm\"\n }\n )\n\n $routeProvider.when(\"/profile/:slug\",\n {\n templateUrl: \"profile/profile.html\",\n loader: true,\n controller: \"Profile\",\n controllerAs: \"vm\"\n }\n )\n\n # Auth\n $routeProvider.when(\"/login\",\n {\n templateUrl: \"auth/login.html\",\n title: \"LOGIN.PAGE_TITLE\"\n description: \"LOGIN.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/register\",\n {\n templateUrl: \"auth/register.html\",\n title: \"REGISTER.PAGE_TITLE\",\n description: \"REGISTER.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/forgot-password\",\n {\n templateUrl: \"auth/forgot-password.html\",\n title: \"FORGOT_PASSWORD.PAGE_TITLE\",\n description: \"FORGOT_PASSWORD.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/change-password\",\n {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n }\n )\n $routeProvider.when(\"/change-password/:token\",\n {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n }\n )\n $routeProvider.when(\"/invitation/:token\",\n {\n templateUrl: \"auth/invitation.html\",\n title: \"INVITATION.PAGE_TITLE\",\n description: \"INVITATION.PAGE_DESCRIPTION\"\n }\n )\n\n # Errors/Exceptions\n $routeProvider.when(\"/error\",\n {templateUrl: \"error/error.html\"})\n $routeProvider.when(\"/not-found\",\n {templateUrl: \"error/not-found.html\"})\n $routeProvider.when(\"/permission-denied\",\n {templateUrl: \"error/permission-denied.html\"})\n\n $routeProvider.otherwise({redirectTo: \"/not-found\"})\n $locationProvider.html5Mode({enabled: true, requireBase: false})\n\n defaultHeaders = {\n \"Content-Type\": \"application/json\"\n \"Accept-Language\": window.taigaConfig.defaultLanguage || \"en\"\n \"X-Session-Id\": taiga.sessionId\n }\n\n $httpProvider.defaults.headers.delete = defaultHeaders\n $httpProvider.defaults.headers.patch = defaultHeaders\n $httpProvider.defaults.headers.post = defaultHeaders\n $httpProvider.defaults.headers.put = defaultHeaders\n $httpProvider.defaults.headers.get = {\n \"X-Session-Id\": taiga.sessionId\n }\n\n $httpProvider.useApplyAsync(true)\n\n $tgEventsProvider.setSessionId(taiga.sessionId)\n\n # Add next param when user try to access to a secction need auth permissions.\n authHttpIntercept = ($q, $location, $navUrls, $lightboxService) ->\n httpResponseError = (response) ->\n if response.status == 0\n $lightboxService.closeAll()\n $location.path($navUrls.resolve(\"error\"))\n $location.replace()\n else if response.status == 401\n nextPath = $location.path()\n $location.url($navUrls.resolve(\"login\")).search(\"next=#{nextPath}\")\n\n return $q.reject(response)\n\n return {\n responseError: httpResponseError\n }\n\n $provide.factory(\"authHttpIntercept\", [\"$q\", \"$location\", \"$tgNavUrls\", \"lightboxService\",\n authHttpIntercept])\n\n $httpProvider.interceptors.push(\"authHttpIntercept\")\n\n\n loaderIntercept = ($q, loaderService) ->\n return {\n request: (config) ->\n loaderService.logRequest()\n\n return config\n\n requestError: (rejection) ->\n loaderService.logResponse()\n\n return $q.reject(rejection)\n\n responseError: (rejection) ->\n loaderService.logResponse()\n\n return $q.reject(rejection)\n\n response: (response) ->\n loaderService.logResponse()\n\n return response\n }\n\n\n $provide.factory(\"loaderIntercept\", [\"$q\", \"tgLoader\", loaderIntercept])\n\n $httpProvider.interceptors.push(\"loaderIntercept\")\n\n # If there is an error in the version throw a notify error.\n # IMPROVEiMENT: Move this version error handler to USs, issues and tasks repository\n versionCheckHttpIntercept = ($q) ->\n httpResponseError = (response) ->\n if response.status == 400 && response.data.version\n # HACK: to prevent circular dependencies with [$tgConfirm, $translate]\n $injector = angular.element(\"body\").injector()\n $injector.invoke([\"$tgConfirm\", \"$translate\", ($confirm, $translate) =>\n versionErrorMsg = $translate.instant(\"ERROR.VERSION_ERROR\")\n $confirm.notify(\"error\", versionErrorMsg, null, 10000)\n ])\n\n return $q.reject(response)\n\n return {responseError: httpResponseError}\n\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", versionCheckHttpIntercept])\n\n $httpProvider.interceptors.push(\"versionCheckHttpIntercept\")\n\n window.checksley.updateValidators({\n linewidth: (val, width) ->\n lines = taiga.nl2br(val).split(\"
\")\n\n valid = _.every lines, (line) ->\n line.length < width\n\n return valid\n })\n\n $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false)\n\n if localStorage.userInfo\n userInfo = JSON.parse(localStorage.userInfo)\n\n # i18n\n preferedLangCode = userInfo?.lang || window.taigaConfig.defaultLanguage || \"en\"\n\n $translateProvider\n .useStaticFilesLoader({\n prefix: \"/locales/locale-\",\n suffix: \".json\"\n })\n .addInterpolation('$translateMessageFormatInterpolation')\n .preferredLanguage(preferedLangCode)\n\n if not window.taigaConfig.debugInfo\n $translateProvider.fallbackLanguage(preferedLangCode)\n\n\ni18nInit = (lang, $translate) ->\n # i18n - moment.js\n moment.locale(lang)\n\n # i18n - checksley.js\n messages = {\n defaultMessage: $translate.instant(\"COMMON.FORM_ERRORS.DEFAULT_MESSAGE\")\n type: {\n email: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_EMAIL\")\n url: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URL\")\n urlstrict: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URLSTRICT\")\n number: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_NUMBER\")\n digits: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DIGITS\")\n dateIso: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DATEISO\")\n alphanum: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_ALPHANUM\")\n phone: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_PHONE\")\n }\n notnull: $translate.instant(\"COMMON.FORM_ERRORS.NOTNULL\")\n notblank: $translate.instant(\"COMMON.FORM_ERRORS.NOT_BLANK\")\n required: $translate.instant(\"COMMON.FORM_ERRORS.REQUIRED\")\n regexp: $translate.instant(\"COMMON.FORM_ERRORS.REGEXP\")\n min: $translate.instant(\"COMMON.FORM_ERRORS.MIN\")\n max: $translate.instant(\"COMMON.FORM_ERRORS.MAX\")\n range: $translate.instant(\"COMMON.FORM_ERRORS.RANGE\")\n minlength: $translate.instant(\"COMMON.FORM_ERRORS.MIN_LENGTH\")\n maxlength: $translate.instant(\"COMMON.FORM_ERRORS.MAX_LENGTH\")\n rangelength: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_LENGTH\")\n mincheck: $translate.instant(\"COMMON.FORM_ERRORS.MIN_CHECK\")\n maxcheck: $translate.instant(\"COMMON.FORM_ERRORS.MAX_CHECK\")\n rangecheck: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_CHECK\")\n equalto: $translate.instant(\"COMMON.FORM_ERRORS.EQUAL_TO\")\n }\n checksley.updateMessages('default', messages)\n\n\ninit = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, appMetaService, projectService, loaderService) ->\n $log.debug(\"Initialize application\")\n\n # Taiga Plugins\n $rootscope.contribPlugins = @.taigaContribPlugins\n $rootscope.adminPlugins = _.where(@.taigaContribPlugins, {\"type\": \"admin\"})\n\n $rootscope.$on \"$translateChangeEnd\", (e, ctx) ->\n lang = ctx.language\n i18nInit(lang, $translate)\n\n # bluebird\n Promise.setScheduler (cb) ->\n $rootscope.$evalAsync(cb)\n\n # Load user\n if $auth.isAuthenticated()\n $events.setupConnection()\n user = $auth.getUser()\n\n # Analytics\n $analytics.initialize()\n\n # On the first page load the loader is painted in `$routeChangeSuccess`\n # because we need to hide the tg-navigation-bar.\n # In the other cases the loader is in `$routeChangeSuccess`\n # because `location.noreload` prevent to execute this event.\n un = $rootscope.$on '$routeChangeStart', (event, next) ->\n if next.loader\n loaderService.start(true)\n\n un()\n\n $rootscope.$on '$routeChangeSuccess', (event, next) ->\n if next.loader\n loaderService.start(true)\n\n if next.access && next.access.requiresLogin\n if !$auth.isAuthenticated()\n $location.path($navUrls.resolve(\"login\"))\n\n projectService.setSection(next.section)\n\n if next.params.pslug\n projectService.setProject(next.params.pslug)\n else\n projectService.cleanProject()\n\n if next.title or next.description\n title = $translate.instant(next.title or \"\")\n description = $translate.instant(next.description or \"\")\n appMetaService.setAll(title, description)\n\n\nmodules = [\n # Main Global Modules\n \"taigaBase\",\n \"taigaCommon\",\n \"taigaResources\",\n \"taigaResources2\",\n \"taigaAuth\",\n \"taigaEvents\",\n\n # Specific Modules\n \"taigaHome\",\n \"taigaNavigationBar\",\n \"taigaProjects\",\n \"taigaRelatedTasks\",\n \"taigaBacklog\",\n \"taigaTaskboard\",\n \"taigaKanban\",\n \"taigaIssues\",\n \"taigaUserStories\",\n \"taigaTasks\",\n \"taigaTeam\",\n \"taigaWiki\",\n \"taigaSearch\",\n \"taigaAdmin\",\n \"taigaProject\",\n \"taigaUserSettings\",\n \"taigaFeedback\",\n \"taigaPlugins\",\n \"taigaIntegrations\",\n \"taigaComponents\",\n # new modules\n \"taigaProfile\",\n \"taigaHome\",\n \"taigaUserTimeline\",\n\n # template cache\n \"templates\",\n\n # Vendor modules\n \"ngRoute\",\n \"ngAnimate\",\n \"pascalprecht.translate\",\n \"infinite-scroll\",\n \"tgRepeat\"\n].concat(_.map(@.taigaContribPlugins, (plugin) -> plugin.module))\n\n# Main module definition\nmodule = angular.module(\"taiga\", modules)\n\nmodule.config([\n \"$routeProvider\",\n \"$locationProvider\",\n \"$httpProvider\",\n \"$provide\",\n \"$tgEventsProvider\",\n \"$compileProvider\",\n \"$translateProvider\",\n configure\n])\n\nmodule.run([\n \"$log\",\n \"$rootScope\",\n \"$tgAuth\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"tgProjectService\",\n \"tgLoader\",\n init\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: classes.coffee\n###\n\nclass TaigaBase\nclass TaigaService extends TaigaBase\nclass TaigaController extends TaigaBase\n onInitialDataError: (xhr) =>\n if xhr\n if xhr.status == 404\n @location.path(@navUrls.resolve(\"not-found\"))\n @location.replace()\n else if xhr.status == 403\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n return @q.reject(xhr)\n\n@.taiga.Base = TaigaBase\n@.taiga.Service = TaigaService\n@.taiga.Controller = TaigaController\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: utils.coffee\n###\n\nnl2br = (str) =>\n breakTag = '
'\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2')\n\nbindMethods = (object) =>\n dependencies = _.keys(object)\n\n methods = []\n\n _.forIn object, (value, key) =>\n if key not in dependencies\n methods.push(key)\n\n _.bindAll(object, methods)\n\nbindOnce = (scope, attr, continuation) =>\n val = scope.$eval(attr)\n if val != undefined\n return continuation(val)\n\n delBind = null\n delBind = scope.$watch attr, (val) ->\n return if val is undefined\n continuation(val)\n delBind() if delBind\n\n\nmixOf = (base, mixins...) ->\n class Mixed extends base\n\n for mixin in mixins by -1 #earlier mixins override later ones\n for name, method of mixin::\n Mixed::[name] = method\n Mixed\n\n\ntrim = (data, char) ->\n return _.str.trim(data, char)\n\n\nslugify = (data) ->\n return _.str.slugify(data)\n\n\nunslugify = (data) ->\n if data\n return _.str.capitalize(data.replace(/-/g, ' '))\n return data\n\n\ntoggleText = (element, texts) ->\n nextTextPosition = element.data('nextTextPosition')\n nextTextPosition = 0 if not nextTextPosition? or nextTextPosition >= texts.length\n text = texts[nextTextPosition]\n element.data('nextTextPosition', nextTextPosition + 1)\n element.text(text)\n\n\ngroupBy = (coll, pred) ->\n result = {}\n for item in coll\n result[pred(item)] = item\n\n return result\n\n\ntimeout = (wait, continuation) ->\n return window.setTimeout(continuation, wait)\n\n\ncancelTimeout = (timeoutVar) ->\n window.clearTimeout(timeoutVar)\n\n\nscopeDefer = (scope, func) ->\n _.defer =>\n scope.$apply(func)\n\n\ntoString = (value) ->\n if _.isNumber(value)\n return value + \"\"\n else if _.isString(value)\n return value\n else if _.isPlainObject(value)\n return JSON.stringify(value)\n else if _.isUndefined(value)\n return \"\"\n return value.toString()\n\n\njoinStr = (str, coll) ->\n return _.str.join(str, coll)\n\n\ndebounce = (wait, func) ->\n return _.debounce(func, wait, {leading: true, trailing: false})\n\n\ndebounceLeading = (wait, func) ->\n return _.debounce(func, wait, {leading: false, trailing: true})\n\n\nstartswith = (str1, str2) ->\n return _.str.startsWith(str1, str2)\n\n\ntruncate = (str, maxLength, suffix=\"...\") ->\n return str if (typeof str != \"string\") and not (str instanceof String)\n\n out = str.slice(0)\n\n if out.length > maxLength\n out = out.substring(0, maxLength + 1)\n out = out.substring(0, Math.min(out.length, out.lastIndexOf(\" \")))\n out = out + suffix\n\n return out\n\n\nsizeFormat = (input, precision=1) ->\n if isNaN(parseFloat(input)) or not isFinite(input)\n return \"-\"\n\n if input == 0\n return \"0 bytes\"\n\n units = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"]\n number = Math.floor(Math.log(input) / Math.log(1024))\n if number > 5\n number = 5\n size = (input / Math.pow(1024, number)).toFixed(precision)\n return \"#{size} #{units[number]}\"\n\nstripTags = (str, exception) ->\n if exception\n pattern = new RegExp('<(?!' + exception + '\\s*\\/?)[^>]+>', 'gi')\n return String(str).replace(pattern, '')\n else\n return String(str).replace(/<\\/?[^>]+>/g, '')\n\nreplaceTags = (str, tags, replace) ->\n # open tag\n pattern = new RegExp('<(' + tags + ')>', 'gi')\n str = str.replace(pattern, '<' + replace + '>')\n\n # close tag\n pattern = new RegExp('<\\/(' + tags + ')>', 'gi')\n str = str.replace(pattern, '')\n\n return str\n\ndefineImmutableProperty = (obj, name, fn) =>\n Object.defineProperty obj, name, {\n get: () =>\n if !_.isFunction(fn)\n throw \"defineImmutableProperty third param must be a function\"\n\n fn_result = fn()\n if fn_result && _.isObject(fn_result)\n if fn_result.size == undefined\n throw \"defineImmutableProperty must return immutable data\"\n\n return fn_result\n }\n\ntaiga = @.taiga\ntaiga.nl2br = nl2br\ntaiga.bindMethods = bindMethods\ntaiga.bindOnce = bindOnce\ntaiga.mixOf = mixOf\ntaiga.trim = trim\ntaiga.slugify = slugify\ntaiga.unslugify = unslugify\ntaiga.toggleText = toggleText\ntaiga.groupBy = groupBy\ntaiga.timeout = timeout\ntaiga.cancelTimeout = cancelTimeout\ntaiga.scopeDefer = scopeDefer\ntaiga.toString = toString\ntaiga.joinStr = joinStr\ntaiga.truncate = truncate\ntaiga.debounce = debounce\ntaiga.debounceLeading = debounceLeading\ntaiga.startswith = startswith\ntaiga.sizeFormat = sizeFormat\ntaiga.stripTags = stripTags\ntaiga.replaceTags = replaceTags\ntaiga.defineImmutableProperty = defineImmutableProperty\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/controllerMixins.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\njoinStr = @.taiga.joinStr\ntrim = @.taiga.trim\ntoString = @.taiga.toString\n\n\n#############################################################################\n## Page Mixin\n#############################################################################\n\nclass PageMixin\n fillUsersAndRoles: (users, roles) ->\n activeUsers = _.filter(users, (user) => user.is_active)\n @scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\")\n @scope.activeUsersById = groupBy(@scope.activeUsers, (e) -> e.id)\n\n @scope.users = _.sortBy(users, \"full_name_display\")\n @scope.usersById = groupBy(@scope.users, (e) -> e.id)\n\n @scope.roles = _.sortBy(roles, \"order\")\n availableRoles = _(@scope.project.memberships).map(\"role\").uniq().value()\n @scope.computableRoles = _(roles).filter(\"computable\")\n .filter((x) -> _.contains(availableRoles, x.id))\n .value()\n loadUsersAndRoles: ->\n promise = @q.all([\n @rs.projects.usersList(@scope.projectId),\n @rs.projects.rolesList(@scope.projectId)\n ])\n\n return promise.then (results) =>\n [users, roles] = results\n @.fillUsersAndRoles(users, roles)\n return results\n\ntaiga.PageMixin = PageMixin\n\n\n#############################################################################\n## Filters Mixin\n#############################################################################\n# This mixin requires @location ($tgLocation), and @scope\n\nclass FiltersMixin\n selectFilter: (name, value, load=false) ->\n params = @location.search()\n if params[name] != undefined and name != \"page\"\n existing = _.map(taiga.toString(params[name]).split(\",\"), (x) -> trim(x))\n existing.push(taiga.toString(value))\n existing = _.compact(existing)\n value = joinStr(\",\", _.uniq(existing))\n\n if !@location.isInCurrentRouteParams(name, value)\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\n replaceFilter: (name, value, load=false) ->\n if !@location.isInCurrentRouteParams(name, value)\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\n replaceAllFilters: (filters, load=false) ->\n location = if load then @location else @location.noreload(@scope)\n location.search(filters)\n\n unselectFilter: (name, value, load=false) ->\n params = @location.search()\n\n if params[name] is undefined\n return\n\n if value is undefined or value is null\n delete params[name]\n\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), (x) -> trim(x))\n newValues = _.reject(parsedValues, (x) -> x == taiga.toString(value))\n newValues = _.compact(newValues)\n\n if _.isEmpty(newValues)\n value = null\n else\n value = joinStr(\",\", _.uniq(newValues))\n\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\ntaiga.FiltersMixin = FiltersMixin\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin.coffee\n###\n\nmodule = angular.module(\"taigaAdmin\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/auth.coffee\n###\n\ntaiga = @.taiga\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAuth\", [\"taigaResources\"])\n\n#############################################################################\n## Authentication Service\n#############################################################################\n\nclass AuthService extends taiga.Service\n @.$inject = [\"$rootScope\",\n \"$tgStorage\",\n \"$tgModel\",\n \"$tgResources\",\n \"$tgHttp\",\n \"$tgUrls\",\n \"$tgConfig\",\n \"$translate\",\n \"tgCurrentUserService\"]\n\n constructor: (@rootscope, @storage, @model, @rs, @http, @urls, @config, @translate, @currentUserService) ->\n super()\n userModel = @.getUser()\n @.setUserdata(userModel)\n\n setUserdata: (userModel) ->\n if userModel\n @.userData = Immutable.fromJS(userModel.getAttrs())\n @currentUserService.setUser(@.userData)\n else\n @.userData = null\n\n\n _setLocales: ->\n lang = @rootscope.user.lang || @config.get(\"defaultLanguage\") || \"en\"\n @translate.preferredLanguage(lang) # Needed for calls to the api in the correct language\n @translate.use(lang) # Needed for change the interface in runtime\n\n getUser: ->\n if @rootscope.user\n return @rootscope.user\n\n userData = @storage.get(\"userInfo\")\n if userData\n user = @model.make_model(\"users\", userData)\n @rootscope.user = user\n @._setLocales()\n return user\n\n return null\n\n setUser: (user) ->\n @rootscope.auth = user\n @storage.set(\"userInfo\", user.getAttrs())\n @rootscope.user = user\n\n @.setUserdata(user)\n\n @._setLocales()\n\n clear: ->\n @rootscope.auth = null\n @rootscope.user = null\n @storage.remove(\"userInfo\")\n\n setToken: (token) ->\n @storage.set(\"token\", token)\n\n getToken: ->\n return @storage.get(\"token\")\n\n removeToken: ->\n @storage.remove(\"token\")\n\n isAuthenticated: ->\n if @.getUser() != null\n return true\n return false\n\n ## Http interface\n\n login: (data, type) ->\n url = @urls.resolve(\"auth\")\n\n data = _.clone(data, false)\n data.type = if type then type else \"normal\"\n\n @.removeToken()\n\n return @http.post(url, data).then (data, status) =>\n user = @model.make_model(\"users\", data.data)\n @.setToken(user.auth_token)\n @.setUser(user)\n return user\n\n logout: ->\n @.removeToken()\n @.clear()\n\n @currentUserService.removeUser()\n\n register: (data, type, existing) ->\n url = @urls.resolve(\"auth-register\")\n\n data = _.clone(data, false)\n data.type = if type then type else \"public\"\n if type == \"private\"\n data.existing = if existing then existing else false\n\n @.removeToken()\n\n return @http.post(url, data).then (response) =>\n user = @model.make_model(\"users\", response.data)\n @.setToken(user.auth_token)\n @.setUser(user)\n return user\n\n getInvitation: (token) ->\n return @rs.invitations.get(token)\n\n acceptInvitiationWithNewUser: (data) ->\n return @.register(data, \"private\", false)\n\n acceptInvitiationWithExistingUser: (data) ->\n return @.register(data, \"private\", true)\n\n forgotPassword: (data) ->\n url = @urls.resolve(\"users-password-recovery\")\n data = _.clone(data, false)\n @.removeToken()\n return @http.post(url, data)\n\n changePasswordFromRecovery: (data) ->\n url = @urls.resolve(\"users-change-password-from-recovery\")\n data = _.clone(data, false)\n @.removeToken()\n return @http.post(url, data)\n\n changeEmail: (data) ->\n url = @urls.resolve(\"users-change-email\")\n data = _.clone(data, false)\n return @http.post(url, data)\n\n cancelAccount: (data) ->\n url = @urls.resolve(\"users-cancel-account\")\n data = _.clone(data, false)\n return @http.post(url, data)\n\nmodule.service(\"$tgAuth\", AuthService)\n\n\n#############################################################################\n## Login Directive\n#############################################################################\n\n# Directive that manages the visualization of public register\n# message/link on login page.\n\nPublicRegisterMessageDirective = ($config, $navUrls, templates) ->\n template = templates.get(\"auth/login-text.html\", true)\n\n templateFn = ->\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\")\n if not publicRegisterEnabled\n return \"\"\n return template({url:$navUrls.resolve(\"register\")})\n\n return {\n restrict: \"AE\"\n scope: {}\n template: templateFn\n }\n\nmodule.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$tgTemplate\",\n PublicRegisterMessageDirective])\n\n\nLoginDirective = ($auth, $confirm, $location, $config, $routeParams, $navUrls, $events, $translate) ->\n link = ($scope, $el, $attrs) ->\n onSuccess = (response) ->\n if $routeParams['next'] and $routeParams['next'] != $navUrls.resolve(\"login\")\n nextUrl = $routeParams['next']\n else\n nextUrl = $navUrls.resolve(\"home\")\n\n $events.setupConnection()\n $location.path(nextUrl)\n\n onError = (response) ->\n $confirm.notify(\"light-error\", $translate.instant(\"LOGIN_FORM.ERROR_AUTH_INCORRECT\"))\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = new checksley.Form($el.find(\"form.login-form\"))\n if not form.validate()\n return\n\n data = {\n \"username\": $el.find(\"form.login-form input[name=username]\").val(),\n \"password\": $el.find(\"form.login-form input[name=password]\").val()\n }\n\n loginFormType = $config.get(\"loginFormType\", \"normal\")\n\n promise = $auth.login(data, loginFormType)\n return promise.then(onSuccess, onError)\n\n $el.on \"submit\", \"form\", submit\n\n window.prerenderReady = true\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\",\n \"$tgNavUrls\", \"$tgEvents\", \"$translate\", LoginDirective])\n\n\n#############################################################################\n## Register Directive\n#############################################################################\n\nRegisterDirective = ($auth, $confirm, $location, $navUrls, $config, $analytics, $translate) ->\n link = ($scope, $el, $attrs) ->\n if not $config.get(\"publicRegisterEnabled\")\n $location.path($navUrls.resolve(\"not-found\"))\n $location.replace()\n\n $scope.data = {}\n form = $el.find(\"form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmit = (response) ->\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1)\n\n $confirm.notify(\"success\", $translate.instant(\"LOGIN_FORM.SUCCESS\"))\n\n $location.path($navUrls.resolve(\"home\"))\n\n onErrorSubmit = (response) ->\n if response.data._error_message\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n form.setErrors(response.data)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.register($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n window.prerenderReady = true\n\n return {link:link}\n\nmodule.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\",\n \"$tgAnalytics\", \"$translate\", RegisterDirective])\n\n\n#############################################################################\n## Forgot Password Directive\n#############################################################################\n\nForgotPasswordDirective = ($auth, $confirm, $location, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.ERROR\")\n\n $confirm.notify(\"light-error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.forgotPassword($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n window.prerenderReady = true\n\n return {link:link}\n\nmodule.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$translate\",\n ForgotPasswordDirective])\n\n\n#############################################################################\n## Change Password from Recovery Directive\n#############################################################################\n\nChangePasswordFromRecoveryDirective = ($auth, $confirm, $location, $params, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n\n if $params.token?\n $scope.tokenInParams = true\n $scope.data.token = $params.token\n else\n $scope.tokenInParams = false\n\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.changePasswordFromRecovery($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\",\n \"$tgNavUrls\", \"$translate\",\n ChangePasswordFromRecoveryDirective])\n\n\n#############################################################################\n## Invitation\n#############################################################################\n\nInvitationDirective = ($auth, $confirm, $location, $params, $navUrls, $analytics, $translate) ->\n link = ($scope, $el, $attrs) ->\n token = $params.token\n\n promise = $auth.getInvitation(token)\n promise.then (invitation) ->\n $scope.invitation = invitation\n\n promise.then null, (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"INVITATION_LOGIN_FORM.NOT_FOUND\")\n $confirm.success(text)\n\n # Login form\n $scope.dataLogin = {token: token}\n loginForm = $el.find(\"form.login-form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmitLogin = (response) ->\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1)\n $location.path($navUrls.resolve(\"project\", {project: $scope.invitation.project_slug}))\n text = $translate.instant(\"INVITATION_LOGIN_FORM.SUCCESS\", {\n \"project_name\": $scope.invitation.project_name\n })\n\n $confirm.notify(\"success\", text)\n\n onErrorSubmitLogin = (response) ->\n text = $translate.instant(\"INVITATION_LOGIN_FORM.ERROR\")\n\n $confirm.notify(\"light-error\", text)\n\n submitLogin = debounce 2000, (event) =>\n event.preventDefault()\n\n if not loginForm.validate()\n return\n\n promise = $auth.acceptInvitiationWithExistingUser($scope.dataLogin)\n promise.then(onSuccessSubmitLogin, onErrorSubmitLogin)\n\n $el.on \"submit\", \"form.login-form\", submitLogin\n $el.on \"click\", \".button-login\", submitLogin\n\n # Register form\n $scope.dataRegister = {token: token}\n registerForm = $el.find(\"form.register-form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmitRegister = (response) ->\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1)\n $location.path($navUrls.resolve(\"project\", {project: $scope.invitation.project_slug}))\n $confirm.notify(\"success\", \"You've successfully joined this project\",\n \"Welcome to #{_.escape($scope.invitation.project_name)}\")\n\n onErrorSubmitRegister = (response) ->\n if response.data._error_message\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n registerForm.setErrors(response.data)\n\n submitRegister = debounce 2000, (event) =>\n event.preventDefault()\n\n if not registerForm.validate()\n return\n\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister)\n promise.then(onSuccessSubmitRegister, onErrorSubmitRegister)\n\n $el.on \"submit\", \"form.register-form\", submitRegister\n $el.on \"click\", \".button-register\", submitRegister\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\",\n \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", InvitationDirective])\n\n\n#############################################################################\n## Change Email\n#############################################################################\n\nChangeEmailDirective = ($repo, $model, $auth, $confirm, $location, $params, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n $scope.data.email_token = $params.email_token\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n if $auth.isAuthenticated()\n $repo.queryOne(\"users\", $auth.getUser().id).then (data) =>\n $auth.setUser(data)\n $location.path($navUrls.resolve(\"home\"))\n else\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"CHANGE_EMAIL_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n\n $confirm.notify(\"light-error\", text)\n\n submit = ->\n if not form.validate()\n return\n\n promise = $auth.changeEmail($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", (event) ->\n event.preventDefault()\n submit()\n\n $el.on \"click\", \"a.button-change-email\", (event) ->\n event.preventDefault()\n submit()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\",\n \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangeEmailDirective])\n\n\n#############################################################################\n## Cancel account\n#############################################################################\n\nCancelAccountDirective = ($repo, $model, $auth, $confirm, $location, $params, $navUrls) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n $scope.data.cancel_token = $params.cancel_token\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $auth.logout()\n $location.path($navUrls.resolve(\"home\"))\n\n text = $translate.instant(\"CANCEL_ACCOUNT.SUCCESS\")\n\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n\n $confirm.notify(\"error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.cancelAccount($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\",\n \"$routeParams\",\"$tgNavUrls\", CancelAccountDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog.coffee\n###\n\nmodule = angular.module(\"taigaBacklog\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base.coffee\n###\n\ntaiga = @.taiga\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaBase\", [])\n\n#############################################################################\n## Main Directive\n#############################################################################\n\nTaigaMainDirective = ($rootscope, $window) ->\n link = ($scope, $el, $attrs) ->\n $window.onresize = () ->\n $rootscope.$broadcast(\"resize\")\n\n return {link:link}\n\nmodule.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective])\n\n#############################################################################\n## Navigation\n#############################################################################\n\nurls = {\n \"home\": \"/\"\n \"projects\": \"/projects\"\n \"error\": \"/error\"\n \"not-found\": \"/not-found\"\n \"permission-denied\": \"/permission-denied\"\n\n \"login\": \"/login\"\n \"forgot-password\": \"/forgot-password\"\n \"change-password\": \"/change-password/:token\"\n \"change-email\": \"/change-email/:token\"\n \"cancel-account\": \"/cancel-account/:token\"\n \"register\": \"/register\"\n \"invitation\": \"/invitation/:token\"\n \"create-project\": \"/create-project\"\n\n \"profile\": \"/profile\"\n \"user-profile\": \"/profile/:username\"\n\n \"project\": \"/project/:project\"\n \"project-backlog\": \"/project/:project/backlog\"\n \"project-taskboard\": \"/project/:project/taskboard/:sprint\"\n \"project-kanban\": \"/project/:project/kanban\"\n \"project-issues\": \"/project/:project/issues\"\n \"project-search\": \"/project/:project/search\"\n\n \"project-userstories-detail\": \"/project/:project/us/:ref\"\n \"project-tasks-detail\": \"/project/:project/task/:ref\"\n \"project-issues-detail\": \"/project/:project/issue/:ref\"\n\n \"project-wiki\": \"/project/:project/wiki\"\n \"project-wiki-page\": \"/project/:project/wiki/:slug\"\n\n # Team\n \"project-team\": \"/project/:project/team\"\n\n # Admin\n \"project-admin-home\": \"/project/:project/admin/project-profile/details\"\n \"project-admin-project-profile-details\": \"/project/:project/admin/project-profile/details\"\n \"project-admin-project-profile-default-values\": \"/project/:project/admin/project-profile/default-values\"\n \"project-admin-project-profile-modules\": \"/project/:project/admin/project-profile/modules\"\n \"project-admin-project-profile-export\": \"/project/:project/admin/project-profile/export\"\n \"project-admin-project-profile-reports\": \"/project/:project/admin/project-profile/reports\"\n\n \"project-admin-project-values-status\": \"/project/:project/admin/project-values/status\"\n \"project-admin-project-values-points\": \"/project/:project/admin/project-values/points\"\n \"project-admin-project-values-priorities\": \"/project/:project/admin/project-values/priorities\"\n \"project-admin-project-values-severities\": \"/project/:project/admin/project-values/severities\"\n \"project-admin-project-values-types\": \"/project/:project/admin/project-values/types\"\n \"project-admin-project-values-custom-fields\": \"/project/:project/admin/project-values/custom-fields\"\n\n \"project-admin-memberships\": \"/project/:project/admin/memberships\"\n \"project-admin-roles\": \"/project/:project/admin/roles\"\n \"project-admin-third-parties-webhooks\": \"/project/:project/admin/third-parties/webhooks\"\n \"project-admin-third-parties-github\": \"/project/:project/admin/third-parties/github\"\n \"project-admin-third-parties-gitlab\": \"/project/:project/admin/third-parties/gitlab\"\n \"project-admin-third-parties-bitbucket\": \"/project/:project/admin/third-parties/bitbucket\"\n \"project-admin-contrib\": \"/project/:project/admin/contrib/:plugin\"\n\n # User settings\n \"user-settings-user-profile\": \"/user-settings/user-profile\"\n \"user-settings-user-change-password\": \"/user-settings/user-change-password\"\n \"user-settings-user-avatar\": \"/user-settings/user-avatar\"\n \"user-settings-mail-notifications\": \"/user-settings/mail-notifications\"\n\n}\n\ninit = ($log, $navurls) ->\n $log.debug \"Initialize navigation urls\"\n $navurls.update(urls)\n\nmodule.run([\"$log\", \"$tgNavUrls\", init])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\", [])\n\n#############################################################################\n## Get the selected text\n#############################################################################\nSelectedText = ($window, $document) ->\n get = () ->\n if $window.getSelection\n return $window.getSelection().toString()\n else if $document.selection\n return $document.selection.createRange().text\n return \"\"\n\n return {get: get}\n\nmodule.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText])\n\n#############################################################################\n## Permission directive, hide elements when necessary\n#############################################################################\n\nCheckPermissionDirective = ->\n render = ($el, project, permission) ->\n $el.removeClass('hidden') if project.my_permissions.indexOf(permission) > -1\n\n link = ($scope, $el, $attrs) ->\n $el.addClass('hidden')\n permission = $attrs.tgCheckPermission\n\n $scope.$watch \"project\", (project) ->\n render($el, project, permission) if project?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgCheckPermission\", CheckPermissionDirective)\n\n#############################################################################\n## Add class based on permissions\n#############################################################################\n\nClassPermissionDirective = ->\n name = \"tgClassPermission\"\n\n link = ($scope, $el, $attrs) ->\n checkPermissions = (project, className, permission) ->\n negation = permission[0] == \"!\"\n\n permission = permission.slice(1) if negation\n\n if negation && project.my_permissions.indexOf(permission) == -1\n $el.addClass(className)\n else if !negation && project.my_permissions.indexOf(permission) != -1\n $el.addClass(className)\n else\n $el.removeClass(className)\n\n tgClassPermissionWatchAction = (project) ->\n if project\n unbindWatcher()\n\n classes = $scope.$eval($attrs[name])\n\n for className, permission of classes\n checkPermissions(project, className, permission)\n\n\n unbindWatcher = $scope.$watch \"project\", tgClassPermissionWatchAction\n\n return {link:link}\n\nmodule.directive(\"tgClassPermission\", ClassPermissionDirective)\n\n#############################################################################\n## Animation frame service, apply css changes in the next render frame\n#############################################################################\nAnimationFrame = () ->\n animationFrame =\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame\n\n performAnimation = (time) =>\n fn = tail.shift()\n fn()\n\n if (tail.length)\n animationFrame(performAnimation)\n\n tail = []\n\n add = () ->\n for fn in arguments\n tail.push(fn)\n\n if tail.length == 1\n animationFrame(performAnimation)\n\n return {add: add}\n\nmodule.factory(\"animationFrame\", AnimationFrame)\n\n#############################################################################\n## Open/close comment\n#############################################################################\n\nToggleCommentDirective = () ->\n link = ($scope, $el, $attrs) ->\n $el.find(\"textarea\").on \"focus\", () ->\n $el.addClass(\"active\")\n\n return {link:link}\n\nmodule.directive(\"tgToggleComment\", ToggleCommentDirective)\n\n\n#############################################################################\n## Get the appropiate section url for a project\n## according to his enabled modules and user permisions\n#############################################################################\n\nProjectUrl = ($navurls) ->\n get = (project) ->\n ctx = {project: project.slug}\n\n if project.is_backlog_activated and project.my_permissions.indexOf(\"view_us\") > -1\n return $navurls.resolve(\"project-backlog\", ctx)\n if project.is_kanban_activated and project.my_permissions.indexOf(\"view_us\") > -1\n return $navurls.resolve(\"project-kanban\", ctx)\n if project.is_wiki_activated and project.my_permissions.indexOf(\"view_wiki_pages\") > -1\n return $navurls.resolve(\"project-wiki\", ctx)\n if project.is_issues_activated and project.my_permissions.indexOf(\"view_issues\") > -1\n return $navurls.resolve(\"project-issues\", ctx)\n\n return $navurls.resolve(\"project\", ctx)\n\n return {get: get}\n\nmodule.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl])\n\n\n#############################################################################\n## Limite line size in a text area\n#############################################################################\n\nLimitLineLengthDirective = () ->\n link = ($scope, $el, $attrs) ->\n maxColsPerLine = parseInt($el.attr(\"cols\"))\n $el.on \"keyup\", (event) ->\n code = event.keyCode\n lines = $el.val().split(\"\\n\")\n\n _.each lines, (line, index) ->\n lines[index] = line.substring(0, maxColsPerLine - 2)\n\n $el.val(lines.join(\"\\n\"))\n\n return {link:link}\n\nmodule.directive(\"tgLimitLineLength\", LimitLineLengthDirective)\n\n#############################################################################\n## Queue Q promises\n#############################################################################\n\nQqueue = ($q) ->\n deferred = $q.defer()\n deferred.resolve()\n\n lastPromise = deferred.promise\n\n qqueue = {\n bindAdd: (fn) =>\n return (args...) =>\n lastPromise = lastPromise.then () => fn.apply(@, args)\n\n return qqueue\n add: (fn) =>\n if !lastPromise\n lastPromise = fn()\n else\n lastPromise = lastPromise.then(fn)\n\n return qqueue\n }\n\n return qqueue\n\nmodule.factory(\"$tgQqueue\", [\"$q\", Qqueue])\n\n#############################################################################\n## Templates\n#############################################################################\n\nTemplate = ($templateCache) ->\n return {\n get: (name, lodash = false) =>\n tmp = $templateCache.get(name)\n\n if lodash\n tmp = _.template(tmp)\n\n return tmp\n }\n\nmodule.factory(\"$tgTemplate\", [\"$templateCache\", Template])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/events.coffee\n###\n\ntaiga = @.taiga\nstartswith = @.taiga.startswith\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaEvents\", [])\n\n\nclass EventsService\n constructor: (@win, @log, @config, @auth) ->\n bindMethods(@)\n\n initialize: (sessionId) ->\n @.sessionId = sessionId\n @.subscriptions = {}\n @.connected = false\n @.error = false\n @.pendingMessages = []\n\n if @win.WebSocket is undefined\n @log.info \"WebSockets not supported on your browser\"\n\n setupConnection: ->\n @.stopExistingConnection()\n\n url = @config.get(\"eventsUrl\")\n\n # This allows disable events in case\n # url is not found on the configuration.\n return if not url\n\n # This allows relative urls in configuration.\n if not startswith(url, \"ws:\") and not startswith(url, \"wss:\")\n loc = @win.location\n scheme = if loc.protocol == \"https:\" then \"wss:\" else \"ws:\"\n path = _.str.ltrim(url, \"/\")\n url = \"#{scheme}//#{loc.host}/#{path}\"\n\n @.ws = new @win.WebSocket(url)\n @.ws.addEventListener(\"open\", @.onOpen)\n @.ws.addEventListener(\"message\", @.onMessage)\n @.ws.addEventListener(\"error\", @.onError)\n @.ws.addEventListener(\"close\", @.onClose)\n\n stopExistingConnection: ->\n if @.ws is undefined\n return\n\n @.ws.removeEventListener(\"open\", @.onOpen)\n @.ws.removeEventListener(\"close\", @.onClose)\n @.ws.removeEventListener(\"error\", @.onError)\n @.ws.removeEventListener(\"message\", @.onMessage)\n @.ws.close()\n\n delete @.ws\n\n serialize: (message) ->\n if _.isObject(message)\n return JSON.stringify(message)\n return message\n\n sendMessage: (message) ->\n @.pendingMessages.push(message)\n\n if not @.connected\n return\n\n messages = _.map(@.pendingMessages, @.serialize)\n @.pendingMessages = []\n\n for msg in messages\n @.ws.send(msg)\n\n subscribe: (scope, routingKey, callback) ->\n if @.error\n return\n\n @log.debug(\"Subscribe to: #{routingKey}\")\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: _.debounce(callback, 500, {\"leading\": true, \"trailing\": false})\n }\n\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n }\n\n @.subscriptions[routingKey] = subscription\n @.sendMessage(message)\n scope.$on(\"$destroy\", => @.unsubscribe(routingKey))\n\n unsubscribe: (routingKey) ->\n if @.error\n return\n\n @log.debug(\"Unsubscribe from: #{routingKey}\")\n\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n }\n\n @.sendMessage(message)\n\n onOpen: ->\n @.connected = true\n\n @log.debug(\"WebSocket connection opened\")\n token = @auth.getToken()\n\n message = {\n cmd: \"auth\"\n data: {token: token, sessionId: @.sessionId}\n }\n\n @.sendMessage(message)\n\n onMessage: (event) ->\n @.log.debug \"WebSocket message received: #{event.data}\"\n\n data = JSON.parse(event.data)\n routingKey = data.routing_key\n\n if not @.subscriptions[routingKey]?\n return\n\n subscription = @.subscriptions[routingKey]\n subscription.scope.$apply ->\n subscription.callback(data.data)\n\n onError: (error) ->\n @log.error(\"WebSocket error: #{error}\")\n @.error = true\n\n onClose: ->\n @log.debug(\"WebSocket closed.\")\n @.connected = false\n\n\nclass EventsProvider\n setSessionId: (sessionId) ->\n @.sessionId = sessionId\n\n $get: ($win, $log, $conf, $auth) ->\n service = new EventsService($win, $log, $conf, $auth)\n service.initialize(@.sessionId)\n return service\n\n @.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\"]\n\nmodule.provider(\"$tgEvents\", EventsProvider)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/feedback.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nmixOf = @.taiga.mixOf\ndebounce = @.taiga.debounce\ntrim = @.taiga.trim\n\nmodule = angular.module(\"taigaFeedback\", [])\n\nFeedbackDirective = ($lightboxService, $repo, $confirm, $loading, feedbackService)->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"feedback\", $scope.feedback)\n\n promise.then (data) ->\n currentLoading.finish()\n $lightboxService.close($el)\n $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n openLightbox = ->\n $scope.feedback = {}\n $lightboxService.open($el)\n $el.find(\"textarea\").focus()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n openLightbox()\n\n directive = {\n link: link,\n templateUrl: \"common/lightbox-feedback.html\"\n scope: {}\n }\n\n return directive\n\nmodule.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\",\n \"$tgLoading\", \"tgFeedbackService\", FeedbackDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/integrations.coffee\n###\n\nmodule = angular.module(\"taigaIntegrations\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues.coffee\n###\n\nmodule = angular.module(\"taigaIssues\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban.coffee\n###\n\nmodule = angular.module(\"taigaKanban\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/projects.coffee\n###\n\nmodule = angular.module(\"taigaProject\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/related-tasks.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaRelatedTasks\", [])\n\nRelatedTaskRowDirective = ($repo, $compile, $confirm, $rootscope, $loading, $template, $translate) ->\n templateView = $template.get(\"task/related-task-row.html\", true)\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n saveTask = debounce 2000, (task) ->\n task.subject = $el.find('input').val()\n\n currentLoading = $loading()\n .target($el.find('.task-name'))\n .start()\n\n promise = $repo.save(task)\n promise.then =>\n currentLoading.finish()\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"related-tasks:update\")\n\n promise.then null, =>\n currentLoading.finish()\n $el.find('input').val(task.subject)\n $confirm.notify(\"error\")\n return promise\n\n renderEdit = (task) ->\n $el.html($compile(templateEdit({task: task}))($scope))\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n saveTask($model.$modelValue).then ->\n renderView($model.$modelValue)\n else if event.keyCode == 27\n renderView($model.$modelValue)\n\n $el.on \"click\", \".icon-floppy\", (event) ->\n saveTask($model.$modelValue).then ->\n renderView($model.$modelValue)\n\n $el.on \"click\", \".cancel-edit\", (event) ->\n renderView($model.$modelValue)\n\n renderView = (task) ->\n $el.off()\n\n perms = {\n modify_task: $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n delete_task: $scope.project.my_permissions.indexOf(\"delete_task\") != -1\n }\n\n $el.html($compile(templateView({task: task, perms: perms}))($scope))\n\n $el.on \"click\", \".icon-edit\", ->\n renderEdit($model.$modelValue)\n $el.find('input').focus().select()\n\n $el.on \"click\", \".delete-task\", (event) ->\n title = $translate.instant(\"TASK.TITLE_DELETE_ACTION\")\n task = $model.$modelValue\n message = task.subject\n\n $confirm.askOnDelete(title, message).then (finish) ->\n promise = $repo.remove(task)\n promise.then ->\n finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"related-tasks:delete\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n $scope.$watch $attrs.ngModel, (val) ->\n return if not val\n renderView(val)\n\n $scope.$on \"related-tasks:assigned-to-changed\", ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:status-changed\", ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", \"$translate\", RelatedTaskRowDirective])\n\nRelatedTaskCreateFormDirective = ($repo, $compile, $confirm, $tgmodel, $loading, $analytics, $template) ->\n template = $template.get(\"task/related-task-create-form.html\", true)\n\n newTask = {\n subject: \"\"\n assigned_to: null\n }\n\n link = ($scope, $el, $attrs) ->\n createTask = debounce 2000, (task) ->\n task.subject = $el.find('input').val()\n task.assigned_to = $scope.newTask.assigned_to\n task.status = $scope.newTask.status\n $scope.newTask.status = $scope.project.default_task_status\n $scope.newTask.assigned_to = null\n\n currentLoading = $loading()\n .target($el.find('.task-name'))\n .start()\n\n promise = $repo.create(\"tasks\", task)\n promise.then ->\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1)\n currentLoading.finish()\n $scope.$emit(\"related-tasks:add\")\n $confirm.notify(\"success\")\n\n promise.then null, ->\n $el.find('input').val(task.subject)\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n return promise\n\n render = ->\n $el.off()\n\n $el.html($compile(template())($scope))\n $el.find('input').focus().select()\n $el.addClass('active')\n\n $el.on \"keyup\", \"input\", (event)->\n if event.keyCode == 13\n createTask(newTask).then ->\n render()\n else if event.keyCode == 27\n $el.html(\"\")\n\n $el.on \"click\", \".icon-delete\", (event)->\n $el.html(\"\")\n\n $el.on \"click\", \".icon-floppy\", (event)->\n createTask(newTask).then ->\n $el.html(\"\")\n\n taiga.bindOnce $scope, \"us\", (val) ->\n newTask[\"status\"] = $scope.project.default_task_status\n newTask[\"project\"] = $scope.project.id\n newTask[\"user_story\"] = $scope.us.id\n $scope.newTask = $tgmodel.make_model(\"tasks\", newTask)\n $el.html(\"\")\n\n $scope.$on \"related-tasks:show-form\", ->\n render()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", \"$tgTemplate\", RelatedTaskCreateFormDirective])\n\nRelatedTaskCreateButtonDirective = ($repo, $compile, $confirm, $tgmodel) ->\n template = _.template(\"\"\"\n \n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n $scope.$watch \"project\", (val) ->\n return if not val\n $el.off()\n if $scope.project.my_permissions.indexOf(\"add_task\") != -1\n $el.html(template())\n else\n $el.html(\"\")\n\n $el.on \"click\", \".icon\", (event)->\n $scope.$emit(\"related-tasks:add-new-clicked\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", RelatedTaskCreateButtonDirective])\n\nRelatedTasksDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n loadTasks = ->\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then (tasks) =>\n $scope.tasks = tasks\n return tasks\n\n $scope.$on \"related-tasks:add\", ->\n loadTasks().then ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:delete\", ->\n loadTasks().then ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:add-new-clicked\", ->\n $scope.$broadcast(\"related-tasks:show-form\")\n\n taiga.bindOnce $scope, \"us\", (val) ->\n loadTasks()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective])\n\nRelatedTaskAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService) ->\n template = _.template(\"\"\"\n \" alt=\"<%- name %>\"/>\n
<%- name %>
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n updateRelatedTask = (task) ->\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n member = $scope.usersById[task.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name_display\n\n $el.find(\".avatar\").html(template(ctx))\n $el.find(\".task-assignedto\").attr('title', ctx.name)\n\n $ctrl = $el.controller()\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition)\n notAutoSave = $scope.$eval($attrs.notAutoSave)\n autoSave = !notAutoSave\n\n updateRelatedTask(task)\n\n $el.on \"click\", \".task-assignedto\", (event) ->\n $rootscope.$broadcast(\"assigned-to:add\", task)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_task\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"assigned-to:added\", debounce 2000, (ctx, userId, updatedRelatedTask) =>\n if updatedRelatedTask.id == task.id\n updatedRelatedTask.assigned_to = userId\n if autoSave\n $repo.save(updatedRelatedTask).then ->\n $scope.$emit(\"related-tasks:assigned-to-changed\")\n updateRelatedTask(updatedRelatedTask)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", RelatedTaskAssignedToInlineEditionDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources.coffee\n###\n\ntaiga = @.taiga\n\nclass ResourcesService extends taiga.Service\n\nurls = {\n # Auth\n \"auth\": \"/auth\"\n \"auth-register\": \"/auth/register\"\n \"invitations\": \"/invitations\"\n\n # User\n \"users\": \"/users\"\n \"by_username\": \"/users/by_username\"\n \"users-password-recovery\": \"/users/password_recovery\"\n \"users-change-password-from-recovery\": \"/users/change_password_from_recovery\"\n \"users-change-password\": \"/users/change_password\"\n \"users-change-email\": \"/users/change_email\"\n \"users-cancel-account\": \"/users/cancel\"\n \"contacts\": \"/users/%s/contacts\"\n \"stats\": \"/users/%s/stats\"\n\n # User - Notification\n \"permissions\": \"/permissions\"\n \"notify-policies\": \"/notify-policies\"\n\n # User - Storage\n \"user-storage\": \"/user-storage\"\n\n # Memberships\n \"memberships\": \"/memberships\"\n \"bulk-create-memberships\": \"/memberships/bulk_create\"\n\n # Roles & Permissions\n \"roles\": \"/roles\"\n \"permissions\": \"/permissions\"\n\n # Resolver\n \"resolver\": \"/resolver\"\n\n # Project\n \"projects\": \"/projects\"\n \"project-templates\": \"/project-templates\"\n \"project-modules\": \"/projects/%s/modules\"\n \"bulk-update-projects-order\": \"/projects/bulk_update_order\"\n\n # Project Values - Choises\n \"userstory-statuses\": \"/userstory-statuses\"\n \"points\": \"/points\"\n \"task-statuses\": \"/task-statuses\"\n \"issue-statuses\": \"/issue-statuses\"\n \"issue-types\": \"/issue-types\"\n \"priorities\": \"/priorities\"\n \"severities\": \"/severities\"\n\n # Milestones/Sprints\n \"milestones\": \"/milestones\"\n\n # User stories\n \"userstories\": \"/userstories\"\n \"bulk-create-us\": \"/userstories/bulk_create\"\n \"bulk-update-us-backlog-order\": \"/userstories/bulk_update_backlog_order\"\n \"bulk-update-us-sprint-order\": \"/userstories/bulk_update_sprint_order\"\n \"bulk-update-us-kanban-order\": \"/userstories/bulk_update_kanban_order\"\n\n # Tasks\n \"tasks\": \"/tasks\"\n \"bulk-create-tasks\": \"/tasks/bulk_create\"\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\"\n\n # Issues\n \"issues\": \"/issues\"\n \"bulk-create-issues\": \"/issues/bulk_create\"\n\n # Wiki pages\n \"wiki\": \"/wiki\"\n \"wiki-restore\": \"/wiki/%s/restore\"\n \"wiki-links\": \"/wiki-links\"\n\n # History\n \"history/us\": \"/history/userstory\"\n \"history/issue\": \"/history/issue\"\n \"history/task\": \"/history/task\"\n \"history/wiki\": \"/history/wiki\"\n\n # Attachments\n \"attachments/us\": \"/userstories/attachments\"\n \"attachments/issue\": \"/issues/attachments\"\n \"attachments/task\": \"/tasks/attachments\"\n \"attachments/wiki_page\": \"/wiki/attachments\"\n\n # Custom Attributess\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\"\n \"custom-attributes/issue\": \"/issue-custom-attributes\"\n \"custom-attributes/task\": \"/task-custom-attributes\"\n\n # Custom Attributess - Values\n \"custom-attributes-values/userstory\": \"/userstories/custom-attributes-values\"\n \"custom-attributes-values/issue\": \"/issues/custom-attributes-values\"\n \"custom-attributes-values/task\": \"/tasks/custom-attributes-values\"\n\n # Webhooks\n \"webhooks\": \"/webhooks\"\n \"webhooks-test\": \"/webhooks/%s/test\"\n \"webhooklogs\": \"/webhooklogs\"\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\"\n\n # Reports - CSV\n \"userstories-csv\": \"/userstories/csv?uuid=%s\"\n \"tasks-csv\": \"/tasks/csv?uuid=%s\"\n \"issues-csv\": \"/issues/csv?uuid=%s\"\n\n # Timeline\n \"timeline-profile\": \"/timeline/profile\"\n \"timeline-user\": \"/timeline/user\"\n \"timeline-project\": \"/timeline/project\"\n\n # Search\n \"search\": \"/search\"\n\n # Export/Import\n \"exporter\": \"/exporter\"\n \"importer\": \"/importer/load_dump\"\n\n # Feedback\n \"feedback\": \"/feedback\"\n\n # locales\n \"locales\": \"/locales\"\n}\n\n# Initialize api urls service\ninitUrls = ($log, $urls) ->\n $log.debug \"Initialize api urls\"\n $urls.update(urls)\n\n# Initialize resources service populating it with methods\n# defined in separated files.\ninitResources = ($log, $rs) ->\n $log.debug \"Initialize resources\"\n providers = _.toArray(arguments).slice(2)\n\n for provider in providers\n provider($rs)\n\nmodule = angular.module(\"taigaResources\", [\"taigaBase\"])\nmodule.service(\"$tgResources\", ResourcesService)\n\n# Module entry point\nmodule.run([\"$log\", \"$tgUrls\", initUrls])\nmodule.run([\n \"$log\",\n \"$tgResources\",\n \"$tgProjectsResourcesProvider\",\n \"$tgCustomAttributesResourcesProvider\",\n \"$tgCustomAttributesValuesResourcesProvider\",\n \"$tgMembershipsResourcesProvider\",\n \"$tgNotifyPoliciesResourcesProvider\",\n \"$tgInvitationsResourcesProvider\",\n \"$tgRolesResourcesProvider\",\n \"$tgUserSettingsResourcesProvider\",\n \"$tgSprintsResourcesProvider\",\n \"$tgUserstoriesResourcesProvider\",\n \"$tgTasksResourcesProvider\",\n \"$tgIssuesResourcesProvider\",\n \"$tgWikiResourcesProvider\",\n \"$tgSearchResourcesProvider\",\n \"$tgAttachmentsResourcesProvider\",\n \"$tgMdRenderResourcesProvider\",\n \"$tgHistoryResourcesProvider\",\n \"$tgKanbanResourcesProvider\",\n \"$tgModulesResourcesProvider\",\n \"$tgWebhooksResourcesProvider\",\n \"$tgWebhookLogsResourcesProvider\",\n \"$tgLocalesResourcesProvider\",\n \"$tgUsersResourcesProvider\",\n initResources\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/search.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nmixOf = @.taiga.mixOf\ndebounceLeading = @.taiga.debounceLeading\ntrim = @.taiga.trim\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaSearch\", [])\n\n\n#############################################################################\n## Search Controller\n#############################################################################\n\nclass SearchController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @q, @location, @appMetaService, @navUrls, @translate) ->\n @scope.sectionName = \"Search\"\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"SEARCH.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"SEARCH.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n # Search input watcher\n @scope.searchTerm = \"\"\n loadSearchData = debounceLeading(100, (t) => @.loadSearchData(t))\n\n @scope.$watch \"searchTerm\", (term) =>\n if term\n loadSearchData(term)\n\n loadFilters: ->\n defered = @q.defer()\n defered.resolve()\n return defered.promise\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n return project\n\n loadSearchData: (term) ->\n promise = @rs.search.do(@scope.projectId, term).then (data) =>\n @scope.searchResults = data\n return data\n\n return promise\n\n loadInitialData: ->\n return @.loadProject().then (project) =>\n @scope.projectId = project.id\n @.fillUsersAndRoles(project.users, project.roles)\n\nmodule.controller(\"SearchController\", SearchController)\n\n\n#############################################################################\n## Search box directive\n#############################################################################\n\nSearchBoxDirective = (projectService, $lightboxService, $navurls, $location, $route)->\n link = ($scope, $el, $attrs) ->\n project = null\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n text = $el.find(\"#search-text\").val()\n\n url = $navurls.resolve(\"project-search\", {project: project.get(\"slug\")})\n\n $scope.$apply ->\n $lightboxService.close($el)\n\n $location.path(url)\n $location.search(\"text\", text).path(url)\n $route.reload()\n\n\n openLightbox = () ->\n project = projectService.project\n\n $lightboxService.open($el).then () ->\n $el.find(\"#search-text\").focus()\n\n $el.on \"submit\", \"form\", submit\n\n openLightbox()\n\n return {\n templateUrl: \"search/lightbox-search.html\",\n link:link\n }\n\nSearchBoxDirective.$inject = [\n \"tgProjectService\",\n \"lightboxService\",\n \"$tgNavUrls\",\n \"$tgLocation\",\n \"$route\"\n]\n\nmodule.directive(\"tgSearchBox\", SearchBoxDirective)\n\n\n#############################################################################\n## Search Directive\n#############################################################################\n\nSearchDirective = ($log, $compile, $templatecache, $routeparams, $location) ->\n linkTable = ($scope, $el, $attrs, $ctrl) ->\n tabsDom = $el.find(\"section.search-filter\")\n lastSeatchResults = null\n\n getActiveSection = (data) ->\n maxVal = 0\n selectedSectionName = null\n selectedSectionData = null\n\n if data\n for name in [\"userstories\", \"issues\", \"tasks\", \"wikipages\"]\n value = data[name]\n\n if value.length > maxVal\n maxVal = value.length\n selectedSectionName = name\n selectedSectionData = value\n break;\n\n if maxVal == 0\n return {name: \"userstories\", value: []}\n\n return {name:selectedSectionName, value: selectedSectionData}\n\n renderFilterTabs = (data) ->\n for name, value of data\n continue if name == \"count\"\n tabsDom.find(\"li.#{name} .num\").html(value.length)\n\n markSectionTabActive = (section) ->\n # Mark as active the item with max amount of results\n tabsDom.find(\"a.active\").removeClass(\"active\")\n tabsDom.find(\"li.#{section.name} a\").addClass(\"active\")\n\n templates = {\n issues: $templatecache.get(\"search-issues\")\n tasks: $templatecache.get(\"search-tasks\")\n userstories: $templatecache.get(\"search-userstories\")\n wikipages: $templatecache.get(\"search-wikipages\")\n }\n\n renderTableContent = (section) ->\n oldElements = $el.find(\".search-result-table\").children()\n oldScope = oldElements.scope()\n\n if oldScope\n oldScope.$destroy()\n oldElements.remove()\n\n scope = $scope.$new()\n scope[section.name] = section.value\n\n template = angular.element.parseHTML(trim(templates[section.name]))\n element = $compile(template)(scope)\n $el.find(\".search-result-table\").html(element)\n\n $scope.$watch \"searchResults\", (data) ->\n lastSeatchResults = data\n activeSection = getActiveSection(data)\n renderFilterTabs(data)\n renderTableContent(activeSection)\n markSectionTabActive(activeSection)\n\n $scope.$watch \"searchTerm\", (searchTerm) ->\n $location.search(\"text\", searchTerm) if searchTerm\n\n $el.on \"click\", \".search-filter li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n sectionName = target.parent().data(\"name\")\n sectionData = lastSeatchResults[sectionName]\n\n section = {\n name: sectionName,\n value: sectionData\n }\n\n $scope.$apply ->\n renderTableContent(section)\n markSectionTabActive(section)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkTable($scope, $el, $attrs, $ctrl)\n\n searchText = $routeparams.text\n $scope.$watch \"projectId\", (projectId) ->\n $scope.searchTerm = searchText if projectId?\n\n return {link:link}\n\nmodule.directive(\"tgSearch\", [\"$log\", \"$compile\", \"$templateCache\", \"$routeParams\", \"$tgLocation\",\n SearchDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard.coffee\n###\n\nmodule = angular.module(\"taigaTaskboard\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/tasks.coffee\n###\n\nmodule = angular.module(\"taigaTasks\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/team.coffee\n###\n\nmodule = angular.module(\"taigaTeam\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings.coffee\n###\n\nmodule = angular.module(\"taigaUserSettings\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/userstories.coffee\n###\n\nmodule = angular.module(\"taigaUserStories\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki.coffee\n###\n\nmodule = angular.module(\"taigaWiki\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/analytics.coffee\n###\n\ntaiga = @.taiga\nmodule = angular.module(\"taigaCommon\")\n\n\nclass AnalyticsService extends taiga.Service\n @.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"]\n\n constructor: (@rootscope, @log, @config, @win, @doc, @location) ->\n @.initialized = false\n\n conf = @config.get(\"analytics\", {})\n\n @.accountId = conf.accountId\n @.pageEvent = conf.pageEvent or \"$routeChangeSuccess\"\n @.trackRoutes = conf.trackRoutes or true\n @.ignoreFirstPageLoad = conf.ignoreFirstPageLoad or false\n\n initialize: ->\n if not @.accountId\n @log.debug \"Analytics: no acount id provided. Disabling.\"\n return\n\n @.injectAnalytics()\n\n @win.ga(\"create\", @.accountId, \"auto\")\n @win.ga(\"require\", \"displayfeatures\")\n\n if @.trackRoutes and (not @.ignoreFirstPageLoad)\n @win.ga(\"send\", \"pageview\", @.getUrl())\n\n # activates page tracking\n if @.trackRoutes\n @rootscope.$on @.pageEvent, =>\n @.trackPage(@.getUrl(), \"Taiga\")\n\n @.initialized = true\n\n getUrl: ->\n return @location.path()\n\n injectAnalytics: ->\n fn = `(function(i,s,o,g,r,a,m){i[\"GoogleAnalyticsObject\"]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments);},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m);})`\n fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\")\n\n trackPage: (url, title) ->\n return if not @.initialized\n return if not @win.ga\n\n title = title or @doc[0].title\n @win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n })\n\n trackEvent: (category, action, label, value) ->\n return if not @.initialized\n return if not @win.ga\n\n @win.ga(\"send\", \"event\", category, action, label, value)\n\n\nmodule.service(\"$tgAnalytics\", AnalyticsService)\n\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/attachments.coffee\n###\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\nbindOnce = @.taiga.bindOnce\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaCommon\")\n\n\nclass AttachmentsController extends taiga.Controller\n @.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\", \"$translate\"]\n\n constructor: (@scope, @rootscope, @repo, @rs, @confirm, @q, @translate) ->\n bindMethods(@)\n @.type = null\n @.objectId = null\n @.projectId = null\n\n @.uploadingAttachments = []\n @.attachments = []\n @.attachmentsCount = 0\n @.deprecatedAttachmentsCount = 0\n @.showDeprecated = false\n\n initialize: (type, objectId) ->\n @.type = type\n @.objectId = objectId\n @.projectId = @scope.projectId\n\n loadAttachments: ->\n return @.attachments if not @.objectId\n\n urlname = \"attachments/#{@.type}\"\n\n return @rs.attachments.list(urlname, @.objectId, @.projectId).then (attachments) =>\n @.attachments = _.sortBy(attachments, \"order\")\n @.updateCounters()\n return attachments\n\n updateCounters: ->\n @.attachmentsCount = @.attachments.length\n @.deprecatedAttachmentsCount = _.filter(@.attachments, {is_deprecated: true}).length\n\n _createAttachment: (attachment) ->\n urlName = \"attachments/#{@.type}\"\n\n promise = @rs.attachments.create(urlName, @.projectId, @.objectId, attachment)\n promise = promise.then (data) =>\n data.isCreatedRightNow = true\n\n index = @.uploadingAttachments.indexOf(attachment)\n @.uploadingAttachments.splice(index, 1)\n @.attachments.push(data)\n @rootscope.$broadcast(\"attachment:create\")\n\n promise = promise.then null, (data) =>\n @scope.$emit(\"attachments:size-error\") if data.status == 413\n\n index = @.uploadingAttachments.indexOf(attachment)\n @.uploadingAttachments.splice(index, 1)\n\n message = @translate.instant(\"ATTACHMENT.ERROR_UPLOAD_ATTACHMENT\", {\n fileName: attachment.name, errorMessage: data.data._error_message})\n @confirm.notify(\"error\", message)\n return @q.reject(data)\n\n return promise\n\n # Create attachments in bulk\n createAttachments: (attachments) ->\n promises = _.map(attachments, (x) => @._createAttachment(x))\n return @q.all(promises).then =>\n @.updateCounters()\n\n # Add uploading attachment tracking.\n addUploadingAttachments: (attachments) ->\n @.uploadingAttachments = _.union(@.uploadingAttachments, attachments)\n\n # Change order of attachment in a ordered list.\n # This function is mainly executed after sortable ends.\n reorderAttachment: (attachment, newIndex) ->\n oldIndex = @.attachments.indexOf(attachment)\n return if oldIndex == newIndex\n\n @.attachments.splice(oldIndex, 1)\n @.attachments.splice(newIndex, 0, attachment)\n\n _.each(@.attachments, (x,i) -> x.order = i+1)\n\n # Persist one concrete attachment.\n # This function is mainly used when user clicks\n # to save button for save one unique attachment.\n updateAttachment: (attachment) ->\n onSuccess = =>\n @.updateCounters()\n @rootscope.$broadcast(\"attachment:edit\")\n\n onError = (response) =>\n $scope.$emit(\"attachments:size-error\") if response.status == 413\n @confirm.notify(\"error\")\n return @q.reject()\n\n return @repo.save(attachment).then(onSuccess, onError)\n\n # Persist all pending modifications on attachments.\n # This function is used mainly for persist the order\n # after sorting.\n saveAttachments: ->\n return @repo.saveAll(@.attachments).then null, =>\n for item in @.attachments\n item.revert()\n @.attachments = _.sortBy(@.attachments, \"order\")\n\n # Remove one concrete attachment.\n removeAttachment: (attachment) ->\n title = @translate.instant(\"ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT\")\n message = @translate.instant(\"ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT\", {fileName: attachment.name})\n\n return @confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = =>\n finish()\n index = @.attachments.indexOf(attachment)\n @.attachments.splice(index, 1)\n @.updateCounters()\n @rootscope.$broadcast(\"attachment:delete\")\n\n onError = =>\n finish(false)\n message = @translate.instant(\"ATTACHMENT.ERROR_DELETE_ATTACHMENT\", {errorMessage: message})\n @confirm.notify(\"error\", null, message)\n return @q.reject()\n\n return @repo.remove(attachment).then(onSuccess, onError)\n\n # Function used in template for filter visible attachments\n filterAttachments: (item) ->\n if @.showDeprecated\n return true\n return not item.is_deprecated\n\n\nAttachmentsDirective = ($config, $confirm, $templates, $translate) ->\n template = $templates.get(\"attachment/attachments.html\", true)\n\n link = ($scope, $el, $attrs, $ctrls) ->\n $ctrl = $ctrls[0]\n $model = $ctrls[1]\n\n bindOnce $scope, $attrs.ngModel, (value) ->\n $ctrl.initialize($attrs.type, value.id)\n $ctrl.loadAttachments()\n\n tdom = $el.find(\"div.attachment-body.sortable\")\n tdom.sortable({\n items: \"div.single-attachment\"\n handle: \"a.settings.icon.icon-drag-v\"\n containment: \".attachments\"\n dropOnEmpty: true\n scroll: false\n tolerance: \"pointer\"\n placeholder: \"sortable-placeholder single-attachment\"\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n attachment = ui.item.scope().attach\n newIndex = ui.item.index()\n\n $ctrl.reorderAttachment(attachment, newIndex)\n $ctrl.saveAttachments().then ->\n $scope.$emit(\"attachment:edit\")\n\n showSizeInfo = ->\n $el.find(\".size-info\").removeClass(\"hidden\")\n\n $scope.$on \"attachments:size-error\", ->\n showSizeInfo()\n\n $el.on \"change\", \".attachments-header input\", (event) ->\n files = _.toArray(event.target.files)\n return if files.length < 1\n\n $scope.$apply ->\n $ctrl.addUploadingAttachments(files)\n $ctrl.createAttachments(files)\n\n $el.on \"click\", \".more-attachments\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n $scope.$apply ->\n $ctrl.showDeprecated = not $ctrl.showDeprecated\n\n target.find(\"span.text\").addClass(\"hidden\")\n if $ctrl.showDeprecated\n target.find(\"span[data-type=hide]\").removeClass(\"hidden\")\n target.find(\"more-attachments-num\").addClass(\"hidden\")\n else\n target.find(\"span[data-type=show]\").removeClass(\"hidden\")\n target.find(\"more-attachments-num\").removeClass(\"hidden\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n maxFileSize = sizeFormat(maxFileSize) if maxFileSize\n maxFileSizeMsg = if maxFileSize then $translate.instant(\"ATTACHMENT.MAX_UPLOAD_SIZE\", {maxFileSize: maxFileSize}) else \"\"\n ctx = {\n type: $attrs.type\n maxFileSize: maxFileSize\n maxFileSizeMsg: maxFileSizeMsg\n }\n return template(ctx)\n\n return {\n require: [\"tgAttachments\", \"ngModel\"]\n controller: AttachmentsController\n controllerAs: \"ctrl\"\n restrict: \"AE\"\n scope: true\n link: link\n template: templateFn\n }\n\nmodule.directive(\"tgAttachments\", [\"$tgConfig\", \"$tgConfirm\", \"$tgTemplate\", \"$translate\", AttachmentsDirective])\n\n\nAttachmentDirective = ($template, $compile, $translate) ->\n template = $template.get(\"attachment/attachment.html\", true)\n templateEdit = $template.get(\"attachment/attachment-edit.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (attachment, edit=false) ->\n permissions = $scope.project.my_permissions\n modifyPermission = permissions.indexOf(\"modify_#{$ctrl.type}\") > -1\n\n ctx = {\n id: attachment.id\n name: attachment.name\n title : $translate.instant(\"ATTACHMENT.TITLE\", {\n fileName: attachment.name,\n date: moment(attachment.created_date).format($translate.instant(\"ATTACHMENT.DATE\"))})\n url: attachment.url\n size: sizeFormat(attachment.size)\n description: attachment.description\n isDeprecated: attachment.is_deprecated\n modifyPermission: modifyPermission\n }\n\n if edit\n html = $compile(templateEdit(ctx))($scope)\n else\n html = $compile(template(ctx))($scope)\n\n $el.html(html)\n\n if attachment.is_deprecated\n $el.addClass(\"deprecated\")\n $el.find(\"input:checkbox\").prop('checked', true)\n else\n $el.removeClass(\"deprecated\")\n\n saveAttachment = ->\n attachment.description = $el.find(\"input[name='description']\").val()\n attachment.is_deprecated = $el.find(\"input[name='is-deprecated']\").prop(\"checked\")\n\n $scope.$apply ->\n $ctrl.updateAttachment(attachment).then ->\n render(attachment, false)\n\n ## Actions (on edit mode)\n $el.on \"click\", \"a.editable-settings.icon-floppy\", (event) ->\n event.preventDefault()\n saveAttachment()\n\n $el.on \"keyup\", \"input[name=description]\", (event) ->\n if event.keyCode == 13\n saveAttachment()\n else if event.keyCode == 27\n render(attachment, false)\n\n $el.on \"click\", \"a.editable-settings.icon-delete\", (event) ->\n event.preventDefault()\n render(attachment, false)\n\n ## Actions (on view mode)\n $el.on \"click\", \"a.settings.icon-edit\", (event) ->\n event.preventDefault()\n render(attachment, true)\n $el.find(\"input[name='description']\").focus().select()\n\n $el.on \"click\", \"a.settings.icon-delete\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.removeAttachment(attachment)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n # Bootstrap\n attachment = $scope.$eval($attrs.tgAttachment)\n render(attachment, attachment.isCreatedRightNow)\n if attachment.isCreatedRightNow\n $el.find(\"input[name='description']\").focus().select()\n\n return {\n link: link\n require: \"^tgAttachments\"\n restrict: \"AE\"\n }\n\nmodule.directive(\"tgAttachment\", [\"$tgTemplate\", \"$compile\", \"$translate\", AttachmentDirective])\n","module = angular.module(\"taigaCommon\")\n\nBindScope = (config) ->\n if !config.debugInfo\n jQuery.fn.scope = () -> this.data('scope')\n\n link = ($scope, $el) ->\n if !config.debugInfo\n $el\n .data('scope', $scope)\n .addClass('tg-scope')\n\n return {link: link}\n\nmodule.directive(\"tgBindScope\", [\"$tgConfig\", BindScope])\n","CompileHtmlDirective = ($compile) ->\n link = (scope, element, attrs) ->\n scope.$watch attrs.tgCompileHtml, (newValue, oldValue) ->\n element.html(newValue)\n $compile(element.contents())(scope)\n\n return {\n link: link\n }\n\nCompileHtmlDirective.$inject = [\"$compile\"]\n\nangular.module(\"taigaCommon\").directive(\"tgCompileHtml\", CompileHtmlDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/components.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n\n#############################################################################\n## Date Range Directive (used mainly for sprint date range)\n#############################################################################\n\nDateRangeDirective = ($translate) ->\n renderRange = ($el, first, second) ->\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\")\n initDate = moment(first).format(prettyDate)\n endDate = moment(second).format(prettyDate)\n $el.html(\"#{initDate}-#{endDate}\")\n\n link = ($scope, $el, $attrs) ->\n [first, second] = $attrs.tgDateRange.split(\",\")\n\n bindOnce $scope, first, (valFirst) ->\n bindOnce $scope, second, (valSecond) ->\n renderRange($el, valFirst, valSecond)\n\n return {link:link}\n\nmodule.directive(\"tgDateRange\", [\"$translate\", DateRangeDirective])\n\n\n#############################################################################\n## Date Selector Directive (using pikaday)\n#############################################################################\n\nDateSelectorDirective = ($rootscope, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n selectedDate = null\n\n initialize = () ->\n $el.picker = new Pikaday({\n field: $el[0]\n onSelect: (date) =>\n selectedDate = date\n onOpen: =>\n $el.picker.setDate(selectedDate) if selectedDate?\n i18n: {\n previousMonth: $translate.instant(\"COMMON.PICKERDATE.PREV_MONTH\"),\n nextMonth: $translate.instant(\"COMMON.PICKERDATE.NEXT_MONTH\"),\n months: [$translate.instant(\"COMMON.PICKERDATE.MONTHS.JAN\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.FEB\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAR\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.APR\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAY\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUN\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUL\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.AUG\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.SEP\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.OCT\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.NOV\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.DEC\")],\n weekdays: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SUN\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.MON\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.TUE\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.WED\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.THU\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.FRI\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SAT\")],\n weekdaysShort: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT\")]\n },\n isRTL: $translate.instant(\"COMMON.PICKERDATE.IS_RTL\") == \"true\",\n firstDay: parseInt($translate.instant(\"COMMON.PICKERDATE.FIRST_DAY_OF_WEEK\"), 10),\n format: $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n })\n\n unbind = $rootscope.$on \"$translateChangeEnd\", (ctx) => initialize()\n\n $scope.$watch $attrs.ngModel, (val) ->\n initialize() if val? and not $el.picker\n $el.picker.setDate(val) if val?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n unbind()\n\n return {\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgDateSelector\", [\"$rootScope\", \"$translate\", DateSelectorDirective])\n\n\n#############################################################################\n## Sprint Progress Bar Directive\n#############################################################################\n\nSprintProgressBarDirective = ->\n renderProgress = ($el, percentage, visual_percentage) ->\n if $el.hasClass(\".current-progress\")\n $el.css(\"width\", \"#{percentage}%\")\n else\n $el.find(\".current-progress\").css(\"width\", \"#{visual_percentage}%\")\n $el.find(\".number\").html(\"#{percentage} %\")\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgSprintProgressbar, (sprint) ->\n closedPoints = sprint.closed_points\n totalPoints = sprint.total_points\n percentage = 0\n percentage = Math.round(100 * (closedPoints/totalPoints)) if totalPoints != 0\n visual_percentage = 0\n #Visual hack for .current-progress bar\n visual_percentage = Math.round(98 * (closedPoints/totalPoints)) if totalPoints != 0\n\n renderProgress($el, percentage, visual_percentage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgSprintProgressbar\", SprintProgressBarDirective)\n\n\n#############################################################################\n## Created-by display directive\n#############################################################################\n\nCreatedByDisplayDirective = ($template, $compile, $translate)->\n # Display the owner information (full name and photo) and the date of\n # creation of an object (like USs, tasks and issues).\n #\n # Example:\n # div.us-created-by(tg-created-by-display, ng-model=\"us\")\n #\n # Requirements:\n # - model object must have the attributes 'created_date' and\n # 'owner'(ng-model)\n # - scope.usersById object is required.\n\n template = $template.get(\"common/components/created-by.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (model) ->\n owner = $scope.usersById?[model.owner] or {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n photo: \"/images/unnamed.png\"\n }\n\n html = template({\n owner: owner\n date: moment(model.created_date).format($translate.instant(\"COMMON.DATETIME\"))\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n bindOnce $scope, $attrs.ngModel, (model) ->\n render(model) if model?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", CreatedByDisplayDirective])\n\n\n#############################################################################\n## Watchers directive\n#############################################################################\n\nWatchersDirective = ($rootscope, $confirm, $repo, $qqueue, $template, $compile, $translate) ->\n # You have to include a div with the tg-lb-watchers directive in the page\n # where use this directive\n template = $template.get(\"common/components/watchers.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project?.my_permissions?.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (watchers) =>\n item = $model.$modelValue.clone()\n item.watchers = watchers\n $model.$setViewValue(item)\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n watchers = _.map(watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $model.$modelValue.revert()\n\n deleteWatcher = $qqueue.bindAdd (watcherIds) =>\n item = $model.$modelValue.clone()\n item.watchers = watcherIds\n $model.$setViewValue(item)\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n watchers = _.map(item.watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n $rootscope.$broadcast(\"object:updated\")\n promise.then null, ->\n item.revert()\n $confirm.notify(\"error\")\n\n\n renderWatchers = (watchers) ->\n ctx = {\n watchers: watchers\n isEditable: isEditable()\n }\n\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n if isEditable() and watchers.length == 0\n $el.find(\".title\").text(\"Add watchers\")\n $el.find(\".watchers-header\").addClass(\"no-watchers\")\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n return if not isEditable()\n target = angular.element(event.currentTarget)\n watcherId = target.data(\"watcher-id\")\n\n title = $translate.instant(\"COMMON.WATCHERS.TITLE_LIGHTBOX_DELETE_WARTCHER\")\n message = $scope.usersById[watcherId].full_name_display\n\n $confirm.askOnDelete(title, message).then (finish) =>\n finish()\n\n watcherIds = _.clone($model.$modelValue.watchers, false)\n watcherIds = _.pull(watcherIds, watcherId)\n\n deleteWatcher(watcherIds)\n\n $el.on \"click\", \".add-watcher\", (event) ->\n event.preventDefault()\n return if not isEditable()\n $scope.$apply ->\n $rootscope.$broadcast(\"watcher:add\", $model.$modelValue)\n\n $scope.$on \"watcher:added\", (ctx, watcherId) ->\n watchers = _.clone($model.$modelValue.watchers, false)\n watchers.push(watcherId)\n watchers = _.uniq(watchers)\n\n save(watchers)\n\n $scope.$watch $attrs.ngModel, (item) ->\n return if not item?\n watchers = _.map(item.watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\",\n \"$translate\", WatchersDirective])\n\n\n#############################################################################\n## Assigned to directive\n#############################################################################\n\nAssignedToDirective = ($rootscope, $confirm, $repo, $loading, $qqueue, $template, $translate, $compile) ->\n # You have to include a div with the tg-lb-assignedto directive in the page\n # where use this directive\n template = $template.get(\"common/components/assigned-to.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project?.my_permissions?.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (userId) =>\n $model.$modelValue.assigned_to = userId\n\n currentLoading = $loading()\n .target($el)\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n renderAssignedTo($model.$modelValue)\n $rootscope.$broadcast(\"object:updated\")\n promise.then null, ->\n $model.$modelValue.revert()\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n return promise\n\n renderAssignedTo = (issue) ->\n assignedToId = issue?.assigned_to\n assignedTo = if assignedToId? then $scope.usersById[assignedToId] else null\n\n ctx = {\n assignedTo: assignedTo\n isEditable: isEditable()\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n $el.on \"click\", \".user-assigned\", (event) ->\n event.preventDefault()\n return if not isEditable()\n $scope.$apply ->\n $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue)\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n return if not isEditable()\n title = $translate.instant(\"COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED\")\n\n $confirm.ask(title).then (finish) =>\n finish()\n $model.$modelValue.assigned_to = null\n save(null)\n\n $scope.$on \"assigned-to:added\", (ctx, userId, item) ->\n return if item.id != $model.$modelValue.id\n\n save(userId)\n\n $scope.$watch $attrs.ngModel, (instance) ->\n renderAssignedTo(instance)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n }\n\nmodule.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$translate\", \"$compile\",\n AssignedToDirective])\n\n\n#############################################################################\n## Block Button directive\n#############################################################################\n\nBlockButtonDirective = ($rootscope, $loading, $template) ->\n template = $template.get(\"common/components/block-button.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n $scope.$watch $attrs.ngModel, (item) ->\n return if not item\n\n if isEditable()\n $el.find('.item-block').addClass('editable')\n\n if item.is_blocked\n $el.find('.item-block').hide()\n $el.find('.item-unblock').show()\n else\n $el.find('.item-block').show()\n $el.find('.item-unblock').hide()\n\n $el.on \"click\", \".item-block\", (event) ->\n event.preventDefault()\n $rootscope.$broadcast(\"block\", $model.$modelValue)\n\n $el.on \"click\", \".item-unblock\", (event) ->\n event.preventDefault()\n currentLoading = $loading()\n .target($el.find(\".item-unblock\"))\n .start()\n\n finish = ->\n currentLoading.finish()\n\n $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective])\n\n\n#############################################################################\n## Delete Button directive\n#############################################################################\n\nDeleteButtonDirective = ($log, $repo, $confirm, $location, $template) ->\n template = $template.get(\"common/components/delete-button.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n if not $attrs.onDeleteGoToUrl\n return $log.error \"DeleteButtonDirective requires on-delete-go-to-url set in scope.\"\n if not $attrs.onDeleteTitle\n return $log.error \"DeleteButtonDirective requires on-delete-title set in scope.\"\n\n $el.on \"click\", \".button\", (event) ->\n title = $attrs.onDeleteTitle\n subtitle = $model.$modelValue.subject\n\n $confirm.askOnDelete(title, subtitle).then (finish) =>\n promise = $repo.remove($model.$modelValue)\n promise.then =>\n finish()\n url = $scope.$eval($attrs.onDeleteGoToUrl)\n $location.path(url)\n promise.then null, =>\n finish(false)\n $confirm.notify(\"error\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective])\n\n\n#############################################################################\n## Editable subject directive\n#############################################################################\n\nEditableSubjectDirective = ($rootscope, $repo, $confirm, $loading, $qqueue, $template) ->\n template = $template.get(\"common/components/editable-subject.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n\n $scope.$on \"object:updated\", () ->\n $el.find('.edit-subject').hide()\n $el.find('.view-subject').show()\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (subject) =>\n $model.$modelValue.subject = subject\n\n currentLoading = $loading()\n .target($el.find('.save-container'))\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $el.find('.edit-subject').hide()\n $el.find('.view-subject').show()\n promise.then null, ->\n $confirm.notify(\"error\")\n promise.finally ->\n currentLoading.finish()\n\n return promise\n\n $el.click ->\n return if not isEditable()\n $el.find('.edit-subject').show()\n $el.find('.view-subject').hide()\n $el.find('input').focus()\n\n $el.on \"click\", \".save\", (e) ->\n e.preventDefault()\n\n subject = $scope.item.subject\n save(subject)\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n subject = $scope.item.subject\n save(subject)\n else if event.keyCode == 27\n $scope.$apply () => $model.$modelValue.revert()\n\n $el.find('div.edit-subject').hide()\n $el.find('div.view-subject').show()\n\n $el.find('div.edit-subject').hide()\n $el.find('div.view-subject span.edit').hide()\n\n $scope.$watch $attrs.ngModel, (value) ->\n return if not value\n $scope.item = value\n\n if not isEditable()\n $el.find('.view-subject .edit').remove()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgEditableSubject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$tgTemplate\", EditableSubjectDirective])\n\n\n#############################################################################\n## Editable subject directive\n#############################################################################\n\nEditableDescriptionDirective = ($rootscope, $repo, $confirm, $compile, $loading, $selectedText, $qqueue, $template) ->\n template = $template.get(\"common/components/editable-description.html\")\n noDescriptionMegEditMode = $template.get(\"common/components/editable-description-msg-edit-mode.html\")\n noDescriptionMegReadMode = $template.get(\"common/components/editable-description-msg-read-mode.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n $el.find('.edit-description').hide()\n $el.find('.view-description .edit').hide()\n\n $scope.$on \"object:updated\", () ->\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (description) =>\n $model.$modelValue.description = description\n\n currentLoading = $loading()\n .target($el.find('.save-container'))\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n promise.then null, ->\n $confirm.notify(\"error\")\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"mouseup\", \".view-description\", (event) ->\n # We want to dettect the a inside the div so we use the target and\n # not the currentTarget\n target = angular.element(event.target)\n return if not isEditable()\n return if target.is('a')\n return if $selectedText.get().length\n\n $el.find('.edit-description').show()\n $el.find('.view-description').hide()\n $el.find('textarea').focus()\n\n $el.on \"click\", \".save\", (e) ->\n e.preventDefault()\n\n description = $scope.item.description\n save(description)\n\n $el.on \"keydown\", \"textarea\", (event) ->\n if event.keyCode == 27\n $scope.$apply () => $scope.item.revert()\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n\n $scope.$watch $attrs.ngModel, (value) ->\n return if not value\n $scope.item = value\n\n if isEditable()\n $el.find('.view-description .edit').show()\n $el.find('.view-description .us-content').addClass('editable')\n $scope.noDescriptionMsg = $compile(noDescriptionMegEditMode)($scope)\n else\n $scope.noDescriptionMsg = $compile(noDescriptionMegReadMode)($scope)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgEditableDescription\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", \"$tgLoading\",\n \"$selectedText\", \"$tgQqueue\", \"$tgTemplate\", EditableDescriptionDirective])\n\n\n#############################################################################\n## Common list directives\n#############################################################################\n## NOTE: These directives are used in issues and search and are\n## completely bindonce, they only serves for visualization of data.\n#############################################################################\n\nListItemUsStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n us = $scope.$eval($attrs.tgListitemUsStatus)\n bindOnce $scope, \"usStatusById\", (usStatusById) ->\n $el.html(usStatusById[us.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective)\n\n\nListItemTaskStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n task = $scope.$eval($attrs.tgListitemTaskStatus)\n bindOnce $scope, \"taskStatusById\", (taskStatusById) ->\n $el.html(taskStatusById[task.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective)\n\n\nListItemAssignedtoDirective = ($template) ->\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true)\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"membersById\", (membersById) ->\n item = $scope.$eval($attrs.tgListitemAssignedto)\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n\n member = membersById[item.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name\n\n $el.html(template(ctx))\n\n return {link:link}\n\nmodule.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", ListItemAssignedtoDirective])\n\n\nListItemIssueStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n issue = $scope.$eval($attrs.tgListitemIssueStatus)\n bindOnce $scope, \"issueStatusById\", (issueStatusById) ->\n $el.html(issueStatusById[issue.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective)\n\n\nListItemTypeDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (issueTypeById, issue) ->\n type = issueTypeById[issue.type]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", type.color)\n domNode.attr(\"title\", type.name)\n\n bindOnce $scope, \"issueTypeById\", (issueTypeById) ->\n issue = $scope.$eval($attrs.tgListitemType)\n render(issueTypeById, issue)\n\n $scope.$watch $attrs.tgListitemType, (issue) ->\n render($scope.issueTypeById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemType\", ListItemTypeDirective)\n\n\nListItemPriorityDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (priorityById, issue) ->\n priority = priorityById[issue.priority]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", priority.color)\n domNode.attr(\"title\", priority.name)\n\n bindOnce $scope, \"priorityById\", (priorityById) ->\n issue = $scope.$eval($attrs.tgListitemPriority)\n render(priorityById, issue)\n\n $scope.$watch $attrs.tgListitemPriority, (issue) ->\n render($scope.priorityById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemPriority\", ListItemPriorityDirective)\n\n\nListItemSeverityDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (severityById, issue) ->\n severity = severityById[issue.severity]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", severity.color)\n domNode.attr(\"title\", severity.name)\n\n bindOnce $scope, \"severityById\", (severityById) ->\n issue = $scope.$eval($attrs.tgListitemSeverity)\n render(severityById, issue)\n\n $scope.$watch $attrs.tgListitemSeverity, (issue) ->\n render($scope.severityById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemSeverity\", ListItemSeverityDirective)\n\n\n#############################################################################\n## Progress bar directive\n#############################################################################\n\nTgProgressBarDirective = ($template) ->\n template = $template.get(\"common/components/progress-bar.html\", true)\n\n render = (el, percentage) ->\n el.html(template({percentage: percentage}))\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch $attrs.tgProgressBar, (percentage) ->\n percentage = _.max([0 , percentage])\n percentage = _.min([100, percentage])\n render($el, percentage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective])\n\n\n#############################################################################\n## Main title directive\n#############################################################################\n\nTgMainTitleDirective = ($translate) ->\n link = ($scope, $el, $attrs) ->\n $attrs.$observe \"i18nSectionName\", (i18nSectionName) ->\n $scope.sectionName = $translate.instant(i18nSectionName)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n templateUrl: \"common/components/main-title.html\"\n scope: {\n projectName : \"=projectName\"\n }\n }\n\nmodule.directive(\"tgMainTitle\", [\"$translate\", TgMainTitleDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/confirm.coffee\n###\n\ntaiga = @.taiga\ntimeout = @.taiga.timeout\ncancelTimeout = @.taiga.cancelTimeout\ndebounce = @.taiga.debounce\nbindMethods = @.taiga.bindMethods\n\nNOTIFICATION_MSG = {\n \"success\":\n title: \"NOTIFICATION.OK\"\n message: \"NOTIFICATION.SAVED\"\n \"error\":\n title: \"NOTIFICATION.WARNING\"\n message: \"NOTIFICATION.WARNING_TEXT\"\n \"light-error\":\n title: \"NOTIFICATION.WARNING\"\n message: \"NOTIFICATION.WARNING_TEXT\"\n}\n\n\nclass ConfirmService extends taiga.Service\n @.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\", \"$translate\"]\n\n constructor: (@q, @lightboxService, @loading, @translate) ->\n bindMethods(@)\n\n hide: (el)->\n if el\n @lightboxService.close(el)\n\n el.off(\".confirm-dialog\")\n\n ask: (title, subtitle, message, lightboxSelector=\".lightbox-generic-ask\") ->\n defered = @q.defer()\n\n el = angular.element(lightboxSelector)\n\n # Render content\n el.find(\"h2.title\").html(title)\n el.find(\"span.subtitle\").html(subtitle)\n el.find(\"span.message\").html(message)\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n currentLoading = @loading()\n .target(target)\n .start()\n\n defered.resolve (ok=true) =>\n currentLoading.finish()\n if ok\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.button-red\", (event) =>\n event.preventDefault()\n defered.reject()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n askOnDelete: (title, message) ->\n return @.ask(title, @translate.instant(\"NOTIFICATION.ASK_DELETE\"), message)\n\n askChoice: (title, subtitle, choices, replacement, warning, lightboxSelector=\".lightbox-ask-choice\") ->\n defered = @q.defer()\n\n el = angular.element(lightboxSelector)\n\n # Render content\n el.find(\".title\").html(title)\n el.find(\".subtitle\").html(subtitle)\n\n if replacement\n el.find(\".replacement\").html(replacement)\n else\n el.find(\".replacement\").remove()\n\n if warning\n el.find(\".warning\").html(warning)\n else\n el.find(\".warning\").remove()\n\n choicesField = el.find(\".choices\")\n choicesField.html('')\n _.each choices, (value, key) ->\n choicesField.append(angular.element(\"\"))\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n currentLoading = @loading()\n .target(target)\n .start()\n defered.resolve {\n selected: choicesField.val()\n finish: =>\n currentLoading.finish()\n @.hide(el)\n }\n\n el.on \"click.confirm-dialog\", \"a.button-red\", (event) =>\n event.preventDefault()\n defered.reject()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n error: (message) ->\n defered = @q.defer()\n\n el = angular.element(\".lightbox-generic-error\")\n\n # Render content\n el.find(\"h2.title\").html(message)\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.close\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n success: (title, message) ->\n defered = @q.defer()\n\n el = angular.element(\".lightbox-generic-success\")\n\n # Render content\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.close\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n loader: (title, message) ->\n el = angular.element(\".lightbox-generic-loading\")\n\n # Render content\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n return {\n start: => @lightboxService.open(el)\n stop: => @lightboxService.close(el)\n update: (status, title, message, percent) =>\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n if percent\n el.find(\".spin\").addClass(\"hidden\")\n el.find(\".progress-bar-wrapper\").removeClass(\"hidden\")\n el.find(\".progress-bar-wrapper > .bar\").width(percent + '%')\n el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%' )\n else\n el.find(\".spin\").removeClass(\"hidden\")\n el.find(\".progress-bar-wrapper\").addClass(\"hidden\")\n }\n\n notify: (type, message, title, time) ->\n # NOTE: Typesi are: error, success, light-error\n # See partials/components/notification-message.jade)\n # Add default texts to NOTIFICATION_MSG for new notification types\n\n selector = \".notification-message-#{type}\"\n el = angular.element(selector)\n\n return if el.hasClass(\"active\")\n\n if title\n el.find(\"h4\").html(title)\n else\n el.find(\"h4\").html(@translate.instant(NOTIFICATION_MSG[type].title))\n\n if message\n el.find(\"p\").html(message)\n else\n el.find(\"p\").html(@translate.instant(NOTIFICATION_MSG[type].message))\n\n body = angular.element(\"body\")\n body.find(\".notification-message .notification-light\")\n .removeClass('active')\n .addClass('inactive')\n\n body.find(selector)\n .removeClass('inactive')\n .addClass('active')\n\n if @.tsem\n cancelTimeout(@.tsem)\n\n if !time\n time = if type == 'error' or type == 'light-error' then 3500 else 1500\n\n @.tsem = timeout time, =>\n body.find(selector)\n .removeClass('active')\n .addClass('inactive')\n\n delete @.tsem\n\n el.on \"click\", \".icon-delete\", (event) =>\n body.find(selector)\n .removeClass('active')\n .addClass('inactive')\n\n\nmodule = angular.module(\"taigaCommon\")\nmodule.service(\"$tgConfirm\", ConfirmService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/custom-field-values.coffee\n###\n\ntaiga = @.taiga\nbindMethods = @.taiga.bindMethods\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\ngenerateHash = taiga.generateHash\n\nmodule = angular.module(\"taigaCommon\")\n\n\nclass CustomAttributesValuesController extends taiga.Controller\n @.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"]\n\n constructor: (@scope, @rootscope, @repo, @rs, @confirm, @q) ->\n bindMethods(@)\n @.type = null\n @.objectId = null\n @.projectId = null\n @.customAttributes = []\n @.customAttributesValues = null\n\n initialize: (type, objectId) ->\n @.project = @scope.project\n @.type = type\n @.objectId = objectId\n @.projectId = @scope.projectId\n\n loadCustomAttributesValues: ->\n return @.customAttributesValues if not @.objectId\n return @rs.customAttributesValues[@.type].get(@.objectId).then (customAttributesValues) =>\n @.customAttributes = @.project[\"#{@.type}_custom_attributes\"]\n @.customAttributesValues = customAttributesValues\n return customAttributesValues\n\n getAttributeValue: (attribute) ->\n attributeValue = _.clone(attribute, false)\n attributeValue.value = @.customAttributesValues.attributes_values[attribute.id]\n return attributeValue\n\n updateAttributeValue: (attributeValue) ->\n onSuccess = =>\n @rootscope.$broadcast(\"custom-attributes-values:edit\")\n\n onError = (response) =>\n @confirm.notify(\"error\")\n return @q.reject()\n\n # We need to update the full array so angular understand the model is modified\n attributesValues = _.clone(@.customAttributesValues.attributes_values, true)\n attributesValues[attributeValue.id] = attributeValue.value\n @.customAttributesValues.attributes_values = attributesValues\n @.customAttributesValues.id = @.objectId\n return @repo.save(@.customAttributesValues).then(onSuccess, onError)\n\n\nCustomAttributesValuesDirective = ($templates, $storage) ->\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true)\n collapsedHash = (type) ->\n return generateHash([\"custom-attributes-collapsed\", type])\n\n link = ($scope, $el, $attrs, $ctrls) ->\n $ctrl = $ctrls[0]\n $model = $ctrls[1]\n\n bindOnce $scope, $attrs.ngModel, (value) ->\n $ctrl.initialize($attrs.type, value.id)\n $ctrl.loadCustomAttributesValues()\n\n $el.on \"click\", \".custom-fields-header a\", ->\n hash = collapsedHash($attrs.type)\n collapsed = not($storage.get(hash) or false)\n $storage.set(hash, collapsed)\n if collapsed\n $el.find(\".custom-fields-header a\").removeClass(\"open\")\n $el.find(\".custom-fields-body\").removeClass(\"open\")\n else\n $el.find(\".custom-fields-header a\").addClass(\"open\")\n $el.find(\".custom-fields-body\").addClass(\"open\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n collapsed = $storage.get(collapsedHash($attrs.type)) or false\n\n return template({\n requiredEditionPerm: $attrs.requiredEditionPerm\n collapsed: collapsed\n })\n\n return {\n require: [\"tgCustomAttributesValues\", \"ngModel\"]\n controller: CustomAttributesValuesController\n controllerAs: \"ctrl\"\n restrict: \"AE\"\n scope: true\n link: link\n template: templateFn\n }\n\nmodule.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", CustomAttributesValuesDirective])\n\n\nCustomAttributeValueDirective = ($template, $selectedText, $compile) ->\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true)\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (attributeValue, edit=false) ->\n value = attributeValue.value\n editable = isEditable()\n ctx = {\n id: attributeValue.id\n name: attributeValue.name\n description: attributeValue.description\n value: value\n isEditable: editable\n }\n\n if editable and (edit or not value)\n html = templateEdit(ctx)\n html = $compile(html)($scope)\n else\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n isEditable = ->\n permissions = $scope.project.my_permissions\n requiredEditionPerm = $attrs.requiredEditionPerm\n return permissions.indexOf(requiredEditionPerm) > -1\n\n saveAttributeValue = ->\n attributeValue.value = $el.find(\"input\").val()\n\n $scope.$apply ->\n $ctrl.updateAttributeValue(attributeValue).then ->\n render(attributeValue, false)\n\n $el.on \"keyup\", \"input[name=description]\", (event) ->\n if event.keyCode == 13\n submit(event)\n else if event.keyCode == 27\n render(attributeValue, false)\n\n ## Actions (on view mode)\n $el.on \"click\", \".custom-field-value.read-mode\", ->\n return if not isEditable()\n return if $selectedText.get().length\n render(attributeValue, true)\n $el.find(\"input[name='description']\").focus().select()\n $scope.$apply()\n\n $el.on \"click\", \"a.icon-edit\", (event) ->\n event.preventDefault()\n render(attributeValue, true)\n $el.find(\"input[name='description']\").focus().select()\n $scope.$apply() \n\n ## Actions (on edit mode)\n submit = debounce 2000, (event) =>\n event.preventDefault()\n saveAttributeValue()\n\n $el.on \"submit\", \"form\", submit\n $el.on \"click\", \"a.icon-floppy\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n # Bootstrap\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue)\n render(attributeValue)\n\n return {\n link: link\n require: \"^tgCustomAttributesValues\"\n restrict: \"AE\"\n }\n\nmodule.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", \"$compile\", CustomAttributeValueDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/estimation.coffee\n###\n\ntaiga = @.taiga\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaCommon\")\n\n#############################################################################\n## User story estimation directive (for Lightboxes)\n#############################################################################\n\nLbUsEstimationDirective = ($tgEstimationsService, $rootScope, $repo, $confirm, $template, $compile) ->\n # Display the points of a US and you can edit it.\n #\n # Example:\n # tg-lb-us-estimation-progress-bar(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.project object\n\n link = ($scope, $el, $attrs, $model) ->\n $scope.$watch $attrs.ngModel, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n $scope.$apply ->\n $model.$setViewValue(us)\n\n\n estimationProcess.render = () ->\n ctx = {\n totalPoints: @calculateTotalPoints()\n roles: @calculateRoles()\n editable: @isEditable\n }\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\"\n template = $template.get(mainTemplate, true)\n html = template(ctx)\n html = $compile(html)($scope)\n @$el.html(html)\n\n estimationProcess.render()\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", \"$compile\", LbUsEstimationDirective])\n\n\n#############################################################################\n## User story estimation directive\n#############################################################################\n\nUsEstimationDirective = ($tgEstimationsService, $rootScope, $repo, $confirm, $qqueue, $template, $compile) ->\n # Display the points of a US and you can edit it.\n #\n # Example:\n # tg-us-estimation-progress-bar(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.project object\n\n link = ($scope, $el, $attrs, $model) ->\n $scope.$watch $attrs.ngModel, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n @save(roleId, pointId).then ->\n $rootScope.$broadcast(\"object:updated\")\n\n estimationProcess.render = () ->\n ctx = {\n totalPoints: @calculateTotalPoints()\n roles: @calculateRoles()\n editable: @isEditable\n }\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\"\n template = $template.get(mainTemplate, true)\n html = template(ctx)\n html = $compile(html)($scope)\n @$el.html(html)\n\n estimationProcess.render()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\"\n UsEstimationDirective])\n\n\n#############################################################################\n## Estimations service\n#############################################################################\n\nEstimationsService = ($template, $qqueue, $repo, $confirm, $q) ->\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true)\n\n class EstimationProcess\n constructor: (@$el, @us, @project) ->\n @isEditable = @project.my_permissions.indexOf(\"modify_us\") != -1\n @roles = @project.roles\n @points = @project.points\n @pointsById = groupBy(@points, (x) -> x.id)\n @onSelectedPointForRole = (roleId, pointId) ->\n @render = () ->\n\n save: (roleId, pointId) ->\n deferred = $q.defer()\n $qqueue.add () =>\n onSuccess = =>\n deferred.resolve()\n $confirm.notify(\"success\")\n\n onError = =>\n $confirm.notify(\"error\")\n @us.revert()\n @render()\n deferred.reject()\n\n $repo.save(@us).then(onSuccess, onError)\n\n return deferred.promise\n\n calculateTotalPoints: () ->\n values = _.map(@us.points, (v, k) => @pointsById[v]?.value)\n\n if values.length == 0\n return \"0\"\n\n notNullValues = _.filter(values, (v) -> v?)\n if notNullValues.length == 0\n return \"?\"\n\n return _.reduce(notNullValues, (acc, num) -> acc + num)\n\n calculateRoles: () ->\n computableRoles = _.filter(@project.roles, \"computable\")\n roles = _.map computableRoles, (role) =>\n pointId = @us.points[role.id]\n pointObj = @pointsById[pointId]\n role = _.clone(role, true)\n role.points = if pointObj? and pointObj.name? then pointObj.name else \"?\"\n return role\n\n return roles\n\n bindClickEvents: =>\n @$el.on \"click\", \".total.clickable\", (event) =>\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n roleId = target.data(\"role-id\")\n @renderPointsSelector(roleId, target)\n target.siblings().removeClass('active')\n target.addClass('active')\n\n @$el.on \"click\", \".point\", (event) =>\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n roleId = target.data(\"role-id\")\n pointId = target.data(\"point-id\")\n @$el.find(\".popover\").popover().close()\n points = _.clone(@us.points, true)\n points[roleId] = pointId\n @us.points = points\n @render()\n @onSelectedPointForRole(roleId, pointId)\n\n renderPointsSelector: (roleId, target) ->\n points = _.map @points, (point) =>\n point = _.clone(point, true)\n point.selected = if @us.points[roleId] == point.id then false else true\n return point\n\n maxPointLength = 5\n horizontalList = _.some points, (point) => point.name.length > maxPointLength\n\n html = pointsTemplate({\"points\": points, roleId: roleId, horizontal: horizontalList})\n # Remove any previous state\n @$el.find(\".popover\").popover().close()\n @$el.find(\".pop-points-open\").remove()\n # Render into DOM and show the new created element\n if target?\n @$el.find(target).append(html)\n else\n @$el.append(html)\n\n @$el.find(\".pop-points-open\").popover().open ->\n $(this)\n .removeClass(\"active\")\n .closest(\"li\").removeClass(\"active\")\n\n @$el.find(\".pop-points-open\").show()\n\n create = ($el, us, project) ->\n $el.unbind(\"click\")\n\n estimationProcess = new EstimationProcess($el, us, project)\n\n if estimationProcess.isEditable\n estimationProcess.bindClickEvents()\n\n return estimationProcess\n\n return {\n create: create\n }\n\nmodule.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgQqueue\", \"$tgRepo\", \"$tgConfirm\", \"$q\", EstimationsService])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/filters.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\")\n\n\ndefaultFilter = ->\n return (value, defaultValue) ->\n if value is [null, undefined]\n return defaultValue\n return value\n\nmodule.filter(\"default\", defaultFilter)\n\n\nyesNoFilter = ($translate) ->\n return (value) ->\n if value\n return $translate.instant(\"COMMON.YES\")\n\n return $translate.instant(\"COMMON.NO\")\n\nmodule.filter(\"yesNo\", [\"$translate\", yesNoFilter])\n\n\nunslugify = ->\n return taiga.unslugify\n\nmodule.filter(\"unslugify\", unslugify)\n\n\nmomentFormat = ->\n return (input, format) ->\n if input\n return moment(input).format(format)\n return \"\"\n\nmodule.filter(\"momentFormat\", momentFormat)\n\n\nmomentFromNow = ->\n return (input, without_suffix) ->\n if input\n return moment(input).fromNow(without_suffix or false)\n return \"\"\n\nmodule.filter(\"momentFromNow\", momentFromNow)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/history.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaCommon\")\n\n\n#############################################################################\n## History Directive (Main)\n#############################################################################\n\n\nclass HistoryController extends taiga.Controller\n @.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\"]\n\n constructor: (@scope, @repo, @rs) ->\n\n initialize: (type, objectId) ->\n @.type = type\n @.objectId = objectId\n\n loadHistory: (type, objectId) ->\n return @rs.history.get(type, objectId).then (history) =>\n for historyResult in history\n # If description was modified take only the description_html field\n if historyResult.values_diff.description_diff?\n historyResult.values_diff.description = historyResult.values_diff.description_diff\n\n delete historyResult.values_diff.description_html\n delete historyResult.values_diff.description_diff\n\n # If block note was modified take only the blocked_note_html field\n if historyResult.values_diff.blocked_note_diff?\n historyResult.values_diff.blocked_note = historyResult.values_diff.blocked_note_diff\n\n delete historyResult.values_diff.blocked_note_html\n delete historyResult.values_diff.blocked_note_diff\n\n @scope.history = history\n @scope.comments = _.filter(history, (item) -> item.comment != \"\")\n\n deleteComment: (type, objectId, activityId) ->\n return @rs.history.deleteComment(type, objectId, activityId).then => @.loadHistory(type, objectId)\n\n undeleteComment: (type, objectId, activityId) ->\n return @rs.history.undeleteComment(type, objectId, activityId).then => @.loadHistory(type, objectId)\n\n\nHistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $compile) ->\n templateChangeDiff = $template.get(\"common/history/history-change-diff.html\", true)\n templateChangePoints = $template.get(\"common/history/history-change-points.html\", true)\n templateChangeGeneric = $template.get(\"common/history/history-change-generic.html\", true)\n templateChangeAttachment = $template.get(\"common/history/history-change-attachment.html\", true)\n templateChangeList = $template.get(\"common/history/history-change-list.html\", true)\n templateDeletedComment = $template.get(\"common/history/history-deleted-comment.html\", true)\n templateActivity = $template.get(\"common/history/history-activity.html\", true)\n templateBaseEntries = $template.get(\"common/history/history-base-entries.html\", true)\n templateBase = $template.get(\"common/history/history-base.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n # Bootstraping\n type = $attrs.type\n objectId = null\n\n showAllComments = false\n showAllActivity = false\n\n getPrettyDateFormat = ->\n return $translate.instant(\"ACTIVITY.DATETIME\")\n\n bindOnce $scope, $attrs.ngModel, (model) ->\n type = $attrs.type\n objectId = model.id\n\n $ctrl.initialize(type, objectId)\n $ctrl.loadHistory(type, objectId)\n\n # Helpers\n getHumanizedFieldName = (field) ->\n humanizedFieldNames = {\n subject : $translate.instant(\"ACTIVITY.FIELDS.SUBJECT\")\n name: $translate.instant(\"ACTIVITY.FIELDS.NAME\")\n description : $translate.instant(\"ACTIVITY.FIELDS.DESCRIPTION\")\n content: $translate.instant(\"ACTIVITY.FIELDS.CONTENT\")\n status: $translate.instant(\"ACTIVITY.FIELDS.STATUS\")\n is_closed : $translate.instant(\"ACTIVITY.FIELDS.IS_CLOSED\")\n finish_date : $translate.instant(\"ACTIVITY.FIELDS.FINISH_DATE\")\n type: $translate.instant(\"ACTIVITY.FIELDS.TYPE\")\n priority: $translate.instant(\"ACTIVITY.FIELDS.PRIORITY\")\n severity: $translate.instant(\"ACTIVITY.FIELDS.SEVERITY\")\n assigned_to : $translate.instant(\"ACTIVITY.FIELDS.ASSIGNED_TO\")\n watchers : $translate.instant(\"ACTIVITY.FIELDS.WATCHERS\")\n milestone : $translate.instant(\"ACTIVITY.FIELDS.MILESTONE\")\n user_story: $translate.instant(\"ACTIVITY.FIELDS.USER_STORY\")\n project: $translate.instant(\"ACTIVITY.FIELDS.PROJECT\")\n is_blocked: $translate.instant(\"ACTIVITY.FIELDS.IS_BLOCKED\")\n blocked_note: $translate.instant(\"ACTIVITY.FIELDS.BLOCKED_NOTE\")\n points: $translate.instant(\"ACTIVITY.FIELDS.POINTS\")\n client_requirement : $translate.instant(\"ACTIVITY.FIELDS.CLIENT_REQUIREMENT\")\n team_requirement : $translate.instant(\"ACTIVITY.FIELDS.TEAM_REQUIREMENT\")\n is_iocaine: $translate.instant(\"ACTIVITY.FIELDS.IS_IOCAINE\")\n tags: $translate.instant(\"ACTIVITY.FIELDS.TAGS\")\n attachments : $translate.instant(\"ACTIVITY.FIELDS.ATTACHMENTS\")\n is_deprecated: $translate.instant(\"ACTIVITY.FIELDS.IS_DEPRECATED\")\n blocked_note: $translate.instant(\"ACTIVITY.FIELDS.BLOCKED_NOTE\")\n is_blocked: $translate.instant(\"ACTIVITY.FIELDS.IS_BLOCKED\")\n order: $translate.instant(\"ACTIVITY.FIELDS.ORDER\")\n backlog_order: $translate.instant(\"ACTIVITY.FIELDS.BACKLOG_ORDER\")\n sprint_order: $translate.instant(\"ACTIVITY.FIELDS.SPRINT_ORDER\")\n kanban_order: $translate.instant(\"ACTIVITY.FIELDS.KANBAN_ORDER\")\n taskboard_order: $translate.instant(\"ACTIVITY.FIELDS.TASKBOARD_ORDER\")\n us_order: $translate.instant(\"ACTIVITY.FIELDS.US_ORDER\")\n }\n\n return humanizedFieldNames[field] or field\n\n getUserFullName = (userId) ->\n return $scope.usersById[userId]?.full_name_display\n\n getUserAvatar = (userId) ->\n if $scope.usersById[userId]?\n return $scope.usersById[userId].photo\n else\n return \"/images/unnamed.png\"\n\n countChanges = (comment) ->\n return _.keys(comment.values_diff).length\n\n formatChange = (change) ->\n if _.isArray(change)\n if change.length == 0\n return $translate.instant(\"ACTIVITY.VALUES.EMPTY\")\n return change.join(\", \")\n\n if change == \"\"\n return $translate.instant(\"ACTIVITY.VALUES.EMPTY\")\n\n if not change? or change == false\n return $translate.instant(\"ACTIVITY.VALUES.NO\")\n\n if change == true\n return $translate.instant(\"ACTIVITY.VALUES.YES\")\n\n return change\n\n # Render into string (operations without mutability)\n\n renderAttachmentEntry = (value) ->\n attachments = _.map value, (changes, type) ->\n if type == \"new\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.NEW_ATTACHMENT\"),\n diff: change.filename\n })\n else if type == \"deleted\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.DELETED_ATTACHMENT\"),\n diff: change.filename\n })\n else\n return _.map changes, (change) ->\n name = $translate.instant(\"ACTIVITY.UPDATED_ATTACHMENT\", {filename: change.filename})\n\n diff = _.map change.changes, (values, name) ->\n return {\n name: getHumanizedFieldName(name)\n from: formatChange(values[0])\n to: formatChange(values[1])\n }\n\n return templateChangeAttachment({name: name, diff: diff})\n\n return _.flatten(attachments).join(\"\\n\")\n\n renderCustomAttributesEntry = (value) ->\n customAttributes = _.map value, (changes, type) ->\n if type == \"new\"\n return _.map changes, (change) ->\n html = templateChangeGeneric({\n name: change.name,\n from: formatChange(\"\"),\n to: formatChange(change.value)\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if type == \"deleted\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.DELETED_CUSTOM_ATTRIBUTE\")\n diff: change.name\n })\n else\n return _.map changes, (change) ->\n customAttrsChanges = _.map change.changes, (values) ->\n return templateChangeGeneric({\n name: change.name\n from: formatChange(values[0])\n to: formatChange(values[1])\n })\n return _.flatten(customAttrsChanges).join(\"\\n\")\n\n return _.flatten(customAttributes).join(\"\\n\")\n\n renderChangeEntry = (field, value) ->\n if field == \"description\"\n return templateChangeDiff({name: getHumanizedFieldName(\"description\"), diff: value[1]})\n else if field == \"blocked_note\"\n return templateChangeDiff({name: getHumanizedFieldName(\"blocked_note\"), diff: value[1]})\n else if field == \"points\"\n html = templateChangePoints({points: value})\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if field == \"attachments\"\n return renderAttachmentEntry(value)\n else if field == \"custom_attributes\"\n return renderCustomAttributesEntry(value)\n else if field in [\"tags\", \"watchers\"]\n name = getHumanizedFieldName(field)\n removed = _.difference(value[0], value[1])\n added = _.difference(value[1], value[0])\n html = templateChangeList({name:name, removed:removed, added: added})\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if field == \"assigned_to\"\n name = getHumanizedFieldName(field)\n from = formatChange(value[0] or $translate.instant(\"ACTIVITY.VALUES.UNASSIGNED\"))\n to = formatChange(value[1] or $translate.instant(\"ACTIVITY.VALUES.UNASSIGNED\"))\n return templateChangeGeneric({name:name, from:from, to: to})\n else\n name = getHumanizedFieldName(field)\n from = formatChange(value[0])\n to = formatChange(value[1])\n return templateChangeGeneric({name:name, from:from, to: to})\n\n renderChangeEntries = (change) ->\n return _.map(change.values_diff, (value, field) -> renderChangeEntry(field, value))\n\n renderChangesHelperText = (change) ->\n size = countChanges(change)\n return $translate.instant(\"ACTIVITY.SIZE_CHANGE\", {size: size}, 'messageformat')\n\n renderComment = (comment) ->\n if (comment.delete_comment_date or comment.delete_comment_user?.name)\n html = templateDeletedComment({\n deleteCommentDate: moment(comment.delete_comment_date).format(getPrettyDateFormat()) if comment.delete_comment_date\n deleteCommentUser: comment.delete_comment_user.name\n deleteComment: comment.comment_html\n activityId: comment.id\n canRestoreComment: ($scope.user and\n (comment.delete_comment_user.pk == $scope.user.id or\n $scope.project.my_permissions.indexOf(\"modify_project\") > -1))\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n\n html = templateActivity({\n avatar: getUserAvatar(comment.user.pk)\n userFullName: comment.user.name\n creationDate: moment(comment.created_at).format(getPrettyDateFormat())\n comment: comment.comment_html\n changesText: renderChangesHelperText(comment)\n changes: renderChangeEntries(comment)\n mode: \"comment\"\n deleteCommentDate: moment(comment.delete_comment_date).format(getPrettyDateFormat()) if comment.delete_comment_date\n deleteCommentUser: comment.delete_comment_user.name if comment.delete_comment_user?.name\n activityId: comment.id\n canDeleteComment: comment.user.pk == $scope.user?.id or $scope.project.my_permissions.indexOf(\"modify_project\") > -1\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n\n renderChange = (change) ->\n return templateActivity({\n avatar: getUserAvatar(change.user.pk)\n userFullName: change.user.name\n creationDate: moment(change.created_at).format(getPrettyDateFormat())\n comment: change.comment_html\n changes: renderChangeEntries(change)\n changesText: \"\"\n mode: \"activity\"\n deleteCommentDate: moment(change.delete_comment_date).format(getPrettyDateFormat()) if change.delete_comment_date\n deleteCommentUser: change.delete_comment_user.name if change.delete_comment_user?.name\n activityId: change.id\n })\n\n renderHistory = (entries, totalEntries) ->\n if entries.length == totalEntries\n showMore = 0\n else\n showMore = totalEntries - entries.length\n\n html = templateBaseEntries({entries: entries, showMore:showMore})\n html = $compile(html)($scope)\n return html\n\n # Render into DOM (operations with dom mutability)\n\n renderComments = ->\n comments = $scope.comments or []\n totalComments = comments.length\n if not showAllComments\n comments = _.last(comments, 4)\n\n comments = _.map(comments, (x) -> renderComment(x))\n html = renderHistory(comments, totalComments)\n $el.find(\".comments-list\").html(html)\n\n renderActivity = ->\n changes = $scope.history or []\n totalChanges = changes.length\n if not showAllActivity\n changes = _.last(changes, 4)\n\n changes = _.map(changes, (x) -> renderChange(x))\n html = renderHistory(changes, totalChanges)\n $el.find(\".changes-list\").html(html)\n\n save = $qqueue.bindAdd (target) =>\n $scope.$broadcast(\"markdown-editor:submit\")\n\n $el.find(\".comment-list\").addClass(\"activeanimation\")\n\n currentLoading = $loading()\n .target(target)\n .start()\n\n onSuccess = ->\n $ctrl.loadHistory(type, objectId).finally ->\n currentLoading.finish()\n\n onError = ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n model = $scope.$eval($attrs.ngModel)\n\n $ctrl.repo.save(model).then(onSuccess, onError)\n\n # Watchers\n\n $scope.$watch(\"comments\", renderComments)\n $scope.$watch(\"history\", renderActivity)\n\n $scope.$on(\"object:updated\", -> $ctrl.loadHistory(type, objectId))\n\n # Events\n\n $el.on \"click\", \".add-comment button.button-green\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n save(target)\n\n $el.on \"click\", \".show-more\", (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n if target.parent().is(\".changes-list\")\n showAllActivity = not showAllActivity\n renderActivity()\n else\n showAllComments = not showAllComments\n renderComments()\n\n $el.on \"click\", \".show-deleted-comment\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parents('.activity-single').find('.hide-deleted-comment').show()\n target.parents('.activity-single').find('.show-deleted-comment').hide()\n target.parents('.activity-single').find('.comment-body').show()\n\n $el.on \"click\", \".hide-deleted-comment\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parents('.activity-single').find('.hide-deleted-comment').hide()\n target.parents('.activity-single').find('.show-deleted-comment').show()\n target.parents('.activity-single').find('.comment-body').hide()\n\n $el.on \"click\", \".changes-title\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parent().find(\".change-entry\").toggleClass(\"active\")\n\n $el.on \"focus\", \".add-comment textarea\", (event) ->\n $(this).addClass('active')\n\n $el.on \"click\", \".history-tabs li a\", (event) ->\n $el.find(\".history-tabs li a\").toggleClass(\"active\")\n $el.find(\".history section\").toggleClass(\"hidden\")\n\n $el.on \"click\", \".comment-delete\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n activityId = target.data('activity-id')\n $ctrl.deleteComment(type, objectId, activityId)\n\n $el.on \"click\", \".comment-restore\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n activityId = target.data('activity-id')\n $ctrl.undeleteComment(type, objectId, activityId)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n html = templateBase({ngmodel: $attrs.ngModel, type: $attrs.type, mode: $attrs.mode})\n\n return html\n\n return {\n controller: HistoryController\n template: templateFn\n restrict: \"AE\"\n link: link\n # require: [\"ngModel\", \"tgHistory\"]\n }\n\n\nmodule.directive(\"tgHistory\", [\"$log\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$tgConfirm\", \"$translate\",\n \"$compile\", HistoryDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/importer.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\n\nImportProjectButtonDirective = ($rs, $confirm, $location, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".import-project-button\", (event) ->\n event.preventDefault()\n $el.find(\"input.import-file\").val(\"\")\n $el.find(\"input.import-file\").trigger(\"click\")\n\n $el.on \"change\", \"input.import-file\", (event) ->\n event.preventDefault()\n file = event.target.files[0]\n return if not file\n\n loader = $confirm.loader($translate.instant(\"PROJECT.IMPORT.UPLOADING_FILE\"))\n\n onSuccess = (result) ->\n loader.stop()\n if result.status == 202 # Async mode\n title = $translate.instant(\"PROJECT.IMPORT.ASYNC_IN_PROGRESS_TITLE\")\n message = $translate.instant(\"PROJECT.IMPORT.ASYNC_IN_PROGRESS_MESSAGE\")\n $confirm.success(title, message)\n\n else # result.status == 201 # Sync mode\n ctx = {project: result.data.slug}\n $location.path($navUrls.resolve(\"project-admin-project-profile-details\", ctx))\n msg = $translate.instant(\"PROJECT.IMPORT.SYNC_SUCCESS\")\n $confirm.notify(\"success\", msg)\n\n onError = (result) ->\n loader.stop()\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR\")\n\n if result.status == 429 # TOO MANY REQUESTS\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_TOO_MANY_REQUEST\")\n else if result.data?._error_message\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MESSAGE\", {error_message: result.data._error_message})\n $confirm.notify(\"error\", errorMsg)\n\n loader.start()\n $rs.projects.import(file, loader.update).then(onSuccess, onError)\n\n return {link: link}\n\nmodule.directive(\"tgImportProjectButton\", [\"$tgResources\", \"$tgConfirm\", \"$location\", \"$tgNavUrls\", \"$translate\",\n ImportProjectButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/lightboxes.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\nbindOnce = @.taiga.bindOnce\ntimeout = @.taiga.timeout\ndebounce = @.taiga.debounce\n\n#############################################################################\n## Common Lightbox Services\n#############################################################################\n\n# the lightboxContent hide/show doesn't have sense because is an IE hack\nclass LightboxService extends taiga.Service\n constructor: (@animationFrame, @q) ->\n\n open: ($el) ->\n defered = @q.defer()\n\n lightboxContent = $el.children().not(\".close\")\n lightboxContent.hide()\n\n $el.css('display', 'flex')\n\n @animationFrame.add =>\n $el.addClass(\"open\")\n\n @animationFrame.add ->\n $el.find('input,textarea').first().focus()\n\n @animationFrame.add =>\n lightboxContent.show()\n defered.resolve()\n\n docEl = angular.element(document)\n docEl.on \"keydown.lightbox\", (e) =>\n code = if e.keyCode then e.keyCode else e.which\n @.close($el) if code == 27\n\n return defered.promise\n\n close: ($el) ->\n docEl = angular.element(document)\n docEl.off(\".lightbox\")\n docEl.off(\".keyboard-navigation\") # Hack: to fix problems in the WYSIWYG textareas when press ENTER\n $el.one \"transitionend\", =>\n $el.removeAttr('style')\n $el.removeClass(\"open\").removeClass('close')\n\n $el.addClass('close')\n\n if $el.hasClass(\"remove-on-close\")\n scope = $el.data(\"scope\")\n scope.$destroy()\n $el.remove()\n\n closeAll: ->\n docEl = angular.element(document)\n for lightboxEl in docEl.find(\".lightbox.open\")\n @.close($(lightboxEl))\n\n\nmodule.service(\"lightboxService\", [\"animationFrame\", \"$q\", LightboxService])\n\n\nclass LightboxKeyboardNavigationService extends taiga.Service\n stop: ->\n docEl = angular.element(document)\n docEl.off(\".keyboard-navigation\")\n\n dispatch: ($el, code) ->\n activeElement = $el.find(\".active\")\n\n # Key: enter\n if code == 13\n if $el.find(\".watcher-single\").length == 1\n $el.find('.watcher-single:first').trigger(\"click\")\n else\n activeElement.trigger(\"click\")\n\n # Key: down\n else if code == 40\n if not activeElement.length\n $el.find('.watcher-single:first').addClass('active')\n else\n next = activeElement.next('.watcher-single')\n if next.length\n activeElement.removeClass('active')\n next.addClass('active')\n # Key: up\n else if code == 38\n if not activeElement.length\n $el.find('.watcher-single:last').addClass('active')\n else\n prev = activeElement.prev('.watcher-single')\n\n if prev.length\n activeElement.removeClass('active')\n prev.addClass('active')\n\n init: ($el) ->\n @stop()\n docEl = angular.element(document)\n docEl.on \"keydown.keyboard-navigation\", (event) =>\n code = if event.keyCode then event.keyCode else event.which\n if code == 40 || code == 38 || code == 13\n event.preventDefault()\n @.dispatch($el, code)\n\nmodule.service(\"lightboxKeyboardNavigationService\", LightboxKeyboardNavigationService)\n\n\n#############################################################################\n## Generic Lighthbox Directive\n#############################################################################\n\n# This adds generic behavior to all blocks with lightbox class like\n# close button event handlers.\n\nLightboxDirective = (lightboxService) ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n return {restrict: \"C\", link: link}\n\nmodule.directive(\"lightbox\", [\"lightboxService\", LightboxDirective])\n\n#############################################################################\n## Block Lightbox Directive\n#############################################################################\n\n# Issue/Userstory blocking message lightbox directive.\n\nBlockLightboxDirective = ($rootscope, $tgrepo, $confirm, lightboxService, $loading, $qqueue, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n title = $translate.instant($attrs.title)\n $el.find(\"h2.title\").text(title)\n\n unblock = $qqueue.bindAdd (item, finishCallback) =>\n promise = $tgrepo.save(item)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $model.$setViewValue(item)\n finishCallback()\n\n promise.then null, ->\n $confirm.notify(\"error\")\n item.revert()\n $model.$setViewValue(item)\n\n promise.finally ->\n finishCallback()\n\n return promise\n\n block = $qqueue.bindAdd (item) =>\n $model.$setViewValue(item)\n\n currentLoading = $loading()\n .target($el.find(\".button-green\"))\n .start()\n\n promise = $tgrepo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n item.revert()\n $model.$setViewValue(item)\n\n promise.finally ->\n currentLoading.finish()\n lightboxService.close($el)\n\n $scope.$on \"block\", ->\n $el.find(\".reason\").val($model.$modelValue.blocked_note)\n lightboxService.open($el)\n\n $scope.$on \"unblock\", (event, model, finishCallback) =>\n item = $model.$modelValue.clone()\n item.is_blocked = false\n item.blocked_note = \"\"\n\n unblock(item, finishCallback)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \".button-green\", (event) ->\n event.preventDefault()\n\n item = $model.$modelValue.clone()\n item.is_blocked = true\n item.blocked_note = $el.find(\".reason\").val()\n\n block(item)\n\n return {\n templateUrl: \"common/lightbox/lightbox-block.html\"\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgLbBlock\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"lightboxService\", \"$tgLoading\", \"$tgQqueue\", \"$translate\", BlockLightboxDirective])\n\n\n#############################################################################\n## Generic Lightbox Blocking-Message Input Directive\n#############################################################################\n\nBlockingMessageInputDirective = ($log, $template, $compile) ->\n template = $template.get(\"common/lightbox/lightbox-blocking-message-input.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n if not $attrs.watch\n return $log.error \"No watch attribute on tg-blocking-message-input directive\"\n\n $scope.$watch $attrs.watch, (value) ->\n if value is not undefined and value == true\n $el.find(\".blocked-note\").removeClass(\"hidden\")\n else\n $el.find(\".blocked-note\").addClass(\"hidden\")\n\n templateFn = ($el, $attrs) ->\n return template({ngmodel: $attrs.ngModel})\n\n return {\n template: templateFn\n link: link\n require: \"ngModel\"\n restrict: \"EA\"\n }\n\nmodule.directive(\"tgBlockingMessageInput\", [\"$log\", \"$tgTemplate\", \"$compile\", BlockingMessageInputDirective])\n\n\n#############################################################################\n## Create/Edit Userstory Lightbox Directive\n#############################################################################\n\nCreateEditUserstoryDirective = ($repo, $model, $rs, $rootScope, lightboxService, $loading, $translate) ->\n link = ($scope, $el, attrs) ->\n $scope.isNew = true\n\n $scope.$on \"usform:new\", (ctx, projectId, status, statusList) ->\n $scope.isNew = true\n $scope.usStatusList = statusList\n\n $scope.us = $model.make_model(\"userstories\", {\n project: projectId\n points : {}\n status: status\n is_archived: false\n tags: []\n })\n\n # Update texts for creation\n $el.find(\".button-green\").html($translate.instant(\"COMMON.CREATE\"))\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.NEW_US\"))\n $el.find(\".tag-input\").val(\"\")\n\n $el.find(\".blocked-note\").addClass(\"hidden\")\n $el.find(\"label.blocked\").removeClass(\"selected\")\n $el.find(\"label.team-requirement\").removeClass(\"selected\")\n $el.find(\"label.client-requirement\").removeClass(\"selected\")\n\n lightboxService.open($el)\n\n $scope.$on \"usform:edit\", (ctx, us) ->\n $scope.us = us\n $scope.isNew = false\n\n # Update texts for edition\n $el.find(\".button-green\").html($translate.instant(\"COMMON.SAVE\"))\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.EDIT_US\"))\n $el.find(\".tag-input\").val(\"\")\n\n # Update requirement info (team, client or blocked)\n if us.is_blocked\n $el.find(\".blocked-note\").removeClass(\"hidden\")\n $el.find(\"label.blocked\").addClass(\"selected\")\n else\n $el.find(\".blocked-note\").addClass(\"hidden\")\n $el.find(\"label.blocked\").removeClass(\"selected\")\n\n if us.team_requirement\n $el.find(\"label.team-requirement\").addClass(\"selected\")\n else\n $el.find(\"label.team-requirement\").removeClass(\"selected\")\n if us.client_requirement\n $el.find(\"label.client-requirement\").addClass(\"selected\")\n else\n $el.find(\"label.client-requirement\").removeClass(\"selected\")\n\n lightboxService.open($el)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n if $scope.isNew\n promise = $repo.create(\"userstories\", $scope.us)\n broadcastEvent = \"usform:new:success\"\n else\n promise = $repo.save($scope.us)\n broadcastEvent = \"usform:edit:success\"\n\n promise.then (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $rootScope.$broadcast(broadcastEvent, data)\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $scope.us.revert()\n lightboxService.close($el)\n\n $el.keydown (event) ->\n code = if event.keyCode then event.keyCode else event.which\n if code == 27\n lightboxService.close($el)\n $scope.$apply ->\n $scope.us.revert()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateEditUserstory\", [\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\",\n \"$tgLoading\",\n \"$translate\",\n CreateEditUserstoryDirective\n])\n\n\n#############################################################################\n## Creare Bulk Userstories Lightbox Directive\n#############################################################################\n\nCreateBulkUserstoriesDirective = ($repo, $rs, $rootscope, lightboxService, $loading) ->\n link = ($scope, $el, attrs) ->\n $scope.$on \"usform:bulk\", (ctx, projectId, status) ->\n $scope.new = {\n projectId: projectId\n statusId: status\n bulk: \"\"\n }\n lightboxService.open($el)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley({onlyOneErrorElement: true})\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $rs.userstories.bulkCreate($scope.new.projectId, $scope.new.statusId, $scope.new.bulk)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"usform:bulk:success\", result)\n lightboxService.close($el)\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateBulkUserstories\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\",\n \"$tgLoading\",\n CreateBulkUserstoriesDirective\n])\n\n\n#############################################################################\n## AssignedTo Lightbox Directive\n#############################################################################\n\nAssignedToLightboxDirective = (lightboxService, lightboxKeyboardNavigationService, $template, $compile) ->\n link = ($scope, $el, $attrs) ->\n selectedUser = null\n selectedItem = null\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true)\n\n normalizeString = (string) ->\n normalizedString = string\n normalizedString = normalizedString.replace(\"Á\", \"A\").replace(\"Ä\", \"A\").replace(\"À\", \"A\")\n normalizedString = normalizedString.replace(\"É\", \"E\").replace(\"Ë\", \"E\").replace(\"È\", \"E\")\n normalizedString = normalizedString.replace(\"Í\", \"I\").replace(\"Ï\", \"I\").replace(\"Ì\", \"I\")\n normalizedString = normalizedString.replace(\"Ó\", \"O\").replace(\"Ö\", \"O\").replace(\"Ò\", \"O\")\n normalizedString = normalizedString.replace(\"Ú\", \"U\").replace(\"Ü\", \"U\").replace(\"Ù\", \"U\")\n return normalizedString\n\n filterUsers = (text, user) ->\n username = user.full_name_display.toUpperCase()\n username = normalizeString(username)\n text = text.toUpperCase()\n text = normalizeString(text)\n return _.contains(username, text)\n\n render = (selected, text) ->\n users = _.clone($scope.activeUsers, true)\n users = _.reject(users, {\"id\": selected.id}) if selected?\n users = _.filter(users, _.partial(filterUsers, text)) if text?\n\n ctx = {\n selected: selected\n users: _.first(users, 5)\n showMore: users.length > 5\n }\n\n html = usersTemplate(ctx)\n\n html = $compile(html)($scope)\n\n $el.find(\"div.watchers\").html(html)\n\n closeLightbox = () ->\n lightboxKeyboardNavigationService.stop()\n lightboxService.close($el)\n\n $scope.$on \"assigned-to:add\", (ctx, item) ->\n selectedItem = item\n assignedToId = item.assigned_to\n selectedUser = $scope.usersById[assignedToId]\n\n render(selectedUser)\n lightboxService.open($el).then ->\n $el.find('input').focus()\n lightboxKeyboardNavigationService.init($el)\n\n $scope.$watch \"usersSearch\", (searchingText) ->\n if searchingText?\n render(selectedUser, searchingText)\n $el.find('input').focus()\n\n $el.on \"click\", \".watcher-single\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.$broadcast(\"assigned-to:added\", target.data(\"user-id\"), selectedItem)\n $scope.usersSearch = null\n\n $el.on \"click\", \".remove-assigned-to\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n $scope.$broadcast(\"assigned-to:added\", null, selectedItem)\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-to.html\"\n link:link\n }\n\n\nmodule.directive(\"tgLbAssignedto\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", AssignedToLightboxDirective])\n\n\n#############################################################################\n## Watchers Lightbox directive\n#############################################################################\n\nWatchersLightboxDirective = ($repo, lightboxService, lightboxKeyboardNavigationService, $template) ->\n link = ($scope, $el, $attrs) ->\n selectedItem = null\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true)\n\n # Get prefiltered users by text\n # and without now watched users.\n getFilteredUsers = (text=\"\") ->\n _filterUsers = (text, user) ->\n if selectedItem && _.find(selectedItem.watchers, (x) -> x == user.id)\n return false\n\n username = user.full_name_display.toUpperCase()\n text = text.toUpperCase()\n return _.contains(username, text)\n\n users = _.clone($scope.activeUsers, true)\n users = _.filter(users, _.partial(_filterUsers, text))\n return users\n\n # Render the specific list of users.\n render = (users) ->\n ctx = {\n selected: false\n users: _.first(users, 5)\n showMore: users.length > 5\n }\n\n html = usersTemplate(ctx)\n $el.find(\"div.watchers\").html(html)\n\n closeLightbox = () ->\n lightboxKeyboardNavigationService.stop()\n lightboxService.close($el)\n\n $scope.$on \"watcher:add\", (ctx, item) ->\n selectedItem = item\n\n users = getFilteredUsers()\n render(users)\n\n lightboxService.open($el).then ->\n $el.find(\"input\").focus()\n lightboxKeyboardNavigationService.init($el)\n\n $scope.$watch \"usersSearch\", (searchingText) ->\n if not searchingText?\n return\n\n users = getFilteredUsers(searchingText)\n render(users)\n $el.find(\"input\").focus()\n\n $el.on \"click\", \".watcher-single\", debounce 2000, (event) ->\n closeLightbox()\n\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n $scope.$apply ->\n $scope.usersSearch = null\n $scope.$broadcast(\"watcher:added\", target.data(\"user-id\"))\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"common/lightbox/lightbox-users.html\"\n link:link\n }\n\nmodule.directive(\"tgLbWatchers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", WatchersLightboxDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n# Copyright (C) 2014 Juan Francisco Alcántara \n# Copyright (C) 2014 Alejandro Alonso \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/loader.coffee\n###\n\n# FIXME: this code not follows any style and any good practices on coffeescript\n# and it should be rewritten in coffeescript style classes.\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaCommon\")\n\nLoaderDirective = (tgLoader, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n tgLoader.onStart () ->\n $(document.body).addClass(\"loader-active\")\n $el.addClass(\"active\")\n\n tgLoader.onEnd () ->\n $(document.body).removeClass(\"loader-active\")\n $el.removeClass(\"active\")\n\n return {\n link: link\n }\n\nmodule.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective])\n\nLoader = ($rootscope) ->\n config = {\n minTime: 300\n }\n\n open = false\n startLoadTime = 0\n requestCount = 0\n lastResponseDate = 0\n\n pageLoaded = (force = false) ->\n if startLoadTime\n timeoutValue = 0\n\n if !force\n endTime = new Date().getTime()\n diff = endTime - startLoadTime\n\n if diff < config.minTime\n timeoutValue = config.minTime - diff\n\n timeout timeoutValue, ->\n $rootscope.$broadcast(\"loader:end\")\n open = false\n window.prerenderReady = true # Needed by Prerender Server\n\n startLoadTime = 0\n requestCount = 0\n lastResponseDate = 0\n\n autoClose = () ->\n maxAuto = 5000\n timeoutAuto = setTimeout (() ->\n pageLoaded()\n\n clearInterval(intervalAuto)\n ), maxAuto\n\n intervalAuto = setInterval (() ->\n if lastResponseDate && requestCount == 0\n pageLoaded()\n\n clearInterval(intervalAuto)\n clearTimeout(timeoutAuto)\n ), 50\n\n start = () ->\n startLoadTime = new Date().getTime()\n $rootscope.$broadcast(\"loader:start\")\n open = true\n\n return {\n pageLoaded: pageLoaded\n start: (auto=false) ->\n if !open\n start()\n autoClose() if auto\n onStart: (fn) ->\n $rootscope.$on(\"loader:start\", fn)\n\n onEnd: (fn) ->\n $rootscope.$on(\"loader:end\", fn)\n\n logRequest: () ->\n requestCount++\n\n logResponse: () ->\n requestCount--\n lastResponseDate = new Date().getTime()\n }\n\n\nLoader.$inject = [\"$rootScope\"]\n\nmodule.factory(\"tgLoader\", Loader)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/lightboxes.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\nTgLoadingService = ->\n spinner = \"loading...\"\n\n return () ->\n service = {\n settings: {\n target: null,\n classes: []\n timeout: 0\n },\n target: (target) ->\n service.settings.target = target\n\n return service\n removeClasses: (classess...) ->\n service.settings.classes = classess\n\n return service\n timeout: (timeout) ->\n service.settings.timeout = timeout\n\n return service\n\n start: ->\n target = service.settings.target\n service.settings.classes.map (className) -> target.removeClass(className)\n\n # The loader is shown after that quantity of milliseconds\n timeoutId = setTimeout (->\n if not target.hasClass('loading')\n service.settings.oldContent = target.html()\n\n target.addClass('loading')\n target.html(spinner)\n ), service.settings.timeout\n\n service.settings.timeoutId = timeoutId\n\n return service\n\n finish: ->\n target = service.settings.target\n timeoutId = service.settings.timeoutId\n\n if timeoutId\n clearTimeout(timeoutId)\n\n removeClasses = service.settings.classes\n removeClasses.map (className) -> service.settings.target.addClass(className)\n\n target.html(service.settings.oldContent)\n target.removeClass('loading')\n\n return service\n }\n\n return service\n\nmodule.factory(\"$tgLoading\", TgLoadingService)\n\nLoadingDirective = ($loading) ->\n link = ($scope, $el, attr) ->\n currentLoading = null\n\n $scope.$watch attr.tgLoading, (showLoading) =>\n\n if showLoading\n currentLoading = $loading()\n .target($el)\n .start()\n else\n currentLoading.finish()\n\n return {\n link:link\n }\n\nmodule.directive(\"tgLoading\", [\"$tgLoading\", LoadingDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/popovers.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaCommon\")\n\n#############################################################################\n## UserStory status Directive (popover for change status)\n#############################################################################\n\nUsStatusDirective = ($repo, $template) ->\n ###\n Print the status of a US and a popover to change it.\n - tg-us-status: The user story\n - on-update: Method call after US is updated\n\n Example:\n\n div.status(tg-us-status=\"us\" on-update=\"ctrl.loadSprintState()\")\n a.us-status(href=\"\", title=\"Status Name\")\n\n NOTE: This directive need 'usStatusById' and 'project'.\n ###\n template = $template.get(\"common/popover/popover-us-status.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n render = (us) ->\n usStatusDomParent = $el.find(\".us-status\")\n usStatusDom = $el.find(\".us-status .us-status-bind\")\n usStatusById = $scope.usStatusById\n\n if usStatusById[us.status]\n usStatusDom.text(usStatusById[us.status].name)\n usStatusDomParent.css(\"color\", usStatusById[us.status].color)\n\n $el.on \"click\", \".us-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", debounce 2000, (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n target = angular.element(event.currentTarget)\n\n us = $scope.$eval($attrs.tgUsStatus)\n us.status = target.data(\"status-id\")\n render(us)\n\n $el.find(\".pop-status\").popover().close()\n\n $scope.$apply () ->\n $repo.save(us).then ->\n $scope.$eval($attrs.onUpdate)\n\n\n $scope.$on(\"userstories:loaded\", -> render($scope.$eval($attrs.tgUsStatus)))\n $scope.$on(\"$destroy\", -> $el.off())\n\n # Bootstrap\n us = $scope.$eval($attrs.tgUsStatus)\n render(us)\n\n bindOnce $scope, \"project\", (project) ->\n html = template({\"statuses\": project.us_statuses})\n $el.append(html)\n\n # If the user has not enough permissions the click events are unbinded\n if $scope.project.my_permissions.indexOf(\"modify_us\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n\n return {link: link}\n\nmodule.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective])\n\n#############################################################################\n## Related Task Status Directive\n#############################################################################\n\nRelatedTaskStatusDirective = ($repo, $template) ->\n ###\n Print the status of a related task and a popover to change it.\n - tg-related-task-status: The related task\n - on-update: Method call after US is updated\n\n Example:\n\n div.status(tg-related-task-status=\"task\" on-update=\"ctrl.loadSprintState()\")\n a.task-status(href=\"\", title=\"Status Name\")\n\n NOTE: This directive need 'taskStatusById' and 'project'.\n ###\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true)\n\n updateTaskStatus = ($el, task, taskStatusById) ->\n taskStatusDomParent = $el.find(\".us-status\")\n taskStatusDom = $el.find(\".task-status .task-status-bind\")\n\n if taskStatusById[task.status]\n taskStatusDom.text(taskStatusById[task.status].name)\n taskStatusDomParent.css('color', taskStatusById[task.status].color)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n task = $scope.$eval($attrs.tgRelatedTaskStatus)\n notAutoSave = $scope.$eval($attrs.notAutoSave)\n autoSave = !notAutoSave\n\n $el.on \"click\", \".task-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n $el.find(\".pop-status\").popover().open()\n\n # pop = $el.find(\".pop-status\")\n # popoverService.open(pop)\n\n $el.on \"click\", \".status\", debounce 2000, (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n task.status = target.data(\"status-id\")\n $el.find(\".pop-status\").popover().close()\n updateTaskStatus($el, task, $scope.taskStatusById)\n\n if autoSave\n $scope.$apply () ->\n $repo.save(task).then ->\n $scope.$eval($attrs.onUpdate)\n $scope.$emit(\"related-tasks:status-changed\")\n\n taiga.bindOnce $scope, \"project\", (project) ->\n $el.append(selectionTemplate({ 'statuses': project.task_statuses }))\n updateTaskStatus($el, task, $scope.taskStatusById)\n\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_task\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective])\n\n#############################################################################\n## jQuery plugin for Popover\n#############################################################################\n\n$.fn.popover = () ->\n $el = @\n\n isVisible = () =>\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n })\n\n docViewTop = $(window).scrollTop()\n docViewBottom = docViewTop + $(window).height()\n\n docViewWidth = $(window).width()\n docViewRight = docViewWidth\n docViewLeft = 0\n\n elemTop = $el.offset().top\n elemBottom = elemTop + $el.height()\n\n elemWidth = $el.width()\n elemLeft = $el.offset().left\n elemRight = $el.offset().left + elemWidth\n\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n })\n\n return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight))\n\n closePopover = (onClose) =>\n if onClose then onClose.call($el)\n\n $el.fadeOut () =>\n $el\n .removeClass(\"active\")\n .removeClass(\"fix\")\n\n $el.off(\"popup:close\")\n\n\n closeAll = () =>\n $(\".popover.active\").each () ->\n $(this).trigger(\"popup:close\")\n\n open = (onClose) =>\n if $el.hasClass(\"active\")\n close()\n else\n closeAll()\n\n if !isVisible()\n $el.addClass(\"fix\")\n\n $el.fadeIn () =>\n $el.addClass(\"active\")\n $(document.body).off(\"popover\")\n\n $(document.body).one \"click.popover\", () =>\n closeAll()\n\n $el.on \"popup:close\", (e) => closePopover(onClose)\n\n close = () =>\n $el.trigger(\"popup:close\")\n\n return {open: open, close: close, closeAll: closeAll}\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/raven-logger.coffee\n###\n\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\")\n\nExceptionHandlerFactory = ($log, @config) ->\n ravenConfig = @config.get(\"ravenConfig\", null)\n if ravenConfig\n $log.debug \"Using the RavenJS exception handler.\"\n Raven.config(ravenConfig).install()\n return (exception, cause) ->\n $log.error.apply($log, arguments)\n Raven.captureException(exception)\n\n else\n $log.debug \"Using the default logging exception handler.\"\n return (exception, cause) ->\n $log.error.apply($log, arguments)\n\nmodule.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/tags.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n# Directive that parses/format tags inputfield.\n\nTagsDirective = ->\n formatter = (v) ->\n if _.isArray(v)\n return v.join(\", \")\n return \"\"\n\n parser = (v) ->\n return [] if not v\n result = _(v.split(\",\")).map((x) -> _.str.trim(x))\n\n return result.value()\n\n link = ($scope, $el, $attrs, $ctrl) ->\n $ctrl.$formatters.push(formatter)\n $ctrl.$parsers.push(parser)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n require: \"ngModel\"\n link: link\n }\n\nmodule.directive(\"tgTags\", TagsDirective)\n\n\nColorizeTagsDirective = ->\n templates = {\n backlog: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \"><%- tag.name %>\n <% }) %>\n \"\"\")\n kanban: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \" title=\"<%- tag.name %>\" />\n <% }) %>\n \"\"\")\n taskboard: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \" title=\"<%- tag.name %>\" />\n <% }) %>\n \"\"\")\n }\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (srcTags) ->\n template = templates[$attrs.tgColorizeTagsType]\n srcTags.sort()\n tags = _.map srcTags, (tag) ->\n color = $scope.project.tags_colors[tag]\n return {name: tag, color: color}\n\n html = template({tags: tags})\n $el.html(html)\n\n $scope.$watch $attrs.tgColorizeTags, (tags) ->\n render(tags) if tags?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgColorizeTags\", ColorizeTagsDirective)\n\n\n#############################################################################\n## TagLine Directive (for Lightboxes)\n#############################################################################\n\nLbTagLineDirective = ($rs, $template, $compile) ->\n ENTER_KEY = 13\n COMMA_KEY = 188\n\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n ## Render\n renderTags = (tags, tagsColors) ->\n ctx = {\n tags: _.map(tags, (t) -> {name: t, color: tagsColors[t]})\n }\n\n _.map ctx.tags, (tag) =>\n if tag.color\n tag.style = \"border-left: 5px solid #{tag.color}\"\n\n html = $compile(templateTags(ctx))($scope)\n $el.find(\"div.tags-container\").html(html)\n\n showSaveButton = -> $el.find(\".save\").removeClass(\"hidden\")\n hideSaveButton = -> $el.find(\".save\").addClass(\"hidden\")\n\n resetInput = ->\n $el.find(\"input\").val(\"\")\n $el.find(\"input\").autocomplete(\"close\")\n\n ## Aux methods\n addValue = (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue, false)\n tags = [] if not tags?\n tags.push(value) if value not in tags\n\n $scope.$apply ->\n $model.$setViewValue(tags)\n\n hideSaveButton()\n\n deleteValue = (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue, false)\n tags = _.pull(tags, value)\n\n $scope.$apply ->\n $model.$setViewValue(tags)\n\n saveInputTag = () ->\n value = $el.find(\"input\").val()\n\n addValue(value)\n resetInput()\n\n removeInputLastCharacter = (input) =>\n inputValue = input.val()\n input.val inputValue.substring(0, inputValue.length - 1)\n\n ## Events\n $el.on \"keypress\", \"input\", (event) ->\n return if event.keyCode != ENTER_KEY\n event.preventDefault()\n\n $el.on \"keyup\", \"input\", (event) ->\n target = angular.element(event.currentTarget)\n\n if event.keyCode == ENTER_KEY\n saveInputTag()\n else if event.keyCode == COMMA_KEY\n removeInputLastCharacter(target)\n saveInputTag()\n else\n if target.val().length\n showSaveButton()\n else\n hideSaveButton()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n saveInputTag()\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n value = target.siblings(\".tag-name\").text()\n deleteValue(value)\n\n bindOnce $scope, \"project\", (project) ->\n positioningFunction = (position, elements) ->\n menu = elements.element.element\n menu.css(\"width\", elements.target.width)\n menu.css(\"top\", position.top)\n menu.css(\"left\", position.left)\n\n $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors)\n position: {\n my: \"left top\",\n using: positioningFunction\n }\n select: (event, ui) ->\n addValue(ui.item.value)\n ui.item.value = \"\"\n })\n\n $scope.$watch $attrs.ngModel, (tags) ->\n tagsColors = $scope.project?.tags_colors or []\n renderTags(tags, tagsColors)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n templateUrl: \"common/tag/lb-tag-line.html\"\n }\n\nmodule.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", \"$compile\", LbTagLineDirective])\n\n\n#############################################################################\n## TagLine Directive (for detail pages)\n#############################################################################\n\nTagLineDirective = ($rootScope, $repo, $rs, $confirm, $qqueue, $template, $compile) ->\n ENTER_KEY = 13\n ESC_KEY = 27\n COMMA_KEY = 188\n\n templateTags = $template.get(\"common/tag/tags-line-tags.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n if $attrs.requiredPerm?\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n return true\n\n ## Render\n renderTags = (tags, tagsColors) ->\n ctx = {\n tags: _.map(tags, (t) -> {name: t, color: tagsColors[t]})\n isEditable: isEditable()\n }\n html = $compile(templateTags(ctx))($scope)\n $el.find(\"div.tags-container\").html(html)\n\n renderInReadModeOnly = ->\n $el.find(\".add-tag\").remove()\n $el.find(\"input\").remove()\n $el.find(\".save\").remove()\n\n showAddTagButton = -> $el.find(\".add-tag\").removeClass(\"hidden\")\n hideAddTagButton = -> $el.find(\".add-tag\").addClass(\"hidden\")\n\n showAddTagButtonText = -> $el.find(\".add-tag-text\").removeClass(\"hidden\")\n hideAddTagButtonText = -> $el.find(\".add-tag-text\").addClass(\"hidden\")\n\n showSaveButton = -> $el.find(\".save\").removeClass(\"hidden\")\n hideSaveButton = -> $el.find(\".save\").addClass(\"hidden\")\n\n showInput = -> $el.find(\"input\").removeClass(\"hidden\").focus()\n hideInput = -> $el.find(\"input\").addClass(\"hidden\").blur()\n resetInput = ->\n $el.find(\"input\").val(\"\")\n $el.find(\"input\").autocomplete(\"close\")\n\n ## Aux methods\n addValue = $qqueue.bindAdd (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue.tags, false)\n tags = [] if not tags?\n tags.push(value) if value not in tags\n\n model = $model.$modelValue.clone()\n model.tags = tags\n $model.$setViewValue(model)\n\n onSuccess = ->\n $rootScope.$broadcast(\"object:updated\")\n onError = ->\n $confirm.notify(\"error\")\n model.revert()\n $model.$setViewValue(model)\n $repo.save(model).then(onSuccess, onError)\n\n hideSaveButton()\n\n deleteValue = $qqueue.bindAdd (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue.tags, false)\n tags = _.pull(tags, value)\n\n model = $model.$modelValue.clone()\n model.tags = tags\n $model.$setViewValue(model)\n\n onSuccess = ->\n $rootScope.$broadcast(\"object:updated\")\n onError = ->\n $confirm.notify(\"error\")\n model.revert()\n $model.$setViewValue(model)\n\n return $repo.save(model).then(onSuccess, onError)\n\n saveInputTag = () ->\n value = $el.find(\"input\").val()\n\n addValue(value)\n resetInput()\n\n removeInputLastCharacter = (input) =>\n inputValue = input.val()\n input.val inputValue.substring(0, inputValue.length - 1)\n\n ## Events\n $el.on \"keypress\", \"input\", (event) ->\n return if event.keyCode not in [ENTER_KEY, ESC_KEY]\n event.preventDefault()\n\n $el.on \"keyup\", \"input\", (event) ->\n target = angular.element(event.currentTarget)\n\n if event.keyCode == ENTER_KEY\n saveInputTag()\n else if event.keyCode == COMMA_KEY\n removeInputLastCharacter(target)\n saveInputTag()\n else if event.keyCode == ESC_KEY\n resetInput()\n hideInput()\n hideSaveButton()\n showAddTagButton()\n else\n if target.val().length\n showSaveButton()\n else\n hideSaveButton()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n saveInputTag()\n\n $el.on \"click\", \".add-tag\", (event) ->\n event.preventDefault()\n hideAddTagButton()\n showInput()\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n value = target.siblings(\".tag-name\").text()\n\n deleteValue(value)\n\n bindOnce $scope, \"project.tags_colors\", (tags_colors) ->\n if not isEditable()\n renderInReadModeOnly()\n return\n\n showAddTagButton()\n\n positioningFunction = (position, elements) ->\n menu = elements.element.element\n menu.css(\"width\", elements.target.width)\n menu.css(\"top\", position.top)\n menu.css(\"left\", position.left)\n\n $el.find(\"input\").autocomplete({\n source: _.keys(tags_colors)\n position: {\n my: \"left top\",\n using: positioningFunction\n }\n select: (event, ui) ->\n addValue(ui.item.value)\n ui.item.value = \"\"\n })\n\n $scope.$watch $attrs.ngModel, (model) ->\n return if not model\n\n if model.tags?.length\n hideAddTagButtonText()\n else\n showAddTagButtonText()\n\n tagsColors = $scope.project?.tags_colors or []\n renderTags(model.tags, tagsColors)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n templateUrl: \"common/tag/tag-line.html\"\n }\n\nmodule.directive(\"tgTagLine\", [\"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$tgQqueue\",\n \"$tgTemplate\", \"$compile\", TagLineDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/wisiwyg.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n# How to test lists (-, *, 1.)\n# test it with text after & before the list\n# + is the cursor position\n\n# CASE 1\n# - aa+\n# --> enter\n# - aa\n# - +\n\n# CASE 1\n# - +\n# --> enter\n\n# +\n\n# CASE 3\n# - bb+cc\n# --> enter\n# - bb\n# - cc\n\n# CASE 3\n# +- aa\n# --> enter\n\n# - aa\n\n#############################################################################\n## WYSIWYG markitup editor directive\n#############################################################################\nMarkitupDirective = ($rootscope, $rs, $selectedText, $template, $compile, $translate) ->\n previewTemplate = $template.get(\"common/wysiwyg/wysiwyg-markitup-preview.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n element = angular.element($el)\n previewDomNode = $(\"
\", {class: \"preview\"})\n\n closePreviewMode = ->\n element.parents(\".markdown\").find(\".preview\").remove()\n element.parents(\".markItUp\").show()\n\n $scope.$on \"markdown-editor:submit\", ->\n closePreviewMode()\n\n preview = ->\n markdownDomNode = element.parents(\".markdown\")\n markItUpDomNode = element.parents(\".markItUp\")\n $rs.mdrender.render($scope.projectId, $model.$modelValue).then (data) ->\n html = previewTemplate({data: data.data})\n html = $compile(html)($scope)\n\n markdownDomNode.append(html)\n markItUpDomNode.hide()\n\n markdown = element.closest(\".markdown\")\n\n markdown.on \"mouseup.preview\", \".preview\", (event) ->\n event.preventDefault()\n target = angular.element(event.target)\n\n if !target.is('a') and $selectedText.get().length\n return\n\n markdown.off(\".preview\")\n closePreviewMode()\n\n setCaretPosition = (textarea, caretPosition) ->\n if textarea.createTextRange\n range = textarea.createTextRange()\n range.move(\"character\", caretPosition)\n range.select()\n\n else if textarea.selectionStart\n textarea.focus()\n textarea.setSelectionRange(caretPosition, caretPosition)\n\n # Calculate the scroll position\n totalLines = textarea.value.split(\"\\n\").length\n line = textarea.value[0..(caretPosition - 1)].split(\"\\n\").length\n scrollRelation = line / totalLines\n $el.scrollTop((scrollRelation * $el[0].scrollHeight) - ($el.height() / 2))\n\n addLine = (textarea, nline, replace) ->\n lines = textarea.value.split(\"\\n\")\n\n if replace\n lines[nline] = replace + lines[nline]\n else\n lines[nline] = \"\"\n\n cursorPosition = 0\n\n for line, key in lines\n cursorPosition += line.length + 1 || 1\n\n break if key == nline\n\n textarea.value = lines.join(\"\\n\")\n\n #return the new position\n if replace\n return cursorPosition - lines[nline].length + replace.length - 1\n else\n return cursorPosition\n\n prepareUrlFormatting = (markItUp) ->\n regex = /(<<<|>>>)/gi\n result = 0\n indices = []\n (indices.push(result.index)) while ( (result = regex.exec(markItUp.textarea.value)) )\n markItUp.donotparse = indices\n\n urlFormatting = (markItUp) ->\n regex = /<<>>/gi\n endIndex = 0\n loop\n result = regex.exec(markItUp.textarea.value)\n break if !result\n if result.index not in markItUp.donotparse\n endIndex = result.index\n break\n\n value = markItUp.textarea.value\n url = value.substring(startIndex, endIndex).replace('<<<', '').replace('>>>', '')\n url = url.replace('(', '%28').replace(')', '%29')\n url = url.replace('[', '%5B').replace(']', '%5D')\n value = value.substring(0, startIndex) + url + value.substring(endIndex+3, value.length)\n markItUp.textarea.value = value\n markItUp.donotparse = undefined\n\n markdownTitle = (markItUp, char) ->\n heading = \"\"\n n = $.trim(markItUp.selection or markItUp.placeHolder).length\n\n for i in [0..n-1]\n heading += char\n\n return \"\\n\"+heading+\"\\n\"\n\n renderMarkItUp = () ->\n markdownSettings =\n nameSpace: \"markdown\"\n onShiftEnter: {keepDefault:false, openWith:\"\\n\\n\"}\n onEnter:\n keepDefault: false,\n replaceWith: () -> \"\\n\"\n afterInsert: (data) ->\n lines = data.textarea.value.split(\"\\n\")\n cursorLine = data.textarea.value[0..(data.caretPosition - 1)].split(\"\\n\").length\n newLineContent = data.textarea.value[data.caretPosition..].split(\"\\n\")[0]\n lastLine = lines[cursorLine - 1]\n\n # unordered list -\n match = lastLine.match /^(\\s*- ).*/\n\n if match\n emptyListItem = lastLine.match /^(\\s*)\\-\\s$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1]}\"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n # unordered list *\n match = lastLine.match /^(\\s*\\* ).*/\n\n if match\n emptyListItem = lastLine.match /^(\\s*\\* )$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1]}\"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n # ordered list\n match = lastLine.match /^(\\s*)(\\d+)\\.\\s/\n\n if match\n emptyListItem = lastLine.match /^(\\s*)(\\d+)\\.\\s$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1] + (parseInt(match[2], 10) + 1)}. \"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n setCaretPosition(data.textarea, markdownCaretPositon) if markdownCaretPositon\n\n markupSet: [\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H1_BUTTON\")\n key: \"1\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H1_SAMPLE_TEXT\")\n closeWith: (markItUp) -> markdownTitle(markItUp, \"=\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H2_BUTTON\")\n key: \"2\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H2_SAMPLE_TEXT\")\n closeWith: (markItUp) -> markdownTitle(markItUp, \"-\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H3_BUTTON\")\n key: \"3\"\n openWith: \"### \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H3_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.BOLD_BUTTON\")\n key: \"B\"\n openWith: \"**\"\n closeWith: \"**\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.BOLD_BUTTON_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.ITALIC_SAMPLE_TEXT\")\n key: \"I\"\n openWith: \"_\"\n closeWith: \"_\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.ITALIC_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.STRIKE_BUTTON\")\n key: \"S\"\n openWith: \"~~\"\n closeWith: \"~~\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.STRIKE_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.BULLETED_LIST_BUTTON\")\n openWith: \"- \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.BULLETED_LIST_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.NUMERIC_LIST_BUTTON\")\n openWith: (markItUp) -> markItUp.line+\". \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.NUMERIC_LIST_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.PICTURE_BUTTON\")\n key: \"P\"\n openWith: \"![\"\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")'\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.PICTURE_SAMPLE_TEXT\")\n beforeInsert:(markItUp) -> prepareUrlFormatting(markItUp)\n afterInsert:(markItUp) -> urlFormatting(markItUp)\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.LINK_BUTTON\")\n key: \"L\"\n openWith: \"[\"\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")'\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.LINK_SAMPLE_TEXT\")\n beforeInsert:(markItUp) -> prepareUrlFormatting(markItUp)\n afterInsert:(markItUp) -> urlFormatting(markItUp)\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.QUOTE_BLOCK_BUTTON\")\n openWith: \"> \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.QUOTE_BLOCK_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.CODE_BLOCK_BUTTON\")\n openWith: \"```\\n\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.CODE_BLOCK_SAMPLE_TEXT\")\n closeWith: \"\\n```\"\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.PREVIEW_BUTTON\")\n call: preview\n className: \"preview-icon\"\n },\n ]\n afterInsert: (event) ->\n target = angular.element(event.textarea)\n $model.$setViewValue(target.val())\n\n element\n .markItUpRemove()\n .markItUp(markdownSettings)\n\n renderMarkItUp()\n\n unbind = $rootscope.$on \"$translateChangeEnd\", renderMarkItUp\n\n element.on \"keypress\", (event) ->\n $scope.$apply()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n unbind()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgMarkitup\", [\"$rootScope\", \"$tgResources\", \"$selectedText\", \"$tgTemplate\", \"$compile\",\n \"$translate\", MarkitupDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ndebounceLeading = @.taiga.debounceLeading\n\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Issues Filters Directive\n#############################################################################\n\nBacklogFiltersDirective = ($log, $location, $templates) ->\n template = $templates.get(\"backlog/filters.html\", true)\n templateSelected = $templates.get(\"backlog/filter-selected.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.closest(\".wrapper\").controller()\n selectedFilters = []\n\n showFilters = (title, type) ->\n $el.find(\".filters-cats\").hide()\n $el.find(\".filter-list\").removeClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").removeClass(\"hidden\")\n $el.find(\"h2 a.subfilter span.title\").html(title)\n $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type)\n\n showCategories = ->\n $el.find(\".filters-cats\").show()\n $el.find(\".filter-list\").addClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").addClass(\"hidden\")\n\n initializeSelectedFilters = (filters) ->\n showCategories()\n selectedFilters = []\n\n for name, values of filters\n for val in values\n selectedFilters.push(val) if val.selected\n\n renderSelectedFilters()\n\n renderSelectedFilters = ->\n _.map selectedFilters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = templateSelected({filters: selectedFilters})\n $el.find(\".filters-applied\").html(html)\n\n renderFilters = (filters) ->\n _.map filters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = template({filters:filters})\n $el.find(\".filter-list\").html(html)\n\n toggleFilterSelection = (type, id) ->\n filters = $scope.filters[type]\n filter = _.find(filters, {id: taiga.toString(id)})\n filter.selected = (not filter.selected)\n if filter.selected\n selectedFilters.push(filter)\n $scope.$apply ->\n $ctrl.selectFilter(type, id)\n else\n selectedFilters = _.reject(selectedFilters, filter)\n $scope.$apply ->\n $ctrl.unselectFilter(type, id)\n\n renderSelectedFilters(selectedFilters)\n\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if type == currentFiltersType\n renderFilters(_.reject(filters, \"selected\"))\n\n $ctrl.loadUserstories()\n\n selectQFilter = debounceLeading 100, (value) ->\n return if value is undefined\n if value.length == 0\n $ctrl.replaceFilter(\"q\", null)\n else\n $ctrl.replaceFilter(\"q\", value)\n $ctrl.loadUserstories()\n\n $scope.$watch(\"filtersQ\", selectQFilter)\n\n ## Angular Watchers\n $scope.$on \"filters:loaded\", (ctx, filters) ->\n initializeSelectedFilters(filters)\n\n $scope.$on \"filters:update\", (ctx, filters) ->\n renderFilters(filters)\n\n ## Dom Event Handlers\n $el.on \"click\", \".filters-cats > ul > li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n tags = $scope.filters[target.data(\"type\")]\n\n renderFilters(_.reject(tags, \"selected\"))\n showFilters(target.attr(\"title\"), target.data(\"type\"))\n\n $el.on \"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", (event) ->\n event.preventDefault()\n showCategories()\n\n $el.on \"click\", \".filters-applied a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n id = target.data(\"id\")\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n if target.hasClass(\"active\")\n target.removeClass(\"active\")\n else\n target.addClass(\"active\")\n\n id = target.data(\"id\")\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n return {link:link}\n\nmodule.directive(\"tgBacklogFilters\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", BacklogFiltersDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Creare/Edit Sprint Lightbox Directive\n#############################################################################\n\nCreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading, $translate) ->\n link = ($scope, $el, attrs) ->\n hasErrors = false\n createSprint = true\n\n $scope.sprint = {\n project: null\n name: null\n estimated_start: null\n estimated_finish: null\n }\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n\n submitButton = $el.find(\".submit-button\")\n form = $el.find(\"form\").checksley()\n\n if not form.validate()\n hasErrors = true\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n return\n\n hasErrors = false\n newSprint = angular.copy($scope.sprint)\n broadcastEvent = null\n\n if createSprint\n newSprint.estimated_start = moment(newSprint.estimated_start, prettyDate).format(\"YYYY-MM-DD\")\n newSprint.estimated_finish = moment(newSprint.estimated_finish,prettyDate).format(\"YYYY-MM-DD\")\n promise = $repo.create(\"milestones\", newSprint)\n broadcastEvent = \"sprintform:create:success\"\n else\n newSprint.setAttr(\"estimated_start\",\n moment(newSprint.estimated_start, prettyDate).format(\"YYYY-MM-DD\"))\n newSprint.setAttr(\"estimated_finish\",\n moment(newSprint.estimated_finish, prettyDate).format(\"YYYY-MM-DD\"))\n promise = $repo.save(newSprint)\n broadcastEvent = \"sprintform:edit:success\"\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise.then (data) ->\n currentLoading.finish()\n $scope.sprintsCounter += 1 if createSprint\n $rootscope.$broadcast(broadcastEvent, data)\n\n lightboxService.close($el)\n\n promise.then null, (data) ->\n currentLoading.finish()\n\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"light-error\", data._error_message)\n else if data.__all__\n $confirm.notify(\"light-error\", data.__all__[0])\n\n remove = ->\n title = $translate.instant(\"LIGHTBOX.DELETE_SPRINT.TITLE\")\n message = $scope.sprint.name\n\n $confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = ->\n finish()\n $scope.milestonesCounter -= 1\n lightboxService.close($el)\n $rootscope.$broadcast(\"sprintform:remove:success\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n $repo.remove($scope.sprint).then(onSuccess, onError)\n\n $scope.$on \"sprintform:create\", (event, projectId) ->\n form = $el.find(\"form\").checksley()\n form.reset()\n\n createSprint = true\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n $scope.sprint.project = projectId\n $scope.sprint.name = null\n $scope.sprint.slug = null\n\n lastSprint = $scope.sprints[0]\n\n estimatedStart = moment()\n if $scope.sprint.estimated_start\n estimatedStart = moment($scope.sprint.estimated_start)\n else if lastSprint?\n estimatedStart = moment(lastSprint.estimated_finish)\n $scope.sprint.estimated_start = estimatedStart.format(prettyDate)\n\n estimatedFinish = moment().add(2, \"weeks\")\n if $scope.sprint.estimated_finish\n estimatedFinish = moment($scope.sprint.estimated_finish)\n else if lastSprint?\n estimatedFinish = moment(lastSprint.estimated_finish).add(2, \"weeks\")\n $scope.sprint.estimated_finish = estimatedFinish.format(prettyDate)\n\n lastSprintNameDom = $el.find(\".last-sprint-name\")\n if lastSprint?.name?\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME\", {\n lastSprint: lastSprint.name})\n lastSprintNameDom.html(text)\n\n $el.find(\".delete-sprint\").addClass(\"hidden\")\n\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.TITLE\")\n $el.find(\".title\").text(text)\n\n text = $translate.instant(\"COMMON.CREATE\")\n $el.find(\".button-green\").text(text)\n\n lightboxService.open($el)\n $el.find(\".sprint-name\").focus()\n $el.find(\".last-sprint-name\").removeClass(\"disappear\")\n\n $scope.$on \"sprintform:edit\", (ctx, sprint) ->\n createSprint = false\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n\n $scope.$apply ->\n $scope.sprint = sprint\n $scope.sprint.estimated_start = moment($scope.sprint.estimated_start).format(prettyDate)\n $scope.sprint.estimated_finish = moment($scope.sprint.estimated_finish).format(prettyDate)\n\n $el.find(\".delete-sprint\").removeClass(\"hidden\")\n\n editSprint = $translate.instant(\"BACKLOG.EDIT_SPRINT\")\n $el.find(\".title\").text(editSprint)\n\n save = $translate.instant(\"COMMON.SAVE\")\n $el.find(\".button-green\").text(save)\n\n lightboxService.open($el)\n $el.find(\".sprint-name\").focus().select()\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n\n $el.on \"keyup\", \".sprint-name\", (event) ->\n if $el.find(\".sprint-name\").val().length > 0 or hasErrors\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n else\n $el.find(\".last-sprint-name\").removeClass(\"disappear\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".delete-sprint .icon-delete\", (event) ->\n event.preventDefault()\n remove()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgLbCreateEditSprint\", [\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\"\n \"$tgLoading\",\n \"$translate\",\n CreateEditSprint\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Backlog Controller\n#############################################################################\n\nclass BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\",\n \"$tgLoading\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q,\n @location, @appMetaService, @navUrls, @events, @analytics, @translate, @loading) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"BACKLOG.SECTION_NAME\")\n @showTags = false\n @activeFilters = false\n\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"BACKLOG.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"BACKLOG.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n if @rs.userstories.getShowTags(@scope.projectId)\n @showTags = true\n\n @scope.$broadcast(\"showTags\", @showTags)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n initializeEventHandlers: ->\n @scope.$on \"usform:bulk:success\", =>\n @.loadUserstories()\n @.loadProjectStats()\n @analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on backlog\", 1)\n\n @scope.$on \"sprintform:create:success\", =>\n @.loadSprints()\n @.loadProjectStats()\n @analytics.trackEvent(\"sprint\", \"create\", \"create sprint on backlog\", 1)\n\n @scope.$on \"usform:new:success\", =>\n @.loadUserstories()\n @.loadProjectStats()\n @analytics.trackEvent(\"userstory\", \"create\", \"create userstory on backlog\", 1)\n\n @scope.$on \"sprintform:edit:success\", =>\n @.loadProjectStats()\n\n @scope.$on \"sprintform:remove:success\", =>\n @.loadSprints()\n @.loadProjectStats()\n @.loadUserstories()\n\n @scope.$on \"usform:edit:success\", =>\n @.loadUserstories()\n\n @scope.$on(\"sprint:us:move\", @.moveUs)\n @scope.$on(\"sprint:us:moved\", @.loadSprints)\n @scope.$on(\"sprint:us:moved\", @.loadProjectStats)\n\n @scope.$on(\"backlog:load-closed-sprints\", @.loadClosedSprints)\n @scope.$on(\"backlog:unload-closed-sprints\", @.unloadClosedSprints)\n\n initializeSubscription: ->\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.loadUserstories()\n @.loadSprints()\n\n routingKey2 = \"changes.project.#{@scope.projectId}.milestones\"\n @events.subscribe @scope, routingKey2, (message) =>\n @.loadSprints()\n\n toggleShowTags: ->\n @scope.$apply =>\n @showTags = !@showTags\n @rs.userstories.storeShowTags(@scope.projectId, @showTags)\n\n toggleActiveFilters: ->\n @activeFilters = !@activeFilters\n\n loadProjectStats: ->\n return @rs.projects.stats(@scope.projectId).then (stats) =>\n @scope.stats = stats\n\n if stats.total_points\n @scope.stats.completedPercentage = Math.round(100 * stats.closed_points / stats.total_points)\n else\n @scope.stats.completedPercentage = 0\n\n return stats\n\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n unloadClosedSprints: ->\n @scope.$apply =>\n @scope.closedSprints = []\n @rootscope.$broadcast(\"closed-sprints:reloaded\", [])\n\n loadClosedSprints: ->\n params = {closed: true}\n return @rs.sprints.list(@scope.projectId, params).then (sprints) =>\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in partials files\n for sprint in sprints\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\")\n @scope.closedSprints = sprints\n @rootscope.$broadcast(\"closed-sprints:reloaded\", sprints)\n return sprints\n\n loadSprints: ->\n params = {closed: false}\n return @rs.sprints.list(@scope.projectId, params).then (sprints) =>\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in partials files\n for sprint in sprints\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\")\n\n @scope.sprints = sprints\n @scope.openSprints = _.filter(sprints, (sprint) => not sprint.closed).reverse()\n @scope.closedSprints = [] if !@scope.closedSprints\n\n @scope.sprintsCounter = sprints.length\n @scope.sprintsById = groupBy(sprints, (x) -> x.id)\n @rootscope.$broadcast(\"sprints:loaded\", sprints)\n return sprints\n\n resetFilters: ->\n selectedTags = _.filter(@scope.filters.tags, \"selected\")\n selectedStatuses = _.filter(@scope.filters.statuses, \"selected\")\n\n @scope.filtersQ = \"\"\n\n _.each [selectedTags, selectedStatuses], (filterGrp) =>\n _.each filterGrp, (item) =>\n filters = @scope.filters[item.type]\n filter = _.find(filters, {id: taiga.toString(item.id)})\n filter.selected = false\n\n @.unselectFilter(item.type, item.id)\n\n @.loadUserstories()\n\n loadUserstories: ->\n @scope.httpParams = @.getUrlFilters()\n @rs.userstories.storeQueryParams(@scope.projectId, @scope.httpParams)\n\n promise = @q.all([@.refreshTagsColors(), @rs.userstories.listUnassigned(@scope.projectId, @scope.httpParams)])\n\n return promise.then (data) =>\n userstories = data[1]\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in the partials files\n @scope.userstories = _.sortBy(userstories, \"backlog_order\")\n\n @.setSearchDataFilters()\n @.filterVisibleUserstories()\n @.generateFilters()\n\n @rootscope.$broadcast(\"filters:loaded\", @scope.filters)\n # The broadcast must be executed when the DOM has been fully reloaded.\n # We can't assure when this exactly happens so we need a defer\n scopeDefer @scope, =>\n @scope.$broadcast(\"userstories:loaded\")\n\n return userstories\n\n loadBacklog: ->\n return @q.all([\n @.loadProjectStats(),\n @.loadSprints(),\n @.loadUserstories()\n ])\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_backlog_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.totalClosedMilestones = project.total_closed_milestones\n @scope.$emit('project:loaded', project)\n @scope.points = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(project.points, (x) -> x.id)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.usStatusList = _.sortBy(project.us_statuses, \"id\")\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n\n return promise.then(=> @.loadBacklog())\n\n filterVisibleUserstories: ->\n @scope.visibleUserstories = []\n\n # Filter by tags\n @scope.visibleUserstories = _.reject @scope.userstories, (us) =>\n return _.some us.tags, (tag) =>\n return @isFilterSelected(\"tag\", tag)\n\n # Filter by status\n @scope.visibleUserstories = _.filter @scope.visibleUserstories, (us) =>\n if @searchdata[\"statuses\"] && Object.keys(@searchdata[\"statuses\"]).length\n return @isFilterSelected(\"statuses\", taiga.toString(us.status))\n\n return true\n\n prepareBulkUpdateData: (uses, field=\"backlog_order\") ->\n return _.map(uses, (x) -> {\"us_id\": x.id, \"order\": x[field]})\n\n resortUserStories: (uses, field=\"backlog_order\") ->\n items = []\n\n for item, index in uses\n item[field] = index\n if item.isModified()\n items.push(item)\n\n return items\n\n moveUs: (ctx, usList, newUsIndex, newSprintId) ->\n oldSprintId = usList[0].milestone\n project = usList[0].project\n\n # In the same sprint or in the backlog\n if newSprintId == oldSprintId\n items = null\n userstories = null\n\n if newSprintId == null\n userstories = @scope.userstories\n else\n userstories = @scope.sprintsById[newSprintId].user_stories\n\n @scope.$apply ->\n for us, key in usList\n r = userstories.indexOf(us)\n userstories.splice(r, 1)\n\n args = [newUsIndex, 0].concat(usList)\n Array.prototype.splice.apply(userstories, args)\n\n # If in backlog\n if newSprintId == null\n # Rehash userstories order field\n\n items = @.resortUserStories(userstories, \"backlog_order\")\n data = @.prepareBulkUpdateData(items, \"backlog_order\")\n\n # Persist in bulk all affected\n # userstories with order change\n @rs.userstories.bulkUpdateBacklogOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n # For sprint\n else\n # Rehash userstories order field\n items = @.resortUserStories(userstories, \"sprint_order\")\n data = @.prepareBulkUpdateData(items, \"sprint_order\")\n\n # Persist in bulk all affected\n # userstories with order change\n @rs.userstories.bulkUpdateSprintOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n return promise\n\n # From sprint to backlog\n if newSprintId == null\n us.milestone = null for us in usList\n\n @scope.$apply =>\n # Add new us to backlog userstories list\n # @scope.userstories.splice(newUsIndex, 0, us)\n # @scope.visibleUserstories.splice(newUsIndex, 0, us)\n args = [newUsIndex, 0].concat(usList)\n Array.prototype.splice.apply(@scope.userstories, args)\n Array.prototype.splice.apply(@scope.visibleUserstories, args)\n\n # Execute the prefiltering of user stories\n @.filterVisibleUserstories()\n\n # Remove the us from the sprint list.\n sprint = @scope.sprintsById[oldSprintId]\n for us, key in usList\n r = sprint.user_stories.indexOf(us)\n sprint.user_stories.splice(r, 1)\n\n # Persist the milestone change of userstory\n promise = @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = promise.then =>\n items = @.resortUserStories(@scope.userstories, \"backlog_order\")\n data = @.prepareBulkUpdateData(items, \"backlog_order\")\n return @rs.userstories.bulkUpdateBacklogOrder(us.project, data).then =>\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n return promise\n\n # From backlog to sprint\n newSprint = @scope.sprintsById[newSprintId]\n if oldSprintId == null\n us.milestone = newSprintId for us in usList\n\n @scope.$apply =>\n args = [newUsIndex, 0].concat(usList)\n\n # Add moving us to sprint user stories list\n Array.prototype.splice.apply(newSprint.user_stories, args)\n\n # Remove moving us from backlog userstories lists.\n for us, key in usList\n r = @scope.visibleUserstories.indexOf(us)\n @scope.visibleUserstories.splice(r, 1)\n\n r = @scope.userstories.indexOf(us)\n @scope.userstories.splice(r, 1)\n\n # From sprint to sprint\n else\n us.milestone = newSprintId for us in usList\n\n @scope.$apply =>\n args = [newUsIndex, 0].concat(usList)\n\n # Add new us to backlog userstories list\n Array.prototype.splice.apply(newSprint.user_stories, args)\n\n # Remove the us from the sprint list.\n for us in usList\n oldSprint = @scope.sprintsById[oldSprintId]\n r = oldSprint.user_stories.indexOf(us)\n oldSprint.user_stories.splice(r, 1)\n\n # Persist the milestone change of userstory\n promises = _.map usList, (us) => @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = @q.all(promises).then =>\n items = @.resortUserStories(newSprint.user_stories, \"sprint_order\")\n data = @.prepareBulkUpdateData(items, \"sprint_order\")\n\n @rs.userstories.bulkUpdateSprintOrder(project, data).then =>\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n @rs.userstories.bulkUpdateBacklogOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n return promise\n\n isFilterSelected: (type, id) ->\n if @searchdata[type]? and @searchdata[type][id]\n return true\n return false\n\n setSearchDataFilters: () ->\n urlfilters = @.getUrlFilters()\n\n if urlfilters.q\n @scope.filtersQ = @scope.filtersQ or urlfilters.q\n\n @searchdata = {}\n for name, value of urlfilters\n if not @searchdata[name]?\n @searchdata[name] = {}\n\n for val in taiga.toString(value).split(\",\")\n @searchdata[name][val] = true\n\n getUrlFilters: ->\n return _.pick(@location.search(), \"statuses\", \"tags\", \"q\")\n\n generateFilters: ->\n urlfilters = @.getUrlFilters()\n @scope.filters = {}\n\n #tags\n plainTags = _.flatten(_.filter(_.map(@scope.visibleUserstories, \"tags\")))\n plainTags.sort()\n\n if plainTags.length == 0 and urlfilters[\"tags\"]\n plainTags.push(urlfilters[\"tags\"])\n\n @scope.filters.tags = _.map _.countBy(plainTags), (v, k) =>\n obj = {\n id: k,\n type: \"tags\",\n name: k,\n color: @scope.project.tags_colors[k],\n count: v\n }\n obj.selected = true if @isFilterSelected(\"tags\", obj.id)\n return obj\n\n selectedTags = _.filter(@scope.filters.tags, \"selected\")\n selectedTags = _.map(selectedTags, \"name\")\n\n #status\n plainStatuses = _.map(@scope.visibleUserstories, \"status\")\n\n plainStatuses = _.filter plainStatuses, (status) =>\n if status\n return status\n\n if plainStatuses.length == 0 and urlfilters[\"statuses\"]\n plainStatuses.push(urlfilters[\"statuses\"])\n\n @scope.filters.statuses = _.map _.countBy(plainStatuses), (v, k) =>\n obj = {\n id: k,\n type: \"statuses\",\n name: @scope.usStatusById[k].name,\n color: @scope.usStatusById[k].color,\n count:v\n }\n obj.selected = true if @isFilterSelected(\"statuses\", obj.id)\n\n return obj\n\n selectedStatuses = _.filter(@scope.filters.statuses, \"selected\")\n selectedStatuses = _.map(selectedStatuses, \"id\")\n\n #store query params\n @rs.userstories.storeQueryParams(@scope.projectId, {\n \"status\": selectedStatuses,\n \"tags\": selectedTags,\n \"project\": @scope.projectId\n \"milestone\": null\n })\n\n ## Template actions\n\n updateUserStoryStatus: () ->\n @.setSearchDataFilters()\n @.filterVisibleUserstories()\n @.generateFilters()\n @rootscope.$broadcast(\"filters:update\", @scope.filters['statuses'])\n @.loadProjectStats()\n\n editUserStory: (projectId, ref, $event) ->\n target = $($event.target)\n\n currentLoading = @loading()\n .target(target)\n .removeClasses(\"icon-edit\")\n .timeout(200)\n .start()\n\n @rs.userstories.getByRef(projectId, ref).then (us) =>\n @rootscope.$broadcast(\"usform:edit\", us)\n\n currentLoading.finish()\n\n deleteUserStory: (us) ->\n title = @translate.instant(\"US.TITLE_DELETE_ACTION\")\n\n message = us.subject\n\n @confirm.askOnDelete(title, message).then (finish) =>\n # We modify the userstories in scope so the user doesn't see the removed US for a while\n @scope.userstories = _.without(@scope.userstories, us)\n @filterVisibleUserstories()\n promise = @.repo.remove(us)\n promise.then =>\n finish()\n @.loadBacklog()\n promise.then null, =>\n finish(false)\n @confirm.notify(\"error\")\n\n addNewUs: (type) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"usform:new\", @scope.projectId,\n @scope.project.default_us_status, @scope.usStatusList)\n when \"bulk\" then @rootscope.$broadcast(\"usform:bulk\", @scope.projectId,\n @scope.project.default_us_status)\n\n addNewSprint: () ->\n @rootscope.$broadcast(\"sprintform:create\", @scope.projectId)\n\nmodule.controller(\"BacklogController\", BacklogController)\n\n#############################################################################\n## Backlog Directive\n#############################################################################\n\nBacklogDirective = ($repo, $rootscope, $translate) ->\n ## Doom line Link\n doomLineTemplate = _.template(\"\"\"\n
<%- text %>
\n \"\"\")\n\n linkDoomLine = ($scope, $el, $attrs, $ctrl) ->\n reloadDoomLine = ->\n if $scope.stats?\n removeDoomlineDom()\n\n stats = $scope.stats\n\n total_points = stats.total_points\n current_sum = stats.assigned_points\n\n return if not $scope.visibleUserstories\n\n for us, i in $scope.visibleUserstories\n current_sum += us.total_points\n\n if current_sum > total_points\n domElement = $el.find('.backlog-table-body .us-item-row')[i]\n addDoomLineDom(domElement)\n\n break\n\n removeDoomlineDom = ->\n $el.find(\".doom-line\").remove()\n\n addDoomLineDom = (element) ->\n text = $translate.instant(\"BACKLOG.DOOMLINE\")\n $(element).before(doomLineTemplate({\"text\": text}))\n\n getUsItems = ->\n rowElements = $el.find('.backlog-table-body .us-item-row')\n return _.map(rowElements, (x) -> angular.element(x))\n\n $scope.$on(\"userstories:loaded\", reloadDoomLine)\n $scope.$watch \"stats\", reloadDoomLine\n\n ## Move to current sprint link\n\n linkToolbar = ($scope, $el, $attrs, $ctrl) ->\n moveToCurrentSprint = (selectedUss) ->\n ussCurrent = _($scope.userstories)\n\n # Remove them from backlog\n $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value()\n\n extraPoints = _.map(selectedUss, (v, k) -> v.total_points)\n totalExtraPoints = _.reduce(extraPoints, (acc, num) -> acc + num)\n\n # Add them to current sprint\n $scope.sprints[0].user_stories = _.union($scope.sprints[0].user_stories, selectedUss)\n\n # Update the total of points\n $scope.sprints[0].total_points += totalExtraPoints\n\n $ctrl.filterVisibleUserstories()\n $repo.saveAll(selectedUss).then ->\n $ctrl.loadSprints()\n $ctrl.loadProjectStats()\n\n\n shiftPressed = false\n lastChecked = null\n\n checkSelected = (target) ->\n lastChecked = target.closest(\".us-item-row\")\n moveToCurrentSprintDom = $el.find(\"#move-to-current-sprint\")\n selectedUsDom = $el.find(\".backlog-table-body .user-stories input:checkbox:checked\")\n\n if selectedUsDom.length > 0 and $scope.sprints.length > 0\n moveToCurrentSprintDom.show()\n else\n moveToCurrentSprintDom.hide()\n\n target.closest('.us-item-row').toggleClass('ui-multisortable-multiple')\n\n $(window).on \"keydown.shift-pressed keyup.shift-pressed\", (event) ->\n shiftPressed = !!event.shiftKey\n\n return true\n\n # Enable move to current sprint only when there are selected us's\n $el.on \"change\", \".backlog-table-body .user-stories input:checkbox\", (event) ->\n # check elements between the last two if shift is pressed\n if lastChecked && shiftPressed\n elements = []\n current = $(event.currentTarget).closest(\".us-item-row\")\n nextAll = lastChecked.nextAll()\n prevAll = lastChecked.prevAll()\n\n if _.some(nextAll, (next) -> next == current[0])\n elements = lastChecked.nextUntil(current)\n else if _.some(prevAll, (prev) -> prev == current[0])\n elements = lastChecked.prevUntil(current)\n\n _.map elements, (elm) ->\n input = $(elm).find(\"input:checkbox\")\n input.prop('checked', true);\n checkSelected(input)\n\n target = angular.element(event.currentTarget)\n checkSelected(target)\n\n $el.on \"click\", \"#move-to-current-sprint\", (event) =>\n # Calculating the us's to be modified\n ussDom = $el.find(\".backlog-table-body .user-stories input:checkbox:checked\")\n\n ussToMove = _.map ussDom, (item) ->\n item = $(item).closest('.tg-scope')\n itemScope = item.scope()\n itemScope.us.milestone = $scope.sprints[0].id\n return itemScope.us\n\n $scope.$apply(_.partial(moveToCurrentSprint, ussToMove))\n\n $el.on \"click\", \"#show-tags\", (event) ->\n event.preventDefault()\n\n $ctrl.toggleShowTags()\n\n showHideTags($ctrl)\n\n showHideTags = ($ctrl) ->\n elm = angular.element(\"#show-tags\")\n\n if $ctrl.showTags\n elm.addClass(\"active\")\n\n text = $translate.instant(\"BACKLOG.TAGS.HIDE\")\n elm.find(\".text\").text(text)\n else\n elm.removeClass(\"active\")\n\n text = $translate.instant(\"BACKLOG.TAGS.SHOW\")\n elm.find(\".text\").text(text)\n\n showHideFilter = ($scope, $el, $ctrl) ->\n sidebar = $el.find(\"sidebar.filters-bar\")\n sidebar.one \"transitionend\", () ->\n timeout 150, ->\n $rootscope.$broadcast(\"resize\")\n $('.burndown').css(\"visibility\", \"visible\")\n\n target = angular.element(\"#show-filters-button\")\n $('.burndown').css(\"visibility\", \"hidden\")\n sidebar.toggleClass(\"active\")\n target.toggleClass(\"active\")\n\n hideText = $translate.instant(\"BACKLOG.FILTERS.HIDE\")\n showText = $translate.instant(\"BACKLOG.FILTERS.SHOW\")\n\n toggleText(target.find(\".text\"), [hideText, showText])\n\n if !sidebar.hasClass(\"active\")\n $ctrl.resetFilters()\n\n $ctrl.toggleActiveFilters()\n\n ## Filters Link\n\n linkFilters = ($scope, $el, $attrs, $ctrl) ->\n $scope.filtersSearch = {}\n $el.on \"click\", \"#show-filters-button\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n showHideFilter($scope, $el, $ctrl)\n\n link = ($scope, $el, $attrs, $rootscope) ->\n $ctrl = $el.controller()\n\n linkToolbar($scope, $el, $attrs, $ctrl)\n linkFilters($scope, $el, $attrs, $ctrl)\n linkDoomLine($scope, $el, $attrs, $ctrl)\n\n $el.find(\".backlog-table-body\").disableSelection()\n\n filters = $ctrl.getUrlFilters()\n\n if filters.statuses ||\n filters.tags ||\n filters.q\n showHideFilter($scope, $el, $ctrl)\n\n $scope.$on \"showTags\", () ->\n showHideTags($ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n $(window).off(\".shift-pressed\")\n\n return {link: link}\n\n\nmodule.directive(\"tgBacklog\", [\"$tgRepo\", \"$rootScope\", \"$translate\", BacklogDirective])\n\n#############################################################################\n## User story points directive\n#############################################################################\n\nUsRolePointsSelectorDirective = ($rootscope, $template, $compile, $translate) ->\n selectionTemplate = $template.get(\"backlog/us-role-points-popover.html\", true)\n\n link = ($scope, $el, $attrs) ->\n # Watchers\n bindOnce $scope, \"project\", (project) ->\n roles = _.filter(project.roles, \"computable\")\n numberOfRoles = _.size(roles)\n\n if numberOfRoles > 1\n $el.append($compile(selectionTemplate({\"roles\": roles}))($scope))\n else\n $el.find(\".icon-arrow-bottom\").remove()\n $el.find(\".header-points\").addClass(\"not-clickable\")\n\n $scope.$on \"uspoints:select\", (ctx, roleId, roleName) ->\n $el.find(\".popover\").popover().close()\n $el.find(\".header-points\").html(\"#{roleName}/Total\")\n\n $scope.$on \"uspoints:clear-selection\", (ctx, roleId) ->\n $el.find(\".popover\").popover().close()\n\n text = $translate.instant(\"COMMON.FIELDS.POINTS\")\n $el.find(\".header-points\").text(text)\n\n # Dom Event Handlers\n $el.on \"click\", (event) ->\n target = angular.element(event.target)\n\n if target.is(\"span\") or target.is(\"div\")\n event.stopPropagation()\n\n $el.find(\".popover\").popover().open()\n\n $el.on \"click\", \".clear-selection\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $rootscope.$broadcast(\"uspoints:clear-selection\")\n\n $el.on \"click\", \".role\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n rolScope = target.scope()\n $rootscope.$broadcast(\"uspoints:select\", target.data(\"role-id\"), target.text())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgUsRolePointsSelector\", [\"$rootScope\", \"$tgTemplate\", \"$compile\", UsRolePointsSelectorDirective])\n\n\nUsPointsDirective = ($tgEstimationsService, $repo, $tgTemplate) ->\n rolesTemplate = $tgTemplate.get(\"common/estimation/us-points-roles-popover.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n updatingSelectedRoleId = null\n selectedRoleId = null\n filteringRoleId = null\n estimationProcess = null\n\n $scope.$on \"uspoints:select\", (ctx, roleId, roleName) ->\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n selectedRoleId = roleId\n estimationProcess.render()\n\n $scope.$on \"uspoints:clear-selection\", (ctx) ->\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n selectedRoleId = null\n estimationProcess.render()\n\n $scope.$watch $attrs.tgBacklogUsPoints, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n\n # Update roles\n roles = estimationProcess.calculateRoles()\n if roles.length == 0\n $el.find(\".icon-arrow-bottom\").remove()\n $el.find(\"a.us-points\").addClass(\"not-clickable\")\n\n else if roles.length == 1\n # Preselect the role if we have only one\n selectedRoleId = _.keys(us.points)[0]\n\n if estimationProcess.isEditable\n bindClickElements()\n\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n @save(roleId, pointId).then ->\n $ctrl.loadProjectStats()\n\n estimationProcess.render = () ->\n totalPoints = @calculateTotalPoints()\n if not selectedRoleId? or roles.length == 1\n text = totalPoints\n title = totalPoints\n else\n pointId = @us.points[selectedRoleId]\n pointObj = @pointsById[pointId]\n text = \"#{pointObj.name} / #{totalPoints}\"\n title = \"#{pointObj.name} / #{totalPoints}\"\n\n ctx = {\n totalPoints: totalPoints\n roles: @calculateRoles()\n editable: @isEditable\n text: text\n title: title\n }\n mainTemplate = \"common/estimation/us-estimation-total.html\"\n template = $tgTemplate.get(mainTemplate, true)\n html = template(ctx)\n @$el.html(html)\n\n estimationProcess.render()\n\n renderRolesSelector = () ->\n roles = estimationProcess.calculateRoles()\n html = rolesTemplate({\"roles\": roles})\n # Render into DOM and show the new created element\n $el.append(html)\n $el.find(\".pop-role\").popover().open(() -> $(this).remove())\n\n bindClickElements = () ->\n $el.on \"click\", \"a.us-points span\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n updatingSelectedRoleId = selectedRoleId\n if selectedRoleId?\n estimationProcess.renderPointsSelector(selectedRoleId)\n else\n renderRolesSelector()\n\n $el.on \"click\", \".role\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n updatingSelectedRoleId = target.data(\"role-id\")\n popRolesDom = $el.find(\".pop-role\")\n popRolesDom.find(\"a\").removeClass(\"active\")\n popRolesDom.find(\"a[data-role-id='#{updatingSelectedRoleId}']\").addClass(\"active\")\n estimationProcess.renderPointsSelector(updatingSelectedRoleId)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogUsPoints\", [\"$tgEstimationsService\", \"$tgRepo\", \"$tgTemplate\", UsPointsDirective])\n\n\n#############################################################################\n## Burndown graph directive\n#############################################################################\n\nBurndownBacklogGraphDirective = ($translate) ->\n redrawChart = (element, dataToDraw) ->\n width = element.width()\n element.height(width/6)\n milestonesRange = [0..(dataToDraw.milestones.length - 1)]\n data = []\n zero_line = _.map(dataToDraw.milestones, (ml) -> 0)\n data.push({\n data: _.zip(milestonesRange, zero_line)\n lines:\n fillColor : \"rgba(0,0,0,0)\"\n points:\n show: false\n })\n optimal_line = _.map(dataToDraw.milestones, (ml) -> ml.optimal)\n data.push({\n data: _.zip(milestonesRange, optimal_line)\n lines:\n fillColor : \"rgba(120,120,120,0.2)\"\n })\n evolution_line = _.filter(_.map(dataToDraw.milestones, (ml) -> ml.evolution), (evolution) -> evolution?)\n data.push({\n data: _.zip(milestonesRange, evolution_line)\n lines:\n fillColor : \"rgba(102,153,51,0.3)\"\n })\n team_increment_line = _.map(dataToDraw.milestones, (ml) -> -ml[\"team-increment\"])\n data.push({\n data: _.zip(milestonesRange, team_increment_line)\n lines:\n fillColor : \"rgba(153,51,51,0.3)\"\n })\n client_increment_line = _.map dataToDraw.milestones, (ml) ->\n -ml[\"team-increment\"] - ml[\"client-increment\"]\n data.push({\n data: _.zip(milestonesRange, client_increment_line)\n lines:\n fillColor : \"rgba(255,51,51,0.3)\"\n })\n\n colors = [\n \"rgba(0,0,0,1)\"\n \"rgba(120,120,120,0.2)\"\n \"rgba(102,153,51,1)\"\n \"rgba(153,51,51,1)\"\n \"rgba(255,51,51,1)\"\n ]\n\n options = {\n grid: {\n borderWidth: { top: 0, right: 1, left:0, bottom: 0 }\n borderColor: \"#ccc\"\n hoverable: true\n }\n xaxis: {\n ticks: dataToDraw.milestones.length\n axisLabel: $translate.instant(\"BACKLOG.CHART.XAXIS_LABEL\"),\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\"\n axisLabelPadding: 5\n tickFormatter: (val, axis) -> \"\"\n }\n yaxis: {\n axisLabel: $translate.instant(\"BACKLOG.CHART.YAXIS_LABEL\"),\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\"\n axisLabelPadding: 5\n }\n series: {\n shadowSize: 0\n lines: {\n show: true\n fill: true\n }\n points: {\n show: true\n fill: true\n radius: 4\n lineWidth: 2\n }\n }\n colors: colors\n tooltip: true\n tooltipOpts: {\n content: (label, xval, yval, flotItem) ->\n if flotItem.seriesIndex == 1\n ctx = {xval: xval, yval: yval}\n return $translate.instant(\"BACKLOG.CHART.OPTIMAL\", ctx)\n else if flotItem.seriesIndex == 2\n ctx = {xval: xval, yval: yval}\n return $translate.instant(\"BACKLOG.CHART.REAL\", ctx)\n else if flotItem.seriesIndex == 3\n ctx = {xval: xval, yval: Math.abs(yval)}\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_TEAM\", ctx)\n else\n ctx = {xval: xval, yval: Math.abs(yval)}\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_CLIENT\", ctx)\n }\n }\n\n element.empty()\n element.plot(data, options).data(\"plot\")\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch \"stats\", (value) ->\n if $scope.stats?\n redrawChart(element, $scope.stats)\n\n $scope.$on \"resize\", ->\n redrawChart(element, $scope.stats)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBurndownBacklogGraph\", [\"$translate\", BurndownBacklogGraphDirective])\n\n\n#############################################################################\n## Backlog progress bar directive\n#############################################################################\n\nTgBacklogProgressBarDirective = ($template) ->\n template = $template.get(\"backlog/progress-bar.html\", true)\n\n render = (el, projectPointsPercentaje, closedPointsPercentaje) ->\n el.html(template({\n projectPointsPercentaje: projectPointsPercentaje,\n closedPointsPercentaje:closedPointsPercentaje\n }))\n\n adjustPercentaje = (percentage) ->\n adjusted = _.max([0 , percentage])\n adjusted = _.min([100, adjusted])\n return Math.round(adjusted)\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch $attrs.tgBacklogProgressBar, (stats) ->\n if stats?\n totalPoints = stats.total_points\n definedPoints = stats.defined_points\n closedPoints = stats.closed_points\n if definedPoints > totalPoints\n projectPointsPercentaje = totalPoints * 100 / definedPoints\n closedPointsPercentaje = closedPoints * 100 / definedPoints\n else\n projectPointsPercentaje = 100\n closedPointsPercentaje = closedPoints * 100 / totalPoints\n\n projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje - 3)\n closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje - 3)\n render($el, projectPointsPercentaje, closedPointsPercentaje)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogProgressBar\", [\"$tgTemplate\", TgBacklogProgressBarDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\ndeleteElement = (el) ->\n el.scope().$destroy()\n el.off()\n el.remove()\n\nBacklogSortableDirective = ($repo, $rs, $rootscope, $tgConfirm, $translate) ->\n # Notes about jquery bug:\n # http://stackoverflow.com/questions/5791886/jquery-draggable-shows-\n # helper-in-wrong-place-when-scrolled-down-page\n\n link = ($scope, $el, $attrs) ->\n getUsIndex = (us) =>\n return $(us).index(\".backlog-table-body .row\")\n\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n filterError = ->\n text = $translate.instant(\"BACKLOG.SORTABLE_FILTER_ERROR\")\n $tgConfirm.notify(\"error\", text)\n\n $el.sortable({\n items: \".us-item-row\",\n cancel: \".popover\"\n connectWith: \".sprint\"\n dropOnEmpty: true\n placeholder: \"row us-item-row us-item-drag sortable-placeholder\"\n scroll: true\n disableHorizontalScroll: true\n # A consequence of length of backlog user story item\n # the default tolerance (\"intersection\") not works properly.\n tolerance: \"pointer\"\n # Revert on backlog is disabled bacause it works bad. Something\n # on the current taiga backlog structure or style makes jquery ui\n # works unexpectly (in some circumstances calculates wrong\n # position for revert).\n revert: false\n start: () ->\n $(document.body).addClass(\"drag-active\")\n stop: () ->\n $(document.body).removeClass(\"drag-active\")\n\n if $el.hasClass(\"active-filters\")\n $el.sortable(\"cancel\")\n filterError()\n })\n\n $el.on \"multiplesortreceive\", (event, ui) ->\n if $el.hasClass(\"active-filters\")\n ui.source.sortable(\"cancel\")\n filterError()\n\n return\n\n itemUs = ui.item.scope().us\n itemIndex = getUsIndex(ui.item)\n\n deleteElement(ui.item)\n\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, null)\n ui.item.find('a').removeClass('noclick')\n\n $el.on \"multiplesortstop\", (event, ui) ->\n # When parent not exists, do nothing\n if $(ui.items[0]).parent().length == 0\n return\n\n if $el.hasClass(\"active-filters\")\n return\n\n items = _.sortBy ui.items, (item) ->\n return $(item).index()\n\n index = _.min _.map items, (item) ->\n return getUsIndex(item)\n\n us = _.map items, (item) ->\n item = $(item)\n itemUs = item.scope().us\n\n # HACK: setTimeout prevents that firefox click\n # event fires just after drag ends\n setTimeout ( =>\n item.find('a').removeClass('noclick')\n ), 300\n\n return itemUs\n\n $scope.$emit(\"sprint:us:move\", us, index, null)\n\n $el.on \"sortstart\", (event, ui) ->\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nBacklogEmptySortableDirective = ($repo, $rs, $rootscope) ->\n # Notes about jquery bug:\n # http://stackoverflow.com/questions/5791886/jquery-draggable-shows-\n # helper-in-wrong-place-when-scrolled-down-page\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if project.my_permissions.indexOf(\"modify_us\") > -1\n $el.sortable({\n dropOnEmpty: true\n })\n\n $el.on \"sortreceive\", (event, ui) ->\n itemUs = ui.item.scope().us\n itemIndex = ui.item.index()\n\n deleteElement(ui.item)\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, null)\n\n ui.item.find('a').removeClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nSprintSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if project.my_permissions.indexOf(\"modify_us\") > -1\n $el.sortable({\n scroll: true\n dropOnEmpty: true\n items: \".sprint-table .milestone-us-item-row\"\n disableHorizontalScroll: true\n connectWith: \".sprint,.backlog-table-body,.empty-backlog\"\n placeholder: \"row us-item-row sortable-placeholder\"\n forcePlaceholderSize:true\n })\n\n $el.on \"multiplesortreceive\", (event, ui) ->\n items = _.sortBy ui.items, (item) ->\n return $(item).index()\n\n index = _.min _.map items, (item) ->\n return $(item).index()\n\n us = _.map items, (item) ->\n item = $(item)\n itemUs = item.scope().us\n\n deleteElement(item)\n\n return itemUs\n\n $scope.$emit(\"sprint:us:move\", us, index, $scope.sprint.id)\n\n $el.on \"multiplesortstop\", (event, ui) ->\n # When parent not exists, do nothing\n if ui.item.parent().length == 0\n return\n\n itemUs = ui.item.scope().us\n itemIndex = ui.item.index()\n\n # HACK: setTimeout prevents that firefox click\n # event fires just after drag ends\n setTimeout ( =>\n ui.item.find('a').removeClass('noclick')\n ), 300\n\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, $scope.sprint.id)\n\n $el.on \"sortstart\", (event, ui) ->\n ui.item.find('a').addClass('noclick')\n\n return {link:link}\n\n\nmodule.directive(\"tgBacklogSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgConfirm\",\n \"$translate\",\n BacklogSortableDirective\n])\n\nmodule.directive(\"tgBacklogEmptySortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n BacklogEmptySortableDirective\n])\n\nmodule.directive(\"tgSprintSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n SprintSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/sprints.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sprint Actions Directive\n#############################################################################\n\nBacklogSprintDirective = ($repo, $rootscope) ->\n sprintTableMinHeight = 50\n slideOptions = {\n duration: 500,\n easing: 'linear'\n }\n\n refreshSprintTableHeight = (sprintTable) =>\n if !sprintTable.find(\".row\").length\n sprintTable.css(\"height\", sprintTableMinHeight)\n else\n sprintTable.css(\"height\", \"auto\")\n\n toggleSprint = ($el) =>\n sprintTable = $el.find(\".sprint-table\")\n sprintArrow = $el.find(\".icon-arrow-up\")\n\n sprintArrow.toggleClass('active')\n sprintTable.toggleClass('open')\n\n refreshSprintTableHeight(sprintTable)\n\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgBacklogSprint, (sprint) ->\n sprint = $scope.$eval($attrs.tgBacklogSprint)\n\n if sprint.closed\n $el.addClass(\"sprint-closed\")\n else\n toggleSprint($el)\n\n # Event Handlers\n $el.on \"click\", \".sprint-name > .icon-arrow-up\", (event) ->\n event.preventDefault()\n\n toggleSprint($el)\n\n $el.find(\".sprint-table\").slideToggle(slideOptions)\n\n $el.on \"click\", \".sprint-name > .icon-edit\", (event) ->\n event.preventDefault()\n\n sprint = $scope.$eval($attrs.tgBacklogSprint)\n $rootscope.$broadcast(\"sprintform:edit\", sprint)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogSprint\", [\"$tgRepo\", \"$rootScope\", BacklogSprintDirective])\n\n\n#############################################################################\n## Sprint Header Directive\n#############################################################################\n\nBacklogSprintHeaderDirective = ($navUrls, $template, $compile, $translate) ->\n template = $template.get(\"backlog/sprint-header.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\")\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_milestone\") != -1\n\n isVisible = ->\n return $scope.project.my_permissions.indexOf(\"view_milestones\") != -1\n\n render = (sprint) ->\n taskboardUrl = $navUrls.resolve(\"project-taskboard\",\n {project: $scope.project.slug, sprint: sprint.slug})\n\n start = moment(sprint.estimated_start).format(prettyDate)\n finish = moment(sprint.estimated_finish).format(prettyDate)\n estimatedDateRange = \"#{start}-#{finish}\"\n\n ctx = {\n name: sprint.name\n taskboardUrl: taskboardUrl\n estimatedDateRange: estimatedDateRange\n closedPoints: sprint.closed_points or 0\n totalPoints: sprint.total_points or 0\n isVisible: isVisible()\n isEditable: isEditable()\n }\n\n templateScope = $scope.$new()\n\n _.assign(templateScope, ctx)\n\n compiledTemplate = $compile(template)(templateScope)\n $el.html(compiledTemplate)\n\n $scope.$watch $attrs.ngModel, (sprint) ->\n render(sprint)\n\n $scope.$on \"sprintform:edit:success\", ->\n render($model.$modelValue)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgBacklogSprintHeader\", [\"$tgNavUrls\", \"$tgTemplate\", \"$compile\", \"$translate\"\n BacklogSprintHeaderDirective])\n\n\n#############################################################################\n## Toggle Closed Sprints Directive\n#############################################################################\n\nToggleExcludeClosedSprintsVisualization = ($rootscope, $loading, $translate) ->\n excludeClosedSprints = true\n\n link = ($scope, $el, $attrs) ->\n # insert loading wrapper\n loadingElm = $(\"
\")\n $el.after(loadingElm)\n\n currentLoading = null\n\n # Event Handlers\n $el.on \"click\", (event) ->\n event.preventDefault()\n excludeClosedSprints = not excludeClosedSprints\n\n currentLoading = $loading()\n .target(loadingElm)\n .start()\n\n if excludeClosedSprints\n $rootscope.$broadcast(\"backlog:unload-closed-sprints\")\n else\n $rootscope.$broadcast(\"backlog:load-closed-sprints\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $scope.$on \"closed-sprints:reloaded\", (ctx, sprints) =>\n currentLoading.finish()\n\n if sprints.length > 0\n key = \"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS\"\n else\n key = \"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS\"\n\n text = $translate.instant(key)\n\n $el.find(\".text\").text(text)\n\n return {link: link}\n\nmodule.directive(\"tgBacklogToggleClosedSprintsVisualization\", [\"$rootScope\", \"$tgLoading\", \"$translate\",\n ToggleExcludeClosedSprintsVisualization])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/charts.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaTaskboard\")\n\n#############################################################################\n## Sprint burndown graph directive\n#############################################################################\n\nSprintGraphDirective = ($translate)->\n redrawChart = (element, dataToDraw) ->\n width = element.width()\n element.height(240)\n\n days = _.map(dataToDraw, (x) -> moment(x.day))\n\n data = []\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, (d) -> d.optimal_points))\n lines:\n fillColor : \"rgba(120,120,120,0.2)\"\n })\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, (d) -> d.open_points))\n lines:\n fillColor : \"rgba(102,153,51,0.3)\"\n })\n\n options =\n grid:\n borderWidth: { top: 0, right: 1, left:0, bottom: 0 }\n borderColor: '#ccc'\n hoverable: true\n xaxis:\n tickSize: [1, \"day\"]\n min: days[0]\n max: _.last(days)\n mode: \"time\"\n daysNames: days\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.XAXIS_LABEL\")\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif'\n axisLabelPadding: 5\n yaxis:\n min: 0\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.YAXIS_LABEL\")\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif'\n axisLabelPadding: 5\n series:\n shadowSize: 0\n lines:\n show: true\n fill: true\n points:\n show: true\n fill: true\n radius: 4\n lineWidth: 2\n colors: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"]\n tooltip: true\n tooltipOpts:\n content: (label, xval, yval, flotItem) ->\n formattedDate = moment(xval).format($translate.instant(\"TASKBOARD.CHARTS.DATE\"))\n roundedValue = Math.round(yval)\n\n if flotItem.seriesIndex == 1\n return $translate.instant(\"TASKBOARD.CHARTS.OPTIMAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n })\n\n else\n return $translate.instant(\"TASKBOARD.CHARTS.REAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n })\n\n element.empty()\n element.plot(data, options).data(\"plot\")\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$on \"resize\", ->\n redrawChart(element, $scope.stats.days) if $scope.stats\n\n $scope.$on \"taskboard:graph:toggle-visibility\", ->\n $el.parent().toggleClass('open')\n\n # fix chart overflow\n timeout(100, ->\n redrawChart(element, $scope.stats.days) if $scope.stats\n )\n\n $scope.$watch 'stats', (value) ->\n if not $scope.stats?\n return\n redrawChart(element, $scope.stats.days)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgSprintGraph\", [\"$translate\", SprintGraphDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nCreateEditTaskDirective = ($repo, $model, $rs, $rootscope, $loading, lightboxService, $translate) ->\n link = ($scope, $el, attrs) ->\n $scope.isNew = true\n\n $scope.$on \"taskform:new\", (ctx, sprintId, usId) ->\n $scope.task = {\n project: $scope.projectId\n milestone: sprintId\n user_story: usId\n is_archived: false\n status: $scope.project.default_task_status\n assigned_to: null\n tags: []\n }\n $scope.isNew = true\n\n # Update texts for creation\n create = $translate.instant(\"COMMON.CREATE\")\n $el.find(\".button-green\").html(create)\n\n newTask = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.TITLE\")\n $el.find(\".title\").html(newTask + \" \")\n\n $el.find(\".tag-input\").val(\"\")\n lightboxService.open($el)\n\n $scope.$on \"taskform:edit\", (ctx, task) ->\n $scope.task = task\n $scope.isNew = false\n\n # Update texts for edition\n save = $translate.instant(\"COMMON.SAVE\")\n edit = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.ACTION_EDIT\")\n\n $el.find(\".button-green\").html(save)\n $el.find(\".title\").html(edit + \" \")\n\n $el.find(\".tag-input\").val(\"\")\n lightboxService.open($el)\n\n\n submitButton = $el.find(\".submit-button\")\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n if $scope.isNew\n promise = $repo.create(\"tasks\", $scope.task)\n broadcastEvent = \"taskform:new:success\"\n else\n promise = $repo.save($scope.task)\n broadcastEvent = \"taskform:edit:success\"\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n # FIXME: error handling?\n promise.then (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $rootscope.$broadcast(broadcastEvent, data)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nCreateBulkTasksDirective = ($repo, $rs, $rootscope, $loading, lightboxService) ->\n link = ($scope, $el, attrs) ->\n $scope.form = {data: \"\", usId: null}\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n data = $scope.form.data\n projectId = $scope.projectId\n sprintId = $scope.form.sprintId\n usId = $scope.form.usId\n\n promise = $rs.tasks.bulkCreate(projectId, sprintId, usId, data)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"taskform:bulk:success\", result)\n lightboxService.close($el)\n\n # TODO: error handling\n promise.then null, ->\n currentLoading.finish()\n console.log \"FAIL\"\n\n $scope.$on \"taskform:bulk\", (ctx, sprintId, usId)->\n lightboxService.open($el)\n $scope.form = {data: \"\", sprintId: sprintId, usId: usId}\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule = angular.module(\"taigaTaskboard\")\n\nmodule.directive(\"tgLbCreateEditTask\", [\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgLoading\",\n \"lightboxService\",\n \"$translate\"\n CreateEditTaskDirective\n])\n\nmodule.directive(\"tgLbCreateBulkTasks\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgLoading\",\n \"lightboxService\",\n CreateBulkTasksDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard.coffee\n###\n\ntaiga = @.taiga\ntoggleText = @.taiga.toggleText\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nscopeDefer = @.taiga.scopeDefer\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaTaskboard\")\n\n\n#############################################################################\n## Taskboard Controller\n#############################################################################\n\nclass TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"tgAppMetaService\",\n \"$tgLocation\",\n \"$tgNavUrls\"\n \"$tgEvents\"\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @appMetaService, @location, @navUrls,\n @events, @analytics, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"TASKBOARD.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then => @._setMeta()\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n prettyDate = @translate.instant(\"BACKLOG.SPRINTS.DATE\")\n\n title = @translate.instant(\"TASKBOARD.PAGE_TITLE\", {\n projectName: @scope.project.name\n sprintName: @scope.sprint.name\n })\n description = @translate.instant(\"TASKBOARD.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name\n sprintName: @scope.sprint.name\n startDate: moment(@scope.sprint.estimated_start).format(prettyDate)\n endDate: moment(@scope.sprint.estimated_finish).format(prettyDate)\n completedPercentage: @scope.stats.completedPercentage or \"0\"\n completedPoints: @scope.stats.completedPointsSum or \"--\"\n totalPoints: @scope.stats.totalPointsSum or \"--\"\n openTasks: @scope.stats.openTasks or \"--\"\n totalTasks: @scope.stats.total_tasks or \"--\"\n })\n\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n # TODO: Reload entire taskboard after create/edit tasks seems\n # a big overhead. It should be optimized in near future.\n @scope.$on \"taskform:bulk:success\", =>\n @.loadTaskboard()\n @analytics.trackEvent(\"task\", \"create\", \"bulk create task on taskboard\", 1)\n\n @scope.$on \"taskform:new:success\", =>\n @.loadTaskboard()\n @analytics.trackEvent(\"task\", \"create\", \"create task on taskboard\", 1)\n\n @scope.$on(\"taskform:edit:success\", => @.loadTaskboard())\n @scope.$on(\"taskboard:task:move\", @.taskMove)\n\n @scope.$on \"assigned-to:added\", (ctx, userId, task) =>\n task.assigned_to = userId\n promise = @repo.save(task)\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n initializeSubscription: ->\n routingKey = \"changes.project.#{@scope.projectId}.tasks\"\n @events.subscribe @scope, routingKey, (message) =>\n @.loadTaskboard()\n\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.refreshTagsColors()\n @.loadSprintStats()\n @.loadSprint()\n\n loadProject: ->\n return @rs.projects.get(@scope.projectId).then (project) =>\n if not project.is_backlog_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.project = project\n # Not used at this momment\n @scope.pointsList = _.sortBy(project.points, \"order\")\n # @scope.roleList = _.sortBy(project.roles, \"order\")\n @scope.pointsById = groupBy(project.points, (e) -> e.id)\n @scope.roleById = groupBy(project.roles, (e) -> e.id)\n @scope.taskStatusList = _.sortBy(project.task_statuses, \"order\")\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n @scope.usStatusById = groupBy(project.us_statuses, (e) -> e.id)\n\n @scope.$emit('project:loaded', project)\n\n @.fillUsersAndRoles(project.users, project.roles)\n\n return project\n\n loadSprintStats: ->\n return @rs.sprints.stats(@scope.projectId, @scope.sprintId).then (stats) =>\n totalPointsSum =_.reduce(_.values(stats.total_points), ((res, n) -> res + n), 0)\n completedPointsSum = _.reduce(_.values(stats.completed_points), ((res, n) -> res + n), 0)\n remainingPointsSum = totalPointsSum - completedPointsSum\n remainingTasks = stats.total_tasks - stats.completed_tasks\n @scope.stats = stats\n @scope.stats.totalPointsSum = totalPointsSum\n @scope.stats.completedPointsSum = completedPointsSum\n @scope.stats.remainingPointsSum = remainingPointsSum\n @scope.stats.remainingTasks = remainingTasks\n if stats.totalPointsSum\n @scope.stats.completedPercentage = Math.round(100*stats.completedPointsSum/stats.totalPointsSum)\n else\n @scope.stats.completedPercentage = 0\n\n @scope.stats.openTasks = stats.total_tasks - stats.completed_tasks\n return stats\n\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n loadSprint: ->\n return @rs.sprints.get(@scope.projectId, @scope.sprintId).then (sprint) =>\n @scope.sprint = sprint\n @scope.userstories = _.sortBy(sprint.user_stories, \"sprint_order\")\n return sprint\n\n loadTasks: ->\n return @rs.tasks.list(@scope.projectId, @scope.sprintId).then (tasks) =>\n @scope.tasks = _.sortBy(tasks, 'taskboard_order')\n @scope.usTasks = {}\n\n # Iterate over all userstories and\n # null userstory for unassigned tasks\n for us in _.union(@scope.userstories, [{id:null}])\n @scope.usTasks[us.id] = {}\n for status in @scope.taskStatusList\n @scope.usTasks[us.id][status.id] = []\n\n for task in @scope.tasks\n if @scope.usTasks[task.user_story]? and @scope.usTasks[task.user_story][task.status]?\n @scope.usTasks[task.user_story][task.status].push(task)\n\n return tasks\n\n loadTaskboard: ->\n return @q.all([\n @.refreshTagsColors(),\n @.loadSprintStats(),\n @.loadSprint().then(=> @.loadTasks())\n ])\n\n loadInitialData: ->\n params = {\n pslug: @params.pslug\n sslug: @params.sslug\n }\n\n promise = @repo.resolve(params).then (data) =>\n @scope.projectId = data.project\n @scope.sprintId = data.milestone\n @.initializeSubscription()\n return data\n\n return promise.then(=> @.loadProject())\n .then(=> @.loadTaskboard())\n\n refreshTasksOrder: (tasks) ->\n items = @.resortTasks(tasks)\n data = @.prepareBulkUpdateData(items)\n\n return @rs.tasks.bulkUpdateTaskTaskboardOrder(@scope.project.id, data)\n\n resortTasks: (tasks) ->\n items = []\n\n for item, index in tasks\n item[\"taskboard_order\"] = index\n if item.isModified()\n items.push(item)\n\n return items\n\n prepareBulkUpdateData: (uses) ->\n return _.map(uses, (x) -> {\"task_id\": x.id, \"order\": x[\"taskboard_order\"]})\n\n taskMove: (ctx, task, usId, statusId, order) ->\n # Remove task from old position\n r = @scope.usTasks[task.user_story][task.status].indexOf(task)\n @scope.usTasks[task.user_story][task.status].splice(r, 1)\n\n # Add task to new position\n tasks = @scope.usTasks[usId][statusId]\n tasks.splice(order, 0, task)\n\n task.user_story = usId\n task.status = statusId\n task.taskboard_order = order\n\n promise = @repo.save(task)\n\n @rootscope.$broadcast(\"sprint:task:moved\", task)\n\n promise.then =>\n @.refreshTasksOrder(tasks)\n @.loadSprintStats()\n\n promise.then null, =>\n console.log \"FAIL TASK SAVE\"\n\n ## Template actions\n addNewTask: (type, us) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"taskform:new\", @scope.sprintId, us?.id)\n when \"bulk\" then @rootscope.$broadcast(\"taskform:bulk\", @scope.sprintId, us?.id)\n\n editTaskAssignedTo: (task) ->\n @rootscope.$broadcast(\"assigned-to:add\", task)\n\nmodule.controller(\"TaskboardController\", TaskboardController)\n\n\n#############################################################################\n## TaskboardDirective\n#############################################################################\n\nTaskboardDirective = ($rootscope) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $el.on \"click\", \".toggle-analytics-visibility\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.toggleClass('active')\n $rootscope.$broadcast(\"taskboard:graph:toggle-visibility\")\n\n tableBodyDom = $el.find(\".taskboard-table-body\")\n tableBodyDom.on \"scroll\", (event) ->\n target = angular.element(event.currentTarget)\n tableHeaderDom = $el.find(\".taskboard-table-header .taskboard-table-inner\")\n tableHeaderDom.css(\"left\", -1 * target.scrollLeft())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgTaskboard\", [\"$rootScope\", TaskboardDirective])\n\n\n#############################################################################\n## Taskboard Task Directive\n#############################################################################\n\nTaskboardTaskDirective = ($rootscope, $loading, $rs) ->\n link = ($scope, $el, $attrs, $model) ->\n $el.disableSelection()\n\n $scope.$watch \"task\", (task) ->\n if task.is_blocked and not $el.hasClass(\"blocked\")\n $el.addClass(\"blocked\")\n else if not task.is_blocked and $el.hasClass(\"blocked\")\n $el.removeClass(\"blocked\")\n\n $el.find(\".icon-edit\").on \"click\", (event) ->\n if $el.find('.icon-edit').hasClass('noclick')\n return\n $scope.$apply ->\n target = $(event.target)\n\n currentLoading = $loading()\n .target(target)\n .timeout(200)\n .removeClasses(\"icon-edit\")\n .start()\n\n task = $scope.task\n $rs.tasks.getByRef(task.project, task.ref).then (editingTask) =>\n $rootscope.$broadcast(\"taskform:edit\", editingTask)\n currentLoading.finish()\n\n return {link:link}\n\n\nmodule.directive(\"tgTaskboardTask\", [\"$rootScope\", \"$tgLoading\", \"$tgResources\", TaskboardTaskDirective])\n\n#############################################################################\n## Taskboard Squish Column Directive\n#############################################################################\n\nTaskboardSquishColumnDirective = (rs) ->\n avatarWidth = 40\n maxColumnWidth = 300\n\n link = ($scope, $el, $attrs) ->\n $scope.$on \"sprint:task:moved\", () =>\n recalculateTaskboardWidth()\n\n bindOnce $scope, \"usTasks\", (project) ->\n $scope.statusesFolded = rs.tasks.getStatusColumnModes($scope.project.id)\n $scope.usFolded = rs.tasks.getUsRowModes($scope.project.id, $scope.sprintId)\n\n recalculateTaskboardWidth()\n\n $scope.foldStatus = (status) ->\n $scope.statusesFolded[status.id] = !!!$scope.statusesFolded[status.id]\n rs.tasks.storeStatusColumnModes($scope.projectId, $scope.statusesFolded)\n\n recalculateTaskboardWidth()\n\n $scope.foldUs = (us) ->\n if !us\n $scope.usFolded[null] = !!!$scope.usFolded[null]\n else\n $scope.usFolded[us.id] = !!!$scope.usFolded[us.id]\n\n rs.tasks.storeUsRowModes($scope.projectId, $scope.sprintId, $scope.usFolded)\n\n recalculateTaskboardWidth()\n\n getCeilWidth = (usId, statusId) =>\n tasks = $scope.usTasks[usId][statusId].length\n\n if $scope.statusesFolded[statusId]\n if tasks and $scope.usFolded[usId]\n tasksMatrixSize = Math.round(Math.sqrt(tasks))\n width = avatarWidth * tasksMatrixSize\n else\n width = avatarWidth\n\n return width\n\n return 0\n\n setStatusColumnWidth = (statusId, width) =>\n column = $el.find(\".squish-status-#{statusId}\")\n\n if width\n column.css('max-width', width)\n else\n column.css(\"max-width\", maxColumnWidth)\n\n refreshTaskboardTableWidth = () =>\n columnWidths = []\n\n columns = $el.find(\".task-colum-name\")\n\n columnWidths = _.map columns, (column) ->\n return $(column).outerWidth(true)\n\n totalWidth = _.reduce columnWidths, (total, width) ->\n return total + width\n\n $el.find('.taskboard-table-inner').css(\"width\", totalWidth)\n\n recalculateStatusColumnWidth = (statusId) =>\n #unassigned ceil\n statusFoldedWidth = getCeilWidth(null, statusId)\n\n _.forEach $scope.userstories, (us) ->\n width = getCeilWidth(us.id, statusId)\n statusFoldedWidth = width if width > statusFoldedWidth\n\n setStatusColumnWidth(statusId, statusFoldedWidth)\n\n recalculateTaskboardWidth = () =>\n _.forEach $scope.taskStatusList, (status) ->\n recalculateStatusColumnWidth(status.id)\n\n refreshTaskboardTableWidth()\n\n return\n\n return {link: link}\n\nmodule.directive(\"tgTaskboardSquishColumn\", [\"$tgResources\", TaskboardSquishColumnDirective])\n\n#############################################################################\n## Taskboard User Directive\n#############################################################################\n\nTaskboardUserDirective = ($log) ->\n clickable = false\n\n link = ($scope, $el, $attrs) ->\n username_label = $el.parent().find(\"a.task-assigned\")\n username_label.addClass(\"not-clickable\")\n\n $scope.$watch 'task.assigned_to', (assigned_to) ->\n user = $scope.usersById[assigned_to]\n\n if user is undefined\n _.assign($scope, {name: \"Unassigned\", imgurl: \"/images/unnamed.png\", clickable: clickable})\n else\n _.assign($scope, {name: user.full_name_display, imgurl: user.photo, clickable: clickable})\n\n username_label.text($scope.name)\n\n\n bindOnce $scope, \"project\", (project) ->\n if project.my_permissions.indexOf(\"modify_task\") > -1\n clickable = true\n $el.find(\".avatar-assigned-to\").on \"click\", (event) =>\n if $el.find('a').hasClass('noclick')\n return\n\n $ctrl = $el.controller()\n $ctrl.editTaskAssignedTo($scope.task)\n\n username_label.removeClass(\"not-clickable\")\n username_label.on \"click\", (event) ->\n if $el.find('a').hasClass('noclick')\n return\n\n $ctrl = $el.controller()\n $ctrl.editTaskAssignedTo($scope.task)\n\n\n return {\n link: link,\n templateUrl: \"taskboard/taskboard-user.html\",\n scope: {\n \"usersById\": \"=users\",\n \"project\": \"=\",\n \"task\": \"=\",\n }\n }\n\n\nmodule.directive(\"tgTaskboardUserAvatar\", [\"$log\", TaskboardUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\nTaskboardSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el\n\n deleteElement = (itemEl) ->\n # Completelly remove item and its scope from dom\n itemEl.scope().$destroy()\n itemEl.off()\n itemEl.remove()\n\n tdom.sortable({\n handle: \".taskboard-task-inner\",\n dropOnEmpty: true\n connectWith: \".taskboard-tasks-box\"\n revert: 400\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n parentEl = ui.item.parent()\n itemEl = ui.item\n itemTask = itemEl.scope().task\n itemIndex = itemEl.index()\n newParentScope = parentEl.scope()\n\n oldUsId = if oldParentScope.us then oldParentScope.us.id else null\n oldStatusId = oldParentScope.st.id\n newUsId = if newParentScope.us then newParentScope.us.id else null\n newStatusId = newParentScope.st.id\n\n if newStatusId != oldStatusId or newUsId != oldUsId\n deleteElement(itemEl)\n\n $scope.$apply ->\n $rootscope.$broadcast(\"taskboard:task:move\", itemTask, newUsId, newStatusId, itemIndex)\n\n ui.item.find('a').removeClass('noclick')\n\n tdom.on \"sortstart\", (event, ui) ->\n oldParentScope = ui.item.parent().scope()\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgTaskboardSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n TaskboardSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaKanban\")\n\n# Vars\n\ndefaultViewMode = \"maximized\"\ndefaultViewModes = {\n maximized: {\n cardClass: \"kanban-task-maximized\"\n }\n minimized: {\n cardClass: \"kanban-task-minimized\"\n }\n}\n\n\n#############################################################################\n## Kanban Controller\n#############################################################################\n\nclass KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @appMetaService, @navUrls, @events, @analytics, @translate) ->\n\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"KANBAN.SECTION_NAME\")\n @scope.statusViewModes = {}\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"KANBAN.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"KANBAN.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n initializeEventHandlers: ->\n @scope.$on \"usform:new:success\", =>\n @.loadUserstories()\n @.refreshTagsColors()\n @analytics.trackEvent(\"userstory\", \"create\", \"create userstory on kanban\", 1)\n\n @scope.$on \"usform:bulk:success\", =>\n @.loadUserstories()\n @analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on kanban\", 1)\n\n @scope.$on \"usform:edit:success\", =>\n @.loadUserstories()\n @.refreshTagsColors()\n\n @scope.$on(\"assigned-to:added\", @.onAssignedToChanged)\n @scope.$on(\"kanban:us:move\", @.moveUs)\n @scope.$on(\"kanban:show-userstories-for-status\", @.loadUserStoriesForStatus)\n @scope.$on(\"kanban:hide-userstories-for-status\", @.hideUserStoriesForStatus)\n\n # Template actions\n\n addNewUs: (type, statusId) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"usform:new\", @scope.projectId, statusId, @scope.usStatusList)\n when \"bulk\" then @rootscope.$broadcast(\"usform:bulk\", @scope.projectId, statusId)\n\n changeUsAssignedTo: (us) ->\n @rootscope.$broadcast(\"assigned-to:add\", us)\n\n # Scope Events Handlers\n\n onAssignedToChanged: (ctx, userid, us) ->\n us.assigned_to = userid\n\n promise = @repo.save(us)\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n # Load data methods\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n loadUserstories: ->\n params = {\n status__is_archived: false\n }\n\n return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>\n @scope.userstories = userstories\n\n usByStatus = _.groupBy(userstories, \"status\")\n us_archived = []\n for status in @scope.usStatusList\n if not usByStatus[status.id]?\n usByStatus[status.id] = []\n if @scope.usByStatus?\n for us in @scope.usByStatus[status.id]\n if us.status != status.id\n us_archived.push(us)\n\n # Must preserve the archived columns if loaded\n if status.is_archived and @scope.usByStatus? and @scope.usByStatus[status.id].length != 0\n for us in @scope.usByStatus[status.id].concat(us_archived)\n if us.status == status.id\n usByStatus[status.id].push(us)\n\n usByStatus[status.id] = _.sortBy(usByStatus[status.id], \"kanban_order\")\n\n @scope.usByStatus = usByStatus\n\n # The broadcast must be executed when the DOM has been fully reloaded.\n # We can't assure when this exactly happens so we need a defer\n scopeDefer @scope, =>\n @scope.$broadcast(\"userstories:loaded\", userstories)\n\n return userstories\n\n loadUserStoriesForStatus: (ctx, statusId) ->\n params = { status: statusId }\n return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>\n @scope.usByStatus[statusId] = _.sortBy(userstories, \"kanban_order\")\n @scope.$broadcast(\"kanban:shown-userstories-for-status\", statusId, userstories)\n return userstories\n\n hideUserStoriesForStatus: (ctx, statusId) ->\n @scope.usByStatus[statusId] = []\n @scope.$broadcast(\"kanban:hidden-userstories-for-status\", statusId)\n\n loadKanban: ->\n return @q.all([\n @.refreshTagsColors(),\n @.loadUserstories()\n ])\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_kanban_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.projectId = project.id\n @scope.points = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(project.points, (x) -> x.id)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n\n @.generateStatusViewModes()\n\n @scope.$emit(\"project:loaded\", project)\n return project\n\n initializeSubscription: ->\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.loadUserstories()\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n @.loadKanban().then( => @scope.$broadcast(\"redraw:wip\"))\n\n\n ## View Mode methods\n\n generateStatusViewModes: ->\n storedStatusViewModes = @rs.kanban.getStatusViewModes(@scope.projectId)\n\n @scope.statusViewModes = {}\n for status in @scope.usStatusList\n mode = storedStatusViewModes[status.id]\n @scope.statusViewModes[status.id] = if _.has(defaultViewModes, mode) then mode else defaultViewMode\n\n @.storeStatusViewModes()\n\n storeStatusViewModes: ->\n @rs.kanban.storeStatusViewModes(@scope.projectId, @scope.statusViewModes)\n\n updateStatusViewMode: (statusId, newViewMode) ->\n @scope.statusViewModes[statusId] = newViewMode\n @.storeStatusViewModes()\n\n getCardClass: (statusId)->\n mode = @scope.statusViewModes[statusId] or defaultViewMode\n return defaultViewModes[mode].cardClass or defaultViewModes[defaultViewMode].cardClass\n\n # Utils methods\n\n prepareBulkUpdateData: (uses, field=\"kanban_order\") ->\n return _.map(uses, (x) -> {\"us_id\": x.id, \"order\": x[field]})\n\n resortUserStories: (uses) ->\n items = []\n for item, index in uses\n item.kanban_order = index\n if item.isModified()\n items.push(item)\n\n return items\n\n moveUs: (ctx, us, oldStatusId, newStatusId, index) ->\n if oldStatusId != newStatusId\n # Remove us from old status column\n r = @scope.usByStatus[oldStatusId].indexOf(us)\n @scope.usByStatus[oldStatusId].splice(r, 1)\n\n # Add us to new status column.\n @scope.usByStatus[newStatusId].splice(index, 0, us)\n us.status = newStatusId\n else\n r = @scope.usByStatus[newStatusId].indexOf(us)\n @scope.usByStatus[newStatusId].splice(r, 1)\n @scope.usByStatus[newStatusId].splice(index, 0, us)\n\n itemsToSave = @.resortUserStories(@scope.usByStatus[newStatusId])\n @scope.usByStatus[newStatusId] = _.sortBy(@scope.usByStatus[newStatusId], \"kanban_order\")\n\n # Persist the userstory\n promise = @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = promise.then =>\n itemsToSave = _.reject(itemsToSave, {\"id\": us.id})\n data = @.prepareBulkUpdateData(itemsToSave)\n\n return @rs.userstories.bulkUpdateKanbanOrder(us.project, data).then =>\n return itemsToSave\n\n return promise\n\n\nmodule.controller(\"KanbanController\", KanbanController)\n\n#############################################################################\n## Kanban Directive\n#############################################################################\n\nKanbanDirective = ($repo, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n tableBodyDom = $el.find(\".kanban-table-body\")\n\n tableBodyDom.on \"scroll\", (event) ->\n target = angular.element(event.currentTarget)\n tableHeaderDom = $el.find(\".kanban-table-header .kanban-table-inner\")\n tableHeaderDom.css(\"left\", -1 * target.scrollLeft())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgKanban\", [\"$tgRepo\", \"$rootScope\", KanbanDirective])\n\n#############################################################################\n## Kanban Archived Status Column Header Control\n#############################################################################\n\nKanbanArchivedStatusHeaderDirective = ($rootscope, $translate) ->\n showArchivedText = $translate.instant(\"KANBAN.ACTION_SHOW_ARCHIVED\")\n hideArchivedText = $translate.instant(\"KANBAN.ACTION_HIDE_ARCHIVED\")\n\n link = ($scope, $el, $attrs) ->\n status = $scope.$eval($attrs.tgKanbanArchivedStatusHeader)\n hidden = true\n\n $scope.class = \"icon icon-open-eye\"\n $scope.title = showArchivedText\n\n $el.on \"click\", (event) ->\n hidden = not hidden\n\n $scope.$apply ->\n if hidden\n $scope.class = \"icon icon-open-eye\"\n $scope.title = showArchivedText\n $rootscope.$broadcast(\"kanban:hide-userstories-for-status\", status.id)\n\n else\n $scope.class = \"icon icon-closed-eye\"\n $scope.title = hideArchivedText\n $rootscope.$broadcast(\"kanban:show-userstories-for-status\", status.id)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgKanbanArchivedStatusHeader\", [ \"$rootScope\", \"$translate\", KanbanArchivedStatusHeaderDirective])\n\n\n#############################################################################\n## Kanban Archived Status Column Intro Directive\n#############################################################################\n\nKanbanArchivedStatusIntroDirective = ($translate) ->\n userStories = []\n\n link = ($scope, $el, $attrs) ->\n hiddenUserStoriexText = $translate.instant(\"KANBAN.HIDDEN_USER_STORIES\")\n status = $scope.$eval($attrs.tgKanbanArchivedStatusIntro)\n $el.text(hiddenUserStoriexText)\n\n updateIntroText = ->\n if userStories.length > 0\n $el.text(\"\")\n else\n $el.text(hiddenUserStoriexText)\n\n $scope.$on \"kanban:us:move\", (ctx, itemUs, oldStatusId, newStatusId, itemIndex) ->\n # The destination columnd is this one\n if status.id == newStatusId\n # Reorder\n if status.id == oldStatusId\n r = userStories.indexOf(itemUs)\n userStories.splice(r, 1)\n userStories.splice(itemIndex, 0, itemUs)\n\n # Archiving user story\n else\n itemUs.isArchived = true\n userStories.splice(itemIndex, 0, itemUs)\n\n # Unarchiving user story\n else if status.id == oldStatusId\n itemUs.isArchived = false\n r = userStories.indexOf(itemUs)\n userStories.splice(r, 1)\n\n updateIntroText()\n\n $scope.$on \"kanban:shown-userstories-for-status\", (ctx, statusId, userStoriesLoaded) ->\n if statusId == status.id\n userStories = _.filter(userStoriesLoaded, (us) -> us.status == status.id)\n updateIntroText()\n\n $scope.$on \"kanban:hidden-userstories-for-status\", (ctx, statusId) ->\n if statusId == status.id\n userStories = []\n updateIntroText()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgKanbanArchivedStatusIntro\", [\"$translate\", KanbanArchivedStatusIntroDirective])\n\n\n#############################################################################\n## Kanban User Story Directive\n#############################################################################\n\nKanbanUserstoryDirective = ($rootscope, $loading, $rs) ->\n link = ($scope, $el, $attrs, $model) ->\n $el.disableSelection()\n\n $scope.$watch \"us\", (us) ->\n if us.is_blocked and not $el.hasClass(\"blocked\")\n $el.addClass(\"blocked\")\n else if not us.is_blocked and $el.hasClass(\"blocked\")\n $el.removeClass(\"blocked\")\n\n $el.find(\".icon-edit\").on \"click\", (event) ->\n if $el.find(\".icon-edit\").hasClass(\"noclick\")\n return\n\n target = $(event.target)\n\n currentLoading = $loading()\n .target(target)\n .timeout(200)\n .removeClasses(\"icon-edit\")\n .start()\n\n us = $model.$modelValue\n $rs.userstories.getByRef(us.project, us.ref).then (editingUserStory) =>\n $rootscope.$broadcast(\"usform:edit\", editingUserStory)\n currentLoading.finish()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"kanban/kanban-task.html\"\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgKanbanUserstory\", [\"$rootScope\", \"$tgLoading\", \"$tgResources\", KanbanUserstoryDirective])\n\n#############################################################################\n## Kanban Squish Column Directive\n#############################################################################\n\nKanbanSquishColumnDirective = (rs) ->\n\n link = ($scope, $el, $attrs) ->\n $scope.$on \"project:loaded\", (event, project) ->\n $scope.folds = rs.kanban.getStatusColumnModes(project.id)\n updateTableWidth()\n\n $scope.foldStatus = (status) ->\n $scope.folds[status.id] = !!!$scope.folds[status.id]\n rs.kanban.storeStatusColumnModes($scope.projectId, $scope.folds)\n updateTableWidth()\n return\n\n updateTableWidth = ->\n columnWidths = _.map $scope.usStatusList, (status) ->\n if $scope.folds[status.id]\n return 40\n else\n return 310\n totalWidth = _.reduce columnWidths, (total, width) ->\n return total + width\n $el.find('.kanban-table-inner').css(\"width\", totalWidth)\n\n return {link: link}\n\nmodule.directive(\"tgKanbanSquishColumn\", [\"$tgResources\", KanbanSquishColumnDirective])\n\n#############################################################################\n## Kanban WIP Limit Directive\n#############################################################################\n\nKanbanWipLimitDirective = ->\n link = ($scope, $el, $attrs) ->\n $el.disableSelection()\n\n status = $scope.$eval($attrs.tgKanbanWipLimit)\n\n redrawWipLimit = =>\n $el.find(\".kanban-wip-limit\").remove()\n timeout 200, =>\n element = $el.find(\".kanban-task\")[status.wip_limit]\n if element\n angular.element(element).before(\"
\")\n\n if status and not status.is_archived\n $scope.$on \"redraw:wip\", redrawWipLimit\n $scope.$on \"kanban:us:move\", redrawWipLimit\n $scope.$on \"usform:new:success\", redrawWipLimit\n $scope.$on \"usform:bulk:success\", redrawWipLimit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgKanbanWipLimit\", KanbanWipLimitDirective)\n\n\n#############################################################################\n## Kanban User Directive\n#############################################################################\n\nKanbanUserDirective = ($log, $compile) ->\n template = _.template(\"\"\"\n
\n class=\"not-clickable\"<% } %>>\n \" alt=\"<%- name %>\" class=\"avatar\">\n \n
\n \"\"\")\n\n clickable = false\n\n link = ($scope, $el, $attrs, $model) ->\n username_label = $el.parent().find(\"a.task-assigned\")\n username_label.addClass(\"not-clickable\")\n\n if not $attrs.tgKanbanUserAvatar\n return $log.error \"KanbanUserDirective: no attr is defined\"\n\n wtid = $scope.$watch $attrs.tgKanbanUserAvatar, (v) ->\n if not $scope.usersById?\n $log.error \"KanbanUserDirective requires userById set in scope.\"\n wtid()\n else\n user = $scope.usersById[v]\n render(user)\n\n render = (user) ->\n if user is undefined\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\", clickable: clickable}\n else\n ctx = {name: user.full_name_display, imgurl: user.photo, clickable: clickable}\n\n html = $compile(template(ctx))($scope)\n $el.html(html)\n username_label.text(ctx.name)\n\n bindOnce $scope, \"project\", (project) ->\n if project.my_permissions.indexOf(\"modify_us\") > -1\n clickable = true\n $el.on \"click\", (event) =>\n if $el.find(\"a\").hasClass(\"noclick\")\n return\n\n us = $model.$modelValue\n $ctrl = $el.controller()\n $ctrl.changeUsAssignedTo(us)\n\n username_label.removeClass(\"not-clickable\")\n username_label.on \"click\", (event) ->\n if $el.find(\"a\").hasClass(\"noclick\")\n return\n\n us = $model.$modelValue\n $ctrl = $el.controller()\n $ctrl.changeUsAssignedTo(us)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link, require:\"ngModel\"}\n\nmodule.directive(\"tgKanbanUserAvatar\", [\"$log\", \"$compile\", KanbanUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaKanban\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\nKanbanSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el\n\n deleteElement = (itemEl) ->\n # Completelly remove item and its scope from dom\n itemEl.scope().$destroy()\n itemEl.off()\n itemEl.remove()\n\n tdom.sortable({\n handle: \".kanban-task-inner\"\n dropOnEmpty: true\n connectWith: \".kanban-uses-box\"\n revert: 400\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n parentEl = ui.item.parent()\n itemEl = ui.item\n itemUs = itemEl.scope().us\n itemIndex = itemEl.index()\n newParentScope = parentEl.scope()\n\n newStatusId = newParentScope.s.id\n oldStatusId = oldParentScope.s.id\n\n if newStatusId != oldStatusId\n deleteElement(itemEl)\n\n $scope.$apply ->\n $rootscope.$broadcast(\"kanban:us:move\", itemUs, itemUs.status, newStatusId, itemIndex)\n\n ui.item.find('a').removeClass('noclick')\n\n tdom.on \"sortstart\", (event, ui) ->\n oldParentScope = ui.item.parent().scope()\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgKanbanSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n KanbanSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issue Detail Controller\n#############################################################################\n\nclass IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgAnalytics\",\n \"$tgNavUrls\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @analytics, @navUrls, @translate) ->\n @scope.issueRef = @params.issueref\n @scope.sectionName = @translate.instant(\"ISSUES.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"ISSUE.PAGE_TITLE\", {\n issueRef: \"##{@scope.issue.ref}\"\n issueSubject: @scope.issue.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"ISSUE.PAGE_DESCRIPTION\", {\n issueStatus: @scope.statusById[@scope.issue.status]?.name or \"--\"\n issueType: @scope.typeById[@scope.issue.type]?.name or \"--\"\n issueSeverity: @scope.severityById[@scope.issue.severity]?.name or \"--\"\n issuePriority: @scope.priorityById[@scope.issue.priority]?.name or \"--\"\n issueDescription: angular.element(@scope.issue.description_html or \"\").text()\n })\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"attachment:create\", =>\n @rootscope.$broadcast(\"object:updated\")\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on issue\", 1)\n\n @scope.$on \"attachment:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n @scope.$on \"attachment:delete\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n @scope.$on \"promote-issue-to-us:success\", =>\n @analytics.trackEvent(\"issue\", \"promoteToUserstory\", \"promote issue to userstory\", 1)\n @rootscope.$broadcast(\"object:updated\")\n @.loadIssue()\n\n @scope.$on \"custom-attributes-values:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n if @scope.project.is_issues_activated\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-issues\", ctx)\n else\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.issue_statuses\n @scope.statusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.typeById = groupBy(project.issue_types, (x) -> x.id)\n @scope.typeList = _.sortBy(project.issue_types, \"order\")\n @scope.severityList = project.severities\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.priorityList = project.priorities\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadIssue: ->\n return @rs.issues.getByRef(@scope.projectId, @params.issueref).then (issue) =>\n @scope.issue = issue\n @scope.issueId = issue.id\n @scope.commentModel = issue\n\n if @scope.issue.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.issue.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-issues-detail\", ctx)\n\n if @scope.issue.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.issue.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-issues-detail\", ctx)\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadIssue()\n\n\nmodule.controller(\"IssueDetailController\", IssueDetailController)\n\n\n#############################################################################\n## Issue status display directive\n#############################################################################\n\nIssueStatusDisplayDirective = ($template, $compile)->\n # Display if a Issue is open or closed and its issueboard status.\n #\n # Example:\n # tg-issue-status-display(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (issue) ->\n status = $scope.statusById[issue.status]\n\n html = template({\n is_closed: status.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueStatusDisplay\", [\"$tgTemplate\", \"$compile\", IssueStatusDisplayDirective])\n\n\n#############################################################################\n## Issue status button directive\n#############################################################################\n\nIssueStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the status of Issue and you can edit it.\n #\n # Example:\n # tg-issue-status-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issues-status-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n status = $scope.statusById[issue.status]\n\n html = template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (statusId) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.status = statusId\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n\n save(target.data(\"status-id\"))\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueStatusButtonDirective])\n\n#############################################################################\n## Issue type button directive\n#############################################################################\n\nIssueTypeButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the type of Issue and you can edit it.\n #\n # Example:\n # tg-issue-type-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.typeById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-type-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n type = $scope.typeById[issue.type]\n\n html = template({\n type: type\n typees: $scope.typeList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (type) =>\n $.fn.popover().closeAll()\n issue = $model.$modelValue.clone()\n issue.type = type\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".type-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-type\").popover().open()\n\n $el.on \"click\", \".type\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n type = target.data(\"type-id\")\n save(type)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueTypeButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueTypeButtonDirective])\n\n\n#############################################################################\n## Issue severity button directive\n#############################################################################\n\nIssueSeverityButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the severity of Issue and you can edit it.\n #\n # Example:\n # tg-issue-severity-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.severityById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-severity-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n severity = $scope.severityById[issue.severity]\n\n html = template({\n severity: severity\n severityes: $scope.severityList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (severity) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.severity = severity\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".severity-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-severity\").popover().open()\n\n $el.on \"click\", \".severity\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n severity = target.data(\"severity-id\")\n\n save(severity)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueSeverityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueSeverityButtonDirective])\n\n\n#############################################################################\n## Issue priority button directive\n#############################################################################\n\nIssuePriorityButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the priority of Issue and you can edit it.\n #\n # Example:\n # tg-issue-priority-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.priorityById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-priority-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n priority = $scope.priorityById[issue.priority]\n\n html = template({\n priority: priority\n priorityes: $scope.priorityList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (priority) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.priority = priority\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".priority-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-priority\").popover().open()\n\n $el.on \"click\", \".priority\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n priority = target.data(\"priority-id\")\n\n save(priority)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssuePriorityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssuePriorityButtonDirective])\n\n\n#############################################################################\n## Promote Issue to US button directive\n#############################################################################\n\nPromoteIssueToUsButtonDirective = ($rootScope, $repo, $confirm, $qqueue, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n\n save = $qqueue.bindAdd (issue, finish) =>\n data = {\n generated_from_issue: issue.id\n project: issue.project,\n subject: issue.subject\n description: issue.description\n tags: issue.tags\n is_blocked: issue.is_blocked\n blocked_note: issue.blocked_note\n }\n\n onSuccess = ->\n finish()\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"promote-issue-to-us:success\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n\n $repo.create(\"userstories\", data).then(onSuccess, onError)\n\n\n $el.on \"click\", \"a\", (event) ->\n event.preventDefault()\n issue = $model.$modelValue\n\n title = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.TITLE\")\n message = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.MESSAGE\")\n subtitle = issue.subject\n\n $confirm.ask(title, subtitle, message).then (finish) =>\n save(issue, finish)\n\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n restrict: \"AE\"\n require: \"ngModel\"\n templateUrl: \"issue/promote-issue-to-us-button.html\"\n link: link\n }\n\nmodule.directive(\"tgPromoteIssueToUsButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$translate\"\n PromoteIssueToUsButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issue Create Lightbox Directive\n#############################################################################\n\nCreateIssueDirective = ($repo, $confirm, $rootscope, lightboxService, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n $scope.issue = {}\n\n $scope.$on \"issueform:new\", (ctx, project)->\n $el.find(\".tag-input\").val(\"\")\n\n lightboxService.open($el)\n\n $scope.issue = {\n project: project.id\n subject: \"\"\n status: project.default_issue_status\n type: project.default_issue_type\n priority: project.default_priority\n severity: project.default_severity\n tags: []\n }\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"issues\", $scope.issue)\n\n promise.then (data) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"issueform:new:success\", data)\n lightboxService.close($el)\n $confirm.notify(\"success\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n\n return {link:link}\n\nmodule.directive(\"tgLbCreateIssue\", [\"$tgRepo\", \"$tgConfirm\", \"$rootScope\", \"lightboxService\", \"$tgLoading\",\n CreateIssueDirective])\n\n\n#############################################################################\n## Issue Bulk Create Lightbox Directive\n#############################################################################\n\nCreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightboxService) ->\n link = ($scope, $el, attrs) ->\n $scope.$on \"issueform:bulk\", (ctx, projectId, status)->\n lightboxService.open($el)\n $scope.new = {\n projectId: projectId\n bulk: \"\"\n }\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n data = $scope.new.bulk\n projectId = $scope.new.projectId\n\n promise = $rs.issues.bulkCreate(projectId, data)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"issueform:new:success\", result)\n lightboxService.close($el)\n $confirm.notify(\"success\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateBulkIssues\", [\"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\",\n \"lightboxService\", CreateBulkIssuesDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/list.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounceLeading = @.taiga.debounceLeading\nstartswith = @.taiga.startswith\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issues Controller\n#############################################################################\n\nclass IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$tgUrls\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @urls, @params, @q, @location, @appMetaService,\n @navUrls, @events, @analytics, @translate) ->\n @scope.sectionName = \"Issues\"\n @scope.filters = {}\n\n if _.isEmpty(@location.search())\n filters = @rs.issues.getFilters(@params.pslug)\n filters.page = 1\n @location.search(filters)\n @location.replace()\n return\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"ISSUES.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"ISSUES.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"issueform:new:success\", =>\n @analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1)\n @.loadIssues()\n @.loadFilters()\n\n\n initializeSubscription: ->\n routingKey = \"changes.project.#{@scope.projectId}.issues\"\n @events.subscribe @scope, routingKey, (message) =>\n @.loadIssues()\n\n storeFilters: ->\n @rs.issues.storeFilters(@params.pslug, @location.search())\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_issues_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n\n @scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\")\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.severityList = _.sortBy(project.severities, \"order\")\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.priorityList = _.sortBy(project.priorities, \"order\")\n @scope.issueTypes = _.sortBy(project.issue_types, \"order\")\n @scope.issueTypeById = groupBy(project.issue_types, (x) -> x.id)\n\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n getUrlFilters: ->\n filters = _.pick(@location.search(), \"page\", \"tags\", \"statuses\", \"types\",\n \"q\", \"severities\", \"priorities\",\n \"assignedTo\", \"createdBy\", \"orderBy\")\n filters.page = 1 if not filters.page\n return filters\n\n getUrlFilter: (name) ->\n filters = _.pick(@location.search(), name)\n return filters[name]\n\n loadMyFilters: ->\n return @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n return _.map filters, (value, key) =>\n return {id: key, name: key, type: \"myFilters\", selected: false}\n\n removeNotExistingFiltersFromUrl: ->\n currentSearch = @location.search()\n urlfilters = @.getUrlFilters()\n\n for filterName, filterValue of urlfilters\n if filterName == \"page\" or filterName == \"orderBy\" or filterName == \"q\"\n continue\n\n if filterName == \"tags\"\n splittedValues = _.map(\"#{filterValue}\".split(\",\"))\n else\n splittedValues = _.map(\"#{filterValue}\".split(\",\"), (x) -> if x == \"null\" then null else parseInt(x))\n\n existingValues = _.intersection(splittedValues, _.map(@scope.filters[filterName], \"id\"))\n if splittedValues.length != existingValues.length\n @location.search(filterName, existingValues.join())\n\n if currentSearch != @location.search()\n @location.replace()\n\n markSelectedFilters: (filters, urlfilters) ->\n # Build selected filters (from url) fast lookup data structure\n searchdata = {}\n for name, value of _.omit(urlfilters, \"page\", \"orderBy\")\n if not searchdata[name]?\n searchdata[name] = {}\n\n for val in \"#{value}\".split(\",\")\n searchdata[name][val] = true\n\n isSelected = (type, id) ->\n if searchdata[type]? and searchdata[type][id]\n return true\n return false\n\n for key, value of filters\n for obj in value\n obj.selected = if isSelected(obj.type, obj.id) then true else undefined\n\n loadFilters: ->\n urlfilters = @.getUrlFilters()\n\n if urlfilters.q\n @scope.filtersQ = urlfilters.q\n\n # Load My Filters\n promise = @.loadMyFilters().then (myFilters) =>\n @scope.filters.myFilters = myFilters\n return myFilters\n\n # Load default filters data\n promise = promise.then =>\n return @rs.issues.filtersData(@scope.projectId)\n\n # Format filters and set them on scope\n return promise.then (data) =>\n usersFiltersFormat = (users, type, unknownOption) =>\n reformatedUsers = _.map users, (t) =>\n return {\n id: t[0],\n count: t[1],\n type: type\n name: if t[0] then @scope.usersById[t[0]].full_name_display else unknownOption\n }\n unknownItem = _.remove(reformatedUsers, (u) -> not u.id)\n reformatedUsers = _.sortBy(reformatedUsers, (u) -> u.name.toUpperCase())\n if unknownItem.length > 0\n reformatedUsers.unshift(unknownItem[0])\n return reformatedUsers\n\n choicesFiltersFormat = (choices, type, byIdObject) =>\n _.map choices, (t) ->\n return {\n id: t[0],\n name: byIdObject[t[0]].name,\n color: byIdObject[t[0]].color,\n count: t[1],\n type: type}\n\n tagsFilterFormat = (tags) =>\n return _.map tags, (t) =>\n return {\n id: t[0],\n name: t[0],\n color: @scope.project.tags_colors[t[0]],\n count: t[1],\n type: \"tags\"\n }\n\n # Build filters data structure\n @scope.filters.statuses = choicesFiltersFormat(data.statuses, \"statuses\", @scope.issueStatusById)\n @scope.filters.severities = choicesFiltersFormat(data.severities, \"severities\", @scope.severityById)\n @scope.filters.priorities = choicesFiltersFormat(data.priorities, \"priorities\", @scope.priorityById)\n @scope.filters.assignedTo = usersFiltersFormat(data.assigned_to, \"assignedTo\", \"Unassigned\")\n @scope.filters.createdBy = usersFiltersFormat(data.created_by, \"createdBy\", \"Unknown\")\n @scope.filters.types = choicesFiltersFormat(data.types, \"types\", @scope.issueTypeById)\n @scope.filters.tags = tagsFilterFormat(data.tags)\n\n @.removeNotExistingFiltersFromUrl()\n @.markSelectedFilters(@scope.filters, urlfilters)\n @rootscope.$broadcast(\"filters:loaded\", @scope.filters)\n\n # We need to guarantee that the last petition done here is the finally used\n # When searching by text loadIssues can be called fastly with different parameters and\n # can be resolved in a different order than generated\n # We count the requests made and only if the callback is for the last one data is updated\n loadIssuesRequests: 0\n loadIssues: =>\n @scope.urlFilters = @.getUrlFilters()\n\n # Convert stored filters to http parameters\n # ready filters (the name difference exists\n # because of some automatic lookups and is\n # the simplest way todo it without adding\n # additional complexity to code.\n @scope.httpParams = {}\n for name, values of @scope.urlFilters\n if name == \"severities\"\n name = \"severity\"\n else if name == \"orderBy\"\n name = \"order_by\"\n else if name == \"priorities\"\n name = \"priority\"\n else if name == \"assignedTo\"\n name = \"assigned_to\"\n else if name == \"createdBy\"\n name = \"owner\"\n else if name == \"statuses\"\n name = \"status\"\n else if name == \"types\"\n name = \"type\"\n @scope.httpParams[name] = values\n\n promise = @rs.issues.list(@scope.projectId, @scope.httpParams)\n @.loadIssuesRequests += 1\n promise.index = @.loadIssuesRequests\n promise.then (data) =>\n if promise.index == @.loadIssuesRequests\n @scope.issues = data.models\n @scope.page = data.current\n @scope.count = data.count\n @scope.paginatedBy = data.paginatedBy\n return data\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n return @q.all([@.loadFilters(), @.loadIssues()])\n\n saveCurrentFiltersTo: (newFilter) ->\n deferred = @q.defer()\n @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n filters[newFilter] = @location.search()\n @rs.issues.storeMyFilters(@scope.projectId, filters).then =>\n deferred.resolve()\n return deferred.promise\n\n deleteMyFilter: (filter) ->\n deferred = @q.defer()\n @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n delete filters[filter]\n @rs.issues.storeMyFilters(@scope.projectId, filters).then =>\n deferred.resolve()\n return deferred.promise\n\n # Functions used from templates\n addNewIssue: ->\n @rootscope.$broadcast(\"issueform:new\", @scope.project)\n\n addIssuesInBulk: ->\n @rootscope.$broadcast(\"issueform:bulk\", @scope.projectId)\n\n\nmodule.controller(\"IssuesController\", IssuesController)\n\n#############################################################################\n## Issues Directive\n#############################################################################\n\nIssuesDirective = ($log, $location, $template, $compile) ->\n ## Issues Pagination\n template = $template.get(\"issue/issue-paginator.html\", true)\n\n linkPagination = ($scope, $el, $attrs, $ctrl) ->\n # Constants\n afterCurrent = 2\n beforeCurrent = 4\n atBegin = 2\n atEnd = 2\n\n $pagEl = $el.find(\".issues-paginator\")\n\n getNumPages = ->\n numPages = $scope.count / $scope.paginatedBy\n if parseInt(numPages, 10) < numPages\n numPages = parseInt(numPages, 10) + 1\n else\n numPages = parseInt(numPages, 10)\n\n return numPages\n\n renderPagination = ->\n numPages = getNumPages()\n\n if numPages <= 1\n $pagEl.hide()\n return\n $pagEl.show()\n\n pages = []\n options = {}\n options.pages = pages\n options.showPrevious = ($scope.page > 1)\n options.showNext = not ($scope.page == numPages)\n\n cpage = $scope.page\n\n for i in [1..numPages]\n if i == (cpage + afterCurrent) and numPages > (cpage + afterCurrent + atEnd)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i == (cpage - beforeCurrent) and cpage > (atBegin + beforeCurrent)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i > (cpage + afterCurrent) and i <= (numPages - atEnd)\n else if i < (cpage - beforeCurrent) and i > atBegin\n else if i == cpage\n pages.push({classes: \"active\", num: i, type: \"page-active\"})\n else\n pages.push({classes: \"page\", num: i, type: \"page\"})\n\n\n html = template(options)\n html = $compile(html)($scope)\n\n $pagEl.html(html)\n\n $scope.$watch \"issues\", (value) ->\n # Do nothing if value is not logical true\n return if not value\n\n renderPagination()\n\n $el.on \"click\", \".issues-paginator a.next\", (event) ->\n event.preventDefault()\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page + 1)\n $ctrl.loadIssues()\n\n $el.on \"click\", \".issues-paginator a.previous\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page - 1)\n $ctrl.loadIssues()\n\n $el.on \"click\", \".issues-paginator li.page > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n pagenum = target.data(\"pagenum\")\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", pagenum)\n $ctrl.loadIssues()\n\n ## Issues Filters\n linkOrdering = ($scope, $el, $attrs, $ctrl) ->\n # Draw the arrow the first time\n currentOrder = $ctrl.getUrlFilter(\"orderBy\") or \"created_date\"\n if currentOrder\n icon = if startswith(currentOrder, \"-\") then \"icon-caret-up\" else \"icon-caret-down\"\n colHeadElement = $el.find(\".row.title > div[data-fieldname='#{trim(currentOrder, \"-\")}']\")\n colHeadElement.html(\"#{colHeadElement.html()}\")\n\n $el.on \"click\", \".row.title > div\", (event) ->\n target = angular.element(event.currentTarget)\n\n currentOrder = $ctrl.getUrlFilter(\"orderBy\")\n newOrder = target.data(\"fieldname\")\n\n finalOrder = if currentOrder == newOrder then \"-#{newOrder}\" else newOrder\n\n $scope.$apply ->\n $ctrl.replaceFilter(\"orderBy\", finalOrder)\n $ctrl.storeFilters()\n $ctrl.loadIssues().then ->\n # Update the arrow\n $el.find(\".row.title > div > span.icon\").remove()\n icon = if startswith(finalOrder, \"-\") then \"icon-caret-up\" else \"icon-caret-down\"\n target.html(\"#{target.html()}\")\n\n ## Issues Link\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkOrdering($scope, $el, $attrs, $ctrl)\n linkPagination($scope, $el, $attrs, $ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", \"$compile\", IssuesDirective])\n\n\n#############################################################################\n## Issues Filters Directive\n#############################################################################\n\nIssuesFiltersDirective = ($log, $location, $rs, $confirm, $loading, $template, $translate, $compile, $auth) ->\n template = $template.get(\"issue/issues-filters.html\", true)\n templateSelected = $template.get(\"issue/issues-filters-selected.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.closest(\".wrapper\").controller()\n selectedFilters = []\n\n showFilters = (title, type) ->\n $el.find(\".filters-cats\").hide()\n $el.find(\".filter-list\").removeClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").removeClass(\"hidden\")\n $el.find(\"h2 a.subfilter span.title\").html(title)\n $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type)\n\n showCategories = ->\n $el.find(\".filters-cats\").show()\n $el.find(\".filter-list\").addClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").addClass(\"hidden\")\n\n initializeSelectedFilters = (filters) ->\n selectedFilters = []\n for name, values of filters\n for val in values\n selectedFilters.push(val) if val.selected\n\n renderSelectedFilters(selectedFilters)\n\n renderSelectedFilters = (selectedFilters) ->\n _.filter selectedFilters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = templateSelected({filters:selectedFilters})\n html = $compile(html)($scope)\n $el.find(\".filters-applied\").html(html)\n\n if $auth.isAuthenticated() && selectedFilters.length > 0\n $el.find(\".save-filters\").show()\n else\n $el.find(\".save-filters\").hide()\n\n renderFilters = (filters) ->\n _.filter filters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = template({filters:filters})\n html = $compile(html)($scope)\n $el.find(\".filter-list\").html(html)\n\n toggleFilterSelection = (type, id) ->\n if type == \"myFilters\"\n $rs.issues.getMyFilters($scope.projectId).then (data) ->\n myFilters = data\n filters = myFilters[id]\n filters.page = 1\n $ctrl.replaceAllFilters(filters)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n $ctrl.markSelectedFilters($scope.filters, filters)\n initializeSelectedFilters($scope.filters)\n return null\n\n filters = $scope.filters[type]\n filterId = if type == 'tags' then taiga.toString(id) else id\n filter = _.find(filters, {id: filterId})\n\n filter.selected = (not filter.selected)\n\n # Convert id to null as string for properly\n # put null value on url parameters\n id = \"null\" if id is null\n\n if filter.selected\n selectedFilters.push(filter)\n $scope.$apply ->\n $ctrl.selectFilter(type, id)\n $ctrl.selectFilter(\"page\", 1)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n else\n selectedFilters = _.reject(selectedFilters, filter)\n $scope.$apply ->\n $ctrl.unselectFilter(type, id)\n $ctrl.selectFilter(\"page\", 1)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n\n renderSelectedFilters(selectedFilters)\n\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if type == currentFiltersType\n renderFilters(_.reject(filters, \"selected\"))\n\n # Angular Watchers\n $scope.$on \"filters:loaded\", (ctx, filters) ->\n initializeSelectedFilters(filters)\n\n $scope.$on \"filters:issueupdate\", (ctx, filters) ->\n html = template({filters:filters.statuses})\n html = $compile(html)($scope)\n $el.find(\".filter-list\").html(html)\n\n selectQFilter = debounceLeading 100, (value) ->\n return if value is undefined\n\n $ctrl.replaceFilter(\"page\", null, true)\n\n if value.length == 0\n $ctrl.replaceFilter(\"q\", null)\n $ctrl.storeFilters()\n else\n $ctrl.replaceFilter(\"q\", value)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n\n $scope.$watch(\"filtersQ\", selectQFilter)\n\n # Dom Event Handlers\n $el.on \"click\", \".filters-cats > ul > li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n tags = $scope.filters[target.data(\"type\")]\n renderFilters(_.reject(tags, \"selected\"))\n showFilters(target.attr(\"title\"), target.data(\"type\"))\n\n $el.on \"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", (event) ->\n event.preventDefault()\n showCategories($el)\n\n $el.on \"click\", \".filters-applied a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n id = target.data(\"id\") or null\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.toggleClass(\"active\")\n\n id = target.data(\"id\") or null\n type = target.data(\"type\")\n\n # A saved filter can't be active\n if type == \"myFilters\"\n target.removeClass(\"active\")\n\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter .icon-delete\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n target = angular.element(event.currentTarget)\n customFilterName = target.parent().data('id')\n title = $translate.instant(\"ISSUES.FILTERS.CONFIRM_DELETE.TITLE\")\n message = $translate.instant(\"ISSUES.FILTERS.CONFIRM_DELETE.MESSAGE\", {customFilterName: customFilterName})\n\n $confirm.askOnDelete(title, message).then (finish) ->\n promise = $ctrl.deleteMyFilter(customFilterName)\n promise.then ->\n promise = $ctrl.loadMyFilters()\n promise.then (filters) ->\n finish()\n $scope.filters.myFilters = filters\n renderFilters($scope.filters.myFilters)\n promise.then null, ->\n finish()\n promise.then null, ->\n finish(false)\n $confirm.notify(\"error\")\n\n\n $el.on \"click\", \".save-filters\", (event) ->\n event.preventDefault()\n renderFilters($scope.filters[\"myFilters\"])\n showFilters(\"My filters\", \"myFilters\")\n $el.find('.save-filters').hide()\n $el.find('.my-filter-name').removeClass(\"hidden\")\n $el.find('.my-filter-name').focus()\n $scope.$apply()\n\n $el.on \"keyup\", \".my-filter-name\", (event) ->\n event.preventDefault()\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n newFilter = target.val()\n currentLoading = $loading()\n .target($el.find(\".new\"))\n .start()\n promise = $ctrl.saveCurrentFiltersTo(newFilter)\n promise.then ->\n loadPromise = $ctrl.loadMyFilters()\n loadPromise.then (filters) ->\n currentLoading.finish()\n $scope.filters.myFilters = filters\n\n currentfilterstype = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if currentfilterstype == \"myFilters\"\n renderFilters($scope.filters.myFilters)\n\n $el.find('.my-filter-name').addClass(\"hidden\")\n $el.find('.save-filters').show()\n\n loadPromise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\", \"Error loading custom filters\")\n\n promise.then null, ->\n currentLoading.finish()\n $el.find(\".my-filter-name\").val(newFilter).focus().select()\n $confirm.notify(\"error\", \"Filter not saved\")\n\n else if event.keyCode == 27\n $el.find('.my-filter-name').val('')\n $el.find('.my-filter-name').addClass(\"hidden\")\n $el.find('.save-filters').show()\n\n return {link:link}\n\nmodule.directive(\"tgIssuesFilters\", [\"$log\", \"$tgLocation\", \"$tgResources\", \"$tgConfirm\", \"$tgLoading\",\n \"$tgTemplate\", \"$translate\", \"$compile\", \"$tgAuth\", IssuesFiltersDirective])\n\n\n#############################################################################\n## Issue status Directive (popover for change status)\n#############################################################################\n\nIssueStatusInlineEditionDirective = ($repo, $template, $rootscope) ->\n ###\n Print the status of an Issue and a popover to change it.\n - tg-issue-status-inline-edition: The issue\n\n Example:\n\n div.status(tg-issue-status-inline-edition=\"issue\")\n a.issue-status(href=\"\")\n\n NOTE: This directive need 'issueStatusById' and 'project'.\n ###\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true)\n\n updateIssueStatus = ($el, issue, issueStatusById) ->\n issueStatusDomParent = $el.find(\".issue-status\")\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\")\n\n status = issueStatusById[issue.status]\n\n if status\n issueStatusDom.text(status.name)\n issueStatusDom.prop(\"title\", status.name)\n issueStatusDomParent.css('color', status.color)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition)\n\n $el.on \"click\", \".issue-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count--\n\n issue.status = target.data(\"status-id\")\n $el.find(\".pop-status\").popover().close()\n updateIssueStatus($el, issue, $scope.issueStatusById)\n\n $scope.$apply () ->\n $repo.save(issue).then ->\n $ctrl.loadIssues()\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count++\n\n $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters)\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count++\n $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n $el.append(selectionTemplate({ 'statuses': project.issue_statuses }))\n updateIssueStatus($el, issue, $scope.issueStatusById)\n\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_issue\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$watch $attrs.tgIssueStatusInlineEdition, (val) =>\n updateIssueStatus($el, val, $scope.issueStatusById)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\",\n IssueStatusInlineEditionDirective])\n\n\n#############################################################################\n## Issue assigned to Directive\n#############################################################################\n\nIssueAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService) ->\n template = _.template(\"\"\"\n \" alt=\"<%- name %>\"/>\n
<%- name %>
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n updateIssue = (issue) ->\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n member = $scope.usersById[issue.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name_display\n\n $el.find(\".avatar\").html(template(ctx))\n $el.find(\".issue-assignedto\").attr('title', ctx.name)\n\n $ctrl = $el.controller()\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition)\n updateIssue(issue)\n\n $el.on \"click\", \".issue-assignedto\", (event) ->\n $rootscope.$broadcast(\"assigned-to:add\", issue)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_issue\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"assigned-to:added\", (ctx, userId, updatedIssue) =>\n if updatedIssue.id == issue.id\n updatedIssue.assigned_to = userId\n $repo.save(updatedIssue)\n updateIssue(updatedIssue)\n\n $scope.$watch $attrs.tgIssueAssignedToInlineEdition, (val) =>\n updateIssue(val)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\",\n IssueAssignedToInlineEditionDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/userstories/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaUserStories\")\n\n#############################################################################\n## User story Detail Controller\n#############################################################################\n\nclass UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.usRef = @params.usref\n @scope.sectionName = @translate.instant(\"US.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n totalTasks = @scope.tasks.length\n closedTasks = _.filter(@scope.tasks, (t) => @scope.taskStatusById[t.status].is_closed).length\n progressPercentage = if totalTasks > 0 then Math.round(100 * closedTasks / totalTasks) else 0\n\n title = @translate.instant(\"US.PAGE_TITLE\", {\n userStoryRef: \"##{@scope.us.ref}\"\n userStorySubject: @scope.us.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"US.PAGE_DESCRIPTION\", {\n userStoryStatus: @scope.statusById[@scope.us.status]?.name or \"--\"\n userStoryPoints: @scope.us.total_points\n userStoryDescription: angular.element(@scope.us.description_html or \"\").text()\n userStoryClosedTasks: closedTasks\n userStoryTotalTasks: totalTasks\n userStoryProgressPercentage: progressPercentage\n })\n\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"related-tasks:update\", =>\n @scope.tasks = _.clone(@scope.tasks, false)\n\n @scope.$on \"attachment:create\", =>\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on userstory\", 1)\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n if @scope.project.is_backlog_activated\n if @scope.us.milestone\n ctx.sprint = @scope.sprint.slug\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-taskboard\", ctx)\n else\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-backlog\", ctx)\n else if @scope.project.is_kanban_activated\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-kanban\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.us_statuses\n @scope.statusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n @scope.pointsList = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(@scope.pointsList, (e) -> e.id)\n return project\n\n loadUs: ->\n httpParams = _.pick(@location.search(), \"milestone\", \"no-milestone\", \"kanban-status\")\n milestone = httpParams.milestone\n if milestone\n @rs.userstories.storeQueryParams(@scope.projectId, {\n milestone: milestone\n order_by: \"sprint_order\"\n })\n\n noMilestone = httpParams[\"no-milestone\"]\n if noMilestone\n @rs.userstories.storeQueryParams(@scope.projectId, {\n milestone: \"null\"\n order_by: \"backlog_order\"\n })\n\n kanbanStaus = httpParams[\"kanban-status\"]\n if kanbanStaus\n @rs.userstories.storeQueryParams(@scope.projectId, {\n status: kanbanStaus\n order_by: \"kanban_order\"\n })\n\n\n\n return @rs.userstories.getByRef(@scope.projectId, @params.usref).then (us) =>\n @scope.us = us\n @scope.usId = us.id\n @scope.commentModel = us\n\n if @scope.us.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.us.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n if @scope.us.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.us.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n return us\n\n loadSprint: ->\n if @scope.us.milestone\n return @rs.sprints.get(@scope.us.project, @scope.us.milestone).then (sprint) =>\n @scope.sprint = sprint\n return sprint\n\n loadTasks: ->\n return @rs.tasks.list(@scope.projectId, null, @scope.usId).then (tasks) =>\n @scope.tasks = tasks\n return tasks\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadUs().then(=> @q.all([@.loadSprint(), @.loadTasks()]))\n\nmodule.controller(\"UserStoryDetailController\", UserStoryDetailController)\n\n\n#############################################################################\n## User story status display directive\n#############################################################################\n\nUsStatusDisplayDirective = ($template, $compile) ->\n # Display if a US is open or closed and its kanban status.\n #\n # Example:\n # tg-us-status-display(ng-model=\"us\")\n #\n # Requirements:\n # - US object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (us) ->\n status = $scope.statusById[us.status]\n\n html = template({\n is_closed: us.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsStatusDisplay\", [\"$tgTemplate\", \"$compile\", UsStatusDisplayDirective])\n\n\n#############################################################################\n## User story related tasts progress splay Directive\n#############################################################################\n\nUsTasksProgressDisplayDirective = ($template, $compile) ->\n # Display a progress bar with the stats of completed tasks.\n #\n # Example:\n # tg-us-tasks-progress-display(ng-model=\"tasks\")\n #\n # Requirements:\n # - Task object list (ng-model)\n # - scope.taskStatusById object\n\n link = ($scope, $el, $attrs) ->\n render = (tasks) ->\n totalTasks = tasks.length\n totalClosedTasks = _.filter(tasks, (task) => $scope.taskStatusById[task.status].is_closed).length\n\n progress = if totalTasks > 0 then 100 * totalClosedTasks / totalTasks else 0\n\n _.assign($scope, {\n totalTasks: totalTasks\n totalClosedTasks: totalClosedTasks\n progress: progress,\n style: {\n width: progress + \"%\"\n }\n })\n\n $scope.$watch $attrs.ngModel, (tasks) ->\n render(tasks) if tasks?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"us/us-task-progress.html\"\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n scope: true\n }\n\nmodule.directive(\"tgUsTasksProgressDisplay\", [\"$tgTemplate\", \"$compile\", UsTasksProgressDisplayDirective])\n\n\n#############################################################################\n## User story status button directive\n#############################################################################\n\nUsStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template) ->\n # Display the status of a US and you can edit it.\n #\n # Example:\n # tg-us-status-button(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"us/us-status-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) =>\n status = $scope.statusById[us.status]\n\n html = template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n })\n\n $el.html(html)\n\n save = $qqueue.bindAdd (status) =>\n us = $model.$modelValue.clone()\n\n us.status = status\n\n $.fn.popover().closeAll()\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(us)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n $repo.save(us).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n status = target.data(\"status-id\")\n\n save(status)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\"$tgQqueue\", \"$tgTemplate\",\n UsStatusButtonDirective])\n\n\n#############################################################################\n## User story team requirements button directive\n#############################################################################\n\nUsTeamRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $template, $compile) ->\n template = $template.get(\"us/us-team-requirement-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n canEdit = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) ->\n if not canEdit() and not us.team_requirement\n $el.html(\"\")\n return\n\n ctx = {\n canEdit: canEdit()\n isRequired: us.team_requirement\n }\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (team_requirement) =>\n us = $model.$modelValue.clone()\n us.team_requirement = team_requirement\n\n currentLoading = $loading()\n .target($el.find(\"label\"))\n .start()\n\n promise = $tgrepo.save(us)\n promise.then =>\n $model.$setViewValue(us)\n currentLoading.finish()\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n $el.on \"click\", \".team-requirement\", (event) ->\n return if not canEdit()\n\n team_requirement = not $model.$modelValue.team_requirement\n\n save(team_requirement)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsTeamRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", UsTeamRequirementButtonDirective])\n\n#############################################################################\n## User story client requirements button directive\n#############################################################################\n\nUsClientRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $template, $compile) ->\n template = $template.get(\"us/us-client-requirement-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n canEdit = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) ->\n if not canEdit() and not us.client_requirement\n $el.html(\"\")\n return\n\n ctx = {\n canEdit: canEdit()\n isRequired: us.client_requirement\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n save = $qqueue.bindAdd (client_requirement) =>\n us = $model.$modelValue.clone()\n us.client_requirement = client_requirement\n\n currentLoading = $loading()\n .target($el.find(\"label\"))\n .start()\n\n promise = $tgrepo.save(us)\n promise.then =>\n $model.$setViewValue(us)\n currentLoading.finish()\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n $el.on \"click\", \".client-requirement\", (event) ->\n return if not canEdit()\n\n client_requirement = not $model.$modelValue.client_requirement\n save(client_requirement)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsClientRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\",\n UsClientRequirementButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/tasks/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaTasks\")\n\n\n#############################################################################\n## Task Detail Controller\n#############################################################################\n\nclass TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.taskRef = @params.taskref\n @scope.sectionName = @translate.instant(\"TASK.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n promise.then () =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"TASK.PAGE_TITLE\", {\n taskRef: \"##{@scope.task.ref}\"\n taskSubject: @scope.task.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"TASK.PAGE_DESCRIPTION\", {\n taskStatus: @scope.statusById[@scope.task.status]?.name or \"--\"\n taskDescription: angular.element(@scope.task.description_html or \"\").text()\n })\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"attachment:create\", =>\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1)\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"attachment:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"attachment:delete\", =>\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"custom-attributes-values:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n if @scope.project.is_backlog_activated\n if @scope.task.milestone\n ctx.sprint = @scope.sprint.slug\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-taskboard\", ctx)\n else if @scope.task.us\n ctx.ref = @scope.us.ref\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n else if @scope.project.is_kanban_activated\n if @scope.us\n ctx.ref = @scope.us.ref\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.task_statuses\n @scope.statusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadTask: ->\n return @rs.tasks.getByRef(@scope.projectId, @params.taskref).then (task) =>\n @scope.task = task\n @scope.taskId = task.id\n @scope.commentModel = task\n\n if @scope.task.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.task.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-tasks-detail\", ctx)\n\n if @scope.task.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.task.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-tasks-detail\", ctx)\n return task\n\n loadSprint: ->\n if @scope.task.milestone\n return @rs.sprints.get(@scope.task.project, @scope.task.milestone).then (sprint) =>\n @scope.sprint = sprint\n return sprint\n\n loadUserStory: ->\n if @scope.task.user_story\n return @rs.userstories.get(@scope.task.project, @scope.task.user_story).then (us) =>\n @scope.us = us\n return us\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadTask().then(=> @q.all([@.loadSprint(), @.loadUserStory()]))\n\nmodule.controller(\"TaskDetailController\", TaskDetailController)\n\n\n#############################################################################\n## Task status display directive\n#############################################################################\n\nTaskStatusDisplayDirective = ($template, $compile) ->\n # Display if a Task is open or closed and its taskboard status.\n #\n # Example:\n # tg-task-status-display(ng-model=\"task\")\n #\n # Requirements:\n # - Task object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (task) ->\n status = $scope.statusById[task.status]\n\n html = template({\n is_closed: status.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskStatusDisplay\", [\"$tgTemplate\", \"$compile\", TaskStatusDisplayDirective])\n\n\n#############################################################################\n## Task status button directive\n#############################################################################\n\nTaskStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $compile, $translate) ->\n # Display the status of Task and you can edit it.\n #\n # Example:\n # tg-task-status-button(ng-model=\"task\")\n #\n # Requirements:\n # - Task object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = _.template(\"\"\"\n
clickable<% }%>\">\n \">\n <%- status.name %>\n <% if(editable){ %><% }%>\n \n\n \n
\n \"\"\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n\n render = (task) =>\n status = $scope.statusById[task.status]\n\n html = $compile(template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n }))($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (status) =>\n task = $model.$modelValue.clone()\n task.status = status\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $model.$setViewValue(task)\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n $repo.save(task).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n\n $.fn.popover().closeAll()\n\n save(target.data(\"status-id\"))\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$compile\", \"$translate\", TaskStatusButtonDirective])\n\n\nTaskIsIocaineButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $compile) ->\n template = _.template(\"\"\"\n
\n \n \n
\n \"\"\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n\n render = (task) ->\n if not isEditable() and not task.is_iocaine\n $el.html(\"\")\n return\n\n ctx = {\n isIocaine: task.is_iocaine\n isEditable: isEditable()\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n save = $qqueue.bindAdd (is_iocaine) =>\n task = $model.$modelValue.clone()\n task.is_iocaine = is_iocaine\n\n currentLoading = $loading()\n .target($el.find('label'))\n .start()\n\n promise = $tgrepo.save(task)\n\n promise.then ->\n $model.$setViewValue(task)\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"click\", \".is-iocaine\", (event) ->\n return if not isEditable()\n\n is_iocaine = not $model.$modelValue.is_iocaine\n save(is_iocaine)\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$compile\", TaskIsIocaineButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/team/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\n\nmodule = angular.module(\"taigaTeam\")\n\n#############################################################################\n## Team Controller\n#############################################################################\n\nclass TeamController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$location\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$tgAuth\",\n \"$translate\",\n \"tgProjectService\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appMetaService, @auth,\n @translate, @projectService) ->\n @scope.sectionName = \"TEAM.SECTION_NAME\"\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"TEAM.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"TEAM.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n setRole: (role) ->\n if role\n @scope.filtersRole = role\n else\n @scope.filtersRole = null\n\n loadMembers: ->\n currentUser = @auth.getUser()\n\n if currentUser? and not currentUser.photo?\n currentUser.photo = \"/images/unnamed.png\"\n\n memberships = @projectService.project.toJS().memberships\n\n @scope.currentUser = _.find memberships, (membership) =>\n return currentUser? and membership.user == currentUser.id\n\n @scope.totals = {}\n\n _.forEach memberships, (membership) =>\n @scope.totals[membership.user] = 0\n\n @scope.memberships = _.filter memberships, (membership) =>\n if membership.user && (not currentUser? or membership.user != currentUser.id)\n return membership\n\n @scope.memberships = _.filter memberships, (membership) => return membership.is_active\n\n for membership in @scope.memberships\n if not membership.photo?\n membership.photo = \"/images/unnamed.png\"\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n\n @scope.issuesEnabled = project.is_issues_activated\n @scope.tasksEnabled = project.is_kanban_activated or project.is_backlog_activated\n @scope.wikiEnabled = project.is_wiki_activated\n\n return project\n\n loadMemberStats: ->\n return @rs.projects.memberStats(@scope.projectId).then (stats) =>\n totals = {}\n _.forEach @scope.totals, (total, userId) =>\n vals = _.map(stats, (memberStats, statsKey) -> memberStats[userId])\n total = _.reduce(vals, (sum, el) -> sum + el)\n @scope.totals[userId] = total\n\n @scope.stats = @.processStats(stats)\n @scope.stats.totals = @scope.totals\n\n processStat: (stat) ->\n max = _.max(stat)\n min = _.min(stat)\n singleStat = _.map stat, (value, key) ->\n if value == min\n return [key, 0.1]\n if value == max\n return [key, 1]\n return [key, (value * 0.5) / max]\n singleStat = _.object(singleStat)\n return singleStat\n\n processStats: (stats) ->\n for key,value of stats\n stats[key] = @.processStat(value)\n return stats\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadMembers()\n\n return @.loadMemberStats()\n\nmodule.controller(\"TeamController\", TeamController)\n\n\n#############################################################################\n## Team Filters Directive\n#############################################################################\n\nTeamFiltersDirective = () ->\n return {\n templateUrl: \"team/team-filter.html\"\n }\n\nmodule.directive(\"tgTeamFilters\", [TeamFiltersDirective])\n\n\n#############################################################################\n## Team Member Stats Directive\n#############################################################################\n\nTeamMemberStatsDirective = () ->\n return {\n templateUrl: \"team/team-member-stats.html\",\n scope: {\n stats: \"=\",\n userId: \"=user\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamMemberStats\", TeamMemberStatsDirective)\n\n\n#############################################################################\n## Team Current User Directive\n#############################################################################\n\nTeamMemberCurrentUserDirective = () ->\n return {\n templateUrl: \"team/team-member-current-user.html\"\n scope: {\n projectId: \"=projectid\",\n currentUser: \"=currentuser\",\n stats: \"=\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamCurrentUser\", TeamMemberCurrentUserDirective)\n\n\n#############################################################################\n## Team Members Directive\n#############################################################################\n\nTeamMembersDirective = () ->\n template = \"team/team-members.html\"\n\n return {\n templateUrl: template\n scope: {\n memberships: \"=\",\n filtersQ: \"=filtersq\",\n filtersRole: \"=filtersrole\",\n stats: \"=\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamMembers\", TeamMembersDirective)\n\n\n#############################################################################\n## Leave project Directive\n#############################################################################\n\nLeaveProjectDirective = ($repo, $confirm, $location, $rs, $navurls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.leave = () ->\n leave_project_text = $translate.instant(\"TEAM.ACTION_LEAVE_PROJECT\")\n confirm_leave_project_text = $translate.instant(\"TEAM.CONFIRM_LEAVE_PROJECT\")\n\n $confirm.ask(leave_project_text, confirm_leave_project_text).then (finish) =>\n promise = $rs.projects.leave($attrs.projectid)\n\n promise.then =>\n finish()\n $confirm.notify(\"success\")\n $location.path($navurls.resolve(\"home\"))\n\n promise.then null, (response) ->\n finish()\n $confirm.notify('error', response.data._error_message)\n\n return {\n scope: {},\n templateUrl: \"team/leave-project.html\",\n link: link\n }\n\nmodule.directive(\"tgLeaveProject\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgResources\", \"$tgNavUrls\", \"$translate\",\n LeaveProjectDirective])\n\n\n#############################################################################\n## Team Filters\n#############################################################################\n\nmembersFilter = ->\n return (members, filtersQ, filtersRole) ->\n return _.filter members, (m) -> (not filtersRole or m.role == filtersRole.id) and\n (not filtersQ or m.full_name.search(new RegExp(filtersQ, \"i\")) >= 0)\n\nmodule.filter('membersFilter', membersFilter)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nunslugify = @.taiga.unslugify\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaWiki\")\n\n#############################################################################\n## Wiki Detail Controller\n#############################################################################\n\nclass WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$filter\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @model, @confirm, @rs, @params, @q, @location,\n @filter, @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.projectSlug = @params.pslug\n @scope.wikiSlug = @params.slug\n @scope.sectionName = \"Wiki\"\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then () => @._setMeta()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"WIKI.PAGE_TITLE\", {\n wikiPageName: unslugify(@scope.wiki.slug)\n projectName: @scope.project.name\n })\n description = @translate.instant(\"WIKI.PAGE_DESCRIPTION\", {\n wikiPageContent: angular.element(@scope.wiki.html or \"\").text()\n totalEditions: @scope.wiki.editions or 0\n lastModifiedDate: moment(@scope.wiki.modified_date).format(@translate.instant(\"WIKI.DATETIME\"))\n })\n @appMetaService.setAll(title, description)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_wiki_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadWiki: ->\n promise = @rs.wiki.getBySlug(@scope.projectId, @params.slug)\n promise.then (wiki) =>\n @scope.wiki = wiki\n @scope.wikiId = wiki.id\n return @scope.wiki\n\n promise.then null, (xhr) =>\n @scope.wikiId = null\n\n if @scope.project.my_permissions.indexOf(\"add_wiki_page\") == -1\n return null\n\n data = {\n project: @scope.projectId\n slug: @scope.wikiSlug\n content: \"\"\n }\n @scope.wiki = @model.make_model(\"wiki\", data)\n return @scope.wiki\n\n loadWikiLinks: ->\n return @rs.wiki.listLinks(@scope.projectId).then (wikiLinks) =>\n @scope.wikiLinks = wikiLinks\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @q.all([@.loadWikiLinks(), @.loadWiki()]).then () =>\n\n\n delete: ->\n title = @translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\")\n message = unslugify(@scope.wiki.slug)\n\n @confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = =>\n finish()\n ctx = {project: @scope.projectSlug}\n @location.path(@navUrls.resolve(\"project-wiki\", ctx))\n @confirm.notify(\"success\")\n\n onError = =>\n finish(false)\n @confirm.notify(\"error\")\n\n @repo.remove(@scope.wiki).then onSuccess, onError\n\nmodule.controller(\"WikiDetailController\", WikiDetailController)\n\n\n#############################################################################\n## Wiki Summary Directive\n#############################################################################\n\nWikiSummaryDirective = ($log, $template, $compile, $translate) ->\n template = $template.get(\"wiki/wiki-summary.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n render = (wiki) ->\n if not $scope.usersById?\n $log.error \"WikiSummaryDirective requires userById set in scope.\"\n else\n user = $scope.usersById[wiki.last_modifier]\n\n if user is undefined\n user = {name: \"unknown\", imgUrl: \"/images/unnamed.png\"}\n else\n user = {name: user.full_name_display, imgUrl: user.photo}\n\n ctx = {\n totalEditions: wiki.editions\n lastModifiedDate: moment(wiki.modified_date).format($translate.instant(\"WIKI.DATETIME\"))\n user: user\n }\n html = template(ctx)\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (wikiPage) ->\n return if not wikiPage\n render(wikiPage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgWikiSummary\", [\"$log\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiSummaryDirective])\n\n\n#############################################################################\n## Editable Wiki Content Directive\n#############################################################################\n\nEditableWikiContentDirective = ($window, $document, $repo, $confirm, $loading, $analytics, $qqueue) ->\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_wiki_page\") != -1\n\n switchToEditMode = ->\n $el.find('.edit-wiki-content').show()\n $el.find('.view-wiki-content').hide()\n $el.find('textarea').focus()\n\n switchToReadMode = ->\n $el.find('.edit-wiki-content').hide()\n $el.find('.view-wiki-content').show()\n\n disableEdition = ->\n $el.find(\".view-wiki-content .edit\").remove()\n $el.find(\".edit-wiki-content\").remove()\n\n cancelEdition = ->\n return if not $model.$modelValue.id\n\n $scope.$apply () =>\n $model.$modelValue.revert()\n switchToReadMode()\n\n getSelectedText = ->\n if $window.getSelection\n return $window.getSelection().toString()\n else if $document.selection\n return $document.selection.createRange().text\n return null\n\n save = $qqueue.bindAdd (wiki) ->\n onSuccess = (wikiPage) ->\n if not wiki.id?\n $analytics.trackEvent(\"wikipage\", \"create\", \"create wiki page\", 1)\n\n $model.$setViewValue wikiPage.clone()\n\n $confirm.notify(\"success\")\n switchToReadMode()\n\n onError = ->\n $confirm.notify(\"error\")\n\n console.log $el.find('.save-container')\n\n currentLoading = $loading()\n .removeClasses(\"icon-floppy\")\n .target($el.find('.icon-floppy'))\n .start()\n\n if wiki.id?\n promise = $repo.save(wiki).then(onSuccess, onError)\n else\n promise = $repo.create(\"wiki\", wiki).then(onSuccess, onError)\n\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"mousedown\", \".view-wiki-content\", (event) ->\n target = angular.element(event.target)\n return if not isEditable()\n return if event.button == 2\n\n $el.on \"mouseup\", \".view-wiki-content\", (event) ->\n target = angular.element(event.target)\n return if getSelectedText()\n return if not isEditable()\n return if target.is('a')\n return if target.is('pre')\n\n switchToEditMode()\n\n $el.on \"click\", \".save\", debounce 2000, ->\n save($scope.wiki)\n\n $el.on \"click\", \".cancel\", ->\n cancelEdition()\n\n $el.on \"keydown\", \"textarea\", (event) ->\n if event.keyCode == 27\n cancelEdition()\n\n $scope.$watch $attrs.ngModel, (wikiPage) ->\n return if not wikiPage\n\n if isEditable()\n $el.addClass('editable')\n if not wikiPage.id? or $.trim(wikiPage.content).length == 0\n switchToEditMode()\n else\n disableEdition()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n templateUrl: \"wiki/editable-wiki-content.html\"\n }\n\nmodule.directive(\"tgEditableWikiContent\", [\"$window\", \"$document\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\n \"$tgAnalytics\", \"$tgQqueue\", EditableWikiContentDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nslugify = @.taiga.slugify\nunslugify = @.taiga.slugify\n\nmodule = angular.module(\"taigaWiki\")\n\n\n#############################################################################\n## Wiki Main Directive\n#############################################################################\n\nWikiNavDirective = ($tgrepo, $log, $location, $confirm, $navUrls, $analytics, $loading, $template, $compile, $translate) ->\n template = $template.get(\"wiki/wiki-nav.html\", true)\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n if not $attrs.ngModel?\n return $log.error \"WikiNavDirective: no ng-model attr is defined\"\n\n render = (wikiLinks) ->\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1\n deleteWikiLinkPermission = $scope.project.my_permissions.indexOf(\"delete_wiki_link\") > -1\n\n html = template({\n wikiLinks: wikiLinks,\n projectSlug: $scope.projectSlug\n addWikiLinkPermission: addWikiLinkPermission\n deleteWikiLinkPermission: deleteWikiLinkPermission\n })\n\n html = $compile(html)($scope)\n\n $el.off()\n $el.html(html)\n\n $el.on \"click\", \".wiki-link .link-title\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n linkId = target.parents('.wiki-link').data('id')\n linkSlug = $scope.wikiLinks[linkId].href\n $scope.$apply ->\n ctx = {\n project: $scope.projectSlug\n slug: linkSlug\n }\n $location.path($navUrls.resolve(\"project-wiki-page\", ctx))\n\n $el.on \"click\", \".add-button\", (event) ->\n event.preventDefault()\n $el.find(\".new\").removeClass(\"hidden\")\n $el.find(\".new input\").focus()\n $el.find(\".add-button\").hide()\n\n $el.on \"click\", \".wiki-link .icon-delete\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n linkId = target.parents('.wiki-link').data('id')\n\n title = $translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\")\n message = $scope.wikiLinks[linkId].title\n\n $confirm.askOnDelete(title, message).then (finish) =>\n promise = $tgrepo.remove($scope.wikiLinks[linkId])\n promise.then ->\n promise = $ctrl.loadWikiLinks()\n promise.then ->\n finish()\n render($scope.wikiLinks)\n promise.then null, ->\n finish()\n promise.then null, ->\n finish(false)\n $confirm.notify(\"error\")\n\n $el.on \"keyup\", \".new input\", (event) ->\n event.preventDefault()\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n newLink = target.val()\n\n currentLoading = $loading()\n .target($el.find(\".new\"))\n .start()\n\n promise = $tgrepo.create(\"wiki-links\", {project: $scope.projectId, title: newLink, href: slugify(newLink)})\n promise.then ->\n $analytics.trackEvent(\"wikilink\", \"create\", \"create wiki link\", 1)\n loadPromise = $ctrl.loadWikiLinks()\n loadPromise.then ->\n currentLoading.finish()\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n render($scope.wikiLinks)\n loadPromise.then null, ->\n currentLoading.finish()\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n $confirm.notify(\"error\", \"Error loading wiki links\")\n\n promise.then null, (error) ->\n currentLoading.finish()\n $el.find(\".new input\").val(newLink)\n $el.find(\".new input\").focus().select()\n if error?.__all__?[0]?\n $confirm.notify(\"error\", \"The link already exists\")\n else\n $confirm.notify(\"error\")\n\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n\n\n bindOnce($scope, $attrs.ngModel, render)\n\n return {link:link}\n\nmodule.directive(\"tgWikiNav\", [\"$tgRepo\", \"$log\", \"$tgLocation\", \"$tgConfirm\", \"$tgNavUrls\",\n \"$tgAnalytics\", \"$tgLoading\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiNavDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/lightboxes.coffee\n###\n\ntaiga = @.taiga\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaKanban\")\n\nMAX_MEMBERSHIP_FIELDSETS = 4\n\n#############################################################################\n## Create Members Lightbox Directive\n#############################################################################\n\nCreateMembersDirective = ($rs, $rootScope, $confirm, $loading, lightboxService, $compile) ->\n extraTextTemplate = \"\"\"\n
\n \n
\n \"\"\"\n\n template = _.template(\"\"\"\n
\n
\n data-required=\"true\" <% } %> data-type=\"email\" />\n
\n
\n \n \n
\n
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n createFieldSet = (required = true)->\n ctx = {roleList: $scope.project.roles, required: required}\n return $compile(template(ctx))($scope)\n\n resetForm = ->\n $el.find(\"form textarea\").remove()\n $el.find(\"form .add-member-wrapper\").remove()\n\n invitations = $el.find(\".add-member-forms\")\n invitations.html($compile(extraTextTemplate)($scope))\n\n fieldSet = createFieldSet()\n invitations.prepend(fieldSet)\n\n $scope.$on \"membersform:new\", ->\n resetForm()\n lightboxService.open($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \".delete-fieldset\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n fieldSet = target.closest('.add-member-wrapper')\n\n fieldSet.remove()\n\n lastActionButton = $el.find(\".add-member-wrapper fieldset:last > a\")\n if lastActionButton.hasClass(\"icon-delete delete-fieldset\")\n lastActionButton.removeClass(\"icon-delete delete-fieldset\")\n .addClass(\"icon-plus add-fieldset\")\n\n $el.on \"click\", \".add-fieldset\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n fieldSet = target.closest('.add-member-wrapper')\n\n target.removeClass(\"icon-plus add-fieldset\")\n .addClass(\"icon-delete delete-fieldset\")\n\n newFieldSet = createFieldSet(false)\n fieldSet.after(newFieldSet)\n\n $scope.$digest() # To compile newFieldSet and translate text\n\n if $el.find(\".add-member-wrapper\").length == MAX_MEMBERSHIP_FIELDSETS\n $el.find(\".add-member-wrapper fieldset:last > a\").removeClass(\"icon-plus add-fieldset\")\n .addClass(\"icon-delete delete-fieldset\")\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n onSuccess = (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"membersform:new:success\")\n\n onError = (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $confirm.notify(\"error\")\n $rootScope.$broadcast(\"membersform:new:error\")\n\n form = $el.find(\"form\").checksley()\n\n #checksley find new fields\n form.destroy()\n form.initialize()\n if not form.validate()\n return\n\n memberWrappers = $el.find(\"form .add-member-wrapper\")\n memberWrappers = _.filter memberWrappers, (mw) ->\n angular.element(mw).find(\"input\").hasClass('checksley-ok')\n\n invitations = _.map memberWrappers, (mw) ->\n memberWrapper = angular.element(mw)\n email = memberWrapper.find(\"input\")\n role = memberWrapper.find(\"select\")\n\n return {\n email: email.val()\n role_id: role.val()\n }\n\n if invitations.length\n invitation_extra_text = $el.find(\"form textarea\").val()\n\n promise = $rs.memberships.bulkCreateMemberships($scope.project.id,\n invitations, invitation_extra_text)\n promise.then(onSuccess, onError)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateMembers\", [\"$tgResources\", \"$rootScope\", \"$tgConfirm\", \"$tgLoading\",\n \"lightboxService\", \"$compile\", CreateMembersDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/memberships.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Memberships Controller\n#############################################################################\n\nclass MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @analytics,\n @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.project = {}\n @scope.filters = {}\n\n promise = @.loadInitialData()\n\n promise.then =>\n title = @translate.instant(\"ADMIN.MEMBERSHIPS.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"membersform:new:success\", =>\n @.loadMembers()\n @analytics.trackEvent(\"membership\", \"create\", \"create memberships on admin\", 1)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadMembers: ->\n httpFilters = @.getUrlFilters()\n return @rs.memberships.list(@scope.projectId, httpFilters).then (data) =>\n @scope.memberships = _.filter(data.models, (membership) ->\n membership.user == null or membership.is_user_active)\n @scope.page = data.current\n @scope.count = data.count\n @scope.paginatedBy = data.paginatedBy\n return data\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then =>\n @.loadMembers()\n\n return promise\n\n getUrlFilters: ->\n filters = _.pick(@location.search(), \"page\")\n filters.page = 1 if not filters.page\n return filters\n\n addNewMembers: ->\n @rootscope.$broadcast(\"membersform:new\")\n\n\nmodule.controller(\"MembershipsController\", MembershipsController)\n\n\n#############################################################################\n## Member Avatar Directive\n#############################################################################\n\nMembershipsDirective = ($template) ->\n template = $template.get(\"admin/admin-membership-paginator.html\", true)\n\n linkPagination = ($scope, $el, $attrs, $ctrl) ->\n # Constants\n afterCurrent = 2\n beforeCurrent = 4\n atBegin = 2\n atEnd = 2\n\n $pagEl = $el.find(\".memberships-paginator\")\n\n getNumPages = ->\n numPages = $scope.count / $scope.paginatedBy\n if parseInt(numPages, 10) < numPages\n numPages = parseInt(numPages, 10) + 1\n else\n numPages = parseInt(numPages, 10)\n\n return numPages\n\n renderPagination = ->\n numPages = getNumPages()\n\n if numPages <= 1\n $pagEl.hide()\n return\n\n pages = []\n options = {}\n options.pages = pages\n options.showPrevious = ($scope.page > 1)\n options.showNext = not ($scope.page == numPages)\n\n cpage = $scope.page\n\n for i in [1..numPages]\n if i == (cpage + afterCurrent) and numPages > (cpage + afterCurrent + atEnd)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i == (cpage - beforeCurrent) and cpage > (atBegin + beforeCurrent)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i > (cpage + afterCurrent) and i <= (numPages - atEnd)\n else if i < (cpage - beforeCurrent) and i > atBegin\n else if i == cpage\n pages.push({classes: \"active\", num: i, type: \"page-active\"})\n else\n pages.push({classes: \"page\", num: i, type: \"page\"})\n\n $pagEl.html(template(options))\n\n $scope.$watch \"memberships\", (value) ->\n # Do nothing if value is not logical true\n return if not value\n\n renderPagination()\n\n $el.on \"click\", \".memberships-paginator a.next\", (event) ->\n event.preventDefault()\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page + 1)\n $ctrl.loadMembers()\n\n $el.on \"click\", \".memberships-paginator a.previous\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page - 1)\n $ctrl.loadMembers()\n\n $el.on \"click\", \".memberships-paginator li.page > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n pagenum = target.data(\"pagenum\")\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", pagenum)\n $ctrl.loadMembers()\n\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkPagination($scope, $el, $attrs, $ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgMemberships\", [\"$tgTemplate\", MembershipsDirective])\n\n\n#############################################################################\n## Member Avatar Directive\n#############################################################################\n\nMembershipsRowAvatarDirective = ($log, $template) ->\n template = $template.get(\"admin/memberships-row-avatar.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {\n full_name: if member.full_name then member.full_name else \"\"\n email: if member.user_email then member.user_email else member.email\n imgurl: if member.photo then member.photo else \"/images/unnamed.png\"\n }\n\n html = template(ctx)\n $el.html(html)\n\n if not $attrs.tgMembershipsRowAvatar?\n return $log.error \"MembershipsRowAvatarDirective: the directive need a member\"\n\n member = $scope.$eval($attrs.tgMembershipsRowAvatar)\n render(member)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowAvatar\", [\"$log\", \"$tgTemplate\", MembershipsRowAvatarDirective])\n\n\n#############################################################################\n## Member IsAdminCheckbox Directive\n#############################################################################\n\nMembershipsRowAdminCheckboxDirective = ($log, $repo, $confirm, $template, $compile) ->\n template = $template.get(\"admin/admin-memberships-row-checkbox.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {inputId: \"is-admin-#{member.id}\"}\n\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n if not $attrs.tgMembershipsRowAdminCheckbox?\n return $log.error \"MembershipsRowAdminCheckboxDirective: the directive need a member\"\n\n member = $scope.$eval($attrs.tgMembershipsRowAdminCheckbox)\n html = render(member)\n\n if member.is_owner\n $el.find(\":checkbox\").prop(\"checked\", true)\n\n $el.on \"click\", \":checkbox\", (event) =>\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = (data) ->\n member.revert()\n $el.find(\":checkbox\").prop(\"checked\", member.is_owner)\n $confirm.notify(\"error\", data.is_owner[0])\n\n target = angular.element(event.currentTarget)\n member.is_owner = target.prop(\"checked\")\n $repo.save(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowAdminCheckbox\", [\"$log\", \"$tgRepo\", \"$tgConfirm\",\n \"$tgTemplate\", \"$compile\", MembershipsRowAdminCheckboxDirective])\n\n\n#############################################################################\n## Member RoleSelector Directive\n#############################################################################\n\nMembershipsRowRoleSelectorDirective = ($log, $repo, $confirm) ->\n template = _.template(\"\"\"\n \n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {\n roleList: $scope.project.roles,\n selectedRole: member.role\n }\n\n html = template(ctx)\n $el.html(html)\n\n if not $attrs.tgMembershipsRowRoleSelector?\n return $log.error \"MembershipsRowRoleSelectorDirective: the directive need a member\"\n\n $ctrl = $el.controller()\n member = $scope.$eval($attrs.tgMembershipsRowRoleSelector)\n html = render(member)\n\n $el.on \"change\", \"select\", (event) =>\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = ->\n $confirm.notify(\"error\")\n\n target = angular.element(event.currentTarget)\n newRole = parseInt(target.val(), 10)\n\n if member.role != newRole\n member.role = newRole\n $repo.save(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowRoleSelector\", [\"$log\", \"$tgRepo\", \"$tgConfirm\",\n MembershipsRowRoleSelectorDirective])\n\n\n#############################################################################\n## Member Actions Directive\n#############################################################################\n\nMembershipsRowActionsDirective = ($log, $repo, $rs, $confirm, $compile, $translate) ->\n activedTemplate = \"\"\"\n
\n
\n \n \n \n \"\"\"\n\n pendingTemplate = \"\"\"\n \n {{'ADMIN.MEMBERSHIP.STATUS_PENDING' | translate}}\n \n \n \n \n \n \"\"\"\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n if member.user\n html = $compile(activedTemplate)($scope)\n else\n html = $compile(pendingTemplate)($scope)\n\n $el.html(html)\n\n if not $attrs.tgMembershipsRowActions?\n return $log.error \"MembershipsRowActionsDirective: the directive need a member\"\n\n $ctrl = $el.controller()\n member = $scope.$eval($attrs.tgMembershipsRowActions)\n render(member)\n\n $el.on \"click\", \".pending\", (event) ->\n event.preventDefault()\n onSuccess = ->\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION\", {\n email: $scope.member.email\n })\n $confirm.notify(\"success\", text)\n onError = ->\n text = $translate.instant(\"ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION\")\n $confirm.notify(\"error\", text)\n\n $rs.memberships.resendInvitation($scope.member.id).then(onSuccess, onError)\n\n $el.on \"click\", \".delete\", (event) ->\n event.preventDefault()\n\n title = $translate.instant(\"ADMIN.MEMBERSHIP.DELETE_MEMBER\")\n defaultMsg = $translate.instant(\"ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE\")\n message = if member.user then member.full_name else defaultMsg\n\n $confirm.askOnDelete(title, message).then (finish) ->\n onSuccess = ->\n finish()\n $ctrl.loadMembers()\n\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_DELETE\")\n $confirm.notify(\"success\", null, text)\n\n onError = ->\n finish(false)\n\n text = $translate.instant(\"ADMIN.MEMBERSHIP.ERROR_DELETE\", {message: message})\n $confirm.notify(\"error\", null, text)\n\n $repo.remove(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowActions\", [\"$log\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$compile\",\n \"$translate\", MembershipsRowActionsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/nav.coffee\n###\n\nAdminNavigationDirective = ->\n link = ($scope, $el, $attrs) ->\n section = $attrs.tgAdminNavigation\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\"#adminmenu-#{section} a\").addClass(\"active\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule = angular.module(\"taigaAdmin\")\nmodule.directive(\"tgAdminNavigation\", AdminNavigationDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/project-profile.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Profile Controller\n#############################################################################\n\nclass ProjectProfileController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then =>\n sectionName = @translate.instant( @scope.sectionName)\n title = @translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName, projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:loaded\", =>\n sectionName = @translate.instant(@scope.sectionName)\n title = @translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName, projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.pointsList = _.sortBy(project.points, \"order\")\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n @scope.taskStatusList = _.sortBy(project.task_statuses, \"order\")\n @scope.prioritiesList = _.sortBy(project.priorities, \"order\")\n @scope.severitiesList = _.sortBy(project.severities, \"order\")\n @scope.issueTypesList = _.sortBy(project.issue_types, \"order\")\n @scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\")\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise\n\n openDeleteLightbox: ->\n @rootscope.$broadcast(\"deletelightbox:new\", @scope.project)\n\nmodule.controller(\"ProjectProfileController\", ProjectProfileController)\n\n\n#############################################################################\n## Project Profile Directive\n#############################################################################\n\nProjectProfileDirective = ($repo, $confirm, $loading, $navurls, $location, projectService) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n })\n $location.path(newUrl)\n\n $ctrl.loadInitialData()\n\n projectService.fetchProject()\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\",\n \"tgProjectService\", ProjectProfileDirective])\n\n\n#############################################################################\n## Project Default Values Directive\n#############################################################################\n\nProjectDefaultValuesDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\n ProjectDefaultValuesDirective])\n\n#############################################################################\n## Project Modules Directive\n#############################################################################\n\nProjectModulesDirective = ($repo, $confirm, $loading, projectService) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n submit = =>\n return if not form.validate()\n target = angular.element(\".admin-functionalities .submit-button\")\n currentLoading = $loading()\n .target(target)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:loaded\", $scope.project)\n\n projectService.fetchProject()\n\n promise.then null, (data) ->\n currentLoading.finish()\n $confirm.notify(\"error\", data._error_message)\n\n $el.on \"submit\", \"form\", (event) ->\n event.preventDefault()\n submit()\n\n $el.on \"click\", \".admin-functionalities a.button-green\", (event) ->\n event.preventDefault()\n submit()\n\n $scope.$watch \"isVideoconferenceActivated\", (isVideoconferenceActivated) ->\n if isVideoconferenceActivated\n $el.find(\".videoconference-attributes\").removeClass(\"hidden\")\n else\n $el.find(\".videoconference-attributes\").addClass(\"hidden\")\n $scope.project.videoconferences = null\n $scope.project.videoconferences_salt = \"\"\n\n $scope.$watch \"project\", (project) ->\n if project.videoconferences?\n $scope.isVideoconferenceActivated = true\n else\n $scope.isVideoconferenceActivated = false\n\n return {link:link}\n\nmodule.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgProjectService\",\n ProjectModulesDirective])\n\n\n#############################################################################\n## Project Export Directive\n#############################################################################\n\nProjectExportDirective = ($window, $rs, $confirm, $translate) ->\n link = ($scope, $el, $attrs) ->\n buttonsEl = $el.find(\".admin-project-export-buttons\")\n showButtons = -> buttonsEl.removeClass(\"hidden\")\n hideButtons = -> buttonsEl.addClass(\"hidden\")\n\n resultEl = $el.find(\".admin-project-export-result\")\n showResult = -> resultEl.removeClass(\"hidden\")\n hideResult = -> resultEl.addClass(\"hidden\")\n\n spinnerEl = $el.find(\".spin\")\n showSpinner = -> spinnerEl.removeClass(\"hidden\")\n hideSpinner = -> spinnerEl.addClass(\"hidden\")\n\n resultTitleEl = $el.find(\".result-title\")\n\n\n loading_title = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_TITLE\")\n loading_msg = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_MESSAGE\")\n dump_ready_text = -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.DUMP_READY\"))\n asyn_message = -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE\"))\n syn_message = (url) -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.SYNC_MESSAGE\", {\n url: url}))\n\n setLoadingTitle = -> resultTitleEl.html(loading_title)\n setAsyncTitle = -> resultTitleEl.html(loading_msg)\n setSyncTitle = -> resultTitleEl.html(dump_ready_text)\n\n resultMessageEl = $el.find(\".result-message \")\n setLoadingMessage = -> resultMessageEl.html(loading_msg)\n setAsyncMessage = -> resultMessageEl.html(asyn_message)\n setSyncMessage = (url) -> resultMessageEl.html(syn_message(url))\n\n showLoadingMode = ->\n showSpinner()\n setLoadingTitle()\n setLoadingMessage()\n hideButtons()\n showResult()\n\n showExportResultAsyncMode = ->\n hideSpinner()\n setAsyncTitle()\n setAsyncMessage()\n\n showExportResultSyncMode = (url) ->\n hideSpinner()\n setSyncTitle()\n setSyncMessage(url)\n\n showErrorMode = ->\n hideSpinner()\n hideResult()\n showButtons()\n\n $el.on \"click\", \"a.button-export\", debounce 2000, (event) =>\n event.preventDefault()\n\n onSuccess = (result) =>\n if result.status == 202 # Async mode\n showExportResultAsyncMode()\n else #result.status == 200 # Sync mode\n dumpUrl = result.data.url\n showExportResultSyncMode(dumpUrl)\n $window.open(dumpUrl, \"_blank\")\n\n onError = (result) =>\n showErrorMode()\n\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR\")\n\n if result.status == 429 # TOO MANY REQUESTS\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\")\n else if result.data?._error_message\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\", {\n message: result.data._error_message})\n\n $confirm.notify(\"error\", errorMsg)\n\n showLoadingMode()\n $rs.projects.export($scope.projectId).then(onSuccess, onError)\n\n return {link:link}\n\nmodule.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", \"$translate\",\n ProjectExportDirective])\n\n\n#############################################################################\n## CSV Export Controllers\n#############################################################################\n\nclass CsvExporterController extends taiga.Controller\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgUrls\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @urls, @confirm, @rs, @translate) ->\n @rootscope.$on(\"project:loaded\", @.setCsvUuid)\n @scope.$watch \"csvUuid\", (value) =>\n if value\n @scope.csvUrl = @urls.resolveAbsolute(\"#{@.type}-csv\", value)\n else\n @scope.csvUrl = \"\"\n\n setCsvUuid: =>\n @scope.csvUuid = @scope.project[\"#{@.type}_csv_uuid\"]\n\n _generateUuid: (finish) =>\n promise = @rs.projects[\"regenerate_#{@.type}_csv_uuid\"](@scope.projectId)\n\n promise.then (data) =>\n @scope.csvUuid = data.data?.uuid\n\n promise.then null, =>\n @confirm.notify(\"error\")\n\n promise.finally ->\n finish()\n return promise\n\n regenerateUuid: ->\n if @scope.csvUuid\n title = @translate.instant(\"ADMIN.REPORTS.REGENERATE_TITLE\")\n subtitle = @translate.instant(\"ADMIN.REPORTS.REGENERATE_SUBTITLE\")\n\n @confirm.ask(title, subtitle).then @._generateUuid\n else\n @._generateUuid(_.identity)\n\n\nclass CsvExporterUserstoriesController extends CsvExporterController\n type: \"userstories\"\n\n\nclass CsvExporterTasksController extends CsvExporterController\n type: \"tasks\"\n\n\nclass CsvExporterIssuesController extends CsvExporterController\n type: \"issues\"\n\n\nmodule.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController)\nmodule.controller(\"CsvExporterTasksController\", CsvExporterTasksController)\nmodule.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController)\n\n\n#############################################################################\n## CSV Directive\n#############################################################################\n\nCsvUsDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_US\"\n\n return {\n controller: \"CsvExporterUserstoriesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvUs\", [\"$translate\", CsvUsDirective])\n\n\nCsvTaskDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_TASK\"\n\n return {\n controller: \"CsvExporterTasksController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvTask\", [\"$translate\", CsvTaskDirective])\n\n\nCsvIssueDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_ISSUE\"\n\n return {\n controller: \"CsvExporterIssuesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvIssue\", [\"$translate\", CsvIssueDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/project-profile.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAdmin\")\n\n#############################################################################\n## Project values section Controller\n#############################################################################\n\nclass ProjectValuesSectionController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n sectionName = @translate.instant(@scope.sectionName)\n\n title = @translate.instant(\"ADMIN.PROJECT_VALUES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": @scope.project.name\n })\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise\n\n\nmodule.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController)\n\n#############################################################################\n## Project values Controller\n#############################################################################\n\nclass ProjectValuesController extends taiga.Controller\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs) ->\n @scope.$on(\"admin:project-values:move\", @.moveValue)\n @rootscope.$on(\"project:loaded\", @.loadValues)\n\n loadValues: =>\n return @rs[@scope.resource].listValues(@scope.projectId, @scope.type).then (values) =>\n @scope.values = values\n @scope.maxValueOrder = _.max(values, \"order\").order\n return values\n\n moveValue: (ctx, itemValue, itemIndex) =>\n values = @scope.values\n r = values.indexOf(itemValue)\n values.splice(r, 1)\n values.splice(itemIndex, 0, itemValue)\n _.each values, (value, index) ->\n value.order = index\n\n @repo.saveAll(values)\n\nmodule.controller(\"ProjectValuesController\", ProjectValuesController)\n\n\n#############################################################################\n## Project values directive\n#############################################################################\n\nProjectValuesDirective = ($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope) ->\n ## Drag & Drop Link\n\n linkDragAndDrop = ($scope, $el, $attrs) ->\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el.find(\".sortable\")\n\n tdom.sortable({\n handle: \".row.table-main.visualization\",\n dropOnEmpty: true\n connectWith: \".project-values-body\"\n revert: 400\n axis: \"y\"\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n itemValue = itemEl.scope().value\n itemIndex = itemEl.index()\n $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n ## Value Link\n\n linkValue = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n valueType = $attrs.type\n objName = $attrs.objname\n\n initializeNewValue = ->\n $scope.newValue = {\n \"name\": \"\"\n \"is_closed\": false\n \"is_archived\": false\n }\n\n initializeTextTranslations = ->\n $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_#{objName.toUpperCase()}.ACTION_ADD\")\n\n initializeNewValue()\n initializeTextTranslations()\n\n $rootscope.$on \"$translateChangeEnd\", ->\n $scope.$evalAsync(initializeTextTranslations)\n\n goToBottomList = (focus = false) =>\n table = $el.find(\".table-main\")\n\n $(document.body).scrollTop(table.offset().top + table.height())\n\n if focus\n $el.find(\".new-value input:visible\").first().focus()\n\n saveValue = (target) ->\n formEl = target.parents(\"form\")\n form = formEl.checksley()\n return if not form.validate()\n\n value = formEl.scope().value\n promise = $repo.save(value)\n promise.then =>\n row = target.parents(\".row.table-main\")\n row.addClass(\"hidden\")\n row.siblings(\".visualization\").removeClass('hidden')\n\n promise.then null, (data) ->\n form.setErrors(data)\n\n saveNewValue = (target) ->\n formEl = target.parents(\"form\")\n form = formEl.checksley()\n return if not form.validate()\n\n $scope.newValue.project = $scope.project.id\n\n $scope.newValue.order = if $scope.maxValueOrder then $scope.maxValueOrder + 1 else 1\n\n promise = $repo.create(valueType, $scope.newValue)\n promise.then (data) =>\n target.addClass(\"hidden\")\n\n $scope.values.push(data)\n $scope.maxValueOrder = data.order\n initializeNewValue()\n\n promise.then null, (data) ->\n form.setErrors(data)\n\n cancel = (target) ->\n row = target.parents(\".row.table-main\")\n formEl = target.parents(\"form\")\n value = formEl.scope().value\n $scope.$apply ->\n row.addClass(\"hidden\")\n value.revert()\n row.siblings(\".visualization\").removeClass('hidden')\n\n $el.on \"click\", \".show-add-new\", (event) ->\n event.preventDefault()\n $el.find(\".new-value\").removeClass('hidden')\n\n goToBottomList(true)\n\n $el.on \"click\", \".add-new\", debounce 2000, (event) ->\n event.preventDefault()\n target = $el.find(\".new-value\")\n saveNewValue(target)\n\n $el.on \"click\", \".delete-new\", (event) ->\n event.preventDefault()\n $el.find(\".new-value\").addClass(\"hidden\")\n initializeNewValue()\n\n $el.on \"click\", \".edit-value\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n row = target.parents(\".row.table-main\")\n row.addClass(\"hidden\")\n\n editionRow = row.siblings(\".edition\")\n editionRow.removeClass('hidden')\n editionRow.find('input:visible').first().focus().select()\n\n $el.on \"keyup\", \".edition input\", (event) ->\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n saveValue(target)\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"keyup\", \".new-value input\", (event) ->\n if event.keyCode == 13\n target = $el.find(\".new-value\")\n saveNewValue(target)\n else if event.keyCode == 27\n $el.find(\".new-value\").addClass(\"hidden\")\n initializeNewValue()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n saveValue(target)\n\n $el.on \"click\", \".cancel\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"click\", \".delete-value\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.parents(\"form\")\n value = formEl.scope().value\n\n choices = {}\n _.each $scope.values, (option) ->\n if value.id != option.id\n choices[option.id] = option.name\n\n subtitle = value.name\n\n if _.keys(choices).length == 0\n return $confirm.error(\"ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL\")\n\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE\")\n text = $translate.instant(\"ADMIN.PROJECT_VALUES.REPLACEMENT\")\n\n $confirm.askChoice(title, subtitle, choices, text).then (response) ->\n onSucces = ->\n $ctrl.loadValues().finally ->\n response.finish()\n onError = ->\n $confirm.notify(\"error\")\n $repo.remove(value, {\"moveTo\": response.selected}).then(onSucces, onError)\n\n link = ($scope, $el, $attrs) ->\n linkDragAndDrop($scope, $el, $attrs)\n linkValue($scope, $el, $attrs)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", ProjectValuesDirective])\n\n\n#############################################################################\n## Color selection directive\n#############################################################################\n\nColorSelectionDirective = () ->\n ## Color selection Link\n\n link = ($scope, $el, $attrs, $model) ->\n $ctrl = $el.controller()\n\n $scope.$watch $attrs.ngModel, (element) ->\n $scope.color = element.color\n\n $el.on \"click\", \".current-color\", (event) ->\n # Showing the color selector\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n $el.find(\".select-color\").hide()\n target.siblings(\".select-color\").show()\n # Hide when click outside\n body = angular.element(\"body\")\n body.on \"click\", (event) =>\n if angular.element(event.target).parent(\".select-color\").length == 0\n $el.find(\".select-color\").hide()\n body.unbind(\"click\")\n\n $el.on \"click\", \".select-color .color\", (event) ->\n # Selecting one color on color selector\n event.preventDefault()\n target = angular.element(event.currentTarget)\n $scope.$apply ->\n $model.$modelValue.color = target.data(\"color\")\n $el.find(\".select-color\").hide()\n\n $el.on \"click\", \".select-color .selected-color\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $model.$modelValue.color = $scope.color\n $el.find(\".select-color\").hide()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n require:\"ngModel\"\n }\n\nmodule.directive(\"tgColorSelection\", ColorSelectionDirective)\n\n\n#############################################################################\n## Custom Attributes Controller\n#############################################################################\n\nclass ProjectCustomAttributesController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appMetaService,\n @translate) ->\n @scope.project = {}\n\n @rootscope.$on \"project:loaded\", =>\n @.loadCustomAttributes()\n\n sectionName = @translate.instant(@scope.sectionName)\n title = @translate.instant(\"ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": @scope.project.name\n })\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n #########################\n # Custom Attribute\n #########################\n\n loadCustomAttributes: =>\n return @rs.customAttributes[@scope.type].list(@scope.projectId).then (customAttributes) =>\n @scope.customAttributes = customAttributes\n @scope.maxOrder = _.max(customAttributes, \"order\").order\n return customAttributes\n\n createCustomAttribute: (attrValues) =>\n return @repo.create(\"custom-attributes/#{@scope.type}\", attrValues)\n\n saveCustomAttribute: (attrModel) =>\n return @repo.save(attrModel)\n\n deleteCustomAttribute: (attrModel) =>\n return @repo.remove(attrModel)\n\n moveCustomAttributes: (attrModel, newIndex) =>\n customAttributes = @scope.customAttributes\n r = customAttributes.indexOf(attrModel)\n customAttributes.splice(r, 1)\n customAttributes.splice(newIndex, 0, attrModel)\n\n _.each customAttributes, (val, idx) ->\n val.order = idx\n\n @repo.saveAll(customAttributes)\n\n\nmodule.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController)\n\n\n#############################################################################\n## Custom Attributes Directive\n#############################################################################\n\nProjectCustomAttributesDirective = ($log, $confirm, animationFrame, $translate) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n ##################################\n # Drag & Drop\n ##################################\n sortableEl = $el.find(\".js-sortable\")\n\n sortableEl.sortable({\n handle: \".js-view-custom-field\",\n dropOnEmpty: true\n revert: 400\n axis: \"y\"\n })\n\n sortableEl.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n itemAttr = itemEl.scope().attr\n itemIndex = itemEl.index()\n $ctrl.moveCustomAttributes(itemAttr, itemIndex)\n\n ##################################\n # New custom attribute\n ##################################\n\n showCreateForm = ->\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\")\n $el.find(\".js-new-custom-field input:visible\").first().focus()\n\n hideCreateForm = ->\n $el.find(\".js-new-custom-field\").addClass(\"hidden\")\n\n showAddButton = ->\n $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\")\n\n hideAddButton = ->\n $el.find(\".js-add-custom-field-button\").addClass(\"hidden\")\n\n showCancelButton = ->\n $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\")\n\n hideCancelButton = ->\n $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\")\n\n resetNewAttr = ->\n $scope.newAttr = {}\n\n create = (formEl) ->\n form = formEl.checksley()\n return if not form.validate()\n\n onSucces = =>\n $ctrl.loadCustomAttributes()\n hideCreateForm()\n resetNewAttr()\n $confirm.notify(\"success\")\n\n onError = (data) =>\n form.setErrors(data)\n\n attr = $scope.newAttr\n attr.project = $scope.projectId\n attr.order = if $scope.maxOrder then $scope.maxOrder + 1 else 1\n\n $ctrl.createCustomAttribute(attr).then(onSucces, onError)\n\n cancelCreate = ->\n hideCreateForm()\n resetNewAttr()\n\n $scope.$watch \"customAttributes\", (customAttributes) ->\n return if not customAttributes\n\n if customAttributes.length == 0\n hideCancelButton()\n hideAddButton()\n showCreateForm()\n else\n hideCreateForm()\n showAddButton()\n showCancelButton()\n\n $el.on \"click\", \".js-add-custom-field-button\", (event) ->\n event.preventDefault()\n\n showCreateForm()\n\n $el.on \"click\", \".js-create-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n create(formEl)\n\n $el.on \"click\", \".js-cancel-new-custom-field-button\", (event) ->\n event.preventDefault()\n\n cancelCreate()\n\n $el.on \"keyup\", \".js-new-custom-field input\", (event) ->\n if event.keyCode == 13 # Enter\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n create(formEl)\n else if event.keyCode == 27 # Esc\n cancelCreate()\n\n ##################################\n # Edit custom attribute\n ##################################\n\n showEditForm = (formEl) ->\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\")\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\")\n formEl.find(\".js-edit-custom-field input:visible\").first().focus().select()\n\n hideEditForm = (formEl) ->\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\")\n formEl.find(\".js-view-custom-field\").removeClass(\"hidden\")\n\n revertChangesInCustomAttribute = (formEl) ->\n $scope.$apply ->\n formEl.scope().attr.revert()\n\n update = (formEl) ->\n form = formEl.checksley()\n return if not form.validate()\n\n onSucces = =>\n $ctrl.loadCustomAttributes()\n hideEditForm(formEl)\n $confirm.notify(\"success\")\n\n onError = (data) =>\n form.setErrors(data)\n\n attr = formEl.scope().attr\n $ctrl.saveCustomAttribute(attr).then(onSucces, onError)\n\n cancelUpdate = (formEl) ->\n hideEditForm(formEl)\n revertChangesInCustomAttribute(formEl)\n\n $el.on \"click\", \".js-edit-custom-field-button\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n showEditForm(formEl)\n\n $el.on \"click\", \".js-update-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n update(formEl)\n\n $el.on \"click\", \".js-cancel-edit-custom-field-button\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n cancelUpdate(formEl)\n\n $el.on \"keyup\", \".js-edit-custom-field input\", (event) ->\n if event.keyCode == 13 # Enter\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n update(formEl)\n else if event.keyCode == 27 # Esc\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n cancelUpdate(formEl)\n\n ##################################\n # Delete custom attribute\n ##################################\n\n deleteCustomAttribute = (formEl) ->\n attr = formEl.scope().attr\n message = attr.name\n\n title = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.DELETE\")\n text = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE\")\n\n $confirm.ask(title, text, message).then (finish) ->\n onSucces = ->\n $ctrl.loadCustomAttributes().finally ->\n finish()\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\", null, \"We have not been able to delete '#{message}'.\")\n\n $ctrl.deleteCustomAttribute(attr).then(onSucces, onError)\n\n $el.on \"click\", \".js-delete-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n deleteCustomAttribute(formEl)\n\n return {link: link}\n\nmodule.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", \"$translate\",\n ProjectCustomAttributesDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/memberships.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Roles Controller\n#############################################################################\n\nclass RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = \"ADMIN.MENU.PERMISSIONS\"\n @scope.project = {}\n @scope.anyComputableRole = true\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.ROLES.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n\n @scope.$emit('project:loaded', project)\n @scope.anyComputableRole = _.some(_.map(project.roles, (point) -> point.computable))\n\n return project\n\n loadRoles: ->\n return @rs.roles.list(@scope.projectId).then (roles) =>\n roles = roles.map (role) ->\n role.external_user = false\n\n return role\n\n public_permission = {\n \"name\": @translate.instant(\"ADMIN.ROLES.EXTERNAL_USER\"),\n \"permissions\": @scope.project.public_permissions,\n \"external_user\": true\n }\n\n roles.push(public_permission)\n\n @scope.roles = roles\n @scope.role = @scope.roles[0]\n return roles\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadRoles())\n return promise\n\n setRole: (role) ->\n @scope.role = role\n @scope.$broadcast(\"role:changed\", @scope.role)\n\n delete: ->\n choices = {}\n for role in @scope.roles\n if role.id != @scope.role.id\n choices[role.id] = role.name\n\n if _.keys(choices).length == 0\n return @confirm.error(@translate.instant(\"ADMIN.ROLES.ERROR_DELETE_ALL\"))\n\n title = @translate.instant(\"ADMIN.ROLES.TITLE_DELETE_ROLE\")\n subtitle = @scope.role.name\n replacement = @translate.instant(\"ADMIN.ROLES.REPLACEMENT_ROLE\")\n warning = @translate.instant(\"ADMIN.ROLES.WARNING_DELETE_ROLE\")\n return @confirm.askChoice(title, subtitle, choices, replacement, warning).then (response) =>\n onSuccess = =>\n @.loadProject()\n @.loadRoles().finally =>\n response.finish()\n onError = =>\n @confirm.notify('error')\n\n return @repo.remove(@scope.role, {moveTo: response.selected}).then onSuccess, onError\n\n setComputable: debounce 2000, ->\n onSuccess = =>\n @confirm.notify(\"success\")\n @.loadProject()\n\n onError = =>\n @confirm.notify(\"error\")\n @scope.role.revert()\n\n @repo.save(@scope.role).then onSuccess, onError\n\n\nmodule.controller(\"RolesController\", RolesController)\n\nEditRoleDirective = ($repo, $confirm) ->\n link = ($scope, $el, $attrs) ->\n toggleView = ->\n $el.find('.total').toggle()\n $el.find('.edit-role').toggle()\n\n submit = () ->\n $scope.role.name = $el.find(\"input\").val()\n\n promise = $repo.save($scope.role)\n\n promise.then ->\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n\n toggleView()\n\n $el.on \"click\", \"a.icon-edit\", ->\n toggleView()\n $el.find(\"input\").focus()\n $el.find(\"input\").val($scope.role.name)\n\n $el.on \"click\", \"a.save\", submit\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13 # Enter key\n submit()\n else if event.keyCode == 27 # ESC key\n toggleView()\n\n $scope.$on \"role:changed\", ->\n if $el.find('.edit-role').is(\":visible\")\n toggleView()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgEditRole\", [\"$tgRepo\", \"$tgConfirm\", EditRoleDirective])\n\nRolesDirective = ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgRoles\", RolesDirective)\n\nNewRoleDirective = ($tgrepo, $confirm) ->\n DEFAULT_PERMISSIONS = [\"view_project\", \"view_milestones\", \"view_us\", \"view_tasks\", \"view_issues\"]\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \"a.add-button\", (event) ->\n event.preventDefault()\n $el.find(\".new\").removeClass(\"hidden\")\n $el.find(\".new\").focus()\n $el.find(\".add-button\").hide()\n\n $el.on \"keyup\", \".new\", (event) ->\n event.preventDefault()\n if event.keyCode == 13 # Enter key\n target = angular.element(event.currentTarget)\n newRole = {\n project: $scope.projectId\n name: target.val()\n permissions: DEFAULT_PERMISSIONS\n order: _.max($scope.roles, (r) -> r.order).order + 1\n computable: false\n }\n\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new\").val('')\n\n onSuccess = (role) ->\n insertPosition = $scope.roles.length - 1\n $scope.roles.splice(insertPosition, 0, role)\n $ctrl.setRole(role)\n $el.find(\".add-button\").show()\n $ctrl.loadProject()\n\n onError = ->\n $confirm.notify(\"error\")\n\n $tgrepo.create(\"roles\", newRole).then(onSuccess, onError)\n\n else if event.keyCode == 27 # ESC key\n target = angular.element(event.currentTarget)\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new\").val('')\n $el.find(\".add-button\").show()\n\n return {link:link}\n\nmodule.directive(\"tgNewRole\", [\"$tgRepo\", \"$tgConfirm\", NewRoleDirective])\n\n\n# Use category-config.scss styles\nRolePermissionsDirective = ($rootscope, $repo, $confirm, $compile) ->\n resumeTemplate = _.template(\"\"\"\n
\">
\n
\n
<%- category.activePermissions %>/<%- category.permissions.length %>
\n <% _.each(category.permissions, function(permission) { %>\n
active<% } %>\"\n title=\"{{ '<%- permission.name %>' | translate }}\">
\n <% }) %>\n
\n
\n \"\"\")\n\n categoryTemplate = _.template(\"\"\"\n
\">\n
\n
\n
\n
\n <% _.each(category.permissions, function(permission) { %>\n
\">\n \">\n
\n disabled=\"disabled\" <% } %>\n <% if(permission.active) { %> checked=\"checked\" <% } %>/>\n
\n \n \n
\n
\n <% }) %>\n
\n
\n
\n \"\"\")\n\n baseTemplate = _.template(\"\"\"\n
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n generateCategoriesFromRole = (role) ->\n setActivePermissions = (permissions) ->\n return _.map(permissions, (x) -> _.extend({}, x, {active: x[\"key\"] in role.permissions}))\n\n isPermissionEditable = (permission, role, project) ->\n if role.external_user &&\n !project.is_private &&\n permission.key.indexOf(\"view_\") == 0\n return false\n else\n return true\n\n setActivePermissionsPerCategory = (category) ->\n return _.map(category, (cat) ->\n cat.permissions = cat.permissions.map (permission) ->\n permission.editable = isPermissionEditable(permission, role, $scope.project)\n\n return permission\n\n _.extend({}, cat, {\n activePermissions: _.filter(cat[\"permissions\"], \"active\").length\n })\n )\n\n categories = []\n\n milestonePermissions = [\n { key: \"view_milestones\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS\"}\n { key: \"add_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS\"}\n { key: \"modify_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS\"}\n { key: \"delete_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME\",\n permissions: setActivePermissions(milestonePermissions)\n })\n\n userStoryPermissions = [\n { key: \"view_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES\"}\n { key: \"add_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES\"}\n { key: \"modify_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES\"}\n { key: \"delete_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME\",\n permissions: setActivePermissions(userStoryPermissions)\n })\n\n taskPermissions = [\n { key: \"view_tasks\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS\"}\n { key: \"add_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS\"}\n { key: \"modify_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS\"}\n { key: \"delete_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME\" ,\n permissions: setActivePermissions(taskPermissions)\n })\n\n issuePermissions = [\n { key: \"view_issues\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES\"}\n { key: \"add_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES\"}\n { key: \"modify_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES\"}\n { key: \"delete_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME\",\n permissions: setActivePermissions(issuePermissions)\n })\n\n wikiPermissions = [\n { key: \"view_wiki_pages\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES\"}\n { key: \"add_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES\"}\n { key: \"modify_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES\"}\n { key: \"delete_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES\"}\n { key: \"view_wiki_links\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS\"}\n { key: \"add_wiki_link\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS\"}\n { key: \"delete_wiki_link\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME\",\n permissions: setActivePermissions(wikiPermissions)\n })\n\n return setActivePermissionsPerCategory(categories)\n\n renderResume = (element, category) ->\n element.find(\".resume\").html($compile(resumeTemplate({category: category}))($scope))\n\n renderCategory = (category, index) ->\n html = categoryTemplate({category: category, index: index})\n html = angular.element(html)\n renderResume(html, category)\n return $compile(html)($scope)\n\n renderPermissions = () ->\n $el.off()\n html = baseTemplate()\n _.each generateCategoriesFromRole($scope.role), (category, index) ->\n html = angular.element(html).append(renderCategory(category, index))\n\n $el.html(html)\n $el.on \"click\", \".resume\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.next().toggleClass(\"open\")\n\n $el.on \"change\", \".category-item input\", (event) ->\n getActivePermissions = ->\n activePermissions = _.filter($el.find(\".category-item input\"), (t) ->\n angular.element(t).is(\":checked\")\n )\n activePermissions = _.sortBy(_.map(activePermissions, (t) ->\n permission = angular.element(t).parents(\".category-item\").data(\"id\")\n ))\n\n if activePermissions.length\n activePermissions.push(\"view_project\")\n\n return activePermissions\n\n target = angular.element(event.currentTarget)\n\n $scope.role.permissions = getActivePermissions()\n\n onSuccess = () ->\n categories = generateCategoriesFromRole($scope.role)\n categoryId = target.parents(\".category-config\").data(\"id\")\n renderResume(target.parents(\".category-config\"), categories[categoryId])\n $rootscope.$broadcast(\"projects:reload\")\n $confirm.notify(\"success\")\n $ctrl.loadProject()\n\n onError = ->\n $confirm.notify(\"error\")\n target.prop \"checked\", !target.prop(\"checked\")\n $scope.role.permissions = getActivePermissions()\n\n if $scope.role.external_user\n $scope.project.public_permissions = $scope.role.permissions\n $scope.project.anon_permissions = $scope.role.permissions.filter (permission) ->\n return permission.indexOf(\"view_\") == 0\n\n $repo.save($scope.project).then onSuccess, onError\n else\n $repo.save($scope.role).then onSuccess, onError\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $scope.$on \"role:changed\", ->\n renderPermissions()\n\n bindOnce($scope, $attrs.ngModel, renderPermissions)\n\n return {link:link}\n\nmodule.directive(\"tgRolePermissions\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\",\n RolePermissionsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/third-parties.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindMethods = @.taiga.bindMethods\ndebounce = @.taiga.debounce\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Webhooks\n#############################################################################\n\nclass WebhooksController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @location, @navUrls, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = \"ADMIN.WEBHOOKS.SECTION_NAME\"\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.WEBHOOKS.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"webhooks:reload\", @.loadWebhooks\n\n loadWebhooks: ->\n return @rs.webhooks.list(@scope.projectId).then (webhooks) =>\n @scope.webhooks = webhooks\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then =>\n @.loadWebhooks()\n\n return promise\n\nmodule.controller(\"WebhooksController\", WebhooksController)\n\n\n#############################################################################\n## Webhook Directive\n#############################################################################\n\nWebhookDirective = ($rs, $repo, $confirm, $loading, $translate) ->\n link = ($scope, $el, $attrs) ->\n webhook = $scope.$eval($attrs.tgWebhook)\n\n updateLogs = () ->\n prettyDate = $translate.instant(\"ADMIN.WEBHOOKS.DATE\")\n\n $rs.webhooklogs.list(webhook.id).then (webhooklogs) =>\n for log in webhooklogs\n log.validStatus = 200 <= log.status < 300\n log.prettySentHeaders = _.map(_.pairs(log.request_headers), ([header, value]) -> \"#{header}: #{value}\").join(\"\\n\")\n log.prettySentData = JSON.stringify(log.request_data)\n log.prettyDate = moment(log.created).format(prettyDate)\n\n webhook.logs_counter = webhooklogs.length\n webhook.logs = webhooklogs\n updateShowHideHistoryText()\n\n updateShowHideHistoryText = () ->\n textElement = $el.find(\".toggle-history\")\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\")\n\n if historyElement.hasClass(\"open\")\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY\")\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY_TITLE\")\n else\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY\")\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY_TITLE\")\n\n textElement.text(text)\n textElement.prop(\"title\", title)\n\n showVisualizationMode = () ->\n $el.find(\".edition-mode\").addClass(\"hidden\")\n $el.find(\".visualization-mode\").removeClass(\"hidden\")\n\n showEditMode = () ->\n $el.find(\".visualization-mode\").addClass(\"hidden\")\n $el.find(\".edition-mode\").removeClass(\"hidden\")\n\n openHistory = () ->\n $el.find(\".webhooks-history\").addClass(\"open\")\n\n cancel = () ->\n showVisualizationMode()\n $scope.$apply ->\n webhook.revert()\n\n save = debounce 2000, (target) ->\n form = target.parents(\"form\").checksley()\n return if not form.validate()\n promise = $repo.save(webhook)\n promise.then =>\n showVisualizationMode()\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n form.setErrors(data)\n\n $el.on \"click\", \".test-webhook\", () ->\n openHistory()\n $rs.webhooks.test(webhook.id).then =>\n updateLogs()\n\n $el.on \"click\", \".edit-webhook\", () ->\n showEditMode()\n\n $el.on \"click\", \".cancel-existing\", () ->\n cancel()\n\n $el.on \"click\", \".edit-existing\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n save(target)\n\n $el.on \"keyup\", \".edition-mode input\", (event) ->\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n save(target)\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"click\", \".delete-webhook\", () ->\n title = $translate.instant(\"ADMIN.WEBHOOKS.DELETE\")\n message = $translate.instant(\"ADMIN.WEBHOOKS.WEBHOOK_NAME\", {name: webhook.name})\n\n $confirm.askOnDelete(title, message).then (finish) =>\n onSucces = ->\n finish()\n $scope.$emit(\"webhooks:reload\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n\n $repo.remove(webhook).then(onSucces, onError)\n\n $el.on \"click\", \".toggle-history\", (event) ->\n target = angular.element(event.currentTarget)\n if not webhook.logs? or webhook.logs.length == 0\n updateLogs().then ->\n #Waiting for ng-repeat to finish\n timeout 0, ->\n $el.find(\".webhooks-history\").toggleClass(\"open\")\n updateShowHideHistoryText()\n\n else\n $el.find(\".webhooks-history\").toggleClass(\"open\")\n $scope.$apply () ->\n updateShowHideHistoryText()\n\n\n $el.on \"click\", \".history-single\", (event) ->\n target = angular.element(event.currentTarget)\n target.toggleClass(\"history-single-open\")\n target.siblings(\".history-single-response\").toggleClass(\"open\")\n\n $el.on \"click\", \".resend-request\", (event) ->\n target = angular.element(event.currentTarget)\n log = target.data(\"log\")\n $rs.webhooklogs.resend(log).then () =>\n updateLogs()\n\n return {link:link}\n\nmodule.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$translate\",\n WebhookDirective])\n\n\n#############################################################################\n## New webhook Directive\n#############################################################################\n\nNewWebhookDirective = ($rs, $repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n webhook = $scope.$eval($attrs.tgWebhook)\n formDOMNode = $el.find(\".new-webhook-form\")\n addWebhookDOMNode = $el.find(\".add-webhook\")\n initializeNewValue = ->\n $scope.newValue = {\n \"name\": \"\"\n \"url\": \"\"\n \"key\": \"\"\n }\n\n initializeNewValue()\n\n $scope.$watch \"webhooks\", (webhooks) ->\n if webhooks?\n if webhooks.length == 0\n formDOMNode.removeClass(\"hidden\")\n addWebhookDOMNode.addClass(\"hidden\")\n formDOMNode.find(\"input\")[0].focus()\n else\n formDOMNode.addClass(\"hidden\")\n addWebhookDOMNode.removeClass(\"hidden\")\n\n save = debounce 2000, () ->\n form = formDOMNode.checksley()\n return if not form.validate()\n\n $scope.newValue.project = $scope.project.id\n promise = $repo.create(\"webhooks\", $scope.newValue)\n promise.then =>\n $scope.$emit(\"webhooks:reload\")\n initializeNewValue()\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n form.setErrors(data)\n\n formDOMNode.on \"click\", \".add-new\", (event) ->\n event.preventDefault()\n save()\n\n formDOMNode.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n save()\n\n formDOMNode.on \"click\", \".cancel-new\", (event) ->\n $scope.$apply ->\n initializeNewValue()\n\n addWebhookDOMNode.on \"click\", (event) ->\n formDOMNode.removeClass(\"hidden\")\n formDOMNode.find(\"input\")[0].focus()\n\n return {link:link}\n\nmodule.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", NewWebhookDirective])\n\n\n#############################################################################\n## Github Controller\n#############################################################################\n\nclass GithubController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.GITHUB.SECTION_NAME\")\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.GITHUB.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"github\").then (github) =>\n @scope.github = github\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"GithubController\", GithubController)\n\n\n#############################################################################\n## Gitlab Controller\n#############################################################################\n\nclass GitlabController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.GITLAB.SECTION_NAME\")\n @scope.project = {}\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.GITLAB.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:modules:reload\", =>\n @.loadModules()\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"gitlab\").then (gitlab) =>\n @scope.gitlab = gitlab\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"GitlabController\", GitlabController)\n\n\n#############################################################################\n## Bitbucket Controller\n#############################################################################\n\nclass BitbucketController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.BITBUCKET.SECTION_NAME\")\n @scope.project = {}\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.BITBUCKET.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:modules:reload\", =>\n @.loadModules()\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"bitbucket\").then (bitbucket) =>\n @scope.bitbucket = bitbucket\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"BitbucketController\", BitbucketController)\n\n\nSelectInputText = ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".select-input-content\", () ->\n $el.find(\"input\").select()\n $el.find(\".help-copy\").addClass(\"visible\")\n\n return {link:link}\n\nmodule.directive(\"tgSelectInputText\", SelectInputText)\n\n\n#############################################################################\n## GithubWebhooks Directive\n#############################################################################\n\nGithubWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.github, \"github\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GithubWebhooksDirective])\n\n\n#############################################################################\n## GitlabWebhooks Directive\n#############################################################################\n\nGitlabWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.gitlab, \"gitlab\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:modules:reload\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GitlabWebhooksDirective])\n\n\n#############################################################################\n## BitbucketWebhooks Directive\n#############################################################################\n\nBitbucketWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.bitbucket, \"bitbucket\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:modules:reload\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", BitbucketWebhooksDirective])\n\n\n#############################################################################\n## Valid Origin IP's Directive\n#############################################################################\nValidOriginIpsDirective = ->\n link = ($scope, $el, $attrs, $ngModel) ->\n $ngModel.$parsers.push (value) ->\n value = $.trim(value)\n if value == \"\"\n return []\n\n return value.split(\",\")\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgValidOriginIps\", ValidOriginIpsDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/attachments.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ntimeout = @.taiga.timeout\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaProject\")\n\nCreateProject = ($rootscope, $repo, $confirm, $location, $navurls, $rs, $projectUrl, $loading, lightboxService, $cacheFactory, $translate, currentUserService) ->\n link = ($scope, $el, attrs) ->\n $scope.data = {}\n $scope.templates = []\n currentLoading = null\n\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n\n onSuccessSubmit = (response) ->\n # remove all $http cache\n # This is necessary when a project is created with the same name\n # than another deleted in the same session\n $cacheFactory.get('$http').removeAll()\n\n currentLoading.finish()\n $rootscope.$broadcast(\"projects:reload\")\n\n $confirm.notify(\"success\", $translate.instant(\"COMMON.SAVE\"))\n\n $location.url($projectUrl.get(response))\n lightboxService.close($el)\n currentUserService._loadProjects()\n\n onErrorSubmit = (response) ->\n currentLoading.finish()\n form.setErrors(response)\n selectors = []\n for error_field in _.keys(response)\n selectors.push(\"[name=#{error_field}]\")\n $el.find(\".active\").removeClass(\"active\")\n error_step = $el.find(selectors.join(\",\")).first().parents(\".wizard-step\")\n error_step.addClass(\"active\")\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(error_step.data(\"step\"))\n\n submit = (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"projects\", $scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n openLightbox = ->\n $scope.data = {\n total_story_points: 100\n total_milestones: 5\n }\n\n if !$scope.templates.length\n $rs.projects.templates().then (result) =>\n $scope.templates = result\n $scope.data.creation_template = _.head(_.filter($scope.templates, (x) -> x.slug == \"scrum\")).id\n else\n $scope.data.creation_template = _.head(_.filter($scope.templates, (x) -> x.slug == \"scrum\")).id\n\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\".create-step1\").addClass(\"active\")\n\n lightboxService.open($el)\n timeout 600, ->\n $el.find(\".progress-bar\").addClass('step1')\n\n $el.on \"click\", \".button-next\", (event) ->\n event.preventDefault()\n\n current = $el.find(\".active\")\n\n valid = true\n for field in form.fields\n if current.find(\"[name=#{field.element.attr('name')}]\").length\n valid = field.validate() != false and valid\n\n if not valid\n return\n\n next = current.next()\n current.toggleClass('active')\n next.toggleClass('active')\n step = next.data('step')\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(step)\n\n $el.on \"click\", \".button-prev\", (event) ->\n event.preventDefault()\n current = $el.find(\".active\")\n prev = current.prev()\n current.toggleClass('active')\n prev.toggleClass('active')\n step = prev.data('step')\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(step)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n openLightbox()\n\n directive = {\n link: link,\n templateUrl: \"project/wizard-create-project.html\"\n scope: {}\n }\n\n return directive\n\n\nmodule.directive(\"tgLbCreateProject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\",\n \"$location\", \"$tgNavUrls\", \"$tgResources\", \"$projectUrl\", \"$tgLoading\",\n \"lightboxService\", \"$cacheFactory\", \"$translate\", \"tgCurrentUserService\", CreateProject])\n\n\n#############################################################################\n## Delete Project Lightbox Directive\n#############################################################################\n\nDeleteProjectDirective = ($repo, $rootscope, $auth, $location, $navUrls, $confirm, lightboxService, tgLoader, currentUserService) ->\n link = ($scope, $el, $attrs) ->\n projectToDelete = null\n $scope.$on \"deletelightbox:new\", (ctx, project)->\n lightboxService.open($el)\n projectToDelete = project\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = ->\n tgLoader.start()\n lightboxService.close($el)\n\n promise = $repo.remove(projectToDelete)\n\n promise.then (data) ->\n tgLoader.pageLoaded()\n $rootscope.$broadcast(\"projects:reload\")\n $location.path($navUrls.resolve(\"home\"))\n $confirm.notify(\"success\")\n currentUserService._loadProjects()\n\n # FIXME: error handling?\n promise.then null, ->\n $confirm.notify(\"error\")\n lightboxService.close($el)\n\n $el.on \"click\", \".button-red\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $el.on \"click\", \".button-green\", (event) ->\n event.preventDefault()\n submit()\n\n return {link:link}\n\nmodule.directive(\"tgLbDeleteProject\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\",\n \"$tgConfirm\", \"lightboxService\", \"tgLoader\", \"tgCurrentUserService\", DeleteProjectDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/bind.coffee\n###\n\nbindOnce = @.taiga.bindOnce\n\n# Escape Html bind once directive\nBindOnceBindDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoBind, (val) ->\n $el.text(val)\n\n return {link:link}\n\n# Html bind once directive\nBindOnceHtmlDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoHtml, (val) ->\n $el.html(val)\n\n return {link:link}\n\n# Object reference bind once helper.\nBindOnceRefDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoRef, (val) ->\n $el.html(\"##{val} \")\n return {link:link}\n\n# Object src bind once helper.\nBindOnceSrcDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoSrc, (val) ->\n $el.attr(\"src\", val)\n return {link:link}\n\n# Object href bind once helper.\nBindOnceHrefDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoHref, (val) ->\n $el.attr(\"href\", val)\n return {link:link}\n\n# Object alt bind once helper.\nBindOnceAltDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoAlt, (val) ->\n $el.attr(\"alt\", val)\n return {link:link}\n\n# Object title bind once helper.\nBindOnceTitleDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoTitle, (val) ->\n $el.attr(\"title\", val)\n return {link:link}\n\nBindTitleDirective = ->\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgTitleHtml, (val) ->\n $el.attr(\"title\", val) if val?\n\n return {link:link}\n\nBindHtmlDirective = ->\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgBindHtml, (val) ->\n $el.html(val) if val?\n\n return {link:link}\n\nmodule = angular.module(\"taigaBase\")\nmodule.directive(\"tgBoBind\", BindOnceBindDirective)\nmodule.directive(\"tgBoHtml\", BindOnceHtmlDirective)\nmodule.directive(\"tgBoRef\", BindOnceRefDirective)\nmodule.directive(\"tgBoSrc\", BindOnceSrcDirective)\nmodule.directive(\"tgBoHref\", BindOnceHrefDirective)\nmodule.directive(\"tgBoAlt\", BindOnceAltDirective)\nmodule.directive(\"tgBoTitle\", BindOnceTitleDirective)\nmodule.directive(\"tgBindTitle\", BindTitleDirective)\nmodule.directive(\"tgBindHtml\", BindHtmlDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/conf.coffee\n###\n\nclass ConfigurationService\n constructor: () ->\n @.config = window.taigaConfig\n\n get: (key, defaultValue=null) ->\n if _.has(@.config, key)\n return @.config[key]\n return defaultValue\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgConfig\", ConfigurationService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/contrib.coffee\n###\n\ntaigaContribPlugins = @.taigaContribPlugins = @.taigaContribPlugins or []\n\nclass ContribController extends taiga.Controller\n @.$inject = [\n \"$rootScope\",\n \"$scope\",\n \"$routeParams\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$tgConfirm\"\n ]\n\n constructor: (@rootScope, @scope, @params, @repo, @rs, @confirm) ->\n @scope.adminPlugins = _.where(@rootScope.contribPlugins, {\"type\": \"admin\"})\n @scope.currentPlugin = _.first(_.where(@scope.adminPlugins, {\"slug\": @params.plugin}))\n @scope.pluginTemplate = \"contrib/#{@scope.currentPlugin.slug}\"\n @scope.projectSlug = @params.pslug\n\n promise = @.loadInitialData()\n\n promise.then null, =>\n @confirm.notify(\"error\")\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.$broadcast('project:loaded', project)\n return project\n\n loadInitialData: ->\n return @.loadProject()\n\nmodule = angular.module(\"taigaBase\")\nmodule.controller(\"ContribController\", ContribController)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/filters.coffee\n###\n\n\ntaiga = @.taiga\n\nclass FiltersStorageService extends taiga.Service\n @.$inject = [\"$tgStorage\", \"$routeParams\"]\n\n constructor: (@storage, @params) ->\n\n generateHash: (components=[]) ->\n components = _.map(components, (x) -> JSON.stringify(x))\n return hex_sha1(components.join(\":\"))\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/http.coffee\n###\n\ntaiga = @.taiga\n\nclass HttpService extends taiga.Service\n @.$inject = [\"$http\", \"$q\", \"$tgStorage\", \"$rootScope\", \"$cacheFactory\", \"$translate\"]\n\n constructor: (@http, @q, @storage, @rootScope, @cacheFactory, @translate) ->\n super()\n\n @.cache = @cacheFactory(\"httpget\");\n headers: ->\n headers = {}\n\n # Authorization\n token = @storage.get('token')\n if token\n headers[\"Authorization\"] = \"Bearer #{token}\"\n\n # Accept-Language\n lang = @translate.preferredLanguage()\n if lang\n headers[\"Accept-Language\"] = lang\n\n return headers\n\n request: (options) ->\n options.headers = _.merge({}, options.headers or {}, @.headers())\n if _.isPlainObject(options.data)\n options.data = JSON.stringify(options.data)\n\n return @http(options)\n\n get: (url, params, options) ->\n options = _.merge({method: \"GET\", url: url}, options)\n options.params = params if params\n\n # prevent duplicated http request\n options.cache = @.cache\n\n return @.request(options).finally (data) =>\n @.cache.removeAll()\n\n post: (url, data, params, options) ->\n options = _.merge({method: \"POST\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n put: (url, data, params, options) ->\n options = _.merge({method: \"PUT\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n patch: (url, data, params, options) ->\n options = _.merge({method: \"PATCH\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n delete: (url, data, params, options) ->\n options = _.merge({method: \"DELETE\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgHttp\", HttpService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/location.coffee\n###\n\n\nlocationFactory = ($location, $route, $rootscope) ->\n $location.noreload = (scope) ->\n lastRoute = $route.current\n un = scope.$on \"$locationChangeSuccess\", ->\n $route.current = lastRoute\n un()\n\n return $location\n\n $location.isInCurrentRouteParams = (name, value) ->\n params = $location.search() || {}\n\n return params[name] == value\n\n return $location\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/model.coffee\n###\n\nclass Model\n constructor: (name, data, dataTypes) ->\n @._attrs = data\n @._name = name\n @._dataTypes = dataTypes\n\n @.setAttrs(data)\n @.initialize()\n\n clone: ->\n instance = new Model(@._name, @._attrs, @._dataTypes)\n instance._modifiedAttrs = @._modifiedAttrs\n instance._isModified = @._isModified\n return instance\n\n applyCasts: ->\n for attrName, castName of @._dataTypes\n castMethod = service.casts[castName]\n if not castMethod\n continue\n\n @._attrs[attrName] = castMethod(@._attrs[attrName])\n\n getIdAttrName: ->\n return \"id\"\n\n getName: ->\n return @._name\n\n getAttrs: (patch=false) ->\n if @._attrs.version?\n @._modifiedAttrs.version = @._attrs.version\n\n if patch\n return _.extend({}, @._modifiedAttrs)\n return _.extend({}, @._attrs, @._modifiedAttrs)\n\n setAttrs: (attrs) ->\n @._attrs = attrs\n @._modifiedAttrs = {}\n\n @.applyCasts()\n @._isModified = false\n\n setAttr: (name, value) ->\n @._modifiedAttrs[name] = value\n @._isModified = true\n\n initialize: () ->\n self = @\n\n getter = (name) ->\n return ->\n if typeof(name) == 'string' and name.substr(0,2) == \"__\"\n return self[name]\n\n if name not in _.keys(self._modifiedAttrs)\n return self._attrs[name]\n\n return self._modifiedAttrs[name]\n\n setter = (name) ->\n return (value) ->\n if typeof(name) == 'string' and name.substr(0,2) == \"__\"\n self[name] = value\n return\n\n if self._attrs[name] != value\n self._modifiedAttrs[name] = value\n self._isModified = true\n else\n delete self._modifiedAttrs[name]\n\n return\n\n _.each @_attrs, (value, name) ->\n options =\n get: getter(name)\n set: setter(name)\n enumerable: true\n configurable: true\n\n Object.defineProperty(self, name, options)\n\n serialize: () ->\n data =\n \"data\": _.clone(@_attrs)\n \"name\": @_name\n\n return JSON.stringify(data)\n\n isModified: ->\n return this._isModified\n\n isAttributeModified: (attribute) ->\n return @._modifiedAttrs[attribute]?\n\n markSaved: () ->\n @._isModified = false\n @._attrs = @.getAttrs()\n @._modifiedAttrs = {}\n\n revert: () ->\n @_modifiedAttrs = {}\n @_isModified = false\n\n @desSerialize = (sdata) ->\n ddata = JSON.parse(sdata)\n model = new Model(ddata.url, ddata.data)\n return model\n\n\ntaiga = @.taiga\n\nclass ModelService extends taiga.Service\n @.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"]\n\n constructor: (@q, @urls, @storage, @http) ->\n super()\n\nprovider = ($q, $http, $gmUrls, $gmStorage) ->\n service = {}\n service.make_model = (name, data, cls=Model, dataTypes={}) ->\n return new cls(name, data, dataTypes)\n\n service.cls = Model\n service.casts = {\n int: (value) ->\n return parseInt(value, 10)\n\n float: (value) ->\n return parseFloat(value, 10)\n }\n\n return service\n\nmodule = angular.module(\"taigaBase\")\nmodule.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/navurl.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaBase\")\n\n\n#############################################################################\n## Navigation Urls Service\n#############################################################################\n\nclass NavigationUrlsService extends taiga.Service\n constructor: ->\n @.urls = {}\n\n update: (urls) ->\n @.urls = _.merge({}, @.urls, urls or {})\n\n formatUrl: (url, ctx={}) ->\n replacer = (match) ->\n match = trim(match, \":\")\n return ctx[match] or \"undefined\"\n return url.replace(/(:\\w+)/g, replacer)\n\n resolve: (name, ctx) ->\n url = @.urls[name]\n return \"\" if not url\n return @.formatUrl(url, ctx) if ctx\n return url\n\nmodule.service(\"$tgNavUrls\", NavigationUrlsService)\n\n\n#############################################################################\n## Navigation Urls Directive\n#############################################################################\n\nNavigationUrlsDirective = ($navurls, $auth, $q, $location) ->\n # Example:\n # link(tg-nav=\"project-backlog:project='sss',\")\n\n # bindOnce version that uses $q for offer\n # promise based api\n bindOnceP = ($scope, attr) ->\n defered = $q.defer()\n bindOnce $scope, attr, (v) ->\n defered.resolve(v)\n return defered.promise\n\n parseNav = (data, $scope) ->\n [name, params] = _.map(data.split(\":\"), trim)\n if params\n params = _.map(params.split(\",\"), trim)\n else\n params = []\n values = _.map(params, (x) -> trim(x.split(\"=\")[1]))\n promises = _.map(values, (x) -> bindOnceP($scope, x))\n\n return $q.all(promises).then ->\n options = {}\n for item in params\n [key, value] = _.map(item.split(\"=\"), trim)\n options[key] = $scope.$eval(value)\n return [name, options]\n\n link = ($scope, $el, $attrs) ->\n if $el.is(\"a\")\n $el.attr(\"href\", \"#\")\n\n $el.on \"mouseenter\", (event) ->\n target = $(event.currentTarget)\n\n if !target.data(\"fullUrl\")\n parseNav($attrs.tgNav, $scope).then (result) ->\n [name, options] = result\n user = $auth.getUser()\n options.user = user.username if user\n\n url = $navurls.resolve(name)\n fullUrl = $navurls.formatUrl(url, options)\n\n if $attrs.tgNavGetParams\n getURLParams = JSON.parse($attrs.tgNavGetParams)\n getURLParamsStr = $.param(getURLParams)\n fullUrl = \"#{fullUrl}?#{getURLParamsStr}\"\n\n target.data(\"fullUrl\", fullUrl)\n\n if target.is(\"a\")\n target.attr(\"href\", fullUrl)\n\n $el.on \"click\", (event) ->\n if event.metaKey || event.ctrlKey\n return\n\n event.preventDefault()\n target = $(event.currentTarget)\n\n if target.hasClass('noclick')\n return\n\n fullUrl = target.data(\"fullUrl\")\n\n switch event.which\n when 1\n $location.url(fullUrl)\n $scope.$apply()\n when 2\n window.open fullUrl\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", NavigationUrlsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/repository.coffee\n###\n\ntaiga = @.taiga\n\nclass RepositoryService extends taiga.Service\n @.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"]\n\n constructor: (@q, @model, @storage, @http, @urls) ->\n super()\n\n resolveUrlForModel: (model) ->\n idAttrName = model.getIdAttrName()\n return \"#{@urls.resolve(model.getName())}/#{model[idAttrName]}\"\n\n resolveUrlForAttributeModel: (model) ->\n return @urls.resolve(model.getName(), model.parent)\n\n create: (name, data, dataTypes={}, extraParams={}) ->\n defered = @q.defer()\n url = @urls.resolve(name)\n\n promise = @http.post(url, JSON.stringify(data))\n promise.success (_data, _status) =>\n defered.resolve(@model.make_model(name, _data, null, dataTypes))\n\n promise.error (data, status) =>\n defered.reject(data)\n\n return defered.promise\n\n remove: (model, params={}) ->\n defered = @q.defer()\n url = @.resolveUrlForModel(model)\n\n promise = @http.delete(url, {}, params)\n promise.success (data, status) ->\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(model)\n\n return defered.promise\n\n saveAll: (models, patch=true) ->\n promises = _.map(models, (x) => @.save(x, true))\n return @q.all(promises)\n\n save: (model, patch=true) ->\n defered = @q.defer()\n\n if not model.isModified() and patch\n defered.resolve(model)\n return defered.promise\n\n url = @.resolveUrlForModel(model)\n data = JSON.stringify(model.getAttrs(patch))\n\n if patch\n promise = @http.patch(url, data)\n else\n promise = @http.put(url, data)\n\n promise.success (data, status) =>\n model._isModified = false\n model._attrs = _.extend(model.getAttrs(), data)\n model._modifiedAttrs = {}\n\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n saveAttribute: (model, attribute, patch=true) ->\n defered = @q.defer()\n\n if not model.isModified() and patch\n defered.resolve(model)\n return defered.promise\n\n url = @.resolveUrlForAttributeModel(model)\n\n data = {}\n\n data[attribute] = model.getAttrs()\n\n if patch\n promise = @http.patch(url, data)\n else\n promise = @http.put(url, data)\n\n promise.success (data, status) =>\n model._isModified = false\n model._attrs = _.extend(model.getAttrs(), data)\n model._modifiedAttrs = {}\n\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n refresh: (model) ->\n defered = @q.defer()\n\n url = @.resolveUrlForModel(model)\n promise = @http.get(url)\n promise.success (data, status) ->\n model._modifiedAttrs = {}\n model._attrs = data\n model._isModified = false\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n queryMany: (name, params, options={}) ->\n url = @urls.resolve(name)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n return _.map(data.data, (x) => @model.make_model(name, x))\n\n queryOneAttribute: (name, id, attribute, params, options={}) ->\n url = @urls.resolve(name, id)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n model = @model.make_model(name, data.data[attribute])\n model.parent = id\n\n return model\n\n queryOne: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = {headers: {}}\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n return @model.make_model(name, data.data)\n\n queryOneRaw: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = _.merge({headers: {}}, options)\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n return @http.get(url, params, httpOptions).then (data) =>\n return data.data\n\n queryPaginated: (name, params, options={}) ->\n url = @urls.resolve(name)\n httpOptions = _.merge({headers: {}}, options)\n return @http.get(url, params, httpOptions).then (data) =>\n headers = data.headers()\n result = {}\n result.models = _.map(data.data, (x) => @model.make_model(name, x))\n result.count = parseInt(headers[\"x-pagination-count\"], 10)\n result.current = parseInt(headers[\"x-pagination-current\"] or 1, 10)\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10)\n return result\n\n queryOnePaginatedRaw: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = _.merge({headers: {}}, options)\n\n return @http.get(url, params, httpOptions).then (data) =>\n headers = data.headers()\n result = {}\n result.data = data.data\n result.count = parseInt(headers[\"x-pagination-count\"], 10)\n result.current = parseInt(headers[\"x-pagination-current\"] or 1, 10)\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10)\n\n return result\n\n resolve: (options) ->\n params = {}\n params.project = options.pslug if options.pslug?\n params.us = options.usref if options.usref?\n params.task = options.taskref if options.taskref?\n params.issue = options.issueref if options.issueref?\n params.milestone = options.sslug if options.sslug?\n params.wikipage = options.wikipage if options.wikipage?\n\n cache = not (options.wikipage or options.sslug)\n return @.queryOneRaw(\"resolver\", null, params, {cache: cache})\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgRepo\", RepositoryService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/storage.coffee\n###\n\ntaiga = @.taiga\n\nclass StorageService extends taiga.Service\n @.$inject = [\"$rootScope\"]\n\n constructor: ($rootScope) ->\n super()\n\n get: (key, _default) ->\n serializedValue = localStorage.getItem(key)\n if serializedValue == null\n return _default or null\n\n return JSON.parse(serializedValue)\n\n set: (key, val) ->\n if _.isObject(key)\n _.each key, (val, key) =>\n @set(key, val)\n else\n localStorage.setItem(key, JSON.stringify(val))\n\n contains: (key) ->\n value = @.get(key)\n return (value != null)\n\n remove: (key) ->\n localStorage.removeItem(key)\n\n clear: ->\n localStorage.clear()\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgStorage\", StorageService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/http.coffee\n###\n\nformat = (fmt, obj) ->\n obj = _.clone(obj)\n return fmt.replace /%s/g, (match) -> String(obj.shift())\n\ntaiga = @.taiga\n\nclass UrlsService extends taiga.Service\n @.$inject = [\"$tgConfig\"]\n\n constructor: (@config) ->\n @.urls = {}\n @.mainUrl = @config.get(\"api\")\n\n update: (urls) ->\n @.urls = _.merge(@.urls, urls)\n\n resolve: ->\n args = _.toArray(arguments)\n\n if args.length == 0\n throw Error(\"wrong arguments to setUrls\")\n\n name = args.slice(0, 1)[0]\n url = format(@.urls[name], args.slice(1))\n\n return format(\"%s/%s\", [\n _.str.rtrim(@.mainUrl, \"/\"),\n _.str.ltrim(url, \"/\")\n ])\n\n resolveAbsolute: ->\n url = @.resolve.apply(@, arguments)\n if (/^https?:\\/\\//i).test(url)\n return url\n if (/^\\//).test(url)\n return \"#{window.location.protocol}//#{window.location.host}#{url}\"\n return \"#{window.location.protocol}//#{window.location.host}/#{url}\"\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service('$tgUrls', UrlsService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/attachments.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($rootScope, $config, $urls, $model, $repo, $auth, $q) ->\n service = {}\n\n service.list = (urlName, objectId, projectId) ->\n params = {object_id: objectId, project: projectId}\n return $repo.queryMany(urlName, params)\n\n service.create = (urlName, projectId, objectId, file) ->\n defered = $q.defer()\n\n if file is undefined\n defered.reject(null)\n return defered.promise\n\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n response = {\n status: 413,\n data: _error_message: \"'#{file.name}' (#{sizeFormat(file.size)}) is too heavy for our oompa\n loompas, try it with a smaller than (#{sizeFormat(maxFileSize)})\"\n }\n defered.reject(response)\n return defered.promise\n\n uploadProgress = (evt) =>\n $rootScope.$apply =>\n file.status = \"in-progress\"\n file.size = sizeFormat(evt.total)\n file.progressMessage = \"upload #{sizeFormat(evt.loaded)} of #{sizeFormat(evt.total)}\"\n file.progressPercent = \"#{Math.round((evt.loaded / evt.total) * 100)}%\"\n\n uploadComplete = (evt) =>\n $rootScope.$apply ->\n file.status = \"done\"\n\n status = evt.target.status\n try\n data = JSON.parse(evt.target.responseText)\n catch\n data = {}\n\n if status >= 200 and status < 400\n model = $model.make_model(urlName, data)\n defered.resolve(model)\n else\n response = {\n status: status,\n data: {_error_message: data['attached_file']?[0]}\n }\n defered.reject(response)\n\n uploadFailed = (evt) =>\n $rootScope.$apply ->\n file.status = \"error\"\n defered.reject(\"fail\")\n\n data = new FormData()\n data.append(\"project\", projectId)\n data.append(\"object_id\", objectId)\n data.append(\"attached_file\", file)\n\n xhr = new XMLHttpRequest()\n xhr.upload.addEventListener(\"progress\", uploadProgress, false)\n xhr.addEventListener(\"load\", uploadComplete, false)\n xhr.addEventListener(\"error\", uploadFailed, false)\n\n xhr.open(\"POST\", $urls.resolve(urlName))\n xhr.setRequestHeader(\"Authorization\", \"Bearer #{$auth.getToken()}\")\n xhr.setRequestHeader('Accept', 'application/json')\n xhr.send(data)\n\n return defered.promise\n\n return (instance) ->\n instance.attachments = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgAttachmentsResourcesProvider\", [\"$rootScope\", \"$tgConfig\", \"$tgUrls\", \"$tgModel\", \"$tgRepo\",\n \"$tgAuth\", \"$q\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/custom-field-values.coffee\n###\n\ntaiga = @.taiga\n\nresourceProvider = ($repo) ->\n _get = (objectId, resource) ->\n return $repo.queryOne(resource, objectId)\n\n service = {\n userstory: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/userstory\")\n }\n task: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/task\")\n }\n issue: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/issue\")\n }\n }\n\n return (instance) ->\n instance.customAttributesValues = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($repo) ->\n _list = (projectId, resource) ->\n return $repo.queryMany(resource, {project: projectId})\n\n service = {\n userstory:{\n list: (projectId) -> _list(projectId, \"custom-attributes/userstory\")\n }\n task:{\n list: (projectId) -> _list(projectId, \"custom-attributes/task\")\n }\n issue: {\n list: (projectId) -> _list(projectId, \"custom-attributes/issue\")\n }\n }\n\n return (instance) ->\n instance.customAttributes = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/history.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (type, objectId) ->\n return $repo.queryOneRaw(\"history/#{type}\", objectId)\n\n service.deleteComment = (type, objectId, activityId) ->\n url = $urls.resolve(\"history/#{type}\")\n url = \"#{url}/#{objectId}/delete_comment\"\n params = {id: activityId}\n return $http.post(url, null, params).then (data) =>\n return data.data\n\n service.undeleteComment = (type, objectId, activityId) ->\n url = $urls.resolve(\"history/#{type}\")\n url = \"#{url}/#{objectId}/undelete_comment\"\n params = {id: activityId}\n return $http.post(url, null, params).then (data) =>\n return data.data\n\n return (instance) ->\n instance.history = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo) ->\n service = {}\n\n service.get = (token) ->\n return $repo.queryOne(\"invitations\", token)\n\n return (instance) ->\n instance.invitations = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/issues.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage, $q) ->\n service = {}\n hashSuffix = \"issues-queryparams\"\n filtersHashSuffix = \"issues-filters\"\n myFiltersHashSuffix = \"issues-my-filters\"\n\n service.get = (projectId, issueId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"issues\", issueId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"issues\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"issues\", filters)\n\n service.list = (projectId, filters, options) ->\n params = {project: projectId}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryPaginated(\"issues\", params, options)\n\n service.bulkCreate = (projectId, data) ->\n url = $urls.resolve(\"bulk-create-issues\")\n params = {project_id: projectId, bulk_issues: data}\n return $http.post(url, params)\n\n service.stats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/issues_stats\")\n\n service.filtersData = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/issue_filters_data\")\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeFilters = (projectSlug, params) ->\n ns = \"#{projectSlug}:#{filtersHashSuffix}\"\n hash = generateHash([projectSlug, ns])\n $storage.set(hash, params)\n\n service.getFilters = (projectSlug) ->\n ns = \"#{projectSlug}:#{filtersHashSuffix}\"\n hash = generateHash([projectSlug, ns])\n return $storage.get(hash) or {}\n\n service.storeMyFilters = (projectId, myFilters) ->\n deferred = $q.defer()\n url = $urls.resolve(\"user-storage\")\n ns = \"#{projectId}:#{myFiltersHashSuffix}\"\n hash = generateHash([projectId, ns])\n if _.isEmpty(myFilters)\n promise = $http.delete(\"#{url}/#{hash}\", {key: hash, value:myFilters})\n promise.then ->\n deferred.resolve()\n promise.then null, ->\n deferred.reject()\n else\n promise = $http.put(\"#{url}/#{hash}\", {key: hash, value:myFilters})\n promise.then (data) ->\n deferred.resolve()\n promise.then null, (data) ->\n innerPromise = $http.post(\"#{url}\", {key: hash, value:myFilters})\n innerPromise.then ->\n deferred.resolve()\n innerPromise.then null, ->\n deferred.reject()\n return deferred.promise\n\n service.getMyFilters = (projectId) ->\n deferred = $q.defer()\n url = $urls.resolve(\"user-storage\")\n ns = \"#{projectId}:#{myFiltersHashSuffix}\"\n hash = generateHash([projectId, ns])\n\n promise = $http.get(\"#{url}/#{hash}\")\n promise.then (data) ->\n deferred.resolve(data.data.value)\n promise.then null, (data) ->\n deferred.resolve({})\n\n return deferred.promise\n\n return (instance) ->\n instance.issues = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/kanban.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($storage) ->\n service = {}\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\"\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\"\n\n service.storeStatusViewModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusViewModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusViewModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusViewModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeStatusColumnModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusColumnModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n return (instance) ->\n instance.kanban = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2015 Andrey Antukh \n# Copyright (C) 2015 Jesús Espino Garcia \n# Copyright (C) 2015 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/locales.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($repo) ->\n service = {\n list: -> return $repo.queryMany(\"locales\")\n }\n\n return (instance) ->\n instance.locales = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgLocalesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/mdrender.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.render = (projectId, content) ->\n # We can't use an empty content\n content = ' ' if not content? or content == \"\"\n\n params = {\n project_id: projectId\n content: content\n }\n url = $urls.resolve(\"wiki\")\n return $http.post(\"#{url}/render\", params).then (data) =>\n return data.data\n\n return (instance) ->\n instance.mdrender = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"memberships\", id)\n\n service.list = (projectId, filters, enablePagination=true) ->\n params = {project: projectId}\n params = _.extend({}, params, filters or {})\n if enablePagination\n return $repo.queryPaginated(\"memberships\", params)\n\n return $repo.queryMany(\"memberships\", params, options={enablePagination:enablePagination})\n\n service.listByUser = (userId, filters) ->\n params = {user: userId}\n params = _.extend({}, params, filters or {})\n return $repo.queryPaginated(\"memberships\", params)\n\n service.resendInvitation = (id) ->\n url = $urls.resolve(\"memberships\")\n return $http.post(\"#{url}/#{id}/resend_invitation\", {})\n\n service.bulkCreateMemberships = (projectId, data, invitation_extra_text) ->\n url = $urls.resolve(\"bulk-create-memberships\")\n params = {project_id: projectId, bulk_memberships: data, invitation_extra_text: invitation_extra_text}\n return $http.post(url, params)\n\n return (instance) ->\n instance.memberships = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","resourceProvider = ($repo) ->\n service = {}\n\n service.list = (projectId, module) ->\n return $repo.queryOneAttribute(\"project-modules\", projectId, module)\n\n return (instance) ->\n instance.modules = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"notify-policies\", id)\n\n service.list = (filters) ->\n params = _.extend({}, params, filters or {})\n return $repo.queryMany(\"notify-policies\", params)\n\n return (instance) ->\n instance.notifyPolicies = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($config, $repo, $http, $urls, $auth, $q, $translate) ->\n service = {}\n\n service.get = (projectId) ->\n return $repo.queryOne(\"projects\", projectId)\n\n service.getBySlug = (projectSlug) ->\n return $repo.queryOne(\"projects\", \"by_slug?slug=#{projectSlug}\")\n\n service.list = ->\n return $repo.queryMany(\"projects\")\n\n service.listByMember = (memberId) ->\n params = {\"member\": memberId, \"order_by\": \"memberships__user_order\"}\n return $repo.queryMany(\"projects\", params)\n\n service.templates = ->\n return $repo.queryMany(\"project-templates\")\n\n service.usersList = (projectId) ->\n params = {\"project\": projectId}\n return $repo.queryMany(\"users\", params)\n\n service.rolesList = (projectId) ->\n params = {\"project\": projectId}\n return $repo.queryMany(\"roles\", params)\n\n service.stats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/stats\")\n\n service.bulkUpdateOrder = (bulkData) ->\n url = $urls.resolve(\"bulk-update-projects-order\")\n return $http.post(url, bulkData)\n\n service.regenerate_userstories_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_userstories_csv_uuid\"\n return $http.post(url)\n\n service.regenerate_issues_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_issues_csv_uuid\"\n return $http.post(url)\n\n service.regenerate_tasks_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_tasks_csv_uuid\"\n return $http.post(url)\n\n service.leave = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/leave\"\n return $http.post(url)\n\n service.memberStats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/member_stats\")\n\n service.tagsColors = (projectId) ->\n return $repo.queryOne(\"projects\", \"#{projectId}/tags_colors\")\n\n service.export = (projectId) ->\n url = \"#{$urls.resolve(\"exporter\")}/#{projectId}\"\n return $http.get(url)\n\n service.import = (file, statusUpdater) ->\n defered = $q.defer()\n\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name\n fileSize: sizeFormat(file.size)\n maxFileSize: sizeFormat(maxFileSize)\n })\n\n response = {\n status: 413,\n data: _error_message: errorMsg\n }\n defered.reject(response)\n return defered.promise\n\n uploadProgress = (evt) =>\n percent = Math.round((evt.loaded / evt.total) * 100)\n message = $translate.instant(\"PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE\", {\n uploadedSize: sizeFormat(evt.loaded)\n totalSize: sizeFormat(evt.total)\n })\n statusUpdater(\"in-progress\", null, message, percent)\n\n uploadComplete = (evt) =>\n statusUpdater(\"done\",\n $translate.instant(\"PROJECT.IMPORT.TITLE\"),\n $translate.instant(\"PROJECT.IMPORT.DESCRIPTION\"))\n\n uploadFailed = (evt) =>\n statusUpdater(\"error\")\n\n complete = (evt) =>\n response = {}\n try\n response.data = JSON.parse(evt.target.responseText)\n catch\n response.data = {}\n response.status = evt.target.status\n\n defered.resolve(response) if response.status in [201, 202]\n defered.reject(response)\n\n failed = (evt) =>\n defered.reject(\"fail\")\n\n data = new FormData()\n data.append('dump', file)\n\n xhr = new XMLHttpRequest()\n xhr.upload.addEventListener(\"progress\", uploadProgress, false)\n xhr.upload.addEventListener(\"load\", uploadComplete, false)\n xhr.upload.addEventListener(\"error\", uploadFailed, false)\n xhr.upload.addEventListener(\"abort\", uploadFailed, false)\n xhr.addEventListener(\"load\", complete, false)\n xhr.addEventListener(\"error\", failed, false)\n\n xhr.open(\"POST\", $urls.resolve(\"importer\"))\n xhr.setRequestHeader(\"Authorization\", \"Bearer #{$auth.getToken()}\")\n xhr.setRequestHeader('Accept', 'application/json')\n xhr.send(data)\n\n return defered.promise\n\n return (instance) ->\n instance.projects = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\",\n \"$q\", \"$translate\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"roles\", id)\n\n service.list = (projectId) ->\n return $repo.queryMany(\"roles\", {project: projectId})\n\n return (instance) ->\n instance.roles = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/search.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.do = (projectId, term) ->\n url = $urls.resolve(\"search\")\n params = {\n project: projectId\n text: term,\n get_all: false\n }\n\n return $http.get(url, params).then (data) ->\n return data.data\n\n return (instance) ->\n instance.search = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/sprints.coffee\n###\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $model, $storage) ->\n service = {}\n\n service.get = (projectId, sprintId) ->\n return $repo.queryOne(\"milestones\", sprintId).then (sprint) ->\n uses = sprint.user_stories\n uses = _.map(uses, (u) -> $model.make_model(\"userstories\", u))\n sprint._attrs.user_stories = uses\n return sprint\n\n service.stats = (projectId, sprintId) ->\n return $repo.queryOneRaw(\"milestones\", \"#{sprintId}/stats\")\n\n service.list = (projectId, filters) ->\n params = {\"project\": projectId}\n params = _.extend({}, params, filters or {})\n return $repo.queryMany(\"milestones\", params).then (milestones) =>\n for m in milestones\n uses = m.user_stories\n uses = _.map(uses, (u) => $model.make_model(\"userstories\", u))\n m._attrs.user_stories = uses\n return milestones\n\n\n return (instance) ->\n instance.sprints = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/tasks.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage) ->\n service = {}\n hashSuffix = \"tasks-queryparams\"\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\"\n hashSuffixUsRowModes = \"tasks-usrowmodels\"\n\n service.get = (projectId, taskId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"tasks\", taskId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"tasks\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"tasks\", filters)\n\n service.list = (projectId, sprintId=null, userStoryId=null) ->\n params = {project: projectId}\n params.milestone = sprintId if sprintId\n params.user_story = userStoryId if userStoryId\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"tasks\", params)\n\n service.bulkCreate = (projectId, sprintId, usId, data) ->\n url = $urls.resolve(\"bulk-create-tasks\")\n params = {project_id: projectId, sprint_id: sprintId, us_id: usId, bulk_tasks: data}\n return $http.post(url, params).then (result) ->\n return result.data\n\n service.bulkUpdateTaskTaskboardOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-task-taskboard-order\")\n params = {project_id: projectId, bulk_tasks: data}\n return $http.post(url, params)\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeStatusColumnModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusColumnModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeUsRowModes = (projectId, sprintId, params) ->\n ns = \"#{projectId}:#{hashSuffixUsRowModes}\"\n hash = generateHash([projectId, sprintId, ns])\n\n $storage.set(hash, params)\n\n service.getUsRowModes = (projectId, sprintId) ->\n ns = \"#{projectId}:#{hashSuffixUsRowModes}\"\n hash = generateHash([projectId, sprintId, ns])\n\n return $storage.get(hash) or {}\n\n return (instance) ->\n instance.tasks = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($config, $repo, $http, $urls, $q) ->\n service = {}\n\n service.changeAvatar = (file) ->\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n response = {\n status: 413,\n data: _error_message: \"'#{file.name}' (#{sizeFormat(file.size)}) is too heavy for our oompa\n loompas, try it with a smaller than (#{sizeFormat(maxFileSize)})\"\n }\n defered = $q.defer()\n defered.reject(response)\n return defered.promise\n\n data = new FormData()\n data.append('avatar', file)\n options = {\n transformRequest: angular.identity,\n headers: {'Content-Type': undefined}\n }\n url = \"#{$urls.resolve(\"users\")}/change_avatar\"\n return $http.post(url, data, {}, options)\n\n service.removeAvatar = () ->\n url = \"#{$urls.resolve(\"users\")}/remove_avatar\"\n return $http.post(url)\n\n service.changePassword = (currentPassword, newPassword) ->\n url = \"#{$urls.resolve(\"users\")}/change_password\"\n data = {\n current_password: currentPassword\n password: newPassword\n }\n return $http.post(url, data)\n\n return (instance) ->\n instance.userSettings = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\",\n resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/user.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($http, $urls) ->\n service = {}\n\n service.contacts = (userId, options={}) ->\n url = $urls.resolve(\"contacts\", userId)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return $http.get(url, {}, httpOptions)\n .then (result) ->\n return result.data\n\n return (instance) ->\n instance.users = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUsersResourcesProvider\", [\"$tgHttp\", \"$tgUrls\", \"$q\",\n resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/userstories.coffee\n###\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage) ->\n service = {}\n hashSuffix = \"userstories-queryparams\"\n\n service.get = (projectId, usId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"userstories\", usId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"userstories\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"userstories\", filters)\n\n service.listUnassigned = (projectId, filters) ->\n params = {\"project\": projectId, \"milestone\": \"null\"}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"userstories\", params)\n\n service.listAll = (projectId, filters) ->\n params = {\"project\": projectId}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"userstories\", params)\n\n service.bulkCreate = (projectId, status, bulk) ->\n data = {\n project_id: projectId\n status_id: status\n bulk_stories: bulk\n }\n\n url = $urls.resolve(\"bulk-create-us\")\n\n return $http.post(url, data)\n\n service.bulkUpdateBacklogOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-backlog-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.bulkUpdateSprintOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-sprint-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.bulkUpdateKanbanOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-kanban-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeShowTags = (projectId, showTags) ->\n hash = generateHash([projectId, 'showTags'])\n $storage.set(hash, showTags)\n\n service.getShowTags = (projectId) ->\n hash = generateHash([projectId, 'showTags'])\n return $storage.get(hash) or null\n\n return (instance) ->\n instance.userstories = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider])\n","resourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.list = (webhookId) ->\n params = {webhook: webhookId}\n return $repo.queryMany(\"webhooklogs\", params)\n\n service.resend = (webhooklogId) ->\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId)\n return $http.post(url)\n\n return (instance) ->\n instance.webhooklogs = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","resourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.list = (projectId) ->\n params = {project: projectId}\n return $repo.queryMany(\"webhooks\", params)\n\n service.test = (webhookId) ->\n url = $urls.resolve(\"webhooks-test\", webhookId)\n return $http.post(url)\n\n return (instance) ->\n instance.webhooks = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/wikis.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (wikiId) ->\n return $repo.queryOne(\"wiki\", wikiId)\n\n service.getBySlug = (projectId, slug) ->\n return $repo.queryOne(\"wiki\", \"by_slug?project=#{projectId}&slug=#{slug}\")\n\n service.listLinks = (projectId) ->\n return $repo.queryMany(\"wiki-links\", {project: projectId})\n\n return (instance) ->\n instance.wiki = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## User ChangePassword Controller\n#############################################################################\n\nclass UserChangePasswordController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @auth, @translate) ->\n @scope.sectionName = @translate.instant(\"CHANGE_PASSWORD.SECTION_NAME\")\n @scope.user = @auth.getUser()\n\nmodule.controller(\"UserChangePasswordController\", UserChangePasswordController)\n\n\n#############################################################################\n## User ChangePassword Directive\n#############################################################################\n\nUserChangePasswordDirective = ($rs, $confirm, $loading, $translate) ->\n link = ($scope, $el, $attrs, ctrl) ->\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if $scope.newPassword1 != $scope.newPassword2\n $confirm.notify('error', $translate.instant(\"CHANGE_PASSWORD.ERROR_PASSWORD_MATCH\"))\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1)\n promise.then =>\n currentLoading.finish()\n $confirm.notify('success')\n\n promise.then null, (response) =>\n currentLoading.finish()\n $confirm.notify('error', response.data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link\n }\n\nmodule.directive(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", UserChangePasswordDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## Delete User Lightbox Directive\n#############################################################################\n\nDeleteUserDirective = ($repo, $rootscope, $auth, $location, $navUrls, lightboxService) ->\n link = ($scope, $el, $attrs) ->\n $scope.$on \"deletelightbox:new\", (ctx, user)->\n lightboxService.open($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = ->\n promise = $repo.remove($scope.user)\n\n promise.then (data) ->\n lightboxService.close($el)\n $auth.logout()\n $location.path($navUrls.resolve(\"login\"))\n\n # FIXME: error handling?\n promise.then null, ->\n console.log \"FAIL\"\n\n $el.on \"click\", \".button-red\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $el.on \"click\", \".button-green\", debounce 2000, (event) ->\n event.preventDefault()\n submit()\n\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n }\n\nmodule.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\",\n \"lightboxService\", DeleteUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/main.coffee\n###\n\ntaiga = @.taiga\nmixOf = @.taiga.mixOf\nsizeFormat = @.taiga.sizeFormat\nmodule = angular.module(\"taigaUserSettings\")\ndebounce = @.taiga.debounce\n\n#############################################################################\n## User settings Controller\n#############################################################################\n\nclass UserSettingsController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgConfig\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @config, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @auth, @translate) ->\n @scope.sectionName = \"USER_SETTINGS.MENU.SECTION_TITLE\"\n\n @scope.project = {}\n @scope.user = @auth.getUser()\n\n if !@scope.user\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n @scope.lang = @getLan()\n\n maxFileSize = @config.get(\"maxUploadFileSize\", null)\n if maxFileSize\n text = @translate.instant(\"USER_SETTINGS.AVATAR_MAX_SIZE\", {\"maxFileSize\": sizeFormat(maxFileSize)})\n @scope.maxFileSizeMsg = text\n\n promise = @.loadInitialData()\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadInitialData: ->\n return @rs.locales.list().then (locales) =>\n @scope.locales = locales\n return locales\n\n openDeleteLightbox: ->\n @rootscope.$broadcast(\"deletelightbox:new\", @scope.user)\n\n getLan: ->\n return @scope.user.lang ||\n @translate.preferredLanguage()\n\nmodule.controller(\"UserSettingsController\", UserSettingsController)\n\n\n#############################################################################\n## User Profile Directive\n#############################################################################\n\nUserProfileDirective = ($confirm, $auth, $repo, $translate) ->\n link = ($scope, $el, $attrs) ->\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n return if not form.validate()\n\n changeEmail = $scope.user.isAttributeModified(\"email\")\n $scope.user.lang = $scope.lang\n\n onSuccess = (data) =>\n $auth.setUser(data)\n\n if changeEmail\n text = $translate.instant(\"USER_PROFILE.CHANGE_EMAIL_SUCCESS\")\n $confirm.success(text)\n else\n $confirm.notify('success')\n\n onError = (data) =>\n form.setErrors(data)\n $confirm.notify('error', data._error_message)\n\n $repo.save($scope.user).then(onSuccess, onError)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserProfile\", [\"$tgConfirm\", \"$tgAuth\", \"$tgRepo\", \"$translate\", UserProfileDirective])\n\n\n#############################################################################\n## User Avatar Directive\n#############################################################################\n\nUserAvatarDirective = ($auth, $model, $rs, $confirm) ->\n link = ($scope, $el, $attrs) ->\n showSizeInfo = ->\n $el.find(\".size-info\").removeClass(\"hidden\")\n\n onSuccess = (response) ->\n user = $model.make_model(\"users\", response.data)\n $auth.setUser(user)\n $scope.user = user\n\n $el.find('.overlay').addClass('hidden')\n $confirm.notify('success')\n\n onError = (response) ->\n showSizeInfo() if response.status == 413\n $el.find('.overlay').addClass('hidden')\n $confirm.notify('error', response.data._error_message)\n\n # Change photo\n $el.on \"click\", \".js-change-avatar\", ->\n $el.find(\"#avatar-field\").click()\n\n $el.on \"change\", \"#avatar-field\", (event) ->\n if $scope.avatarAttachment\n $el.find('.overlay').removeClass('hidden')\n $rs.userSettings.changeAvatar($scope.avatarAttachment).then(onSuccess, onError)\n\n # Use gravatar photo\n $el.on \"click\", \"a.use-gravatar\", (event) ->\n $el.find('.overlay').removeClass('hidden')\n $rs.userSettings.removeAvatar().then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserAvatar\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", UserAvatarDirective])\n\n\n#############################################################################\n## User Avatar Model Directive\n#############################################################################\n\nTaigaAvatarModelDirective = ($parse) ->\n link = ($scope, $el, $attrs) ->\n model = $parse($attrs.tgAvatarModel)\n modelSetter = model.assign\n\n $el.bind 'change', ->\n $scope.$apply ->\n modelSetter($scope, $el[0].files[0])\n\n return {link:link}\n\nmodule.directive('tgAvatarModel', ['$parse', TaigaAvatarModelDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/nav.coffee\n###\n\nUserSettingsNavigationDirective = ->\n link = ($scope, $el, $attrs) ->\n section = $attrs.tgUserSettingsNavigation\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\"#usersettingsmenu-#{section} a\").addClass(\"active\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule = angular.module(\"taigaUserSettings\")\nmodule.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/notifications.coffee\n###\n\ntaiga = @.taiga\nmixOf = @.taiga.mixOf\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## User settings Controller\n#############################################################################\n\nclass UserNotificationsController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @auth) ->\n @scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.SECTION_NAME\"\n @scope.user = @auth.getUser()\n promise = @.loadInitialData()\n promise.then null, @.onInitialDataError.bind(@)\n\n loadInitialData: ->\n return @rs.notifyPolicies.list().then (notifyPolicies) =>\n @scope.notifyPolicies = notifyPolicies\n return notifyPolicies\n\nmodule.controller(\"UserNotificationsController\", UserNotificationsController)\n\n\n#############################################################################\n## User Notifications Directive\n#############################################################################\n\nUserNotificationsDirective = () ->\n link = ($scope, $el, $attrs) ->\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserNotifications\", UserNotificationsDirective)\n\n\n#############################################################################\n## User Notifications List Directive\n#############################################################################\n\nUserNotificationsListDirective = ($repo, $confirm, $compile) ->\n template = _.template(\"\"\"\n <% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\">\n
<%- notifyPolicy.project_name %>
\n
\n
\n \" id=\"policy-all-<%- notifyPolicy.id %>\"\n value=\"2\" <% if (notifyPolicy.notify_level == 2) { %>checked=\"checked\"<% } %>/>\n \n
\n
\n
\n
\n \" id=\"policy-involved-<%- notifyPolicy.id %>\"\n value=\"1\" <% if (notifyPolicy.notify_level == 1) { %>checked=\"checked\"<% } %> />\n \n
\n
\n
\n
\n \" id=\"policy-none-<%- notifyPolicy.id %>\"\n value=\"3\" <% if (notifyPolicy.notify_level == 3) { %>checked=\"checked\"<% } %> />\n \n
\n
\n
\n <% }) %>\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n render = ->\n $el.off()\n\n ctx = {notifyPolicies: $scope.notifyPolicies}\n html = template(ctx)\n\n $el.html($compile(html)($scope))\n\n $el.on \"change\", \"input[type=radio]\", (event) ->\n target = angular.element(event.currentTarget)\n\n policyIndex = target.parents(\".policy-table-row\").data('index')\n policy = $scope.notifyPolicies[policyIndex]\n prev_level = policy.notify_level\n policy.notify_level = parseInt(target.val(), 10)\n\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = ->\n $confirm.notify(\"error\")\n target.parents(\".policy-table-row\")\n .find(\"input[value=#{prev_level}]\")\n .prop(\"checked\", true)\n\n $repo.save(policy).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n bindOnce($scope, $attrs.ngModel, render)\n\n return {link:link}\n\nmodule.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\",\n UserNotificationsListDirective])\n","###\n# Copyright (C) 2015 Taiga Agile LLC\n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: components.module.coffee\n###\n\nangular.module(\"taigaComponents\", [])\n","module = angular.module(\"taigaHome\", [])\n","angular.module(\"taigaNavigationBar\", [])\n","module = angular.module(\"taigaProfile\", [])\n","angular.module(\"taigaProjects\", [])\n","angular.module(\"taigaResources2\", [])\n","angular.module(\"taigaUserTimeline\", [])\n","class ProjectMenuController\n @.$inject = [\n \"tgProjectService\",\n \"tgLightboxFactory\"\n ]\n\n constructor: (@projectService, @lightboxFactory) ->\n @.project = null\n @.menu = Immutable.Map()\n\n show: () ->\n @.project = @projectService.project\n\n @.active = @._getActiveSection()\n\n @._setVideoConference()\n @._setMenuPermissions()\n\n hide: () ->\n @.project = null\n @.menu = {}\n\n search: () ->\n @lightboxFactory.create(\"tg-search-box\", {\n \"class\": \"lightbox lightbox-search\"\n })\n\n _setVideoConference: () ->\n videoconferenceUrl = @._videoConferenceUrl()\n\n if videoconferenceUrl\n @.project = @.project.set(\"videoconferenceUrl\", videoconferenceUrl)\n\n _setMenuPermissions: () ->\n @.menu = Immutable.Map({\n backlog: false,\n kanban: false,\n issues: false,\n wiki: false\n })\n\n if @.project.get(\"is_backlog_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_us\") != -1\n @.menu = @.menu.set(\"backlog\", true)\n\n if @.project.get(\"is_kanban_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_us\") != -1\n @.menu = @.menu.set(\"kanban\", true)\n\n if @.project.get(\"is_issues_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_issues\") != -1\n @.menu = @.menu.set(\"issues\", true)\n\n if @.project.get(\"is_wiki_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_wiki_pages\") != -1\n @.menu = @.menu.set(\"wiki\", true)\n\n _getActiveSection: () ->\n sectionName = @projectService.section\n sectionsBreadcrumb = @projectService.sectionsBreadcrumb\n\n indexBacklog = sectionsBreadcrumb.lastIndexOf(\"backlog\")\n indexKanban = sectionsBreadcrumb.lastIndexOf(\"kanban\")\n\n if indexBacklog != -1 || indexKanban != -1\n if indexKanban == -1 || indexBacklog < indexKanban\n oldSectionName = \"backlog\"\n else\n oldSectionName = \"kanban\"\n\n if sectionName == \"backlog-kanban\"\n if oldSectionName in [\"backlog\", \"kanban\"]\n sectionName = oldSectionName\n else if @.project.get(\"is_backlog_activated\") && !@.project.get(\"is_kanban_activated\")\n sectionName = \"backlog\"\n else if !@.project.get(\"is_backlog_activated\") && @.project.get(\"is_kanban_activated\")\n sectionName = \"kanban\"\n\n return sectionName\n\n _videoConferenceUrl: () ->\n if @.project.get(\"videoconferences\") == \"appear-in\"\n baseUrl = \"https://appear.in/\"\n else if @.project.get(\"videoconferences\") == \"talky\"\n baseUrl = \"https://talky.io/\"\n else if @.project.get(\"videoconferences\") == \"jitsi\"\n baseUrl = \"https://meet.jit.si/\"\n url = @.project.get(\"slug\") + \"-\" + taiga.slugify(@.project.get(\"videoconferences_salt\"))\n url = url.replace(/-/g, \"\")\n return baseUrl + url\n else\n return \"\"\n\n if @.project.get(\"videoconferences_salt\")\n url = @.project.get(\"slug\") + \"-\" + @.project.get(\"videoconferences_salt\")\n else\n url = @.project.get(\"slug\")\n\n return baseUrl + url\n\nangular.module(\"taigaComponents\").controller(\"ProjectMenu\", ProjectMenuController)\n","taiga = @.taiga\n\nProjectMenuDirective = (projectService, lightboxFactory) ->\n link = (scope, el, attrs, ctrl) ->\n projectChange = () ->\n if projectService.project\n ctrl.show()\n else\n ctrl.hide()\n\n scope.$watch ( () ->\n return projectService.project\n ), projectChange\n\n return {\n scope: {},\n controller: \"ProjectMenu\",\n controllerAs: \"vm\",\n templateUrl: \"components/project-menu/project-menu.html\",\n link: link\n }\n\nProjectMenuDirective.$inject = [\n \"tgProjectService\",\n \"tgLightboxFactory\"\n]\n\nangular.module(\"taigaComponents\").directive(\"tgProjectMenu\", ProjectMenuDirective)\n","class FeedbackService extends taiga.Service\n @.$inject = [\"tgLightboxFactory\"]\n\n constructor: (@lightboxFactory) ->\n\n sendFeedback: ->\n @lightboxFactory.create(\"tg-lb-feedback\", {\n \"class\": \"lightbox lightbox-feedback lightbox-generic-form\"\n })\n\nangular.module(\"taigaFeedback\").service(\"tgFeedbackService\", FeedbackService)\n","DutyDirective = (navurls, $translate) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n scope.vm.duty = scope.duty\n\n scope.vm.getDutyType = () ->\n if scope.vm.duty\n if scope.vm.duty.get('_name') == \"userstories\"\n return $translate.instant(\"COMMON.USER_STORY\")\n if scope.vm.duty.get('_name') == \"tasks\"\n return $translate.instant(\"COMMON.TASK\")\n if scope.vm.duty.get('_name') == \"issues\"\n return $translate.instant(\"COMMON.ISSUE\")\n\n return {\n templateUrl: \"home/duties/duty.html\"\n scope: {\n \"duty\": \"=tgDuty\"\n }\n link: link\n }\n\nDutyDirective.$inject = [\n \"$tgNavUrls\",\n \"$translate\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgDuty\", DutyDirective)\n","groupBy = @.taiga.groupBy\n\nclass HomeService extends taiga.Service\n @.$inject = [\n \"$tgNavUrls\",\n \"tgResources\",\n \"tgProjectsService\"\n ]\n\n constructor: (@navurls, @rs, @projectsService) ->\n\n _attachProjectInfoToWorkInProgress: (workInProgress, projectsById) ->\n _attachProjectInfoToDuty = (duty, objType) =>\n project = projectsById.get(String(duty.get('project')))\n\n ctx = {\n project: project.get('slug')\n ref: duty.get('ref')\n }\n\n url = @navurls.resolve(\"project-#{objType}-detail\", ctx)\n\n duty = duty.set('url', url)\n duty = duty.set('projectName', project.get('name'))\n duty = duty.set(\"_name\", objType)\n\n return duty\n\n assignedTo = workInProgress.get(\"assignedTo\")\n\n if assignedTo.get(\"userStories\")\n _duties = assignedTo.get(\"userStories\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"userstories\")\n\n assignedTo = assignedTo.set(\"userStories\", _duties)\n\n if assignedTo.get(\"tasks\")\n _duties = assignedTo.get(\"tasks\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"tasks\")\n\n assignedTo = assignedTo.set(\"tasks\", _duties)\n\n if assignedTo.get(\"issues\")\n _duties = assignedTo.get(\"issues\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"issues\")\n\n assignedTo = assignedTo.set(\"issues\", _duties)\n\n watching = workInProgress.get(\"watching\")\n\n if watching.get(\"userStories\")\n _duties = watching.get(\"userStories\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"userstories\")\n\n watching = watching.set(\"userStories\", _duties)\n\n if watching.get(\"tasks\")\n _duties = watching.get(\"tasks\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"tasks\")\n\n watching = watching.set(\"tasks\", _duties)\n\n if watching.get(\"issues\")\n _duties = watching.get(\"issues\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"issues\")\n\n watching = watching.set(\"issues\", _duties)\n\n\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo)\n workInProgress = workInProgress.set(\"watching\", watching)\n\n\n getWorkInProgress: (userId) ->\n projectsById = Immutable.Map()\n\n projectsPromise = @projectsService.getProjectsByUserId(userId).then (projects) ->\n projectsById = Immutable.fromJS(groupBy(projects.toJS(), (p) -> p.id))\n\n assignedTo = Immutable.Map()\n\n params = {\n status__is_closed: false\n assigned_to: userId\n }\n\n params_us = {\n is_closed: false\n assigned_to: userId\n }\n\n assignedUserStoriesPromise = @rs.userstories.listInAllProjects(params_us).then (userstories) ->\n assignedTo = assignedTo.set(\"userStories\", userstories)\n\n assignedTasksPromise = @rs.tasks.listInAllProjects(params).then (tasks) ->\n assignedTo = assignedTo.set(\"tasks\", tasks)\n\n assignedIssuesPromise = @rs.issues.listInAllProjects(params).then (issues) ->\n assignedTo = assignedTo.set(\"issues\", issues)\n\n params = {\n status__is_closed: false\n watchers: userId\n }\n\n params_us = {\n is_closed: false\n watchers: userId\n }\n\n watching = Immutable.Map()\n\n watchingUserStoriesPromise = @rs.userstories.listInAllProjects(params_us).then (userstories) ->\n watching = watching.set(\"userStories\", userstories)\n\n watchingTasksPromise = @rs.tasks.listInAllProjects(params).then (tasks) ->\n watching = watching.set(\"tasks\", tasks)\n\n watchingIssuesPromise = @rs.issues.listInAllProjects(params).then (issues) ->\n watching = watching.set(\"issues\", issues)\n\n workInProgress = Immutable.Map()\n\n Promise.all([\n projectsPromise\n assignedUserStoriesPromise,\n assignedTasksPromise,\n assignedIssuesPromise,\n watchingUserStoriesPromise,\n watchingTasksPromise,\n watchingIssuesPromise\n ]).then =>\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo)\n workInProgress = workInProgress.set(\"watching\", watching)\n\n workInProgress = @._attachProjectInfoToWorkInProgress(workInProgress, projectsById)\n\n return workInProgress\n\nangular.module(\"taigaHome\").service(\"tgHomeService\", HomeService)\n","HomeProjectListDirective = (currentUserService, projectsService) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n\n scope.vm.newProject = ->\n projectsService.newProject()\n\n directive = {\n templateUrl: \"home/projects/home-project-list.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nHomeProjectListDirective.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgHomeProjectList\", HomeProjectListDirective)\n","class WorkingOnController\n @.$inject = [\n \"tgHomeService\"\n ]\n\n constructor: (@homeService) ->\n @.assignedTo = Immutable.Map()\n @.watching = Immutable.Map()\n\n _setAssignedTo: (workInProgress) ->\n userStories = workInProgress.get(\"assignedTo\").get(\"userStories\")\n tasks = workInProgress.get(\"assignedTo\").get(\"tasks\")\n issues = workInProgress.get(\"assignedTo\").get(\"issues\")\n\n @.assignedTo = userStories.concat(tasks).concat(issues)\n if @.assignedTo.size > 0\n @.assignedTo = @.assignedTo.sortBy((elem) -> elem.get(\"modified_date\")).reverse()\n\n _setWatching: (workInProgress) ->\n userStories = workInProgress.get(\"watching\").get(\"userStories\")\n tasks = workInProgress.get(\"watching\").get(\"tasks\")\n issues = workInProgress.get(\"watching\").get(\"issues\")\n\n @.watching = userStories.concat(tasks).concat(issues)\n if @.watching.size > 0\n @.watching = @.watching.sortBy((elem) -> elem.get(\"modified_date\")).reverse()\n\n getWorkInProgress: (userId) ->\n return @homeService.getWorkInProgress(userId).then (workInProgress) =>\n @._setAssignedTo(workInProgress)\n @._setWatching(workInProgress)\n\nangular.module(\"taigaHome\").controller(\"WorkingOn\", WorkingOnController)\n","WorkingOnDirective = (homeService, currentUserService) ->\n link = (scope, el, attrs, ctrl) ->\n user = currentUserService.getUser()\n # If we are not logged in the user will be null\n if user\n userId = user.get(\"id\")\n ctrl.getWorkInProgress(userId)\n\n return {\n controller: \"WorkingOn\",\n controllerAs: \"vm\",\n templateUrl: \"home/working-on/working-on.html\",\n scope: {},\n link: link\n }\n\nWorkingOnDirective.$inject = [\n \"tgHomeService\",\n \"tgCurrentUserService\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgWorkingOn\", WorkingOnDirective)\n","DropdownProjectListDirective = (currentUserService, projectsService) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n\n scope.vm.newProject = ->\n projectsService.newProject()\n\n directive = {\n templateUrl: \"navigation-bar/dropdown-project-list/dropdown-project-list.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nDropdownProjectListDirective.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgDropdownProjectList\", DropdownProjectListDirective)\n","DropdownUserDirective = (authService, configService, locationService,\n navUrlsService, feedbackService) ->\n\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n scope.vm.isFeedbackEnabled = configService.get(\"feedbackEnabled\")\n taiga.defineImmutableProperty(scope.vm, \"user\", () -> authService.userData)\n\n scope.vm.logout = ->\n authService.logout()\n locationService.path(navUrlsService.resolve(\"login\"))\n\n scope.vm.sendFeedback = ->\n feedbackService.sendFeedback()\n\n directive = {\n templateUrl: \"navigation-bar/dropdown-user/dropdown-user.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nDropdownUserDirective.$inject = [\n \"$tgAuth\",\n \"$tgConfig\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgFeedbackService\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgDropdownUser\", DropdownUserDirective)\n","NavigationBarDirective = (currentUserService, $location) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n scope.$on \"$routeChangeSuccess\", () ->\n if $location.path() == \"/\"\n scope.vm.active = true\n else\n scope.vm.active = false\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n taiga.defineImmutableProperty(scope.vm, \"isAuthenticated\", () -> currentUserService.isAuthenticated())\n\n directive = {\n templateUrl: \"navigation-bar/navigation-bar.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nNavigationBarDirective.$inject = [\n \"tgCurrentUserService\",\n \"$location\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgNavigationBar\", NavigationBarDirective)\n","class ProfileBarController\n @.$inject = [\n \"tgUserService\"\n ]\n\n constructor: (@userService) ->\n @.loadStats()\n\n loadStats: () ->\n return @userService.getStats(@.user.get(\"id\")).then (stats) =>\n @.stats = stats\n\nangular.module(\"taigaProfile\").controller(\"ProfileBar\", ProfileBarController)\n","ProfileBarDirective = () ->\n return {\n templateUrl: \"profile/profile-bar/profile-bar.html\",\n controller: \"ProfileBar\",\n controllerAs: \"vm\",\n scope: {\n user: \"=user\",\n isCurrentUser: \"=iscurrentuser\"\n },\n bindToController: true\n }\n\n\nangular.module(\"taigaProfile\").directive(\"tgProfileBar\", ProfileBarDirective)\n","class ProfileContactsController\n @.$inject = [\n \"tgUserService\",\n \"tgCurrentUserService\"\n ]\n\n constructor: (@userService, @currentUserService) ->\n @.currentUser = @currentUserService.getUser()\n\n @.isCurrentUser = false\n\n if @.currentUser && @.currentUser.get(\"id\") == @.user.get(\"id\")\n @.isCurrentUser = true\n\n loadContacts: () ->\n @userService.getContacts(@.user.get(\"id\"))\n .then (contacts) =>\n @.contacts = contacts\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileContacts\", ProfileContactsController)\n","ProfileContactsDirective = () ->\n link = (scope, elm, attrs, ctrl) ->\n ctrl.loadContacts()\n\n return {\n templateUrl: \"profile/profile-contacts/profile-contacts.html\",\n scope: {\n user: \"=\"\n },\n controllerAs: \"vm\",\n controller: \"ProfileContacts\",\n link: link,\n bindToController: true\n }\n\nangular.module(\"taigaProfile\").directive(\"tgProfileContacts\", ProfileContactsDirective)\n","class ProfileHints\n HINTS: [\n { #hint1\n url: \"https://taiga.io/support/import-export-projects/\"\n },\n { #hint2\n url: \"https://taiga.io/support/custom-fields/\"\n },\n { #hint3\n },\n { #hint4\n }\n ]\n constructor: (@translate) ->\n hintKey = Math.floor(Math.random() * @.HINTS.length) + 1\n\n @.hint = @.HINTS[hintKey - 1]\n\n @.hint.linkText = @.hint.linkText || 'HINTS.LINK'\n\n @.hint.title = @translate.instant(\"HINTS.HINT#{hintKey}_TITLE\")\n\n @.hint.text = @translate.instant(\"HINTS.HINT#{hintKey}_TEXT\")\n\nProfileHints.$inject = [\n \"$translate\"\n]\n\nangular.module(\"taigaProfile\").controller(\"ProfileHints\", ProfileHints)\n","ProfileHints = ($translate) ->\n return {\n scope: {},\n controller: \"ProfileHints\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-hints/profile-hints.html\"\n }\n\nProfileHints.$inject = [\n \"$translate\"\n]\n\nangular.module(\"taigaProfile\").directive(\"tgProfileHints\", ProfileHints)\n","class ProfileProjectsController\n @.$inject = [\n \"tgProjectsService\",\n \"tgUserService\"\n ]\n\n constructor: (@projectsService, @userService) ->\n\n loadProjects: () ->\n @projectsService.getProjectsByUserId(@.user.get(\"id\"))\n .then (projects) =>\n return @userService.attachUserContactsToProjects(@.user.get(\"id\"), projects)\n .then (projects) =>\n @.projects = projects\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileProjects\", ProfileProjectsController)\n","ProfileProjectsDirective = () ->\n link = (scope, elm, attr, ctrl) ->\n ctrl.loadProjects()\n\n return {\n templateUrl: \"profile/profile-projects/profile-projects.html\",\n scope: {\n user: \"=\"\n },\n link: link\n bindToController: true,\n controllerAs: \"vm\",\n controller: \"ProfileProjects\"\n }\n\nangular.module(\"taigaProfile\").directive(\"tgProfileProjects\", ProfileProjectsDirective)\n","ProfileTabDirective = () ->\n link = (scope, element, attrs, ctrl, transclude) ->\n scope.tab = {}\n\n attrs.$observe \"tabTitle\", (title) ->\n scope.tab.title = title\n\n scope.tab.name = attrs.tgProfileTab\n scope.tab.icon = attrs.tabIcon\n scope.tab.active = !!attrs.tabActive\n\n if scope.$eval(attrs.tabDisabled) != true\n ctrl.addTab(scope.tab)\n\n return {\n templateUrl: \"profile/profile-tab/profile-tab.html\",\n scope: {},\n require: \"^tgProfileTabs\",\n link: link,\n transclude: true\n }\n\nangular.module(\"taigaProfile\")\n .directive(\"tgProfileTab\", ProfileTabDirective)\n","class ProfileTabsController\n constructor: () ->\n @tabs = []\n\n addTab: (tab) ->\n @tabs.push(tab)\n\n toggleTab: (tab) ->\n _.map @tabs, (tab) -> tab.active = false\n\n tab.active = true\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileTabs\", ProfileTabsController)\n","ProfileTabsDirective = () ->\n return {\n scope: {}\n controller: \"ProfileTabs\"\n controllerAs: \"vm\"\n templateUrl: \"profile/profile-tabs/profile-tabs.html\"\n transclude: true\n }\n\nangular.module(\"taigaProfile\")\n .directive(\"tgProfileTabs\", ProfileTabsDirective)\n","class ProfileController\n @.$inject = [\n \"tgAppMetaService\",\n \"tgCurrentUserService\",\n \"$routeParams\",\n \"tgUserService\",\n \"tgXhrErrorService\",\n \"$translate\"\n ]\n\n constructor: (@appMetaService, @currentUserService, @routeParams, @userService, @xhrError, @translate) ->\n @.isCurrentUser = false\n\n if @routeParams.slug\n @userService\n .getUserByUserName(@routeParams.slug)\n .then (user) =>\n if !user.get('is_active')\n @xhrError.notFound()\n else\n @.user = user\n @.isCurrentUser = false\n @._setMeta(@.user)\n\n return user\n .catch (xhr) =>\n return @xhrError.response(xhr)\n\n else\n @.user = @currentUserService.getUser()\n @.isCurrentUser = true\n @._setMeta(@.user)\n\n _setMeta: (user) ->\n ctx = {\n userFullName: user.get(\"full_name_display\"),\n userUsername: user.get(\"username\")\n }\n\n title = @translate.instant(\"USER.PROFILE.PAGE_TITLE\", ctx)\n\n description = user.get(\"bio\")\n @appMetaService.setAll(title, description)\n\nangular.module(\"taigaProfile\").controller(\"Profile\", ProfileController)\n","SortProjectsDirective = (currentUserService) ->\n link = (scope, el, attrs, ctrl) ->\n itemEl = null\n\n el.sortable({\n dropOnEmpty: true\n revert: 200\n axis: \"y\"\n opacity: .95\n placeholder: 'placeholder'\n cancel: '.project-name' \n })\n\n el.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n project = itemEl.scope().project\n index = itemEl.index()\n\n sorted_project_ids = _.map(scope.projects.toJS(), (p) -> p.id)\n sorted_project_ids = _.without(sorted_project_ids, project.get(\"id\"))\n sorted_project_ids.splice(index, 0, project.get('id'))\n\n sortData = []\n\n for value, index in sorted_project_ids\n sortData.push({\"project_id\": value, \"order\":index})\n\n currentUserService.bulkUpdateProjectsOrder(sortData)\n\n directive = {\n scope: {\n projects: \"=tgSortProjects\"\n },\n link: link\n }\n\n return directive\n\nangular.module(\"taigaProjects\").directive(\"tgSortProjects\", [\"tgCurrentUserService\", SortProjectsDirective])\n","class ProjectsListingController\n @.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\",\n ]\n\n constructor: (@currentUserService, @projectsService) ->\n taiga.defineImmutableProperty(@, \"projects\", () => @currentUserService.projects.get(\"all\"))\n\n newProject: ->\n @projectsService.newProject()\n\nangular.module(\"taigaProjects\").controller(\"ProjectsListing\", ProjectsListingController)\n","class ProjectController\n @.$inject = [\n \"tgProjectsService\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$tgAuth\",\n \"tgXhrErrorService\",\n \"$translate\"\n ]\n\n constructor: (@projectsService, @routeParams, @appMetaService, @auth, @xhrError, @translate) ->\n projectSlug = @routeParams.pslug\n @.user = @auth.userData\n\n @projectsService\n .getProjectBySlug(projectSlug)\n .then (project) =>\n @.project = project\n @._setMeta(@.project)\n\n .catch (xhr) =>\n @xhrError.response(xhr)\n\n _setMeta: (project)->\n ctx = {projectName: project.get(\"name\")}\n\n title = @translate.instant(\"PROJECT.PAGE_TITLE\", ctx)\n description = project.get(\"description\")\n @appMetaService.setAll(title, description)\n\nangular.module(\"taigaProjects\").controller(\"Project\", ProjectController)\n","taiga = @.taiga\ngroupBy = @.taiga.groupBy\n\nclass ProjectsService extends taiga.Service\n @.$inject = [\"tgResources\", \"$projectUrl\", \"tgLightboxFactory\"]\n\n constructor: (@rs, @projectUrl, @lightboxFactory) ->\n\n getProjectBySlug: (projectSlug) ->\n return @rs.projects.getProjectBySlug(projectSlug)\n .then (project) =>\n return @._decorate(project)\n\n getProjectStats: (projectId) ->\n return @rs.projects.getProjectStats(projectId)\n\n getProjectsByUserId: (userId, paginate) ->\n return @rs.projects.getProjectsByUserId(userId, paginate)\n .then (projects) =>\n return projects.map @._decorate.bind(@)\n\n _decorate: (project) ->\n url = @projectUrl.get(project.toJS())\n\n project = project.set(\"url\", url)\n colorized_tags = []\n\n if project.get(\"tags\")\n tags = project.get(\"tags\").sort()\n\n colorized_tags = tags.map (tag) ->\n color = project.get(\"tags_colors\").get(tag)\n return Immutable.fromJS({name: tag, color: color})\n\n project = project.set(\"colorized_tags\", colorized_tags)\n\n return project\n\n newProject: ->\n @lightboxFactory.create(\"tg-lb-create-project\", {\n \"class\": \"wizard-create-project\"\n })\n\n bulkUpdateProjectsOrder: (sortData) ->\n return @rs.projects.bulkUpdateOrder(sortData)\n\nangular.module(\"taigaProjects\").service(\"tgProjectsService\", ProjectsService)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"issues\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"issues\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgIssuesResource\", Resource)\n","pagination = () ->\n\nResource = (urlsService, http, paginateResponseService) ->\n service = {}\n\n service.getProjectBySlug = (projectSlug) ->\n url = urlsService.resolve(\"projects\")\n\n url = \"#{url}/by_slug?slug=#{projectSlug}\"\n\n return http.get(url)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProjectsByUserId = (userId, paginate=false) ->\n url = urlsService.resolve(\"projects\")\n httpOptions = {}\n\n if !paginate\n httpOptions.headers = {\n \"x-disable-pagination\": \"1\"\n }\n\n params = {\"member\": userId, \"order_by\": \"memberships__user_order\"}\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProjectStats = (projectId) ->\n url = urlsService.resolve(\"projects\")\n url = \"#{url}/#{projectId}\"\n\n return http.get(url)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.bulkUpdateOrder = (bulkData) ->\n url = urlsService.resolve(\"bulk-update-projects-order\")\n return http.post(url, bulkData)\n\n service.getTimeline = (projectId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-project\")\n url = \"#{url}/#{projectId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n return () ->\n return {\"projects\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgProjectsResources\", Resource)\n","services = [\n \"tgProjectsResources\",\n \"tgUsersResources\",\n \"tgUserstoriesResource\",\n \"tgTasksResource\",\n \"tgIssuesResource\"\n]\n\nResources = ($injector) ->\n for serviceName in services\n serviceFn = $injector.get(serviceName)\n\n service = $injector.invoke(serviceFn)\n\n for serviceProperty in Object.keys(service)\n if @[serviceProperty]\n console.warm(\"repeated resource \" + serviceProperty)\n\n @[serviceProperty] = service[serviceProperty]\n\n return @\n\n\nResources.$inject = [\"$injector\"]\n\nangular.module(\"taigaResources2\").service(\"tgResources\", Resources)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"tasks\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"tasks\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgTasksResource\", Resource)\n","Resource = (urlsService, http, paginateResponseService) ->\n service = {}\n\n service.getUserByUsername = (username) ->\n url = urlsService.resolve(\"by_username\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n params = {\n username: username\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getStats = (userId) ->\n url = urlsService.resolve(\"stats\", userId)\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, {}, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getContacts = (userId) ->\n url = urlsService.resolve(\"contacts\", userId)\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, {}, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProfileTimeline = (userId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-profile\")\n url = \"#{url}/#{userId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n service.getUserTimeline = (userId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-user\")\n url = \"#{url}/#{userId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n return () ->\n return {\"users\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgUsersResources\", Resource)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"userstories\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"userstories\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgUserstoriesResource\", Resource)\n","taiga = @.taiga\n\ntruncate = taiga.truncate\n\n\nclass AppMetaService extends taiga.Service = ->\n _set: (key, value) ->\n return if not key\n\n if key == \"title\"\n meta = $(\"title\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.text(value or \"\")\n else if key.indexOf(\"og:\") == 0\n meta = $(\"meta[property='#{key}']\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.attr(\"content\", value or \"\")\n else\n meta = $(\"meta[name='#{key}']\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.attr(\"content\", value or \"\")\n\n setTitle: (title) ->\n @._set('title', title)\n\n setDescription: (description) ->\n @._set(\"description\", truncate(description, 250))\n\n setTwitterMetas: (title, description) ->\n @._set(\"twitter:card\", \"summary\")\n @._set(\"twitter:site\", \"@taigaio\")\n @._set(\"twitter:title\", title)\n @._set(\"twitter:description\", truncate(description, 300))\n @._set(\"twitter:image\", \"#{window.location.origin}/images/logo-color.png\")\n\n setOpenGraphMetas: (title, description) ->\n @._set(\"og:type\", \"object\")\n @._set(\"og:site_name\", \"Taiga - Love your projects\")\n @._set(\"og:title\", title)\n @._set(\"og:description\", truncate(description, 300))\n @._set(\"og:image\", \"#{window.location.origin}/images/logo-color.png\")\n @._set(\"og:url\", window.location.href)\n\n setAll: (title, description) ->\n @.setTitle(title)\n @.setDescription(description)\n @.setTwitterMetas(title, description)\n @.setOpenGraphMetas(title, description)\n\n\nangular.module(\"taigaCommon\").service(\"tgAppMetaService\", AppMetaService)\n","taiga = @.taiga\n\ngroupBy = @.taiga.groupBy\n\nclass CurrentUserService\n @.$inject = [\n \"tgProjectsService\",\n \"$tgStorage\"\n ]\n\n constructor: (@projectsService, @storageService) ->\n @._user = null\n @._projects = Immutable.Map()\n @._projectsById = Immutable.Map()\n\n taiga.defineImmutableProperty @, \"projects\", () => return @._projects\n taiga.defineImmutableProperty @, \"projectsById\", () => return @._projectsById\n\n isAuthenticated: ->\n if @.getUser() != null\n return true\n return false\n\n getUser: () ->\n if !@._user\n userData = @storageService.get(\"userInfo\")\n\n if userData\n userData = Immutable.fromJS(userData)\n @.setUser(userData)\n\n return @._user\n\n removeUser: () ->\n @._user = null\n @._projects = Immutable.Map()\n @._projectsById = Immutable.Map()\n\n setUser: (user) ->\n @._user = user\n\n return @._loadUserInfo()\n\n bulkUpdateProjectsOrder: (sortData) ->\n @projectsService.bulkUpdateProjectsOrder(sortData).then () =>\n @._loadProjects()\n\n _loadProjects: () ->\n return @projectsService.getProjectsByUserId(@._user.get(\"id\"))\n .then (projects) =>\n @._projects = @._projects.set(\"all\", projects)\n @._projects = @._projects.set(\"recents\", projects.slice(0, 10))\n\n @._projectsById = Immutable.fromJS(groupBy(projects.toJS(), (p) -> p.id))\n\n return @.projects\n\n _loadUserInfo: () ->\n return @._loadProjects()\n\nangular.module(\"taigaCommon\").service(\"tgCurrentUserService\", CurrentUserService)\n","class LightboxFactory\n @.$inject = [\"$rootScope\", \"$compile\"]\n constructor: (@rootScope, @compile) ->\n\n create: (name, attrs) ->\n scope = @rootScope.$new()\n\n elm = $(\"
\")\n .attr(name, true)\n .attr(\"tg-bind-scope\", true)\n\n if attrs\n elm.attr(attrs)\n\n elm.addClass(\"remove-on-close\")\n\n html = @compile(elm)(scope)\n\n $(document.body).append(html)\n\n return\n\nangular.module(\"taigaCommon\").service(\"tgLightboxFactory\", LightboxFactory)\n","PaginateResponse = () ->\n return (result) ->\n paginateResponse = Immutable.Map({\n \"data\": result.get(\"data\"),\n \"next\": !!result.get(\"headers\")(\"x-pagination-next\"),\n \"prev\": !!result.get(\"headers\")(\"x-pagination-prev\"),\n \"current\": result.get(\"headers\")(\"x-pagination-current\"),\n \"count\": result.get(\"headers\")(\"x-pagination-count\")\n })\n\n return paginateResponse\n\nangular.module(\"taigaCommon\").factory(\"tgPaginateResponseService\", PaginateResponse)\n","taiga = @.taiga\n\nclass ProjectService\n @.$inject = [\n \"tgProjectsService\"\n ]\n\n constructor: (@projectsService) ->\n @._project = null\n @._section = null\n @._sectionsBreadcrumb = Immutable.List()\n\n taiga.defineImmutableProperty @, \"project\", () => return @._project\n taiga.defineImmutableProperty @, \"section\", () => return @._section\n taiga.defineImmutableProperty @, \"sectionsBreadcrumb\", () => return @._sectionsBreadcrumb\n\n setSection: (section) ->\n @._section = section\n\n if section\n @._sectionsBreadcrumb = @._sectionsBreadcrumb.push(@._section)\n else\n @._sectionsBreadcrumb = Immutable.List()\n\n setProject: (pslug) ->\n if @._pslug != pslug\n @._pslug = pslug\n\n @.fetchProject()\n\n cleanProject: () ->\n @._pslug = null\n @._project = null\n @._section = null\n @._sectionsBreadcrumb = Immutable.List()\n\n fetchProject: () ->\n return @projectsService.getProjectBySlug(@._pslug).then (project) =>\n @._project = project\n\nangular.module(\"taigaCommon\").service(\"tgProjectService\", ProjectService)\n","class ScopeEvent\n scopes: {},\n _searchDuplicatedScopes: (id) ->\n return _.find Object.keys(@scopes), (key) =>\n return @scopes[key].$id == id\n\n _create: (name, scope) ->\n duplicatedScopeName = @._searchDuplicatedScopes(scope.$id)\n\n if duplicatedScopeName\n throw new Error(\"scopeEvent: this scope is already\n register with the name \\\"\" + duplicatedScopeName + \"\\\"\")\n\n if @scopes[name]\n throw new Error(\"scopeEvent: \\\"\" + name + \"\\\" already in use\")\n else\n scope._tgEmitter = new EventEmitter2()\n\n scope.$on \"$destroy\", () =>\n scope._tgEmitter.removeAllListeners()\n delete @scopes[name]\n\n @scopes[name] = scope\n\n emitter: (name, scope) ->\n if scope\n scope = @._create(name, scope)\n else if @scopes[name]\n scope = @scopes[name]\n else\n throw new Error(\"scopeEvent: \\\"\" + name + \"\\\" scope doesn't exist'\")\n\n return scope._tgEmitter\n\nangular.module(\"taigaCommon\").service(\"tgScopeEvent\", ScopeEvent)\n","taiga = @.taiga\n\nclass UserService extends taiga.Service\n @.$inject = [\"tgResources\"]\n\n constructor: (@rs) ->\n\n getUserByUserName: (username) ->\n return @rs.users.getUserByUsername(username)\n\n getContacts: (userId) ->\n return @rs.users.getContacts(userId)\n\n getStats: (userId) ->\n return @rs.users.getStats(userId)\n\n attachUserContactsToProjects: (userId, projects) ->\n return @.getContacts(userId)\n .then (contacts) ->\n projects = projects.map (project) ->\n contactsFiltered = contacts.filter (contact) ->\n contactId = contact.get(\"id\")\n return project.get('members').indexOf(contactId) != -1\n\n project = project.set(\"contacts\", contactsFiltered)\n\n return project\n\n return projects\n\nangular.module(\"taigaCommon\").service(\"tgUserService\", UserService)\n","class xhrError extends taiga.Service\n @.$inject = [\n \"$q\",\n \"$location\",\n \"$tgNavUrls\"\n ]\n\n constructor: (@q, @location, @navUrls) ->\n\n notFound: () ->\n @location.path(@navUrls.resolve(\"not-found\"))\n @location.replace()\n\n permissionDenied: () ->\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n response: (xhr) ->\n if xhr\n if xhr.status == 404\n @.notFound()\n\n else if xhr.status == 403\n @.permissionDenied()\n\n return @q.reject(xhr)\n\nangular.module(\"taigaCommon\").service(\"tgXhrErrorService\", xhrError)\n","UserTimelineAttachmentDirective = (template, $compile) ->\n validFileExtensions = [\".jpg\", \".jpeg\", \".bmp\", \".gif\", \".png\"]\n\n isImage = (url) ->\n url = url.toLowerCase()\n\n return _.some validFileExtensions, (extension) ->\n return url.indexOf(extension, url - extension.length) != -1\n\n link = (scope, el) ->\n is_image = isImage(scope.attachment.url)\n\n if is_image\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment-image.html\")\n else\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment.html\")\n\n el.html(templateHtml)\n $compile(el.contents())(scope)\n\n el.find(\"img\").error () -> @.remove()\n\n return {\n link: link\n scope: {\n attachment: \"=tgUserTimelineAttachment\"\n }\n }\n\nUserTimelineAttachmentDirective.$inject = [\n \"$tgTemplate\",\n \"$compile\"\n]\n\nangular.module(\"taigaUserTimeline\")\n .directive(\"tgUserTimelineAttachment\", UserTimelineAttachmentDirective)\n","unslugify = @.taiga.unslugify\n\nclass UserTimelineItemTitle\n @.$inject = [\n \"$translate\"\n ]\n\n _fieldTranslationKey: {\n 'status': 'COMMON.FIELDS.STATUS',\n 'subject': 'COMMON.FIELDS.SUBJECT',\n 'description_diff': 'COMMON.FIELDS.DESCRIPTION',\n 'points': 'COMMON.FIELDS.POINTS',\n 'assigned_to': 'COMMON.FIELDS.ASSIGNED_TO',\n 'severity': 'ISSUES.FIELDS.SEVERITY',\n 'priority': 'ISSUES.FIELDS.PRIORITY',\n 'type': 'ISSUES.FIELDS.TYPE',\n 'is_iocaine': 'TASK.FIELDS.IS_IOCAINE'\n }\n\n constructor: (@translate) ->\n\n\n _translateTitleParams: (param, timeline, event) ->\n if param == \"username\"\n user = timeline.data.user\n title_attr = @translate.instant('COMMON.SEE_USER_PROFILE', {username: user.username})\n url = 'user-profile:username=vm.activity.user.username'\n\n return @._getLink(url, user.name, title_attr)\n\n else if param == 'field_name'\n field_name = Object.keys(timeline.data.values_diff)[0]\n\n return @translate.instant(@._fieldTranslationKey[field_name])\n\n else if param == 'project_name'\n url = 'project:project=vm.activity.project.slug'\n\n return @._getLink(url, timeline.data.project.name)\n\n else if param == 'sprint_name'\n url = 'project-taskboard:project=vm.activity.project.slug,sprint=vm.activity.sprint.slug'\n\n return @._getLink(url, timeline.data.milestone.name)\n\n else if param == 'us_name'\n obj = @._getTimelineObj(timeline, event).userstory\n\n event_us = {obj: 'parent_userstory'}\n url = @._getDetailObjUrl(event_us)\n\n text = '#' + obj.ref + ' ' + obj.subject\n\n return @._getLink(url, text)\n\n else if param == 'obj_name'\n obj = @._getTimelineObj(timeline, event)\n url = @._getDetailObjUrl(event)\n\n if event.obj == 'wikipage'\n text = unslugify(obj.slug)\n else if event.obj == 'milestone'\n text = obj.name\n else\n text = '#' + obj.ref + ' ' + obj.subject\n\n return @._getLink(url, text)\n\n _getTimelineObj: (timeline, event) ->\n return timeline.data[event.obj]\n\n _getDetailObjUrl: (event) ->\n url = {\n \"issue\": [\"project-issues-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"wikipage\": [\"project-wiki-page\", \":project=vm.activity.project.slug,slug=vm.activity.obj.slug\"],\n \"task\": [\"project-tasks-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"userstory\": [\"project-userstories-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"parent_userstory\": [\"project-userstories-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.userstory.ref\"],\n \"milestone\": [\"project-taskboard\", \":project=vm.activity.project.slug,sprint=vm.activity.obj.slug\"]\n }\n\n return url[event.obj][0] + url[event.obj][1]\n\n _getLink: (url, text, title) ->\n title = title || text\n\n return $('')\n .attr('tg-nav', url)\n .text(text)\n .attr('title', title)\n .prop('outerHTML')\n\n _getParams: (timeline, event, timeline_type) ->\n params = {}\n\n timeline_type.translate_params.forEach (param) =>\n params[param] = @._translateTitleParams(param, timeline, event)\n\n return params\n\n getTitle: (timeline, event, type) ->\n return @translate.instant(type.key, @._getParams(timeline, event, type))\n\nangular.module(\"taigaUserTimeline\")\n .service(\"tgUserTimelineItemTitle\", UserTimelineItemTitle)\n","timelineType = (timeline, event) ->\n types = [\n { # NewMember\n check: (timeline, event) ->\n return event.obj == 'membership'\n key: 'TIMELINE.NEW_MEMBER',\n translate_params: ['project_name']\n member: (timeline) ->\n return {\n user: timeline.data.user,\n role: timeline.data.role\n }\n },\n { # NewProject\n check: (timeline, event) ->\n return event.obj == 'project' && event.type == 'create'\n key: 'TIMELINE.NEW_PROJECT',\n translate_params: ['username', 'project_name'],\n description: (timeline) ->\n return timeline.data.project.description\n },\n { # NewAttachment\n check: (timeline, event) ->\n return event.type == 'change' && timeline.data.values_diff.attachments\n key: 'TIMELINE.UPLOAD_ATTACHMENT',\n translate_params: ['username', 'obj_name']\n },\n { # NewUs\n check: (timeline, event) ->\n return event.obj == 'userstory' && event.type == 'create'\n key: 'TIMELINE.US_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewIssue\n check: (timeline, event) ->\n return event.obj == 'issue' && event.type == 'create'\n key: 'TIMELINE.ISSUE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewWiki\n check: (timeline, event) ->\n return event.obj == 'wikipage' && event.type == 'create'\n key: 'TIMELINE.WIKI_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewTask\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'create' && !timeline.data.task.userstory\n key: 'TIMELINE.TASK_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewTask with US\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'create' && timeline.data.task.userstory\n key: 'TIMELINE.TASK_CREATED_WITH_US',\n translate_params: ['username', 'project_name', 'obj_name', 'us_name']\n },\n { # NewMilestone\n check: (timeline, event) ->\n return event.obj == 'milestone' && event.type == 'create'\n key: 'TIMELINE.MILESTONE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewUsComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'userstory'\n key: 'TIMELINE.NEW_COMMENT_US',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # NewIssueComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'issue'\n key: 'TIMELINE.NEW_COMMENT_ISSUE',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # NewTaskComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'task'\n key: 'TIMELINE.NEW_COMMENT_TASK'\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # UsToMilestone\n check: (timeline, event, field_name) ->\n if field_name == 'milestone' && event.type == 'change'\n return timeline.data.values_diff.milestone[0] == null\n\n return false\n key: 'TIMELINE.US_ADDED_MILESTONE',\n translate_params: ['username', 'obj_name', 'sprint_name']\n },\n { # UsToBacklog\n check: (timeline, event, field_name) ->\n if field_name == 'milestone' && event.type == 'change'\n return timeline.data.values_diff.milestone[1] == null\n\n return false\n key: 'TIMELINE.US_REMOVED_FROM_MILESTONE',\n translate_params: ['username', 'obj_name']\n },\n { # Blocked\n check: (timeline, event) ->\n if event.type == 'change' && timeline.data.values_diff.is_blocked\n return timeline.data.values_diff.is_blocked[1] == true\n\n return false\n key: 'TIMELINE.BLOCKED',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n if timeline.data.values_diff.blocked_note_html\n return $(timeline.data.values_diff.blocked_note_html[1]).text()\n else\n return false\n },\n { # UnBlocked\n check: (timeline, event) ->\n if event.type == 'change' && timeline.data.values_diff.is_blocked\n return timeline.data.values_diff.is_blocked[1] == false\n\n return false\n key: 'TIMELINE.UNBLOCKED',\n translate_params: ['username', 'obj_name']\n },\n { # MilestoneUpdated\n check: (timeline, event) ->\n return event.obj == 'milestone' && event.type == 'change'\n key: 'TIMELINE.MILESTONE_UPDATED',\n translate_params: ['username', 'obj_name']\n },\n { # WikiUpdated\n check: (timeline, event) ->\n return event.obj == 'wikipage' && event.type == 'change'\n key: 'TIMELINE.WIKI_UPDATED',\n translate_params: ['username', 'obj_name']\n },\n { # UsUpdated\n check: (timeline, event) ->\n return event.obj == 'userstory' && event.type == 'change'\n key: 'TIMELINE.US_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # IssueUpdated\n check: (timeline, event) ->\n return event.obj == 'issue' && event.type == 'change'\n key: 'TIMELINE.ISSUE_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # TaskUpdated\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'change' && !timeline.data.task.userstory\n key: 'TIMELINE.TASK_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # TaskUpdated with US\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'change' && timeline.data.task.userstory\n key: 'TIMELINE.TASK_UPDATED_WITH_US',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name']\n },\n { # New User\n check: (timeline, event) ->\n return event.obj == 'user' && event.type == 'create'\n key: 'TIMELINE.NEW_USER',\n translate_params: ['username']\n }\n ]\n\n if timeline.data.values_diff\n field_name = Object.keys(timeline.data.values_diff)[0]\n\n return _.find types, (obj) ->\n return obj.check(timeline, event, field_name)\n\nclass UserTimelineType\n getType: (timeline, event) -> timelineType(timeline, event)\n\nangular.module(\"taigaUserTimeline\")\n .service(\"tgUserTimelineItemType\", UserTimelineType)\n","class UserTimelineItemController\n @.$inject = [\n \"tgUserTimelineItemType\",\n \"tgUserTimelineItemTitle\"\n ]\n\n constructor: (@userTimelineItemType, @userTimelineItemTitle) ->\n timeline = @.timeline.toJS()\n\n event = @.parseEventType(timeline.event_type)\n type = @userTimelineItemType.getType(timeline, event)\n\n @.activity = {}\n\n @.activity.user = timeline.data.user\n @.activity.project = timeline.data.project\n @.activity.sprint = timeline.data.milestone\n @.activity.title = @userTimelineItemTitle.getTitle(timeline, event, type)\n @.activity.created_formated = moment(timeline.created).fromNow()\n @.activity.obj = @.getObject(timeline, event)\n\n if type.description\n @.activity.description = type.description(timeline)\n\n if type.member\n @.activity.member = type.member(timeline)\n\n if timeline.data.values_diff?.attachments\n @.activity.attachments = timeline.data.values_diff.attachments.new\n\n parseEventType: (event_type) ->\n event_type = event_type.split(\".\")\n\n return {\n section: event_type[0],\n obj: event_type[1],\n type: event_type[2]\n }\n\n getObject: (timeline, event) ->\n if timeline.data[event.obj]\n return timeline.data[event.obj]\n\nangular.module(\"taigaUserTimeline\")\n .controller(\"UserTimelineItem\", UserTimelineItemController)\n","UserTimelineItemDirective = () ->\n return {\n controllerAs: \"vm\"\n controller: \"UserTimelineItem\"\n bindToController: true\n templateUrl: \"user-timeline/user-timeline-item/user-timeline-item.html\"\n scope: {\n timeline: \"=tgUserTimelineItem\"\n }\n }\n\nangular.module(\"taigaUserTimeline\")\n .directive(\"tgUserTimelineItem\", UserTimelineItemDirective)\n","UserTimelinePaginationSequence = () ->\n return (config) ->\n page = 1\n items = Immutable.List()\n\n config.minItems = config.minItems || 20\n\n next = () ->\n items = Immutable.List()\n return getContent()\n\n getContent = () ->\n config.fetch(page).then (response) ->\n page++\n\n data = response.get(\"data\")\n\n if config.filter\n data = config.filter(response.get(\"data\"))\n\n items = items.concat(data)\n\n if items.size < config.minItems && response.get(\"next\")\n return getContent()\n\n return Immutable.Map({\n items: items,\n next: response.get(\"next\")\n })\n\n return {\n next: () -> next()\n }\n\nangular.module(\"taigaUserTimeline\").factory(\"tgUserTimelinePaginationSequenceService\", UserTimelinePaginationSequence)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/profile/profile-timeline/profile-timeline.controller.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\n\nclass UserTimelineController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"tgUserTimelineService\"\n ]\n\n constructor: (@userTimelineService) ->\n @.timelineList = Immutable.List()\n @.scrollDisabled = false\n\n @.timeline = null\n\n if @.projectId\n @.timeline = @userTimelineService.getProjectTimeline(@.projectId)\n else if @.currentUser\n @.timeline = @userTimelineService.getProfileTimeline(@.user.get(\"id\"))\n else\n @.timeline = @userTimelineService.getUserTimeline(@.user.get(\"id\"))\n\n loadTimeline: () ->\n @.scrollDisabled = true\n\n return @.timeline\n .next()\n .then (response) =>\n @.timelineList = @.timelineList.concat(response.get(\"items\"))\n\n if response.get(\"next\")\n @.scrollDisabled = false\n\n return @.timelineList\n\nangular.module(\"taigaUserTimeline\")\n .controller(\"UserTimeline\", UserTimelineController)\n","UserTimelineDirective = ->\n return {\n templateUrl: \"user-timeline/user-timeline/user-timeline.html\",\n controller: \"UserTimeline\",\n controllerAs: \"vm\",\n scope: {\n projectId: \"=projectid\",\n user: \"=\",\n currentUser: \"=\"\n },\n bindToController: true\n }\n\nangular.module(\"taigaProfile\").directive(\"tgUserTimeline\", UserTimelineDirective)\n","taiga = @.taiga\n\nclass UserTimelineService extends taiga.Service\n @.$inject = [\"tgResources\", \"tgUserTimelinePaginationSequenceService\"]\n\n constructor: (@rs, @userTimelinePaginationSequenceService) ->\n\n _invalid: [\n {# Items with only invalid fields\n check: (timeline) ->\n values_diff = timeline.get(\"data\").get(\"values_diff\")\n\n if values_diff\n values = Object.keys(values_diff.toJS())\n\n if values && values.length\n if _.every(values, (value) => @._valid_fields.indexOf(value) == -1)\n return true\n else if values[0] == 'attachments' &&\n values_diff.get('attachments').get('new').size == 0\n return true\n\n return false\n },\n {# Deleted\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n return event[2] == 'delete'\n },\n {# Project change\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n return event[1] == 'project' && event[2] == 'change'\n },\n {# Comment deleted\n check: (timeline) ->\n return !!timeline.get(\"data\").get(\"comment_deleted\")\n },\n {# Task milestone\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n\n if event[1] == \"task\" && event[2] == \"change\"\n return timeline.get(\"data\").get(\"values_diff\").get(\"milestone\")\n\n return false\n }\n ]\n\n _valid_fields: [\n 'status',\n 'subject',\n 'description_diff',\n 'assigned_to',\n 'points',\n 'severity',\n 'priority',\n 'type',\n 'attachments',\n 'milestone',\n 'is_blocked',\n 'is_iocaine',\n 'content_diff',\n 'name',\n 'estimated_finish',\n 'estimated_start'\n ]\n\n _isInValidTimeline: (timeline) ->\n return _.some @._invalid, (invalid) =>\n return invalid.check.call(this, timeline)\n\n getProfileTimeline: (userId, page) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.users.getProfileTimeline(userId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\n getUserTimeline: (userId) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.users.getUserTimeline(userId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\n getProjectTimeline: (projectId) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.projects.getTimeline(projectId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\nangular.module(\"taigaUserTimeline\").service(\"tgUserTimelineService\", UserTimelineService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: pluggins/main.coffee\n###\n\nmodule = angular.module(\"taigaPlugins\", [\"ngRoute\"])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: plugins/humanshtml/humanshtml.coffee\n###\n\n# Simple plugin example that extends the urlmappings\n# and add additional template.\n\ntaiga = @.taiga\nmodule = angular.module(\"taigaPlugins\")\n\nconfigure = ($routeProvider) ->\n $routeProvider.when(\"/humans.html\", {\"templateUrl\": \"/plugins/humanshtml/templates/humans.html\"})\n\nmodule.config([\"$routeProvider\", configure])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: plugins/terms/terms.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaPlugins\")\n\ntemplate = _.template(\"\"\"\n

\n By clicking \"Sign up\", you agree to our
\n
\" title=\"See terms of service\" target=\"_blank\"> terms of service\n and\n \" title=\"See privacy policy\" target=\"_blank\"> privacy policy.\n

\"\"\")\n\n\nTermsNoticeDirective = ($config) ->\n privacyPolicyUrl = $config.get(\"privacyPolicyUrl\")\n termsOfServiceUrl = $config.get(\"termsOfServiceUrl\")\n\n templateFn = ->\n if not (privacyPolicyUrl and termsOfServiceUrl)\n return \"\"\n\n ctx = {termsUrl: termsOfServiceUrl, privacyUrl: privacyPolicyUrl}\n return template(ctx)\n\n return {\n scope: {}\n restrict: \"AE\"\n template: templateFn\n }\n\n\nmodule.directive(\"tgTermsNotice\", [\"$tgConfig\", TermsNoticeDirective])\n","messages =\n defaultMessage: \"تنسيق الحقل غير صحيح\"\n type: {\n email: \"اكتب البريد الإلكتروني بالطريقة المطلوبة\"\n url: \"اكتب الرابط بالطريقة المطلوبة\"\n urlstrict: \"اكتب الرابط بالطريقة المطلوبة\"\n number: \"اكتب أرقام ففط (عدد صحيح)\"\n digits: \"اكتب أرقاما فقط\"\n dateIso: \"اكتب التاريخ بهذه الصيغة (YYYY-MM-DD).\"\n alphanum: \"اكتب حروف وأرقام فقط\"\n phone: \"اكتب رقم هاتف بالطريقة المطلوبة\"\n }\n notnull: \"هذا الحقل مطلوب\"\n notblank: \"هذا الحقل مطلوب\"\n required: \"هذا الحقل مطلوب\"\n regexp: \"تنسيق الحقل غير صحيح\"\n min: \"الرقم يجب أن يكون أكبر من أو يساوي : %s.\"\n max: \"الرقم يجب أن يكون أصغر من أو يساوي : %s.\"\n range: \"الرقم يجب أن يكون بين %s و %s.\"\n minlength: \"الحقل قصير. يجب أن يحتوي على %s حرف/أحرف أو أكثر\"\n maxlength: \"الحقل طويل. يجب أن يحتوي على %s حرف/أحرف أو أقل\"\n rangelength: \"طول الحقل غير مقبول. يجب أن يكون بين %s و %s حرف/أحرف\"\n mincheck: \"يجب أن تختار %s (اختيار) على الأقل\"\n maxcheck: \"يجب أن تختار %s (اختبار) أو أقل\"\n rangecheck: \"يجب أن تختار بين %s و %s (اختبار).\"\n equalto: \"يجب أن يتساوى الحقلان\"\n\n minwords: \"يجب أن يحتوي الحقل على %s كلمة/كلمات على الأقل\"\n maxwords: \"يجب أن يحتوي الحقل على %s كلمة/كلمات كحد أعلى\"\n rangewords: \"عدد الكلمات المسوح بها مابين %s و %s كلمة/كلمات.\"\n greaterthan: \"يجب أن تكون القيمة أكبر من %s.\"\n lessthan: \"يجب أن تكون القيمة أقل من %s.\"\n beforedate: \"التاريخ يجب أن يكون قبل %s.\"\n afterdate: \"التاريخ يجب أن يكون بعد %s.\"\n americandate: \"اكتب التاريخ بالطريقة المطلوبة (MM/DD/YYYY).\"\n","messages =\n defaultMessage: \"Aquest valor sembla ser invàlid.\"\n type: {\n email: \"Aquest valor ha de ser una adreça de correu electrònic vàlida.\"\n url: \"Aquest valor ha de ser una URL vàlida.\"\n urlstrict: \"Aquest valor ha de ser una URL vàlida.\"\n number: \"Aquest valor ha de ser un nombre vàlid.\"\n digits: \"Aquest valor ha només pot contenir dígits.\"\n dateIso: \"Aquest valor ha de ser una data vàlida (YYYY-MM-DD).\"\n alphanum: \"Aquest valor ha de ser alfanumèric.\"\n }\n notnull: \"Aquest valor no pot ser nul.\"\n notblank: \"Aquest valor no pot ser buit.\"\n required: \"Aquest valor és requerit.\"\n regexp: \"Aquest valor és incorrecte.\"\n min: \"Aquest valor no pot ser menor que %s.\"\n max: \"Aquest valor no pot ser major que %s.\"\n range: \"Aquest valor ha d'estar entre %s i %s.\"\n minlength: \"Aquest valor és massa curt. La longitud mínima és de %s caràcters.\"\n maxlength: \"Aquest valor és massa llarg. La longitud màxima és de %s caràcters.\"\n rangelength: \"La longitud d'aquest valor ha de ser d'entre %s i %s caràcters.\"\n equalto: \"Aquest valor ha de ser idèntic.\"\n mincheck: \"Has de marcar un mínim de %s opcions.\"\n maxcheck: \"Has de marcar un màxim de %s opcions.\"\n rangecheck: \"Has de marcar entre %s i %s opcions.\"\n\n # checksley.extend\n minwords: \"Aquest valor ha de tenir %s paraules com a mínim.\"\n maxwords: \"Aquest valor no pot superar les %s paraules.\"\n rangewords: \"Aquest valor ha de tenir entre %s i %s paraules.\"\n greaterthan: \"Aquest valor no pot ser major que %s.\"\n lessthan: \"Aquest valor no pot ser menor que %s.\"\n\n@checksley.updateMessages(\"ca\", messages)\n","messages =\n defaultMessage: \"Tato položka je neplatná.\"\n type: {\n email: \"Tato položka musí být e-mailová adresa.\"\n url: \"Tato položka musí být url adresa.\"\n urlstrict: \"Tato položka musí být url adresa.\"\n number: \"Tato položka musí být platné číslo.\"\n digits: \"Tato položka musí být číslice.\"\n dateIso: \"Tato položka musí být datum ve formátu YYYY-MM-DD.\"\n alphanum: \"Tato položka musí být alfanumerická.\"\n }\n notnull: \"Tato položka nesmí být null.\"\n notblank: \"Tato položka nesmí být prázdná.\"\n required: \"Tato položka je povinná.\"\n regexp: \"Tato položka je neplatná.\"\n min: \"Tato položka musí být větší než %s.\"\n max: \"Tato položka musí byt menší než %s.\"\n range: \"Tato položka musí být v rozmezí %s a %s.\"\n minlength: \"Tato položka je příliš krátká. Musí mít %s nebo více znaků.\"\n maxlength: \"Tato položka je příliš dlouhá. Musí mít %s nebo méně znaků.\"\n rangelength: \"Tato položka je mimo rozsah. Musí být rozmezí %s a %s znaků.\"\n equalto: \"Tato položka by měla být stejná.\"\n\n minwords: \"Tato položka musí obsahovat alespoň %s slov.\"\n maxwords: \"Tato položka nesmí přesánout %s slov.\"\n rangewords: \"Tato položka musí obsahovat %s až %s slov.\"\n greaterthan: \"Tato položka musí být větší než %s.\"\n lessthan: \"Tato položka musí být menší než %s.\"\n\n@checksley.updateMessages(\"cs\", messages)\n","messages =\n defaultMessage: \"Die Eingabe scheint nicht korrekt zu sein.\"\n type: {\n email: \"Die Eingabe muss eine gültige E-Mail-Adresse sein.\"\n url: \"Die Eingabe muss eine gültige URL sein.\"\n urlstrict: \"Die Eingabe muss eine gültige URL sein.\"\n number: \"Die Eingabe muss eine Zahl sein.\"\n digits: \"Die Eingabe darf nur Ziffern enthalten.\"\n dateIso: \"Die Eingabe muss ein gültiges Datum im Format YYYY-MM-DD sein.\"\n alphanum: \"Die Eingabe muss alphanumerisch sein.\"\n phone: \"Die Eingabe muss eine gültige Telefonnummer sein.\"\n }\n notnull: \"Die Eingabe darf nicht leer sein.\"\n notblank: \"Die Eingabe darf nicht leer sein.\"\n required: \"Dies ist ein Pflichtfeld.\"\n regexp: \"Die Eingabe scheint ungültig zu sein.\"\n min: \"Die Eingabe muss größer oder gleich %s sein.\"\n max: \"Die Eingabe muss kleiner oder gleich %s sein.\"\n range: \"Die Eingabe muss zwischen %s und %s liegen.\"\n minlength: \"Die Eingabe ist zu kurz. Es müssen mindestens %s Zeichen eingegeben werden.\"\n maxlength: \"Die Eingabe ist zu lang. Es dürfen höchstens %s Zeichen eingegeben werden.\"\n rangelength: \"Die Länge der Eingabe ist ungültig. Es müssen zwischen %s und %s Zeichen eingegeben werden.\"\n equalto: \"Dieses Feld muss dem anderen entsprechen.\"\n\n minwords: \"Die Eingabe muss mindestens %s Wörter enthalten.\"\n maxwords: \"Die Eingabe darf höchstens %s Wörter enthalten.\"\n rangewords: \"Die Eingabe muss zwischen %s und %s Wörter enthalten.\"\n greaterthan: \"Die Eingabe muss größer als %s sein.\"\n lessthan: \"Die Eingabe muss kleiner als %s sein.\"\n\n@checksley.updateMessages(\"de\", messages)\n","messages =\n defaultMessage: \"Este valor parece ser inválido.\"\n type: {\n email: \"Este valor debe ser un correo válido.\"\n url: \"Este valor debe ser una URL válida.\"\n urlstrict: \"Este valor debe ser una URL válida.\"\n number: \"Este valor debe ser un número válido.\"\n digits: \"Este valor debe ser un dígito válido.\"\n dateIso: \"Este valor debe ser una fecha válida (YYYY-MM-DD).\"\n alphanum: \"Este valor debe ser alfanumérico.\"\n }\n notnull: \"Este valor no debe ser nulo.\"\n notblank: \"Este valor no debe estar en blanco.\"\n required: \"Este valor es requerido.\"\n regexp: \"Este valor es incorrecto.\"\n min: \"Este valor no debe ser menor que %s.\"\n max: \"Este valor no debe ser mayor que %s.\"\n range: \"Este valor debe estar entre %s y %s.\"\n minlength: \"Este valor es muy corto. La longitud mínima es de %s caracteres.\"\n maxlength: \"Este valor es muy largo. La longitud máxima es de %s caracteres.\"\n rangelength: \"La longitud de este valor debe estar entre %s y %s caracteres.\"\n equalto: \"Este valor debe ser idéntico.\"\n\n # checksley.extend\n minwords: \"Este valor debe tener al menos %s palabras.\"\n maxwords: \"Este valor no debe exceder las %s palabras.\"\n rangewords: \"Este valor debe tener entre %s y %s palabras.\"\n greaterthan: \"Este valor no debe ser mayor que %s.\"\n lessthan: \"Este valor no debe ser menor que %s.\"\n\n@checksley.updateMessages(\"es\", messages)\n","messages =\n defaultMessage: \"Cette valeur semble non valide.\"\n type: {\n email: \"Cette valeur n'est pas une adresse email valide.\"\n url: \"Cette valeur n'est pas une URL valide.\"\n urlstrict: \"Cette valeur n'est pas une URL valide.\"\n number: \"Cette valeur doit être un nombre.\"\n digits: \"Cette valeur doit être numérique.\"\n dateIso: \"Cette valeur n'est pas une date valide (YYYY-MM-DD).\"\n alphanum: \"Cette valeur doit être alphanumérique.\"\n }\n notnull: \"Cette valeur ne peut pas être nulle.\"\n notblank: \"Cette valeur ne peut pas être vide.\"\n required: \"Ce champ est requis.\"\n regexp: \"Cette valeur semble non valide.\"\n min: \"Cette valeur ne doit pas être inféreure à %s.\"\n max: \"Cette valeur ne doit pas excéder %s.\"\n range: \"Cette valeur doit être comprise entre %s et %s.\"\n minlength: \"Cette chaîne est trop courte. Elle doit avoir au minimum %s caractères.\"\n maxlength: \"Cette chaîne est trop longue. Elle doit avoir au maximum %s caractères.\"\n rangelength: \"Cette valeur doit contenir entre %s et %s caractères.\"\n equalto: \"Cette valeur devrait être identique.\"\n mincheck: \"Vous devez sélectionner au moins %s choix.\"\n maxcheck: \"Vous devez sélectionner %s choix maximum.\"\n rangecheck: \"Vous devez sélectionner entre %s et %s choix.\"\n\n # checksley.extend\n minwords: \"Cette valeur doit contenir plus de %s mots.\"\n maxwords: \"Cette valeur ne peut pas dépasser %s mots.\"\n rangewords: \"Cette valeur doit comprendre %s à %s mots.\"\n greaterthan: \"Cette valeur doit être plus grande que %s.\"\n lessthan: \"Cette valeur doit être plus petite que %s.\"\n\n@checksley.updateMessages(\"fr\", messages)\n","messages =\n defaultMessage: \"Questo valore sembra essere non valido.\"\n type: {\n email: \"Questo valore deve essere un indirizzo email valido.\"\n url: \"Questo valore deve essere un URL valido.\"\n urlstrict: \"Questo valore deve essere un URL valido.\"\n number: \"Questo valore deve essere un numero valido.\"\n digits: \"Questo valore deve essere di tipo numerico.\"\n dateIso: \"Questo valore deve essere una data valida (YYYY-MM-DD).\"\n alphanum: \"Questo valore deve essere di tipo alfanumerico.\"\n }\n notnull: \"Questo valore non deve essere nullo.\"\n notblank: \"Questo valore non deve essere vuoto.\"\n required: \"Questo valore è richiesto.\"\n regexp: \"Questo valore non è corretto.\"\n min: \"Questo valore deve essere maggiore di %s.\"\n max: \"Questo valore deve essere minore di %s.\"\n range: \"Questo valore deve essere compreso tra %s e %s.\"\n minlength: \"Questo valore è troppo corto. La lunghezza minima è di %s caratteri.\"\n maxlength: \"Questo valore è troppo lungo. La lunghezza massima è di %s caratteri.\"\n rangelength: \"La lunghezza di questo valore deve essere compresa fra %s e %s caratteri.\"\n equalto: \"Questo valore deve essere identico.\"\n\n minwords: \"Questo valore deve contenere almeno %s parole.\"\n maxwords: \"Questo valore non deve superare le %s parole.\"\n rangewords: \"Questo valore deve contenere tra %s e %s parole.\"\n greaterthan: \"Questo valore deve essere maggiore di %s.\"\n lessthan: \"Questo valore deve essere minore di %s.\"\n beforedate: \"Questa data deve essere anteriore al %s.\"\n afterdate: \"Questa data deve essere posteriore al %s.\"\n luhn: \"Questo valore deve superare il test di Luhn.\"\n\n@checksley.updateMessages(\"it\", messages)\n","messages =\n defaultMessage: \"Deze waarde lijkt onjuist.\"\n type: {\n email: \"Dit lijkt geen geldig e-mail adres te zijn.\"\n url: \"Dit lijkt geen geldige URL te zijn.\"\n urlstrict: \"Dit is geen geldige URL.\"\n number: \"Deze waarde moet een nummer zijn.\"\n digits: \"Deze waarde moet numeriek zijn.\"\n dateIso: \"Deze waarde moet een datum in het volgende formaat zijn: (YYYY-MM-DD).\"\n alphanum: \"Deze waarde moet alfanumeriek zijn.\"\n phone: \"Deze waarde moet een geldig telefoonnummer zijn.\"\n }\n notnull: \"Deze waarde mag niet leeg zijn.\"\n notblank: \"Deze waarde mag niet leeg zijn.\"\n required: \"Dit veld is verplicht\"\n regexp: \"Deze waarde lijkt onjuist te zijn.\"\n min: \"Deze waarde mag niet lager zijn dan %s.\"\n max: \"Deze waarde mag niet groter zijn dan %s.\"\n range: \"Deze waarde moet tussen %s en %s liggen.\"\n minlength: \"Deze tekst is te kort. Deze moet uit minimaal %s karakters bestaan.\"\n maxlength: \"Deze waarde is te lang. Deze mag maximaal %s karakters lang zijn.\"\n mincheck: \"Je moet minstens %s opties selecteren.\"\n maxcheck: \"Je moet %s of minder opties selecteren.\"\n rangecheck: \"Je moet tussen de %s en %s opties selecteren.\"\n rangelength: \"Deze waarde moet tussen %s en %s karakters lang zijn.\"\n equalto: \"Deze waardes moeten identiek zijn.\"\n\n minwords: \"Deze waarde moet minstens %s woorden bevatten.\"\n maxwords: \"Deze waarde mag maximaal %s woorden bevatten.\"\n rangewords: \"Deze waarde moet tussen de %s en %s woorden bevatten.\"\n greaterthan: \"Deze waarde moet groter dan %s zijn.\"\n lessthan: \"Deze waarde moet kleiner dan %s zijn.\"\n beforedate: \"Deze datum moet voor %s liggne.\"\n afterdate: \"Deze datum moet na %s liggen.\"\n americandate: \"Dit moet een geldige datum zijn (MM/DD/YYYY).\"\n\n\n@checksley.updateMessages(\"nl\", messages)\n","messages =\r\n # parsley\r\n defaultMessage: \"Поле заполнено некорректно.\"\r\n type: {\r\n email: \"Поле должно быть адресом электронной почты.\"\r\n url: \"Поле должно быть ссылкой на сайт.\"\r\n urlstrict: \"Поле должно быть ссылкой на сайт.\"\r\n number: \"Поле должно быть числом.\"\r\n digits: \"Поле должно содержать только цифры.\"\r\n dateIso: \"Поле должно быть датой в формате (ГГГГ-ММ-ДД).\"\r\n alphanum: \"Поле должно содержать только цифры и буквы\"\r\n phone: \"Поле должно содержать корректный номер телефона\"\r\n }\r\n notnull: \"Поле должно быть не нулевым.\"\r\n notblank: \"Поле не должно быть пустым.\"\r\n required: \"Поле обязательно для заполнения.\"\r\n regexp: \"Поле заполнено некорректно.\"\r\n min: \"Значение поля должно быть больше %s.\"\r\n max: \"Значение поля должно быть меньше %s.\"\r\n range: \"Значение поля должно быть между %s и %s.\"\r\n minlength: \"В поле должно быть минимум %s символов(а).\"\r\n maxlength: \"В поле должно быть не больше %s символов(а).\"\r\n rangelength: \"В поле должно быть от %s до %s символов(а).\"\r\n mincheck: \"Необходимо выбрать не менее %s пунктов(а).\"\r\n maxcheck: \"Необходимо выбрать не более %s пунктов(а).\"\r\n rangecheck: \"Необходимо выбрать от %s до %s пунктов.\"\r\n equalto: \"Значения полей должны быть одинаковыми.\"\r\n\r\n # parsley.extend\r\n minwords: \"В поле должно быть не менее %s слов.\"\r\n maxwords: \"В поле должно быть не более %s слов.\"\r\n rangewords: \"Количество слов в поле должно быть в диапазоне от %s до %s.\"\r\n greaterthan: \"Значение в поле должно быть более %s.\"\r\n lessthan: \"Значение в поле должно быть менее %s.\"\r\n beforedate: \"Дата должна быть до %s.\"\r\n afterdate: \"Дата должна быть после %s.\"\r\n americandate: \"В поле должна быть корректная дата в формате MM/DD/YYYY.\"\r\n\r\n@checksley.updateMessages(\"ru\", messages)\r\n","messages =\n # parsley\n defaultMessage: \"不正确的值\"\n type: {\n email: \"字段值应该是一个正确的电子邮件地址\"\n url: \"字段值应该是一个正确的URL地址\"\n urlstrict: \"字段值应该是一个正确的URL地址\"\n number: \"字段值应该是一个合法的数字\"\n digits: \"字段值应该是一个单独的数字\"\n dateIso: \"字段值应该是一个正确的日期描述(YYYY-MM-DD).\"\n alphanum: \"字段值应该是只包含字母和数字\"\n }\n notnull: \"字段值不可为null\"\n notblank: \"字段值不可为空\"\n required: \"字段值是必填的\"\n regexp: \"字段值不合法\"\n min: \"字段值应该大于 %s\"\n max: \"字段值应该小于 %s.\"\n range: \"字段值应该大于 %s 并小于 %s.\"\n minlength: \"字段值太短了,长度应该大于等于 %s 个字符\"\n maxlength: \"字段值太长了,长度应该小于等于 %s 个字符\"\n rangelength: \"字段值长度错了,长度应该在 %s 和 %s 个字符之间\"\n mincheck: \"你至少要选择 %s 个选项\"\n maxcheck: \"你最多只能选择 %s 个选项\"\n rangecheck: \"你只能选择 %s 到 %s 个选项\"\n equalto: \"字段值应该和给定的值一样\"\n\n # checksley.extend\n minwords: \"字段值应该至少有 %s 个词\"\n maxwords: \"字段值最多只能有 %s 个词\"\n rangewords: \"字段值应该有 %s 到 %s 个词\"\n greaterthan: \"字段值应该大于 %s\"\n lessthan: \"字段值应该小于 %s\"\n beforedate: \"字段值所表示的日期应该早于 %s.\"\n afterdate: \"字段值所表示的日期应该晚于 %s.\"\n\n@checksley.updateMessages(\"zh-cn\", messages)\n"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["coffee/app.coffee","coffee/classes.coffee","coffee/utils.coffee","coffee/modules/controllerMixins.coffee","coffee/modules/admin.coffee","coffee/modules/auth.coffee","coffee/modules/backlog.coffee","coffee/modules/base.coffee","coffee/modules/common.coffee","coffee/modules/events.coffee","coffee/modules/feedback.coffee","coffee/modules/integrations.coffee","coffee/modules/issues.coffee","coffee/modules/kanban.coffee","coffee/modules/projects.coffee","coffee/modules/related-tasks.coffee","coffee/modules/resources.coffee","coffee/modules/search.coffee","coffee/modules/taskboard.coffee","coffee/modules/tasks.coffee","coffee/modules/team.coffee","coffee/modules/user-settings.coffee","coffee/modules/userstories.coffee","coffee/modules/wiki.coffee","coffee/modules/common/analytics.coffee","coffee/modules/common/attachments.coffee","coffee/modules/common/bind-scope.coffee","coffee/modules/common/compile-html.directive.coffee","coffee/modules/common/components.coffee","coffee/modules/common/confirm.coffee","coffee/modules/common/custom-field-values.coffee","coffee/modules/common/estimation.coffee","coffee/modules/common/filters.coffee","coffee/modules/common/history.coffee","coffee/modules/common/importer.coffee","coffee/modules/common/lightboxes.coffee","coffee/modules/common/loader.coffee","coffee/modules/common/loading.coffee","coffee/modules/common/popovers.coffee","coffee/modules/common/raven-logger.coffee","coffee/modules/common/tags.coffee","coffee/modules/common/wisiwyg.coffee","coffee/modules/backlog/filters.coffee","coffee/modules/backlog/lightboxes.coffee","coffee/modules/backlog/main.coffee","coffee/modules/backlog/sortable.coffee","coffee/modules/backlog/sprints.coffee","coffee/modules/taskboard/charts.coffee","coffee/modules/taskboard/lightboxes.coffee","coffee/modules/taskboard/main.coffee","coffee/modules/taskboard/sortable.coffee","coffee/modules/kanban/main.coffee","coffee/modules/kanban/sortable.coffee","coffee/modules/issues/detail.coffee","coffee/modules/issues/lightboxes.coffee","coffee/modules/issues/list.coffee","coffee/modules/userstories/detail.coffee","coffee/modules/tasks/detail.coffee","coffee/modules/team/main.coffee","coffee/modules/wiki/main.coffee","coffee/modules/wiki/nav.coffee","coffee/modules/admin/lightboxes.coffee","coffee/modules/admin/memberships.coffee","coffee/modules/admin/nav.coffee","coffee/modules/admin/project-profile.coffee","coffee/modules/admin/project-values.coffee","coffee/modules/admin/roles.coffee","coffee/modules/admin/third-parties.coffee","coffee/modules/projects/lightboxes.coffee","coffee/modules/base/bind.coffee","coffee/modules/base/conf.coffee","coffee/modules/base/contrib.coffee","coffee/modules/base/filters.coffee","coffee/modules/base/http.coffee","coffee/modules/base/location.coffee","coffee/modules/base/model.coffee","coffee/modules/base/navurls.coffee","coffee/modules/base/repository.coffee","coffee/modules/base/storage.coffee","coffee/modules/base/urls.coffee","coffee/modules/resources/attachments.coffee","coffee/modules/resources/custom-attributes-values.coffee","coffee/modules/resources/custom-attributes.coffee","coffee/modules/resources/history.coffee","coffee/modules/resources/invitations.coffee","coffee/modules/resources/issues.coffee","coffee/modules/resources/kanban.coffee","coffee/modules/resources/locales.coffee","coffee/modules/resources/mdrender.coffee","coffee/modules/resources/memberships.coffee","coffee/modules/resources/modules.coffee","coffee/modules/resources/notify-policies.coffee","coffee/modules/resources/projects.coffee","coffee/modules/resources/roles.coffee","coffee/modules/resources/search.coffee","coffee/modules/resources/sprints.coffee","coffee/modules/resources/tasks.coffee","coffee/modules/resources/user-settings.coffee","coffee/modules/resources/users.coffee","coffee/modules/resources/userstories.coffee","coffee/modules/resources/webhooklogs.coffee","coffee/modules/resources/webhooks.coffee","coffee/modules/resources/wiki.coffee","coffee/modules/user-settings/change-password.coffee","coffee/modules/user-settings/lightboxes.coffee","coffee/modules/user-settings/main.coffee","coffee/modules/user-settings/nav.coffee","coffee/modules/user-settings/notifications.coffee","modules/components/components.module.coffee","modules/home/home.module.coffee","modules/navigation-bar/navigation-bar.module.coffee","modules/profile/profile.module.coffee","modules/projects/projects.module.coffee","modules/resources/resources.module.coffee","modules/user-timeline/user-timeline.module.coffee","modules/components/project-menu/project-menu.controller.coffee","modules/components/project-menu/project-menu.directive.coffee","modules/feedback/feedback.service.coffee","modules/home/duties/duty.directive.coffee","modules/home/home.service.coffee","modules/home/projects/home-project-list.directive.coffee","modules/home/working-on/working-on.controller.coffee","modules/home/working-on/working-on.directive.coffee","modules/navigation-bar/dropdown-project-list/dropdown-project-list.directive.coffee","modules/navigation-bar/dropdown-user/dropdown-user.directive.coffee","modules/navigation-bar/navigation-bar.directive.coffee","modules/profile/profile-bar/profile-bar.controller.coffee","modules/profile/profile-bar/profile-bar.directive.coffee","modules/profile/profile-contacts/profile-contacts.controller.coffee","modules/profile/profile-contacts/profile-contacts.directive.coffee","modules/profile/profile-hints/profile-hints.controller.coffee","modules/profile/profile-hints/profile-hints.directive.coffee","modules/profile/profile-projects/profile-projects.controller.coffee","modules/profile/profile-projects/profile-projects.directive.coffee","modules/profile/profile-tab/profile-tab.directive.coffee","modules/profile/profile-tabs/profile-tabs.controller.coffee","modules/profile/profile-tabs/profile-tabs.directive.coffee","modules/profile/profile.controller.coffee","modules/projects/components/sort-projects.directive.coffee","modules/projects/listing/projects-listing.controller.coffee","modules/projects/project/project.controller.coffee","modules/projects/projects.service.coffee","modules/resources/issues-resource.service.coffee","modules/resources/projects-resource.service.coffee","modules/resources/resources.coffee","modules/resources/tasks-resource.service.coffee","modules/resources/users-resource.service.coffee","modules/resources/userstories-resource.service.coffee","modules/services/app-meta.service.coffee","modules/services/current-user.service.coffee","modules/services/lightbox-factory.service.coffee","modules/services/paginate-response.service.coffee","modules/services/project.service.coffee","modules/services/scope-event.service.coffee","modules/services/user.service.coffee","modules/services/xhrError.service.coffee","modules/user-timeline/user-timeline-attachment/user-timeline-attachment.directive.coffee","modules/user-timeline/user-timeline-item/user-timeline-item-title.service.coffee","modules/user-timeline/user-timeline-item/user-timeline-item-type.service.coffee","modules/user-timeline/user-timeline-item/user-timeline-item.controller.coffee","modules/user-timeline/user-timeline-item/user-timeline-item.directive.coffee","modules/user-timeline/user-timeline-pagination-sequence/user-timeline-pagination-sequence.service.coffee","modules/user-timeline/user-timeline/user-timeline.controller.coffee","modules/user-timeline/user-timeline/user-timeline.directive.coffee","modules/user-timeline/user-timeline/user-timeline.service.coffee","plugins/main.coffee","plugins/humanshtml/humanshtml.coffee","plugins/terms/terms.coffee","vendor/checksley/i18n/messages.ar.coffee","vendor/checksley/i18n/messages.ca.coffee","vendor/checksley/i18n/messages.cs.coffee","vendor/checksley/i18n/messages.de.coffee","vendor/checksley/i18n/messages.es.coffee","vendor/checksley/i18n/messages.fr.coffee","vendor/checksley/i18n/messages.it.coffee","vendor/checksley/i18n/messages.nl.coffee","vendor/checksley/i18n/messages.ru.coffee","vendor/checksley/i18n/messages.zh_cn.coffee"],"names":[],"mappings":"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","file":"app.js","sourcesContent":["###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: app.coffee\n###\n\n@taiga = taiga = {}\n@.taigaContribPlugins = @.taigaContribPlugins or []\n\n# Generic function for generate hash from a arbitrary length\n# collection of parameters.\ntaiga.generateHash = (components=[]) ->\n components = _.map(components, (x) -> JSON.stringify(x))\n return hex_sha1(components.join(\":\"))\n\n\ntaiga.generateUniqueSessionIdentifier = ->\n date = (new Date()).getTime()\n randomNumber = Math.floor(Math.random() * 0x9000000)\n return taiga.generateHash([date, randomNumber])\n\n\ntaiga.sessionId = taiga.generateUniqueSessionIdentifier()\n\n\nconfigure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider,\n $compileProvider, $translateProvider, $animateProvider) ->\n\n $animateProvider.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/)\n\n # wait until the trasnlation is ready to resolve the page\n originalWhen = $routeProvider.when\n\n $routeProvider.when = (path, route) ->\n route.resolve || (route.resolve = {})\n angular.extend(route.resolve, {\n languageLoad: [\"$q\", \"$translate\", ($q, $translate) ->\n deferred = $q.defer()\n\n $translate().then () -> deferred.resolve()\n\n return deferred.promise\n ]\n })\n\n return originalWhen.call($routeProvider, path, route)\n\n $routeProvider.when(\"/\",\n {\n templateUrl: \"home/home.html\",\n access: {\n requiresLogin: true\n },\n title: \"HOME.PAGE_TITLE\",\n description: \"HOME.PAGE_DESCRIPTION\",\n loader: true\n }\n )\n\n $routeProvider.when(\"/projects/\",\n {\n templateUrl: \"projects/listing/projects-listing.html\",\n access: {\n requiresLogin: true\n },\n title: \"PROJECTS.PAGE_TITLE\",\n description: \"PROJECTS.PAGE_DESCRIPTION\",\n loader: true,\n controller: \"ProjectsListing\",\n controllerAs: \"vm\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/\",\n {\n templateUrl: \"projects/project/project.html\",\n loader: true,\n controller: \"Project\",\n controllerAs: \"vm\"\n section: \"project-timeline\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/search\",\n {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false,\n section: \"search\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/backlog\",\n {\n templateUrl: \"backlog/backlog.html\",\n loader: true,\n section: \"backlog\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/kanban\",\n {\n templateUrl: \"kanban/kanban.html\",\n loader: true,\n section: \"kanban\"\n }\n )\n\n # Milestone\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\",\n {\n templateUrl: \"taskboard/taskboard.html\",\n loader: true,\n section: \"backlog\"\n }\n )\n\n # User stories\n $routeProvider.when(\"/project/:pslug/us/:usref\",\n {\n templateUrl: \"us/us-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n }\n )\n\n # Tasks\n $routeProvider.when(\"/project/:pslug/task/:taskref\",\n {\n templateUrl: \"task/task-detail.html\",\n loader: true,\n section: \"backlog-kanban\"\n }\n )\n\n # Wiki\n $routeProvider.when(\"/project/:pslug/wiki\",\n {redirectTo: (params) -> \"/project/#{params.pslug}/wiki/home\"}, )\n $routeProvider.when(\"/project/:pslug/wiki/:slug\",\n {\n templateUrl: \"wiki/wiki.html\",\n loader: true,\n section: \"wiki\"\n }\n )\n\n # Team\n $routeProvider.when(\"/project/:pslug/team\",\n {\n templateUrl: \"team/team.html\",\n loader: true,\n section: \"team\"\n }\n )\n\n # Issues\n $routeProvider.when(\"/project/:pslug/issues\",\n {\n templateUrl: \"issue/issues.html\",\n loader: true,\n section: \"issues\"\n }\n )\n $routeProvider.when(\"/project/:pslug/issue/:issueref\",\n {\n templateUrl: \"issue/issues-detail.html\",\n loader: true,\n section: \"issues\"\n }\n )\n\n # Admin - Project Profile\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\",\n {\n templateUrl: \"admin/admin-project-profile.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\",\n {\n templateUrl: \"admin/admin-project-default-values.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\",\n {\n templateUrl: \"admin/admin-project-modules.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\",\n {\n templateUrl: \"admin/admin-project-export.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\",\n {\n templateUrl: \"admin/admin-project-reports.html\",\n section: \"admin\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\",\n {\n templateUrl: \"admin/admin-project-values-status.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\",\n {\n templateUrl: \"admin/admin-project-values-points.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\",\n {\n templateUrl: \"admin/admin-project-values-priorities.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\",\n {\n templateUrl: \"admin/admin-project-values-severities.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\",\n {\n templateUrl: \"admin/admin-project-values-types.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\",\n {\n templateUrl: \"admin/admin-project-values-custom-fields.html\",\n section: \"admin\"\n }\n )\n\n $routeProvider.when(\"/project/:pslug/admin/memberships\",\n {\n templateUrl: \"admin/admin-memberships.html\",\n section: \"admin\"\n }\n )\n # Admin - Roles\n $routeProvider.when(\"/project/:pslug/admin/roles\",\n {\n templateUrl: \"admin/admin-roles.html\",\n section: \"admin\"\n }\n )\n\n # Admin - Third Parties\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\",\n {\n templateUrl: \"admin/admin-third-parties-webhooks.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\",\n {\n templateUrl: \"admin/admin-third-parties-github.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\",\n {\n templateUrl: \"admin/admin-third-parties-gitlab.html\",\n section: \"admin\"\n }\n )\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\",\n {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\",\n section: \"admin\"\n }\n )\n # Admin - Contrib Plugins\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\",\n {templateUrl: \"contrib/main.html\"})\n\n # User settings\n $routeProvider.when(\"/user-settings/user-profile\",\n {templateUrl: \"user/user-profile.html\"})\n $routeProvider.when(\"/user-settings/user-change-password\",\n {templateUrl: \"user/user-change-password.html\"})\n $routeProvider.when(\"/user-settings/mail-notifications\",\n {templateUrl: \"user/mail-notifications.html\"})\n $routeProvider.when(\"/change-email/:email_token\",\n {templateUrl: \"user/change-email.html\"})\n $routeProvider.when(\"/cancel-account/:cancel_token\",\n {templateUrl: \"user/cancel-account.html\"})\n\n # User profile\n $routeProvider.when(\"/profile\",\n {\n templateUrl: \"profile/profile.html\",\n loader: true,\n access: {\n requiresLogin: true\n },\n controller: \"Profile\",\n controllerAs: \"vm\"\n }\n )\n\n $routeProvider.when(\"/profile/:slug\",\n {\n templateUrl: \"profile/profile.html\",\n loader: true,\n controller: \"Profile\",\n controllerAs: \"vm\"\n }\n )\n\n # Auth\n $routeProvider.when(\"/login\",\n {\n templateUrl: \"auth/login.html\",\n title: \"LOGIN.PAGE_TITLE\"\n description: \"LOGIN.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/register\",\n {\n templateUrl: \"auth/register.html\",\n title: \"REGISTER.PAGE_TITLE\",\n description: \"REGISTER.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/forgot-password\",\n {\n templateUrl: \"auth/forgot-password.html\",\n title: \"FORGOT_PASSWORD.PAGE_TITLE\",\n description: \"FORGOT_PASSWORD.PAGE_DESCRIPTION\"\n }\n )\n $routeProvider.when(\"/change-password\",\n {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n }\n )\n $routeProvider.when(\"/change-password/:token\",\n {\n templateUrl: \"auth/change-password-from-recovery.html\",\n title: \"CHANGE_PASSWORD.PAGE_TITLE\",\n description: \"CHANGE_PASSWORD.PAGE_TITLE\",\n }\n )\n $routeProvider.when(\"/invitation/:token\",\n {\n templateUrl: \"auth/invitation.html\",\n title: \"INVITATION.PAGE_TITLE\",\n description: \"INVITATION.PAGE_DESCRIPTION\"\n }\n )\n\n # Errors/Exceptions\n $routeProvider.when(\"/error\",\n {templateUrl: \"error/error.html\"})\n $routeProvider.when(\"/not-found\",\n {templateUrl: \"error/not-found.html\"})\n $routeProvider.when(\"/permission-denied\",\n {templateUrl: \"error/permission-denied.html\"})\n\n $routeProvider.otherwise({redirectTo: \"/not-found\"})\n $locationProvider.html5Mode({enabled: true, requireBase: false})\n\n defaultHeaders = {\n \"Content-Type\": \"application/json\"\n \"Accept-Language\": window.taigaConfig.defaultLanguage || \"en\"\n \"X-Session-Id\": taiga.sessionId\n }\n\n $httpProvider.defaults.headers.delete = defaultHeaders\n $httpProvider.defaults.headers.patch = defaultHeaders\n $httpProvider.defaults.headers.post = defaultHeaders\n $httpProvider.defaults.headers.put = defaultHeaders\n $httpProvider.defaults.headers.get = {\n \"X-Session-Id\": taiga.sessionId\n }\n\n $httpProvider.useApplyAsync(true)\n\n $tgEventsProvider.setSessionId(taiga.sessionId)\n\n # Add next param when user try to access to a secction need auth permissions.\n authHttpIntercept = ($q, $location, $navUrls, $lightboxService) ->\n httpResponseError = (response) ->\n if response.status == 0\n $lightboxService.closeAll()\n $location.path($navUrls.resolve(\"error\"))\n $location.replace()\n else if response.status == 401\n nextPath = $location.path()\n $location.url($navUrls.resolve(\"login\")).search(\"next=#{nextPath}\")\n\n return $q.reject(response)\n\n return {\n responseError: httpResponseError\n }\n\n $provide.factory(\"authHttpIntercept\", [\"$q\", \"$location\", \"$tgNavUrls\", \"lightboxService\",\n authHttpIntercept])\n\n $httpProvider.interceptors.push(\"authHttpIntercept\")\n\n\n loaderIntercept = ($q, loaderService) ->\n return {\n request: (config) ->\n loaderService.logRequest()\n\n return config\n\n requestError: (rejection) ->\n loaderService.logResponse()\n\n return $q.reject(rejection)\n\n responseError: (rejection) ->\n loaderService.logResponse()\n\n return $q.reject(rejection)\n\n response: (response) ->\n loaderService.logResponse()\n\n return response\n }\n\n\n $provide.factory(\"loaderIntercept\", [\"$q\", \"tgLoader\", loaderIntercept])\n\n $httpProvider.interceptors.push(\"loaderIntercept\")\n\n # If there is an error in the version throw a notify error.\n # IMPROVEiMENT: Move this version error handler to USs, issues and tasks repository\n versionCheckHttpIntercept = ($q) ->\n httpResponseError = (response) ->\n if response.status == 400 && response.data.version\n # HACK: to prevent circular dependencies with [$tgConfirm, $translate]\n $injector = angular.element(\"body\").injector()\n $injector.invoke([\"$tgConfirm\", \"$translate\", ($confirm, $translate) =>\n versionErrorMsg = $translate.instant(\"ERROR.VERSION_ERROR\")\n $confirm.notify(\"error\", versionErrorMsg, null, 10000)\n ])\n\n return $q.reject(response)\n\n return {responseError: httpResponseError}\n\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", versionCheckHttpIntercept])\n\n $httpProvider.interceptors.push(\"versionCheckHttpIntercept\")\n\n window.checksley.updateValidators({\n linewidth: (val, width) ->\n lines = taiga.nl2br(val).split(\"
\")\n\n valid = _.every lines, (line) ->\n line.length < width\n\n return valid\n })\n\n $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false)\n\n if localStorage.userInfo\n userInfo = JSON.parse(localStorage.userInfo)\n\n # i18n\n preferedLangCode = userInfo?.lang || window.taigaConfig.defaultLanguage || \"en\"\n\n $translateProvider\n .useStaticFilesLoader({\n prefix: \"/locales/locale-\",\n suffix: \".json\"\n })\n .addInterpolation('$translateMessageFormatInterpolation')\n .preferredLanguage(preferedLangCode)\n\n if not window.taigaConfig.debugInfo\n $translateProvider.fallbackLanguage(preferedLangCode)\n\n\ni18nInit = (lang, $translate) ->\n # i18n - moment.js\n moment.locale(lang)\n\n # i18n - checksley.js\n messages = {\n defaultMessage: $translate.instant(\"COMMON.FORM_ERRORS.DEFAULT_MESSAGE\")\n type: {\n email: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_EMAIL\")\n url: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URL\")\n urlstrict: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_URLSTRICT\")\n number: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_NUMBER\")\n digits: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DIGITS\")\n dateIso: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_DATEISO\")\n alphanum: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_ALPHANUM\")\n phone: $translate.instant(\"COMMON.FORM_ERRORS.TYPE_PHONE\")\n }\n notnull: $translate.instant(\"COMMON.FORM_ERRORS.NOTNULL\")\n notblank: $translate.instant(\"COMMON.FORM_ERRORS.NOT_BLANK\")\n required: $translate.instant(\"COMMON.FORM_ERRORS.REQUIRED\")\n regexp: $translate.instant(\"COMMON.FORM_ERRORS.REGEXP\")\n min: $translate.instant(\"COMMON.FORM_ERRORS.MIN\")\n max: $translate.instant(\"COMMON.FORM_ERRORS.MAX\")\n range: $translate.instant(\"COMMON.FORM_ERRORS.RANGE\")\n minlength: $translate.instant(\"COMMON.FORM_ERRORS.MIN_LENGTH\")\n maxlength: $translate.instant(\"COMMON.FORM_ERRORS.MAX_LENGTH\")\n rangelength: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_LENGTH\")\n mincheck: $translate.instant(\"COMMON.FORM_ERRORS.MIN_CHECK\")\n maxcheck: $translate.instant(\"COMMON.FORM_ERRORS.MAX_CHECK\")\n rangecheck: $translate.instant(\"COMMON.FORM_ERRORS.RANGE_CHECK\")\n equalto: $translate.instant(\"COMMON.FORM_ERRORS.EQUAL_TO\")\n }\n checksley.updateMessages('default', messages)\n\n\ninit = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $navUrls, appMetaService, projectService, loaderService) ->\n $log.debug(\"Initialize application\")\n\n # Taiga Plugins\n $rootscope.contribPlugins = @.taigaContribPlugins\n $rootscope.adminPlugins = _.where(@.taigaContribPlugins, {\"type\": \"admin\"})\n\n $rootscope.$on \"$translateChangeEnd\", (e, ctx) ->\n lang = ctx.language\n i18nInit(lang, $translate)\n\n # bluebird\n Promise.setScheduler (cb) ->\n $rootscope.$evalAsync(cb)\n\n # Load user\n if $auth.isAuthenticated()\n $events.setupConnection()\n user = $auth.getUser()\n\n # Analytics\n $analytics.initialize()\n\n # On the first page load the loader is painted in `$routeChangeSuccess`\n # because we need to hide the tg-navigation-bar.\n # In the other cases the loader is in `$routeChangeSuccess`\n # because `location.noreload` prevent to execute this event.\n un = $rootscope.$on '$routeChangeStart', (event, next) ->\n if next.loader\n loaderService.start(true)\n\n un()\n\n $rootscope.$on '$routeChangeSuccess', (event, next) ->\n if next.loader\n loaderService.start(true)\n\n if next.access && next.access.requiresLogin\n if !$auth.isAuthenticated()\n $location.path($navUrls.resolve(\"login\"))\n\n projectService.setSection(next.section)\n\n if next.params.pslug\n projectService.setProject(next.params.pslug)\n else\n projectService.cleanProject()\n\n if next.title or next.description\n title = $translate.instant(next.title or \"\")\n description = $translate.instant(next.description or \"\")\n appMetaService.setAll(title, description)\n\n\nmodules = [\n # Main Global Modules\n \"taigaBase\",\n \"taigaCommon\",\n \"taigaResources\",\n \"taigaResources2\",\n \"taigaAuth\",\n \"taigaEvents\",\n\n # Specific Modules\n \"taigaHome\",\n \"taigaNavigationBar\",\n \"taigaProjects\",\n \"taigaRelatedTasks\",\n \"taigaBacklog\",\n \"taigaTaskboard\",\n \"taigaKanban\",\n \"taigaIssues\",\n \"taigaUserStories\",\n \"taigaTasks\",\n \"taigaTeam\",\n \"taigaWiki\",\n \"taigaSearch\",\n \"taigaAdmin\",\n \"taigaProject\",\n \"taigaUserSettings\",\n \"taigaFeedback\",\n \"taigaPlugins\",\n \"taigaIntegrations\",\n \"taigaComponents\",\n # new modules\n \"taigaProfile\",\n \"taigaHome\",\n \"taigaUserTimeline\",\n\n # template cache\n \"templates\",\n\n # Vendor modules\n \"ngRoute\",\n \"ngAnimate\",\n \"pascalprecht.translate\",\n \"infinite-scroll\",\n \"tgRepeat\"\n].concat(_.map(@.taigaContribPlugins, (plugin) -> plugin.module))\n\n# Main module definition\nmodule = angular.module(\"taiga\", modules)\n\nmodule.config([\n \"$routeProvider\",\n \"$locationProvider\",\n \"$httpProvider\",\n \"$provide\",\n \"$tgEventsProvider\",\n \"$compileProvider\",\n \"$translateProvider\",\n \"$animateProvider\",\n configure\n])\n\nmodule.run([\n \"$log\",\n \"$rootScope\",\n \"$tgAuth\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"tgProjectService\",\n \"tgLoader\",\n init\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: classes.coffee\n###\n\nclass TaigaBase\nclass TaigaService extends TaigaBase\nclass TaigaController extends TaigaBase\n onInitialDataError: (xhr) =>\n if xhr\n if xhr.status == 404\n @location.path(@navUrls.resolve(\"not-found\"))\n @location.replace()\n else if xhr.status == 403\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n return @q.reject(xhr)\n\n@.taiga.Base = TaigaBase\n@.taiga.Service = TaigaService\n@.taiga.Controller = TaigaController\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: utils.coffee\n###\n\nnl2br = (str) =>\n breakTag = '
'\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2')\n\nbindMethods = (object) =>\n dependencies = _.keys(object)\n\n methods = []\n\n _.forIn object, (value, key) =>\n if key not in dependencies\n methods.push(key)\n\n _.bindAll(object, methods)\n\nbindOnce = (scope, attr, continuation) =>\n val = scope.$eval(attr)\n if val != undefined\n return continuation(val)\n\n delBind = null\n delBind = scope.$watch attr, (val) ->\n return if val is undefined\n continuation(val)\n delBind() if delBind\n\n\nmixOf = (base, mixins...) ->\n class Mixed extends base\n\n for mixin in mixins by -1 #earlier mixins override later ones\n for name, method of mixin::\n Mixed::[name] = method\n Mixed\n\n\ntrim = (data, char) ->\n return _.str.trim(data, char)\n\n\nslugify = (data) ->\n return _.str.slugify(data)\n\n\nunslugify = (data) ->\n if data\n return _.str.capitalize(data.replace(/-/g, ' '))\n return data\n\n\ntoggleText = (element, texts) ->\n nextTextPosition = element.data('nextTextPosition')\n nextTextPosition = 0 if not nextTextPosition? or nextTextPosition >= texts.length\n text = texts[nextTextPosition]\n element.data('nextTextPosition', nextTextPosition + 1)\n element.text(text)\n\n\ngroupBy = (coll, pred) ->\n result = {}\n for item in coll\n result[pred(item)] = item\n\n return result\n\n\ntimeout = (wait, continuation) ->\n return window.setTimeout(continuation, wait)\n\n\ncancelTimeout = (timeoutVar) ->\n window.clearTimeout(timeoutVar)\n\n\nscopeDefer = (scope, func) ->\n _.defer =>\n scope.$apply(func)\n\n\ntoString = (value) ->\n if _.isNumber(value)\n return value + \"\"\n else if _.isString(value)\n return value\n else if _.isPlainObject(value)\n return JSON.stringify(value)\n else if _.isUndefined(value)\n return \"\"\n return value.toString()\n\n\njoinStr = (str, coll) ->\n return _.str.join(str, coll)\n\n\ndebounce = (wait, func) ->\n return _.debounce(func, wait, {leading: true, trailing: false})\n\n\ndebounceLeading = (wait, func) ->\n return _.debounce(func, wait, {leading: false, trailing: true})\n\n\nstartswith = (str1, str2) ->\n return _.str.startsWith(str1, str2)\n\n\ntruncate = (str, maxLength, suffix=\"...\") ->\n return str if (typeof str != \"string\") and not (str instanceof String)\n\n out = str.slice(0)\n\n if out.length > maxLength\n out = out.substring(0, maxLength + 1)\n out = out.substring(0, Math.min(out.length, out.lastIndexOf(\" \")))\n out = out + suffix\n\n return out\n\n\nsizeFormat = (input, precision=1) ->\n if isNaN(parseFloat(input)) or not isFinite(input)\n return \"-\"\n\n if input == 0\n return \"0 bytes\"\n\n units = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\"]\n number = Math.floor(Math.log(input) / Math.log(1024))\n if number > 5\n number = 5\n size = (input / Math.pow(1024, number)).toFixed(precision)\n return \"#{size} #{units[number]}\"\n\nstripTags = (str, exception) ->\n if exception\n pattern = new RegExp('<(?!' + exception + '\\s*\\/?)[^>]+>', 'gi')\n return String(str).replace(pattern, '')\n else\n return String(str).replace(/<\\/?[^>]+>/g, '')\n\nreplaceTags = (str, tags, replace) ->\n # open tag\n pattern = new RegExp('<(' + tags + ')>', 'gi')\n str = str.replace(pattern, '<' + replace + '>')\n\n # close tag\n pattern = new RegExp('<\\/(' + tags + ')>', 'gi')\n str = str.replace(pattern, '')\n\n return str\n\ndefineImmutableProperty = (obj, name, fn) =>\n Object.defineProperty obj, name, {\n get: () =>\n if !_.isFunction(fn)\n throw \"defineImmutableProperty third param must be a function\"\n\n fn_result = fn()\n if fn_result && _.isObject(fn_result)\n if fn_result.size == undefined\n throw \"defineImmutableProperty must return immutable data\"\n\n return fn_result\n }\n\ntaiga = @.taiga\ntaiga.nl2br = nl2br\ntaiga.bindMethods = bindMethods\ntaiga.bindOnce = bindOnce\ntaiga.mixOf = mixOf\ntaiga.trim = trim\ntaiga.slugify = slugify\ntaiga.unslugify = unslugify\ntaiga.toggleText = toggleText\ntaiga.groupBy = groupBy\ntaiga.timeout = timeout\ntaiga.cancelTimeout = cancelTimeout\ntaiga.scopeDefer = scopeDefer\ntaiga.toString = toString\ntaiga.joinStr = joinStr\ntaiga.truncate = truncate\ntaiga.debounce = debounce\ntaiga.debounceLeading = debounceLeading\ntaiga.startswith = startswith\ntaiga.sizeFormat = sizeFormat\ntaiga.stripTags = stripTags\ntaiga.replaceTags = replaceTags\ntaiga.defineImmutableProperty = defineImmutableProperty\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/controllerMixins.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\njoinStr = @.taiga.joinStr\ntrim = @.taiga.trim\ntoString = @.taiga.toString\n\n\n#############################################################################\n## Page Mixin\n#############################################################################\n\nclass PageMixin\n fillUsersAndRoles: (users, roles) ->\n activeUsers = _.filter(users, (user) => user.is_active)\n @scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\")\n @scope.activeUsersById = groupBy(@scope.activeUsers, (e) -> e.id)\n\n @scope.users = _.sortBy(users, \"full_name_display\")\n @scope.usersById = groupBy(@scope.users, (e) -> e.id)\n\n @scope.roles = _.sortBy(roles, \"order\")\n availableRoles = _(@scope.project.memberships).map(\"role\").uniq().value()\n @scope.computableRoles = _(roles).filter(\"computable\")\n .filter((x) -> _.contains(availableRoles, x.id))\n .value()\n loadUsersAndRoles: ->\n promise = @q.all([\n @rs.projects.usersList(@scope.projectId),\n @rs.projects.rolesList(@scope.projectId)\n ])\n\n return promise.then (results) =>\n [users, roles] = results\n @.fillUsersAndRoles(users, roles)\n return results\n\ntaiga.PageMixin = PageMixin\n\n\n#############################################################################\n## Filters Mixin\n#############################################################################\n# This mixin requires @location ($tgLocation), and @scope\n\nclass FiltersMixin\n selectFilter: (name, value, load=false) ->\n params = @location.search()\n if params[name] != undefined and name != \"page\"\n existing = _.map(taiga.toString(params[name]).split(\",\"), (x) -> trim(x))\n existing.push(taiga.toString(value))\n existing = _.compact(existing)\n value = joinStr(\",\", _.uniq(existing))\n\n if !@location.isInCurrentRouteParams(name, value)\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\n replaceFilter: (name, value, load=false) ->\n if !@location.isInCurrentRouteParams(name, value)\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\n replaceAllFilters: (filters, load=false) ->\n location = if load then @location else @location.noreload(@scope)\n location.search(filters)\n\n unselectFilter: (name, value, load=false) ->\n params = @location.search()\n\n if params[name] is undefined\n return\n\n if value is undefined or value is null\n delete params[name]\n\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), (x) -> trim(x))\n newValues = _.reject(parsedValues, (x) -> x == taiga.toString(value))\n newValues = _.compact(newValues)\n\n if _.isEmpty(newValues)\n value = null\n else\n value = joinStr(\",\", _.uniq(newValues))\n\n location = if load then @location else @location.noreload(@scope)\n location.search(name, value)\n\ntaiga.FiltersMixin = FiltersMixin\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin.coffee\n###\n\nmodule = angular.module(\"taigaAdmin\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/auth.coffee\n###\n\ntaiga = @.taiga\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAuth\", [\"taigaResources\"])\n\n#############################################################################\n## Authentication Service\n#############################################################################\n\nclass AuthService extends taiga.Service\n @.$inject = [\"$rootScope\",\n \"$tgStorage\",\n \"$tgModel\",\n \"$tgResources\",\n \"$tgHttp\",\n \"$tgUrls\",\n \"$tgConfig\",\n \"$translate\",\n \"tgCurrentUserService\"]\n\n constructor: (@rootscope, @storage, @model, @rs, @http, @urls, @config, @translate, @currentUserService) ->\n super()\n userModel = @.getUser()\n @.setUserdata(userModel)\n\n setUserdata: (userModel) ->\n if userModel\n @.userData = Immutable.fromJS(userModel.getAttrs())\n @currentUserService.setUser(@.userData)\n else\n @.userData = null\n\n\n _setLocales: ->\n lang = @rootscope.user.lang || @config.get(\"defaultLanguage\") || \"en\"\n @translate.preferredLanguage(lang) # Needed for calls to the api in the correct language\n @translate.use(lang) # Needed for change the interface in runtime\n\n getUser: ->\n if @rootscope.user\n return @rootscope.user\n\n userData = @storage.get(\"userInfo\")\n if userData\n user = @model.make_model(\"users\", userData)\n @rootscope.user = user\n @._setLocales()\n return user\n\n return null\n\n setUser: (user) ->\n @rootscope.auth = user\n @storage.set(\"userInfo\", user.getAttrs())\n @rootscope.user = user\n\n @.setUserdata(user)\n\n @._setLocales()\n\n clear: ->\n @rootscope.auth = null\n @rootscope.user = null\n @storage.remove(\"userInfo\")\n\n setToken: (token) ->\n @storage.set(\"token\", token)\n\n getToken: ->\n return @storage.get(\"token\")\n\n removeToken: ->\n @storage.remove(\"token\")\n\n isAuthenticated: ->\n if @.getUser() != null\n return true\n return false\n\n ## Http interface\n\n login: (data, type) ->\n url = @urls.resolve(\"auth\")\n\n data = _.clone(data, false)\n data.type = if type then type else \"normal\"\n\n @.removeToken()\n\n return @http.post(url, data).then (data, status) =>\n user = @model.make_model(\"users\", data.data)\n @.setToken(user.auth_token)\n @.setUser(user)\n return user\n\n logout: ->\n @.removeToken()\n @.clear()\n\n @currentUserService.removeUser()\n\n register: (data, type, existing) ->\n url = @urls.resolve(\"auth-register\")\n\n data = _.clone(data, false)\n data.type = if type then type else \"public\"\n if type == \"private\"\n data.existing = if existing then existing else false\n\n @.removeToken()\n\n return @http.post(url, data).then (response) =>\n user = @model.make_model(\"users\", response.data)\n @.setToken(user.auth_token)\n @.setUser(user)\n return user\n\n getInvitation: (token) ->\n return @rs.invitations.get(token)\n\n acceptInvitiationWithNewUser: (data) ->\n return @.register(data, \"private\", false)\n\n acceptInvitiationWithExistingUser: (data) ->\n return @.register(data, \"private\", true)\n\n forgotPassword: (data) ->\n url = @urls.resolve(\"users-password-recovery\")\n data = _.clone(data, false)\n @.removeToken()\n return @http.post(url, data)\n\n changePasswordFromRecovery: (data) ->\n url = @urls.resolve(\"users-change-password-from-recovery\")\n data = _.clone(data, false)\n @.removeToken()\n return @http.post(url, data)\n\n changeEmail: (data) ->\n url = @urls.resolve(\"users-change-email\")\n data = _.clone(data, false)\n return @http.post(url, data)\n\n cancelAccount: (data) ->\n url = @urls.resolve(\"users-cancel-account\")\n data = _.clone(data, false)\n return @http.post(url, data)\n\nmodule.service(\"$tgAuth\", AuthService)\n\n\n#############################################################################\n## Login Directive\n#############################################################################\n\n# Directive that manages the visualization of public register\n# message/link on login page.\n\nPublicRegisterMessageDirective = ($config, $navUrls, templates) ->\n template = templates.get(\"auth/login-text.html\", true)\n\n templateFn = ->\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\")\n if not publicRegisterEnabled\n return \"\"\n return template({url:$navUrls.resolve(\"register\")})\n\n return {\n restrict: \"AE\"\n scope: {}\n template: templateFn\n }\n\nmodule.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$tgTemplate\",\n PublicRegisterMessageDirective])\n\n\nLoginDirective = ($auth, $confirm, $location, $config, $routeParams, $navUrls, $events, $translate) ->\n link = ($scope, $el, $attrs) ->\n onSuccess = (response) ->\n if $routeParams['next'] and $routeParams['next'] != $navUrls.resolve(\"login\")\n nextUrl = $routeParams['next']\n else\n nextUrl = $navUrls.resolve(\"home\")\n\n $events.setupConnection()\n $location.path(nextUrl)\n\n onError = (response) ->\n $confirm.notify(\"light-error\", $translate.instant(\"LOGIN_FORM.ERROR_AUTH_INCORRECT\"))\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = new checksley.Form($el.find(\"form.login-form\"))\n if not form.validate()\n return\n\n data = {\n \"username\": $el.find(\"form.login-form input[name=username]\").val(),\n \"password\": $el.find(\"form.login-form input[name=password]\").val()\n }\n\n loginFormType = $config.get(\"loginFormType\", \"normal\")\n\n promise = $auth.login(data, loginFormType)\n return promise.then(onSuccess, onError)\n\n $el.on \"submit\", \"form\", submit\n\n window.prerenderReady = true\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\",\n \"$tgNavUrls\", \"$tgEvents\", \"$translate\", LoginDirective])\n\n\n#############################################################################\n## Register Directive\n#############################################################################\n\nRegisterDirective = ($auth, $confirm, $location, $navUrls, $config, $analytics, $translate) ->\n link = ($scope, $el, $attrs) ->\n if not $config.get(\"publicRegisterEnabled\")\n $location.path($navUrls.resolve(\"not-found\"))\n $location.replace()\n\n $scope.data = {}\n form = $el.find(\"form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmit = (response) ->\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1)\n\n $confirm.notify(\"success\", $translate.instant(\"LOGIN_FORM.SUCCESS\"))\n\n $location.path($navUrls.resolve(\"home\"))\n\n onErrorSubmit = (response) ->\n if response.data._error_message\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n form.setErrors(response.data)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.register($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n window.prerenderReady = true\n\n return {link:link}\n\nmodule.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\",\n \"$tgAnalytics\", \"$translate\", RegisterDirective])\n\n\n#############################################################################\n## Forgot Password Directive\n#############################################################################\n\nForgotPasswordDirective = ($auth, $confirm, $location, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"FORGOT_PASSWORD_FORM.ERROR\")\n\n $confirm.notify(\"light-error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.forgotPassword($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n window.prerenderReady = true\n\n return {link:link}\n\nmodule.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$translate\",\n ForgotPasswordDirective])\n\n\n#############################################################################\n## Change Password from Recovery Directive\n#############################################################################\n\nChangePasswordFromRecoveryDirective = ($auth, $confirm, $location, $params, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n\n if $params.token?\n $scope.tokenInParams = true\n $scope.data.token = $params.token\n else\n $scope.tokenInParams = false\n\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"CHANGE_PASSWORD_RECOVERY_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.changePasswordFromRecovery($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\",\n \"$tgNavUrls\", \"$translate\",\n ChangePasswordFromRecoveryDirective])\n\n\n#############################################################################\n## Invitation\n#############################################################################\n\nInvitationDirective = ($auth, $confirm, $location, $params, $navUrls, $analytics, $translate) ->\n link = ($scope, $el, $attrs) ->\n token = $params.token\n\n promise = $auth.getInvitation(token)\n promise.then (invitation) ->\n $scope.invitation = invitation\n\n promise.then null, (response) ->\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"INVITATION_LOGIN_FORM.NOT_FOUND\")\n $confirm.success(text)\n\n # Login form\n $scope.dataLogin = {token: token}\n loginForm = $el.find(\"form.login-form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmitLogin = (response) ->\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1)\n $location.path($navUrls.resolve(\"project\", {project: $scope.invitation.project_slug}))\n text = $translate.instant(\"INVITATION_LOGIN_FORM.SUCCESS\", {\n \"project_name\": $scope.invitation.project_name\n })\n\n $confirm.notify(\"success\", text)\n\n onErrorSubmitLogin = (response) ->\n text = $translate.instant(\"INVITATION_LOGIN_FORM.ERROR\")\n\n $confirm.notify(\"light-error\", text)\n\n submitLogin = debounce 2000, (event) =>\n event.preventDefault()\n\n if not loginForm.validate()\n return\n\n promise = $auth.acceptInvitiationWithExistingUser($scope.dataLogin)\n promise.then(onSuccessSubmitLogin, onErrorSubmitLogin)\n\n $el.on \"submit\", \"form.login-form\", submitLogin\n $el.on \"click\", \".button-login\", submitLogin\n\n # Register form\n $scope.dataRegister = {token: token}\n registerForm = $el.find(\"form.register-form\").checksley({onlyOneErrorElement: true})\n\n onSuccessSubmitRegister = (response) ->\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1)\n $location.path($navUrls.resolve(\"project\", {project: $scope.invitation.project_slug}))\n $confirm.notify(\"success\", \"You've successfully joined this project\",\n \"Welcome to #{_.escape($scope.invitation.project_name)}\")\n\n onErrorSubmitRegister = (response) ->\n if response.data._error_message\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n $confirm.notify(\"light-error\", text)\n\n registerForm.setErrors(response.data)\n\n submitRegister = debounce 2000, (event) =>\n event.preventDefault()\n\n if not registerForm.validate()\n return\n\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister)\n promise.then(onSuccessSubmitRegister, onErrorSubmitRegister)\n\n $el.on \"submit\", \"form.register-form\", submitRegister\n $el.on \"click\", \".button-register\", submitRegister\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\",\n \"$tgNavUrls\", \"$tgAnalytics\", \"$translate\", InvitationDirective])\n\n\n#############################################################################\n## Change Email\n#############################################################################\n\nChangeEmailDirective = ($repo, $model, $auth, $confirm, $location, $params, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n $scope.data.email_token = $params.email_token\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n if $auth.isAuthenticated()\n $repo.queryOne(\"users\", $auth.getUser().id).then (data) =>\n $auth.setUser(data)\n $location.path($navUrls.resolve(\"home\"))\n else\n $location.path($navUrls.resolve(\"login\"))\n\n text = $translate.instant(\"CHANGE_EMAIL_FORM.SUCCESS\")\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n\n $confirm.notify(\"light-error\", text)\n\n submit = ->\n if not form.validate()\n return\n\n promise = $auth.changeEmail($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", (event) ->\n event.preventDefault()\n submit()\n\n $el.on \"click\", \"a.button-change-email\", (event) ->\n event.preventDefault()\n submit()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\",\n \"$routeParams\", \"$tgNavUrls\", \"$translate\", ChangeEmailDirective])\n\n\n#############################################################################\n## Cancel account\n#############################################################################\n\nCancelAccountDirective = ($repo, $model, $auth, $confirm, $location, $params, $navUrls) ->\n link = ($scope, $el, $attrs) ->\n $scope.data = {}\n $scope.data.cancel_token = $params.cancel_token\n form = $el.find(\"form\").checksley()\n\n onSuccessSubmit = (response) ->\n $auth.logout()\n $location.path($navUrls.resolve(\"home\"))\n\n text = $translate.instant(\"CANCEL_ACCOUNT.SUCCESS\")\n\n $confirm.success(text)\n\n onErrorSubmit = (response) ->\n text = $translate.instant(\"COMMON.GENERIC_ERROR\", {error: response.data._error_message})\n\n $confirm.notify(\"error\", text)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n promise = $auth.cancelAccount($scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\",\n \"$routeParams\",\"$tgNavUrls\", CancelAccountDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog.coffee\n###\n\nmodule = angular.module(\"taigaBacklog\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base.coffee\n###\n\ntaiga = @.taiga\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaBase\", [])\n\n#############################################################################\n## Main Directive\n#############################################################################\n\nTaigaMainDirective = ($rootscope, $window) ->\n link = ($scope, $el, $attrs) ->\n $window.onresize = () ->\n $rootscope.$broadcast(\"resize\")\n\n return {link:link}\n\nmodule.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective])\n\n#############################################################################\n## Navigation\n#############################################################################\n\nurls = {\n \"home\": \"/\"\n \"projects\": \"/projects\"\n \"error\": \"/error\"\n \"not-found\": \"/not-found\"\n \"permission-denied\": \"/permission-denied\"\n\n \"login\": \"/login\"\n \"forgot-password\": \"/forgot-password\"\n \"change-password\": \"/change-password/:token\"\n \"change-email\": \"/change-email/:token\"\n \"cancel-account\": \"/cancel-account/:token\"\n \"register\": \"/register\"\n \"invitation\": \"/invitation/:token\"\n \"create-project\": \"/create-project\"\n\n \"profile\": \"/profile\"\n \"user-profile\": \"/profile/:username\"\n\n \"project\": \"/project/:project\"\n \"project-backlog\": \"/project/:project/backlog\"\n \"project-taskboard\": \"/project/:project/taskboard/:sprint\"\n \"project-kanban\": \"/project/:project/kanban\"\n \"project-issues\": \"/project/:project/issues\"\n \"project-search\": \"/project/:project/search\"\n\n \"project-userstories-detail\": \"/project/:project/us/:ref\"\n \"project-tasks-detail\": \"/project/:project/task/:ref\"\n \"project-issues-detail\": \"/project/:project/issue/:ref\"\n\n \"project-wiki\": \"/project/:project/wiki\"\n \"project-wiki-page\": \"/project/:project/wiki/:slug\"\n\n # Team\n \"project-team\": \"/project/:project/team\"\n\n # Admin\n \"project-admin-home\": \"/project/:project/admin/project-profile/details\"\n \"project-admin-project-profile-details\": \"/project/:project/admin/project-profile/details\"\n \"project-admin-project-profile-default-values\": \"/project/:project/admin/project-profile/default-values\"\n \"project-admin-project-profile-modules\": \"/project/:project/admin/project-profile/modules\"\n \"project-admin-project-profile-export\": \"/project/:project/admin/project-profile/export\"\n \"project-admin-project-profile-reports\": \"/project/:project/admin/project-profile/reports\"\n\n \"project-admin-project-values-status\": \"/project/:project/admin/project-values/status\"\n \"project-admin-project-values-points\": \"/project/:project/admin/project-values/points\"\n \"project-admin-project-values-priorities\": \"/project/:project/admin/project-values/priorities\"\n \"project-admin-project-values-severities\": \"/project/:project/admin/project-values/severities\"\n \"project-admin-project-values-types\": \"/project/:project/admin/project-values/types\"\n \"project-admin-project-values-custom-fields\": \"/project/:project/admin/project-values/custom-fields\"\n\n \"project-admin-memberships\": \"/project/:project/admin/memberships\"\n \"project-admin-roles\": \"/project/:project/admin/roles\"\n \"project-admin-third-parties-webhooks\": \"/project/:project/admin/third-parties/webhooks\"\n \"project-admin-third-parties-github\": \"/project/:project/admin/third-parties/github\"\n \"project-admin-third-parties-gitlab\": \"/project/:project/admin/third-parties/gitlab\"\n \"project-admin-third-parties-bitbucket\": \"/project/:project/admin/third-parties/bitbucket\"\n \"project-admin-contrib\": \"/project/:project/admin/contrib/:plugin\"\n\n # User settings\n \"user-settings-user-profile\": \"/user-settings/user-profile\"\n \"user-settings-user-change-password\": \"/user-settings/user-change-password\"\n \"user-settings-user-avatar\": \"/user-settings/user-avatar\"\n \"user-settings-mail-notifications\": \"/user-settings/mail-notifications\"\n\n}\n\ninit = ($log, $navurls) ->\n $log.debug \"Initialize navigation urls\"\n $navurls.update(urls)\n\nmodule.run([\"$log\", \"$tgNavUrls\", init])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\", [])\n\n#############################################################################\n## Get the selected text\n#############################################################################\nSelectedText = ($window, $document) ->\n get = () ->\n if $window.getSelection\n return $window.getSelection().toString()\n else if $document.selection\n return $document.selection.createRange().text\n return \"\"\n\n return {get: get}\n\nmodule.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText])\n\n#############################################################################\n## Permission directive, hide elements when necessary\n#############################################################################\n\nCheckPermissionDirective = ->\n render = ($el, project, permission) ->\n $el.removeClass('hidden') if project.my_permissions.indexOf(permission) > -1\n\n link = ($scope, $el, $attrs) ->\n $el.addClass('hidden')\n permission = $attrs.tgCheckPermission\n\n $scope.$watch \"project\", (project) ->\n render($el, project, permission) if project?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgCheckPermission\", CheckPermissionDirective)\n\n#############################################################################\n## Add class based on permissions\n#############################################################################\n\nClassPermissionDirective = ->\n name = \"tgClassPermission\"\n\n link = ($scope, $el, $attrs) ->\n checkPermissions = (project, className, permission) ->\n negation = permission[0] == \"!\"\n\n permission = permission.slice(1) if negation\n\n if negation && project.my_permissions.indexOf(permission) == -1\n $el.addClass(className)\n else if !negation && project.my_permissions.indexOf(permission) != -1\n $el.addClass(className)\n else\n $el.removeClass(className)\n\n tgClassPermissionWatchAction = (project) ->\n if project\n unbindWatcher()\n\n classes = $scope.$eval($attrs[name])\n\n for className, permission of classes\n checkPermissions(project, className, permission)\n\n\n unbindWatcher = $scope.$watch \"project\", tgClassPermissionWatchAction\n\n return {link:link}\n\nmodule.directive(\"tgClassPermission\", ClassPermissionDirective)\n\n#############################################################################\n## Animation frame service, apply css changes in the next render frame\n#############################################################################\nAnimationFrame = () ->\n animationFrame =\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame\n\n performAnimation = (time) =>\n fn = tail.shift()\n fn()\n\n if (tail.length)\n animationFrame(performAnimation)\n\n tail = []\n\n add = () ->\n for fn in arguments\n tail.push(fn)\n\n if tail.length == 1\n animationFrame(performAnimation)\n\n return {add: add}\n\nmodule.factory(\"animationFrame\", AnimationFrame)\n\n#############################################################################\n## Open/close comment\n#############################################################################\n\nToggleCommentDirective = () ->\n link = ($scope, $el, $attrs) ->\n $el.find(\"textarea\").on \"focus\", () ->\n $el.addClass(\"active\")\n\n return {link:link}\n\nmodule.directive(\"tgToggleComment\", ToggleCommentDirective)\n\n\n#############################################################################\n## Get the appropiate section url for a project\n## according to his enabled modules and user permisions\n#############################################################################\n\nProjectUrl = ($navurls) ->\n get = (project) ->\n ctx = {project: project.slug}\n\n if project.is_backlog_activated and project.my_permissions.indexOf(\"view_us\") > -1\n return $navurls.resolve(\"project-backlog\", ctx)\n if project.is_kanban_activated and project.my_permissions.indexOf(\"view_us\") > -1\n return $navurls.resolve(\"project-kanban\", ctx)\n if project.is_wiki_activated and project.my_permissions.indexOf(\"view_wiki_pages\") > -1\n return $navurls.resolve(\"project-wiki\", ctx)\n if project.is_issues_activated and project.my_permissions.indexOf(\"view_issues\") > -1\n return $navurls.resolve(\"project-issues\", ctx)\n\n return $navurls.resolve(\"project\", ctx)\n\n return {get: get}\n\nmodule.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl])\n\n\n#############################################################################\n## Limite line size in a text area\n#############################################################################\n\nLimitLineLengthDirective = () ->\n link = ($scope, $el, $attrs) ->\n maxColsPerLine = parseInt($el.attr(\"cols\"))\n $el.on \"keyup\", (event) ->\n code = event.keyCode\n lines = $el.val().split(\"\\n\")\n\n _.each lines, (line, index) ->\n lines[index] = line.substring(0, maxColsPerLine - 2)\n\n $el.val(lines.join(\"\\n\"))\n\n return {link:link}\n\nmodule.directive(\"tgLimitLineLength\", LimitLineLengthDirective)\n\n#############################################################################\n## Queue Q promises\n#############################################################################\n\nQqueue = ($q) ->\n deferred = $q.defer()\n deferred.resolve()\n\n lastPromise = deferred.promise\n\n qqueue = {\n bindAdd: (fn) =>\n return (args...) =>\n lastPromise = lastPromise.then () => fn.apply(@, args)\n\n return qqueue\n add: (fn) =>\n if !lastPromise\n lastPromise = fn()\n else\n lastPromise = lastPromise.then(fn)\n\n return qqueue\n }\n\n return qqueue\n\nmodule.factory(\"$tgQqueue\", [\"$q\", Qqueue])\n\n#############################################################################\n## Templates\n#############################################################################\n\nTemplate = ($templateCache) ->\n return {\n get: (name, lodash = false) =>\n tmp = $templateCache.get(name)\n\n if lodash\n tmp = _.template(tmp)\n\n return tmp\n }\n\nmodule.factory(\"$tgTemplate\", [\"$templateCache\", Template])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/events.coffee\n###\n\ntaiga = @.taiga\nstartswith = @.taiga.startswith\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaEvents\", [])\n\n\nclass EventsService\n constructor: (@win, @log, @config, @auth) ->\n bindMethods(@)\n\n initialize: (sessionId) ->\n @.sessionId = sessionId\n @.subscriptions = {}\n @.connected = false\n @.error = false\n @.pendingMessages = []\n\n if @win.WebSocket is undefined\n @log.info \"WebSockets not supported on your browser\"\n\n setupConnection: ->\n @.stopExistingConnection()\n\n url = @config.get(\"eventsUrl\")\n\n # This allows disable events in case\n # url is not found on the configuration.\n return if not url\n\n # This allows relative urls in configuration.\n if not startswith(url, \"ws:\") and not startswith(url, \"wss:\")\n loc = @win.location\n scheme = if loc.protocol == \"https:\" then \"wss:\" else \"ws:\"\n path = _.str.ltrim(url, \"/\")\n url = \"#{scheme}//#{loc.host}/#{path}\"\n\n @.ws = new @win.WebSocket(url)\n @.ws.addEventListener(\"open\", @.onOpen)\n @.ws.addEventListener(\"message\", @.onMessage)\n @.ws.addEventListener(\"error\", @.onError)\n @.ws.addEventListener(\"close\", @.onClose)\n\n stopExistingConnection: ->\n if @.ws is undefined\n return\n\n @.ws.removeEventListener(\"open\", @.onOpen)\n @.ws.removeEventListener(\"close\", @.onClose)\n @.ws.removeEventListener(\"error\", @.onError)\n @.ws.removeEventListener(\"message\", @.onMessage)\n @.ws.close()\n\n delete @.ws\n\n serialize: (message) ->\n if _.isObject(message)\n return JSON.stringify(message)\n return message\n\n sendMessage: (message) ->\n @.pendingMessages.push(message)\n\n if not @.connected\n return\n\n messages = _.map(@.pendingMessages, @.serialize)\n @.pendingMessages = []\n\n for msg in messages\n @.ws.send(msg)\n\n subscribe: (scope, routingKey, callback) ->\n if @.error\n return\n\n @log.debug(\"Subscribe to: #{routingKey}\")\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: _.debounce(callback, 500, {\"leading\": true, \"trailing\": false})\n }\n\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n }\n\n @.subscriptions[routingKey] = subscription\n @.sendMessage(message)\n scope.$on(\"$destroy\", => @.unsubscribe(routingKey))\n\n unsubscribe: (routingKey) ->\n if @.error\n return\n\n @log.debug(\"Unsubscribe from: #{routingKey}\")\n\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n }\n\n @.sendMessage(message)\n\n onOpen: ->\n @.connected = true\n\n @log.debug(\"WebSocket connection opened\")\n token = @auth.getToken()\n\n message = {\n cmd: \"auth\"\n data: {token: token, sessionId: @.sessionId}\n }\n\n @.sendMessage(message)\n\n onMessage: (event) ->\n @.log.debug \"WebSocket message received: #{event.data}\"\n\n data = JSON.parse(event.data)\n routingKey = data.routing_key\n\n if not @.subscriptions[routingKey]?\n return\n\n subscription = @.subscriptions[routingKey]\n subscription.scope.$apply ->\n subscription.callback(data.data)\n\n onError: (error) ->\n @log.error(\"WebSocket error: #{error}\")\n @.error = true\n\n onClose: ->\n @log.debug(\"WebSocket closed.\")\n @.connected = false\n\n\nclass EventsProvider\n setSessionId: (sessionId) ->\n @.sessionId = sessionId\n\n $get: ($win, $log, $conf, $auth) ->\n service = new EventsService($win, $log, $conf, $auth)\n service.initialize(@.sessionId)\n return service\n\n @.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\"]\n\nmodule.provider(\"$tgEvents\", EventsProvider)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/feedback.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nmixOf = @.taiga.mixOf\ndebounce = @.taiga.debounce\ntrim = @.taiga.trim\n\nmodule = angular.module(\"taigaFeedback\", [])\n\nFeedbackDirective = ($lightboxService, $repo, $confirm, $loading, feedbackService)->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"feedback\", $scope.feedback)\n\n promise.then (data) ->\n currentLoading.finish()\n $lightboxService.close($el)\n $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n openLightbox = ->\n $scope.feedback = {}\n $lightboxService.open($el)\n $el.find(\"textarea\").focus()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n openLightbox()\n\n directive = {\n link: link,\n templateUrl: \"common/lightbox-feedback.html\"\n scope: {}\n }\n\n return directive\n\nmodule.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\",\n \"$tgLoading\", \"tgFeedbackService\", FeedbackDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/integrations.coffee\n###\n\nmodule = angular.module(\"taigaIntegrations\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues.coffee\n###\n\nmodule = angular.module(\"taigaIssues\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban.coffee\n###\n\nmodule = angular.module(\"taigaKanban\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/projects.coffee\n###\n\nmodule = angular.module(\"taigaProject\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/related-tasks.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaRelatedTasks\", [])\n\nRelatedTaskRowDirective = ($repo, $compile, $confirm, $rootscope, $loading, $template, $translate) ->\n templateView = $template.get(\"task/related-task-row.html\", true)\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n saveTask = debounce 2000, (task) ->\n task.subject = $el.find('input').val()\n\n currentLoading = $loading()\n .target($el.find('.task-name'))\n .start()\n\n promise = $repo.save(task)\n promise.then =>\n currentLoading.finish()\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"related-tasks:update\")\n\n promise.then null, =>\n currentLoading.finish()\n $el.find('input').val(task.subject)\n $confirm.notify(\"error\")\n return promise\n\n renderEdit = (task) ->\n $el.html($compile(templateEdit({task: task}))($scope))\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n saveTask($model.$modelValue).then ->\n renderView($model.$modelValue)\n else if event.keyCode == 27\n renderView($model.$modelValue)\n\n $el.on \"click\", \".icon-floppy\", (event) ->\n saveTask($model.$modelValue).then ->\n renderView($model.$modelValue)\n\n $el.on \"click\", \".cancel-edit\", (event) ->\n renderView($model.$modelValue)\n\n renderView = (task) ->\n $el.off()\n\n perms = {\n modify_task: $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n delete_task: $scope.project.my_permissions.indexOf(\"delete_task\") != -1\n }\n\n $el.html($compile(templateView({task: task, perms: perms}))($scope))\n\n $el.on \"click\", \".icon-edit\", ->\n renderEdit($model.$modelValue)\n $el.find('input').focus().select()\n\n $el.on \"click\", \".delete-task\", (event) ->\n title = $translate.instant(\"TASK.TITLE_DELETE_ACTION\")\n task = $model.$modelValue\n message = task.subject\n\n $confirm.askOnDelete(title, message).then (finish) ->\n promise = $repo.remove(task)\n promise.then ->\n finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"related-tasks:delete\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n $scope.$watch $attrs.ngModel, (val) ->\n return if not val\n renderView(val)\n\n $scope.$on \"related-tasks:assigned-to-changed\", ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:status-changed\", ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", \"$translate\", RelatedTaskRowDirective])\n\nRelatedTaskCreateFormDirective = ($repo, $compile, $confirm, $tgmodel, $loading, $analytics, $template) ->\n template = $template.get(\"task/related-task-create-form.html\", true)\n\n newTask = {\n subject: \"\"\n assigned_to: null\n }\n\n link = ($scope, $el, $attrs) ->\n createTask = debounce 2000, (task) ->\n task.subject = $el.find('input').val()\n task.assigned_to = $scope.newTask.assigned_to\n task.status = $scope.newTask.status\n $scope.newTask.status = $scope.project.default_task_status\n $scope.newTask.assigned_to = null\n\n currentLoading = $loading()\n .target($el.find('.task-name'))\n .start()\n\n promise = $repo.create(\"tasks\", task)\n promise.then ->\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1)\n currentLoading.finish()\n $scope.$emit(\"related-tasks:add\")\n $confirm.notify(\"success\")\n\n promise.then null, ->\n $el.find('input').val(task.subject)\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n return promise\n\n close = () ->\n $el.off()\n $el.html(\"\")\n\n $scope.newRelatedTaskFormOpen = false\n\n render = ->\n $scope.newRelatedTaskFormOpen = true\n\n $el.html($compile(template())($scope))\n $el.find('input').focus().select()\n $el.addClass('active')\n\n $el.on \"keyup\", \"input\", (event)->\n if event.keyCode == 13\n createTask(newTask).then ->\n render()\n else if event.keyCode == 27\n $scope.$apply () -> close()\n\n $el.on \"click\", \".icon-delete\", (event)->\n $scope.$apply () -> close()\n\n $el.on \"click\", \".icon-floppy\", (event)->\n createTask(newTask).then ->\n close()\n\n taiga.bindOnce $scope, \"us\", (val) ->\n newTask[\"status\"] = $scope.project.default_task_status\n newTask[\"project\"] = $scope.project.id\n newTask[\"user_story\"] = $scope.us.id\n $scope.newTask = $tgmodel.make_model(\"tasks\", newTask)\n $el.html(\"\")\n\n $scope.$on \"related-tasks:show-form\", ->\n render()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", \"$tgTemplate\", RelatedTaskCreateFormDirective])\n\nRelatedTaskCreateButtonDirective = ($repo, $compile, $confirm, $tgmodel) ->\n template = _.template(\"\"\"\n \n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n $scope.$watch \"project\", (val) ->\n return if not val\n $el.off()\n if $scope.project.my_permissions.indexOf(\"add_task\") != -1\n $el.html($compile(template())($scope))\n else\n $el.html(\"\")\n\n $el.on \"click\", \".icon\", (event)->\n $scope.$emit(\"related-tasks:add-new-clicked\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", RelatedTaskCreateButtonDirective])\n\nRelatedTasksDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n loadTasks = ->\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then (tasks) =>\n $scope.tasks = tasks\n return tasks\n\n $scope.$on \"related-tasks:add\", ->\n loadTasks().then ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:delete\", ->\n loadTasks().then ->\n $rootscope.$broadcast(\"related-tasks:update\")\n\n $scope.$on \"related-tasks:add-new-clicked\", ->\n $scope.$broadcast(\"related-tasks:show-form\")\n\n taiga.bindOnce $scope, \"us\", (val) ->\n loadTasks()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\nmodule.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective])\n\nRelatedTaskAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService) ->\n template = _.template(\"\"\"\n \" alt=\"<%- name %>\"/>\n
<%- name %>
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n updateRelatedTask = (task) ->\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n member = $scope.usersById[task.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name_display\n\n $el.find(\".avatar\").html(template(ctx))\n $el.find(\".task-assignedto\").attr('title', ctx.name)\n\n $ctrl = $el.controller()\n task = $scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition)\n notAutoSave = $scope.$eval($attrs.notAutoSave)\n autoSave = !notAutoSave\n\n updateRelatedTask(task)\n\n $el.on \"click\", \".task-assignedto\", (event) ->\n $rootscope.$broadcast(\"assigned-to:add\", task)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_task\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"assigned-to:added\", debounce 2000, (ctx, userId, updatedRelatedTask) =>\n if updatedRelatedTask.id == task.id\n updatedRelatedTask.assigned_to = userId\n if autoSave\n $repo.save(updatedRelatedTask).then ->\n $scope.$emit(\"related-tasks:assigned-to-changed\")\n updateRelatedTask(updatedRelatedTask)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", RelatedTaskAssignedToInlineEditionDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources.coffee\n###\n\ntaiga = @.taiga\n\nclass ResourcesService extends taiga.Service\n\nurls = {\n # Auth\n \"auth\": \"/auth\"\n \"auth-register\": \"/auth/register\"\n \"invitations\": \"/invitations\"\n\n # User\n \"users\": \"/users\"\n \"by_username\": \"/users/by_username\"\n \"users-password-recovery\": \"/users/password_recovery\"\n \"users-change-password-from-recovery\": \"/users/change_password_from_recovery\"\n \"users-change-password\": \"/users/change_password\"\n \"users-change-email\": \"/users/change_email\"\n \"users-cancel-account\": \"/users/cancel\"\n \"contacts\": \"/users/%s/contacts\"\n \"stats\": \"/users/%s/stats\"\n\n # User - Notification\n \"permissions\": \"/permissions\"\n \"notify-policies\": \"/notify-policies\"\n\n # User - Storage\n \"user-storage\": \"/user-storage\"\n\n # Memberships\n \"memberships\": \"/memberships\"\n \"bulk-create-memberships\": \"/memberships/bulk_create\"\n\n # Roles & Permissions\n \"roles\": \"/roles\"\n \"permissions\": \"/permissions\"\n\n # Resolver\n \"resolver\": \"/resolver\"\n\n # Project\n \"projects\": \"/projects\"\n \"project-templates\": \"/project-templates\"\n \"project-modules\": \"/projects/%s/modules\"\n \"bulk-update-projects-order\": \"/projects/bulk_update_order\"\n\n # Project Values - Choises\n \"userstory-statuses\": \"/userstory-statuses\"\n \"points\": \"/points\"\n \"task-statuses\": \"/task-statuses\"\n \"issue-statuses\": \"/issue-statuses\"\n \"issue-types\": \"/issue-types\"\n \"priorities\": \"/priorities\"\n \"severities\": \"/severities\"\n\n # Milestones/Sprints\n \"milestones\": \"/milestones\"\n\n # User stories\n \"userstories\": \"/userstories\"\n \"bulk-create-us\": \"/userstories/bulk_create\"\n \"bulk-update-us-backlog-order\": \"/userstories/bulk_update_backlog_order\"\n \"bulk-update-us-sprint-order\": \"/userstories/bulk_update_sprint_order\"\n \"bulk-update-us-kanban-order\": \"/userstories/bulk_update_kanban_order\"\n\n # Tasks\n \"tasks\": \"/tasks\"\n \"bulk-create-tasks\": \"/tasks/bulk_create\"\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\"\n\n # Issues\n \"issues\": \"/issues\"\n \"bulk-create-issues\": \"/issues/bulk_create\"\n\n # Wiki pages\n \"wiki\": \"/wiki\"\n \"wiki-restore\": \"/wiki/%s/restore\"\n \"wiki-links\": \"/wiki-links\"\n\n # History\n \"history/us\": \"/history/userstory\"\n \"history/issue\": \"/history/issue\"\n \"history/task\": \"/history/task\"\n \"history/wiki\": \"/history/wiki\"\n\n # Attachments\n \"attachments/us\": \"/userstories/attachments\"\n \"attachments/issue\": \"/issues/attachments\"\n \"attachments/task\": \"/tasks/attachments\"\n \"attachments/wiki_page\": \"/wiki/attachments\"\n\n # Custom Attributess\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\"\n \"custom-attributes/issue\": \"/issue-custom-attributes\"\n \"custom-attributes/task\": \"/task-custom-attributes\"\n\n # Custom Attributess - Values\n \"custom-attributes-values/userstory\": \"/userstories/custom-attributes-values\"\n \"custom-attributes-values/issue\": \"/issues/custom-attributes-values\"\n \"custom-attributes-values/task\": \"/tasks/custom-attributes-values\"\n\n # Webhooks\n \"webhooks\": \"/webhooks\"\n \"webhooks-test\": \"/webhooks/%s/test\"\n \"webhooklogs\": \"/webhooklogs\"\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\"\n\n # Reports - CSV\n \"userstories-csv\": \"/userstories/csv?uuid=%s\"\n \"tasks-csv\": \"/tasks/csv?uuid=%s\"\n \"issues-csv\": \"/issues/csv?uuid=%s\"\n\n # Timeline\n \"timeline-profile\": \"/timeline/profile\"\n \"timeline-user\": \"/timeline/user\"\n \"timeline-project\": \"/timeline/project\"\n\n # Search\n \"search\": \"/search\"\n\n # Export/Import\n \"exporter\": \"/exporter\"\n \"importer\": \"/importer/load_dump\"\n\n # Feedback\n \"feedback\": \"/feedback\"\n\n # locales\n \"locales\": \"/locales\"\n}\n\n# Initialize api urls service\ninitUrls = ($log, $urls) ->\n $log.debug \"Initialize api urls\"\n $urls.update(urls)\n\n# Initialize resources service populating it with methods\n# defined in separated files.\ninitResources = ($log, $rs) ->\n $log.debug \"Initialize resources\"\n providers = _.toArray(arguments).slice(2)\n\n for provider in providers\n provider($rs)\n\nmodule = angular.module(\"taigaResources\", [\"taigaBase\"])\nmodule.service(\"$tgResources\", ResourcesService)\n\n# Module entry point\nmodule.run([\"$log\", \"$tgUrls\", initUrls])\nmodule.run([\n \"$log\",\n \"$tgResources\",\n \"$tgProjectsResourcesProvider\",\n \"$tgCustomAttributesResourcesProvider\",\n \"$tgCustomAttributesValuesResourcesProvider\",\n \"$tgMembershipsResourcesProvider\",\n \"$tgNotifyPoliciesResourcesProvider\",\n \"$tgInvitationsResourcesProvider\",\n \"$tgRolesResourcesProvider\",\n \"$tgUserSettingsResourcesProvider\",\n \"$tgSprintsResourcesProvider\",\n \"$tgUserstoriesResourcesProvider\",\n \"$tgTasksResourcesProvider\",\n \"$tgIssuesResourcesProvider\",\n \"$tgWikiResourcesProvider\",\n \"$tgSearchResourcesProvider\",\n \"$tgAttachmentsResourcesProvider\",\n \"$tgMdRenderResourcesProvider\",\n \"$tgHistoryResourcesProvider\",\n \"$tgKanbanResourcesProvider\",\n \"$tgModulesResourcesProvider\",\n \"$tgWebhooksResourcesProvider\",\n \"$tgWebhookLogsResourcesProvider\",\n \"$tgLocalesResourcesProvider\",\n \"$tgUsersResourcesProvider\",\n initResources\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/search.coffee\n###\n\ntaiga = @.taiga\n\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nmixOf = @.taiga.mixOf\ndebounceLeading = @.taiga.debounceLeading\ntrim = @.taiga.trim\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaSearch\", [])\n\n\n#############################################################################\n## Search Controller\n#############################################################################\n\nclass SearchController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @q, @location, @appMetaService, @navUrls, @translate) ->\n @scope.sectionName = \"Search\"\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"SEARCH.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"SEARCH.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n # Search input watcher\n @scope.searchTerm = \"\"\n loadSearchData = debounceLeading(100, (t) => @.loadSearchData(t))\n\n @scope.$watch \"searchTerm\", (term) =>\n if term\n loadSearchData(term)\n\n loadFilters: ->\n defered = @q.defer()\n defered.resolve()\n return defered.promise\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n return project\n\n loadSearchData: (term) ->\n promise = @rs.search.do(@scope.projectId, term).then (data) =>\n @scope.searchResults = data\n return data\n\n return promise\n\n loadInitialData: ->\n return @.loadProject().then (project) =>\n @scope.projectId = project.id\n @.fillUsersAndRoles(project.users, project.roles)\n\nmodule.controller(\"SearchController\", SearchController)\n\n\n#############################################################################\n## Search box directive\n#############################################################################\n\nSearchBoxDirective = (projectService, $lightboxService, $navurls, $location, $route)->\n link = ($scope, $el, $attrs) ->\n project = null\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n text = $el.find(\"#search-text\").val()\n\n url = $navurls.resolve(\"project-search\", {project: project.get(\"slug\")})\n\n $scope.$apply ->\n $lightboxService.close($el)\n\n $location.path(url)\n $location.search(\"text\", text).path(url)\n $route.reload()\n\n\n openLightbox = () ->\n project = projectService.project\n\n $lightboxService.open($el).then () ->\n $el.find(\"#search-text\").focus()\n\n $el.on \"submit\", \"form\", submit\n\n openLightbox()\n\n return {\n templateUrl: \"search/lightbox-search.html\",\n link:link\n }\n\nSearchBoxDirective.$inject = [\n \"tgProjectService\",\n \"lightboxService\",\n \"$tgNavUrls\",\n \"$tgLocation\",\n \"$route\"\n]\n\nmodule.directive(\"tgSearchBox\", SearchBoxDirective)\n\n\n#############################################################################\n## Search Directive\n#############################################################################\n\nSearchDirective = ($log, $compile, $templatecache, $routeparams, $location) ->\n linkTable = ($scope, $el, $attrs, $ctrl) ->\n tabsDom = $el.find(\"section.search-filter\")\n lastSeatchResults = null\n\n getActiveSection = (data) ->\n maxVal = 0\n selectedSectionName = null\n selectedSectionData = null\n\n if data\n for name in [\"userstories\", \"issues\", \"tasks\", \"wikipages\"]\n value = data[name]\n\n if value.length > maxVal\n maxVal = value.length\n selectedSectionName = name\n selectedSectionData = value\n break;\n\n if maxVal == 0\n return {name: \"userstories\", value: []}\n\n return {name:selectedSectionName, value: selectedSectionData}\n\n renderFilterTabs = (data) ->\n for name, value of data\n continue if name == \"count\"\n tabsDom.find(\"li.#{name} .num\").html(value.length)\n\n markSectionTabActive = (section) ->\n # Mark as active the item with max amount of results\n tabsDom.find(\"a.active\").removeClass(\"active\")\n tabsDom.find(\"li.#{section.name} a\").addClass(\"active\")\n\n templates = {\n issues: $templatecache.get(\"search-issues\")\n tasks: $templatecache.get(\"search-tasks\")\n userstories: $templatecache.get(\"search-userstories\")\n wikipages: $templatecache.get(\"search-wikipages\")\n }\n\n renderTableContent = (section) ->\n oldElements = $el.find(\".search-result-table\").children()\n oldScope = oldElements.scope()\n\n if oldScope\n oldScope.$destroy()\n oldElements.remove()\n\n scope = $scope.$new()\n scope[section.name] = section.value\n\n template = angular.element.parseHTML(trim(templates[section.name]))\n element = $compile(template)(scope)\n $el.find(\".search-result-table\").html(element)\n\n $scope.$watch \"searchResults\", (data) ->\n lastSeatchResults = data\n activeSection = getActiveSection(data)\n renderFilterTabs(data)\n renderTableContent(activeSection)\n markSectionTabActive(activeSection)\n\n $scope.$watch \"searchTerm\", (searchTerm) ->\n $location.search(\"text\", searchTerm) if searchTerm\n\n $el.on \"click\", \".search-filter li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n sectionName = target.parent().data(\"name\")\n sectionData = lastSeatchResults[sectionName]\n\n section = {\n name: sectionName,\n value: sectionData\n }\n\n $scope.$apply ->\n renderTableContent(section)\n markSectionTabActive(section)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkTable($scope, $el, $attrs, $ctrl)\n\n searchText = $routeparams.text\n $scope.$watch \"projectId\", (projectId) ->\n $scope.searchTerm = searchText if projectId?\n\n return {link:link}\n\nmodule.directive(\"tgSearch\", [\"$log\", \"$compile\", \"$templateCache\", \"$routeParams\", \"$tgLocation\",\n SearchDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard.coffee\n###\n\nmodule = angular.module(\"taigaTaskboard\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/tasks.coffee\n###\n\nmodule = angular.module(\"taigaTasks\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/team.coffee\n###\n\nmodule = angular.module(\"taigaTeam\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings.coffee\n###\n\nmodule = angular.module(\"taigaUserSettings\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/userstories.coffee\n###\n\nmodule = angular.module(\"taigaUserStories\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki.coffee\n###\n\nmodule = angular.module(\"taigaWiki\", [])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/analytics.coffee\n###\n\ntaiga = @.taiga\nmodule = angular.module(\"taigaCommon\")\n\n\nclass AnalyticsService extends taiga.Service\n @.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"]\n\n constructor: (@rootscope, @log, @config, @win, @doc, @location) ->\n @.initialized = false\n\n conf = @config.get(\"analytics\", {})\n\n @.accountId = conf.accountId\n @.pageEvent = conf.pageEvent or \"$routeChangeSuccess\"\n @.trackRoutes = conf.trackRoutes or true\n @.ignoreFirstPageLoad = conf.ignoreFirstPageLoad or false\n\n initialize: ->\n if not @.accountId\n @log.debug \"Analytics: no acount id provided. Disabling.\"\n return\n\n @.injectAnalytics()\n\n @win.ga(\"create\", @.accountId, \"auto\")\n @win.ga(\"require\", \"displayfeatures\")\n\n if @.trackRoutes and (not @.ignoreFirstPageLoad)\n @win.ga(\"send\", \"pageview\", @.getUrl())\n\n # activates page tracking\n if @.trackRoutes\n @rootscope.$on @.pageEvent, =>\n @.trackPage(@.getUrl(), \"Taiga\")\n\n @.initialized = true\n\n getUrl: ->\n return @location.path()\n\n injectAnalytics: ->\n fn = `(function(i,s,o,g,r,a,m){i[\"GoogleAnalyticsObject\"]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments);},i[r].l=1*new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m);})`\n fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\")\n\n trackPage: (url, title) ->\n return if not @.initialized\n return if not @win.ga\n\n title = title or @doc[0].title\n @win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n })\n\n trackEvent: (category, action, label, value) ->\n return if not @.initialized\n return if not @win.ga\n\n @win.ga(\"send\", \"event\", category, action, label, value)\n\n\nmodule.service(\"$tgAnalytics\", AnalyticsService)\n\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/attachments.coffee\n###\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\nbindOnce = @.taiga.bindOnce\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaCommon\")\n\n\nclass AttachmentsController extends taiga.Controller\n @.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\", \"$translate\"]\n\n constructor: (@scope, @rootscope, @repo, @rs, @confirm, @q, @translate) ->\n bindMethods(@)\n @.type = null\n @.objectId = null\n @.projectId = null\n\n @.uploadingAttachments = []\n @.attachments = []\n @.attachmentsCount = 0\n @.deprecatedAttachmentsCount = 0\n @.showDeprecated = false\n\n initialize: (type, objectId) ->\n @.type = type\n @.objectId = objectId\n @.projectId = @scope.projectId\n\n loadAttachments: ->\n return @.attachments if not @.objectId\n\n urlname = \"attachments/#{@.type}\"\n\n return @rs.attachments.list(urlname, @.objectId, @.projectId).then (attachments) =>\n @.attachments = _.sortBy(attachments, \"order\")\n @.updateCounters()\n return attachments\n\n updateCounters: ->\n @.attachmentsCount = @.attachments.length\n @.deprecatedAttachmentsCount = _.filter(@.attachments, {is_deprecated: true}).length\n\n _createAttachment: (attachment) ->\n urlName = \"attachments/#{@.type}\"\n\n promise = @rs.attachments.create(urlName, @.projectId, @.objectId, attachment)\n promise = promise.then (data) =>\n data.isCreatedRightNow = true\n\n index = @.uploadingAttachments.indexOf(attachment)\n @.uploadingAttachments.splice(index, 1)\n @.attachments.push(data)\n @rootscope.$broadcast(\"attachment:create\")\n\n promise = promise.then null, (data) =>\n @scope.$emit(\"attachments:size-error\") if data.status == 413\n\n index = @.uploadingAttachments.indexOf(attachment)\n @.uploadingAttachments.splice(index, 1)\n\n message = @translate.instant(\"ATTACHMENT.ERROR_UPLOAD_ATTACHMENT\", {\n fileName: attachment.name, errorMessage: data.data._error_message})\n @confirm.notify(\"error\", message)\n return @q.reject(data)\n\n return promise\n\n # Create attachments in bulk\n createAttachments: (attachments) ->\n promises = _.map(attachments, (x) => @._createAttachment(x))\n return @q.all(promises).then =>\n @.updateCounters()\n\n # Add uploading attachment tracking.\n addUploadingAttachments: (attachments) ->\n @.uploadingAttachments = _.union(@.uploadingAttachments, attachments)\n\n # Change order of attachment in a ordered list.\n # This function is mainly executed after sortable ends.\n reorderAttachment: (attachment, newIndex) ->\n oldIndex = @.attachments.indexOf(attachment)\n return if oldIndex == newIndex\n\n @.attachments.splice(oldIndex, 1)\n @.attachments.splice(newIndex, 0, attachment)\n\n _.each(@.attachments, (x,i) -> x.order = i+1)\n\n # Persist one concrete attachment.\n # This function is mainly used when user clicks\n # to save button for save one unique attachment.\n updateAttachment: (attachment) ->\n onSuccess = =>\n @.updateCounters()\n @rootscope.$broadcast(\"attachment:edit\")\n\n onError = (response) =>\n $scope.$emit(\"attachments:size-error\") if response.status == 413\n @confirm.notify(\"error\")\n return @q.reject()\n\n return @repo.save(attachment).then(onSuccess, onError)\n\n # Persist all pending modifications on attachments.\n # This function is used mainly for persist the order\n # after sorting.\n saveAttachments: ->\n return @repo.saveAll(@.attachments).then null, =>\n for item in @.attachments\n item.revert()\n @.attachments = _.sortBy(@.attachments, \"order\")\n\n # Remove one concrete attachment.\n removeAttachment: (attachment) ->\n title = @translate.instant(\"ATTACHMENT.TITLE_LIGHTBOX_DELETE_ATTACHMENT\")\n message = @translate.instant(\"ATTACHMENT.MSG_LIGHTBOX_DELETE_ATTACHMENT\", {fileName: attachment.name})\n\n return @confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = =>\n finish()\n index = @.attachments.indexOf(attachment)\n @.attachments.splice(index, 1)\n @.updateCounters()\n @rootscope.$broadcast(\"attachment:delete\")\n\n onError = =>\n finish(false)\n message = @translate.instant(\"ATTACHMENT.ERROR_DELETE_ATTACHMENT\", {errorMessage: message})\n @confirm.notify(\"error\", null, message)\n return @q.reject()\n\n return @repo.remove(attachment).then(onSuccess, onError)\n\n # Function used in template for filter visible attachments\n filterAttachments: (item) ->\n if @.showDeprecated\n return true\n return not item.is_deprecated\n\n\nAttachmentsDirective = ($config, $confirm, $templates, $translate) ->\n template = $templates.get(\"attachment/attachments.html\", true)\n\n link = ($scope, $el, $attrs, $ctrls) ->\n $ctrl = $ctrls[0]\n $model = $ctrls[1]\n\n bindOnce $scope, $attrs.ngModel, (value) ->\n $ctrl.initialize($attrs.type, value.id)\n $ctrl.loadAttachments()\n\n tdom = $el.find(\"div.attachment-body.sortable\")\n tdom.sortable({\n items: \"div.single-attachment\"\n handle: \"a.settings.icon.icon-drag-v\"\n containment: \".attachments\"\n dropOnEmpty: true\n scroll: false\n tolerance: \"pointer\"\n placeholder: \"sortable-placeholder single-attachment\"\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n attachment = ui.item.scope().attach\n newIndex = ui.item.index()\n\n $ctrl.reorderAttachment(attachment, newIndex)\n $ctrl.saveAttachments().then ->\n $scope.$emit(\"attachment:edit\")\n\n showSizeInfo = ->\n $el.find(\".size-info\").removeClass(\"hidden\")\n\n $scope.$on \"attachments:size-error\", ->\n showSizeInfo()\n\n $el.on \"change\", \".attachments-header input\", (event) ->\n files = _.toArray(event.target.files)\n return if files.length < 1\n\n $scope.$apply ->\n $ctrl.addUploadingAttachments(files)\n $ctrl.createAttachments(files)\n\n $el.on \"click\", \".more-attachments\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n $scope.$apply ->\n $ctrl.showDeprecated = not $ctrl.showDeprecated\n\n target.find(\"span.text\").addClass(\"hidden\")\n if $ctrl.showDeprecated\n target.find(\"span[data-type=hide]\").removeClass(\"hidden\")\n target.find(\"more-attachments-num\").addClass(\"hidden\")\n else\n target.find(\"span[data-type=show]\").removeClass(\"hidden\")\n target.find(\"more-attachments-num\").removeClass(\"hidden\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n maxFileSize = sizeFormat(maxFileSize) if maxFileSize\n maxFileSizeMsg = if maxFileSize then $translate.instant(\"ATTACHMENT.MAX_UPLOAD_SIZE\", {maxFileSize: maxFileSize}) else \"\"\n ctx = {\n type: $attrs.type\n maxFileSize: maxFileSize\n maxFileSizeMsg: maxFileSizeMsg\n }\n return template(ctx)\n\n return {\n require: [\"tgAttachments\", \"ngModel\"]\n controller: AttachmentsController\n controllerAs: \"ctrl\"\n restrict: \"AE\"\n scope: true\n link: link\n template: templateFn\n }\n\nmodule.directive(\"tgAttachments\", [\"$tgConfig\", \"$tgConfirm\", \"$tgTemplate\", \"$translate\", AttachmentsDirective])\n\n\nAttachmentDirective = ($template, $compile, $translate) ->\n template = $template.get(\"attachment/attachment.html\", true)\n templateEdit = $template.get(\"attachment/attachment-edit.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (attachment, edit=false) ->\n permissions = $scope.project.my_permissions\n modifyPermission = permissions.indexOf(\"modify_#{$ctrl.type}\") > -1\n\n ctx = {\n id: attachment.id\n name: attachment.name\n title : $translate.instant(\"ATTACHMENT.TITLE\", {\n fileName: attachment.name,\n date: moment(attachment.created_date).format($translate.instant(\"ATTACHMENT.DATE\"))})\n url: attachment.url\n size: sizeFormat(attachment.size)\n description: attachment.description\n isDeprecated: attachment.is_deprecated\n modifyPermission: modifyPermission\n }\n\n if edit\n html = $compile(templateEdit(ctx))($scope)\n else\n html = $compile(template(ctx))($scope)\n\n $el.html(html)\n\n if attachment.is_deprecated\n $el.addClass(\"deprecated\")\n $el.find(\"input:checkbox\").prop('checked', true)\n else\n $el.removeClass(\"deprecated\")\n\n saveAttachment = ->\n attachment.description = $el.find(\"input[name='description']\").val()\n attachment.is_deprecated = $el.find(\"input[name='is-deprecated']\").prop(\"checked\")\n\n $scope.$apply ->\n $ctrl.updateAttachment(attachment).then ->\n render(attachment, false)\n\n ## Actions (on edit mode)\n $el.on \"click\", \"a.editable-settings.icon-floppy\", (event) ->\n event.preventDefault()\n saveAttachment()\n\n $el.on \"keyup\", \"input[name=description]\", (event) ->\n if event.keyCode == 13\n saveAttachment()\n else if event.keyCode == 27\n render(attachment, false)\n\n $el.on \"click\", \"a.editable-settings.icon-delete\", (event) ->\n event.preventDefault()\n render(attachment, false)\n\n ## Actions (on view mode)\n $el.on \"click\", \"a.settings.icon-edit\", (event) ->\n event.preventDefault()\n render(attachment, true)\n $el.find(\"input[name='description']\").focus().select()\n\n $el.on \"click\", \"a.settings.icon-delete\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.removeAttachment(attachment)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n # Bootstrap\n attachment = $scope.$eval($attrs.tgAttachment)\n render(attachment, attachment.isCreatedRightNow)\n if attachment.isCreatedRightNow\n $el.find(\"input[name='description']\").focus().select()\n\n return {\n link: link\n require: \"^tgAttachments\"\n restrict: \"AE\"\n }\n\nmodule.directive(\"tgAttachment\", [\"$tgTemplate\", \"$compile\", \"$translate\", AttachmentDirective])\n","module = angular.module(\"taigaCommon\")\n\nBindScope = (config) ->\n if !config.debugInfo\n jQuery.fn.scope = () -> this.data('scope')\n\n link = ($scope, $el) ->\n if !config.debugInfo\n $el\n .data('scope', $scope)\n .addClass('tg-scope')\n\n return {link: link}\n\nmodule.directive(\"tgBindScope\", [\"$tgConfig\", BindScope])\n","CompileHtmlDirective = ($compile) ->\n link = (scope, element, attrs) ->\n scope.$watch attrs.tgCompileHtml, (newValue, oldValue) ->\n element.html(newValue)\n $compile(element.contents())(scope)\n\n return {\n link: link\n }\n\nCompileHtmlDirective.$inject = [\"$compile\"]\n\nangular.module(\"taigaCommon\").directive(\"tgCompileHtml\", CompileHtmlDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/components.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n\n#############################################################################\n## Date Range Directive (used mainly for sprint date range)\n#############################################################################\n\nDateRangeDirective = ($translate) ->\n renderRange = ($el, first, second) ->\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\")\n initDate = moment(first).format(prettyDate)\n endDate = moment(second).format(prettyDate)\n $el.html(\"#{initDate}-#{endDate}\")\n\n link = ($scope, $el, $attrs) ->\n [first, second] = $attrs.tgDateRange.split(\",\")\n\n bindOnce $scope, first, (valFirst) ->\n bindOnce $scope, second, (valSecond) ->\n renderRange($el, valFirst, valSecond)\n\n return {link:link}\n\nmodule.directive(\"tgDateRange\", [\"$translate\", DateRangeDirective])\n\n\n#############################################################################\n## Date Selector Directive (using pikaday)\n#############################################################################\n\nDateSelectorDirective = ($rootscope, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n selectedDate = null\n\n initialize = () ->\n $el.picker = new Pikaday({\n field: $el[0]\n onSelect: (date) =>\n selectedDate = date\n onOpen: =>\n $el.picker.setDate(selectedDate) if selectedDate?\n i18n: {\n previousMonth: $translate.instant(\"COMMON.PICKERDATE.PREV_MONTH\"),\n nextMonth: $translate.instant(\"COMMON.PICKERDATE.NEXT_MONTH\"),\n months: [$translate.instant(\"COMMON.PICKERDATE.MONTHS.JAN\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.FEB\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAR\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.APR\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.MAY\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUN\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.JUL\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.AUG\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.SEP\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.OCT\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.NOV\"),\n $translate.instant(\"COMMON.PICKERDATE.MONTHS.DEC\")],\n weekdays: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SUN\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.MON\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.TUE\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.WED\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.THU\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.FRI\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS.SAT\")],\n weekdaysShort: [$translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SUN\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.MON\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.TUE\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.WED\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.THU\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.FRI\"),\n $translate.instant(\"COMMON.PICKERDATE.WEEK_DAYS_SHORT.SAT\")]\n },\n isRTL: $translate.instant(\"COMMON.PICKERDATE.IS_RTL\") == \"true\",\n firstDay: parseInt($translate.instant(\"COMMON.PICKERDATE.FIRST_DAY_OF_WEEK\"), 10),\n format: $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n })\n\n unbind = $rootscope.$on \"$translateChangeEnd\", (ctx) => initialize()\n\n $scope.$watch $attrs.ngModel, (val) ->\n initialize() if val? and not $el.picker\n $el.picker.setDate(val) if val?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n unbind()\n\n return {\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgDateSelector\", [\"$rootScope\", \"$translate\", DateSelectorDirective])\n\n\n#############################################################################\n## Sprint Progress Bar Directive\n#############################################################################\n\nSprintProgressBarDirective = ->\n renderProgress = ($el, percentage, visual_percentage) ->\n if $el.hasClass(\".current-progress\")\n $el.css(\"width\", \"#{percentage}%\")\n else\n $el.find(\".current-progress\").css(\"width\", \"#{visual_percentage}%\")\n $el.find(\".number\").html(\"#{percentage} %\")\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgSprintProgressbar, (sprint) ->\n closedPoints = sprint.closed_points\n totalPoints = sprint.total_points\n percentage = 0\n percentage = Math.round(100 * (closedPoints/totalPoints)) if totalPoints != 0\n visual_percentage = 0\n #Visual hack for .current-progress bar\n visual_percentage = Math.round(98 * (closedPoints/totalPoints)) if totalPoints != 0\n\n renderProgress($el, percentage, visual_percentage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgSprintProgressbar\", SprintProgressBarDirective)\n\n\n#############################################################################\n## Created-by display directive\n#############################################################################\n\nCreatedByDisplayDirective = ($template, $compile, $translate)->\n # Display the owner information (full name and photo) and the date of\n # creation of an object (like USs, tasks and issues).\n #\n # Example:\n # div.us-created-by(tg-created-by-display, ng-model=\"us\")\n #\n # Requirements:\n # - model object must have the attributes 'created_date' and\n # 'owner'(ng-model)\n # - scope.usersById object is required.\n\n template = $template.get(\"common/components/created-by.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (model) ->\n owner = $scope.usersById?[model.owner] or {\n full_name_display: $translate.instant(\"COMMON.EXTERNAL_USER\")\n photo: \"/images/unnamed.png\"\n }\n\n html = template({\n owner: owner\n date: moment(model.created_date).format($translate.instant(\"COMMON.DATETIME\"))\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n bindOnce $scope, $attrs.ngModel, (model) ->\n render(model) if model?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", \"$compile\", \"$translate\", CreatedByDisplayDirective])\n\n\n#############################################################################\n## Watchers directive\n#############################################################################\n\nWatchersDirective = ($rootscope, $confirm, $repo, $qqueue, $template, $compile, $translate) ->\n # You have to include a div with the tg-lb-watchers directive in the page\n # where use this directive\n template = $template.get(\"common/components/watchers.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project?.my_permissions?.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (watchers) =>\n item = $model.$modelValue.clone()\n item.watchers = watchers\n $model.$setViewValue(item)\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n watchers = _.map(watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $model.$modelValue.revert()\n\n deleteWatcher = $qqueue.bindAdd (watcherIds) =>\n item = $model.$modelValue.clone()\n item.watchers = watcherIds\n $model.$setViewValue(item)\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n watchers = _.map(item.watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n $rootscope.$broadcast(\"object:updated\")\n promise.then null, ->\n item.revert()\n $confirm.notify(\"error\")\n\n\n renderWatchers = (watchers) ->\n ctx = {\n watchers: watchers\n isEditable: isEditable()\n }\n\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n if isEditable() and watchers.length == 0\n $el.find(\".title\").text(\"Add watchers\")\n $el.find(\".watchers-header\").addClass(\"no-watchers\")\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n return if not isEditable()\n target = angular.element(event.currentTarget)\n watcherId = target.data(\"watcher-id\")\n\n title = $translate.instant(\"COMMON.WATCHERS.TITLE_LIGHTBOX_DELETE_WARTCHER\")\n message = $scope.usersById[watcherId].full_name_display\n\n $confirm.askOnDelete(title, message).then (finish) =>\n finish()\n\n watcherIds = _.clone($model.$modelValue.watchers, false)\n watcherIds = _.pull(watcherIds, watcherId)\n\n deleteWatcher(watcherIds)\n\n $el.on \"click\", \".add-watcher\", (event) ->\n event.preventDefault()\n return if not isEditable()\n $scope.$apply ->\n $rootscope.$broadcast(\"watcher:add\", $model.$modelValue)\n\n $scope.$on \"watcher:added\", (ctx, watcherId) ->\n watchers = _.clone($model.$modelValue.watchers, false)\n watchers.push(watcherId)\n watchers = _.uniq(watchers)\n\n save(watchers)\n\n $scope.$watch $attrs.ngModel, (item) ->\n return if not item?\n watchers = _.map(item.watchers, (watcherId) -> $scope.usersById[watcherId])\n renderWatchers(watchers)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\",\n \"$translate\", WatchersDirective])\n\n\n#############################################################################\n## Assigned to directive\n#############################################################################\n\nAssignedToDirective = ($rootscope, $confirm, $repo, $loading, $qqueue, $template, $translate, $compile) ->\n # You have to include a div with the tg-lb-assignedto directive in the page\n # where use this directive\n template = $template.get(\"common/components/assigned-to.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project?.my_permissions?.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (userId) =>\n $model.$modelValue.assigned_to = userId\n\n currentLoading = $loading()\n .target($el)\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n renderAssignedTo($model.$modelValue)\n $rootscope.$broadcast(\"object:updated\")\n promise.then null, ->\n $model.$modelValue.revert()\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n return promise\n\n renderAssignedTo = (issue) ->\n assignedToId = issue?.assigned_to\n assignedTo = if assignedToId? then $scope.usersById[assignedToId] else null\n\n ctx = {\n assignedTo: assignedTo\n isEditable: isEditable()\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n $el.on \"click\", \".user-assigned\", (event) ->\n event.preventDefault()\n return if not isEditable()\n $scope.$apply ->\n $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue)\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n return if not isEditable()\n title = $translate.instant(\"COMMON.ASSIGNED_TO.CONFIRM_UNASSIGNED\")\n\n $confirm.ask(title).then (finish) =>\n finish()\n $model.$modelValue.assigned_to = null\n save(null)\n\n $scope.$on \"assigned-to:added\", (ctx, userId, item) ->\n return if item.id != $model.$modelValue.id\n\n save(userId)\n\n $scope.$watch $attrs.ngModel, (instance) ->\n renderAssignedTo(instance)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n }\n\nmodule.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$translate\", \"$compile\",\n AssignedToDirective])\n\n\n#############################################################################\n## Block Button directive\n#############################################################################\n\nBlockButtonDirective = ($rootscope, $loading, $template) ->\n template = $template.get(\"common/components/block-button.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n $scope.$watch $attrs.ngModel, (item) ->\n return if not item\n\n if isEditable()\n $el.find('.item-block').addClass('editable')\n\n if item.is_blocked\n $el.find('.item-block').hide()\n $el.find('.item-unblock').show()\n else\n $el.find('.item-block').show()\n $el.find('.item-unblock').hide()\n\n $el.on \"click\", \".item-block\", (event) ->\n event.preventDefault()\n $rootscope.$broadcast(\"block\", $model.$modelValue)\n\n $el.on \"click\", \".item-unblock\", (event) ->\n event.preventDefault()\n currentLoading = $loading()\n .target($el.find(\".item-unblock\"))\n .start()\n\n finish = ->\n currentLoading.finish()\n\n $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective])\n\n\n#############################################################################\n## Delete Button directive\n#############################################################################\n\nDeleteButtonDirective = ($log, $repo, $confirm, $location, $template) ->\n template = $template.get(\"common/components/delete-button.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n if not $attrs.onDeleteGoToUrl\n return $log.error \"DeleteButtonDirective requires on-delete-go-to-url set in scope.\"\n if not $attrs.onDeleteTitle\n return $log.error \"DeleteButtonDirective requires on-delete-title set in scope.\"\n\n $el.on \"click\", \".button\", (event) ->\n title = $attrs.onDeleteTitle\n subtitle = $model.$modelValue.subject\n\n $confirm.askOnDelete(title, subtitle).then (finish) =>\n promise = $repo.remove($model.$modelValue)\n promise.then =>\n finish()\n url = $scope.$eval($attrs.onDeleteGoToUrl)\n $location.path(url)\n promise.then null, =>\n finish(false)\n $confirm.notify(\"error\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective])\n\n\n#############################################################################\n## Editable subject directive\n#############################################################################\n\nEditableSubjectDirective = ($rootscope, $repo, $confirm, $loading, $qqueue, $template) ->\n template = $template.get(\"common/components/editable-subject.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n\n $scope.$on \"object:updated\", () ->\n $el.find('.edit-subject').hide()\n $el.find('.view-subject').show()\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (subject) =>\n $model.$modelValue.subject = subject\n\n currentLoading = $loading()\n .target($el.find('.save-container'))\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $el.find('.edit-subject').hide()\n $el.find('.view-subject').show()\n promise.then null, ->\n $confirm.notify(\"error\")\n promise.finally ->\n currentLoading.finish()\n\n return promise\n\n $el.click ->\n return if not isEditable()\n $el.find('.edit-subject').show()\n $el.find('.view-subject').hide()\n $el.find('input').focus()\n\n $el.on \"click\", \".save\", (e) ->\n e.preventDefault()\n\n subject = $scope.item.subject\n save(subject)\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n subject = $scope.item.subject\n save(subject)\n else if event.keyCode == 27\n $scope.$apply () => $model.$modelValue.revert()\n\n $el.find('div.edit-subject').hide()\n $el.find('div.view-subject').show()\n\n $el.find('div.edit-subject').hide()\n $el.find('div.view-subject span.edit').hide()\n\n $scope.$watch $attrs.ngModel, (value) ->\n return if not value\n $scope.item = value\n\n if not isEditable()\n $el.find('.view-subject .edit').remove()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgEditableSubject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$tgTemplate\", EditableSubjectDirective])\n\n\n#############################################################################\n## Editable subject directive\n#############################################################################\n\nEditableDescriptionDirective = ($rootscope, $repo, $confirm, $compile, $loading, $selectedText, $qqueue, $template) ->\n template = $template.get(\"common/components/editable-description.html\")\n noDescriptionMegEditMode = $template.get(\"common/components/editable-description-msg-edit-mode.html\")\n noDescriptionMegReadMode = $template.get(\"common/components/editable-description-msg-read-mode.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n $el.find('.edit-description').hide()\n $el.find('.view-description .edit').hide()\n\n $scope.$on \"object:updated\", () ->\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n save = $qqueue.bindAdd (description) =>\n $model.$modelValue.description = description\n\n currentLoading = $loading()\n .target($el.find('.save-container'))\n .start()\n\n promise = $repo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n promise.then null, ->\n $confirm.notify(\"error\")\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"mouseup\", \".view-description\", (event) ->\n # We want to dettect the a inside the div so we use the target and\n # not the currentTarget\n target = angular.element(event.target)\n return if not isEditable()\n return if target.is('a')\n return if $selectedText.get().length\n\n $el.find('.edit-description').show()\n $el.find('.view-description').hide()\n $el.find('textarea').focus()\n\n $el.on \"click\", \".save\", (e) ->\n e.preventDefault()\n\n description = $scope.item.description\n save(description)\n\n $el.on \"keydown\", \"textarea\", (event) ->\n if event.keyCode == 27\n $scope.$apply () => $scope.item.revert()\n $el.find('.edit-description').hide()\n $el.find('.view-description').show()\n\n $scope.$watch $attrs.ngModel, (value) ->\n return if not value\n $scope.item = value\n\n if isEditable()\n $el.find('.view-description .edit').show()\n $el.find('.view-description .us-content').addClass('editable')\n $scope.noDescriptionMsg = $compile(noDescriptionMegEditMode)($scope)\n else\n $scope.noDescriptionMsg = $compile(noDescriptionMegReadMode)($scope)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n template: template\n }\n\nmodule.directive(\"tgEditableDescription\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", \"$tgLoading\",\n \"$selectedText\", \"$tgQqueue\", \"$tgTemplate\", EditableDescriptionDirective])\n\n\n#############################################################################\n## Common list directives\n#############################################################################\n## NOTE: These directives are used in issues and search and are\n## completely bindonce, they only serves for visualization of data.\n#############################################################################\n\nListItemUsStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n us = $scope.$eval($attrs.tgListitemUsStatus)\n bindOnce $scope, \"usStatusById\", (usStatusById) ->\n $el.html(usStatusById[us.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective)\n\n\nListItemTaskStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n task = $scope.$eval($attrs.tgListitemTaskStatus)\n bindOnce $scope, \"taskStatusById\", (taskStatusById) ->\n $el.html(taskStatusById[task.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective)\n\n\nListItemAssignedtoDirective = ($template) ->\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true)\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"membersById\", (membersById) ->\n item = $scope.$eval($attrs.tgListitemAssignedto)\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n\n member = membersById[item.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name\n\n $el.html(template(ctx))\n\n return {link:link}\n\nmodule.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", ListItemAssignedtoDirective])\n\n\nListItemIssueStatusDirective = ->\n link = ($scope, $el, $attrs) ->\n issue = $scope.$eval($attrs.tgListitemIssueStatus)\n bindOnce $scope, \"issueStatusById\", (issueStatusById) ->\n $el.html(issueStatusById[issue.status].name)\n\n return {link:link}\n\nmodule.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective)\n\n\nListItemTypeDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (issueTypeById, issue) ->\n type = issueTypeById[issue.type]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", type.color)\n domNode.attr(\"title\", type.name)\n\n bindOnce $scope, \"issueTypeById\", (issueTypeById) ->\n issue = $scope.$eval($attrs.tgListitemType)\n render(issueTypeById, issue)\n\n $scope.$watch $attrs.tgListitemType, (issue) ->\n render($scope.issueTypeById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemType\", ListItemTypeDirective)\n\n\nListItemPriorityDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (priorityById, issue) ->\n priority = priorityById[issue.priority]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", priority.color)\n domNode.attr(\"title\", priority.name)\n\n bindOnce $scope, \"priorityById\", (priorityById) ->\n issue = $scope.$eval($attrs.tgListitemPriority)\n render(priorityById, issue)\n\n $scope.$watch $attrs.tgListitemPriority, (issue) ->\n render($scope.priorityById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemPriority\", ListItemPriorityDirective)\n\n\nListItemSeverityDirective = ->\n link = ($scope, $el, $attrs) ->\n render = (severityById, issue) ->\n severity = severityById[issue.severity]\n domNode = $el.find(\".level\")\n domNode.css(\"background-color\", severity.color)\n domNode.attr(\"title\", severity.name)\n\n bindOnce $scope, \"severityById\", (severityById) ->\n issue = $scope.$eval($attrs.tgListitemSeverity)\n render(severityById, issue)\n\n $scope.$watch $attrs.tgListitemSeverity, (issue) ->\n render($scope.severityById, issue)\n\n return {\n link: link\n templateUrl: \"common/components/level.html\"\n }\n\nmodule.directive(\"tgListitemSeverity\", ListItemSeverityDirective)\n\n\n#############################################################################\n## Progress bar directive\n#############################################################################\n\nTgProgressBarDirective = ($template) ->\n template = $template.get(\"common/components/progress-bar.html\", true)\n\n render = (el, percentage) ->\n el.html(template({percentage: percentage}))\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch $attrs.tgProgressBar, (percentage) ->\n percentage = _.max([0 , percentage])\n percentage = _.min([100, percentage])\n render($el, percentage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective])\n\n\n#############################################################################\n## Main title directive\n#############################################################################\n\nTgMainTitleDirective = ($translate) ->\n link = ($scope, $el, $attrs) ->\n $attrs.$observe \"i18nSectionName\", (i18nSectionName) ->\n $scope.sectionName = $translate.instant(i18nSectionName)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n templateUrl: \"common/components/main-title.html\"\n scope: {\n projectName : \"=projectName\"\n }\n }\n\nmodule.directive(\"tgMainTitle\", [\"$translate\", TgMainTitleDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/confirm.coffee\n###\n\ntaiga = @.taiga\ntimeout = @.taiga.timeout\ncancelTimeout = @.taiga.cancelTimeout\ndebounce = @.taiga.debounce\nbindMethods = @.taiga.bindMethods\n\nNOTIFICATION_MSG = {\n \"success\":\n title: \"NOTIFICATION.OK\"\n message: \"NOTIFICATION.SAVED\"\n \"error\":\n title: \"NOTIFICATION.WARNING\"\n message: \"NOTIFICATION.WARNING_TEXT\"\n \"light-error\":\n title: \"NOTIFICATION.WARNING\"\n message: \"NOTIFICATION.WARNING_TEXT\"\n}\n\n\nclass ConfirmService extends taiga.Service\n @.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\", \"$translate\"]\n\n constructor: (@q, @lightboxService, @loading, @translate) ->\n bindMethods(@)\n\n hide: (el)->\n if el\n @lightboxService.close(el)\n\n el.off(\".confirm-dialog\")\n\n ask: (title, subtitle, message, lightboxSelector=\".lightbox-generic-ask\") ->\n defered = @q.defer()\n\n el = angular.element(lightboxSelector)\n\n # Render content\n el.find(\"h2.title\").html(title)\n el.find(\"span.subtitle\").html(subtitle)\n el.find(\"span.message\").html(message)\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n currentLoading = @loading()\n .target(target)\n .start()\n\n defered.resolve (ok=true) =>\n currentLoading.finish()\n if ok\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.button-red\", (event) =>\n event.preventDefault()\n defered.reject()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n askOnDelete: (title, message) ->\n return @.ask(title, @translate.instant(\"NOTIFICATION.ASK_DELETE\"), message)\n\n askChoice: (title, subtitle, choices, replacement, warning, lightboxSelector=\".lightbox-ask-choice\") ->\n defered = @q.defer()\n\n el = angular.element(lightboxSelector)\n\n # Render content\n el.find(\".title\").html(title)\n el.find(\".subtitle\").html(subtitle)\n\n if replacement\n el.find(\".replacement\").html(replacement)\n else\n el.find(\".replacement\").remove()\n\n if warning\n el.find(\".warning\").html(warning)\n else\n el.find(\".warning\").remove()\n\n choicesField = el.find(\".choices\")\n choicesField.html('')\n _.each choices, (value, key) ->\n choicesField.append(angular.element(\"\"))\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n currentLoading = @loading()\n .target(target)\n .start()\n defered.resolve {\n selected: choicesField.val()\n finish: =>\n currentLoading.finish()\n @.hide(el)\n }\n\n el.on \"click.confirm-dialog\", \"a.button-red\", (event) =>\n event.preventDefault()\n defered.reject()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n error: (message) ->\n defered = @q.defer()\n\n el = angular.element(\".lightbox-generic-error\")\n\n # Render content\n el.find(\"h2.title\").html(message)\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.close\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n success: (title, message) ->\n defered = @q.defer()\n\n el = angular.element(\".lightbox-generic-success\")\n\n # Render content\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n # Assign event handlers\n el.on \"click.confirm-dialog\", \"a.button-green\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n el.on \"click.confirm-dialog\", \"a.close\", (event) =>\n event.preventDefault()\n defered.resolve()\n @.hide(el)\n\n @lightboxService.open(el)\n\n return defered.promise\n\n loader: (title, message) ->\n el = angular.element(\".lightbox-generic-loading\")\n\n # Render content\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n return {\n start: => @lightboxService.open(el)\n stop: => @lightboxService.close(el)\n update: (status, title, message, percent) =>\n el.find(\"h2.title\").html(title) if title\n el.find(\"p.message\").html(message) if message\n\n if percent\n el.find(\".spin\").addClass(\"hidden\")\n el.find(\".progress-bar-wrapper\").removeClass(\"hidden\")\n el.find(\".progress-bar-wrapper > .bar\").width(percent + '%')\n el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%' )\n else\n el.find(\".spin\").removeClass(\"hidden\")\n el.find(\".progress-bar-wrapper\").addClass(\"hidden\")\n }\n\n notify: (type, message, title, time) ->\n # NOTE: Typesi are: error, success, light-error\n # See partials/components/notification-message.jade)\n # Add default texts to NOTIFICATION_MSG for new notification types\n\n selector = \".notification-message-#{type}\"\n el = angular.element(selector)\n\n return if el.hasClass(\"active\")\n\n if title\n el.find(\"h4\").html(title)\n else\n el.find(\"h4\").html(@translate.instant(NOTIFICATION_MSG[type].title))\n\n if message\n el.find(\"p\").html(message)\n else\n el.find(\"p\").html(@translate.instant(NOTIFICATION_MSG[type].message))\n\n body = angular.element(\"body\")\n body.find(\".notification-message .notification-light\")\n .removeClass('active')\n .addClass('inactive')\n\n body.find(selector)\n .removeClass('inactive')\n .addClass('active')\n\n if @.tsem\n cancelTimeout(@.tsem)\n\n if !time\n time = if type == 'error' or type == 'light-error' then 3500 else 1500\n\n @.tsem = timeout time, =>\n body.find(selector)\n .removeClass('active')\n .addClass('inactive')\n\n delete @.tsem\n\n el.on \"click\", \".icon-delete\", (event) =>\n body.find(selector)\n .removeClass('active')\n .addClass('inactive')\n\n\nmodule = angular.module(\"taigaCommon\")\nmodule.service(\"$tgConfirm\", ConfirmService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/custom-field-values.coffee\n###\n\ntaiga = @.taiga\nbindMethods = @.taiga.bindMethods\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\ngenerateHash = taiga.generateHash\n\nmodule = angular.module(\"taigaCommon\")\n\n\nclass CustomAttributesValuesController extends taiga.Controller\n @.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"]\n\n constructor: (@scope, @rootscope, @repo, @rs, @confirm, @q) ->\n bindMethods(@)\n @.type = null\n @.objectId = null\n @.projectId = null\n @.customAttributes = []\n @.customAttributesValues = null\n\n initialize: (type, objectId) ->\n @.project = @scope.project\n @.type = type\n @.objectId = objectId\n @.projectId = @scope.projectId\n\n loadCustomAttributesValues: ->\n return @.customAttributesValues if not @.objectId\n return @rs.customAttributesValues[@.type].get(@.objectId).then (customAttributesValues) =>\n @.customAttributes = @.project[\"#{@.type}_custom_attributes\"]\n @.customAttributesValues = customAttributesValues\n return customAttributesValues\n\n getAttributeValue: (attribute) ->\n attributeValue = _.clone(attribute, false)\n attributeValue.value = @.customAttributesValues.attributes_values[attribute.id]\n return attributeValue\n\n updateAttributeValue: (attributeValue) ->\n onSuccess = =>\n @rootscope.$broadcast(\"custom-attributes-values:edit\")\n\n onError = (response) =>\n @confirm.notify(\"error\")\n return @q.reject()\n\n # We need to update the full array so angular understand the model is modified\n attributesValues = _.clone(@.customAttributesValues.attributes_values, true)\n attributesValues[attributeValue.id] = attributeValue.value\n @.customAttributesValues.attributes_values = attributesValues\n @.customAttributesValues.id = @.objectId\n return @repo.save(@.customAttributesValues).then(onSuccess, onError)\n\n\nCustomAttributesValuesDirective = ($templates, $storage) ->\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true)\n collapsedHash = (type) ->\n return generateHash([\"custom-attributes-collapsed\", type])\n\n link = ($scope, $el, $attrs, $ctrls) ->\n $ctrl = $ctrls[0]\n $model = $ctrls[1]\n\n bindOnce $scope, $attrs.ngModel, (value) ->\n $ctrl.initialize($attrs.type, value.id)\n $ctrl.loadCustomAttributesValues()\n\n $el.on \"click\", \".custom-fields-header a\", ->\n hash = collapsedHash($attrs.type)\n collapsed = not($storage.get(hash) or false)\n $storage.set(hash, collapsed)\n if collapsed\n $el.find(\".custom-fields-header a\").removeClass(\"open\")\n $el.find(\".custom-fields-body\").removeClass(\"open\")\n else\n $el.find(\".custom-fields-header a\").addClass(\"open\")\n $el.find(\".custom-fields-body\").addClass(\"open\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n collapsed = $storage.get(collapsedHash($attrs.type)) or false\n\n return template({\n requiredEditionPerm: $attrs.requiredEditionPerm\n collapsed: collapsed\n })\n\n return {\n require: [\"tgCustomAttributesValues\", \"ngModel\"]\n controller: CustomAttributesValuesController\n controllerAs: \"ctrl\"\n restrict: \"AE\"\n scope: true\n link: link\n template: templateFn\n }\n\nmodule.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", CustomAttributesValuesDirective])\n\n\nCustomAttributeValueDirective = ($template, $selectedText, $compile) ->\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true)\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (attributeValue, edit=false) ->\n value = attributeValue.value\n editable = isEditable()\n ctx = {\n id: attributeValue.id\n name: attributeValue.name\n description: attributeValue.description\n value: value\n isEditable: editable\n }\n\n if editable and (edit or not value)\n html = templateEdit(ctx)\n html = $compile(html)($scope)\n else\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n isEditable = ->\n permissions = $scope.project.my_permissions\n requiredEditionPerm = $attrs.requiredEditionPerm\n return permissions.indexOf(requiredEditionPerm) > -1\n\n saveAttributeValue = ->\n attributeValue.value = $el.find(\"input\").val()\n\n $scope.$apply ->\n $ctrl.updateAttributeValue(attributeValue).then ->\n render(attributeValue, false)\n\n $el.on \"keyup\", \"input[name=description]\", (event) ->\n if event.keyCode == 13\n submit(event)\n else if event.keyCode == 27\n render(attributeValue, false)\n\n ## Actions (on view mode)\n $el.on \"click\", \".custom-field-value.read-mode\", ->\n return if not isEditable()\n return if $selectedText.get().length\n render(attributeValue, true)\n $el.find(\"input[name='description']\").focus().select()\n $scope.$apply()\n\n $el.on \"click\", \"a.icon-edit\", (event) ->\n event.preventDefault()\n render(attributeValue, true)\n $el.find(\"input[name='description']\").focus().select()\n $scope.$apply() \n\n ## Actions (on edit mode)\n submit = debounce 2000, (event) =>\n event.preventDefault()\n saveAttributeValue()\n\n $el.on \"submit\", \"form\", submit\n $el.on \"click\", \"a.icon-floppy\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n # Bootstrap\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue)\n render(attributeValue)\n\n return {\n link: link\n require: \"^tgCustomAttributesValues\"\n restrict: \"AE\"\n }\n\nmodule.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", \"$compile\", CustomAttributeValueDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/estimation.coffee\n###\n\ntaiga = @.taiga\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaCommon\")\n\n#############################################################################\n## User story estimation directive (for Lightboxes)\n#############################################################################\n\nLbUsEstimationDirective = ($tgEstimationsService, $rootScope, $repo, $confirm, $template, $compile) ->\n # Display the points of a US and you can edit it.\n #\n # Example:\n # tg-lb-us-estimation-progress-bar(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.project object\n\n link = ($scope, $el, $attrs, $model) ->\n $scope.$watch $attrs.ngModel, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n $scope.$apply ->\n $model.$setViewValue(us)\n\n\n estimationProcess.render = () ->\n ctx = {\n totalPoints: @calculateTotalPoints()\n roles: @calculateRoles()\n editable: @isEditable\n }\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\"\n template = $template.get(mainTemplate, true)\n html = template(ctx)\n html = $compile(html)($scope)\n @$el.html(html)\n\n estimationProcess.render()\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", \"$compile\", LbUsEstimationDirective])\n\n\n#############################################################################\n## User story estimation directive\n#############################################################################\n\nUsEstimationDirective = ($tgEstimationsService, $rootScope, $repo, $confirm, $qqueue, $template, $compile) ->\n # Display the points of a US and you can edit it.\n #\n # Example:\n # tg-us-estimation-progress-bar(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.project object\n\n link = ($scope, $el, $attrs, $model) ->\n $scope.$watch $attrs.ngModel, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n @save(roleId, pointId).then ->\n $rootScope.$broadcast(\"object:updated\")\n\n estimationProcess.render = () ->\n ctx = {\n totalPoints: @calculateTotalPoints()\n roles: @calculateRoles()\n editable: @isEditable\n }\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\"\n template = $template.get(mainTemplate, true)\n html = template(ctx)\n html = $compile(html)($scope)\n @$el.html(html)\n\n estimationProcess.render()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\"\n UsEstimationDirective])\n\n\n#############################################################################\n## Estimations service\n#############################################################################\n\nEstimationsService = ($template, $qqueue, $repo, $confirm, $q) ->\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true)\n\n class EstimationProcess\n constructor: (@$el, @us, @project) ->\n @isEditable = @project.my_permissions.indexOf(\"modify_us\") != -1\n @roles = @project.roles\n @points = @project.points\n @pointsById = groupBy(@points, (x) -> x.id)\n @onSelectedPointForRole = (roleId, pointId) ->\n @render = () ->\n\n save: (roleId, pointId) ->\n deferred = $q.defer()\n $qqueue.add () =>\n onSuccess = =>\n deferred.resolve()\n $confirm.notify(\"success\")\n\n onError = =>\n $confirm.notify(\"error\")\n @us.revert()\n @render()\n deferred.reject()\n\n $repo.save(@us).then(onSuccess, onError)\n\n return deferred.promise\n\n calculateTotalPoints: () ->\n values = _.map(@us.points, (v, k) => @pointsById[v]?.value)\n\n if values.length == 0\n return \"0\"\n\n notNullValues = _.filter(values, (v) -> v?)\n if notNullValues.length == 0\n return \"?\"\n\n return _.reduce(notNullValues, (acc, num) -> acc + num)\n\n calculateRoles: () ->\n computableRoles = _.filter(@project.roles, \"computable\")\n roles = _.map computableRoles, (role) =>\n pointId = @us.points[role.id]\n pointObj = @pointsById[pointId]\n role = _.clone(role, true)\n role.points = if pointObj? and pointObj.name? then pointObj.name else \"?\"\n return role\n\n return roles\n\n bindClickEvents: =>\n @$el.on \"click\", \".total.clickable\", (event) =>\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n roleId = target.data(\"role-id\")\n @renderPointsSelector(roleId, target)\n target.siblings().removeClass('active')\n target.addClass('active')\n\n @$el.on \"click\", \".point\", (event) =>\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n roleId = target.data(\"role-id\")\n pointId = target.data(\"point-id\")\n @$el.find(\".popover\").popover().close()\n points = _.clone(@us.points, true)\n points[roleId] = pointId\n @us.points = points\n @render()\n @onSelectedPointForRole(roleId, pointId)\n\n renderPointsSelector: (roleId, target) ->\n points = _.map @points, (point) =>\n point = _.clone(point, true)\n point.selected = if @us.points[roleId] == point.id then false else true\n return point\n\n maxPointLength = 5\n horizontalList = _.some points, (point) => point.name.length > maxPointLength\n\n html = pointsTemplate({\"points\": points, roleId: roleId, horizontal: horizontalList})\n # Remove any previous state\n @$el.find(\".popover\").popover().close()\n @$el.find(\".pop-points-open\").remove()\n # Render into DOM and show the new created element\n if target?\n @$el.find(target).append(html)\n else\n @$el.append(html)\n\n @$el.find(\".pop-points-open\").popover().open ->\n $(this)\n .removeClass(\"active\")\n .closest(\"li\").removeClass(\"active\")\n\n @$el.find(\".pop-points-open\").show()\n\n create = ($el, us, project) ->\n $el.unbind(\"click\")\n\n estimationProcess = new EstimationProcess($el, us, project)\n\n if estimationProcess.isEditable\n estimationProcess.bindClickEvents()\n\n return estimationProcess\n\n return {\n create: create\n }\n\nmodule.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgQqueue\", \"$tgRepo\", \"$tgConfirm\", \"$q\", EstimationsService])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/filters.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\")\n\n\ndefaultFilter = ->\n return (value, defaultValue) ->\n if value is [null, undefined]\n return defaultValue\n return value\n\nmodule.filter(\"default\", defaultFilter)\n\n\nyesNoFilter = ($translate) ->\n return (value) ->\n if value\n return $translate.instant(\"COMMON.YES\")\n\n return $translate.instant(\"COMMON.NO\")\n\nmodule.filter(\"yesNo\", [\"$translate\", yesNoFilter])\n\n\nunslugify = ->\n return taiga.unslugify\n\nmodule.filter(\"unslugify\", unslugify)\n\n\nmomentFormat = ->\n return (input, format) ->\n if input\n return moment(input).format(format)\n return \"\"\n\nmodule.filter(\"momentFormat\", momentFormat)\n\n\nmomentFromNow = ->\n return (input, without_suffix) ->\n if input\n return moment(input).fromNow(without_suffix or false)\n return \"\"\n\nmodule.filter(\"momentFromNow\", momentFromNow)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/history.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaCommon\")\n\n\n#############################################################################\n## History Directive (Main)\n#############################################################################\n\n\nclass HistoryController extends taiga.Controller\n @.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\"]\n\n constructor: (@scope, @repo, @rs) ->\n\n initialize: (type, objectId) ->\n @.type = type\n @.objectId = objectId\n\n loadHistory: (type, objectId) ->\n return @rs.history.get(type, objectId).then (history) =>\n for historyResult in history\n # If description was modified take only the description_html field\n if historyResult.values_diff.description_diff?\n historyResult.values_diff.description = historyResult.values_diff.description_diff\n\n delete historyResult.values_diff.description_html\n delete historyResult.values_diff.description_diff\n\n # If block note was modified take only the blocked_note_html field\n if historyResult.values_diff.blocked_note_diff?\n historyResult.values_diff.blocked_note = historyResult.values_diff.blocked_note_diff\n\n delete historyResult.values_diff.blocked_note_html\n delete historyResult.values_diff.blocked_note_diff\n\n @scope.history = history\n @scope.comments = _.filter(history, (item) -> item.comment != \"\")\n\n deleteComment: (type, objectId, activityId) ->\n return @rs.history.deleteComment(type, objectId, activityId).then => @.loadHistory(type, objectId)\n\n undeleteComment: (type, objectId, activityId) ->\n return @rs.history.undeleteComment(type, objectId, activityId).then => @.loadHistory(type, objectId)\n\n\nHistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $compile) ->\n templateChangeDiff = $template.get(\"common/history/history-change-diff.html\", true)\n templateChangePoints = $template.get(\"common/history/history-change-points.html\", true)\n templateChangeGeneric = $template.get(\"common/history/history-change-generic.html\", true)\n templateChangeAttachment = $template.get(\"common/history/history-change-attachment.html\", true)\n templateChangeList = $template.get(\"common/history/history-change-list.html\", true)\n templateDeletedComment = $template.get(\"common/history/history-deleted-comment.html\", true)\n templateActivity = $template.get(\"common/history/history-activity.html\", true)\n templateBaseEntries = $template.get(\"common/history/history-base-entries.html\", true)\n templateBase = $template.get(\"common/history/history-base.html\", true)\n\n link = ($scope, $el, $attrs, $ctrl) ->\n # Bootstraping\n type = $attrs.type\n objectId = null\n\n showAllComments = false\n showAllActivity = false\n\n getPrettyDateFormat = ->\n return $translate.instant(\"ACTIVITY.DATETIME\")\n\n bindOnce $scope, $attrs.ngModel, (model) ->\n type = $attrs.type\n objectId = model.id\n\n $ctrl.initialize(type, objectId)\n $ctrl.loadHistory(type, objectId)\n\n # Helpers\n getHumanizedFieldName = (field) ->\n humanizedFieldNames = {\n subject : $translate.instant(\"ACTIVITY.FIELDS.SUBJECT\")\n name: $translate.instant(\"ACTIVITY.FIELDS.NAME\")\n description : $translate.instant(\"ACTIVITY.FIELDS.DESCRIPTION\")\n content: $translate.instant(\"ACTIVITY.FIELDS.CONTENT\")\n status: $translate.instant(\"ACTIVITY.FIELDS.STATUS\")\n is_closed : $translate.instant(\"ACTIVITY.FIELDS.IS_CLOSED\")\n finish_date : $translate.instant(\"ACTIVITY.FIELDS.FINISH_DATE\")\n type: $translate.instant(\"ACTIVITY.FIELDS.TYPE\")\n priority: $translate.instant(\"ACTIVITY.FIELDS.PRIORITY\")\n severity: $translate.instant(\"ACTIVITY.FIELDS.SEVERITY\")\n assigned_to : $translate.instant(\"ACTIVITY.FIELDS.ASSIGNED_TO\")\n watchers : $translate.instant(\"ACTIVITY.FIELDS.WATCHERS\")\n milestone : $translate.instant(\"ACTIVITY.FIELDS.MILESTONE\")\n user_story: $translate.instant(\"ACTIVITY.FIELDS.USER_STORY\")\n project: $translate.instant(\"ACTIVITY.FIELDS.PROJECT\")\n is_blocked: $translate.instant(\"ACTIVITY.FIELDS.IS_BLOCKED\")\n blocked_note: $translate.instant(\"ACTIVITY.FIELDS.BLOCKED_NOTE\")\n points: $translate.instant(\"ACTIVITY.FIELDS.POINTS\")\n client_requirement : $translate.instant(\"ACTIVITY.FIELDS.CLIENT_REQUIREMENT\")\n team_requirement : $translate.instant(\"ACTIVITY.FIELDS.TEAM_REQUIREMENT\")\n is_iocaine: $translate.instant(\"ACTIVITY.FIELDS.IS_IOCAINE\")\n tags: $translate.instant(\"ACTIVITY.FIELDS.TAGS\")\n attachments : $translate.instant(\"ACTIVITY.FIELDS.ATTACHMENTS\")\n is_deprecated: $translate.instant(\"ACTIVITY.FIELDS.IS_DEPRECATED\")\n blocked_note: $translate.instant(\"ACTIVITY.FIELDS.BLOCKED_NOTE\")\n is_blocked: $translate.instant(\"ACTIVITY.FIELDS.IS_BLOCKED\")\n order: $translate.instant(\"ACTIVITY.FIELDS.ORDER\")\n backlog_order: $translate.instant(\"ACTIVITY.FIELDS.BACKLOG_ORDER\")\n sprint_order: $translate.instant(\"ACTIVITY.FIELDS.SPRINT_ORDER\")\n kanban_order: $translate.instant(\"ACTIVITY.FIELDS.KANBAN_ORDER\")\n taskboard_order: $translate.instant(\"ACTIVITY.FIELDS.TASKBOARD_ORDER\")\n us_order: $translate.instant(\"ACTIVITY.FIELDS.US_ORDER\")\n }\n\n return humanizedFieldNames[field] or field\n\n getUserFullName = (userId) ->\n return $scope.usersById[userId]?.full_name_display\n\n getUserAvatar = (userId) ->\n if $scope.usersById[userId]?\n return $scope.usersById[userId].photo\n else\n return \"/images/unnamed.png\"\n\n countChanges = (comment) ->\n return _.keys(comment.values_diff).length\n\n formatChange = (change) ->\n if _.isArray(change)\n if change.length == 0\n return $translate.instant(\"ACTIVITY.VALUES.EMPTY\")\n return change.join(\", \")\n\n if change == \"\"\n return $translate.instant(\"ACTIVITY.VALUES.EMPTY\")\n\n if not change? or change == false\n return $translate.instant(\"ACTIVITY.VALUES.NO\")\n\n if change == true\n return $translate.instant(\"ACTIVITY.VALUES.YES\")\n\n return change\n\n # Render into string (operations without mutability)\n\n renderAttachmentEntry = (value) ->\n attachments = _.map value, (changes, type) ->\n if type == \"new\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.NEW_ATTACHMENT\"),\n diff: change.filename\n })\n else if type == \"deleted\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.DELETED_ATTACHMENT\"),\n diff: change.filename\n })\n else\n return _.map changes, (change) ->\n name = $translate.instant(\"ACTIVITY.UPDATED_ATTACHMENT\", {filename: change.filename})\n\n diff = _.map change.changes, (values, name) ->\n return {\n name: getHumanizedFieldName(name)\n from: formatChange(values[0])\n to: formatChange(values[1])\n }\n\n return templateChangeAttachment({name: name, diff: diff})\n\n return _.flatten(attachments).join(\"\\n\")\n\n renderCustomAttributesEntry = (value) ->\n customAttributes = _.map value, (changes, type) ->\n if type == \"new\"\n return _.map changes, (change) ->\n html = templateChangeGeneric({\n name: change.name,\n from: formatChange(\"\"),\n to: formatChange(change.value)\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if type == \"deleted\"\n return _.map changes, (change) ->\n return templateChangeDiff({\n name: $translate.instant(\"ACTIVITY.DELETED_CUSTOM_ATTRIBUTE\")\n diff: change.name\n })\n else\n return _.map changes, (change) ->\n customAttrsChanges = _.map change.changes, (values) ->\n return templateChangeGeneric({\n name: change.name\n from: formatChange(values[0])\n to: formatChange(values[1])\n })\n return _.flatten(customAttrsChanges).join(\"\\n\")\n\n return _.flatten(customAttributes).join(\"\\n\")\n\n renderChangeEntry = (field, value) ->\n if field == \"description\"\n return templateChangeDiff({name: getHumanizedFieldName(\"description\"), diff: value[1]})\n else if field == \"blocked_note\"\n return templateChangeDiff({name: getHumanizedFieldName(\"blocked_note\"), diff: value[1]})\n else if field == \"points\"\n html = templateChangePoints({points: value})\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if field == \"attachments\"\n return renderAttachmentEntry(value)\n else if field == \"custom_attributes\"\n return renderCustomAttributesEntry(value)\n else if field in [\"tags\", \"watchers\"]\n name = getHumanizedFieldName(field)\n removed = _.difference(value[0], value[1])\n added = _.difference(value[1], value[0])\n html = templateChangeList({name:name, removed:removed, added: added})\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n else if field == \"assigned_to\"\n name = getHumanizedFieldName(field)\n from = formatChange(value[0] or $translate.instant(\"ACTIVITY.VALUES.UNASSIGNED\"))\n to = formatChange(value[1] or $translate.instant(\"ACTIVITY.VALUES.UNASSIGNED\"))\n return templateChangeGeneric({name:name, from:from, to: to})\n else\n name = getHumanizedFieldName(field)\n from = formatChange(value[0])\n to = formatChange(value[1])\n return templateChangeGeneric({name:name, from:from, to: to})\n\n renderChangeEntries = (change) ->\n return _.map(change.values_diff, (value, field) -> renderChangeEntry(field, value))\n\n renderChangesHelperText = (change) ->\n size = countChanges(change)\n return $translate.instant(\"ACTIVITY.SIZE_CHANGE\", {size: size}, 'messageformat')\n\n renderComment = (comment) ->\n if (comment.delete_comment_date or comment.delete_comment_user?.name)\n html = templateDeletedComment({\n deleteCommentDate: moment(comment.delete_comment_date).format(getPrettyDateFormat()) if comment.delete_comment_date\n deleteCommentUser: comment.delete_comment_user.name\n deleteComment: comment.comment_html\n activityId: comment.id\n canRestoreComment: ($scope.user and\n (comment.delete_comment_user.pk == $scope.user.id or\n $scope.project.my_permissions.indexOf(\"modify_project\") > -1))\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n\n html = templateActivity({\n avatar: getUserAvatar(comment.user.pk)\n userFullName: comment.user.name\n creationDate: moment(comment.created_at).format(getPrettyDateFormat())\n comment: comment.comment_html\n changesText: renderChangesHelperText(comment)\n changes: renderChangeEntries(comment)\n mode: \"comment\"\n deleteCommentDate: moment(comment.delete_comment_date).format(getPrettyDateFormat()) if comment.delete_comment_date\n deleteCommentUser: comment.delete_comment_user.name if comment.delete_comment_user?.name\n activityId: comment.id\n canDeleteComment: comment.user.pk == $scope.user?.id or $scope.project.my_permissions.indexOf(\"modify_project\") > -1\n })\n\n html = $compile(html)($scope)\n\n return html[0].outerHTML\n\n renderChange = (change) ->\n return templateActivity({\n avatar: getUserAvatar(change.user.pk)\n userFullName: change.user.name\n creationDate: moment(change.created_at).format(getPrettyDateFormat())\n comment: change.comment_html\n changes: renderChangeEntries(change)\n changesText: \"\"\n mode: \"activity\"\n deleteCommentDate: moment(change.delete_comment_date).format(getPrettyDateFormat()) if change.delete_comment_date\n deleteCommentUser: change.delete_comment_user.name if change.delete_comment_user?.name\n activityId: change.id\n })\n\n renderHistory = (entries, totalEntries) ->\n if entries.length == totalEntries\n showMore = 0\n else\n showMore = totalEntries - entries.length\n\n html = templateBaseEntries({entries: entries, showMore:showMore})\n html = $compile(html)($scope)\n return html\n\n # Render into DOM (operations with dom mutability)\n\n renderComments = ->\n comments = $scope.comments or []\n totalComments = comments.length\n if not showAllComments\n comments = _.last(comments, 4)\n\n comments = _.map(comments, (x) -> renderComment(x))\n html = renderHistory(comments, totalComments)\n $el.find(\".comments-list\").html(html)\n\n renderActivity = ->\n changes = $scope.history or []\n totalChanges = changes.length\n if not showAllActivity\n changes = _.last(changes, 4)\n\n changes = _.map(changes, (x) -> renderChange(x))\n html = renderHistory(changes, totalChanges)\n $el.find(\".changes-list\").html(html)\n\n save = $qqueue.bindAdd (target) =>\n $scope.$broadcast(\"markdown-editor:submit\")\n\n $el.find(\".comment-list\").addClass(\"activeanimation\")\n\n currentLoading = $loading()\n .target(target)\n .start()\n\n onSuccess = ->\n $ctrl.loadHistory(type, objectId).finally ->\n currentLoading.finish()\n\n onError = ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n model = $scope.$eval($attrs.ngModel)\n\n $ctrl.repo.save(model).then(onSuccess, onError)\n\n # Watchers\n\n $scope.$watch(\"comments\", renderComments)\n $scope.$watch(\"history\", renderActivity)\n\n $scope.$on(\"object:updated\", -> $ctrl.loadHistory(type, objectId))\n\n # Events\n\n $el.on \"click\", \".add-comment button.button-green\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n save(target)\n\n $el.on \"click\", \".show-more\", (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n if target.parent().is(\".changes-list\")\n showAllActivity = not showAllActivity\n renderActivity()\n else\n showAllComments = not showAllComments\n renderComments()\n\n $el.on \"click\", \".show-deleted-comment\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parents('.activity-single').find('.hide-deleted-comment').show()\n target.parents('.activity-single').find('.show-deleted-comment').hide()\n target.parents('.activity-single').find('.comment-body').show()\n\n $el.on \"click\", \".hide-deleted-comment\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parents('.activity-single').find('.hide-deleted-comment').hide()\n target.parents('.activity-single').find('.show-deleted-comment').show()\n target.parents('.activity-single').find('.comment-body').hide()\n\n $el.on \"click\", \".changes-title\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.parent().find(\".change-entry\").toggleClass(\"active\")\n\n $el.on \"focus\", \".add-comment textarea\", (event) ->\n $(this).addClass('active')\n\n $el.on \"click\", \".history-tabs li a\", (event) ->\n $el.find(\".history-tabs li a\").toggleClass(\"active\")\n $el.find(\".history section\").toggleClass(\"hidden\")\n\n $el.on \"click\", \".comment-delete\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n activityId = target.data('activity-id')\n $ctrl.deleteComment(type, objectId, activityId)\n\n $el.on \"click\", \".comment-restore\", debounce 2000, (event) ->\n event.preventDefault()\n\n target = angular.element(event.currentTarget)\n activityId = target.data('activity-id')\n $ctrl.undeleteComment(type, objectId, activityId)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n templateFn = ($el, $attrs) ->\n html = templateBase({ngmodel: $attrs.ngModel, type: $attrs.type, mode: $attrs.mode})\n\n return html\n\n return {\n controller: HistoryController\n template: templateFn\n restrict: \"AE\"\n link: link\n # require: [\"ngModel\", \"tgHistory\"]\n }\n\n\nmodule.directive(\"tgHistory\", [\"$log\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$tgConfirm\", \"$translate\",\n \"$compile\", HistoryDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/importer.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\n\nImportProjectButtonDirective = ($rs, $confirm, $location, $navUrls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".import-project-button\", (event) ->\n event.preventDefault()\n $el.find(\"input.import-file\").val(\"\")\n $el.find(\"input.import-file\").trigger(\"click\")\n\n $el.on \"change\", \"input.import-file\", (event) ->\n event.preventDefault()\n file = event.target.files[0]\n return if not file\n\n loader = $confirm.loader($translate.instant(\"PROJECT.IMPORT.UPLOADING_FILE\"))\n\n onSuccess = (result) ->\n loader.stop()\n if result.status == 202 # Async mode\n title = $translate.instant(\"PROJECT.IMPORT.ASYNC_IN_PROGRESS_TITLE\")\n message = $translate.instant(\"PROJECT.IMPORT.ASYNC_IN_PROGRESS_MESSAGE\")\n $confirm.success(title, message)\n\n else # result.status == 201 # Sync mode\n ctx = {project: result.data.slug}\n $location.path($navUrls.resolve(\"project-admin-project-profile-details\", ctx))\n msg = $translate.instant(\"PROJECT.IMPORT.SYNC_SUCCESS\")\n $confirm.notify(\"success\", msg)\n\n onError = (result) ->\n loader.stop()\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR\")\n\n if result.status == 429 # TOO MANY REQUESTS\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_TOO_MANY_REQUEST\")\n else if result.data?._error_message\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MESSAGE\", {error_message: result.data._error_message})\n $confirm.notify(\"error\", errorMsg)\n\n loader.start()\n $rs.projects.import(file, loader.update).then(onSuccess, onError)\n\n return {link: link}\n\nmodule.directive(\"tgImportProjectButton\", [\"$tgResources\", \"$tgConfirm\", \"$location\", \"$tgNavUrls\", \"$translate\",\n ImportProjectButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/lightboxes.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\nbindOnce = @.taiga.bindOnce\ntimeout = @.taiga.timeout\ndebounce = @.taiga.debounce\n\n#############################################################################\n## Common Lightbox Services\n#############################################################################\n\n# the lightboxContent hide/show doesn't have sense because is an IE hack\nclass LightboxService extends taiga.Service\n constructor: (@animationFrame, @q) ->\n\n open: ($el) ->\n defered = @q.defer()\n\n lightboxContent = $el.children().not(\".close\")\n lightboxContent.hide()\n\n $el.css('display', 'flex')\n\n @animationFrame.add =>\n $el.addClass(\"open\")\n\n @animationFrame.add ->\n $el.find('input,textarea').first().focus()\n\n @animationFrame.add =>\n lightboxContent.show()\n defered.resolve()\n\n docEl = angular.element(document)\n docEl.on \"keydown.lightbox\", (e) =>\n code = if e.keyCode then e.keyCode else e.which\n @.close($el) if code == 27\n\n return defered.promise\n\n close: ($el) ->\n docEl = angular.element(document)\n docEl.off(\".lightbox\")\n docEl.off(\".keyboard-navigation\") # Hack: to fix problems in the WYSIWYG textareas when press ENTER\n $el.one \"transitionend\", =>\n $el.removeAttr('style')\n $el.removeClass(\"open\").removeClass('close')\n\n $el.addClass('close')\n\n if $el.hasClass(\"remove-on-close\")\n scope = $el.data(\"scope\")\n scope.$destroy()\n $el.remove()\n\n closeAll: ->\n docEl = angular.element(document)\n for lightboxEl in docEl.find(\".lightbox.open\")\n @.close($(lightboxEl))\n\n\nmodule.service(\"lightboxService\", [\"animationFrame\", \"$q\", LightboxService])\n\n\nclass LightboxKeyboardNavigationService extends taiga.Service\n stop: ->\n docEl = angular.element(document)\n docEl.off(\".keyboard-navigation\")\n\n dispatch: ($el, code) ->\n activeElement = $el.find(\".active\")\n\n # Key: enter\n if code == 13\n if $el.find(\".watcher-single\").length == 1\n $el.find('.watcher-single:first').trigger(\"click\")\n else\n activeElement.trigger(\"click\")\n\n # Key: down\n else if code == 40\n if not activeElement.length\n $el.find('.watcher-single:first').addClass('active')\n else\n next = activeElement.next('.watcher-single')\n if next.length\n activeElement.removeClass('active')\n next.addClass('active')\n # Key: up\n else if code == 38\n if not activeElement.length\n $el.find('.watcher-single:last').addClass('active')\n else\n prev = activeElement.prev('.watcher-single')\n\n if prev.length\n activeElement.removeClass('active')\n prev.addClass('active')\n\n init: ($el) ->\n @stop()\n docEl = angular.element(document)\n docEl.on \"keydown.keyboard-navigation\", (event) =>\n code = if event.keyCode then event.keyCode else event.which\n if code == 40 || code == 38 || code == 13\n event.preventDefault()\n @.dispatch($el, code)\n\nmodule.service(\"lightboxKeyboardNavigationService\", LightboxKeyboardNavigationService)\n\n\n#############################################################################\n## Generic Lighthbox Directive\n#############################################################################\n\n# This adds generic behavior to all blocks with lightbox class like\n# close button event handlers.\n\nLightboxDirective = (lightboxService) ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n return {restrict: \"C\", link: link}\n\nmodule.directive(\"lightbox\", [\"lightboxService\", LightboxDirective])\n\n#############################################################################\n## Block Lightbox Directive\n#############################################################################\n\n# Issue/Userstory blocking message lightbox directive.\n\nBlockLightboxDirective = ($rootscope, $tgrepo, $confirm, lightboxService, $loading, $qqueue, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n title = $translate.instant($attrs.title)\n $el.find(\"h2.title\").text(title)\n\n unblock = $qqueue.bindAdd (item, finishCallback) =>\n promise = $tgrepo.save(item)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n $model.$setViewValue(item)\n finishCallback()\n\n promise.then null, ->\n $confirm.notify(\"error\")\n item.revert()\n $model.$setViewValue(item)\n\n promise.finally ->\n finishCallback()\n\n return promise\n\n block = $qqueue.bindAdd (item) =>\n $model.$setViewValue(item)\n\n currentLoading = $loading()\n .target($el.find(\".button-green\"))\n .start()\n\n promise = $tgrepo.save($model.$modelValue)\n promise.then ->\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n item.revert()\n $model.$setViewValue(item)\n\n promise.finally ->\n currentLoading.finish()\n lightboxService.close($el)\n\n $scope.$on \"block\", ->\n $el.find(\".reason\").val($model.$modelValue.blocked_note)\n lightboxService.open($el)\n\n $scope.$on \"unblock\", (event, model, finishCallback) =>\n item = $model.$modelValue.clone()\n item.is_blocked = false\n item.blocked_note = \"\"\n\n unblock(item, finishCallback)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \".button-green\", (event) ->\n event.preventDefault()\n\n item = $model.$modelValue.clone()\n item.is_blocked = true\n item.blocked_note = $el.find(\".reason\").val()\n\n block(item)\n\n return {\n templateUrl: \"common/lightbox/lightbox-block.html\"\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgLbBlock\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"lightboxService\", \"$tgLoading\", \"$tgQqueue\", \"$translate\", BlockLightboxDirective])\n\n\n#############################################################################\n## Generic Lightbox Blocking-Message Input Directive\n#############################################################################\n\nBlockingMessageInputDirective = ($log, $template, $compile) ->\n template = $template.get(\"common/lightbox/lightbox-blocking-message-input.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n if not $attrs.watch\n return $log.error \"No watch attribute on tg-blocking-message-input directive\"\n\n $scope.$watch $attrs.watch, (value) ->\n if value is not undefined and value == true\n $el.find(\".blocked-note\").removeClass(\"hidden\")\n else\n $el.find(\".blocked-note\").addClass(\"hidden\")\n\n templateFn = ($el, $attrs) ->\n return template({ngmodel: $attrs.ngModel})\n\n return {\n template: templateFn\n link: link\n require: \"ngModel\"\n restrict: \"EA\"\n }\n\nmodule.directive(\"tgBlockingMessageInput\", [\"$log\", \"$tgTemplate\", \"$compile\", BlockingMessageInputDirective])\n\n\n#############################################################################\n## Create/Edit Userstory Lightbox Directive\n#############################################################################\n\nCreateEditUserstoryDirective = ($repo, $model, $rs, $rootScope, lightboxService, $loading, $translate) ->\n link = ($scope, $el, attrs) ->\n $scope.isNew = true\n\n $scope.$on \"usform:new\", (ctx, projectId, status, statusList) ->\n $scope.isNew = true\n $scope.usStatusList = statusList\n\n $scope.us = $model.make_model(\"userstories\", {\n project: projectId\n points : {}\n status: status\n is_archived: false\n tags: []\n })\n\n # Update texts for creation\n $el.find(\".button-green\").html($translate.instant(\"COMMON.CREATE\"))\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.NEW_US\"))\n $el.find(\".tag-input\").val(\"\")\n\n $el.find(\".blocked-note\").addClass(\"hidden\")\n $el.find(\"label.blocked\").removeClass(\"selected\")\n $el.find(\"label.team-requirement\").removeClass(\"selected\")\n $el.find(\"label.client-requirement\").removeClass(\"selected\")\n\n lightboxService.open($el)\n\n $scope.$on \"usform:edit\", (ctx, us) ->\n $scope.us = us\n $scope.isNew = false\n\n # Update texts for edition\n $el.find(\".button-green\").html($translate.instant(\"COMMON.SAVE\"))\n $el.find(\".title\").html($translate.instant(\"LIGHTBOX.CREATE_EDIT_US.EDIT_US\"))\n $el.find(\".tag-input\").val(\"\")\n\n # Update requirement info (team, client or blocked)\n if us.is_blocked\n $el.find(\".blocked-note\").removeClass(\"hidden\")\n $el.find(\"label.blocked\").addClass(\"selected\")\n else\n $el.find(\".blocked-note\").addClass(\"hidden\")\n $el.find(\"label.blocked\").removeClass(\"selected\")\n\n if us.team_requirement\n $el.find(\"label.team-requirement\").addClass(\"selected\")\n else\n $el.find(\"label.team-requirement\").removeClass(\"selected\")\n if us.client_requirement\n $el.find(\"label.client-requirement\").addClass(\"selected\")\n else\n $el.find(\"label.client-requirement\").removeClass(\"selected\")\n\n lightboxService.open($el)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n if $scope.isNew\n promise = $repo.create(\"userstories\", $scope.us)\n broadcastEvent = \"usform:new:success\"\n else\n promise = $repo.save($scope.us)\n broadcastEvent = \"usform:edit:success\"\n\n promise.then (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $rootScope.$broadcast(broadcastEvent, data)\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $scope.us.revert()\n lightboxService.close($el)\n\n $el.keydown (event) ->\n code = if event.keyCode then event.keyCode else event.which\n if code == 27\n lightboxService.close($el)\n $scope.$apply ->\n $scope.us.revert()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateEditUserstory\", [\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\",\n \"$tgLoading\",\n \"$translate\",\n CreateEditUserstoryDirective\n])\n\n\n#############################################################################\n## Creare Bulk Userstories Lightbox Directive\n#############################################################################\n\nCreateBulkUserstoriesDirective = ($repo, $rs, $rootscope, lightboxService, $loading) ->\n link = ($scope, $el, attrs) ->\n $scope.$on \"usform:bulk\", (ctx, projectId, status) ->\n $scope.new = {\n projectId: projectId\n statusId: status\n bulk: \"\"\n }\n lightboxService.open($el)\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley({onlyOneErrorElement: true})\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $rs.userstories.bulkCreate($scope.new.projectId, $scope.new.statusId, $scope.new.bulk)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"usform:bulk:success\", result)\n lightboxService.close($el)\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateBulkUserstories\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\",\n \"$tgLoading\",\n CreateBulkUserstoriesDirective\n])\n\n\n#############################################################################\n## AssignedTo Lightbox Directive\n#############################################################################\n\nAssignedToLightboxDirective = (lightboxService, lightboxKeyboardNavigationService, $template, $compile) ->\n link = ($scope, $el, $attrs) ->\n selectedUser = null\n selectedItem = null\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true)\n\n normalizeString = (string) ->\n normalizedString = string\n normalizedString = normalizedString.replace(\"Á\", \"A\").replace(\"Ä\", \"A\").replace(\"À\", \"A\")\n normalizedString = normalizedString.replace(\"É\", \"E\").replace(\"Ë\", \"E\").replace(\"È\", \"E\")\n normalizedString = normalizedString.replace(\"Í\", \"I\").replace(\"Ï\", \"I\").replace(\"Ì\", \"I\")\n normalizedString = normalizedString.replace(\"Ó\", \"O\").replace(\"Ö\", \"O\").replace(\"Ò\", \"O\")\n normalizedString = normalizedString.replace(\"Ú\", \"U\").replace(\"Ü\", \"U\").replace(\"Ù\", \"U\")\n return normalizedString\n\n filterUsers = (text, user) ->\n username = user.full_name_display.toUpperCase()\n username = normalizeString(username)\n text = text.toUpperCase()\n text = normalizeString(text)\n return _.contains(username, text)\n\n render = (selected, text) ->\n users = _.clone($scope.activeUsers, true)\n users = _.reject(users, {\"id\": selected.id}) if selected?\n users = _.filter(users, _.partial(filterUsers, text)) if text?\n\n ctx = {\n selected: selected\n users: _.first(users, 5)\n showMore: users.length > 5\n }\n\n html = usersTemplate(ctx)\n\n html = $compile(html)($scope)\n\n $el.find(\"div.watchers\").html(html)\n\n closeLightbox = () ->\n lightboxKeyboardNavigationService.stop()\n lightboxService.close($el)\n\n $scope.$on \"assigned-to:add\", (ctx, item) ->\n selectedItem = item\n assignedToId = item.assigned_to\n selectedUser = $scope.usersById[assignedToId]\n\n render(selectedUser)\n lightboxService.open($el).then ->\n $el.find('input').focus()\n lightboxKeyboardNavigationService.init($el)\n\n $scope.$watch \"usersSearch\", (searchingText) ->\n if searchingText?\n render(selectedUser, searchingText)\n $el.find('input').focus()\n\n $el.on \"click\", \".watcher-single\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.$broadcast(\"assigned-to:added\", target.data(\"user-id\"), selectedItem)\n $scope.usersSearch = null\n\n $el.on \"click\", \".remove-assigned-to\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n $scope.$broadcast(\"assigned-to:added\", null, selectedItem)\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"common/lightbox/lightbox-assigned-to.html\"\n link:link\n }\n\n\nmodule.directive(\"tgLbAssignedto\", [\"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", \"$compile\", AssignedToLightboxDirective])\n\n\n#############################################################################\n## Watchers Lightbox directive\n#############################################################################\n\nWatchersLightboxDirective = ($repo, lightboxService, lightboxKeyboardNavigationService, $template) ->\n link = ($scope, $el, $attrs) ->\n selectedItem = null\n usersTemplate = $template.get(\"common/lightbox/lightbox-assigned-to-users.html\", true)\n\n # Get prefiltered users by text\n # and without now watched users.\n getFilteredUsers = (text=\"\") ->\n _filterUsers = (text, user) ->\n if selectedItem && _.find(selectedItem.watchers, (x) -> x == user.id)\n return false\n\n username = user.full_name_display.toUpperCase()\n text = text.toUpperCase()\n return _.contains(username, text)\n\n users = _.clone($scope.activeUsers, true)\n users = _.filter(users, _.partial(_filterUsers, text))\n return users\n\n # Render the specific list of users.\n render = (users) ->\n ctx = {\n selected: false\n users: _.first(users, 5)\n showMore: users.length > 5\n }\n\n html = usersTemplate(ctx)\n $el.find(\"div.watchers\").html(html)\n\n closeLightbox = () ->\n lightboxKeyboardNavigationService.stop()\n lightboxService.close($el)\n\n $scope.$on \"watcher:add\", (ctx, item) ->\n selectedItem = item\n\n users = getFilteredUsers()\n render(users)\n\n lightboxService.open($el).then ->\n $el.find(\"input\").focus()\n lightboxKeyboardNavigationService.init($el)\n\n $scope.$watch \"usersSearch\", (searchingText) ->\n if not searchingText?\n return\n\n users = getFilteredUsers(searchingText)\n render(users)\n $el.find(\"input\").focus()\n\n $el.on \"click\", \".watcher-single\", debounce 2000, (event) ->\n closeLightbox()\n\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n $scope.$apply ->\n $scope.usersSearch = null\n $scope.$broadcast(\"watcher:added\", target.data(\"user-id\"))\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n\n closeLightbox()\n\n $scope.$apply ->\n $scope.usersSearch = null\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"common/lightbox/lightbox-users.html\"\n link:link\n }\n\nmodule.directive(\"tgLbWatchers\", [\"$tgRepo\", \"lightboxService\", \"lightboxKeyboardNavigationService\", \"$tgTemplate\", WatchersLightboxDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n# Copyright (C) 2014 Juan Francisco Alcántara \n# Copyright (C) 2014 Alejandro Alonso \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/loader.coffee\n###\n\n# FIXME: this code not follows any style and any good practices on coffeescript\n# and it should be rewritten in coffeescript style classes.\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaCommon\")\n\nLoaderDirective = (tgLoader, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n tgLoader.onStart () ->\n $(document.body).addClass(\"loader-active\")\n $el.addClass(\"active\")\n\n tgLoader.onEnd () ->\n $(document.body).removeClass(\"loader-active\")\n $el.removeClass(\"active\")\n\n return {\n link: link\n }\n\nmodule.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective])\n\nLoader = ($rootscope) ->\n config = {\n minTime: 300\n }\n\n open = false\n startLoadTime = 0\n requestCount = 0\n lastResponseDate = 0\n\n pageLoaded = (force = false) ->\n if startLoadTime\n timeoutValue = 0\n\n if !force\n endTime = new Date().getTime()\n diff = endTime - startLoadTime\n\n if diff < config.minTime\n timeoutValue = config.minTime - diff\n\n timeout timeoutValue, ->\n $rootscope.$broadcast(\"loader:end\")\n open = false\n window.prerenderReady = true # Needed by Prerender Server\n\n startLoadTime = 0\n requestCount = 0\n lastResponseDate = 0\n\n autoClose = () ->\n maxAuto = 5000\n timeoutAuto = setTimeout (() ->\n pageLoaded()\n\n clearInterval(intervalAuto)\n ), maxAuto\n\n intervalAuto = setInterval (() ->\n if lastResponseDate && requestCount == 0\n pageLoaded()\n\n clearInterval(intervalAuto)\n clearTimeout(timeoutAuto)\n ), 50\n\n start = () ->\n startLoadTime = new Date().getTime()\n $rootscope.$broadcast(\"loader:start\")\n open = true\n\n return {\n pageLoaded: pageLoaded\n start: (auto=false) ->\n if !open\n start()\n autoClose() if auto\n onStart: (fn) ->\n $rootscope.$on(\"loader:start\", fn)\n\n onEnd: (fn) ->\n $rootscope.$on(\"loader:end\", fn)\n\n logRequest: () ->\n requestCount++\n\n logResponse: () ->\n requestCount--\n lastResponseDate = new Date().getTime()\n }\n\n\nLoader.$inject = [\"$rootScope\"]\n\nmodule.factory(\"tgLoader\", Loader)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/lightboxes.coffee\n###\n\nmodule = angular.module(\"taigaCommon\")\n\nTgLoadingService = ->\n spinner = \"loading...\"\n\n return () ->\n service = {\n settings: {\n target: null,\n classes: []\n timeout: 0\n },\n target: (target) ->\n service.settings.target = target\n\n return service\n removeClasses: (classess...) ->\n service.settings.classes = classess\n\n return service\n timeout: (timeout) ->\n service.settings.timeout = timeout\n\n return service\n\n start: ->\n target = service.settings.target\n service.settings.classes.map (className) -> target.removeClass(className)\n\n # The loader is shown after that quantity of milliseconds\n timeoutId = setTimeout (->\n if not target.hasClass('loading')\n service.settings.oldContent = target.html()\n\n target.addClass('loading')\n target.html(spinner)\n ), service.settings.timeout\n\n service.settings.timeoutId = timeoutId\n\n return service\n\n finish: ->\n target = service.settings.target\n timeoutId = service.settings.timeoutId\n\n if timeoutId\n clearTimeout(timeoutId)\n\n removeClasses = service.settings.classes\n removeClasses.map (className) -> service.settings.target.addClass(className)\n\n target.html(service.settings.oldContent)\n target.removeClass('loading')\n\n return service\n }\n\n return service\n\nmodule.factory(\"$tgLoading\", TgLoadingService)\n\nLoadingDirective = ($loading) ->\n link = ($scope, $el, attr) ->\n currentLoading = null\n\n $scope.$watch attr.tgLoading, (showLoading) =>\n\n if showLoading\n currentLoading = $loading()\n .target($el)\n .start()\n else\n currentLoading.finish()\n\n return {\n link:link\n }\n\nmodule.directive(\"tgLoading\", [\"$tgLoading\", LoadingDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/popovers.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaCommon\")\n\n#############################################################################\n## UserStory status Directive (popover for change status)\n#############################################################################\n\nUsStatusDirective = ($repo, $template) ->\n ###\n Print the status of a US and a popover to change it.\n - tg-us-status: The user story\n - on-update: Method call after US is updated\n\n Example:\n\n div.status(tg-us-status=\"us\" on-update=\"ctrl.loadSprintState()\")\n a.us-status(href=\"\", title=\"Status Name\")\n\n NOTE: This directive need 'usStatusById' and 'project'.\n ###\n template = $template.get(\"common/popover/popover-us-status.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n render = (us) ->\n usStatusDomParent = $el.find(\".us-status\")\n usStatusDom = $el.find(\".us-status .us-status-bind\")\n usStatusById = $scope.usStatusById\n\n if usStatusById[us.status]\n usStatusDom.text(usStatusById[us.status].name)\n usStatusDomParent.css(\"color\", usStatusById[us.status].color)\n\n $el.on \"click\", \".us-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", debounce 2000, (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n target = angular.element(event.currentTarget)\n\n us = $scope.$eval($attrs.tgUsStatus)\n us.status = target.data(\"status-id\")\n render(us)\n\n $el.find(\".pop-status\").popover().close()\n\n $scope.$apply () ->\n $repo.save(us).then ->\n $scope.$eval($attrs.onUpdate)\n\n\n $scope.$on(\"userstories:loaded\", -> render($scope.$eval($attrs.tgUsStatus)))\n $scope.$on(\"$destroy\", -> $el.off())\n\n # Bootstrap\n us = $scope.$eval($attrs.tgUsStatus)\n render(us)\n\n bindOnce $scope, \"project\", (project) ->\n html = template({\"statuses\": project.us_statuses})\n $el.append(html)\n\n # If the user has not enough permissions the click events are unbinded\n if $scope.project.my_permissions.indexOf(\"modify_us\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n\n return {link: link}\n\nmodule.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective])\n\n#############################################################################\n## Related Task Status Directive\n#############################################################################\n\nRelatedTaskStatusDirective = ($repo, $template) ->\n ###\n Print the status of a related task and a popover to change it.\n - tg-related-task-status: The related task\n - on-update: Method call after US is updated\n\n Example:\n\n div.status(tg-related-task-status=\"task\" on-update=\"ctrl.loadSprintState()\")\n a.task-status(href=\"\", title=\"Status Name\")\n\n NOTE: This directive need 'taskStatusById' and 'project'.\n ###\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true)\n\n updateTaskStatus = ($el, task, taskStatusById) ->\n taskStatusDomParent = $el.find(\".us-status\")\n taskStatusDom = $el.find(\".task-status .task-status-bind\")\n\n if taskStatusById[task.status]\n taskStatusDom.text(taskStatusById[task.status].name)\n taskStatusDomParent.css('color', taskStatusById[task.status].color)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n task = $scope.$eval($attrs.tgRelatedTaskStatus)\n notAutoSave = $scope.$eval($attrs.notAutoSave)\n autoSave = !notAutoSave\n\n $el.on \"click\", \".task-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n $el.find(\".pop-status\").popover().open()\n\n # pop = $el.find(\".pop-status\")\n # popoverService.open(pop)\n\n $el.on \"click\", \".status\", debounce 2000, (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n task.status = target.data(\"status-id\")\n $el.find(\".pop-status\").popover().close()\n updateTaskStatus($el, task, $scope.taskStatusById)\n\n if autoSave\n $scope.$apply () ->\n $repo.save(task).then ->\n $scope.$eval($attrs.onUpdate)\n $scope.$emit(\"related-tasks:status-changed\")\n\n taiga.bindOnce $scope, \"project\", (project) ->\n $el.append(selectionTemplate({ 'statuses': project.task_statuses }))\n updateTaskStatus($el, task, $scope.taskStatusById)\n\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_task\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective])\n\n#############################################################################\n## jQuery plugin for Popover\n#############################################################################\n\n$.fn.popover = () ->\n $el = @\n\n isVisible = () =>\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n })\n\n docViewTop = $(window).scrollTop()\n docViewBottom = docViewTop + $(window).height()\n\n docViewWidth = $(window).width()\n docViewRight = docViewWidth\n docViewLeft = 0\n\n elemTop = $el.offset().top\n elemBottom = elemTop + $el.height()\n\n elemWidth = $el.width()\n elemLeft = $el.offset().left\n elemRight = $el.offset().left + elemWidth\n\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n })\n\n return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight))\n\n closePopover = (onClose) =>\n if onClose then onClose.call($el)\n\n $el.fadeOut () =>\n $el\n .removeClass(\"active\")\n .removeClass(\"fix\")\n\n $el.off(\"popup:close\")\n\n\n closeAll = () =>\n $(\".popover.active\").each () ->\n $(this).trigger(\"popup:close\")\n\n open = (onClose) =>\n if $el.hasClass(\"active\")\n close()\n else\n closeAll()\n\n if !isVisible()\n $el.addClass(\"fix\")\n\n $el.fadeIn () =>\n $el.addClass(\"active\")\n $(document.body).off(\"popover\")\n\n $(document.body).one \"click.popover\", () =>\n closeAll()\n\n $el.on \"popup:close\", (e) => closePopover(onClose)\n\n close = () =>\n $el.trigger(\"popup:close\")\n\n return {open: open, close: close, closeAll: closeAll}\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/raven-logger.coffee\n###\n\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaCommon\")\n\nExceptionHandlerFactory = ($log, @config) ->\n ravenConfig = @config.get(\"ravenConfig\", null)\n if ravenConfig\n $log.debug \"Using the RavenJS exception handler.\"\n Raven.config(ravenConfig).install()\n return (exception, cause) ->\n $log.error.apply($log, arguments)\n Raven.captureException(exception)\n\n else\n $log.debug \"Using the default logging exception handler.\"\n return (exception, cause) ->\n $log.error.apply($log, arguments)\n\nmodule.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/tags.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n# Directive that parses/format tags inputfield.\n\nTagsDirective = ->\n formatter = (v) ->\n if _.isArray(v)\n return v.join(\", \")\n return \"\"\n\n parser = (v) ->\n return [] if not v\n result = _(v.split(\",\")).map((x) -> _.str.trim(x))\n\n return result.value()\n\n link = ($scope, $el, $attrs, $ctrl) ->\n $ctrl.$formatters.push(formatter)\n $ctrl.$parsers.push(parser)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n require: \"ngModel\"\n link: link\n }\n\nmodule.directive(\"tgTags\", TagsDirective)\n\n\nColorizeTagsDirective = ->\n templates = {\n backlog: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \"><%- tag.name %>\n <% }) %>\n \"\"\")\n kanban: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \" title=\"<%- tag.name %>\" />\n <% }) %>\n \"\"\")\n taskboard: _.template(\"\"\"\n <% _.each(tags, function(tag) { %>\n \" title=\"<%- tag.name %>\" />\n <% }) %>\n \"\"\")\n }\n\n link = ($scope, $el, $attrs, $ctrl) ->\n render = (srcTags) ->\n template = templates[$attrs.tgColorizeTagsType]\n srcTags.sort()\n tags = _.map srcTags, (tag) ->\n color = $scope.project.tags_colors[tag]\n return {name: tag, color: color}\n\n html = template({tags: tags})\n $el.html(html)\n\n $scope.$watch $attrs.tgColorizeTags, (tags) ->\n render(tags) if tags?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgColorizeTags\", ColorizeTagsDirective)\n\n\n#############################################################################\n## TagLine Directive (for Lightboxes)\n#############################################################################\n\nLbTagLineDirective = ($rs, $template, $compile) ->\n ENTER_KEY = 13\n COMMA_KEY = 188\n\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n ## Render\n renderTags = (tags, tagsColors) ->\n ctx = {\n tags: _.map(tags, (t) -> {name: t, color: tagsColors[t]})\n }\n\n _.map ctx.tags, (tag) =>\n if tag.color\n tag.style = \"border-left: 5px solid #{tag.color}\"\n\n html = $compile(templateTags(ctx))($scope)\n $el.find(\"div.tags-container\").html(html)\n\n showSaveButton = -> $el.find(\".save\").removeClass(\"hidden\")\n hideSaveButton = -> $el.find(\".save\").addClass(\"hidden\")\n\n resetInput = ->\n $el.find(\"input\").val(\"\")\n $el.find(\"input\").autocomplete(\"close\")\n\n ## Aux methods\n addValue = (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue, false)\n tags = [] if not tags?\n tags.push(value) if value not in tags\n\n $scope.$apply ->\n $model.$setViewValue(tags)\n\n hideSaveButton()\n\n deleteValue = (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue, false)\n tags = _.pull(tags, value)\n\n $scope.$apply ->\n $model.$setViewValue(tags)\n\n saveInputTag = () ->\n value = $el.find(\"input\").val()\n\n addValue(value)\n resetInput()\n\n removeInputLastCharacter = (input) =>\n inputValue = input.val()\n input.val inputValue.substring(0, inputValue.length - 1)\n\n ## Events\n $el.on \"keypress\", \"input\", (event) ->\n return if event.keyCode != ENTER_KEY\n event.preventDefault()\n\n $el.on \"keyup\", \"input\", (event) ->\n target = angular.element(event.currentTarget)\n\n if event.keyCode == ENTER_KEY\n saveInputTag()\n else if event.keyCode == COMMA_KEY\n removeInputLastCharacter(target)\n saveInputTag()\n else\n if target.val().length\n showSaveButton()\n else\n hideSaveButton()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n saveInputTag()\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n value = target.siblings(\".tag-name\").text()\n deleteValue(value)\n\n bindOnce $scope, \"project\", (project) ->\n positioningFunction = (position, elements) ->\n menu = elements.element.element\n menu.css(\"width\", elements.target.width)\n menu.css(\"top\", position.top)\n menu.css(\"left\", position.left)\n\n $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors)\n position: {\n my: \"left top\",\n using: positioningFunction\n }\n select: (event, ui) ->\n addValue(ui.item.value)\n ui.item.value = \"\"\n })\n\n $scope.$watch $attrs.ngModel, (tags) ->\n tagsColors = $scope.project?.tags_colors or []\n renderTags(tags, tagsColors)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n templateUrl: \"common/tag/lb-tag-line.html\"\n }\n\nmodule.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", \"$compile\", LbTagLineDirective])\n\n\n#############################################################################\n## TagLine Directive (for detail pages)\n#############################################################################\n\nTagLineDirective = ($rootScope, $repo, $rs, $confirm, $qqueue, $template, $compile) ->\n ENTER_KEY = 13\n ESC_KEY = 27\n COMMA_KEY = 188\n\n templateTags = $template.get(\"common/tag/tags-line-tags.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n if $attrs.requiredPerm?\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) != -1\n\n return true\n\n ## Render\n renderTags = (tags, tagsColors) ->\n ctx = {\n tags: _.map(tags, (t) -> {name: t, color: tagsColors[t]})\n isEditable: isEditable()\n }\n html = $compile(templateTags(ctx))($scope)\n $el.find(\"div.tags-container\").html(html)\n\n renderInReadModeOnly = ->\n $el.find(\".add-tag\").remove()\n $el.find(\"input\").remove()\n $el.find(\".save\").remove()\n\n showAddTagButton = -> $el.find(\".add-tag\").removeClass(\"hidden\")\n hideAddTagButton = -> $el.find(\".add-tag\").addClass(\"hidden\")\n\n showAddTagButtonText = -> $el.find(\".add-tag-text\").removeClass(\"hidden\")\n hideAddTagButtonText = -> $el.find(\".add-tag-text\").addClass(\"hidden\")\n\n showSaveButton = -> $el.find(\".save\").removeClass(\"hidden\")\n hideSaveButton = -> $el.find(\".save\").addClass(\"hidden\")\n\n showInput = -> $el.find(\"input\").removeClass(\"hidden\").focus()\n hideInput = -> $el.find(\"input\").addClass(\"hidden\").blur()\n resetInput = ->\n $el.find(\"input\").val(\"\")\n $el.find(\"input\").autocomplete(\"close\")\n\n ## Aux methods\n addValue = $qqueue.bindAdd (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue.tags, false)\n tags = [] if not tags?\n tags.push(value) if value not in tags\n\n model = $model.$modelValue.clone()\n model.tags = tags\n $model.$setViewValue(model)\n\n onSuccess = ->\n $rootScope.$broadcast(\"object:updated\")\n onError = ->\n $confirm.notify(\"error\")\n model.revert()\n $model.$setViewValue(model)\n $repo.save(model).then(onSuccess, onError)\n\n hideSaveButton()\n\n deleteValue = $qqueue.bindAdd (value) ->\n value = trim(value.toLowerCase())\n return if value.length == 0\n\n tags = _.clone($model.$modelValue.tags, false)\n tags = _.pull(tags, value)\n\n model = $model.$modelValue.clone()\n model.tags = tags\n $model.$setViewValue(model)\n\n onSuccess = ->\n $rootScope.$broadcast(\"object:updated\")\n onError = ->\n $confirm.notify(\"error\")\n model.revert()\n $model.$setViewValue(model)\n\n return $repo.save(model).then(onSuccess, onError)\n\n saveInputTag = () ->\n value = $el.find(\"input\").val()\n\n addValue(value)\n resetInput()\n\n removeInputLastCharacter = (input) =>\n inputValue = input.val()\n input.val inputValue.substring(0, inputValue.length - 1)\n\n ## Events\n $el.on \"keypress\", \"input\", (event) ->\n return if event.keyCode not in [ENTER_KEY, ESC_KEY]\n event.preventDefault()\n\n $el.on \"keyup\", \"input\", (event) ->\n target = angular.element(event.currentTarget)\n\n if event.keyCode == ENTER_KEY\n saveInputTag()\n else if event.keyCode == COMMA_KEY\n removeInputLastCharacter(target)\n saveInputTag()\n else if event.keyCode == ESC_KEY\n resetInput()\n hideInput()\n hideSaveButton()\n showAddTagButton()\n else\n if target.val().length\n showSaveButton()\n else\n hideSaveButton()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n saveInputTag()\n\n $el.on \"click\", \".add-tag\", (event) ->\n event.preventDefault()\n hideAddTagButton()\n showInput()\n\n $el.on \"click\", \".icon-delete\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n value = target.siblings(\".tag-name\").text()\n\n deleteValue(value)\n\n bindOnce $scope, \"project.tags_colors\", (tags_colors) ->\n if not isEditable()\n renderInReadModeOnly()\n return\n\n showAddTagButton()\n\n positioningFunction = (position, elements) ->\n menu = elements.element.element\n menu.css(\"width\", elements.target.width)\n menu.css(\"top\", position.top)\n menu.css(\"left\", position.left)\n\n $el.find(\"input\").autocomplete({\n source: _.keys(tags_colors)\n position: {\n my: \"left top\",\n using: positioningFunction\n }\n select: (event, ui) ->\n addValue(ui.item.value)\n ui.item.value = \"\"\n })\n\n $scope.$watch $attrs.ngModel, (model) ->\n return if not model\n\n if model.tags?.length\n hideAddTagButtonText()\n else\n showAddTagButtonText()\n\n tagsColors = $scope.project?.tags_colors or []\n renderTags(model.tags, tagsColors)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link,\n require:\"ngModel\"\n templateUrl: \"common/tag/tag-line.html\"\n }\n\nmodule.directive(\"tgTagLine\", [\"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$tgQqueue\",\n \"$tgTemplate\", \"$compile\", TagLineDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/wisiwyg.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaCommon\")\n\n# How to test lists (-, *, 1.)\n# test it with text after & before the list\n# + is the cursor position\n\n# CASE 1\n# - aa+\n# --> enter\n# - aa\n# - +\n\n# CASE 1\n# - +\n# --> enter\n\n# +\n\n# CASE 3\n# - bb+cc\n# --> enter\n# - bb\n# - cc\n\n# CASE 3\n# +- aa\n# --> enter\n\n# - aa\n\n#############################################################################\n## WYSIWYG markitup editor directive\n#############################################################################\nMarkitupDirective = ($rootscope, $rs, $selectedText, $template, $compile, $translate) ->\n previewTemplate = $template.get(\"common/wysiwyg/wysiwyg-markitup-preview.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n element = angular.element($el)\n previewDomNode = $(\"
\", {class: \"preview\"})\n\n closePreviewMode = ->\n element.parents(\".markdown\").find(\".preview\").remove()\n element.parents(\".markItUp\").show()\n\n $scope.$on \"markdown-editor:submit\", ->\n closePreviewMode()\n\n preview = ->\n markdownDomNode = element.parents(\".markdown\")\n markItUpDomNode = element.parents(\".markItUp\")\n $rs.mdrender.render($scope.projectId, $model.$modelValue).then (data) ->\n html = previewTemplate({data: data.data})\n html = $compile(html)($scope)\n\n markdownDomNode.append(html)\n markItUpDomNode.hide()\n\n markdown = element.closest(\".markdown\")\n\n markdown.on \"mouseup.preview\", \".preview\", (event) ->\n event.preventDefault()\n target = angular.element(event.target)\n\n if !target.is('a') and $selectedText.get().length\n return\n\n markdown.off(\".preview\")\n closePreviewMode()\n\n setCaretPosition = (textarea, caretPosition) ->\n if textarea.createTextRange\n range = textarea.createTextRange()\n range.move(\"character\", caretPosition)\n range.select()\n\n else if textarea.selectionStart\n textarea.focus()\n textarea.setSelectionRange(caretPosition, caretPosition)\n\n # Calculate the scroll position\n totalLines = textarea.value.split(\"\\n\").length\n line = textarea.value[0..(caretPosition - 1)].split(\"\\n\").length\n scrollRelation = line / totalLines\n $el.scrollTop((scrollRelation * $el[0].scrollHeight) - ($el.height() / 2))\n\n addLine = (textarea, nline, replace) ->\n lines = textarea.value.split(\"\\n\")\n\n if replace\n lines[nline] = replace + lines[nline]\n else\n lines[nline] = \"\"\n\n cursorPosition = 0\n\n for line, key in lines\n cursorPosition += line.length + 1 || 1\n\n break if key == nline\n\n textarea.value = lines.join(\"\\n\")\n\n #return the new position\n if replace\n return cursorPosition - lines[nline].length + replace.length - 1\n else\n return cursorPosition\n\n prepareUrlFormatting = (markItUp) ->\n regex = /(<<<|>>>)/gi\n result = 0\n indices = []\n (indices.push(result.index)) while ( (result = regex.exec(markItUp.textarea.value)) )\n markItUp.donotparse = indices\n\n urlFormatting = (markItUp) ->\n regex = /<<>>/gi\n endIndex = 0\n loop\n result = regex.exec(markItUp.textarea.value)\n break if !result\n if result.index not in markItUp.donotparse\n endIndex = result.index\n break\n\n value = markItUp.textarea.value\n url = value.substring(startIndex, endIndex).replace('<<<', '').replace('>>>', '')\n url = url.replace('(', '%28').replace(')', '%29')\n url = url.replace('[', '%5B').replace(']', '%5D')\n value = value.substring(0, startIndex) + url + value.substring(endIndex+3, value.length)\n markItUp.textarea.value = value\n markItUp.donotparse = undefined\n\n markdownTitle = (markItUp, char) ->\n heading = \"\"\n n = $.trim(markItUp.selection or markItUp.placeHolder).length\n\n for i in [0..n-1]\n heading += char\n\n return \"\\n\"+heading+\"\\n\"\n\n renderMarkItUp = () ->\n markdownSettings =\n nameSpace: \"markdown\"\n onShiftEnter: {keepDefault:false, openWith:\"\\n\\n\"}\n onEnter:\n keepDefault: false,\n replaceWith: () -> \"\\n\"\n afterInsert: (data) ->\n lines = data.textarea.value.split(\"\\n\")\n cursorLine = data.textarea.value[0..(data.caretPosition - 1)].split(\"\\n\").length\n newLineContent = data.textarea.value[data.caretPosition..].split(\"\\n\")[0]\n lastLine = lines[cursorLine - 1]\n\n # unordered list -\n match = lastLine.match /^(\\s*- ).*/\n\n if match\n emptyListItem = lastLine.match /^(\\s*)\\-\\s$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1]}\"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n # unordered list *\n match = lastLine.match /^(\\s*\\* ).*/\n\n if match\n emptyListItem = lastLine.match /^(\\s*\\* )$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1]}\"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n # ordered list\n match = lastLine.match /^(\\s*)(\\d+)\\.\\s/\n\n if match\n emptyListItem = lastLine.match /^(\\s*)(\\d+)\\.\\s$/\n\n if emptyListItem\n nline = cursorLine - 1\n replace = null\n else\n nline = cursorLine\n replace = \"#{match[1] + (parseInt(match[2], 10) + 1)}. \"\n\n markdownCaretPositon = addLine(data.textarea, nline, replace)\n\n setCaretPosition(data.textarea, markdownCaretPositon) if markdownCaretPositon\n\n markupSet: [\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H1_BUTTON\")\n key: \"1\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H1_SAMPLE_TEXT\")\n closeWith: (markItUp) -> markdownTitle(markItUp, \"=\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H2_BUTTON\")\n key: \"2\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H2_SAMPLE_TEXT\")\n closeWith: (markItUp) -> markdownTitle(markItUp, \"-\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.H3_BUTTON\")\n key: \"3\"\n openWith: \"### \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.H3_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.BOLD_BUTTON\")\n key: \"B\"\n openWith: \"**\"\n closeWith: \"**\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.BOLD_BUTTON_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.ITALIC_SAMPLE_TEXT\")\n key: \"I\"\n openWith: \"_\"\n closeWith: \"_\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.ITALIC_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.STRIKE_BUTTON\")\n key: \"S\"\n openWith: \"~~\"\n closeWith: \"~~\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.STRIKE_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.BULLETED_LIST_BUTTON\")\n openWith: \"- \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.BULLETED_LIST_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.NUMERIC_LIST_BUTTON\")\n openWith: (markItUp) -> markItUp.line+\". \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.NUMERIC_LIST_SAMPLE_TEXT\")\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.PICTURE_BUTTON\")\n key: \"P\"\n openWith: \"![\"\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")'\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.PICTURE_SAMPLE_TEXT\")\n beforeInsert:(markItUp) -> prepareUrlFormatting(markItUp)\n afterInsert:(markItUp) -> urlFormatting(markItUp)\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.LINK_BUTTON\")\n key: \"L\"\n openWith: \"[\"\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")'\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.LINK_SAMPLE_TEXT\")\n beforeInsert:(markItUp) -> prepareUrlFormatting(markItUp)\n afterInsert:(markItUp) -> urlFormatting(markItUp)\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.QUOTE_BLOCK_BUTTON\")\n openWith: \"> \"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.QUOTE_BLOCK_SAMPLE_TEXT\")\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.CODE_BLOCK_BUTTON\")\n openWith: \"```\\n\"\n placeHolder: $translate.instant(\"COMMON.WYSIWYG.CODE_BLOCK_SAMPLE_TEXT\")\n closeWith: \"\\n```\"\n },\n {\n separator: \"---------------\"\n },\n {\n name: $translate.instant(\"COMMON.WYSIWYG.PREVIEW_BUTTON\")\n call: preview\n className: \"preview-icon\"\n },\n ]\n afterInsert: (event) ->\n target = angular.element(event.textarea)\n $model.$setViewValue(target.val())\n\n element\n .markItUpRemove()\n .markItUp(markdownSettings)\n\n renderMarkItUp()\n\n unbind = $rootscope.$on \"$translateChangeEnd\", renderMarkItUp\n\n element.on \"keypress\", (event) ->\n $scope.$apply()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n unbind()\n\n return {link:link, require:\"ngModel\"}\n\nmodule.directive(\"tgMarkitup\", [\"$rootScope\", \"$tgResources\", \"$selectedText\", \"$tgTemplate\", \"$compile\",\n \"$translate\", MarkitupDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ndebounceLeading = @.taiga.debounceLeading\n\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Issues Filters Directive\n#############################################################################\n\nBacklogFiltersDirective = ($log, $location, $templates) ->\n template = $templates.get(\"backlog/filters.html\", true)\n templateSelected = $templates.get(\"backlog/filter-selected.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.closest(\".wrapper\").controller()\n selectedFilters = []\n\n showFilters = (title, type) ->\n $el.find(\".filters-cats\").hide()\n $el.find(\".filter-list\").removeClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").removeClass(\"hidden\")\n $el.find(\"h2 a.subfilter span.title\").html(title)\n $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type)\n\n showCategories = ->\n $el.find(\".filters-cats\").show()\n $el.find(\".filter-list\").addClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").addClass(\"hidden\")\n\n initializeSelectedFilters = (filters) ->\n showCategories()\n selectedFilters = []\n\n for name, values of filters\n for val in values\n selectedFilters.push(val) if val.selected\n\n renderSelectedFilters()\n\n renderSelectedFilters = ->\n _.map selectedFilters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = templateSelected({filters: selectedFilters})\n $el.find(\".filters-applied\").html(html)\n\n renderFilters = (filters) ->\n _.map filters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = template({filters:filters})\n $el.find(\".filter-list\").html(html)\n\n toggleFilterSelection = (type, id) ->\n filters = $scope.filters[type]\n filter = _.find(filters, {id: taiga.toString(id)})\n filter.selected = (not filter.selected)\n if filter.selected\n selectedFilters.push(filter)\n $scope.$apply ->\n $ctrl.selectFilter(type, id)\n else\n selectedFilters = _.reject(selectedFilters, filter)\n $scope.$apply ->\n $ctrl.unselectFilter(type, id)\n\n renderSelectedFilters(selectedFilters)\n\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if type == currentFiltersType\n renderFilters(_.reject(filters, \"selected\"))\n\n $ctrl.loadUserstories()\n\n selectQFilter = debounceLeading 100, (value) ->\n return if value is undefined\n if value.length == 0\n $ctrl.replaceFilter(\"q\", null)\n else\n $ctrl.replaceFilter(\"q\", value)\n $ctrl.loadUserstories()\n\n $scope.$watch(\"filtersQ\", selectQFilter)\n\n ## Angular Watchers\n $scope.$on \"filters:loaded\", (ctx, filters) ->\n initializeSelectedFilters(filters)\n\n $scope.$on \"filters:update\", (ctx, filters) ->\n renderFilters(filters)\n\n ## Dom Event Handlers\n $el.on \"click\", \".filters-cats > ul > li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n tags = $scope.filters[target.data(\"type\")]\n\n renderFilters(_.reject(tags, \"selected\"))\n showFilters(target.attr(\"title\"), target.data(\"type\"))\n\n $el.on \"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", (event) ->\n event.preventDefault()\n showCategories()\n\n $el.on \"click\", \".filters-applied a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n id = target.data(\"id\")\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n if target.hasClass(\"active\")\n target.removeClass(\"active\")\n else\n target.addClass(\"active\")\n\n id = target.data(\"id\")\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n return {link:link}\n\nmodule.directive(\"tgBacklogFilters\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", BacklogFiltersDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Creare/Edit Sprint Lightbox Directive\n#############################################################################\n\nCreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading, $translate) ->\n link = ($scope, $el, attrs) ->\n hasErrors = false\n createSprint = true\n\n $scope.sprint = {\n project: null\n name: null\n estimated_start: null\n estimated_finish: null\n }\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n target = angular.element(event.currentTarget)\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n\n submitButton = $el.find(\".submit-button\")\n form = $el.find(\"form\").checksley()\n\n if not form.validate()\n hasErrors = true\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n return\n\n hasErrors = false\n newSprint = angular.copy($scope.sprint)\n broadcastEvent = null\n\n if createSprint\n newSprint.estimated_start = moment(newSprint.estimated_start, prettyDate).format(\"YYYY-MM-DD\")\n newSprint.estimated_finish = moment(newSprint.estimated_finish,prettyDate).format(\"YYYY-MM-DD\")\n promise = $repo.create(\"milestones\", newSprint)\n broadcastEvent = \"sprintform:create:success\"\n else\n newSprint.setAttr(\"estimated_start\",\n moment(newSprint.estimated_start, prettyDate).format(\"YYYY-MM-DD\"))\n newSprint.setAttr(\"estimated_finish\",\n moment(newSprint.estimated_finish, prettyDate).format(\"YYYY-MM-DD\"))\n promise = $repo.save(newSprint)\n broadcastEvent = \"sprintform:edit:success\"\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise.then (data) ->\n currentLoading.finish()\n $scope.sprintsCounter += 1 if createSprint\n $rootscope.$broadcast(broadcastEvent, data)\n\n lightboxService.close($el)\n\n promise.then null, (data) ->\n currentLoading.finish()\n\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"light-error\", data._error_message)\n else if data.__all__\n $confirm.notify(\"light-error\", data.__all__[0])\n\n remove = ->\n title = $translate.instant(\"LIGHTBOX.DELETE_SPRINT.TITLE\")\n message = $scope.sprint.name\n\n $confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = ->\n finish()\n $scope.milestonesCounter -= 1\n lightboxService.close($el)\n $rootscope.$broadcast(\"sprintform:remove:success\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n $repo.remove($scope.sprint).then(onSuccess, onError)\n\n $scope.$on \"sprintform:create\", (event, projectId) ->\n form = $el.find(\"form\").checksley()\n form.reset()\n\n createSprint = true\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n $scope.sprint.project = projectId\n $scope.sprint.name = null\n $scope.sprint.slug = null\n\n lastSprint = $scope.sprints[0]\n\n estimatedStart = moment()\n if $scope.sprint.estimated_start\n estimatedStart = moment($scope.sprint.estimated_start)\n else if lastSprint?\n estimatedStart = moment(lastSprint.estimated_finish)\n $scope.sprint.estimated_start = estimatedStart.format(prettyDate)\n\n estimatedFinish = moment().add(2, \"weeks\")\n if $scope.sprint.estimated_finish\n estimatedFinish = moment($scope.sprint.estimated_finish)\n else if lastSprint?\n estimatedFinish = moment(lastSprint.estimated_finish).add(2, \"weeks\")\n $scope.sprint.estimated_finish = estimatedFinish.format(prettyDate)\n\n lastSprintNameDom = $el.find(\".last-sprint-name\")\n if lastSprint?.name?\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.LAST_SPRINT_NAME\", {\n lastSprint: lastSprint.name})\n lastSprintNameDom.html(text)\n\n $el.find(\".delete-sprint\").addClass(\"hidden\")\n\n text = $translate.instant(\"LIGHTBOX.ADD_EDIT_SPRINT.TITLE\")\n $el.find(\".title\").text(text)\n\n text = $translate.instant(\"COMMON.CREATE\")\n $el.find(\".button-green\").text(text)\n\n lightboxService.open($el)\n $el.find(\".sprint-name\").focus()\n $el.find(\".last-sprint-name\").removeClass(\"disappear\")\n\n $scope.$on \"sprintform:edit\", (ctx, sprint) ->\n createSprint = false\n prettyDate = $translate.instant(\"COMMON.PICKERDATE.FORMAT\")\n\n $scope.$apply ->\n $scope.sprint = sprint\n $scope.sprint.estimated_start = moment($scope.sprint.estimated_start).format(prettyDate)\n $scope.sprint.estimated_finish = moment($scope.sprint.estimated_finish).format(prettyDate)\n\n $el.find(\".delete-sprint\").removeClass(\"hidden\")\n\n editSprint = $translate.instant(\"BACKLOG.EDIT_SPRINT\")\n $el.find(\".title\").text(editSprint)\n\n save = $translate.instant(\"COMMON.SAVE\")\n $el.find(\".button-green\").text(save)\n\n lightboxService.open($el)\n $el.find(\".sprint-name\").focus().select()\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n\n $el.on \"keyup\", \".sprint-name\", (event) ->\n if $el.find(\".sprint-name\").val().length > 0 or hasErrors\n $el.find(\".last-sprint-name\").addClass(\"disappear\")\n else\n $el.find(\".last-sprint-name\").removeClass(\"disappear\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".delete-sprint .icon-delete\", (event) ->\n event.preventDefault()\n remove()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgLbCreateEditSprint\", [\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$rootScope\",\n \"lightboxService\"\n \"$tgLoading\",\n \"$translate\",\n CreateEditSprint\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaBacklog\")\n\n#############################################################################\n## Backlog Controller\n#############################################################################\n\nclass BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\",\n \"$tgLoading\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q,\n @location, @appMetaService, @navUrls, @events, @analytics, @translate, @loading) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"BACKLOG.SECTION_NAME\")\n @showTags = false\n @activeFilters = false\n\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"BACKLOG.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"BACKLOG.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n if @rs.userstories.getShowTags(@scope.projectId)\n @showTags = true\n\n @scope.$broadcast(\"showTags\", @showTags)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n initializeEventHandlers: ->\n @scope.$on \"usform:bulk:success\", =>\n @.loadUserstories()\n @.loadProjectStats()\n @analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on backlog\", 1)\n\n @scope.$on \"sprintform:create:success\", =>\n @.loadSprints()\n @.loadProjectStats()\n @analytics.trackEvent(\"sprint\", \"create\", \"create sprint on backlog\", 1)\n\n @scope.$on \"usform:new:success\", =>\n @.loadUserstories()\n @.loadProjectStats()\n @analytics.trackEvent(\"userstory\", \"create\", \"create userstory on backlog\", 1)\n\n @scope.$on \"sprintform:edit:success\", =>\n @.loadProjectStats()\n\n @scope.$on \"sprintform:remove:success\", =>\n @.loadSprints()\n @.loadProjectStats()\n @.loadUserstories()\n\n @scope.$on \"usform:edit:success\", =>\n @.loadUserstories()\n\n @scope.$on(\"sprint:us:move\", @.moveUs)\n @scope.$on(\"sprint:us:moved\", @.loadSprints)\n @scope.$on(\"sprint:us:moved\", @.loadProjectStats)\n\n @scope.$on(\"backlog:load-closed-sprints\", @.loadClosedSprints)\n @scope.$on(\"backlog:unload-closed-sprints\", @.unloadClosedSprints)\n\n initializeSubscription: ->\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.loadUserstories()\n @.loadSprints()\n\n routingKey2 = \"changes.project.#{@scope.projectId}.milestones\"\n @events.subscribe @scope, routingKey2, (message) =>\n @.loadSprints()\n\n toggleShowTags: ->\n @scope.$apply =>\n @showTags = !@showTags\n @rs.userstories.storeShowTags(@scope.projectId, @showTags)\n\n toggleActiveFilters: ->\n @activeFilters = !@activeFilters\n\n loadProjectStats: ->\n return @rs.projects.stats(@scope.projectId).then (stats) =>\n @scope.stats = stats\n\n if stats.total_points\n @scope.stats.completedPercentage = Math.round(100 * stats.closed_points / stats.total_points)\n else\n @scope.stats.completedPercentage = 0\n\n return stats\n\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n unloadClosedSprints: ->\n @scope.$apply =>\n @scope.closedSprints = []\n @rootscope.$broadcast(\"closed-sprints:reloaded\", [])\n\n loadClosedSprints: ->\n params = {closed: true}\n return @rs.sprints.list(@scope.projectId, params).then (sprints) =>\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in partials files\n for sprint in sprints\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\")\n @scope.closedSprints = sprints\n @rootscope.$broadcast(\"closed-sprints:reloaded\", sprints)\n return sprints\n\n loadSprints: ->\n params = {closed: false}\n return @rs.sprints.list(@scope.projectId, params).then (sprints) =>\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in partials files\n for sprint in sprints\n sprint.user_stories = _.sortBy(sprint.user_stories, \"sprint_order\")\n\n @scope.sprints = sprints\n @scope.openSprints = _.filter(sprints, (sprint) => not sprint.closed).reverse()\n @scope.closedSprints = [] if !@scope.closedSprints\n\n @scope.sprintsCounter = sprints.length\n @scope.sprintsById = groupBy(sprints, (x) -> x.id)\n @rootscope.$broadcast(\"sprints:loaded\", sprints)\n return sprints\n\n resetFilters: ->\n selectedTags = _.filter(@scope.filters.tags, \"selected\")\n selectedStatuses = _.filter(@scope.filters.statuses, \"selected\")\n\n @scope.filtersQ = \"\"\n\n _.each [selectedTags, selectedStatuses], (filterGrp) =>\n _.each filterGrp, (item) =>\n filters = @scope.filters[item.type]\n filter = _.find(filters, {id: taiga.toString(item.id)})\n filter.selected = false\n\n @.unselectFilter(item.type, item.id)\n\n @.loadUserstories()\n\n loadUserstories: ->\n @scope.httpParams = @.getUrlFilters()\n @rs.userstories.storeQueryParams(@scope.projectId, @scope.httpParams)\n\n promise = @q.all([@.refreshTagsColors(), @rs.userstories.listUnassigned(@scope.projectId, @scope.httpParams)])\n\n return promise.then (data) =>\n userstories = data[1]\n # NOTE: Fix order of USs because the filter orderBy does not work propertly in the partials files\n @scope.userstories = _.sortBy(userstories, \"backlog_order\")\n\n @.setSearchDataFilters()\n @.filterVisibleUserstories()\n @.generateFilters()\n\n @rootscope.$broadcast(\"filters:loaded\", @scope.filters)\n # The broadcast must be executed when the DOM has been fully reloaded.\n # We can't assure when this exactly happens so we need a defer\n scopeDefer @scope, =>\n @scope.$broadcast(\"userstories:loaded\")\n\n return userstories\n\n loadBacklog: ->\n return @q.all([\n @.loadProjectStats(),\n @.loadSprints(),\n @.loadUserstories()\n ])\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_backlog_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.totalClosedMilestones = project.total_closed_milestones\n @scope.$emit('project:loaded', project)\n @scope.points = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(project.points, (x) -> x.id)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.usStatusList = _.sortBy(project.us_statuses, \"id\")\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n\n return promise.then(=> @.loadBacklog())\n\n filterVisibleUserstories: ->\n @scope.visibleUserstories = []\n\n # Filter by tags\n @scope.visibleUserstories = _.reject @scope.userstories, (us) =>\n return _.some us.tags, (tag) =>\n return @isFilterSelected(\"tag\", tag)\n\n # Filter by status\n @scope.visibleUserstories = _.filter @scope.visibleUserstories, (us) =>\n if @searchdata[\"statuses\"] && Object.keys(@searchdata[\"statuses\"]).length\n return @isFilterSelected(\"statuses\", taiga.toString(us.status))\n\n return true\n\n prepareBulkUpdateData: (uses, field=\"backlog_order\") ->\n return _.map(uses, (x) -> {\"us_id\": x.id, \"order\": x[field]})\n\n resortUserStories: (uses, field=\"backlog_order\") ->\n items = []\n\n for item, index in uses\n item[field] = index\n if item.isModified()\n items.push(item)\n\n return items\n\n moveUs: (ctx, usList, newUsIndex, newSprintId) ->\n oldSprintId = usList[0].milestone\n project = usList[0].project\n\n # In the same sprint or in the backlog\n if newSprintId == oldSprintId\n items = null\n userstories = null\n\n if newSprintId == null\n userstories = @scope.userstories\n else\n userstories = @scope.sprintsById[newSprintId].user_stories\n\n @scope.$apply ->\n for us, key in usList\n r = userstories.indexOf(us)\n userstories.splice(r, 1)\n\n args = [newUsIndex, 0].concat(usList)\n Array.prototype.splice.apply(userstories, args)\n\n # If in backlog\n if newSprintId == null\n # Rehash userstories order field\n\n items = @.resortUserStories(userstories, \"backlog_order\")\n data = @.prepareBulkUpdateData(items, \"backlog_order\")\n\n # Persist in bulk all affected\n # userstories with order change\n @rs.userstories.bulkUpdateBacklogOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n # For sprint\n else\n # Rehash userstories order field\n items = @.resortUserStories(userstories, \"sprint_order\")\n data = @.prepareBulkUpdateData(items, \"sprint_order\")\n\n # Persist in bulk all affected\n # userstories with order change\n @rs.userstories.bulkUpdateSprintOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n return promise\n\n # From sprint to backlog\n if newSprintId == null\n us.milestone = null for us in usList\n\n @scope.$apply =>\n # Add new us to backlog userstories list\n # @scope.userstories.splice(newUsIndex, 0, us)\n # @scope.visibleUserstories.splice(newUsIndex, 0, us)\n args = [newUsIndex, 0].concat(usList)\n Array.prototype.splice.apply(@scope.userstories, args)\n Array.prototype.splice.apply(@scope.visibleUserstories, args)\n\n # Execute the prefiltering of user stories\n @.filterVisibleUserstories()\n\n # Remove the us from the sprint list.\n sprint = @scope.sprintsById[oldSprintId]\n for us, key in usList\n r = sprint.user_stories.indexOf(us)\n sprint.user_stories.splice(r, 1)\n\n # Persist the milestone change of userstory\n promise = @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = promise.then =>\n items = @.resortUserStories(@scope.userstories, \"backlog_order\")\n data = @.prepareBulkUpdateData(items, \"backlog_order\")\n return @rs.userstories.bulkUpdateBacklogOrder(us.project, data).then =>\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n return promise\n\n # From backlog to sprint\n newSprint = @scope.sprintsById[newSprintId]\n if oldSprintId == null\n us.milestone = newSprintId for us in usList\n\n @scope.$apply =>\n args = [newUsIndex, 0].concat(usList)\n\n # Add moving us to sprint user stories list\n Array.prototype.splice.apply(newSprint.user_stories, args)\n\n # Remove moving us from backlog userstories lists.\n for us, key in usList\n r = @scope.visibleUserstories.indexOf(us)\n @scope.visibleUserstories.splice(r, 1)\n\n r = @scope.userstories.indexOf(us)\n @scope.userstories.splice(r, 1)\n\n # From sprint to sprint\n else\n us.milestone = newSprintId for us in usList\n\n @scope.$apply =>\n args = [newUsIndex, 0].concat(usList)\n\n # Add new us to backlog userstories list\n Array.prototype.splice.apply(newSprint.user_stories, args)\n\n # Remove the us from the sprint list.\n for us in usList\n oldSprint = @scope.sprintsById[oldSprintId]\n r = oldSprint.user_stories.indexOf(us)\n oldSprint.user_stories.splice(r, 1)\n\n # Persist the milestone change of userstory\n promises = _.map usList, (us) => @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = @q.all(promises).then =>\n items = @.resortUserStories(newSprint.user_stories, \"sprint_order\")\n data = @.prepareBulkUpdateData(items, \"sprint_order\")\n\n @rs.userstories.bulkUpdateSprintOrder(project, data).then =>\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n @rs.userstories.bulkUpdateBacklogOrder(project, data).then =>\n for us in usList\n @rootscope.$broadcast(\"sprint:us:moved\", us, oldSprintId, newSprintId)\n\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n return promise\n\n isFilterSelected: (type, id) ->\n if @searchdata[type]? and @searchdata[type][id]\n return true\n return false\n\n setSearchDataFilters: () ->\n urlfilters = @.getUrlFilters()\n\n if urlfilters.q\n @scope.filtersQ = @scope.filtersQ or urlfilters.q\n\n @searchdata = {}\n for name, value of urlfilters\n if not @searchdata[name]?\n @searchdata[name] = {}\n\n for val in taiga.toString(value).split(\",\")\n @searchdata[name][val] = true\n\n getUrlFilters: ->\n return _.pick(@location.search(), \"statuses\", \"tags\", \"q\")\n\n generateFilters: ->\n urlfilters = @.getUrlFilters()\n @scope.filters = {}\n\n #tags\n plainTags = _.flatten(_.filter(_.map(@scope.visibleUserstories, \"tags\")))\n plainTags.sort()\n\n if plainTags.length == 0 and urlfilters[\"tags\"]\n plainTags.push(urlfilters[\"tags\"])\n\n @scope.filters.tags = _.map _.countBy(plainTags), (v, k) =>\n obj = {\n id: k,\n type: \"tags\",\n name: k,\n color: @scope.project.tags_colors[k],\n count: v\n }\n obj.selected = true if @isFilterSelected(\"tags\", obj.id)\n return obj\n\n selectedTags = _.filter(@scope.filters.tags, \"selected\")\n selectedTags = _.map(selectedTags, \"name\")\n\n #status\n plainStatuses = _.map(@scope.visibleUserstories, \"status\")\n\n plainStatuses = _.filter plainStatuses, (status) =>\n if status\n return status\n\n if plainStatuses.length == 0 and urlfilters[\"statuses\"]\n plainStatuses.push(urlfilters[\"statuses\"])\n\n @scope.filters.statuses = _.map _.countBy(plainStatuses), (v, k) =>\n obj = {\n id: k,\n type: \"statuses\",\n name: @scope.usStatusById[k].name,\n color: @scope.usStatusById[k].color,\n count:v\n }\n obj.selected = true if @isFilterSelected(\"statuses\", obj.id)\n\n return obj\n\n selectedStatuses = _.filter(@scope.filters.statuses, \"selected\")\n selectedStatuses = _.map(selectedStatuses, \"id\")\n\n #store query params\n @rs.userstories.storeQueryParams(@scope.projectId, {\n \"status\": selectedStatuses,\n \"tags\": selectedTags,\n \"project\": @scope.projectId\n \"milestone\": null\n })\n\n ## Template actions\n\n updateUserStoryStatus: () ->\n @.setSearchDataFilters()\n @.filterVisibleUserstories()\n @.generateFilters()\n @rootscope.$broadcast(\"filters:update\", @scope.filters['statuses'])\n @.loadProjectStats()\n\n editUserStory: (projectId, ref, $event) ->\n target = $($event.target)\n\n currentLoading = @loading()\n .target(target)\n .removeClasses(\"icon-edit\")\n .timeout(200)\n .start()\n\n @rs.userstories.getByRef(projectId, ref).then (us) =>\n @rootscope.$broadcast(\"usform:edit\", us)\n\n currentLoading.finish()\n\n deleteUserStory: (us) ->\n title = @translate.instant(\"US.TITLE_DELETE_ACTION\")\n\n message = us.subject\n\n @confirm.askOnDelete(title, message).then (finish) =>\n # We modify the userstories in scope so the user doesn't see the removed US for a while\n @scope.userstories = _.without(@scope.userstories, us)\n @filterVisibleUserstories()\n promise = @.repo.remove(us)\n promise.then =>\n finish()\n @.loadBacklog()\n promise.then null, =>\n finish(false)\n @confirm.notify(\"error\")\n\n addNewUs: (type) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"usform:new\", @scope.projectId,\n @scope.project.default_us_status, @scope.usStatusList)\n when \"bulk\" then @rootscope.$broadcast(\"usform:bulk\", @scope.projectId,\n @scope.project.default_us_status)\n\n addNewSprint: () ->\n @rootscope.$broadcast(\"sprintform:create\", @scope.projectId)\n\nmodule.controller(\"BacklogController\", BacklogController)\n\n#############################################################################\n## Backlog Directive\n#############################################################################\n\nBacklogDirective = ($repo, $rootscope, $translate) ->\n ## Doom line Link\n doomLineTemplate = _.template(\"\"\"\n
<%- text %>
\n \"\"\")\n\n linkDoomLine = ($scope, $el, $attrs, $ctrl) ->\n reloadDoomLine = ->\n if $scope.stats?\n removeDoomlineDom()\n\n stats = $scope.stats\n\n total_points = stats.total_points\n current_sum = stats.assigned_points\n\n return if not $scope.visibleUserstories\n\n for us, i in $scope.visibleUserstories\n current_sum += us.total_points\n\n if current_sum > total_points\n domElement = $el.find('.backlog-table-body .us-item-row')[i]\n addDoomLineDom(domElement)\n\n break\n\n removeDoomlineDom = ->\n $el.find(\".doom-line\").remove()\n\n addDoomLineDom = (element) ->\n text = $translate.instant(\"BACKLOG.DOOMLINE\")\n $(element).before(doomLineTemplate({\"text\": text}))\n\n getUsItems = ->\n rowElements = $el.find('.backlog-table-body .us-item-row')\n return _.map(rowElements, (x) -> angular.element(x))\n\n $scope.$on(\"userstories:loaded\", reloadDoomLine)\n $scope.$watch \"stats\", reloadDoomLine\n\n ## Move to current sprint link\n\n linkToolbar = ($scope, $el, $attrs, $ctrl) ->\n moveToCurrentSprint = (selectedUss) ->\n ussCurrent = _($scope.userstories)\n\n # Remove them from backlog\n $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value()\n\n extraPoints = _.map(selectedUss, (v, k) -> v.total_points)\n totalExtraPoints = _.reduce(extraPoints, (acc, num) -> acc + num)\n\n # Add them to current sprint\n $scope.sprints[0].user_stories = _.union($scope.sprints[0].user_stories, selectedUss)\n\n # Update the total of points\n $scope.sprints[0].total_points += totalExtraPoints\n\n $ctrl.filterVisibleUserstories()\n $repo.saveAll(selectedUss).then ->\n $ctrl.loadSprints()\n $ctrl.loadProjectStats()\n\n\n shiftPressed = false\n lastChecked = null\n\n checkSelected = (target) ->\n lastChecked = target.closest(\".us-item-row\")\n moveToCurrentSprintDom = $el.find(\"#move-to-current-sprint\")\n selectedUsDom = $el.find(\".backlog-table-body .user-stories input:checkbox:checked\")\n\n if selectedUsDom.length > 0 and $scope.sprints.length > 0\n moveToCurrentSprintDom.show()\n else\n moveToCurrentSprintDom.hide()\n\n target.closest('.us-item-row').toggleClass('ui-multisortable-multiple')\n\n $(window).on \"keydown.shift-pressed keyup.shift-pressed\", (event) ->\n shiftPressed = !!event.shiftKey\n\n return true\n\n # Enable move to current sprint only when there are selected us's\n $el.on \"change\", \".backlog-table-body .user-stories input:checkbox\", (event) ->\n # check elements between the last two if shift is pressed\n if lastChecked && shiftPressed\n elements = []\n current = $(event.currentTarget).closest(\".us-item-row\")\n nextAll = lastChecked.nextAll()\n prevAll = lastChecked.prevAll()\n\n if _.some(nextAll, (next) -> next == current[0])\n elements = lastChecked.nextUntil(current)\n else if _.some(prevAll, (prev) -> prev == current[0])\n elements = lastChecked.prevUntil(current)\n\n _.map elements, (elm) ->\n input = $(elm).find(\"input:checkbox\")\n input.prop('checked', true);\n checkSelected(input)\n\n target = angular.element(event.currentTarget)\n checkSelected(target)\n\n $el.on \"click\", \"#move-to-current-sprint\", (event) =>\n # Calculating the us's to be modified\n ussDom = $el.find(\".backlog-table-body .user-stories input:checkbox:checked\")\n\n ussToMove = _.map ussDom, (item) ->\n item = $(item).closest('.tg-scope')\n itemScope = item.scope()\n itemScope.us.milestone = $scope.sprints[0].id\n return itemScope.us\n\n $scope.$apply(_.partial(moveToCurrentSprint, ussToMove))\n\n $el.on \"click\", \"#show-tags\", (event) ->\n event.preventDefault()\n\n $ctrl.toggleShowTags()\n\n showHideTags($ctrl)\n\n showHideTags = ($ctrl) ->\n elm = angular.element(\"#show-tags\")\n\n if $ctrl.showTags\n elm.addClass(\"active\")\n\n text = $translate.instant(\"BACKLOG.TAGS.HIDE\")\n elm.find(\".text\").text(text)\n else\n elm.removeClass(\"active\")\n\n text = $translate.instant(\"BACKLOG.TAGS.SHOW\")\n elm.find(\".text\").text(text)\n\n showHideFilter = ($scope, $el, $ctrl) ->\n sidebar = $el.find(\"sidebar.filters-bar\")\n sidebar.one \"transitionend\", () ->\n timeout 150, ->\n $rootscope.$broadcast(\"resize\")\n $('.burndown').css(\"visibility\", \"visible\")\n\n target = angular.element(\"#show-filters-button\")\n $('.burndown').css(\"visibility\", \"hidden\")\n sidebar.toggleClass(\"active\")\n target.toggleClass(\"active\")\n\n hideText = $translate.instant(\"BACKLOG.FILTERS.HIDE\")\n showText = $translate.instant(\"BACKLOG.FILTERS.SHOW\")\n\n toggleText(target.find(\".text\"), [hideText, showText])\n\n if !sidebar.hasClass(\"active\")\n $ctrl.resetFilters()\n\n $ctrl.toggleActiveFilters()\n\n ## Filters Link\n\n linkFilters = ($scope, $el, $attrs, $ctrl) ->\n $scope.filtersSearch = {}\n $el.on \"click\", \"#show-filters-button\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n showHideFilter($scope, $el, $ctrl)\n\n link = ($scope, $el, $attrs, $rootscope) ->\n $ctrl = $el.controller()\n\n linkToolbar($scope, $el, $attrs, $ctrl)\n linkFilters($scope, $el, $attrs, $ctrl)\n linkDoomLine($scope, $el, $attrs, $ctrl)\n\n $el.find(\".backlog-table-body\").disableSelection()\n\n filters = $ctrl.getUrlFilters()\n\n if filters.statuses ||\n filters.tags ||\n filters.q\n showHideFilter($scope, $el, $ctrl)\n\n $scope.$on \"showTags\", () ->\n showHideTags($ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n $(window).off(\".shift-pressed\")\n\n return {link: link}\n\n\nmodule.directive(\"tgBacklog\", [\"$tgRepo\", \"$rootScope\", \"$translate\", BacklogDirective])\n\n#############################################################################\n## User story points directive\n#############################################################################\n\nUsRolePointsSelectorDirective = ($rootscope, $template, $compile, $translate) ->\n selectionTemplate = $template.get(\"backlog/us-role-points-popover.html\", true)\n\n link = ($scope, $el, $attrs) ->\n # Watchers\n bindOnce $scope, \"project\", (project) ->\n roles = _.filter(project.roles, \"computable\")\n numberOfRoles = _.size(roles)\n\n if numberOfRoles > 1\n $el.append($compile(selectionTemplate({\"roles\": roles}))($scope))\n else\n $el.find(\".icon-arrow-bottom\").remove()\n $el.find(\".header-points\").addClass(\"not-clickable\")\n\n $scope.$on \"uspoints:select\", (ctx, roleId, roleName) ->\n $el.find(\".popover\").popover().close()\n $el.find(\".header-points\").html(\"#{roleName}/Total\")\n\n $scope.$on \"uspoints:clear-selection\", (ctx, roleId) ->\n $el.find(\".popover\").popover().close()\n\n text = $translate.instant(\"COMMON.FIELDS.POINTS\")\n $el.find(\".header-points\").text(text)\n\n # Dom Event Handlers\n $el.on \"click\", (event) ->\n target = angular.element(event.target)\n\n if target.is(\"span\") or target.is(\"div\")\n event.stopPropagation()\n\n $el.find(\".popover\").popover().open()\n\n $el.on \"click\", \".clear-selection\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $rootscope.$broadcast(\"uspoints:clear-selection\")\n\n $el.on \"click\", \".role\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n rolScope = target.scope()\n $rootscope.$broadcast(\"uspoints:select\", target.data(\"role-id\"), target.text())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgUsRolePointsSelector\", [\"$rootScope\", \"$tgTemplate\", \"$compile\", UsRolePointsSelectorDirective])\n\n\nUsPointsDirective = ($tgEstimationsService, $repo, $tgTemplate) ->\n rolesTemplate = $tgTemplate.get(\"common/estimation/us-points-roles-popover.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n updatingSelectedRoleId = null\n selectedRoleId = null\n filteringRoleId = null\n estimationProcess = null\n\n $scope.$on \"uspoints:select\", (ctx, roleId, roleName) ->\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n selectedRoleId = roleId\n estimationProcess.render()\n\n $scope.$on \"uspoints:clear-selection\", (ctx) ->\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n selectedRoleId = null\n estimationProcess.render()\n\n $scope.$watch $attrs.tgBacklogUsPoints, (us) ->\n if us\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project)\n\n # Update roles\n roles = estimationProcess.calculateRoles()\n if roles.length == 0\n $el.find(\".icon-arrow-bottom\").remove()\n $el.find(\"a.us-points\").addClass(\"not-clickable\")\n\n else if roles.length == 1\n # Preselect the role if we have only one\n selectedRoleId = _.keys(us.points)[0]\n\n if estimationProcess.isEditable\n bindClickElements()\n\n estimationProcess.onSelectedPointForRole = (roleId, pointId) ->\n @save(roleId, pointId).then ->\n $ctrl.loadProjectStats()\n\n estimationProcess.render = () ->\n totalPoints = @calculateTotalPoints()\n if not selectedRoleId? or roles.length == 1\n text = totalPoints\n title = totalPoints\n else\n pointId = @us.points[selectedRoleId]\n pointObj = @pointsById[pointId]\n text = \"#{pointObj.name} / #{totalPoints}\"\n title = \"#{pointObj.name} / #{totalPoints}\"\n\n ctx = {\n totalPoints: totalPoints\n roles: @calculateRoles()\n editable: @isEditable\n text: text\n title: title\n }\n mainTemplate = \"common/estimation/us-estimation-total.html\"\n template = $tgTemplate.get(mainTemplate, true)\n html = template(ctx)\n @$el.html(html)\n\n estimationProcess.render()\n\n renderRolesSelector = () ->\n roles = estimationProcess.calculateRoles()\n html = rolesTemplate({\"roles\": roles})\n # Render into DOM and show the new created element\n $el.append(html)\n $el.find(\".pop-role\").popover().open(() -> $(this).remove())\n\n bindClickElements = () ->\n $el.on \"click\", \"a.us-points span\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n updatingSelectedRoleId = selectedRoleId\n if selectedRoleId?\n estimationProcess.renderPointsSelector(selectedRoleId)\n else\n renderRolesSelector()\n\n $el.on \"click\", \".role\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n us = $scope.$eval($attrs.tgBacklogUsPoints)\n updatingSelectedRoleId = target.data(\"role-id\")\n popRolesDom = $el.find(\".pop-role\")\n popRolesDom.find(\"a\").removeClass(\"active\")\n popRolesDom.find(\"a[data-role-id='#{updatingSelectedRoleId}']\").addClass(\"active\")\n estimationProcess.renderPointsSelector(updatingSelectedRoleId)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogUsPoints\", [\"$tgEstimationsService\", \"$tgRepo\", \"$tgTemplate\", UsPointsDirective])\n\n\n#############################################################################\n## Burndown graph directive\n#############################################################################\n\nBurndownBacklogGraphDirective = ($translate) ->\n redrawChart = (element, dataToDraw) ->\n width = element.width()\n element.height(width/6)\n milestonesRange = [0..(dataToDraw.milestones.length - 1)]\n data = []\n zero_line = _.map(dataToDraw.milestones, (ml) -> 0)\n data.push({\n data: _.zip(milestonesRange, zero_line)\n lines:\n fillColor : \"rgba(0,0,0,0)\"\n points:\n show: false\n })\n optimal_line = _.map(dataToDraw.milestones, (ml) -> ml.optimal)\n data.push({\n data: _.zip(milestonesRange, optimal_line)\n lines:\n fillColor : \"rgba(120,120,120,0.2)\"\n })\n evolution_line = _.filter(_.map(dataToDraw.milestones, (ml) -> ml.evolution), (evolution) -> evolution?)\n data.push({\n data: _.zip(milestonesRange, evolution_line)\n lines:\n fillColor : \"rgba(102,153,51,0.3)\"\n })\n team_increment_line = _.map(dataToDraw.milestones, (ml) -> -ml[\"team-increment\"])\n data.push({\n data: _.zip(milestonesRange, team_increment_line)\n lines:\n fillColor : \"rgba(153,51,51,0.3)\"\n })\n client_increment_line = _.map dataToDraw.milestones, (ml) ->\n -ml[\"team-increment\"] - ml[\"client-increment\"]\n data.push({\n data: _.zip(milestonesRange, client_increment_line)\n lines:\n fillColor : \"rgba(255,51,51,0.3)\"\n })\n\n colors = [\n \"rgba(0,0,0,1)\"\n \"rgba(120,120,120,0.2)\"\n \"rgba(102,153,51,1)\"\n \"rgba(153,51,51,1)\"\n \"rgba(255,51,51,1)\"\n ]\n\n options = {\n grid: {\n borderWidth: { top: 0, right: 1, left:0, bottom: 0 }\n borderColor: \"#ccc\"\n hoverable: true\n }\n xaxis: {\n ticks: dataToDraw.milestones.length\n axisLabel: $translate.instant(\"BACKLOG.CHART.XAXIS_LABEL\"),\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\"\n axisLabelPadding: 5\n tickFormatter: (val, axis) -> \"\"\n }\n yaxis: {\n axisLabel: $translate.instant(\"BACKLOG.CHART.YAXIS_LABEL\"),\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: \"Verdana, Arial, Helvetica, Tahoma, sans-serif\"\n axisLabelPadding: 5\n }\n series: {\n shadowSize: 0\n lines: {\n show: true\n fill: true\n }\n points: {\n show: true\n fill: true\n radius: 4\n lineWidth: 2\n }\n }\n colors: colors\n tooltip: true\n tooltipOpts: {\n content: (label, xval, yval, flotItem) ->\n if flotItem.seriesIndex == 1\n ctx = {xval: xval, yval: yval}\n return $translate.instant(\"BACKLOG.CHART.OPTIMAL\", ctx)\n else if flotItem.seriesIndex == 2\n ctx = {xval: xval, yval: yval}\n return $translate.instant(\"BACKLOG.CHART.REAL\", ctx)\n else if flotItem.seriesIndex == 3\n ctx = {xval: xval, yval: Math.abs(yval)}\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_TEAM\", ctx)\n else\n ctx = {xval: xval, yval: Math.abs(yval)}\n return $translate.instant(\"BACKLOG.CHART.INCREMENT_CLIENT\", ctx)\n }\n }\n\n element.empty()\n element.plot(data, options).data(\"plot\")\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch \"stats\", (value) ->\n if $scope.stats?\n redrawChart(element, $scope.stats)\n\n $scope.$on \"resize\", ->\n redrawChart(element, $scope.stats)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBurndownBacklogGraph\", [\"$translate\", BurndownBacklogGraphDirective])\n\n\n#############################################################################\n## Backlog progress bar directive\n#############################################################################\n\nTgBacklogProgressBarDirective = ($template) ->\n template = $template.get(\"backlog/progress-bar.html\", true)\n\n render = (el, projectPointsPercentaje, closedPointsPercentaje) ->\n el.html(template({\n projectPointsPercentaje: projectPointsPercentaje,\n closedPointsPercentaje:closedPointsPercentaje\n }))\n\n adjustPercentaje = (percentage) ->\n adjusted = _.max([0 , percentage])\n adjusted = _.min([100, adjusted])\n return Math.round(adjusted)\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$watch $attrs.tgBacklogProgressBar, (stats) ->\n if stats?\n totalPoints = stats.total_points\n definedPoints = stats.defined_points\n closedPoints = stats.closed_points\n if definedPoints > totalPoints\n projectPointsPercentaje = totalPoints * 100 / definedPoints\n closedPointsPercentaje = closedPoints * 100 / definedPoints\n else\n projectPointsPercentaje = 100\n closedPointsPercentaje = closedPoints * 100 / totalPoints\n\n projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje - 3)\n closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje - 3)\n render($el, projectPointsPercentaje, closedPointsPercentaje)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogProgressBar\", [\"$tgTemplate\", TgBacklogProgressBarDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\ndeleteElement = (el) ->\n el.scope().$destroy()\n el.off()\n el.remove()\n\nBacklogSortableDirective = ($repo, $rs, $rootscope, $tgConfirm, $translate) ->\n # Notes about jquery bug:\n # http://stackoverflow.com/questions/5791886/jquery-draggable-shows-\n # helper-in-wrong-place-when-scrolled-down-page\n\n link = ($scope, $el, $attrs) ->\n getUsIndex = (us) =>\n return $(us).index(\".backlog-table-body .row\")\n\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n filterError = ->\n text = $translate.instant(\"BACKLOG.SORTABLE_FILTER_ERROR\")\n $tgConfirm.notify(\"error\", text)\n\n $el.sortable({\n items: \".us-item-row\",\n cancel: \".popover\"\n connectWith: \".sprint\"\n dropOnEmpty: true\n placeholder: \"row us-item-row us-item-drag sortable-placeholder\"\n scroll: true\n disableHorizontalScroll: true\n # A consequence of length of backlog user story item\n # the default tolerance (\"intersection\") not works properly.\n tolerance: \"pointer\"\n # Revert on backlog is disabled bacause it works bad. Something\n # on the current taiga backlog structure or style makes jquery ui\n # works unexpectly (in some circumstances calculates wrong\n # position for revert).\n revert: false\n start: () ->\n $(document.body).addClass(\"drag-active\")\n stop: () ->\n $(document.body).removeClass(\"drag-active\")\n\n if $el.hasClass(\"active-filters\")\n $el.sortable(\"cancel\")\n filterError()\n })\n\n $el.on \"multiplesortreceive\", (event, ui) ->\n if $el.hasClass(\"active-filters\")\n ui.source.sortable(\"cancel\")\n filterError()\n\n return\n\n itemUs = ui.item.scope().us\n itemIndex = getUsIndex(ui.item)\n\n deleteElement(ui.item)\n\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, null)\n ui.item.find('a').removeClass('noclick')\n\n $el.on \"multiplesortstop\", (event, ui) ->\n # When parent not exists, do nothing\n if $(ui.items[0]).parent().length == 0\n return\n\n if $el.hasClass(\"active-filters\")\n return\n\n items = _.sortBy ui.items, (item) ->\n return $(item).index()\n\n index = _.min _.map items, (item) ->\n return getUsIndex(item)\n\n us = _.map items, (item) ->\n item = $(item)\n itemUs = item.scope().us\n\n # HACK: setTimeout prevents that firefox click\n # event fires just after drag ends\n setTimeout ( =>\n item.find('a').removeClass('noclick')\n ), 300\n\n return itemUs\n\n $scope.$emit(\"sprint:us:move\", us, index, null)\n\n $el.on \"sortstart\", (event, ui) ->\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nBacklogEmptySortableDirective = ($repo, $rs, $rootscope) ->\n # Notes about jquery bug:\n # http://stackoverflow.com/questions/5791886/jquery-draggable-shows-\n # helper-in-wrong-place-when-scrolled-down-page\n\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if project.my_permissions.indexOf(\"modify_us\") > -1\n $el.sortable({\n dropOnEmpty: true\n })\n\n $el.on \"sortreceive\", (event, ui) ->\n itemUs = ui.item.scope().us\n itemIndex = ui.item.index()\n\n deleteElement(ui.item)\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, null)\n\n ui.item.find('a').removeClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nSprintSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if project.my_permissions.indexOf(\"modify_us\") > -1\n $el.sortable({\n scroll: true\n dropOnEmpty: true\n items: \".sprint-table .milestone-us-item-row\"\n disableHorizontalScroll: true\n connectWith: \".sprint,.backlog-table-body,.empty-backlog\"\n placeholder: \"row us-item-row sortable-placeholder\"\n forcePlaceholderSize:true\n })\n\n $el.on \"multiplesortreceive\", (event, ui) ->\n items = _.sortBy ui.items, (item) ->\n return $(item).index()\n\n index = _.min _.map items, (item) ->\n return $(item).index()\n\n us = _.map items, (item) ->\n item = $(item)\n itemUs = item.scope().us\n\n deleteElement(item)\n\n return itemUs\n\n $scope.$emit(\"sprint:us:move\", us, index, $scope.sprint.id)\n\n $el.on \"multiplesortstop\", (event, ui) ->\n # When parent not exists, do nothing\n if ui.item.parent().length == 0\n return\n\n itemUs = ui.item.scope().us\n itemIndex = ui.item.index()\n\n # HACK: setTimeout prevents that firefox click\n # event fires just after drag ends\n setTimeout ( =>\n ui.item.find('a').removeClass('noclick')\n ), 300\n\n $scope.$emit(\"sprint:us:move\", [itemUs], itemIndex, $scope.sprint.id)\n\n $el.on \"sortstart\", (event, ui) ->\n ui.item.find('a').addClass('noclick')\n\n return {link:link}\n\n\nmodule.directive(\"tgBacklogSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgConfirm\",\n \"$translate\",\n BacklogSortableDirective\n])\n\nmodule.directive(\"tgBacklogEmptySortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n BacklogEmptySortableDirective\n])\n\nmodule.directive(\"tgSprintSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n SprintSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/backlog/sprints.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sprint Actions Directive\n#############################################################################\n\nBacklogSprintDirective = ($repo, $rootscope) ->\n sprintTableMinHeight = 50\n slideOptions = {\n duration: 500,\n easing: 'linear'\n }\n\n refreshSprintTableHeight = (sprintTable) =>\n if !sprintTable.find(\".row\").length\n sprintTable.css(\"height\", sprintTableMinHeight)\n else\n sprintTable.css(\"height\", \"auto\")\n\n toggleSprint = ($el) =>\n sprintTable = $el.find(\".sprint-table\")\n sprintArrow = $el.find(\".icon-arrow-up\")\n\n sprintArrow.toggleClass('active')\n sprintTable.toggleClass('open')\n\n refreshSprintTableHeight(sprintTable)\n\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgBacklogSprint, (sprint) ->\n sprint = $scope.$eval($attrs.tgBacklogSprint)\n\n if sprint.closed\n $el.addClass(\"sprint-closed\")\n else\n toggleSprint($el)\n\n # Event Handlers\n $el.on \"click\", \".sprint-name > .icon-arrow-up\", (event) ->\n event.preventDefault()\n\n toggleSprint($el)\n\n $el.find(\".sprint-table\").slideToggle(slideOptions)\n\n $el.on \"click\", \".sprint-name > .icon-edit\", (event) ->\n event.preventDefault()\n\n sprint = $scope.$eval($attrs.tgBacklogSprint)\n $rootscope.$broadcast(\"sprintform:edit\", sprint)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgBacklogSprint\", [\"$tgRepo\", \"$rootScope\", BacklogSprintDirective])\n\n\n#############################################################################\n## Sprint Header Directive\n#############################################################################\n\nBacklogSprintHeaderDirective = ($navUrls, $template, $compile, $translate) ->\n template = $template.get(\"backlog/sprint-header.html\")\n\n link = ($scope, $el, $attrs, $model) ->\n prettyDate = $translate.instant(\"BACKLOG.SPRINTS.DATE\")\n\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_milestone\") != -1\n\n isVisible = ->\n return $scope.project.my_permissions.indexOf(\"view_milestones\") != -1\n\n render = (sprint) ->\n taskboardUrl = $navUrls.resolve(\"project-taskboard\",\n {project: $scope.project.slug, sprint: sprint.slug})\n\n start = moment(sprint.estimated_start).format(prettyDate)\n finish = moment(sprint.estimated_finish).format(prettyDate)\n estimatedDateRange = \"#{start}-#{finish}\"\n\n ctx = {\n name: sprint.name\n taskboardUrl: taskboardUrl\n estimatedDateRange: estimatedDateRange\n closedPoints: sprint.closed_points or 0\n totalPoints: sprint.total_points or 0\n isVisible: isVisible()\n isEditable: isEditable()\n }\n\n templateScope = $scope.$new()\n\n _.assign(templateScope, ctx)\n\n compiledTemplate = $compile(template)(templateScope)\n $el.html(compiledTemplate)\n\n $scope.$watch $attrs.ngModel, (sprint) ->\n render(sprint)\n\n $scope.$on \"sprintform:edit:success\", ->\n render($model.$modelValue)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgBacklogSprintHeader\", [\"$tgNavUrls\", \"$tgTemplate\", \"$compile\", \"$translate\"\n BacklogSprintHeaderDirective])\n\n\n#############################################################################\n## Toggle Closed Sprints Directive\n#############################################################################\n\nToggleExcludeClosedSprintsVisualization = ($rootscope, $loading, $translate) ->\n excludeClosedSprints = true\n\n link = ($scope, $el, $attrs) ->\n # insert loading wrapper\n loadingElm = $(\"
\")\n $el.after(loadingElm)\n\n currentLoading = null\n\n # Event Handlers\n $el.on \"click\", (event) ->\n event.preventDefault()\n excludeClosedSprints = not excludeClosedSprints\n\n currentLoading = $loading()\n .target(loadingElm)\n .start()\n\n if excludeClosedSprints\n $rootscope.$broadcast(\"backlog:unload-closed-sprints\")\n else\n $rootscope.$broadcast(\"backlog:load-closed-sprints\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $scope.$on \"closed-sprints:reloaded\", (ctx, sprints) =>\n currentLoading.finish()\n\n if sprints.length > 0\n key = \"BACKLOG.SPRINTS.ACTION_HIDE_CLOSED_SPRINTS\"\n else\n key = \"BACKLOG.SPRINTS.ACTION_SHOW_CLOSED_SPRINTS\"\n\n text = $translate.instant(key)\n\n $el.find(\".text\").text(text)\n\n return {link: link}\n\nmodule.directive(\"tgBacklogToggleClosedSprintsVisualization\", [\"$rootScope\", \"$tgLoading\", \"$translate\",\n ToggleExcludeClosedSprintsVisualization])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/charts.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaTaskboard\")\n\n#############################################################################\n## Sprint burndown graph directive\n#############################################################################\n\nSprintGraphDirective = ($translate)->\n redrawChart = (element, dataToDraw) ->\n width = element.width()\n element.height(240)\n\n days = _.map(dataToDraw, (x) -> moment(x.day))\n\n data = []\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, (d) -> d.optimal_points))\n lines:\n fillColor : \"rgba(120,120,120,0.2)\"\n })\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, (d) -> d.open_points))\n lines:\n fillColor : \"rgba(102,153,51,0.3)\"\n })\n\n options =\n grid:\n borderWidth: { top: 0, right: 1, left:0, bottom: 0 }\n borderColor: '#ccc'\n hoverable: true\n xaxis:\n tickSize: [1, \"day\"]\n min: days[0]\n max: _.last(days)\n mode: \"time\"\n daysNames: days\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.XAXIS_LABEL\")\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif'\n axisLabelPadding: 5\n yaxis:\n min: 0\n axisLabel: $translate.instant(\"TASKBOARD.CHARTS.YAXIS_LABEL\")\n axisLabelUseCanvas: true\n axisLabelFontSizePixels: 12\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif'\n axisLabelPadding: 5\n series:\n shadowSize: 0\n lines:\n show: true\n fill: true\n points:\n show: true\n fill: true\n radius: 4\n lineWidth: 2\n colors: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"]\n tooltip: true\n tooltipOpts:\n content: (label, xval, yval, flotItem) ->\n formattedDate = moment(xval).format($translate.instant(\"TASKBOARD.CHARTS.DATE\"))\n roundedValue = Math.round(yval)\n\n if flotItem.seriesIndex == 1\n return $translate.instant(\"TASKBOARD.CHARTS.OPTIMAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n })\n\n else\n return $translate.instant(\"TASKBOARD.CHARTS.REAL\", {\n formattedDate: formattedDate,\n roundedValue: roundedValue\n })\n\n element.empty()\n element.plot(data, options).data(\"plot\")\n\n link = ($scope, $el, $attrs) ->\n element = angular.element($el)\n\n $scope.$on \"resize\", ->\n redrawChart(element, $scope.stats.days) if $scope.stats\n\n $scope.$on \"taskboard:graph:toggle-visibility\", ->\n $el.parent().toggleClass('open')\n\n # fix chart overflow\n timeout(100, ->\n redrawChart(element, $scope.stats.days) if $scope.stats\n )\n\n $scope.$watch 'stats', (value) ->\n if not $scope.stats?\n return\n redrawChart(element, $scope.stats.days)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgSprintGraph\", [\"$translate\", SprintGraphDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nCreateEditTaskDirective = ($repo, $model, $rs, $rootscope, $loading, lightboxService, $translate) ->\n link = ($scope, $el, attrs) ->\n $scope.isNew = true\n\n $scope.$on \"taskform:new\", (ctx, sprintId, usId) ->\n $scope.task = {\n project: $scope.projectId\n milestone: sprintId\n user_story: usId\n is_archived: false\n status: $scope.project.default_task_status\n assigned_to: null\n tags: []\n }\n $scope.isNew = true\n\n # Update texts for creation\n create = $translate.instant(\"COMMON.CREATE\")\n $el.find(\".button-green\").html(create)\n\n newTask = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.TITLE\")\n $el.find(\".title\").html(newTask + \" \")\n\n $el.find(\".tag-input\").val(\"\")\n lightboxService.open($el)\n\n $scope.$on \"taskform:edit\", (ctx, task) ->\n $scope.task = task\n $scope.isNew = false\n\n # Update texts for edition\n save = $translate.instant(\"COMMON.SAVE\")\n edit = $translate.instant(\"LIGHTBOX.CREATE_EDIT_TASK.ACTION_EDIT\")\n\n $el.find(\".button-green\").html(save)\n $el.find(\".title\").html(edit + \" \")\n\n $el.find(\".tag-input\").val(\"\")\n lightboxService.open($el)\n\n\n submitButton = $el.find(\".submit-button\")\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n if $scope.isNew\n promise = $repo.create(\"tasks\", $scope.task)\n broadcastEvent = \"taskform:new:success\"\n else\n promise = $repo.save($scope.task)\n broadcastEvent = \"taskform:edit:success\"\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n # FIXME: error handling?\n promise.then (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $rootscope.$broadcast(broadcastEvent, data)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nCreateBulkTasksDirective = ($repo, $rs, $rootscope, $loading, lightboxService) ->\n link = ($scope, $el, attrs) ->\n $scope.form = {data: \"\", usId: null}\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n data = $scope.form.data\n projectId = $scope.projectId\n sprintId = $scope.form.sprintId\n usId = $scope.form.usId\n\n promise = $rs.tasks.bulkCreate(projectId, sprintId, usId, data)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"taskform:bulk:success\", result)\n lightboxService.close($el)\n\n # TODO: error handling\n promise.then null, ->\n currentLoading.finish()\n console.log \"FAIL\"\n\n $scope.$on \"taskform:bulk\", (ctx, sprintId, usId)->\n lightboxService.open($el)\n $scope.form = {data: \"\", sprintId: sprintId, usId: usId}\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule = angular.module(\"taigaTaskboard\")\n\nmodule.directive(\"tgLbCreateEditTask\", [\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgLoading\",\n \"lightboxService\",\n \"$translate\"\n CreateEditTaskDirective\n])\n\nmodule.directive(\"tgLbCreateBulkTasks\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n \"$tgLoading\",\n \"lightboxService\",\n CreateBulkTasksDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard.coffee\n###\n\ntaiga = @.taiga\ntoggleText = @.taiga.toggleText\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nscopeDefer = @.taiga.scopeDefer\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaTaskboard\")\n\n\n#############################################################################\n## Taskboard Controller\n#############################################################################\n\nclass TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"tgAppMetaService\",\n \"$tgLocation\",\n \"$tgNavUrls\"\n \"$tgEvents\"\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @appMetaService, @location, @navUrls,\n @events, @analytics, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"TASKBOARD.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then => @._setMeta()\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n prettyDate = @translate.instant(\"BACKLOG.SPRINTS.DATE\")\n\n title = @translate.instant(\"TASKBOARD.PAGE_TITLE\", {\n projectName: @scope.project.name\n sprintName: @scope.sprint.name\n })\n description = @translate.instant(\"TASKBOARD.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name\n sprintName: @scope.sprint.name\n startDate: moment(@scope.sprint.estimated_start).format(prettyDate)\n endDate: moment(@scope.sprint.estimated_finish).format(prettyDate)\n completedPercentage: @scope.stats.completedPercentage or \"0\"\n completedPoints: @scope.stats.completedPointsSum or \"--\"\n totalPoints: @scope.stats.totalPointsSum or \"--\"\n openTasks: @scope.stats.openTasks or \"--\"\n totalTasks: @scope.stats.total_tasks or \"--\"\n })\n\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n # TODO: Reload entire taskboard after create/edit tasks seems\n # a big overhead. It should be optimized in near future.\n @scope.$on \"taskform:bulk:success\", =>\n @.loadTaskboard()\n @analytics.trackEvent(\"task\", \"create\", \"bulk create task on taskboard\", 1)\n\n @scope.$on \"taskform:new:success\", =>\n @.loadTaskboard()\n @analytics.trackEvent(\"task\", \"create\", \"create task on taskboard\", 1)\n\n @scope.$on(\"taskform:edit:success\", => @.loadTaskboard())\n @scope.$on(\"taskboard:task:move\", @.taskMove)\n\n @scope.$on \"assigned-to:added\", (ctx, userId, task) =>\n task.assigned_to = userId\n promise = @repo.save(task)\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n initializeSubscription: ->\n routingKey = \"changes.project.#{@scope.projectId}.tasks\"\n @events.subscribe @scope, routingKey, (message) =>\n @.loadTaskboard()\n\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.refreshTagsColors()\n @.loadSprintStats()\n @.loadSprint()\n\n loadProject: ->\n return @rs.projects.get(@scope.projectId).then (project) =>\n if not project.is_backlog_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.project = project\n # Not used at this momment\n @scope.pointsList = _.sortBy(project.points, \"order\")\n # @scope.roleList = _.sortBy(project.roles, \"order\")\n @scope.pointsById = groupBy(project.points, (e) -> e.id)\n @scope.roleById = groupBy(project.roles, (e) -> e.id)\n @scope.taskStatusList = _.sortBy(project.task_statuses, \"order\")\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n @scope.usStatusById = groupBy(project.us_statuses, (e) -> e.id)\n\n @scope.$emit('project:loaded', project)\n\n @.fillUsersAndRoles(project.users, project.roles)\n\n return project\n\n loadSprintStats: ->\n return @rs.sprints.stats(@scope.projectId, @scope.sprintId).then (stats) =>\n totalPointsSum =_.reduce(_.values(stats.total_points), ((res, n) -> res + n), 0)\n completedPointsSum = _.reduce(_.values(stats.completed_points), ((res, n) -> res + n), 0)\n remainingPointsSum = totalPointsSum - completedPointsSum\n remainingTasks = stats.total_tasks - stats.completed_tasks\n @scope.stats = stats\n @scope.stats.totalPointsSum = totalPointsSum\n @scope.stats.completedPointsSum = completedPointsSum\n @scope.stats.remainingPointsSum = remainingPointsSum\n @scope.stats.remainingTasks = remainingTasks\n if stats.totalPointsSum\n @scope.stats.completedPercentage = Math.round(100*stats.completedPointsSum/stats.totalPointsSum)\n else\n @scope.stats.completedPercentage = 0\n\n @scope.stats.openTasks = stats.total_tasks - stats.completed_tasks\n return stats\n\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n loadSprint: ->\n return @rs.sprints.get(@scope.projectId, @scope.sprintId).then (sprint) =>\n @scope.sprint = sprint\n @scope.userstories = _.sortBy(sprint.user_stories, \"sprint_order\")\n return sprint\n\n loadTasks: ->\n return @rs.tasks.list(@scope.projectId, @scope.sprintId).then (tasks) =>\n @scope.tasks = _.sortBy(tasks, 'taskboard_order')\n @scope.usTasks = {}\n\n # Iterate over all userstories and\n # null userstory for unassigned tasks\n for us in _.union(@scope.userstories, [{id:null}])\n @scope.usTasks[us.id] = {}\n for status in @scope.taskStatusList\n @scope.usTasks[us.id][status.id] = []\n\n for task in @scope.tasks\n if @scope.usTasks[task.user_story]? and @scope.usTasks[task.user_story][task.status]?\n @scope.usTasks[task.user_story][task.status].push(task)\n\n return tasks\n\n loadTaskboard: ->\n return @q.all([\n @.refreshTagsColors(),\n @.loadSprintStats(),\n @.loadSprint().then(=> @.loadTasks())\n ])\n\n loadInitialData: ->\n params = {\n pslug: @params.pslug\n sslug: @params.sslug\n }\n\n promise = @repo.resolve(params).then (data) =>\n @scope.projectId = data.project\n @scope.sprintId = data.milestone\n @.initializeSubscription()\n return data\n\n return promise.then(=> @.loadProject())\n .then(=> @.loadTaskboard())\n\n refreshTasksOrder: (tasks) ->\n items = @.resortTasks(tasks)\n data = @.prepareBulkUpdateData(items)\n\n return @rs.tasks.bulkUpdateTaskTaskboardOrder(@scope.project.id, data)\n\n resortTasks: (tasks) ->\n items = []\n\n for item, index in tasks\n item[\"taskboard_order\"] = index\n if item.isModified()\n items.push(item)\n\n return items\n\n prepareBulkUpdateData: (uses) ->\n return _.map(uses, (x) -> {\"task_id\": x.id, \"order\": x[\"taskboard_order\"]})\n\n taskMove: (ctx, task, usId, statusId, order) ->\n # Remove task from old position\n r = @scope.usTasks[task.user_story][task.status].indexOf(task)\n @scope.usTasks[task.user_story][task.status].splice(r, 1)\n\n # Add task to new position\n tasks = @scope.usTasks[usId][statusId]\n tasks.splice(order, 0, task)\n\n task.user_story = usId\n task.status = statusId\n task.taskboard_order = order\n\n promise = @repo.save(task)\n\n @rootscope.$broadcast(\"sprint:task:moved\", task)\n\n promise.then =>\n @.refreshTasksOrder(tasks)\n @.loadSprintStats()\n\n promise.then null, =>\n console.log \"FAIL TASK SAVE\"\n\n ## Template actions\n addNewTask: (type, us) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"taskform:new\", @scope.sprintId, us?.id)\n when \"bulk\" then @rootscope.$broadcast(\"taskform:bulk\", @scope.sprintId, us?.id)\n\n editTaskAssignedTo: (task) ->\n @rootscope.$broadcast(\"assigned-to:add\", task)\n\nmodule.controller(\"TaskboardController\", TaskboardController)\n\n\n#############################################################################\n## TaskboardDirective\n#############################################################################\n\nTaskboardDirective = ($rootscope) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $el.on \"click\", \".toggle-analytics-visibility\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.toggleClass('active')\n $rootscope.$broadcast(\"taskboard:graph:toggle-visibility\")\n\n tableBodyDom = $el.find(\".taskboard-table-body\")\n tableBodyDom.on \"scroll\", (event) ->\n target = angular.element(event.currentTarget)\n tableHeaderDom = $el.find(\".taskboard-table-header .taskboard-table-inner\")\n tableHeaderDom.css(\"left\", -1 * target.scrollLeft())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgTaskboard\", [\"$rootScope\", TaskboardDirective])\n\n\n#############################################################################\n## Taskboard Task Directive\n#############################################################################\n\nTaskboardTaskDirective = ($rootscope, $loading, $rs) ->\n link = ($scope, $el, $attrs, $model) ->\n $el.disableSelection()\n\n $scope.$watch \"task\", (task) ->\n if task.is_blocked and not $el.hasClass(\"blocked\")\n $el.addClass(\"blocked\")\n else if not task.is_blocked and $el.hasClass(\"blocked\")\n $el.removeClass(\"blocked\")\n\n $el.find(\".icon-edit\").on \"click\", (event) ->\n if $el.find('.icon-edit').hasClass('noclick')\n return\n $scope.$apply ->\n target = $(event.target)\n\n currentLoading = $loading()\n .target(target)\n .timeout(200)\n .removeClasses(\"icon-edit\")\n .start()\n\n task = $scope.task\n $rs.tasks.getByRef(task.project, task.ref).then (editingTask) =>\n $rootscope.$broadcast(\"taskform:edit\", editingTask)\n currentLoading.finish()\n\n return {link:link}\n\n\nmodule.directive(\"tgTaskboardTask\", [\"$rootScope\", \"$tgLoading\", \"$tgResources\", TaskboardTaskDirective])\n\n#############################################################################\n## Taskboard Squish Column Directive\n#############################################################################\n\nTaskboardSquishColumnDirective = (rs) ->\n avatarWidth = 40\n maxColumnWidth = 300\n\n link = ($scope, $el, $attrs) ->\n $scope.$on \"sprint:task:moved\", () =>\n recalculateTaskboardWidth()\n\n bindOnce $scope, \"usTasks\", (project) ->\n $scope.statusesFolded = rs.tasks.getStatusColumnModes($scope.project.id)\n $scope.usFolded = rs.tasks.getUsRowModes($scope.project.id, $scope.sprintId)\n\n recalculateTaskboardWidth()\n\n $scope.foldStatus = (status) ->\n $scope.statusesFolded[status.id] = !!!$scope.statusesFolded[status.id]\n rs.tasks.storeStatusColumnModes($scope.projectId, $scope.statusesFolded)\n\n recalculateTaskboardWidth()\n\n $scope.foldUs = (us) ->\n if !us\n $scope.usFolded[null] = !!!$scope.usFolded[null]\n else\n $scope.usFolded[us.id] = !!!$scope.usFolded[us.id]\n\n rs.tasks.storeUsRowModes($scope.projectId, $scope.sprintId, $scope.usFolded)\n\n recalculateTaskboardWidth()\n\n getCeilWidth = (usId, statusId) =>\n tasks = $scope.usTasks[usId][statusId].length\n\n if $scope.statusesFolded[statusId]\n if tasks and $scope.usFolded[usId]\n tasksMatrixSize = Math.round(Math.sqrt(tasks))\n width = avatarWidth * tasksMatrixSize\n else\n width = avatarWidth\n\n return width\n\n return 0\n\n setStatusColumnWidth = (statusId, width) =>\n column = $el.find(\".squish-status-#{statusId}\")\n\n if width\n column.css('max-width', width)\n else\n column.css(\"max-width\", maxColumnWidth)\n\n refreshTaskboardTableWidth = () =>\n columnWidths = []\n\n columns = $el.find(\".task-colum-name\")\n\n columnWidths = _.map columns, (column) ->\n return $(column).outerWidth(true)\n\n totalWidth = _.reduce columnWidths, (total, width) ->\n return total + width\n\n $el.find('.taskboard-table-inner').css(\"width\", totalWidth)\n\n recalculateStatusColumnWidth = (statusId) =>\n #unassigned ceil\n statusFoldedWidth = getCeilWidth(null, statusId)\n\n _.forEach $scope.userstories, (us) ->\n width = getCeilWidth(us.id, statusId)\n statusFoldedWidth = width if width > statusFoldedWidth\n\n setStatusColumnWidth(statusId, statusFoldedWidth)\n\n recalculateTaskboardWidth = () =>\n _.forEach $scope.taskStatusList, (status) ->\n recalculateStatusColumnWidth(status.id)\n\n refreshTaskboardTableWidth()\n\n return\n\n return {link: link}\n\nmodule.directive(\"tgTaskboardSquishColumn\", [\"$tgResources\", TaskboardSquishColumnDirective])\n\n#############################################################################\n## Taskboard User Directive\n#############################################################################\n\nTaskboardUserDirective = ($log) ->\n clickable = false\n\n link = ($scope, $el, $attrs) ->\n username_label = $el.parent().find(\"a.task-assigned\")\n username_label.addClass(\"not-clickable\")\n\n $scope.$watch 'task.assigned_to', (assigned_to) ->\n user = $scope.usersById[assigned_to]\n\n if user is undefined\n _.assign($scope, {name: \"Unassigned\", imgurl: \"/images/unnamed.png\", clickable: clickable})\n else\n _.assign($scope, {name: user.full_name_display, imgurl: user.photo, clickable: clickable})\n\n username_label.text($scope.name)\n\n\n bindOnce $scope, \"project\", (project) ->\n if project.my_permissions.indexOf(\"modify_task\") > -1\n clickable = true\n $el.find(\".avatar-assigned-to\").on \"click\", (event) =>\n if $el.find('a').hasClass('noclick')\n return\n\n $ctrl = $el.controller()\n $ctrl.editTaskAssignedTo($scope.task)\n\n username_label.removeClass(\"not-clickable\")\n username_label.on \"click\", (event) ->\n if $el.find('a').hasClass('noclick')\n return\n\n $ctrl = $el.controller()\n $ctrl.editTaskAssignedTo($scope.task)\n\n\n return {\n link: link,\n templateUrl: \"taskboard/taskboard-user.html\",\n scope: {\n \"usersById\": \"=users\",\n \"project\": \"=\",\n \"task\": \"=\",\n }\n }\n\n\nmodule.directive(\"tgTaskboardUserAvatar\", [\"$log\", TaskboardUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/taskboard/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaBacklog\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\nTaskboardSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions we don't enable the sortable\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el\n\n deleteElement = (itemEl) ->\n # Completelly remove item and its scope from dom\n itemEl.scope().$destroy()\n itemEl.off()\n itemEl.remove()\n\n tdom.sortable({\n handle: \".taskboard-task-inner\",\n dropOnEmpty: true\n connectWith: \".taskboard-tasks-box\"\n revert: 400\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n parentEl = ui.item.parent()\n itemEl = ui.item\n itemTask = itemEl.scope().task\n itemIndex = itemEl.index()\n newParentScope = parentEl.scope()\n\n oldUsId = if oldParentScope.us then oldParentScope.us.id else null\n oldStatusId = oldParentScope.st.id\n newUsId = if newParentScope.us then newParentScope.us.id else null\n newStatusId = newParentScope.st.id\n\n if newStatusId != oldStatusId or newUsId != oldUsId\n deleteElement(itemEl)\n\n $scope.$apply ->\n $rootscope.$broadcast(\"taskboard:task:move\", itemTask, newUsId, newStatusId, itemIndex)\n\n ui.item.find('a').removeClass('noclick')\n\n tdom.on \"sortstart\", (event, ui) ->\n oldParentScope = ui.item.parent().scope()\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgTaskboardSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n TaskboardSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaKanban\")\n\n# Vars\n\ndefaultViewMode = \"maximized\"\ndefaultViewModes = {\n maximized: {\n cardClass: \"kanban-task-maximized\"\n }\n minimized: {\n cardClass: \"kanban-task-minimized\"\n }\n}\n\n\n#############################################################################\n## Kanban Controller\n#############################################################################\n\nclass KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @appMetaService, @navUrls, @events, @analytics, @translate) ->\n\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"KANBAN.SECTION_NAME\")\n @scope.statusViewModes = {}\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"KANBAN.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"KANBAN.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n initializeEventHandlers: ->\n @scope.$on \"usform:new:success\", =>\n @.loadUserstories()\n @.refreshTagsColors()\n @analytics.trackEvent(\"userstory\", \"create\", \"create userstory on kanban\", 1)\n\n @scope.$on \"usform:bulk:success\", =>\n @.loadUserstories()\n @analytics.trackEvent(\"userstory\", \"create\", \"bulk create userstory on kanban\", 1)\n\n @scope.$on \"usform:edit:success\", =>\n @.loadUserstories()\n @.refreshTagsColors()\n\n @scope.$on(\"assigned-to:added\", @.onAssignedToChanged)\n @scope.$on(\"kanban:us:move\", @.moveUs)\n @scope.$on(\"kanban:show-userstories-for-status\", @.loadUserStoriesForStatus)\n @scope.$on(\"kanban:hide-userstories-for-status\", @.hideUserStoriesForStatus)\n\n # Template actions\n\n addNewUs: (type, statusId) ->\n switch type\n when \"standard\" then @rootscope.$broadcast(\"usform:new\", @scope.projectId, statusId, @scope.usStatusList)\n when \"bulk\" then @rootscope.$broadcast(\"usform:bulk\", @scope.projectId, statusId)\n\n changeUsAssignedTo: (us) ->\n @rootscope.$broadcast(\"assigned-to:add\", us)\n\n # Scope Events Handlers\n\n onAssignedToChanged: (ctx, userid, us) ->\n us.assigned_to = userid\n\n promise = @repo.save(us)\n promise.then null, ->\n console.log \"FAIL\" # TODO\n\n # Load data methods\n refreshTagsColors: ->\n return @rs.projects.tagsColors(@scope.projectId).then (tags_colors) =>\n @scope.project.tags_colors = tags_colors\n\n loadUserstories: ->\n params = {\n status__is_archived: false\n }\n\n return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>\n @scope.userstories = userstories\n\n usByStatus = _.groupBy(userstories, \"status\")\n us_archived = []\n for status in @scope.usStatusList\n if not usByStatus[status.id]?\n usByStatus[status.id] = []\n if @scope.usByStatus?\n for us in @scope.usByStatus[status.id]\n if us.status != status.id\n us_archived.push(us)\n\n # Must preserve the archived columns if loaded\n if status.is_archived and @scope.usByStatus? and @scope.usByStatus[status.id].length != 0\n for us in @scope.usByStatus[status.id].concat(us_archived)\n if us.status == status.id\n usByStatus[status.id].push(us)\n\n usByStatus[status.id] = _.sortBy(usByStatus[status.id], \"kanban_order\")\n\n @scope.usByStatus = usByStatus\n\n # The broadcast must be executed when the DOM has been fully reloaded.\n # We can't assure when this exactly happens so we need a defer\n scopeDefer @scope, =>\n @scope.$broadcast(\"userstories:loaded\", userstories)\n\n return userstories\n\n loadUserStoriesForStatus: (ctx, statusId) ->\n params = { status: statusId }\n return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>\n @scope.usByStatus[statusId] = _.sortBy(userstories, \"kanban_order\")\n @scope.$broadcast(\"kanban:shown-userstories-for-status\", statusId, userstories)\n return userstories\n\n hideUserStoriesForStatus: (ctx, statusId) ->\n @scope.usByStatus[statusId] = []\n @scope.$broadcast(\"kanban:hidden-userstories-for-status\", statusId)\n\n loadKanban: ->\n return @q.all([\n @.refreshTagsColors(),\n @.loadUserstories()\n ])\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_kanban_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.projectId = project.id\n @scope.points = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(project.points, (x) -> x.id)\n @scope.usStatusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n\n @.generateStatusViewModes()\n\n @scope.$emit(\"project:loaded\", project)\n return project\n\n initializeSubscription: ->\n routingKey1 = \"changes.project.#{@scope.projectId}.userstories\"\n @events.subscribe @scope, routingKey1, (message) =>\n @.loadUserstories()\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n @.loadKanban().then( => @scope.$broadcast(\"redraw:wip\"))\n\n\n ## View Mode methods\n\n generateStatusViewModes: ->\n storedStatusViewModes = @rs.kanban.getStatusViewModes(@scope.projectId)\n\n @scope.statusViewModes = {}\n for status in @scope.usStatusList\n mode = storedStatusViewModes[status.id]\n @scope.statusViewModes[status.id] = if _.has(defaultViewModes, mode) then mode else defaultViewMode\n\n @.storeStatusViewModes()\n\n storeStatusViewModes: ->\n @rs.kanban.storeStatusViewModes(@scope.projectId, @scope.statusViewModes)\n\n updateStatusViewMode: (statusId, newViewMode) ->\n @scope.statusViewModes[statusId] = newViewMode\n @.storeStatusViewModes()\n\n getCardClass: (statusId)->\n mode = @scope.statusViewModes[statusId] or defaultViewMode\n return defaultViewModes[mode].cardClass or defaultViewModes[defaultViewMode].cardClass\n\n # Utils methods\n\n prepareBulkUpdateData: (uses, field=\"kanban_order\") ->\n return _.map(uses, (x) -> {\"us_id\": x.id, \"order\": x[field]})\n\n resortUserStories: (uses) ->\n items = []\n for item, index in uses\n item.kanban_order = index\n if item.isModified()\n items.push(item)\n\n return items\n\n moveUs: (ctx, us, oldStatusId, newStatusId, index) ->\n if oldStatusId != newStatusId\n # Remove us from old status column\n r = @scope.usByStatus[oldStatusId].indexOf(us)\n @scope.usByStatus[oldStatusId].splice(r, 1)\n\n # Add us to new status column.\n @scope.usByStatus[newStatusId].splice(index, 0, us)\n us.status = newStatusId\n else\n r = @scope.usByStatus[newStatusId].indexOf(us)\n @scope.usByStatus[newStatusId].splice(r, 1)\n @scope.usByStatus[newStatusId].splice(index, 0, us)\n\n itemsToSave = @.resortUserStories(@scope.usByStatus[newStatusId])\n @scope.usByStatus[newStatusId] = _.sortBy(@scope.usByStatus[newStatusId], \"kanban_order\")\n\n # Persist the userstory\n promise = @repo.save(us)\n\n # Rehash userstories order field\n # and persist in bulk all changes.\n promise = promise.then =>\n itemsToSave = _.reject(itemsToSave, {\"id\": us.id})\n data = @.prepareBulkUpdateData(itemsToSave)\n\n return @rs.userstories.bulkUpdateKanbanOrder(us.project, data).then =>\n return itemsToSave\n\n return promise\n\n\nmodule.controller(\"KanbanController\", KanbanController)\n\n#############################################################################\n## Kanban Directive\n#############################################################################\n\nKanbanDirective = ($repo, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n tableBodyDom = $el.find(\".kanban-table-body\")\n\n tableBodyDom.on \"scroll\", (event) ->\n target = angular.element(event.currentTarget)\n tableHeaderDom = $el.find(\".kanban-table-header .kanban-table-inner\")\n tableHeaderDom.css(\"left\", -1 * target.scrollLeft())\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgKanban\", [\"$tgRepo\", \"$rootScope\", KanbanDirective])\n\n#############################################################################\n## Kanban Archived Status Column Header Control\n#############################################################################\n\nKanbanArchivedStatusHeaderDirective = ($rootscope, $translate) ->\n showArchivedText = $translate.instant(\"KANBAN.ACTION_SHOW_ARCHIVED\")\n hideArchivedText = $translate.instant(\"KANBAN.ACTION_HIDE_ARCHIVED\")\n\n link = ($scope, $el, $attrs) ->\n status = $scope.$eval($attrs.tgKanbanArchivedStatusHeader)\n hidden = true\n\n $scope.class = \"icon icon-open-eye\"\n $scope.title = showArchivedText\n\n $el.on \"click\", (event) ->\n hidden = not hidden\n\n $scope.$apply ->\n if hidden\n $scope.class = \"icon icon-open-eye\"\n $scope.title = showArchivedText\n $rootscope.$broadcast(\"kanban:hide-userstories-for-status\", status.id)\n\n else\n $scope.class = \"icon icon-closed-eye\"\n $scope.title = hideArchivedText\n $rootscope.$broadcast(\"kanban:show-userstories-for-status\", status.id)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgKanbanArchivedStatusHeader\", [ \"$rootScope\", \"$translate\", KanbanArchivedStatusHeaderDirective])\n\n\n#############################################################################\n## Kanban Archived Status Column Intro Directive\n#############################################################################\n\nKanbanArchivedStatusIntroDirective = ($translate) ->\n userStories = []\n\n link = ($scope, $el, $attrs) ->\n hiddenUserStoriexText = $translate.instant(\"KANBAN.HIDDEN_USER_STORIES\")\n status = $scope.$eval($attrs.tgKanbanArchivedStatusIntro)\n $el.text(hiddenUserStoriexText)\n\n updateIntroText = ->\n if userStories.length > 0\n $el.text(\"\")\n else\n $el.text(hiddenUserStoriexText)\n\n $scope.$on \"kanban:us:move\", (ctx, itemUs, oldStatusId, newStatusId, itemIndex) ->\n # The destination columnd is this one\n if status.id == newStatusId\n # Reorder\n if status.id == oldStatusId\n r = userStories.indexOf(itemUs)\n userStories.splice(r, 1)\n userStories.splice(itemIndex, 0, itemUs)\n\n # Archiving user story\n else\n itemUs.isArchived = true\n userStories.splice(itemIndex, 0, itemUs)\n\n # Unarchiving user story\n else if status.id == oldStatusId\n itemUs.isArchived = false\n r = userStories.indexOf(itemUs)\n userStories.splice(r, 1)\n\n updateIntroText()\n\n $scope.$on \"kanban:shown-userstories-for-status\", (ctx, statusId, userStoriesLoaded) ->\n if statusId == status.id\n userStories = _.filter(userStoriesLoaded, (us) -> us.status == status.id)\n updateIntroText()\n\n $scope.$on \"kanban:hidden-userstories-for-status\", (ctx, statusId) ->\n if statusId == status.id\n userStories = []\n updateIntroText()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgKanbanArchivedStatusIntro\", [\"$translate\", KanbanArchivedStatusIntroDirective])\n\n\n#############################################################################\n## Kanban User Story Directive\n#############################################################################\n\nKanbanUserstoryDirective = ($rootscope, $loading, $rs) ->\n link = ($scope, $el, $attrs, $model) ->\n $el.disableSelection()\n\n $scope.$watch \"us\", (us) ->\n if us.is_blocked and not $el.hasClass(\"blocked\")\n $el.addClass(\"blocked\")\n else if not us.is_blocked and $el.hasClass(\"blocked\")\n $el.removeClass(\"blocked\")\n\n $el.find(\".icon-edit\").on \"click\", (event) ->\n if $el.find(\".icon-edit\").hasClass(\"noclick\")\n return\n\n target = $(event.target)\n\n currentLoading = $loading()\n .target(target)\n .timeout(200)\n .removeClasses(\"icon-edit\")\n .start()\n\n us = $model.$modelValue\n $rs.userstories.getByRef(us.project, us.ref).then (editingUserStory) =>\n $rootscope.$broadcast(\"usform:edit\", editingUserStory)\n currentLoading.finish()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"kanban/kanban-task.html\"\n link: link\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgKanbanUserstory\", [\"$rootScope\", \"$tgLoading\", \"$tgResources\", KanbanUserstoryDirective])\n\n#############################################################################\n## Kanban Squish Column Directive\n#############################################################################\n\nKanbanSquishColumnDirective = (rs) ->\n\n link = ($scope, $el, $attrs) ->\n $scope.$on \"project:loaded\", (event, project) ->\n $scope.folds = rs.kanban.getStatusColumnModes(project.id)\n updateTableWidth()\n\n $scope.foldStatus = (status) ->\n $scope.folds[status.id] = !!!$scope.folds[status.id]\n rs.kanban.storeStatusColumnModes($scope.projectId, $scope.folds)\n updateTableWidth()\n return\n\n updateTableWidth = ->\n columnWidths = _.map $scope.usStatusList, (status) ->\n if $scope.folds[status.id]\n return 40\n else\n return 310\n totalWidth = _.reduce columnWidths, (total, width) ->\n return total + width\n $el.find('.kanban-table-inner').css(\"width\", totalWidth)\n\n return {link: link}\n\nmodule.directive(\"tgKanbanSquishColumn\", [\"$tgResources\", KanbanSquishColumnDirective])\n\n#############################################################################\n## Kanban WIP Limit Directive\n#############################################################################\n\nKanbanWipLimitDirective = ->\n link = ($scope, $el, $attrs) ->\n $el.disableSelection()\n\n status = $scope.$eval($attrs.tgKanbanWipLimit)\n\n redrawWipLimit = =>\n $el.find(\".kanban-wip-limit\").remove()\n timeout 200, =>\n element = $el.find(\".kanban-task\")[status.wip_limit]\n if element\n angular.element(element).before(\"
\")\n\n if status and not status.is_archived\n $scope.$on \"redraw:wip\", redrawWipLimit\n $scope.$on \"kanban:us:move\", redrawWipLimit\n $scope.$on \"usform:new:success\", redrawWipLimit\n $scope.$on \"usform:bulk:success\", redrawWipLimit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgKanbanWipLimit\", KanbanWipLimitDirective)\n\n\n#############################################################################\n## Kanban User Directive\n#############################################################################\n\nKanbanUserDirective = ($log, $compile) ->\n template = _.template(\"\"\"\n
\n class=\"not-clickable\"<% } %>>\n \" alt=\"<%- name %>\" class=\"avatar\">\n \n
\n \"\"\")\n\n clickable = false\n\n link = ($scope, $el, $attrs, $model) ->\n username_label = $el.parent().find(\"a.task-assigned\")\n username_label.addClass(\"not-clickable\")\n\n if not $attrs.tgKanbanUserAvatar\n return $log.error \"KanbanUserDirective: no attr is defined\"\n\n wtid = $scope.$watch $attrs.tgKanbanUserAvatar, (v) ->\n if not $scope.usersById?\n $log.error \"KanbanUserDirective requires userById set in scope.\"\n wtid()\n else\n user = $scope.usersById[v]\n render(user)\n\n render = (user) ->\n if user is undefined\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\", clickable: clickable}\n else\n ctx = {name: user.full_name_display, imgurl: user.photo, clickable: clickable}\n\n html = $compile(template(ctx))($scope)\n $el.html(html)\n username_label.text(ctx.name)\n\n bindOnce $scope, \"project\", (project) ->\n if project.my_permissions.indexOf(\"modify_us\") > -1\n clickable = true\n $el.on \"click\", (event) =>\n if $el.find(\"a\").hasClass(\"noclick\")\n return\n\n us = $model.$modelValue\n $ctrl = $el.controller()\n $ctrl.changeUsAssignedTo(us)\n\n username_label.removeClass(\"not-clickable\")\n username_label.on \"click\", (event) ->\n if $el.find(\"a\").hasClass(\"noclick\")\n return\n\n us = $model.$modelValue\n $ctrl = $el.controller()\n $ctrl.changeUsAssignedTo(us)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link, require:\"ngModel\"}\n\nmodule.directive(\"tgKanbanUserAvatar\", [\"$log\", \"$compile\", KanbanUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/kanban/sortable.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoggleText = @.taiga.toggleText\nscopeDefer = @.taiga.scopeDefer\nbindOnce = @.taiga.bindOnce\ngroupBy = @.taiga.groupBy\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaKanban\")\n\n\n#############################################################################\n## Sortable Directive\n#############################################################################\n\nKanbanSortableDirective = ($repo, $rs, $rootscope) ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, \"project\", (project) ->\n if not (project.my_permissions.indexOf(\"modify_us\") > -1)\n return\n\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el\n\n deleteElement = (itemEl) ->\n # Completelly remove item and its scope from dom\n itemEl.scope().$destroy()\n itemEl.off()\n itemEl.remove()\n\n tdom.sortable({\n handle: \".kanban-task-inner\"\n dropOnEmpty: true\n connectWith: \".kanban-uses-box\"\n revert: 400\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n parentEl = ui.item.parent()\n itemEl = ui.item\n itemUs = itemEl.scope().us\n itemIndex = itemEl.index()\n newParentScope = parentEl.scope()\n\n newStatusId = newParentScope.s.id\n oldStatusId = oldParentScope.s.id\n\n if newStatusId != oldStatusId\n deleteElement(itemEl)\n\n $scope.$apply ->\n $rootscope.$broadcast(\"kanban:us:move\", itemUs, itemUs.status, newStatusId, itemIndex)\n\n ui.item.find('a').removeClass('noclick')\n\n tdom.on \"sortstart\", (event, ui) ->\n oldParentScope = ui.item.parent().scope()\n ui.item.find('a').addClass('noclick')\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgKanbanSortable\", [\n \"$tgRepo\",\n \"$tgResources\",\n \"$rootScope\",\n KanbanSortableDirective\n])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issue Detail Controller\n#############################################################################\n\nclass IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgAnalytics\",\n \"$tgNavUrls\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @analytics, @navUrls, @translate) ->\n @scope.issueRef = @params.issueref\n @scope.sectionName = @translate.instant(\"ISSUES.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"ISSUE.PAGE_TITLE\", {\n issueRef: \"##{@scope.issue.ref}\"\n issueSubject: @scope.issue.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"ISSUE.PAGE_DESCRIPTION\", {\n issueStatus: @scope.statusById[@scope.issue.status]?.name or \"--\"\n issueType: @scope.typeById[@scope.issue.type]?.name or \"--\"\n issueSeverity: @scope.severityById[@scope.issue.severity]?.name or \"--\"\n issuePriority: @scope.priorityById[@scope.issue.priority]?.name or \"--\"\n issueDescription: angular.element(@scope.issue.description_html or \"\").text()\n })\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"attachment:create\", =>\n @rootscope.$broadcast(\"object:updated\")\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on issue\", 1)\n\n @scope.$on \"attachment:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n @scope.$on \"attachment:delete\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n @scope.$on \"promote-issue-to-us:success\", =>\n @analytics.trackEvent(\"issue\", \"promoteToUserstory\", \"promote issue to userstory\", 1)\n @rootscope.$broadcast(\"object:updated\")\n @.loadIssue()\n\n @scope.$on \"custom-attributes-values:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n if @scope.project.is_issues_activated\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-issues\", ctx)\n else\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.issue_statuses\n @scope.statusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.typeById = groupBy(project.issue_types, (x) -> x.id)\n @scope.typeList = _.sortBy(project.issue_types, \"order\")\n @scope.severityList = project.severities\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.priorityList = project.priorities\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadIssue: ->\n return @rs.issues.getByRef(@scope.projectId, @params.issueref).then (issue) =>\n @scope.issue = issue\n @scope.issueId = issue.id\n @scope.commentModel = issue\n\n if @scope.issue.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.issue.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-issues-detail\", ctx)\n\n if @scope.issue.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.issue.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-issues-detail\", ctx)\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadIssue()\n\n\nmodule.controller(\"IssueDetailController\", IssueDetailController)\n\n\n#############################################################################\n## Issue status display directive\n#############################################################################\n\nIssueStatusDisplayDirective = ($template, $compile)->\n # Display if a Issue is open or closed and its issueboard status.\n #\n # Example:\n # tg-issue-status-display(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (issue) ->\n status = $scope.statusById[issue.status]\n\n html = template({\n is_closed: status.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueStatusDisplay\", [\"$tgTemplate\", \"$compile\", IssueStatusDisplayDirective])\n\n\n#############################################################################\n## Issue status button directive\n#############################################################################\n\nIssueStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the status of Issue and you can edit it.\n #\n # Example:\n # tg-issue-status-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issues-status-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n status = $scope.statusById[issue.status]\n\n html = template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (statusId) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.status = statusId\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n\n save(target.data(\"status-id\"))\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueStatusButtonDirective])\n\n#############################################################################\n## Issue type button directive\n#############################################################################\n\nIssueTypeButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the type of Issue and you can edit it.\n #\n # Example:\n # tg-issue-type-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.typeById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-type-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n type = $scope.typeById[issue.type]\n\n html = template({\n type: type\n typees: $scope.typeList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (type) =>\n $.fn.popover().closeAll()\n issue = $model.$modelValue.clone()\n issue.type = type\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".type-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-type\").popover().open()\n\n $el.on \"click\", \".type\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n type = target.data(\"type-id\")\n save(type)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueTypeButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueTypeButtonDirective])\n\n\n#############################################################################\n## Issue severity button directive\n#############################################################################\n\nIssueSeverityButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the severity of Issue and you can edit it.\n #\n # Example:\n # tg-issue-severity-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.severityById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-severity-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n severity = $scope.severityById[issue.severity]\n\n html = template({\n severity: severity\n severityes: $scope.severityList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (severity) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.severity = severity\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".severity-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-severity\").popover().open()\n\n $el.on \"click\", \".severity\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n severity = target.data(\"severity-id\")\n\n save(severity)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssueSeverityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssueSeverityButtonDirective])\n\n\n#############################################################################\n## Issue priority button directive\n#############################################################################\n\nIssuePriorityButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template, $compile) ->\n # Display the priority of Issue and you can edit it.\n #\n # Example:\n # tg-issue-priority-button(ng-model=\"issue\")\n #\n # Requirements:\n # - Issue object (ng-model)\n # - scope.priorityById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"issue/issue-priority-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_issue\") != -1\n\n render = (issue) =>\n priority = $scope.priorityById[issue.priority]\n\n html = template({\n priority: priority\n priorityes: $scope.priorityList\n editable: isEditable()\n })\n\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (priority) =>\n $.fn.popover().closeAll()\n\n issue = $model.$modelValue.clone()\n issue.priority = priority\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(issue)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n onError = ->\n $confirm.notify(\"error\")\n issue.revert()\n $model.$setViewValue(issue)\n currentLoading.finish()\n\n $repo.save(issue).then(onSuccess, onError)\n\n $el.on \"click\", \".priority-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-priority\").popover().open()\n\n $el.on \"click\", \".priority\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n priority = target.data(\"priority-id\")\n\n save(priority)\n\n $scope.$watch $attrs.ngModel, (issue) ->\n render(issue) if issue\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgIssuePriorityButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", IssuePriorityButtonDirective])\n\n\n#############################################################################\n## Promote Issue to US button directive\n#############################################################################\n\nPromoteIssueToUsButtonDirective = ($rootScope, $repo, $confirm, $qqueue, $translate) ->\n link = ($scope, $el, $attrs, $model) ->\n\n save = $qqueue.bindAdd (issue, finish) =>\n data = {\n generated_from_issue: issue.id\n project: issue.project,\n subject: issue.subject\n description: issue.description\n tags: issue.tags\n is_blocked: issue.is_blocked\n blocked_note: issue.blocked_note\n }\n\n onSuccess = ->\n finish()\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"promote-issue-to-us:success\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n\n $repo.create(\"userstories\", data).then(onSuccess, onError)\n\n\n $el.on \"click\", \"a\", (event) ->\n event.preventDefault()\n issue = $model.$modelValue\n\n title = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.TITLE\")\n message = $translate.instant(\"ISSUES.CONFIRM_PROMOTE.MESSAGE\")\n subtitle = issue.subject\n\n $confirm.ask(title, subtitle, message).then (finish) =>\n save(issue, finish)\n\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n restrict: \"AE\"\n require: \"ngModel\"\n templateUrl: \"issue/promote-issue-to-us-button.html\"\n link: link\n }\n\nmodule.directive(\"tgPromoteIssueToUsButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$translate\"\n PromoteIssueToUsButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issue Create Lightbox Directive\n#############################################################################\n\nCreateIssueDirective = ($repo, $confirm, $rootscope, lightboxService, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n $scope.issue = {}\n\n $scope.$on \"issueform:new\", (ctx, project)->\n $el.find(\".tag-input\").val(\"\")\n\n lightboxService.open($el)\n\n $scope.issue = {\n project: project.id\n subject: \"\"\n status: project.default_issue_status\n type: project.default_issue_type\n priority: project.default_priority\n severity: project.default_severity\n tags: []\n }\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"issues\", $scope.issue)\n\n promise.then (data) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"issueform:new:success\", data)\n lightboxService.close($el)\n $confirm.notify(\"success\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n\n return {link:link}\n\nmodule.directive(\"tgLbCreateIssue\", [\"$tgRepo\", \"$tgConfirm\", \"$rootScope\", \"lightboxService\", \"$tgLoading\",\n CreateIssueDirective])\n\n\n#############################################################################\n## Issue Bulk Create Lightbox Directive\n#############################################################################\n\nCreateBulkIssuesDirective = ($repo, $rs, $confirm, $rootscope, $loading, lightboxService) ->\n link = ($scope, $el, attrs) ->\n $scope.$on \"issueform:bulk\", (ctx, projectId, status)->\n lightboxService.open($el)\n $scope.new = {\n projectId: projectId\n bulk: \"\"\n }\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n data = $scope.new.bulk\n projectId = $scope.new.projectId\n\n promise = $rs.issues.bulkCreate(projectId, data)\n promise.then (result) ->\n currentLoading.finish()\n $rootscope.$broadcast(\"issueform:new:success\", result)\n lightboxService.close($el)\n $confirm.notify(\"success\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateBulkIssues\", [\"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\",\n \"lightboxService\", CreateBulkIssuesDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/list.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounceLeading = @.taiga.debounceLeading\nstartswith = @.taiga.startswith\n\nmodule = angular.module(\"taigaIssues\")\n\n#############################################################################\n## Issues Controller\n#############################################################################\n\nclass IssuesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$tgUrls\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgEvents\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @urls, @params, @q, @location, @appMetaService,\n @navUrls, @events, @analytics, @translate) ->\n @scope.sectionName = \"Issues\"\n @scope.filters = {}\n\n if _.isEmpty(@location.search())\n filters = @rs.issues.getFilters(@params.pslug)\n filters.page = 1\n @location.search(filters)\n @location.replace()\n return\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"ISSUES.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"ISSUES.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"issueform:new:success\", =>\n @analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1)\n @.loadIssues()\n @.loadFilters()\n\n\n initializeSubscription: ->\n routingKey = \"changes.project.#{@scope.projectId}.issues\"\n @events.subscribe @scope, routingKey, (message) =>\n @.loadIssues()\n\n storeFilters: ->\n @rs.issues.storeFilters(@params.pslug, @location.search())\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_issues_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n\n @scope.issueStatusById = groupBy(project.issue_statuses, (x) -> x.id)\n @scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\")\n @scope.severityById = groupBy(project.severities, (x) -> x.id)\n @scope.severityList = _.sortBy(project.severities, \"order\")\n @scope.priorityById = groupBy(project.priorities, (x) -> x.id)\n @scope.priorityList = _.sortBy(project.priorities, \"order\")\n @scope.issueTypes = _.sortBy(project.issue_types, \"order\")\n @scope.issueTypeById = groupBy(project.issue_types, (x) -> x.id)\n\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n getUrlFilters: ->\n filters = _.pick(@location.search(), \"page\", \"tags\", \"statuses\", \"types\",\n \"q\", \"severities\", \"priorities\",\n \"assignedTo\", \"createdBy\", \"orderBy\")\n filters.page = 1 if not filters.page\n return filters\n\n getUrlFilter: (name) ->\n filters = _.pick(@location.search(), name)\n return filters[name]\n\n loadMyFilters: ->\n return @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n return _.map filters, (value, key) =>\n return {id: key, name: key, type: \"myFilters\", selected: false}\n\n removeNotExistingFiltersFromUrl: ->\n currentSearch = @location.search()\n urlfilters = @.getUrlFilters()\n\n for filterName, filterValue of urlfilters\n if filterName == \"page\" or filterName == \"orderBy\" or filterName == \"q\"\n continue\n\n if filterName == \"tags\"\n splittedValues = _.map(\"#{filterValue}\".split(\",\"))\n else\n splittedValues = _.map(\"#{filterValue}\".split(\",\"), (x) -> if x == \"null\" then null else parseInt(x))\n\n existingValues = _.intersection(splittedValues, _.map(@scope.filters[filterName], \"id\"))\n if splittedValues.length != existingValues.length\n @location.search(filterName, existingValues.join())\n\n if currentSearch != @location.search()\n @location.replace()\n\n markSelectedFilters: (filters, urlfilters) ->\n # Build selected filters (from url) fast lookup data structure\n searchdata = {}\n for name, value of _.omit(urlfilters, \"page\", \"orderBy\")\n if not searchdata[name]?\n searchdata[name] = {}\n\n for val in \"#{value}\".split(\",\")\n searchdata[name][val] = true\n\n isSelected = (type, id) ->\n if searchdata[type]? and searchdata[type][id]\n return true\n return false\n\n for key, value of filters\n for obj in value\n obj.selected = if isSelected(obj.type, obj.id) then true else undefined\n\n loadFilters: ->\n urlfilters = @.getUrlFilters()\n\n if urlfilters.q\n @scope.filtersQ = urlfilters.q\n\n # Load My Filters\n promise = @.loadMyFilters().then (myFilters) =>\n @scope.filters.myFilters = myFilters\n return myFilters\n\n # Load default filters data\n promise = promise.then =>\n return @rs.issues.filtersData(@scope.projectId)\n\n # Format filters and set them on scope\n return promise.then (data) =>\n usersFiltersFormat = (users, type, unknownOption) =>\n reformatedUsers = _.map users, (t) =>\n return {\n id: t[0],\n count: t[1],\n type: type\n name: if t[0] then @scope.usersById[t[0]].full_name_display else unknownOption\n }\n unknownItem = _.remove(reformatedUsers, (u) -> not u.id)\n reformatedUsers = _.sortBy(reformatedUsers, (u) -> u.name.toUpperCase())\n if unknownItem.length > 0\n reformatedUsers.unshift(unknownItem[0])\n return reformatedUsers\n\n choicesFiltersFormat = (choices, type, byIdObject) =>\n _.map choices, (t) ->\n return {\n id: t[0],\n name: byIdObject[t[0]].name,\n color: byIdObject[t[0]].color,\n count: t[1],\n type: type}\n\n tagsFilterFormat = (tags) =>\n return _.map tags, (t) =>\n return {\n id: t[0],\n name: t[0],\n color: @scope.project.tags_colors[t[0]],\n count: t[1],\n type: \"tags\"\n }\n\n # Build filters data structure\n @scope.filters.statuses = choicesFiltersFormat(data.statuses, \"statuses\", @scope.issueStatusById)\n @scope.filters.severities = choicesFiltersFormat(data.severities, \"severities\", @scope.severityById)\n @scope.filters.priorities = choicesFiltersFormat(data.priorities, \"priorities\", @scope.priorityById)\n @scope.filters.assignedTo = usersFiltersFormat(data.assigned_to, \"assignedTo\", \"Unassigned\")\n @scope.filters.createdBy = usersFiltersFormat(data.created_by, \"createdBy\", \"Unknown\")\n @scope.filters.types = choicesFiltersFormat(data.types, \"types\", @scope.issueTypeById)\n @scope.filters.tags = tagsFilterFormat(data.tags)\n\n @.removeNotExistingFiltersFromUrl()\n @.markSelectedFilters(@scope.filters, urlfilters)\n @rootscope.$broadcast(\"filters:loaded\", @scope.filters)\n\n # We need to guarantee that the last petition done here is the finally used\n # When searching by text loadIssues can be called fastly with different parameters and\n # can be resolved in a different order than generated\n # We count the requests made and only if the callback is for the last one data is updated\n loadIssuesRequests: 0\n loadIssues: =>\n @scope.urlFilters = @.getUrlFilters()\n\n # Convert stored filters to http parameters\n # ready filters (the name difference exists\n # because of some automatic lookups and is\n # the simplest way todo it without adding\n # additional complexity to code.\n @scope.httpParams = {}\n for name, values of @scope.urlFilters\n if name == \"severities\"\n name = \"severity\"\n else if name == \"orderBy\"\n name = \"order_by\"\n else if name == \"priorities\"\n name = \"priority\"\n else if name == \"assignedTo\"\n name = \"assigned_to\"\n else if name == \"createdBy\"\n name = \"owner\"\n else if name == \"statuses\"\n name = \"status\"\n else if name == \"types\"\n name = \"type\"\n @scope.httpParams[name] = values\n\n promise = @rs.issues.list(@scope.projectId, @scope.httpParams)\n @.loadIssuesRequests += 1\n promise.index = @.loadIssuesRequests\n promise.then (data) =>\n if promise.index == @.loadIssuesRequests\n @scope.issues = data.models\n @scope.page = data.current\n @scope.count = data.count\n @scope.paginatedBy = data.paginatedBy\n return data\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.initializeSubscription()\n return @q.all([@.loadFilters(), @.loadIssues()])\n\n saveCurrentFiltersTo: (newFilter) ->\n deferred = @q.defer()\n @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n filters[newFilter] = @location.search()\n @rs.issues.storeMyFilters(@scope.projectId, filters).then =>\n deferred.resolve()\n return deferred.promise\n\n deleteMyFilter: (filter) ->\n deferred = @q.defer()\n @rs.issues.getMyFilters(@scope.projectId).then (filters) =>\n delete filters[filter]\n @rs.issues.storeMyFilters(@scope.projectId, filters).then =>\n deferred.resolve()\n return deferred.promise\n\n # Functions used from templates\n addNewIssue: ->\n @rootscope.$broadcast(\"issueform:new\", @scope.project)\n\n addIssuesInBulk: ->\n @rootscope.$broadcast(\"issueform:bulk\", @scope.projectId)\n\n\nmodule.controller(\"IssuesController\", IssuesController)\n\n#############################################################################\n## Issues Directive\n#############################################################################\n\nIssuesDirective = ($log, $location, $template, $compile) ->\n ## Issues Pagination\n template = $template.get(\"issue/issue-paginator.html\", true)\n\n linkPagination = ($scope, $el, $attrs, $ctrl) ->\n # Constants\n afterCurrent = 2\n beforeCurrent = 4\n atBegin = 2\n atEnd = 2\n\n $pagEl = $el.find(\".issues-paginator\")\n\n getNumPages = ->\n numPages = $scope.count / $scope.paginatedBy\n if parseInt(numPages, 10) < numPages\n numPages = parseInt(numPages, 10) + 1\n else\n numPages = parseInt(numPages, 10)\n\n return numPages\n\n renderPagination = ->\n numPages = getNumPages()\n\n if numPages <= 1\n $pagEl.hide()\n return\n $pagEl.show()\n\n pages = []\n options = {}\n options.pages = pages\n options.showPrevious = ($scope.page > 1)\n options.showNext = not ($scope.page == numPages)\n\n cpage = $scope.page\n\n for i in [1..numPages]\n if i == (cpage + afterCurrent) and numPages > (cpage + afterCurrent + atEnd)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i == (cpage - beforeCurrent) and cpage > (atBegin + beforeCurrent)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i > (cpage + afterCurrent) and i <= (numPages - atEnd)\n else if i < (cpage - beforeCurrent) and i > atBegin\n else if i == cpage\n pages.push({classes: \"active\", num: i, type: \"page-active\"})\n else\n pages.push({classes: \"page\", num: i, type: \"page\"})\n\n\n html = template(options)\n html = $compile(html)($scope)\n\n $pagEl.html(html)\n\n $scope.$watch \"issues\", (value) ->\n # Do nothing if value is not logical true\n return if not value\n\n renderPagination()\n\n $el.on \"click\", \".issues-paginator a.next\", (event) ->\n event.preventDefault()\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page + 1)\n $ctrl.loadIssues()\n\n $el.on \"click\", \".issues-paginator a.previous\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page - 1)\n $ctrl.loadIssues()\n\n $el.on \"click\", \".issues-paginator li.page > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n pagenum = target.data(\"pagenum\")\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", pagenum)\n $ctrl.loadIssues()\n\n ## Issues Filters\n linkOrdering = ($scope, $el, $attrs, $ctrl) ->\n # Draw the arrow the first time\n currentOrder = $ctrl.getUrlFilter(\"orderBy\") or \"created_date\"\n if currentOrder\n icon = if startswith(currentOrder, \"-\") then \"icon-caret-up\" else \"icon-caret-down\"\n colHeadElement = $el.find(\".row.title > div[data-fieldname='#{trim(currentOrder, \"-\")}']\")\n colHeadElement.html(\"#{colHeadElement.html()}\")\n\n $el.on \"click\", \".row.title > div\", (event) ->\n target = angular.element(event.currentTarget)\n\n currentOrder = $ctrl.getUrlFilter(\"orderBy\")\n newOrder = target.data(\"fieldname\")\n\n finalOrder = if currentOrder == newOrder then \"-#{newOrder}\" else newOrder\n\n $scope.$apply ->\n $ctrl.replaceFilter(\"orderBy\", finalOrder)\n $ctrl.storeFilters()\n $ctrl.loadIssues().then ->\n # Update the arrow\n $el.find(\".row.title > div > span.icon\").remove()\n icon = if startswith(finalOrder, \"-\") then \"icon-caret-up\" else \"icon-caret-down\"\n target.html(\"#{target.html()}\")\n\n ## Issues Link\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkOrdering($scope, $el, $attrs, $ctrl)\n linkPagination($scope, $el, $attrs, $ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", \"$compile\", IssuesDirective])\n\n\n#############################################################################\n## Issues Filters Directive\n#############################################################################\n\nIssuesFiltersDirective = ($log, $location, $rs, $confirm, $loading, $template, $translate, $compile, $auth) ->\n template = $template.get(\"issue/issues-filters.html\", true)\n templateSelected = $template.get(\"issue/issues-filters-selected.html\", true)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.closest(\".wrapper\").controller()\n selectedFilters = []\n\n showFilters = (title, type) ->\n $el.find(\".filters-cats\").hide()\n $el.find(\".filter-list\").removeClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").removeClass(\"hidden\")\n $el.find(\"h2 a.subfilter span.title\").html(title)\n $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type)\n\n showCategories = ->\n $el.find(\".filters-cats\").show()\n $el.find(\".filter-list\").addClass(\"hidden\")\n $el.find(\"h2.breadcrumb\").addClass(\"hidden\")\n\n initializeSelectedFilters = (filters) ->\n selectedFilters = []\n for name, values of filters\n for val in values\n selectedFilters.push(val) if val.selected\n\n renderSelectedFilters(selectedFilters)\n\n renderSelectedFilters = (selectedFilters) ->\n _.filter selectedFilters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = templateSelected({filters:selectedFilters})\n html = $compile(html)($scope)\n $el.find(\".filters-applied\").html(html)\n\n if $auth.isAuthenticated() && selectedFilters.length > 0\n $el.find(\".save-filters\").show()\n else\n $el.find(\".save-filters\").hide()\n\n renderFilters = (filters) ->\n _.filter filters, (f) =>\n if f.color\n f.style = \"border-left: 3px solid #{f.color}\"\n\n html = template({filters:filters})\n html = $compile(html)($scope)\n $el.find(\".filter-list\").html(html)\n\n toggleFilterSelection = (type, id) ->\n if type == \"myFilters\"\n $rs.issues.getMyFilters($scope.projectId).then (data) ->\n myFilters = data\n filters = myFilters[id]\n filters.page = 1\n $ctrl.replaceAllFilters(filters)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n $ctrl.markSelectedFilters($scope.filters, filters)\n initializeSelectedFilters($scope.filters)\n return null\n\n filters = $scope.filters[type]\n filterId = if type == 'tags' then taiga.toString(id) else id\n filter = _.find(filters, {id: filterId})\n\n filter.selected = (not filter.selected)\n\n # Convert id to null as string for properly\n # put null value on url parameters\n id = \"null\" if id is null\n\n if filter.selected\n selectedFilters.push(filter)\n $scope.$apply ->\n $ctrl.selectFilter(type, id)\n $ctrl.selectFilter(\"page\", 1)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n else\n selectedFilters = _.reject(selectedFilters, filter)\n $scope.$apply ->\n $ctrl.unselectFilter(type, id)\n $ctrl.selectFilter(\"page\", 1)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n\n renderSelectedFilters(selectedFilters)\n\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if type == currentFiltersType\n renderFilters(_.reject(filters, \"selected\"))\n\n # Angular Watchers\n $scope.$on \"filters:loaded\", (ctx, filters) ->\n initializeSelectedFilters(filters)\n\n $scope.$on \"filters:issueupdate\", (ctx, filters) ->\n html = template({filters:filters.statuses})\n html = $compile(html)($scope)\n $el.find(\".filter-list\").html(html)\n\n selectQFilter = debounceLeading 100, (value) ->\n return if value is undefined\n\n $ctrl.replaceFilter(\"page\", null, true)\n\n if value.length == 0\n $ctrl.replaceFilter(\"q\", null)\n $ctrl.storeFilters()\n else\n $ctrl.replaceFilter(\"q\", value)\n $ctrl.storeFilters()\n $ctrl.loadIssues()\n\n $scope.$watch(\"filtersQ\", selectQFilter)\n\n # Dom Event Handlers\n $el.on \"click\", \".filters-cats > ul > li > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n tags = $scope.filters[target.data(\"type\")]\n renderFilters(_.reject(tags, \"selected\"))\n showFilters(target.attr(\"title\"), target.data(\"type\"))\n\n $el.on \"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", (event) ->\n event.preventDefault()\n showCategories($el)\n\n $el.on \"click\", \".filters-applied a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n id = target.data(\"id\") or null\n type = target.data(\"type\")\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.toggleClass(\"active\")\n\n id = target.data(\"id\") or null\n type = target.data(\"type\")\n\n # A saved filter can't be active\n if type == \"myFilters\"\n target.removeClass(\"active\")\n\n toggleFilterSelection(type, id)\n\n $el.on \"click\", \".filter-list .single-filter .icon-delete\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n\n target = angular.element(event.currentTarget)\n customFilterName = target.parent().data('id')\n title = $translate.instant(\"ISSUES.FILTERS.CONFIRM_DELETE.TITLE\")\n message = $translate.instant(\"ISSUES.FILTERS.CONFIRM_DELETE.MESSAGE\", {customFilterName: customFilterName})\n\n $confirm.askOnDelete(title, message).then (finish) ->\n promise = $ctrl.deleteMyFilter(customFilterName)\n promise.then ->\n promise = $ctrl.loadMyFilters()\n promise.then (filters) ->\n finish()\n $scope.filters.myFilters = filters\n renderFilters($scope.filters.myFilters)\n promise.then null, ->\n finish()\n promise.then null, ->\n finish(false)\n $confirm.notify(\"error\")\n\n\n $el.on \"click\", \".save-filters\", (event) ->\n event.preventDefault()\n renderFilters($scope.filters[\"myFilters\"])\n showFilters(\"My filters\", \"myFilters\")\n $el.find('.save-filters').hide()\n $el.find('.my-filter-name').removeClass(\"hidden\")\n $el.find('.my-filter-name').focus()\n $scope.$apply()\n\n $el.on \"keyup\", \".my-filter-name\", (event) ->\n event.preventDefault()\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n newFilter = target.val()\n currentLoading = $loading()\n .target($el.find(\".new\"))\n .start()\n promise = $ctrl.saveCurrentFiltersTo(newFilter)\n promise.then ->\n loadPromise = $ctrl.loadMyFilters()\n loadPromise.then (filters) ->\n currentLoading.finish()\n $scope.filters.myFilters = filters\n\n currentfilterstype = $el.find(\"h2 a.subfilter span.title\").prop('data-type')\n if currentfilterstype == \"myFilters\"\n renderFilters($scope.filters.myFilters)\n\n $el.find('.my-filter-name').addClass(\"hidden\")\n $el.find('.save-filters').show()\n\n loadPromise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\", \"Error loading custom filters\")\n\n promise.then null, ->\n currentLoading.finish()\n $el.find(\".my-filter-name\").val(newFilter).focus().select()\n $confirm.notify(\"error\", \"Filter not saved\")\n\n else if event.keyCode == 27\n $el.find('.my-filter-name').val('')\n $el.find('.my-filter-name').addClass(\"hidden\")\n $el.find('.save-filters').show()\n\n return {link:link}\n\nmodule.directive(\"tgIssuesFilters\", [\"$log\", \"$tgLocation\", \"$tgResources\", \"$tgConfirm\", \"$tgLoading\",\n \"$tgTemplate\", \"$translate\", \"$compile\", \"$tgAuth\", IssuesFiltersDirective])\n\n\n#############################################################################\n## Issue status Directive (popover for change status)\n#############################################################################\n\nIssueStatusInlineEditionDirective = ($repo, $template, $rootscope) ->\n ###\n Print the status of an Issue and a popover to change it.\n - tg-issue-status-inline-edition: The issue\n\n Example:\n\n div.status(tg-issue-status-inline-edition=\"issue\")\n a.issue-status(href=\"\")\n\n NOTE: This directive need 'issueStatusById' and 'project'.\n ###\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true)\n\n updateIssueStatus = ($el, issue, issueStatusById) ->\n issueStatusDomParent = $el.find(\".issue-status\")\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\")\n\n status = issueStatusById[issue.status]\n\n if status\n issueStatusDom.text(status.name)\n issueStatusDom.prop(\"title\", status.name)\n issueStatusDomParent.css('color', status.color)\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition)\n\n $el.on \"click\", \".issue-status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count--\n\n issue.status = target.data(\"status-id\")\n $el.find(\".pop-status\").popover().close()\n updateIssueStatus($el, issue, $scope.issueStatusById)\n\n $scope.$apply () ->\n $repo.save(issue).then ->\n $ctrl.loadIssues()\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count++\n\n $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters)\n\n for filter in $scope.filters.statuses\n if filter.id == issue.status\n filter.count++\n $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n $el.append(selectionTemplate({ 'statuses': project.issue_statuses }))\n updateIssueStatus($el, issue, $scope.issueStatusById)\n\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_issue\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$watch $attrs.tgIssueStatusInlineEdition, (val) =>\n updateIssueStatus($el, val, $scope.issueStatusById)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\",\n IssueStatusInlineEditionDirective])\n\n\n#############################################################################\n## Issue assigned to Directive\n#############################################################################\n\nIssueAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService) ->\n template = _.template(\"\"\"\n \" alt=\"<%- name %>\"/>\n
<%- name %>
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n updateIssue = (issue) ->\n ctx = {name: \"Unassigned\", imgurl: \"/images/unnamed.png\"}\n member = $scope.usersById[issue.assigned_to]\n if member\n ctx.imgurl = member.photo\n ctx.name = member.full_name_display\n\n $el.find(\".avatar\").html(template(ctx))\n $el.find(\".issue-assignedto\").attr('title', ctx.name)\n\n $ctrl = $el.controller()\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition)\n updateIssue(issue)\n\n $el.on \"click\", \".issue-assignedto\", (event) ->\n $rootscope.$broadcast(\"assigned-to:add\", issue)\n\n taiga.bindOnce $scope, \"project\", (project) ->\n # If the user has not enough permissions the click events are unbinded\n if project.my_permissions.indexOf(\"modify_issue\") == -1\n $el.unbind(\"click\")\n $el.find(\"a\").addClass(\"not-clickable\")\n\n $scope.$on \"assigned-to:added\", (ctx, userId, updatedIssue) =>\n if updatedIssue.id == issue.id\n updatedIssue.assigned_to = userId\n $repo.save(updatedIssue)\n updateIssue(updatedIssue)\n\n $scope.$watch $attrs.tgIssueAssignedToInlineEdition, (val) =>\n updateIssue(val)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\",\n IssueAssignedToInlineEditionDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/userstories/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaUserStories\")\n\n#############################################################################\n## User story Detail Controller\n#############################################################################\n\nclass UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.usRef = @params.usref\n @scope.sectionName = @translate.instant(\"US.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n totalTasks = @scope.tasks.length\n closedTasks = _.filter(@scope.tasks, (t) => @scope.taskStatusById[t.status].is_closed).length\n progressPercentage = if totalTasks > 0 then Math.round(100 * closedTasks / totalTasks) else 0\n\n title = @translate.instant(\"US.PAGE_TITLE\", {\n userStoryRef: \"##{@scope.us.ref}\"\n userStorySubject: @scope.us.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"US.PAGE_DESCRIPTION\", {\n userStoryStatus: @scope.statusById[@scope.us.status]?.name or \"--\"\n userStoryPoints: @scope.us.total_points\n userStoryDescription: angular.element(@scope.us.description_html or \"\").text()\n userStoryClosedTasks: closedTasks\n userStoryTotalTasks: totalTasks\n userStoryProgressPercentage: progressPercentage\n })\n\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"related-tasks:update\", =>\n @scope.tasks = _.clone(@scope.tasks, false)\n\n @scope.$on \"attachment:create\", =>\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on userstory\", 1)\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n if @scope.project.is_backlog_activated\n if @scope.us.milestone\n ctx.sprint = @scope.sprint.slug\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-taskboard\", ctx)\n else\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-backlog\", ctx)\n else if @scope.project.is_kanban_activated\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-kanban\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.us_statuses\n @scope.statusById = groupBy(project.us_statuses, (x) -> x.id)\n @scope.taskStatusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n @scope.pointsList = _.sortBy(project.points, \"order\")\n @scope.pointsById = groupBy(@scope.pointsList, (e) -> e.id)\n return project\n\n loadUs: ->\n httpParams = _.pick(@location.search(), \"milestone\", \"no-milestone\", \"kanban-status\")\n milestone = httpParams.milestone\n if milestone\n @rs.userstories.storeQueryParams(@scope.projectId, {\n milestone: milestone\n order_by: \"sprint_order\"\n })\n\n noMilestone = httpParams[\"no-milestone\"]\n if noMilestone\n @rs.userstories.storeQueryParams(@scope.projectId, {\n milestone: \"null\"\n order_by: \"backlog_order\"\n })\n\n kanbanStaus = httpParams[\"kanban-status\"]\n if kanbanStaus\n @rs.userstories.storeQueryParams(@scope.projectId, {\n status: kanbanStaus\n order_by: \"kanban_order\"\n })\n\n\n\n return @rs.userstories.getByRef(@scope.projectId, @params.usref).then (us) =>\n @scope.us = us\n @scope.usId = us.id\n @scope.commentModel = us\n\n if @scope.us.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.us.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n if @scope.us.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.us.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n return us\n\n loadSprint: ->\n if @scope.us.milestone\n return @rs.sprints.get(@scope.us.project, @scope.us.milestone).then (sprint) =>\n @scope.sprint = sprint\n return sprint\n\n loadTasks: ->\n return @rs.tasks.list(@scope.projectId, null, @scope.usId).then (tasks) =>\n @scope.tasks = tasks\n return tasks\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadUs().then(=> @q.all([@.loadSprint(), @.loadTasks()]))\n\nmodule.controller(\"UserStoryDetailController\", UserStoryDetailController)\n\n\n#############################################################################\n## User story status display directive\n#############################################################################\n\nUsStatusDisplayDirective = ($template, $compile) ->\n # Display if a US is open or closed and its kanban status.\n #\n # Example:\n # tg-us-status-display(ng-model=\"us\")\n #\n # Requirements:\n # - US object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (us) ->\n status = $scope.statusById[us.status]\n\n html = template({\n is_closed: us.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsStatusDisplay\", [\"$tgTemplate\", \"$compile\", UsStatusDisplayDirective])\n\n\n#############################################################################\n## User story related tasts progress splay Directive\n#############################################################################\n\nUsTasksProgressDisplayDirective = ($template, $compile) ->\n # Display a progress bar with the stats of completed tasks.\n #\n # Example:\n # tg-us-tasks-progress-display(ng-model=\"tasks\")\n #\n # Requirements:\n # - Task object list (ng-model)\n # - scope.taskStatusById object\n\n link = ($scope, $el, $attrs) ->\n render = (tasks) ->\n totalTasks = tasks.length\n totalClosedTasks = _.filter(tasks, (task) => $scope.taskStatusById[task.status].is_closed).length\n\n progress = if totalTasks > 0 then 100 * totalClosedTasks / totalTasks else 0\n\n _.assign($scope, {\n totalTasks: totalTasks\n totalClosedTasks: totalClosedTasks\n progress: progress,\n style: {\n width: progress + \"%\"\n }\n })\n\n $scope.$watch $attrs.ngModel, (tasks) ->\n render(tasks) if tasks?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n templateUrl: \"us/us-task-progress.html\"\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n scope: true\n }\n\nmodule.directive(\"tgUsTasksProgressDisplay\", [\"$tgTemplate\", \"$compile\", UsTasksProgressDisplayDirective])\n\n\n#############################################################################\n## User story status button directive\n#############################################################################\n\nUsStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $template) ->\n # Display the status of a US and you can edit it.\n #\n # Example:\n # tg-us-status-button(ng-model=\"us\")\n #\n # Requirements:\n # - Us object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = $template.get(\"us/us-status-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) =>\n status = $scope.statusById[us.status]\n\n html = template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n })\n\n $el.html(html)\n\n save = $qqueue.bindAdd (status) =>\n us = $model.$modelValue.clone()\n\n us.status = status\n\n $.fn.popover().closeAll()\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $confirm.notify(\"success\")\n $model.$setViewValue(us)\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n $repo.save(us).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n status = target.data(\"status-id\")\n\n save(status)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\"$tgQqueue\", \"$tgTemplate\",\n UsStatusButtonDirective])\n\n\n#############################################################################\n## User story team requirements button directive\n#############################################################################\n\nUsTeamRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $template, $compile) ->\n template = $template.get(\"us/us-team-requirement-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n canEdit = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) ->\n if not canEdit() and not us.team_requirement\n $el.html(\"\")\n return\n\n ctx = {\n canEdit: canEdit()\n isRequired: us.team_requirement\n }\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (team_requirement) =>\n us = $model.$modelValue.clone()\n us.team_requirement = team_requirement\n\n currentLoading = $loading()\n .target($el.find(\"label\"))\n .start()\n\n promise = $tgrepo.save(us)\n promise.then =>\n $model.$setViewValue(us)\n currentLoading.finish()\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n currentLoading.finish()\n $confirm.notify(\"error\")\n\n $el.on \"click\", \".team-requirement\", (event) ->\n return if not canEdit()\n\n team_requirement = not $model.$modelValue.team_requirement\n\n save(team_requirement)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsTeamRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\", UsTeamRequirementButtonDirective])\n\n#############################################################################\n## User story client requirements button directive\n#############################################################################\n\nUsClientRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $template, $compile) ->\n template = $template.get(\"us/us-client-requirement-button.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n canEdit = ->\n return $scope.project.my_permissions.indexOf(\"modify_us\") != -1\n\n render = (us) ->\n if not canEdit() and not us.client_requirement\n $el.html(\"\")\n return\n\n ctx = {\n canEdit: canEdit()\n isRequired: us.client_requirement\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n save = $qqueue.bindAdd (client_requirement) =>\n us = $model.$modelValue.clone()\n us.client_requirement = client_requirement\n\n currentLoading = $loading()\n .target($el.find(\"label\"))\n .start()\n\n promise = $tgrepo.save(us)\n promise.then =>\n $model.$setViewValue(us)\n currentLoading.finish()\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n $el.on \"click\", \".client-requirement\", (event) ->\n return if not canEdit()\n\n client_requirement = not $model.$modelValue.client_requirement\n save(client_requirement)\n\n $scope.$watch $attrs.ngModel, (us) ->\n render(us) if us\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgUsClientRequirementButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", \"$compile\",\n UsClientRequirementButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/tasks/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\n\nmodule = angular.module(\"taigaTasks\")\n\n\n#############################################################################\n## Task Detail Controller\n#############################################################################\n\nclass TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location,\n @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.taskRef = @params.taskref\n @scope.sectionName = @translate.instant(\"TASK.SECTION_NAME\")\n @.initializeEventHandlers()\n\n promise = @.loadInitialData()\n\n promise.then () =>\n @._setMeta()\n @.initializeOnDeleteGoToUrl()\n\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"TASK.PAGE_TITLE\", {\n taskRef: \"##{@scope.task.ref}\"\n taskSubject: @scope.task.subject\n projectName: @scope.project.name\n })\n description = @translate.instant(\"TASK.PAGE_DESCRIPTION\", {\n taskStatus: @scope.statusById[@scope.task.status]?.name or \"--\"\n taskDescription: angular.element(@scope.task.description_html or \"\").text()\n })\n @appMetaService.setAll(title, description)\n\n initializeEventHandlers: ->\n @scope.$on \"attachment:create\", =>\n @analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1)\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"attachment:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"attachment:delete\", =>\n @rootscope.$broadcast(\"object:updated\")\n @scope.$on \"custom-attributes-values:edit\", =>\n @rootscope.$broadcast(\"object:updated\")\n\n initializeOnDeleteGoToUrl: ->\n ctx = {project: @scope.project.slug}\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project\", ctx)\n if @scope.project.is_backlog_activated\n if @scope.task.milestone\n ctx.sprint = @scope.sprint.slug\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-taskboard\", ctx)\n else if @scope.task.us\n ctx.ref = @scope.us.ref\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n else if @scope.project.is_kanban_activated\n if @scope.us\n ctx.ref = @scope.us.ref\n @scope.onDeleteGoToUrl = @navUrls.resolve(\"project-userstories-detail\", ctx)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.statusList = project.task_statuses\n @scope.statusById = groupBy(project.task_statuses, (x) -> x.id)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadTask: ->\n return @rs.tasks.getByRef(@scope.projectId, @params.taskref).then (task) =>\n @scope.task = task\n @scope.taskId = task.id\n @scope.commentModel = task\n\n if @scope.task.neighbors.previous.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.task.neighbors.previous.ref\n }\n @scope.previousUrl = @navUrls.resolve(\"project-tasks-detail\", ctx)\n\n if @scope.task.neighbors.next.ref?\n ctx = {\n project: @scope.project.slug\n ref: @scope.task.neighbors.next.ref\n }\n @scope.nextUrl = @navUrls.resolve(\"project-tasks-detail\", ctx)\n return task\n\n loadSprint: ->\n if @scope.task.milestone\n return @rs.sprints.get(@scope.task.project, @scope.task.milestone).then (sprint) =>\n @scope.sprint = sprint\n return sprint\n\n loadUserStory: ->\n if @scope.task.user_story\n return @rs.userstories.get(@scope.task.project, @scope.task.user_story).then (us) =>\n @scope.us = us\n return us\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadTask().then(=> @q.all([@.loadSprint(), @.loadUserStory()]))\n\nmodule.controller(\"TaskDetailController\", TaskDetailController)\n\n\n#############################################################################\n## Task status display directive\n#############################################################################\n\nTaskStatusDisplayDirective = ($template, $compile) ->\n # Display if a Task is open or closed and its taskboard status.\n #\n # Example:\n # tg-task-status-display(ng-model=\"task\")\n #\n # Requirements:\n # - Task object (ng-model)\n # - scope.statusById object\n\n template = $template.get(\"common/components/status-display.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (task) ->\n status = $scope.statusById[task.status]\n\n html = template({\n is_closed: status.is_closed\n status: status\n })\n\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task?\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskStatusDisplay\", [\"$tgTemplate\", \"$compile\", TaskStatusDisplayDirective])\n\n\n#############################################################################\n## Task status button directive\n#############################################################################\n\nTaskStatusButtonDirective = ($rootScope, $repo, $confirm, $loading, $qqueue, $compile, $translate) ->\n # Display the status of Task and you can edit it.\n #\n # Example:\n # tg-task-status-button(ng-model=\"task\")\n #\n # Requirements:\n # - Task object (ng-model)\n # - scope.statusById object\n # - $scope.project.my_permissions\n\n template = _.template(\"\"\"\n
clickable<% }%>\">\n \">\n <%- status.name %>\n <% if(editable){ %><% }%>\n \n\n \n
\n \"\"\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n\n render = (task) =>\n status = $scope.statusById[task.status]\n\n html = $compile(template({\n status: status\n statuses: $scope.statusList\n editable: isEditable()\n }))($scope)\n\n $el.html(html)\n\n save = $qqueue.bindAdd (status) =>\n task = $model.$modelValue.clone()\n task.status = status\n\n currentLoading = $loading()\n .target($el.find(\".level-name\"))\n .start()\n\n onSuccess = ->\n $model.$setViewValue(task)\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"object:updated\")\n currentLoading.finish()\n\n onError = ->\n $confirm.notify(\"error\")\n currentLoading.finish()\n\n $repo.save(task).then(onSuccess, onError)\n\n $el.on \"click\", \".status-data\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n $el.find(\".pop-status\").popover().open()\n\n $el.on \"click\", \".status\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n return if not isEditable()\n\n target = angular.element(event.currentTarget)\n\n $.fn.popover().closeAll()\n\n save(target.data(\"status-id\"))\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$compile\", \"$translate\", TaskStatusButtonDirective])\n\n\nTaskIsIocaineButtonDirective = ($rootscope, $tgrepo, $confirm, $loading, $qqueue, $compile) ->\n template = _.template(\"\"\"\n
\n \n \n
\n \"\"\")\n\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_task\") != -1\n\n render = (task) ->\n if not isEditable() and not task.is_iocaine\n $el.html(\"\")\n return\n\n ctx = {\n isIocaine: task.is_iocaine\n isEditable: isEditable()\n }\n html = $compile(template(ctx))($scope)\n $el.html(html)\n\n save = $qqueue.bindAdd (is_iocaine) =>\n task = $model.$modelValue.clone()\n task.is_iocaine = is_iocaine\n\n currentLoading = $loading()\n .target($el.find('label'))\n .start()\n\n promise = $tgrepo.save(task)\n\n promise.then ->\n $model.$setViewValue(task)\n $confirm.notify(\"success\")\n $rootscope.$broadcast(\"object:updated\")\n\n promise.then null, ->\n $confirm.notify(\"error\")\n\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"click\", \".is-iocaine\", (event) ->\n return if not isEditable()\n\n is_iocaine = not $model.$modelValue.is_iocaine\n save(is_iocaine)\n\n $scope.$watch $attrs.ngModel, (task) ->\n render(task) if task\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\",\n \"$compile\", TaskIsIocaineButtonDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/team/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\n\nmodule = angular.module(\"taigaTeam\")\n\n#############################################################################\n## Team Controller\n#############################################################################\n\nclass TeamController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$location\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$tgAuth\",\n \"$translate\",\n \"tgProjectService\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appMetaService, @auth,\n @translate, @projectService) ->\n @scope.sectionName = \"TEAM.SECTION_NAME\"\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then =>\n title = @translate.instant(\"TEAM.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @translate.instant(\"TEAM.PAGE_DESCRIPTION\", {\n projectName: @scope.project.name,\n projectDescription: @scope.project.description\n })\n @appMetaService.setAll(title, description)\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n setRole: (role) ->\n if role\n @scope.filtersRole = role\n else\n @scope.filtersRole = null\n\n loadMembers: ->\n currentUser = @auth.getUser()\n\n if currentUser? and not currentUser.photo?\n currentUser.photo = \"/images/unnamed.png\"\n\n memberships = @projectService.project.toJS().memberships\n\n @scope.currentUser = _.find memberships, (membership) =>\n return currentUser? and membership.user == currentUser.id\n\n @scope.totals = {}\n\n _.forEach memberships, (membership) =>\n @scope.totals[membership.user] = 0\n\n @scope.memberships = _.filter memberships, (membership) =>\n if membership.user && (not currentUser? or membership.user != currentUser.id)\n return membership\n\n @scope.memberships = _.filter memberships, (membership) => return membership.is_active\n\n for membership in @scope.memberships\n if not membership.photo?\n membership.photo = \"/images/unnamed.png\"\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n\n @scope.issuesEnabled = project.is_issues_activated\n @scope.tasksEnabled = project.is_kanban_activated or project.is_backlog_activated\n @scope.wikiEnabled = project.is_wiki_activated\n\n return project\n\n loadMemberStats: ->\n return @rs.projects.memberStats(@scope.projectId).then (stats) =>\n totals = {}\n _.forEach @scope.totals, (total, userId) =>\n vals = _.map(stats, (memberStats, statsKey) -> memberStats[userId])\n total = _.reduce(vals, (sum, el) -> sum + el)\n @scope.totals[userId] = total\n\n @scope.stats = @.processStats(stats)\n @scope.stats.totals = @scope.totals\n\n processStat: (stat) ->\n max = _.max(stat)\n min = _.min(stat)\n singleStat = _.map stat, (value, key) ->\n if value == min\n return [key, 0.1]\n if value == max\n return [key, 1]\n return [key, (value * 0.5) / max]\n singleStat = _.object(singleStat)\n return singleStat\n\n processStats: (stats) ->\n for key,value of stats\n stats[key] = @.processStat(value)\n return stats\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @.loadMembers()\n\n return @.loadMemberStats()\n\nmodule.controller(\"TeamController\", TeamController)\n\n\n#############################################################################\n## Team Filters Directive\n#############################################################################\n\nTeamFiltersDirective = () ->\n return {\n templateUrl: \"team/team-filter.html\"\n }\n\nmodule.directive(\"tgTeamFilters\", [TeamFiltersDirective])\n\n\n#############################################################################\n## Team Member Stats Directive\n#############################################################################\n\nTeamMemberStatsDirective = () ->\n return {\n templateUrl: \"team/team-member-stats.html\",\n scope: {\n stats: \"=\",\n userId: \"=user\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamMemberStats\", TeamMemberStatsDirective)\n\n\n#############################################################################\n## Team Current User Directive\n#############################################################################\n\nTeamMemberCurrentUserDirective = () ->\n return {\n templateUrl: \"team/team-member-current-user.html\"\n scope: {\n projectId: \"=projectid\",\n currentUser: \"=currentuser\",\n stats: \"=\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamCurrentUser\", TeamMemberCurrentUserDirective)\n\n\n#############################################################################\n## Team Members Directive\n#############################################################################\n\nTeamMembersDirective = () ->\n template = \"team/team-members.html\"\n\n return {\n templateUrl: template\n scope: {\n memberships: \"=\",\n filtersQ: \"=filtersq\",\n filtersRole: \"=filtersrole\",\n stats: \"=\"\n issuesEnabled: \"=issuesenabled\"\n tasksEnabled: \"=tasksenabled\"\n wikiEnabled: \"=wikienabled\"\n }\n }\n\nmodule.directive(\"tgTeamMembers\", TeamMembersDirective)\n\n\n#############################################################################\n## Leave project Directive\n#############################################################################\n\nLeaveProjectDirective = ($repo, $confirm, $location, $rs, $navurls, $translate) ->\n link = ($scope, $el, $attrs) ->\n $scope.leave = () ->\n leave_project_text = $translate.instant(\"TEAM.ACTION_LEAVE_PROJECT\")\n confirm_leave_project_text = $translate.instant(\"TEAM.CONFIRM_LEAVE_PROJECT\")\n\n $confirm.ask(leave_project_text, confirm_leave_project_text).then (finish) =>\n promise = $rs.projects.leave($attrs.projectid)\n\n promise.then =>\n finish()\n $confirm.notify(\"success\")\n $location.path($navurls.resolve(\"home\"))\n\n promise.then null, (response) ->\n finish()\n $confirm.notify('error', response.data._error_message)\n\n return {\n scope: {},\n templateUrl: \"team/leave-project.html\",\n link: link\n }\n\nmodule.directive(\"tgLeaveProject\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgResources\", \"$tgNavUrls\", \"$translate\",\n LeaveProjectDirective])\n\n\n#############################################################################\n## Team Filters\n#############################################################################\n\nmembersFilter = ->\n return (members, filtersQ, filtersRole) ->\n return _.filter members, (m) -> (not filtersRole or m.role == filtersRole.id) and\n (not filtersQ or m.full_name.search(new RegExp(filtersQ, \"i\")) >= 0)\n\nmodule.filter('membersFilter', membersFilter)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nunslugify = @.taiga.unslugify\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaWiki\")\n\n#############################################################################\n## Wiki Detail Controller\n#############################################################################\n\nclass WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgModel\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$filter\",\n \"$log\",\n \"tgAppMetaService\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @model, @confirm, @rs, @params, @q, @location,\n @filter, @log, @appMetaService, @navUrls, @analytics, @translate) ->\n @scope.projectSlug = @params.pslug\n @scope.wikiSlug = @params.slug\n @scope.sectionName = \"Wiki\"\n\n promise = @.loadInitialData()\n\n # On Success\n promise.then () => @._setMeta()\n\n # On Error\n promise.then null, @.onInitialDataError.bind(@)\n\n _setMeta: ->\n title = @translate.instant(\"WIKI.PAGE_TITLE\", {\n wikiPageName: unslugify(@scope.wiki.slug)\n projectName: @scope.project.name\n })\n description = @translate.instant(\"WIKI.PAGE_DESCRIPTION\", {\n wikiPageContent: angular.element(@scope.wiki.html or \"\").text()\n totalEditions: @scope.wiki.editions or 0\n lastModifiedDate: moment(@scope.wiki.modified_date).format(@translate.instant(\"WIKI.DATETIME\"))\n })\n @appMetaService.setAll(title, description)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.is_wiki_activated\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.membersById = groupBy(project.memberships, (x) -> x.user)\n return project\n\n loadWiki: ->\n promise = @rs.wiki.getBySlug(@scope.projectId, @params.slug)\n promise.then (wiki) =>\n @scope.wiki = wiki\n @scope.wikiId = wiki.id\n return @scope.wiki\n\n promise.then null, (xhr) =>\n @scope.wikiId = null\n\n if @scope.project.my_permissions.indexOf(\"add_wiki_page\") == -1\n return null\n\n data = {\n project: @scope.projectId\n slug: @scope.wikiSlug\n content: \"\"\n }\n @scope.wiki = @model.make_model(\"wiki\", data)\n return @scope.wiki\n\n loadWikiLinks: ->\n return @rs.wiki.listLinks(@scope.projectId).then (wikiLinks) =>\n @scope.wikiLinks = wikiLinks\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise.then (project) =>\n @.fillUsersAndRoles(project.users, project.roles)\n @q.all([@.loadWikiLinks(), @.loadWiki()]).then () =>\n\n\n delete: ->\n title = @translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\")\n message = unslugify(@scope.wiki.slug)\n\n @confirm.askOnDelete(title, message).then (finish) =>\n onSuccess = =>\n finish()\n ctx = {project: @scope.projectSlug}\n @location.path(@navUrls.resolve(\"project-wiki\", ctx))\n @confirm.notify(\"success\")\n\n onError = =>\n finish(false)\n @confirm.notify(\"error\")\n\n @repo.remove(@scope.wiki).then onSuccess, onError\n\nmodule.controller(\"WikiDetailController\", WikiDetailController)\n\n\n#############################################################################\n## Wiki Summary Directive\n#############################################################################\n\nWikiSummaryDirective = ($log, $template, $compile, $translate) ->\n template = $template.get(\"wiki/wiki-summary.html\", true)\n\n link = ($scope, $el, $attrs, $model) ->\n render = (wiki) ->\n if not $scope.usersById?\n $log.error \"WikiSummaryDirective requires userById set in scope.\"\n else\n user = $scope.usersById[wiki.last_modifier]\n\n if user is undefined\n user = {name: \"unknown\", imgUrl: \"/images/unnamed.png\"}\n else\n user = {name: user.full_name_display, imgUrl: user.photo}\n\n ctx = {\n totalEditions: wiki.editions\n lastModifiedDate: moment(wiki.modified_date).format($translate.instant(\"WIKI.DATETIME\"))\n user: user\n }\n html = template(ctx)\n html = $compile(html)($scope)\n $el.html(html)\n\n $scope.$watch $attrs.ngModel, (wikiPage) ->\n return if not wikiPage\n render(wikiPage)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgWikiSummary\", [\"$log\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiSummaryDirective])\n\n\n#############################################################################\n## Editable Wiki Content Directive\n#############################################################################\n\nEditableWikiContentDirective = ($window, $document, $repo, $confirm, $loading, $analytics, $qqueue) ->\n link = ($scope, $el, $attrs, $model) ->\n isEditable = ->\n return $scope.project.my_permissions.indexOf(\"modify_wiki_page\") != -1\n\n switchToEditMode = ->\n $el.find('.edit-wiki-content').show()\n $el.find('.view-wiki-content').hide()\n $el.find('textarea').focus()\n\n switchToReadMode = ->\n $el.find('.edit-wiki-content').hide()\n $el.find('.view-wiki-content').show()\n\n disableEdition = ->\n $el.find(\".view-wiki-content .edit\").remove()\n $el.find(\".edit-wiki-content\").remove()\n\n cancelEdition = ->\n return if not $model.$modelValue.id\n\n $scope.$apply () =>\n $model.$modelValue.revert()\n switchToReadMode()\n\n getSelectedText = ->\n if $window.getSelection\n return $window.getSelection().toString()\n else if $document.selection\n return $document.selection.createRange().text\n return null\n\n save = $qqueue.bindAdd (wiki) ->\n onSuccess = (wikiPage) ->\n if not wiki.id?\n $analytics.trackEvent(\"wikipage\", \"create\", \"create wiki page\", 1)\n\n $model.$setViewValue wikiPage.clone()\n\n $confirm.notify(\"success\")\n switchToReadMode()\n\n onError = ->\n $confirm.notify(\"error\")\n\n console.log $el.find('.save-container')\n\n currentLoading = $loading()\n .removeClasses(\"icon-floppy\")\n .target($el.find('.icon-floppy'))\n .start()\n\n if wiki.id?\n promise = $repo.save(wiki).then(onSuccess, onError)\n else\n promise = $repo.create(\"wiki\", wiki).then(onSuccess, onError)\n\n promise.finally ->\n currentLoading.finish()\n\n $el.on \"mousedown\", \".view-wiki-content\", (event) ->\n target = angular.element(event.target)\n return if not isEditable()\n return if event.button == 2\n\n $el.on \"mouseup\", \".view-wiki-content\", (event) ->\n target = angular.element(event.target)\n return if getSelectedText()\n return if not isEditable()\n return if target.is('a')\n return if target.is('pre')\n\n switchToEditMode()\n\n $el.on \"click\", \".save\", debounce 2000, ->\n save($scope.wiki)\n\n $el.on \"click\", \".cancel\", ->\n cancelEdition()\n\n $el.on \"keydown\", \"textarea\", (event) ->\n if event.keyCode == 27\n cancelEdition()\n\n $scope.$watch $attrs.ngModel, (wikiPage) ->\n return if not wikiPage\n\n if isEditable()\n $el.addClass('editable')\n if not wikiPage.id? or $.trim(wikiPage.content).length == 0\n switchToEditMode()\n else\n disableEdition()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n templateUrl: \"wiki/editable-wiki-content.html\"\n }\n\nmodule.directive(\"tgEditableWikiContent\", [\"$window\", \"$document\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\n \"$tgAnalytics\", \"$tgQqueue\", EditableWikiContentDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/wiki/detail.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\nslugify = @.taiga.slugify\nunslugify = @.taiga.slugify\n\nmodule = angular.module(\"taigaWiki\")\n\n\n#############################################################################\n## Wiki Main Directive\n#############################################################################\n\nWikiNavDirective = ($tgrepo, $log, $location, $confirm, $navUrls, $analytics, $loading, $template, $compile, $translate) ->\n template = $template.get(\"wiki/wiki-nav.html\", true)\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n if not $attrs.ngModel?\n return $log.error \"WikiNavDirective: no ng-model attr is defined\"\n\n render = (wikiLinks) ->\n addWikiLinkPermission = $scope.project.my_permissions.indexOf(\"add_wiki_link\") > -1\n deleteWikiLinkPermission = $scope.project.my_permissions.indexOf(\"delete_wiki_link\") > -1\n\n html = template({\n wikiLinks: wikiLinks,\n projectSlug: $scope.projectSlug\n addWikiLinkPermission: addWikiLinkPermission\n deleteWikiLinkPermission: deleteWikiLinkPermission\n })\n\n html = $compile(html)($scope)\n\n $el.off()\n $el.html(html)\n\n $el.on \"click\", \".wiki-link .link-title\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n linkId = target.parents('.wiki-link').data('id')\n linkSlug = $scope.wikiLinks[linkId].href\n $scope.$apply ->\n ctx = {\n project: $scope.projectSlug\n slug: linkSlug\n }\n $location.path($navUrls.resolve(\"project-wiki-page\", ctx))\n\n $el.on \"click\", \".add-button\", (event) ->\n event.preventDefault()\n $el.find(\".new\").removeClass(\"hidden\")\n $el.find(\".new input\").focus()\n $el.find(\".add-button\").hide()\n\n $el.on \"click\", \".wiki-link .icon-delete\", (event) ->\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n linkId = target.parents('.wiki-link').data('id')\n\n title = $translate.instant(\"WIKI.DELETE_LIGHTBOX_TITLE\")\n message = $scope.wikiLinks[linkId].title\n\n $confirm.askOnDelete(title, message).then (finish) =>\n promise = $tgrepo.remove($scope.wikiLinks[linkId])\n promise.then ->\n promise = $ctrl.loadWikiLinks()\n promise.then ->\n finish()\n render($scope.wikiLinks)\n promise.then null, ->\n finish()\n promise.then null, ->\n finish(false)\n $confirm.notify(\"error\")\n\n $el.on \"keyup\", \".new input\", (event) ->\n event.preventDefault()\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n newLink = target.val()\n\n currentLoading = $loading()\n .target($el.find(\".new\"))\n .start()\n\n promise = $tgrepo.create(\"wiki-links\", {project: $scope.projectId, title: newLink, href: slugify(newLink)})\n promise.then ->\n $analytics.trackEvent(\"wikilink\", \"create\", \"create wiki link\", 1)\n loadPromise = $ctrl.loadWikiLinks()\n loadPromise.then ->\n currentLoading.finish()\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n render($scope.wikiLinks)\n loadPromise.then null, ->\n currentLoading.finish()\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n $confirm.notify(\"error\", \"Error loading wiki links\")\n\n promise.then null, (error) ->\n currentLoading.finish()\n $el.find(\".new input\").val(newLink)\n $el.find(\".new input\").focus().select()\n if error?.__all__?[0]?\n $confirm.notify(\"error\", \"The link already exists\")\n else\n $confirm.notify(\"error\")\n\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new input\").val('')\n $el.find(\".add-button\").show()\n\n\n bindOnce($scope, $attrs.ngModel, render)\n\n return {link:link}\n\nmodule.directive(\"tgWikiNav\", [\"$tgRepo\", \"$log\", \"$tgLocation\", \"$tgConfirm\", \"$tgNavUrls\",\n \"$tgAnalytics\", \"$tgLoading\", \"$tgTemplate\", \"$compile\", \"$translate\", WikiNavDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/lightboxes.coffee\n###\n\ntaiga = @.taiga\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaKanban\")\n\nMAX_MEMBERSHIP_FIELDSETS = 4\n\n#############################################################################\n## Create Members Lightbox Directive\n#############################################################################\n\nCreateMembersDirective = ($rs, $rootScope, $confirm, $loading, lightboxService, $compile) ->\n extraTextTemplate = \"\"\"\n
\n \n
\n \"\"\"\n\n template = _.template(\"\"\"\n
\n
\n data-required=\"true\" <% } %> data-type=\"email\" />\n
\n
\n \n \n
\n
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n createFieldSet = (required = true)->\n ctx = {roleList: $scope.project.roles, required: required}\n return $compile(template(ctx))($scope)\n\n resetForm = ->\n $el.find(\"form textarea\").remove()\n $el.find(\"form .add-member-wrapper\").remove()\n\n invitations = $el.find(\".add-member-forms\")\n invitations.html($compile(extraTextTemplate)($scope))\n\n fieldSet = createFieldSet()\n invitations.prepend(fieldSet)\n\n $scope.$on \"membersform:new\", ->\n resetForm()\n lightboxService.open($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \".delete-fieldset\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n fieldSet = target.closest('.add-member-wrapper')\n\n fieldSet.remove()\n\n lastActionButton = $el.find(\".add-member-wrapper fieldset:last > a\")\n if lastActionButton.hasClass(\"icon-delete delete-fieldset\")\n lastActionButton.removeClass(\"icon-delete delete-fieldset\")\n .addClass(\"icon-plus add-fieldset\")\n\n $el.on \"click\", \".add-fieldset\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n fieldSet = target.closest('.add-member-wrapper')\n\n target.removeClass(\"icon-plus add-fieldset\")\n .addClass(\"icon-delete delete-fieldset\")\n\n newFieldSet = createFieldSet(false)\n fieldSet.after(newFieldSet)\n\n $scope.$digest() # To compile newFieldSet and translate text\n\n if $el.find(\".add-member-wrapper\").length == MAX_MEMBERSHIP_FIELDSETS\n $el.find(\".add-member-wrapper fieldset:last > a\").removeClass(\"icon-plus add-fieldset\")\n .addClass(\"icon-delete delete-fieldset\")\n\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n onSuccess = (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $confirm.notify(\"success\")\n $rootScope.$broadcast(\"membersform:new:success\")\n\n onError = (data) ->\n currentLoading.finish()\n lightboxService.close($el)\n $confirm.notify(\"error\")\n $rootScope.$broadcast(\"membersform:new:error\")\n\n form = $el.find(\"form\").checksley()\n\n #checksley find new fields\n form.destroy()\n form.initialize()\n if not form.validate()\n return\n\n memberWrappers = $el.find(\"form .add-member-wrapper\")\n memberWrappers = _.filter memberWrappers, (mw) ->\n angular.element(mw).find(\"input\").hasClass('checksley-ok')\n\n invitations = _.map memberWrappers, (mw) ->\n memberWrapper = angular.element(mw)\n email = memberWrapper.find(\"input\")\n role = memberWrapper.find(\"select\")\n\n return {\n email: email.val()\n role_id: role.val()\n }\n\n if invitations.length\n invitation_extra_text = $el.find(\"form textarea\").val()\n\n promise = $rs.memberships.bulkCreateMemberships($scope.project.id,\n invitations, invitation_extra_text)\n promise.then(onSuccess, onError)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link: link}\n\nmodule.directive(\"tgLbCreateMembers\", [\"$tgResources\", \"$rootScope\", \"$tgConfirm\", \"$tgLoading\",\n \"lightboxService\", \"$compile\", CreateMembersDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/memberships.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Memberships Controller\n#############################################################################\n\nclass MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAnalytics\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @analytics,\n @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.project = {}\n @scope.filters = {}\n\n promise = @.loadInitialData()\n\n promise.then =>\n title = @translate.instant(\"ADMIN.MEMBERSHIPS.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"membersform:new:success\", =>\n @.loadMembers()\n @analytics.trackEvent(\"membership\", \"create\", \"create memberships on admin\", 1)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadMembers: ->\n httpFilters = @.getUrlFilters()\n return @rs.memberships.list(@scope.projectId, httpFilters).then (data) =>\n @scope.memberships = _.filter(data.models, (membership) ->\n membership.user == null or membership.is_user_active)\n\n @scope.page = data.current\n @scope.count = data.count\n @scope.paginatedBy = data.paginatedBy\n return data\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then =>\n @.loadMembers()\n\n return promise\n\n getUrlFilters: ->\n filters = _.pick(@location.search(), \"page\")\n filters.page = 1 if not filters.page\n return filters\n\n addNewMembers: ->\n @rootscope.$broadcast(\"membersform:new\")\n\n\nmodule.controller(\"MembershipsController\", MembershipsController)\n\n\n#############################################################################\n## Member Avatar Directive\n#############################################################################\n\nMembershipsDirective = ($template, $compile) ->\n template = $template.get(\"admin/admin-membership-paginator.html\", true)\n\n linkPagination = ($scope, $el, $attrs, $ctrl) ->\n # Constants\n afterCurrent = 2\n beforeCurrent = 4\n atBegin = 2\n atEnd = 2\n\n $pagEl = $el.find(\".memberships-paginator\")\n\n getNumPages = ->\n numPages = $scope.count / $scope.paginatedBy\n if parseInt(numPages, 10) < numPages\n numPages = parseInt(numPages, 10) + 1\n else\n numPages = parseInt(numPages, 10)\n\n return numPages\n\n renderPagination = ->\n numPages = getNumPages()\n\n if numPages <= 1\n $pagEl.hide()\n return\n\n pages = []\n options = {}\n options.pages = pages\n options.showPrevious = ($scope.page > 1)\n options.showNext = not ($scope.page == numPages)\n\n cpage = $scope.page\n\n for i in [1..numPages]\n if i == (cpage + afterCurrent) and numPages > (cpage + afterCurrent + atEnd)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i == (cpage - beforeCurrent) and cpage > (atBegin + beforeCurrent)\n pages.push({classes: \"dots\", type: \"dots\"})\n else if i > (cpage + afterCurrent) and i <= (numPages - atEnd)\n else if i < (cpage - beforeCurrent) and i > atBegin\n else if i == cpage\n pages.push({classes: \"active\", num: i, type: \"page-active\"})\n else\n pages.push({classes: \"page\", num: i, type: \"page\"})\n\n html = template(options)\n html = $compile(html)($scope)\n\n $pagEl.html(html)\n $pagEl.show()\n\n $scope.$watch \"memberships\", (value) ->\n # Do nothing if value is not logical true\n return if not value\n\n renderPagination()\n\n $el.on \"click\", \".memberships-paginator a.next\", (event) ->\n event.preventDefault()\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page + 1)\n $ctrl.loadMembers()\n\n $el.on \"click\", \".memberships-paginator a.previous\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", $scope.page - 1)\n $ctrl.loadMembers()\n\n $el.on \"click\", \".memberships-paginator li.page > a\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n pagenum = target.data(\"pagenum\")\n\n $scope.$apply ->\n $ctrl.selectFilter(\"page\", pagenum)\n $ctrl.loadMembers()\n\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n linkPagination($scope, $el, $attrs, $ctrl)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgMemberships\", [\"$tgTemplate\", \"$compile\", MembershipsDirective])\n\n\n#############################################################################\n## Member Avatar Directive\n#############################################################################\n\nMembershipsRowAvatarDirective = ($log, $template) ->\n template = $template.get(\"admin/memberships-row-avatar.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {\n full_name: if member.full_name then member.full_name else \"\"\n email: if member.user_email then member.user_email else member.email\n imgurl: if member.photo then member.photo else \"/images/unnamed.png\"\n }\n\n html = template(ctx)\n $el.html(html)\n\n if not $attrs.tgMembershipsRowAvatar?\n return $log.error \"MembershipsRowAvatarDirective: the directive need a member\"\n\n member = $scope.$eval($attrs.tgMembershipsRowAvatar)\n render(member)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowAvatar\", [\"$log\", \"$tgTemplate\", MembershipsRowAvatarDirective])\n\n\n#############################################################################\n## Member IsAdminCheckbox Directive\n#############################################################################\n\nMembershipsRowAdminCheckboxDirective = ($log, $repo, $confirm, $template, $compile) ->\n template = $template.get(\"admin/admin-memberships-row-checkbox.html\", true)\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {inputId: \"is-admin-#{member.id}\"}\n\n html = template(ctx)\n html = $compile(html)($scope)\n\n $el.html(html)\n\n if not $attrs.tgMembershipsRowAdminCheckbox?\n return $log.error \"MembershipsRowAdminCheckboxDirective: the directive need a member\"\n\n member = $scope.$eval($attrs.tgMembershipsRowAdminCheckbox)\n html = render(member)\n\n if member.is_owner\n $el.find(\":checkbox\").prop(\"checked\", true)\n\n $el.on \"click\", \":checkbox\", (event) =>\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = (data) ->\n member.revert()\n $el.find(\":checkbox\").prop(\"checked\", member.is_owner)\n $confirm.notify(\"error\", data.is_owner[0])\n\n target = angular.element(event.currentTarget)\n member.is_owner = target.prop(\"checked\")\n $repo.save(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowAdminCheckbox\", [\"$log\", \"$tgRepo\", \"$tgConfirm\",\n \"$tgTemplate\", \"$compile\", MembershipsRowAdminCheckboxDirective])\n\n\n#############################################################################\n## Member RoleSelector Directive\n#############################################################################\n\nMembershipsRowRoleSelectorDirective = ($log, $repo, $confirm) ->\n template = _.template(\"\"\"\n \n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n ctx = {\n roleList: $scope.project.roles,\n selectedRole: member.role\n }\n\n html = template(ctx)\n $el.html(html)\n\n if not $attrs.tgMembershipsRowRoleSelector?\n return $log.error \"MembershipsRowRoleSelectorDirective: the directive need a member\"\n\n $ctrl = $el.controller()\n member = $scope.$eval($attrs.tgMembershipsRowRoleSelector)\n html = render(member)\n\n $el.on \"change\", \"select\", (event) =>\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = ->\n $confirm.notify(\"error\")\n\n target = angular.element(event.currentTarget)\n newRole = parseInt(target.val(), 10)\n\n if member.role != newRole\n member.role = newRole\n $repo.save(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowRoleSelector\", [\"$log\", \"$tgRepo\", \"$tgConfirm\",\n MembershipsRowRoleSelectorDirective])\n\n\n#############################################################################\n## Member Actions Directive\n#############################################################################\n\nMembershipsRowActionsDirective = ($log, $repo, $rs, $confirm, $compile, $translate) ->\n activedTemplate = \"\"\"\n
\n
\n \n \n \n \"\"\"\n\n pendingTemplate = \"\"\"\n \n {{'ADMIN.MEMBERSHIP.STATUS_PENDING' | translate}}\n \n \n \n \n \n \"\"\"\n\n link = ($scope, $el, $attrs) ->\n render = (member) ->\n if member.user\n html = $compile(activedTemplate)($scope)\n else\n html = $compile(pendingTemplate)($scope)\n\n $el.html(html)\n\n if not $attrs.tgMembershipsRowActions?\n return $log.error \"MembershipsRowActionsDirective: the directive need a member\"\n\n $ctrl = $el.controller()\n member = $scope.$eval($attrs.tgMembershipsRowActions)\n render(member)\n\n $el.on \"click\", \".pending\", (event) ->\n event.preventDefault()\n onSuccess = ->\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_SEND_INVITATION\", {\n email: $scope.member.email\n })\n $confirm.notify(\"success\", text)\n onError = ->\n text = $translate.instant(\"ADMIM.MEMBERSHIP.ERROR_SEND_INVITATION\")\n $confirm.notify(\"error\", text)\n\n $rs.memberships.resendInvitation($scope.member.id).then(onSuccess, onError)\n\n $el.on \"click\", \".delete\", (event) ->\n event.preventDefault()\n\n title = $translate.instant(\"ADMIN.MEMBERSHIP.DELETE_MEMBER\")\n defaultMsg = $translate.instant(\"ADMIN.MEMBERSHIP.DEFAULT_DELETE_MESSAGE\", {email: member.email})\n message = if member.user then member.full_name else defaultMsg\n\n $confirm.askOnDelete(title, message).then (finish) ->\n onSuccess = ->\n finish()\n\n if $scope.page > 1 && ($scope.count - 1) <= $scope.paginatedBy\n $ctrl.selectFilter(\"page\", $scope.page - 1)\n\n $ctrl.loadMembers()\n\n text = $translate.instant(\"ADMIN.MEMBERSHIP.SUCCESS_DELETE\")\n $confirm.notify(\"success\", null, text)\n\n onError = ->\n finish(false)\n\n text = $translate.instant(\"ADMIN.MEMBERSHIP.ERROR_DELETE\", {message: message})\n $confirm.notify(\"error\", null, text)\n\n $repo.remove(member).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\n\nmodule.directive(\"tgMembershipsRowActions\", [\"$log\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$compile\",\n \"$translate\", MembershipsRowActionsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/nav.coffee\n###\n\nAdminNavigationDirective = ->\n link = ($scope, $el, $attrs) ->\n section = $attrs.tgAdminNavigation\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\"#adminmenu-#{section} a\").addClass(\"active\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule = angular.module(\"taigaAdmin\")\nmodule.directive(\"tgAdminNavigation\", AdminNavigationDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/project-profile.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Profile Controller\n#############################################################################\n\nclass ProjectProfileController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then =>\n sectionName = @translate.instant( @scope.sectionName)\n title = @translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName, projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:loaded\", =>\n sectionName = @translate.instant(@scope.sectionName)\n title = @translate.instant(\"ADMIN.PROJECT_PROFILE.PAGE_TITLE\", {\n sectionName: sectionName, projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.pointsList = _.sortBy(project.points, \"order\")\n @scope.usStatusList = _.sortBy(project.us_statuses, \"order\")\n @scope.taskStatusList = _.sortBy(project.task_statuses, \"order\")\n @scope.prioritiesList = _.sortBy(project.priorities, \"order\")\n @scope.severitiesList = _.sortBy(project.severities, \"order\")\n @scope.issueTypesList = _.sortBy(project.issue_types, \"order\")\n @scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\")\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise\n\n openDeleteLightbox: ->\n @rootscope.$broadcast(\"deletelightbox:new\", @scope.project)\n\nmodule.controller(\"ProjectProfileController\", ProjectProfileController)\n\n\n#############################################################################\n## Project Profile Directive\n#############################################################################\n\nProjectProfileDirective = ($repo, $confirm, $loading, $navurls, $location, projectService) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n })\n $location.path(newUrl)\n\n $ctrl.loadInitialData()\n\n projectService.fetchProject()\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\",\n \"tgProjectService\", ProjectProfileDirective])\n\n\n#############################################################################\n## Project Default Values Directive\n#############################################################################\n\nProjectDefaultValuesDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\",\n ProjectDefaultValuesDirective])\n\n#############################################################################\n## Project Modules Directive\n#############################################################################\n\nProjectModulesDirective = ($repo, $confirm, $loading, projectService) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley()\n submit = =>\n return if not form.validate()\n target = angular.element(\".admin-functionalities .submit-button\")\n currentLoading = $loading()\n .target(target)\n .start()\n\n promise = $repo.save($scope.project)\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:loaded\", $scope.project)\n\n projectService.fetchProject()\n\n promise.then null, (data) ->\n currentLoading.finish()\n $confirm.notify(\"error\", data._error_message)\n\n $el.on \"submit\", \"form\", (event) ->\n event.preventDefault()\n submit()\n\n $el.on \"click\", \".admin-functionalities a.button-green\", (event) ->\n event.preventDefault()\n submit()\n\n $scope.$watch \"isVideoconferenceActivated\", (isVideoconferenceActivated) ->\n if isVideoconferenceActivated\n $el.find(\".videoconference-attributes\").removeClass(\"hidden\")\n else\n $el.find(\".videoconference-attributes\").addClass(\"hidden\")\n $scope.project.videoconferences = null\n $scope.project.videoconferences_salt = \"\"\n\n $scope.$watch \"project\", (project) ->\n if project.videoconferences?\n $scope.isVideoconferenceActivated = true\n else\n $scope.isVideoconferenceActivated = false\n\n return {link:link}\n\nmodule.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"tgProjectService\",\n ProjectModulesDirective])\n\n\n#############################################################################\n## Project Export Directive\n#############################################################################\n\nProjectExportDirective = ($window, $rs, $confirm, $translate) ->\n link = ($scope, $el, $attrs) ->\n buttonsEl = $el.find(\".admin-project-export-buttons\")\n showButtons = -> buttonsEl.removeClass(\"hidden\")\n hideButtons = -> buttonsEl.addClass(\"hidden\")\n\n resultEl = $el.find(\".admin-project-export-result\")\n showResult = -> resultEl.removeClass(\"hidden\")\n hideResult = -> resultEl.addClass(\"hidden\")\n\n spinnerEl = $el.find(\".spin\")\n showSpinner = -> spinnerEl.removeClass(\"hidden\")\n hideSpinner = -> spinnerEl.addClass(\"hidden\")\n\n resultTitleEl = $el.find(\".result-title\")\n\n\n loading_title = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_TITLE\")\n loading_msg = $translate.instant(\"ADMIN.PROJECT_EXPORT.LOADING_MESSAGE\")\n dump_ready_text = -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.DUMP_READY\"))\n asyn_message = -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.ASYNC_MESSAGE\"))\n syn_message = (url) -> resultTitleEl.html($translate.instant(\"ADMIN.PROJECT_EXPORT.SYNC_MESSAGE\", {\n url: url}))\n\n setLoadingTitle = -> resultTitleEl.html(loading_title)\n setAsyncTitle = -> resultTitleEl.html(loading_msg)\n setSyncTitle = -> resultTitleEl.html(dump_ready_text)\n\n resultMessageEl = $el.find(\".result-message \")\n setLoadingMessage = -> resultMessageEl.html(loading_msg)\n setAsyncMessage = -> resultMessageEl.html(asyn_message)\n setSyncMessage = (url) -> resultMessageEl.html(syn_message(url))\n\n showLoadingMode = ->\n showSpinner()\n setLoadingTitle()\n setLoadingMessage()\n hideButtons()\n showResult()\n\n showExportResultAsyncMode = ->\n hideSpinner()\n setAsyncTitle()\n setAsyncMessage()\n\n showExportResultSyncMode = (url) ->\n hideSpinner()\n setSyncTitle()\n setSyncMessage(url)\n\n showErrorMode = ->\n hideSpinner()\n hideResult()\n showButtons()\n\n $el.on \"click\", \"a.button-export\", debounce 2000, (event) =>\n event.preventDefault()\n\n onSuccess = (result) =>\n if result.status == 202 # Async mode\n showExportResultAsyncMode()\n else #result.status == 200 # Sync mode\n dumpUrl = result.data.url\n showExportResultSyncMode(dumpUrl)\n $window.open(dumpUrl, \"_blank\")\n\n onError = (result) =>\n showErrorMode()\n\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR\")\n\n if result.status == 429 # TOO MANY REQUESTS\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\")\n else if result.data?._error_message\n errorMsg = $translate.instant(\"ADMIN.PROJECT_EXPORT.ERROR_BUSY\", {\n message: result.data._error_message})\n\n $confirm.notify(\"error\", errorMsg)\n\n showLoadingMode()\n $rs.projects.export($scope.projectId).then(onSuccess, onError)\n\n return {link:link}\n\nmodule.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", \"$translate\",\n ProjectExportDirective])\n\n\n#############################################################################\n## CSV Export Controllers\n#############################################################################\n\nclass CsvExporterController extends taiga.Controller\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgUrls\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @urls, @confirm, @rs, @translate) ->\n @rootscope.$on(\"project:loaded\", @.setCsvUuid)\n @scope.$watch \"csvUuid\", (value) =>\n if value\n @scope.csvUrl = @urls.resolveAbsolute(\"#{@.type}-csv\", value)\n else\n @scope.csvUrl = \"\"\n\n setCsvUuid: =>\n @scope.csvUuid = @scope.project[\"#{@.type}_csv_uuid\"]\n\n _generateUuid: (finish) =>\n promise = @rs.projects[\"regenerate_#{@.type}_csv_uuid\"](@scope.projectId)\n\n promise.then (data) =>\n @scope.csvUuid = data.data?.uuid\n\n promise.then null, =>\n @confirm.notify(\"error\")\n\n promise.finally ->\n finish()\n return promise\n\n regenerateUuid: ->\n if @scope.csvUuid\n title = @translate.instant(\"ADMIN.REPORTS.REGENERATE_TITLE\")\n subtitle = @translate.instant(\"ADMIN.REPORTS.REGENERATE_SUBTITLE\")\n\n @confirm.ask(title, subtitle).then @._generateUuid\n else\n @._generateUuid(_.identity)\n\n\nclass CsvExporterUserstoriesController extends CsvExporterController\n type: \"userstories\"\n\n\nclass CsvExporterTasksController extends CsvExporterController\n type: \"tasks\"\n\n\nclass CsvExporterIssuesController extends CsvExporterController\n type: \"issues\"\n\n\nmodule.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController)\nmodule.controller(\"CsvExporterTasksController\", CsvExporterTasksController)\nmodule.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController)\n\n\n#############################################################################\n## CSV Directive\n#############################################################################\n\nCsvUsDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_US\"\n\n return {\n controller: \"CsvExporterUserstoriesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvUs\", [\"$translate\", CsvUsDirective])\n\n\nCsvTaskDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_TASK\"\n\n return {\n controller: \"CsvExporterTasksController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvTask\", [\"$translate\", CsvTaskDirective])\n\n\nCsvIssueDirective = ($translate) ->\n link = ($scope) ->\n $scope.sectionTitle = \"ADMIN.CSV.SECTION_TITLE_ISSUE\"\n\n return {\n controller: \"CsvExporterIssuesController\",\n controllerAs: \"ctrl\",\n templateUrl: \"admin/project-csv.html\",\n link: link,\n scope: true\n }\n\nmodule.directive(\"tgCsvIssue\", [\"$translate\", CsvIssueDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/project-profile.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ntrim = @.taiga.trim\ntoString = @.taiga.toString\njoinStr = @.taiga.joinStr\ngroupBy = @.taiga.groupBy\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaAdmin\")\n\n#############################################################################\n## Project values section Controller\n#############################################################################\n\nclass ProjectValuesSectionController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n sectionName = @translate.instant(@scope.sectionName)\n\n title = @translate.instant(\"ADMIN.PROJECT_VALUES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": @scope.project.name\n })\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n return promise\n\n\nmodule.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController)\n\n#############################################################################\n## Project values Controller\n#############################################################################\n\nclass ProjectValuesController extends taiga.Controller\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs) ->\n @scope.$on(\"admin:project-values:move\", @.moveValue)\n @rootscope.$on(\"project:loaded\", @.loadValues)\n\n loadValues: =>\n return @rs[@scope.resource].listValues(@scope.projectId, @scope.type).then (values) =>\n @scope.values = values\n @scope.maxValueOrder = _.max(values, \"order\").order\n return values\n\n moveValue: (ctx, itemValue, itemIndex) =>\n values = @scope.values\n r = values.indexOf(itemValue)\n values.splice(r, 1)\n values.splice(itemIndex, 0, itemValue)\n _.each values, (value, index) ->\n value.order = index\n\n @repo.saveAll(values)\n\nmodule.controller(\"ProjectValuesController\", ProjectValuesController)\n\n\n#############################################################################\n## Project values directive\n#############################################################################\n\nProjectValuesDirective = ($log, $repo, $confirm, $location, animationFrame, $translate, $rootscope) ->\n ## Drag & Drop Link\n\n linkDragAndDrop = ($scope, $el, $attrs) ->\n oldParentScope = null\n newParentScope = null\n itemEl = null\n tdom = $el.find(\".sortable\")\n\n tdom.sortable({\n handle: \".row.table-main.visualization\",\n dropOnEmpty: true\n connectWith: \".project-values-body\"\n revert: 400\n axis: \"y\"\n })\n\n tdom.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n itemValue = itemEl.scope().value\n itemIndex = itemEl.index()\n $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n ## Value Link\n\n linkValue = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n valueType = $attrs.type\n objName = $attrs.objname\n\n initializeNewValue = ->\n $scope.newValue = {\n \"name\": \"\"\n \"is_closed\": false\n \"is_archived\": false\n }\n\n initializeTextTranslations = ->\n $scope.addNewElementText = $translate.instant(\"ADMIN.PROJECT_VALUES_#{objName.toUpperCase()}.ACTION_ADD\")\n\n initializeNewValue()\n initializeTextTranslations()\n\n $rootscope.$on \"$translateChangeEnd\", ->\n $scope.$evalAsync(initializeTextTranslations)\n\n goToBottomList = (focus = false) =>\n table = $el.find(\".table-main\")\n\n $(document.body).scrollTop(table.offset().top + table.height())\n\n if focus\n $el.find(\".new-value input:visible\").first().focus()\n\n saveValue = (target) ->\n formEl = target.parents(\"form\")\n form = formEl.checksley()\n return if not form.validate()\n\n value = formEl.scope().value\n promise = $repo.save(value)\n promise.then =>\n row = target.parents(\".row.table-main\")\n row.addClass(\"hidden\")\n row.siblings(\".visualization\").removeClass('hidden')\n\n promise.then null, (data) ->\n form.setErrors(data)\n\n saveNewValue = (target) ->\n formEl = target.parents(\"form\")\n form = formEl.checksley()\n return if not form.validate()\n\n $scope.newValue.project = $scope.project.id\n\n $scope.newValue.order = if $scope.maxValueOrder then $scope.maxValueOrder + 1 else 1\n\n promise = $repo.create(valueType, $scope.newValue)\n promise.then (data) =>\n target.addClass(\"hidden\")\n\n $scope.values.push(data)\n $scope.maxValueOrder = data.order\n initializeNewValue()\n\n promise.then null, (data) ->\n form.setErrors(data)\n\n cancel = (target) ->\n row = target.parents(\".row.table-main\")\n formEl = target.parents(\"form\")\n value = formEl.scope().value\n $scope.$apply ->\n row.addClass(\"hidden\")\n value.revert()\n row.siblings(\".visualization\").removeClass('hidden')\n\n $el.on \"click\", \".show-add-new\", (event) ->\n event.preventDefault()\n $el.find(\".new-value\").removeClass('hidden')\n\n goToBottomList(true)\n\n $el.on \"click\", \".add-new\", debounce 2000, (event) ->\n event.preventDefault()\n target = $el.find(\".new-value\")\n saveNewValue(target)\n\n $el.on \"click\", \".delete-new\", (event) ->\n event.preventDefault()\n $el.find(\".new-value\").addClass(\"hidden\")\n initializeNewValue()\n\n $el.on \"click\", \".edit-value\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n\n row = target.parents(\".row.table-main\")\n row.addClass(\"hidden\")\n\n editionRow = row.siblings(\".edition\")\n editionRow.removeClass('hidden')\n editionRow.find('input:visible').first().focus().select()\n\n $el.on \"keyup\", \".edition input\", (event) ->\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n saveValue(target)\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"keyup\", \".new-value input\", (event) ->\n if event.keyCode == 13\n target = $el.find(\".new-value\")\n saveNewValue(target)\n else if event.keyCode == 27\n $el.find(\".new-value\").addClass(\"hidden\")\n initializeNewValue()\n\n $el.on \"click\", \".save\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n saveValue(target)\n\n $el.on \"click\", \".cancel\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"click\", \".delete-value\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.parents(\"form\")\n value = formEl.scope().value\n\n choices = {}\n _.each $scope.values, (option) ->\n if value.id != option.id\n choices[option.id] = option.name\n\n subtitle = value.name\n\n if _.keys(choices).length == 0\n return $confirm.error(\"ADMIN.PROJECT_VALUES.ERROR_DELETE_ALL\")\n\n title = $translate.instant(\"ADMIN.COMMON.TITLE_ACTION_DELETE_VALUE\")\n text = $translate.instant(\"ADMIN.PROJECT_VALUES.REPLACEMENT\")\n\n $confirm.askChoice(title, subtitle, choices, text).then (response) ->\n onSucces = ->\n $ctrl.loadValues().finally ->\n response.finish()\n onError = ->\n $confirm.notify(\"error\")\n $repo.remove(value, {\"moveTo\": response.selected}).then(onSucces, onError)\n\n link = ($scope, $el, $attrs) ->\n linkDragAndDrop($scope, $el, $attrs)\n linkValue($scope, $el, $attrs)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", \"$translate\", \"$rootScope\", ProjectValuesDirective])\n\n\n#############################################################################\n## Color selection directive\n#############################################################################\n\nColorSelectionDirective = () ->\n ## Color selection Link\n\n link = ($scope, $el, $attrs, $model) ->\n $ctrl = $el.controller()\n\n $scope.$watch $attrs.ngModel, (element) ->\n $scope.color = element.color\n\n $el.on \"click\", \".current-color\", (event) ->\n # Showing the color selector\n event.preventDefault()\n event.stopPropagation()\n target = angular.element(event.currentTarget)\n $el.find(\".select-color\").hide()\n target.siblings(\".select-color\").show()\n # Hide when click outside\n body = angular.element(\"body\")\n body.on \"click\", (event) =>\n if angular.element(event.target).parent(\".select-color\").length == 0\n $el.find(\".select-color\").hide()\n body.unbind(\"click\")\n\n $el.on \"click\", \".select-color .color\", (event) ->\n # Selecting one color on color selector\n event.preventDefault()\n target = angular.element(event.currentTarget)\n $scope.$apply ->\n $model.$modelValue.color = target.data(\"color\")\n $el.find(\".select-color\").hide()\n\n $el.on \"click\", \".select-color .selected-color\", (event) ->\n event.preventDefault()\n $scope.$apply ->\n $model.$modelValue.color = $scope.color\n $el.find(\".select-color\").hide()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link: link\n require:\"ngModel\"\n }\n\nmodule.directive(\"tgColorSelection\", ColorSelectionDirective)\n\n\n#############################################################################\n## Custom Attributes Controller\n#############################################################################\n\nclass ProjectCustomAttributesController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @rs, @params, @q, @location, @navUrls, @appMetaService,\n @translate) ->\n @scope.project = {}\n\n @rootscope.$on \"project:loaded\", =>\n @.loadCustomAttributes()\n\n sectionName = @translate.instant(@scope.sectionName)\n title = @translate.instant(\"ADMIN.CUSTOM_ATTRIBUTES.PAGE_TITLE\", {\n \"sectionName\": sectionName,\n \"projectName\": @scope.project.name\n })\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n #########################\n # Custom Attribute\n #########################\n\n loadCustomAttributes: =>\n return @rs.customAttributes[@scope.type].list(@scope.projectId).then (customAttributes) =>\n @scope.customAttributes = customAttributes\n @scope.maxOrder = _.max(customAttributes, \"order\").order\n return customAttributes\n\n createCustomAttribute: (attrValues) =>\n return @repo.create(\"custom-attributes/#{@scope.type}\", attrValues)\n\n saveCustomAttribute: (attrModel) =>\n return @repo.save(attrModel)\n\n deleteCustomAttribute: (attrModel) =>\n return @repo.remove(attrModel)\n\n moveCustomAttributes: (attrModel, newIndex) =>\n customAttributes = @scope.customAttributes\n r = customAttributes.indexOf(attrModel)\n customAttributes.splice(r, 1)\n customAttributes.splice(newIndex, 0, attrModel)\n\n _.each customAttributes, (val, idx) ->\n val.order = idx\n\n @repo.saveAll(customAttributes)\n\n\nmodule.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController)\n\n\n#############################################################################\n## Custom Attributes Directive\n#############################################################################\n\nProjectCustomAttributesDirective = ($log, $confirm, animationFrame, $translate) ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n ##################################\n # Drag & Drop\n ##################################\n sortableEl = $el.find(\".js-sortable\")\n\n sortableEl.sortable({\n handle: \".js-view-custom-field\",\n dropOnEmpty: true\n revert: 400\n axis: \"y\"\n })\n\n sortableEl.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n itemAttr = itemEl.scope().attr\n itemIndex = itemEl.index()\n $ctrl.moveCustomAttributes(itemAttr, itemIndex)\n\n ##################################\n # New custom attribute\n ##################################\n\n showCreateForm = ->\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\")\n $el.find(\".js-new-custom-field input:visible\").first().focus()\n\n hideCreateForm = ->\n $el.find(\".js-new-custom-field\").addClass(\"hidden\")\n\n showAddButton = ->\n $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\")\n\n hideAddButton = ->\n $el.find(\".js-add-custom-field-button\").addClass(\"hidden\")\n\n showCancelButton = ->\n $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\")\n\n hideCancelButton = ->\n $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\")\n\n resetNewAttr = ->\n $scope.newAttr = {}\n\n create = (formEl) ->\n form = formEl.checksley()\n return if not form.validate()\n\n onSucces = =>\n $ctrl.loadCustomAttributes()\n hideCreateForm()\n resetNewAttr()\n $confirm.notify(\"success\")\n\n onError = (data) =>\n form.setErrors(data)\n\n attr = $scope.newAttr\n attr.project = $scope.projectId\n attr.order = if $scope.maxOrder then $scope.maxOrder + 1 else 1\n\n $ctrl.createCustomAttribute(attr).then(onSucces, onError)\n\n cancelCreate = ->\n hideCreateForm()\n resetNewAttr()\n\n $scope.$watch \"customAttributes\", (customAttributes) ->\n return if not customAttributes\n\n if customAttributes.length == 0\n hideCancelButton()\n hideAddButton()\n showCreateForm()\n else\n hideCreateForm()\n showAddButton()\n showCancelButton()\n\n $el.on \"click\", \".js-add-custom-field-button\", (event) ->\n event.preventDefault()\n\n showCreateForm()\n\n $el.on \"click\", \".js-create-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n create(formEl)\n\n $el.on \"click\", \".js-cancel-new-custom-field-button\", (event) ->\n event.preventDefault()\n\n cancelCreate()\n\n $el.on \"keyup\", \".js-new-custom-field input\", (event) ->\n if event.keyCode == 13 # Enter\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n create(formEl)\n else if event.keyCode == 27 # Esc\n cancelCreate()\n\n ##################################\n # Edit custom attribute\n ##################################\n\n showEditForm = (formEl) ->\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\")\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\")\n formEl.find(\".js-edit-custom-field input:visible\").first().focus().select()\n\n hideEditForm = (formEl) ->\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\")\n formEl.find(\".js-view-custom-field\").removeClass(\"hidden\")\n\n revertChangesInCustomAttribute = (formEl) ->\n $scope.$apply ->\n formEl.scope().attr.revert()\n\n update = (formEl) ->\n form = formEl.checksley()\n return if not form.validate()\n\n onSucces = =>\n $ctrl.loadCustomAttributes()\n hideEditForm(formEl)\n $confirm.notify(\"success\")\n\n onError = (data) =>\n form.setErrors(data)\n\n attr = formEl.scope().attr\n $ctrl.saveCustomAttribute(attr).then(onSucces, onError)\n\n cancelUpdate = (formEl) ->\n hideEditForm(formEl)\n revertChangesInCustomAttribute(formEl)\n\n $el.on \"click\", \".js-edit-custom-field-button\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n showEditForm(formEl)\n\n $el.on \"click\", \".js-update-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n update(formEl)\n\n $el.on \"click\", \".js-cancel-edit-custom-field-button\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n cancelUpdate(formEl)\n\n $el.on \"keyup\", \".js-edit-custom-field input\", (event) ->\n if event.keyCode == 13 # Enter\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n update(formEl)\n else if event.keyCode == 27 # Esc\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n cancelUpdate(formEl)\n\n ##################################\n # Delete custom attribute\n ##################################\n\n deleteCustomAttribute = (formEl) ->\n attr = formEl.scope().attr\n message = attr.name\n\n title = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.DELETE\")\n text = $translate.instant(\"COMMON.CUSTOM_ATTRIBUTES.CONFIRM_DELETE\")\n\n $confirm.ask(title, text, message).then (finish) ->\n onSucces = ->\n $ctrl.loadCustomAttributes().finally ->\n finish()\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\", null, \"We have not been able to delete '#{message}'.\")\n\n $ctrl.deleteCustomAttribute(attr).then(onSucces, onError)\n\n $el.on \"click\", \".js-delete-custom-field-button\", debounce 2000, (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n formEl = target.closest(\"form\")\n\n deleteCustomAttribute(formEl)\n\n return {link: link}\n\nmodule.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", \"$translate\",\n ProjectCustomAttributesDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/memberships.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\nbindMethods = @.taiga.bindMethods\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Project Roles Controller\n#############################################################################\n\nclass RolesController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = \"ADMIN.MENU.PERMISSIONS\"\n @scope.project = {}\n @scope.anyComputableRole = true\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.ROLES.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n\n @scope.$emit('project:loaded', project)\n @scope.anyComputableRole = _.some(_.map(project.roles, (point) -> point.computable))\n\n return project\n\n loadRoles: ->\n return @rs.roles.list(@scope.projectId).then (roles) =>\n roles = roles.map (role) ->\n role.external_user = false\n\n return role\n\n public_permission = {\n \"name\": @translate.instant(\"ADMIN.ROLES.EXTERNAL_USER\"),\n \"permissions\": @scope.project.public_permissions,\n \"external_user\": true\n }\n\n roles.push(public_permission)\n\n @scope.roles = roles\n @scope.role = @scope.roles[0]\n return roles\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadRoles())\n return promise\n\n setRole: (role) ->\n @scope.role = role\n @scope.$broadcast(\"role:changed\", @scope.role)\n\n delete: ->\n choices = {}\n for role in @scope.roles\n if role.id != @scope.role.id\n choices[role.id] = role.name\n\n if _.keys(choices).length == 0\n return @confirm.error(@translate.instant(\"ADMIN.ROLES.ERROR_DELETE_ALL\"))\n\n title = @translate.instant(\"ADMIN.ROLES.TITLE_DELETE_ROLE\")\n subtitle = @scope.role.name\n replacement = @translate.instant(\"ADMIN.ROLES.REPLACEMENT_ROLE\")\n warning = @translate.instant(\"ADMIN.ROLES.WARNING_DELETE_ROLE\")\n return @confirm.askChoice(title, subtitle, choices, replacement, warning).then (response) =>\n onSuccess = =>\n @.loadProject()\n @.loadRoles().finally =>\n response.finish()\n onError = =>\n @confirm.notify('error')\n\n return @repo.remove(@scope.role, {moveTo: response.selected}).then onSuccess, onError\n\n setComputable: debounce 2000, ->\n onSuccess = =>\n @confirm.notify(\"success\")\n @.loadProject()\n\n onError = =>\n @confirm.notify(\"error\")\n @scope.role.revert()\n\n @repo.save(@scope.role).then onSuccess, onError\n\n\nmodule.controller(\"RolesController\", RolesController)\n\nEditRoleDirective = ($repo, $confirm) ->\n link = ($scope, $el, $attrs) ->\n toggleView = ->\n $el.find('.total').toggle()\n $el.find('.edit-role').toggle()\n\n submit = () ->\n $scope.role.name = $el.find(\"input\").val()\n\n promise = $repo.save($scope.role)\n\n promise.then ->\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n\n toggleView()\n\n $el.on \"click\", \"a.icon-edit\", ->\n toggleView()\n $el.find(\"input\").focus()\n $el.find(\"input\").val($scope.role.name)\n\n $el.on \"click\", \"a.save\", submit\n\n $el.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13 # Enter key\n submit()\n else if event.keyCode == 27 # ESC key\n toggleView()\n\n $scope.$on \"role:changed\", ->\n if $el.find('.edit-role').is(\":visible\")\n toggleView()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgEditRole\", [\"$tgRepo\", \"$tgConfirm\", EditRoleDirective])\n\nRolesDirective = ->\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgRoles\", RolesDirective)\n\nNewRoleDirective = ($tgrepo, $confirm) ->\n DEFAULT_PERMISSIONS = [\"view_project\", \"view_milestones\", \"view_us\", \"view_tasks\", \"view_issues\"]\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $el.on \"click\", \"a.add-button\", (event) ->\n event.preventDefault()\n $el.find(\".new\").removeClass(\"hidden\")\n $el.find(\".new\").focus()\n $el.find(\".add-button\").hide()\n\n $el.on \"keyup\", \".new\", (event) ->\n event.preventDefault()\n if event.keyCode == 13 # Enter key\n target = angular.element(event.currentTarget)\n newRole = {\n project: $scope.projectId\n name: target.val()\n permissions: DEFAULT_PERMISSIONS\n order: _.max($scope.roles, (r) -> r.order).order + 1\n computable: false\n }\n\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new\").val('')\n\n onSuccess = (role) ->\n insertPosition = $scope.roles.length - 1\n $scope.roles.splice(insertPosition, 0, role)\n $ctrl.setRole(role)\n $el.find(\".add-button\").show()\n $ctrl.loadProject()\n\n onError = ->\n $confirm.notify(\"error\")\n\n $tgrepo.create(\"roles\", newRole).then(onSuccess, onError)\n\n else if event.keyCode == 27 # ESC key\n target = angular.element(event.currentTarget)\n $el.find(\".new\").addClass(\"hidden\")\n $el.find(\".new\").val('')\n $el.find(\".add-button\").show()\n\n return {link:link}\n\nmodule.directive(\"tgNewRole\", [\"$tgRepo\", \"$tgConfirm\", NewRoleDirective])\n\n\n# Use category-config.scss styles\nRolePermissionsDirective = ($rootscope, $repo, $confirm, $compile) ->\n resumeTemplate = _.template(\"\"\"\n
\">
\n
\n
<%- category.activePermissions %>/<%- category.permissions.length %>
\n <% _.each(category.permissions, function(permission) { %>\n
active<% } %>\"\n title=\"{{ '<%- permission.name %>' | translate }}\">
\n <% }) %>\n
\n
\n \"\"\")\n\n categoryTemplate = _.template(\"\"\"\n
\">\n
\n
\n
\n
\n <% _.each(category.permissions, function(permission) { %>\n
\">\n \">\n
\n disabled=\"disabled\" <% } %>\n <% if(permission.active) { %> checked=\"checked\" <% } %>/>\n
\n \n \n
\n
\n <% }) %>\n
\n
\n
\n \"\"\")\n\n baseTemplate = _.template(\"\"\"\n
\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n $ctrl = $el.controller()\n\n generateCategoriesFromRole = (role) ->\n setActivePermissions = (permissions) ->\n return _.map(permissions, (x) -> _.extend({}, x, {active: x[\"key\"] in role.permissions}))\n\n isPermissionEditable = (permission, role, project) ->\n if role.external_user &&\n !project.is_private &&\n permission.key.indexOf(\"view_\") == 0\n return false\n else\n return true\n\n setActivePermissionsPerCategory = (category) ->\n return _.map(category, (cat) ->\n cat.permissions = cat.permissions.map (permission) ->\n permission.editable = isPermissionEditable(permission, role, $scope.project)\n\n return permission\n\n _.extend({}, cat, {\n activePermissions: _.filter(cat[\"permissions\"], \"active\").length\n })\n )\n\n categories = []\n\n milestonePermissions = [\n { key: \"view_milestones\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.VIEW_SPRINTS\"}\n { key: \"add_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.ADD_SPRINTS\"}\n { key: \"modify_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.MODIFY_SPRINTS\"}\n { key: \"delete_milestone\", name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.DELETE_SPRINTS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.SPRINTS.NAME\",\n permissions: setActivePermissions(milestonePermissions)\n })\n\n userStoryPermissions = [\n { key: \"view_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.VIEW_USER_STORIES\"}\n { key: \"add_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.ADD_USER_STORIES\"}\n { key: \"modify_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.MODIFY_USER_STORIES\"}\n { key: \"delete_us\", name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.DELETE_USER_STORIES\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.USER_STORIES.NAME\",\n permissions: setActivePermissions(userStoryPermissions)\n })\n\n taskPermissions = [\n { key: \"view_tasks\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.VIEW_TASKS\"}\n { key: \"add_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.ADD_TASKS\"}\n { key: \"modify_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.MODIFY_TASKS\"}\n { key: \"delete_task\", name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.DELETE_TASKS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.TASKS.NAME\" ,\n permissions: setActivePermissions(taskPermissions)\n })\n\n issuePermissions = [\n { key: \"view_issues\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.VIEW_ISSUES\"}\n { key: \"add_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.ADD_ISSUES\"}\n { key: \"modify_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.MODIFY_ISSUES\"}\n { key: \"delete_issue\", name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.DELETE_ISSUES\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.ISSUES.NAME\",\n permissions: setActivePermissions(issuePermissions)\n })\n\n wikiPermissions = [\n { key: \"view_wiki_pages\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_PAGES\"}\n { key: \"add_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_PAGES\"}\n { key: \"modify_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.MODIFY_WIKI_PAGES\"}\n { key: \"delete_wiki_page\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_PAGES\"}\n { key: \"view_wiki_links\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.VIEW_WIKI_LINKS\"}\n { key: \"add_wiki_link\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.ADD_WIKI_LINKS\"}\n { key: \"delete_wiki_link\", name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.DELETE_WIKI_LINKS\"}\n ]\n categories.push({\n name: \"COMMON.PERMISIONS_CATEGORIES.WIKI.NAME\",\n permissions: setActivePermissions(wikiPermissions)\n })\n\n return setActivePermissionsPerCategory(categories)\n\n renderResume = (element, category) ->\n element.find(\".resume\").html($compile(resumeTemplate({category: category}))($scope))\n\n renderCategory = (category, index) ->\n html = categoryTemplate({category: category, index: index})\n html = angular.element(html)\n renderResume(html, category)\n return $compile(html)($scope)\n\n renderPermissions = () ->\n $el.off()\n html = baseTemplate()\n _.each generateCategoriesFromRole($scope.role), (category, index) ->\n html = angular.element(html).append(renderCategory(category, index))\n\n $el.html(html)\n $el.on \"click\", \".resume\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n target.next().toggleClass(\"open\")\n\n $el.on \"change\", \".category-item input\", (event) ->\n getActivePermissions = ->\n activePermissions = _.filter($el.find(\".category-item input\"), (t) ->\n angular.element(t).is(\":checked\")\n )\n activePermissions = _.sortBy(_.map(activePermissions, (t) ->\n permission = angular.element(t).parents(\".category-item\").data(\"id\")\n ))\n\n if activePermissions.length\n activePermissions.push(\"view_project\")\n\n return activePermissions\n\n target = angular.element(event.currentTarget)\n\n $scope.role.permissions = getActivePermissions()\n\n onSuccess = () ->\n categories = generateCategoriesFromRole($scope.role)\n categoryId = target.parents(\".category-config\").data(\"id\")\n renderResume(target.parents(\".category-config\"), categories[categoryId])\n $rootscope.$broadcast(\"projects:reload\")\n $confirm.notify(\"success\")\n $ctrl.loadProject()\n\n onError = ->\n $confirm.notify(\"error\")\n target.prop \"checked\", !target.prop(\"checked\")\n $scope.role.permissions = getActivePermissions()\n\n if $scope.role.external_user\n $scope.project.public_permissions = $scope.role.permissions\n $scope.project.anon_permissions = $scope.role.permissions.filter (permission) ->\n return permission.indexOf(\"view_\") == 0\n\n $repo.save($scope.project).then onSuccess, onError\n else\n $repo.save($scope.role).then onSuccess, onError\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n $scope.$on \"role:changed\", ->\n renderPermissions()\n\n bindOnce($scope, $attrs.ngModel, renderPermissions)\n\n return {link:link}\n\nmodule.directive(\"tgRolePermissions\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\",\n RolePermissionsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/admin/third-parties.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\nbindMethods = @.taiga.bindMethods\ndebounce = @.taiga.debounce\ntimeout = @.taiga.timeout\n\nmodule = angular.module(\"taigaAdmin\")\n\n\n#############################################################################\n## Webhooks\n#############################################################################\n\nclass WebhooksController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @location, @navUrls, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = \"ADMIN.WEBHOOKS.SECTION_NAME\"\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.WEBHOOKS.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"webhooks:reload\", @.loadWebhooks\n\n loadWebhooks: ->\n return @rs.webhooks.list(@scope.projectId).then (webhooks) =>\n @scope.webhooks = webhooks\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n if not project.i_am_owner\n @location.path(@navUrls.resolve(\"permission-denied\"))\n\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then =>\n @.loadWebhooks()\n\n return promise\n\nmodule.controller(\"WebhooksController\", WebhooksController)\n\n\n#############################################################################\n## Webhook Directive\n#############################################################################\n\nWebhookDirective = ($rs, $repo, $confirm, $loading, $translate) ->\n link = ($scope, $el, $attrs) ->\n webhook = $scope.$eval($attrs.tgWebhook)\n\n updateLogs = () ->\n prettyDate = $translate.instant(\"ADMIN.WEBHOOKS.DATE\")\n\n $rs.webhooklogs.list(webhook.id).then (webhooklogs) =>\n for log in webhooklogs\n log.validStatus = 200 <= log.status < 300\n log.prettySentHeaders = _.map(_.pairs(log.request_headers), ([header, value]) -> \"#{header}: #{value}\").join(\"\\n\")\n log.prettySentData = JSON.stringify(log.request_data)\n log.prettyDate = moment(log.created).format(prettyDate)\n\n webhook.logs_counter = webhooklogs.length\n webhook.logs = webhooklogs\n updateShowHideHistoryText()\n\n updateShowHideHistoryText = () ->\n textElement = $el.find(\".toggle-history\")\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\")\n\n if historyElement.hasClass(\"open\")\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY\")\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_HIDE_HISTORY_TITLE\")\n else\n text = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY\")\n title = $translate.instant(\"ADMIN.WEBHOOKS.ACTION_SHOW_HISTORY_TITLE\")\n\n textElement.text(text)\n textElement.prop(\"title\", title)\n\n showVisualizationMode = () ->\n $el.find(\".edition-mode\").addClass(\"hidden\")\n $el.find(\".visualization-mode\").removeClass(\"hidden\")\n\n showEditMode = () ->\n $el.find(\".visualization-mode\").addClass(\"hidden\")\n $el.find(\".edition-mode\").removeClass(\"hidden\")\n\n openHistory = () ->\n $el.find(\".webhooks-history\").addClass(\"open\")\n\n cancel = () ->\n showVisualizationMode()\n $scope.$apply ->\n webhook.revert()\n\n save = debounce 2000, (target) ->\n form = target.parents(\"form\").checksley()\n return if not form.validate()\n promise = $repo.save(webhook)\n promise.then =>\n showVisualizationMode()\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n form.setErrors(data)\n\n $el.on \"click\", \".test-webhook\", () ->\n openHistory()\n $rs.webhooks.test(webhook.id).then =>\n updateLogs()\n\n $el.on \"click\", \".edit-webhook\", () ->\n showEditMode()\n\n $el.on \"click\", \".cancel-existing\", () ->\n cancel()\n\n $el.on \"click\", \".edit-existing\", (event) ->\n event.preventDefault()\n target = angular.element(event.currentTarget)\n save(target)\n\n $el.on \"keyup\", \".edition-mode input\", (event) ->\n if event.keyCode == 13\n target = angular.element(event.currentTarget)\n save(target)\n else if event.keyCode == 27\n target = angular.element(event.currentTarget)\n cancel(target)\n\n $el.on \"click\", \".delete-webhook\", () ->\n title = $translate.instant(\"ADMIN.WEBHOOKS.DELETE\")\n message = $translate.instant(\"ADMIN.WEBHOOKS.WEBHOOK_NAME\", {name: webhook.name})\n\n $confirm.askOnDelete(title, message).then (finish) =>\n onSucces = ->\n finish()\n $scope.$emit(\"webhooks:reload\")\n\n onError = ->\n finish(false)\n $confirm.notify(\"error\")\n\n $repo.remove(webhook).then(onSucces, onError)\n\n $el.on \"click\", \".toggle-history\", (event) ->\n target = angular.element(event.currentTarget)\n if not webhook.logs? or webhook.logs.length == 0\n updateLogs().then ->\n #Waiting for ng-repeat to finish\n timeout 0, ->\n $el.find(\".webhooks-history\").toggleClass(\"open\")\n updateShowHideHistoryText()\n\n else\n $el.find(\".webhooks-history\").toggleClass(\"open\")\n $scope.$apply () ->\n updateShowHideHistoryText()\n\n\n $el.on \"click\", \".history-single\", (event) ->\n target = angular.element(event.currentTarget)\n target.toggleClass(\"history-single-open\")\n target.siblings(\".history-single-response\").toggleClass(\"open\")\n\n $el.on \"click\", \".resend-request\", (event) ->\n target = angular.element(event.currentTarget)\n log = target.data(\"log\")\n $rs.webhooklogs.resend(log).then () =>\n updateLogs()\n\n return {link:link}\n\nmodule.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$translate\",\n WebhookDirective])\n\n\n#############################################################################\n## New webhook Directive\n#############################################################################\n\nNewWebhookDirective = ($rs, $repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n webhook = $scope.$eval($attrs.tgWebhook)\n formDOMNode = $el.find(\".new-webhook-form\")\n addWebhookDOMNode = $el.find(\".add-webhook\")\n initializeNewValue = ->\n $scope.newValue = {\n \"name\": \"\"\n \"url\": \"\"\n \"key\": \"\"\n }\n\n initializeNewValue()\n\n $scope.$watch \"webhooks\", (webhooks) ->\n if webhooks?\n if webhooks.length == 0\n formDOMNode.removeClass(\"hidden\")\n addWebhookDOMNode.addClass(\"hidden\")\n formDOMNode.find(\"input\")[0].focus()\n else\n formDOMNode.addClass(\"hidden\")\n addWebhookDOMNode.removeClass(\"hidden\")\n\n save = debounce 2000, () ->\n form = formDOMNode.checksley()\n return if not form.validate()\n\n $scope.newValue.project = $scope.project.id\n promise = $repo.create(\"webhooks\", $scope.newValue)\n promise.then =>\n $scope.$emit(\"webhooks:reload\")\n initializeNewValue()\n\n promise.then null, (data) ->\n $confirm.notify(\"error\")\n form.setErrors(data)\n\n formDOMNode.on \"click\", \".add-new\", (event) ->\n event.preventDefault()\n save()\n\n formDOMNode.on \"keyup\", \"input\", (event) ->\n if event.keyCode == 13\n save()\n\n formDOMNode.on \"click\", \".cancel-new\", (event) ->\n $scope.$apply ->\n initializeNewValue()\n\n addWebhookDOMNode.on \"click\", (event) ->\n formDOMNode.removeClass(\"hidden\")\n formDOMNode.find(\"input\")[0].focus()\n\n return {link:link}\n\nmodule.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", NewWebhookDirective])\n\n\n#############################################################################\n## Github Controller\n#############################################################################\n\nclass GithubController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.GITHUB.SECTION_NAME\")\n @scope.project = {}\n\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.GITHUB.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"github\").then (github) =>\n @scope.github = github\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"GithubController\", GithubController)\n\n\n#############################################################################\n## Gitlab Controller\n#############################################################################\n\nclass GitlabController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.GITLAB.SECTION_NAME\")\n @scope.project = {}\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.GITLAB.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:modules:reload\", =>\n @.loadModules()\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"gitlab\").then (gitlab) =>\n @scope.gitlab = gitlab\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"GitlabController\", GitlabController)\n\n\n#############################################################################\n## Bitbucket Controller\n#############################################################################\n\nclass BitbucketController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"$scope\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$translate\"\n ]\n\n constructor: (@scope, @repo, @rs, @params, @appMetaService, @translate) ->\n bindMethods(@)\n\n @scope.sectionName = @translate.instant(\"ADMIN.BITBUCKET.SECTION_NAME\")\n @scope.project = {}\n promise = @.loadInitialData()\n\n promise.then () =>\n title = @translate.instant(\"ADMIN.BITBUCKET.PAGE_TITLE\", {projectName: @scope.project.name})\n description = @scope.project.description\n @appMetaService.setAll(title, description)\n\n promise.then null, @.onInitialDataError.bind(@)\n\n @scope.$on \"project:modules:reload\", =>\n @.loadModules()\n\n loadModules: ->\n return @rs.modules.list(@scope.projectId, \"bitbucket\").then (bitbucket) =>\n @scope.bitbucket = bitbucket\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n return project\n\n loadInitialData: ->\n promise = @.loadProject()\n promise.then(=> @.loadModules())\n return promise\n\nmodule.controller(\"BitbucketController\", BitbucketController)\n\n\nSelectInputText = ->\n link = ($scope, $el, $attrs) ->\n $el.on \"click\", \".select-input-content\", () ->\n $el.find(\"input\").select()\n $el.find(\".help-copy\").addClass(\"visible\")\n\n return {link:link}\n\nmodule.directive(\"tgSelectInputText\", SelectInputText)\n\n\n#############################################################################\n## GithubWebhooks Directive\n#############################################################################\n\nGithubWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.github, \"github\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GithubWebhooksDirective])\n\n\n#############################################################################\n## GitlabWebhooks Directive\n#############################################################################\n\nGitlabWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.gitlab, \"gitlab\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:modules:reload\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GitlabWebhooksDirective])\n\n\n#############################################################################\n## BitbucketWebhooks Directive\n#############################################################################\n\nBitbucketWebhooksDirective = ($repo, $confirm, $loading) ->\n link = ($scope, $el, $attrs) ->\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n return if not form.validate()\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.saveAttribute($scope.bitbucket, \"bitbucket\")\n promise.then ->\n currentLoading.finish()\n $confirm.notify(\"success\")\n $scope.$emit(\"project:modules:reload\")\n\n promise.then null, (data) ->\n currentLoading.finish()\n form.setErrors(data)\n if data._error_message\n $confirm.notify(\"error\", data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n return {link:link}\n\nmodule.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", BitbucketWebhooksDirective])\n\n\n#############################################################################\n## Valid Origin IP's Directive\n#############################################################################\nValidOriginIpsDirective = ->\n link = ($scope, $el, $attrs, $ngModel) ->\n $ngModel.$parsers.push (value) ->\n value = $.trim(value)\n if value == \"\"\n return []\n\n return value.split(\",\")\n\n return {\n link: link\n restrict: \"EA\"\n require: \"ngModel\"\n }\n\nmodule.directive(\"tgValidOriginIps\", ValidOriginIpsDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/common/attachments.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ntimeout = @.taiga.timeout\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaProject\")\n\nCreateProject = ($rootscope, $repo, $confirm, $location, $navurls, $rs, $projectUrl, $loading, lightboxService, $cacheFactory, $translate, currentUserService) ->\n link = ($scope, $el, attrs) ->\n $scope.data = {}\n $scope.templates = []\n currentLoading = null\n\n form = $el.find(\"form\").checksley({\"onlyOneErrorElement\": true})\n\n onSuccessSubmit = (response) ->\n # remove all $http cache\n # This is necessary when a project is created with the same name\n # than another deleted in the same session\n $cacheFactory.get('$http').removeAll()\n\n currentLoading.finish()\n $rootscope.$broadcast(\"projects:reload\")\n\n $confirm.notify(\"success\", $translate.instant(\"COMMON.SAVE\"))\n\n $location.url($projectUrl.get(response))\n lightboxService.close($el)\n currentUserService._loadProjects()\n\n onErrorSubmit = (response) ->\n currentLoading.finish()\n form.setErrors(response)\n selectors = []\n for error_field in _.keys(response)\n selectors.push(\"[name=#{error_field}]\")\n $el.find(\".active\").removeClass(\"active\")\n error_step = $el.find(selectors.join(\",\")).first().parents(\".wizard-step\")\n error_step.addClass(\"active\")\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(error_step.data(\"step\"))\n\n submit = (event) =>\n event.preventDefault()\n\n if not form.validate()\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $repo.create(\"projects\", $scope.data)\n promise.then(onSuccessSubmit, onErrorSubmit)\n\n openLightbox = ->\n $scope.data = {\n total_story_points: 100\n total_milestones: 5\n }\n\n if !$scope.templates.length\n $rs.projects.templates().then (result) =>\n $scope.templates = result\n $scope.data.creation_template = _.head(_.filter($scope.templates, (x) -> x.slug == \"scrum\")).id\n else\n $scope.data.creation_template = _.head(_.filter($scope.templates, (x) -> x.slug == \"scrum\")).id\n\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\".create-step1\").addClass(\"active\")\n\n lightboxService.open($el)\n timeout 600, ->\n $el.find(\".progress-bar\").addClass('step1')\n\n $el.on \"click\", \".button-next\", (event) ->\n event.preventDefault()\n\n current = $el.find(\".active\")\n\n valid = true\n for field in form.fields\n if current.find(\"[name=#{field.element.attr('name')}]\").length\n valid = field.validate() != false and valid\n\n if not valid\n return\n\n next = current.next()\n current.toggleClass('active')\n next.toggleClass('active')\n step = next.data('step')\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(step)\n\n $el.on \"click\", \".button-prev\", (event) ->\n event.preventDefault()\n current = $el.find(\".active\")\n prev = current.prev()\n current.toggleClass('active')\n prev.toggleClass('active')\n step = prev.data('step')\n $el.find('.progress-bar').removeClass().addClass('progress-bar').addClass(step)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $el.on \"click\", \".close\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n openLightbox()\n\n directive = {\n link: link,\n templateUrl: \"project/wizard-create-project.html\"\n scope: {}\n }\n\n return directive\n\n\nmodule.directive(\"tgLbCreateProject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\",\n \"$location\", \"$tgNavUrls\", \"$tgResources\", \"$projectUrl\", \"$tgLoading\",\n \"lightboxService\", \"$cacheFactory\", \"$translate\", \"tgCurrentUserService\", CreateProject])\n\n\n#############################################################################\n## Delete Project Lightbox Directive\n#############################################################################\n\nDeleteProjectDirective = ($repo, $rootscope, $auth, $location, $navUrls, $confirm, lightboxService, tgLoader, currentUserService) ->\n link = ($scope, $el, $attrs) ->\n projectToDelete = null\n $scope.$on \"deletelightbox:new\", (ctx, project)->\n lightboxService.open($el)\n projectToDelete = project\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = ->\n tgLoader.start()\n lightboxService.close($el)\n\n promise = $repo.remove(projectToDelete)\n\n promise.then (data) ->\n tgLoader.pageLoaded()\n $rootscope.$broadcast(\"projects:reload\")\n $location.path($navUrls.resolve(\"home\"))\n $confirm.notify(\"success\")\n currentUserService._loadProjects()\n\n # FIXME: error handling?\n promise.then null, ->\n $confirm.notify(\"error\")\n lightboxService.close($el)\n\n $el.on \"click\", \".button-red\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $el.on \"click\", \".button-green\", (event) ->\n event.preventDefault()\n submit()\n\n return {link:link}\n\nmodule.directive(\"tgLbDeleteProject\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\",\n \"$tgConfirm\", \"lightboxService\", \"tgLoader\", \"tgCurrentUserService\", DeleteProjectDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/bind.coffee\n###\n\nbindOnce = @.taiga.bindOnce\n\n# Escape Html bind once directive\nBindOnceBindDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoBind, (val) ->\n $el.text(val)\n\n return {link:link}\n\n# Html bind once directive\nBindOnceHtmlDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoHtml, (val) ->\n $el.html(val)\n\n return {link:link}\n\n# Object reference bind once helper.\nBindOnceRefDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoRef, (val) ->\n $el.html(\"##{val} \")\n return {link:link}\n\n# Object src bind once helper.\nBindOnceSrcDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoSrc, (val) ->\n $el.attr(\"src\", val)\n return {link:link}\n\n# Object href bind once helper.\nBindOnceHrefDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoHref, (val) ->\n $el.attr(\"href\", val)\n return {link:link}\n\n# Object alt bind once helper.\nBindOnceAltDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoAlt, (val) ->\n $el.attr(\"alt\", val)\n return {link:link}\n\n# Object title bind once helper.\nBindOnceTitleDirective = ->\n link = ($scope, $el, $attrs) ->\n bindOnce $scope, $attrs.tgBoTitle, (val) ->\n $el.attr(\"title\", val)\n return {link:link}\n\nBindTitleDirective = ->\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgTitleHtml, (val) ->\n $el.attr(\"title\", val) if val?\n\n return {link:link}\n\nBindHtmlDirective = ->\n link = ($scope, $el, $attrs) ->\n $scope.$watch $attrs.tgBindHtml, (val) ->\n $el.html(val) if val?\n\n return {link:link}\n\nmodule = angular.module(\"taigaBase\")\nmodule.directive(\"tgBoBind\", BindOnceBindDirective)\nmodule.directive(\"tgBoHtml\", BindOnceHtmlDirective)\nmodule.directive(\"tgBoRef\", BindOnceRefDirective)\nmodule.directive(\"tgBoSrc\", BindOnceSrcDirective)\nmodule.directive(\"tgBoHref\", BindOnceHrefDirective)\nmodule.directive(\"tgBoAlt\", BindOnceAltDirective)\nmodule.directive(\"tgBoTitle\", BindOnceTitleDirective)\nmodule.directive(\"tgBindTitle\", BindTitleDirective)\nmodule.directive(\"tgBindHtml\", BindHtmlDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/conf.coffee\n###\n\nclass ConfigurationService\n constructor: () ->\n @.config = window.taigaConfig\n\n get: (key, defaultValue=null) ->\n if _.has(@.config, key)\n return @.config[key]\n return defaultValue\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgConfig\", ConfigurationService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/contrib.coffee\n###\n\ntaigaContribPlugins = @.taigaContribPlugins = @.taigaContribPlugins or []\n\nclass ContribController extends taiga.Controller\n @.$inject = [\n \"$rootScope\",\n \"$scope\",\n \"$routeParams\",\n \"$tgRepo\",\n \"$tgResources\",\n \"$tgConfirm\"\n ]\n\n constructor: (@rootScope, @scope, @params, @repo, @rs, @confirm) ->\n @scope.adminPlugins = _.where(@rootScope.contribPlugins, {\"type\": \"admin\"})\n @scope.currentPlugin = _.first(_.where(@scope.adminPlugins, {\"slug\": @params.plugin}))\n @scope.pluginTemplate = \"contrib/#{@scope.currentPlugin.slug}\"\n @scope.projectSlug = @params.pslug\n\n promise = @.loadInitialData()\n\n promise.then null, =>\n @confirm.notify(\"error\")\n\n loadProject: ->\n return @rs.projects.getBySlug(@params.pslug).then (project) =>\n @scope.projectId = project.id\n @scope.project = project\n @scope.$emit('project:loaded', project)\n @scope.$broadcast('project:loaded', project)\n return project\n\n loadInitialData: ->\n return @.loadProject()\n\nmodule = angular.module(\"taigaBase\")\nmodule.controller(\"ContribController\", ContribController)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/filters.coffee\n###\n\n\ntaiga = @.taiga\n\nclass FiltersStorageService extends taiga.Service\n @.$inject = [\"$tgStorage\", \"$routeParams\"]\n\n constructor: (@storage, @params) ->\n\n generateHash: (components=[]) ->\n components = _.map(components, (x) -> JSON.stringify(x))\n return hex_sha1(components.join(\":\"))\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/http.coffee\n###\n\ntaiga = @.taiga\n\nclass HttpService extends taiga.Service\n @.$inject = [\"$http\", \"$q\", \"$tgStorage\", \"$rootScope\", \"$cacheFactory\", \"$translate\"]\n\n constructor: (@http, @q, @storage, @rootScope, @cacheFactory, @translate) ->\n super()\n\n @.cache = @cacheFactory(\"httpget\");\n headers: ->\n headers = {}\n\n # Authorization\n token = @storage.get('token')\n if token\n headers[\"Authorization\"] = \"Bearer #{token}\"\n\n # Accept-Language\n lang = @translate.preferredLanguage()\n if lang\n headers[\"Accept-Language\"] = lang\n\n return headers\n\n request: (options) ->\n options.headers = _.merge({}, options.headers or {}, @.headers())\n if _.isPlainObject(options.data)\n options.data = JSON.stringify(options.data)\n\n return @http(options)\n\n get: (url, params, options) ->\n options = _.merge({method: \"GET\", url: url}, options)\n options.params = params if params\n\n # prevent duplicated http request\n options.cache = @.cache\n\n return @.request(options).finally (data) =>\n @.cache.removeAll()\n\n post: (url, data, params, options) ->\n options = _.merge({method: \"POST\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n put: (url, data, params, options) ->\n options = _.merge({method: \"PUT\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n patch: (url, data, params, options) ->\n options = _.merge({method: \"PATCH\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n delete: (url, data, params, options) ->\n options = _.merge({method: \"DELETE\", url: url}, options)\n options.data = data if data\n options.params = params if params\n return @.request(options)\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgHttp\", HttpService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/location.coffee\n###\n\n\nlocationFactory = ($location, $route, $rootscope) ->\n $location.noreload = (scope) ->\n lastRoute = $route.current\n un = scope.$on \"$locationChangeSuccess\", ->\n $route.current = lastRoute\n un()\n\n return $location\n\n $location.isInCurrentRouteParams = (name, value) ->\n params = $location.search() || {}\n\n return params[name] == value\n\n return $location\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/model.coffee\n###\n\nclass Model\n constructor: (name, data, dataTypes) ->\n @._attrs = data\n @._name = name\n @._dataTypes = dataTypes\n\n @.setAttrs(data)\n @.initialize()\n\n clone: ->\n instance = new Model(@._name, @._attrs, @._dataTypes)\n instance._modifiedAttrs = @._modifiedAttrs\n instance._isModified = @._isModified\n return instance\n\n applyCasts: ->\n for attrName, castName of @._dataTypes\n castMethod = service.casts[castName]\n if not castMethod\n continue\n\n @._attrs[attrName] = castMethod(@._attrs[attrName])\n\n getIdAttrName: ->\n return \"id\"\n\n getName: ->\n return @._name\n\n getAttrs: (patch=false) ->\n if @._attrs.version?\n @._modifiedAttrs.version = @._attrs.version\n\n if patch\n return _.extend({}, @._modifiedAttrs)\n return _.extend({}, @._attrs, @._modifiedAttrs)\n\n setAttrs: (attrs) ->\n @._attrs = attrs\n @._modifiedAttrs = {}\n\n @.applyCasts()\n @._isModified = false\n\n setAttr: (name, value) ->\n @._modifiedAttrs[name] = value\n @._isModified = true\n\n initialize: () ->\n self = @\n\n getter = (name) ->\n return ->\n if typeof(name) == 'string' and name.substr(0,2) == \"__\"\n return self[name]\n\n if name not in _.keys(self._modifiedAttrs)\n return self._attrs[name]\n\n return self._modifiedAttrs[name]\n\n setter = (name) ->\n return (value) ->\n if typeof(name) == 'string' and name.substr(0,2) == \"__\"\n self[name] = value\n return\n\n if self._attrs[name] != value\n self._modifiedAttrs[name] = value\n self._isModified = true\n else\n delete self._modifiedAttrs[name]\n\n return\n\n _.each @_attrs, (value, name) ->\n options =\n get: getter(name)\n set: setter(name)\n enumerable: true\n configurable: true\n\n Object.defineProperty(self, name, options)\n\n serialize: () ->\n data =\n \"data\": _.clone(@_attrs)\n \"name\": @_name\n\n return JSON.stringify(data)\n\n isModified: ->\n return this._isModified\n\n isAttributeModified: (attribute) ->\n return @._modifiedAttrs[attribute]?\n\n markSaved: () ->\n @._isModified = false\n @._attrs = @.getAttrs()\n @._modifiedAttrs = {}\n\n revert: () ->\n @_modifiedAttrs = {}\n @_isModified = false\n\n @desSerialize = (sdata) ->\n ddata = JSON.parse(sdata)\n model = new Model(ddata.url, ddata.data)\n return model\n\n\ntaiga = @.taiga\n\nclass ModelService extends taiga.Service\n @.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"]\n\n constructor: (@q, @urls, @storage, @http) ->\n super()\n\nprovider = ($q, $http, $gmUrls, $gmStorage) ->\n service = {}\n service.make_model = (name, data, cls=Model, dataTypes={}) ->\n return new cls(name, data, dataTypes)\n\n service.cls = Model\n service.casts = {\n int: (value) ->\n return parseInt(value, 10)\n\n float: (value) ->\n return parseFloat(value, 10)\n }\n\n return service\n\nmodule = angular.module(\"taigaBase\")\nmodule.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/navurl.coffee\n###\n\ntaiga = @.taiga\ntrim = @.taiga.trim\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaBase\")\n\n\n#############################################################################\n## Navigation Urls Service\n#############################################################################\n\nclass NavigationUrlsService extends taiga.Service\n constructor: ->\n @.urls = {}\n\n update: (urls) ->\n @.urls = _.merge({}, @.urls, urls or {})\n\n formatUrl: (url, ctx={}) ->\n replacer = (match) ->\n match = trim(match, \":\")\n return ctx[match] or \"undefined\"\n return url.replace(/(:\\w+)/g, replacer)\n\n resolve: (name, ctx) ->\n url = @.urls[name]\n return \"\" if not url\n return @.formatUrl(url, ctx) if ctx\n return url\n\nmodule.service(\"$tgNavUrls\", NavigationUrlsService)\n\n\n#############################################################################\n## Navigation Urls Directive\n#############################################################################\n\nNavigationUrlsDirective = ($navurls, $auth, $q, $location) ->\n # Example:\n # link(tg-nav=\"project-backlog:project='sss',\")\n\n # bindOnce version that uses $q for offer\n # promise based api\n bindOnceP = ($scope, attr) ->\n defered = $q.defer()\n bindOnce $scope, attr, (v) ->\n defered.resolve(v)\n return defered.promise\n\n parseNav = (data, $scope) ->\n [name, params] = _.map(data.split(\":\"), trim)\n if params\n params = _.map(params.split(\",\"), trim)\n else\n params = []\n values = _.map(params, (x) -> trim(x.split(\"=\")[1]))\n promises = _.map(values, (x) -> bindOnceP($scope, x))\n\n return $q.all(promises).then ->\n options = {}\n for item in params\n [key, value] = _.map(item.split(\"=\"), trim)\n options[key] = $scope.$eval(value)\n return [name, options]\n\n link = ($scope, $el, $attrs) ->\n if $el.is(\"a\")\n $el.attr(\"href\", \"#\")\n\n $el.on \"mouseenter\", (event) ->\n target = $(event.currentTarget)\n\n if !target.data(\"fullUrl\")\n parseNav($attrs.tgNav, $scope).then (result) ->\n [name, options] = result\n user = $auth.getUser()\n options.user = user.username if user\n\n url = $navurls.resolve(name)\n fullUrl = $navurls.formatUrl(url, options)\n\n if $attrs.tgNavGetParams\n getURLParams = JSON.parse($attrs.tgNavGetParams)\n getURLParamsStr = $.param(getURLParams)\n fullUrl = \"#{fullUrl}?#{getURLParamsStr}\"\n\n target.data(\"fullUrl\", fullUrl)\n\n if target.is(\"a\")\n target.attr(\"href\", fullUrl)\n\n $el.on \"click\", (event) ->\n if event.metaKey || event.ctrlKey\n return\n\n event.preventDefault()\n target = $(event.currentTarget)\n\n if target.hasClass('noclick')\n return\n\n fullUrl = target.data(\"fullUrl\")\n\n switch event.which\n when 1\n $location.url(fullUrl)\n $scope.$apply()\n when 2\n window.open fullUrl\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link: link}\n\nmodule.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", NavigationUrlsDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/repository.coffee\n###\n\ntaiga = @.taiga\n\nclass RepositoryService extends taiga.Service\n @.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"]\n\n constructor: (@q, @model, @storage, @http, @urls) ->\n super()\n\n resolveUrlForModel: (model) ->\n idAttrName = model.getIdAttrName()\n return \"#{@urls.resolve(model.getName())}/#{model[idAttrName]}\"\n\n resolveUrlForAttributeModel: (model) ->\n return @urls.resolve(model.getName(), model.parent)\n\n create: (name, data, dataTypes={}, extraParams={}) ->\n defered = @q.defer()\n url = @urls.resolve(name)\n\n promise = @http.post(url, JSON.stringify(data))\n promise.success (_data, _status) =>\n defered.resolve(@model.make_model(name, _data, null, dataTypes))\n\n promise.error (data, status) =>\n defered.reject(data)\n\n return defered.promise\n\n remove: (model, params={}) ->\n defered = @q.defer()\n url = @.resolveUrlForModel(model)\n\n promise = @http.delete(url, {}, params)\n promise.success (data, status) ->\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(model)\n\n return defered.promise\n\n saveAll: (models, patch=true) ->\n promises = _.map(models, (x) => @.save(x, true))\n return @q.all(promises)\n\n save: (model, patch=true) ->\n defered = @q.defer()\n\n if not model.isModified() and patch\n defered.resolve(model)\n return defered.promise\n\n url = @.resolveUrlForModel(model)\n data = JSON.stringify(model.getAttrs(patch))\n\n if patch\n promise = @http.patch(url, data)\n else\n promise = @http.put(url, data)\n\n promise.success (data, status) =>\n model._isModified = false\n model._attrs = _.extend(model.getAttrs(), data)\n model._modifiedAttrs = {}\n\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n saveAttribute: (model, attribute, patch=true) ->\n defered = @q.defer()\n\n if not model.isModified() and patch\n defered.resolve(model)\n return defered.promise\n\n url = @.resolveUrlForAttributeModel(model)\n\n data = {}\n\n data[attribute] = model.getAttrs()\n\n if patch\n promise = @http.patch(url, data)\n else\n promise = @http.put(url, data)\n\n promise.success (data, status) =>\n model._isModified = false\n model._attrs = _.extend(model.getAttrs(), data)\n model._modifiedAttrs = {}\n\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n refresh: (model) ->\n defered = @q.defer()\n\n url = @.resolveUrlForModel(model)\n promise = @http.get(url)\n promise.success (data, status) ->\n model._modifiedAttrs = {}\n model._attrs = data\n model._isModified = false\n model.applyCasts()\n defered.resolve(model)\n\n promise.error (data, status) ->\n defered.reject(data)\n\n return defered.promise\n\n queryMany: (name, params, options={}) ->\n url = @urls.resolve(name)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n return _.map(data.data, (x) => @model.make_model(name, x))\n\n queryOneAttribute: (name, id, attribute, params, options={}) ->\n url = @urls.resolve(name, id)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n model = @model.make_model(name, data.data[attribute])\n model.parent = id\n\n return model\n\n queryOne: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = {headers: {}}\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return @http.get(url, params, httpOptions).then (data) =>\n return @model.make_model(name, data.data)\n\n queryOneRaw: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = _.merge({headers: {}}, options)\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n return @http.get(url, params, httpOptions).then (data) =>\n return data.data\n\n queryPaginated: (name, params, options={}) ->\n url = @urls.resolve(name)\n httpOptions = _.merge({headers: {}}, options)\n return @http.get(url, params, httpOptions).then (data) =>\n headers = data.headers()\n result = {}\n result.models = _.map(data.data, (x) => @model.make_model(name, x))\n result.count = parseInt(headers[\"x-pagination-count\"], 10)\n result.current = parseInt(headers[\"x-pagination-current\"] or 1, 10)\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10)\n return result\n\n queryOnePaginatedRaw: (name, id, params, options={}) ->\n url = @urls.resolve(name)\n url = \"#{url}/#{id}\" if id\n httpOptions = _.merge({headers: {}}, options)\n\n return @http.get(url, params, httpOptions).then (data) =>\n headers = data.headers()\n result = {}\n result.data = data.data\n result.count = parseInt(headers[\"x-pagination-count\"], 10)\n result.current = parseInt(headers[\"x-pagination-current\"] or 1, 10)\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10)\n\n return result\n\n resolve: (options) ->\n params = {}\n params.project = options.pslug if options.pslug?\n params.us = options.usref if options.usref?\n params.task = options.taskref if options.taskref?\n params.issue = options.issueref if options.issueref?\n params.milestone = options.sslug if options.sslug?\n params.wikipage = options.wikipage if options.wikipage?\n\n cache = not (options.wikipage or options.sslug)\n return @.queryOneRaw(\"resolver\", null, params, {cache: cache})\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgRepo\", RepositoryService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/storage.coffee\n###\n\ntaiga = @.taiga\n\nclass StorageService extends taiga.Service\n @.$inject = [\"$rootScope\"]\n\n constructor: ($rootScope) ->\n super()\n\n get: (key, _default) ->\n serializedValue = localStorage.getItem(key)\n if serializedValue == null\n return _default or null\n\n return JSON.parse(serializedValue)\n\n set: (key, val) ->\n if _.isObject(key)\n _.each key, (val, key) =>\n @set(key, val)\n else\n localStorage.setItem(key, JSON.stringify(val))\n\n contains: (key) ->\n value = @.get(key)\n return (value != null)\n\n remove: (key) ->\n localStorage.removeItem(key)\n\n clear: ->\n localStorage.clear()\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service(\"$tgStorage\", StorageService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/base/http.coffee\n###\n\nformat = (fmt, obj) ->\n obj = _.clone(obj)\n return fmt.replace /%s/g, (match) -> String(obj.shift())\n\ntaiga = @.taiga\n\nclass UrlsService extends taiga.Service\n @.$inject = [\"$tgConfig\"]\n\n constructor: (@config) ->\n @.urls = {}\n @.mainUrl = @config.get(\"api\")\n\n update: (urls) ->\n @.urls = _.merge(@.urls, urls)\n\n resolve: ->\n args = _.toArray(arguments)\n\n if args.length == 0\n throw Error(\"wrong arguments to setUrls\")\n\n name = args.slice(0, 1)[0]\n url = format(@.urls[name], args.slice(1))\n\n return format(\"%s/%s\", [\n _.str.rtrim(@.mainUrl, \"/\"),\n _.str.ltrim(url, \"/\")\n ])\n\n resolveAbsolute: ->\n url = @.resolve.apply(@, arguments)\n if (/^https?:\\/\\//i).test(url)\n return url\n if (/^\\//).test(url)\n return \"#{window.location.protocol}//#{window.location.host}#{url}\"\n return \"#{window.location.protocol}//#{window.location.host}/#{url}\"\n\n\nmodule = angular.module(\"taigaBase\")\nmodule.service('$tgUrls', UrlsService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/attachments.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($rootScope, $config, $urls, $model, $repo, $auth, $q) ->\n service = {}\n\n service.list = (urlName, objectId, projectId) ->\n params = {object_id: objectId, project: projectId}\n return $repo.queryMany(urlName, params)\n\n service.create = (urlName, projectId, objectId, file) ->\n defered = $q.defer()\n\n if file is undefined\n defered.reject(null)\n return defered.promise\n\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n response = {\n status: 413,\n data: _error_message: \"'#{file.name}' (#{sizeFormat(file.size)}) is too heavy for our oompa\n loompas, try it with a smaller than (#{sizeFormat(maxFileSize)})\"\n }\n defered.reject(response)\n return defered.promise\n\n uploadProgress = (evt) =>\n $rootScope.$apply =>\n file.status = \"in-progress\"\n file.size = sizeFormat(evt.total)\n file.progressMessage = \"upload #{sizeFormat(evt.loaded)} of #{sizeFormat(evt.total)}\"\n file.progressPercent = \"#{Math.round((evt.loaded / evt.total) * 100)}%\"\n\n uploadComplete = (evt) =>\n $rootScope.$apply ->\n file.status = \"done\"\n\n status = evt.target.status\n try\n data = JSON.parse(evt.target.responseText)\n catch\n data = {}\n\n if status >= 200 and status < 400\n model = $model.make_model(urlName, data)\n defered.resolve(model)\n else\n response = {\n status: status,\n data: {_error_message: data['attached_file']?[0]}\n }\n defered.reject(response)\n\n uploadFailed = (evt) =>\n $rootScope.$apply ->\n file.status = \"error\"\n defered.reject(\"fail\")\n\n data = new FormData()\n data.append(\"project\", projectId)\n data.append(\"object_id\", objectId)\n data.append(\"attached_file\", file)\n\n xhr = new XMLHttpRequest()\n xhr.upload.addEventListener(\"progress\", uploadProgress, false)\n xhr.addEventListener(\"load\", uploadComplete, false)\n xhr.addEventListener(\"error\", uploadFailed, false)\n\n xhr.open(\"POST\", $urls.resolve(urlName))\n xhr.setRequestHeader(\"Authorization\", \"Bearer #{$auth.getToken()}\")\n xhr.setRequestHeader('Accept', 'application/json')\n xhr.send(data)\n\n return defered.promise\n\n return (instance) ->\n instance.attachments = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgAttachmentsResourcesProvider\", [\"$rootScope\", \"$tgConfig\", \"$tgUrls\", \"$tgModel\", \"$tgRepo\",\n \"$tgAuth\", \"$q\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/custom-field-values.coffee\n###\n\ntaiga = @.taiga\n\nresourceProvider = ($repo) ->\n _get = (objectId, resource) ->\n return $repo.queryOne(resource, objectId)\n\n service = {\n userstory: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/userstory\")\n }\n task: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/task\")\n }\n issue: {\n get: (objectId) -> _get(objectId, \"custom-attributes-values/issue\")\n }\n }\n\n return (instance) ->\n instance.customAttributesValues = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($repo) ->\n _list = (projectId, resource) ->\n return $repo.queryMany(resource, {project: projectId})\n\n service = {\n userstory:{\n list: (projectId) -> _list(projectId, \"custom-attributes/userstory\")\n }\n task:{\n list: (projectId) -> _list(projectId, \"custom-attributes/task\")\n }\n issue: {\n list: (projectId) -> _list(projectId, \"custom-attributes/issue\")\n }\n }\n\n return (instance) ->\n instance.customAttributes = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/history.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (type, objectId) ->\n return $repo.queryOneRaw(\"history/#{type}\", objectId)\n\n service.deleteComment = (type, objectId, activityId) ->\n url = $urls.resolve(\"history/#{type}\")\n url = \"#{url}/#{objectId}/delete_comment\"\n params = {id: activityId}\n return $http.post(url, null, params).then (data) =>\n return data.data\n\n service.undeleteComment = (type, objectId, activityId) ->\n url = $urls.resolve(\"history/#{type}\")\n url = \"#{url}/#{objectId}/undelete_comment\"\n params = {id: activityId}\n return $http.post(url, null, params).then (data) =>\n return data.data\n\n return (instance) ->\n instance.history = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo) ->\n service = {}\n\n service.get = (token) ->\n return $repo.queryOne(\"invitations\", token)\n\n return (instance) ->\n instance.invitations = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/issues.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage, $q) ->\n service = {}\n hashSuffix = \"issues-queryparams\"\n filtersHashSuffix = \"issues-filters\"\n myFiltersHashSuffix = \"issues-my-filters\"\n\n service.get = (projectId, issueId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"issues\", issueId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"issues\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"issues\", filters)\n\n service.list = (projectId, filters, options) ->\n params = {project: projectId}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryPaginated(\"issues\", params, options)\n\n service.bulkCreate = (projectId, data) ->\n url = $urls.resolve(\"bulk-create-issues\")\n params = {project_id: projectId, bulk_issues: data}\n return $http.post(url, params)\n\n service.stats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/issues_stats\")\n\n service.filtersData = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/issue_filters_data\")\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeFilters = (projectSlug, params) ->\n ns = \"#{projectSlug}:#{filtersHashSuffix}\"\n hash = generateHash([projectSlug, ns])\n $storage.set(hash, params)\n\n service.getFilters = (projectSlug) ->\n ns = \"#{projectSlug}:#{filtersHashSuffix}\"\n hash = generateHash([projectSlug, ns])\n return $storage.get(hash) or {}\n\n service.storeMyFilters = (projectId, myFilters) ->\n deferred = $q.defer()\n url = $urls.resolve(\"user-storage\")\n ns = \"#{projectId}:#{myFiltersHashSuffix}\"\n hash = generateHash([projectId, ns])\n if _.isEmpty(myFilters)\n promise = $http.delete(\"#{url}/#{hash}\", {key: hash, value:myFilters})\n promise.then ->\n deferred.resolve()\n promise.then null, ->\n deferred.reject()\n else\n promise = $http.put(\"#{url}/#{hash}\", {key: hash, value:myFilters})\n promise.then (data) ->\n deferred.resolve()\n promise.then null, (data) ->\n innerPromise = $http.post(\"#{url}\", {key: hash, value:myFilters})\n innerPromise.then ->\n deferred.resolve()\n innerPromise.then null, ->\n deferred.reject()\n return deferred.promise\n\n service.getMyFilters = (projectId) ->\n deferred = $q.defer()\n url = $urls.resolve(\"user-storage\")\n ns = \"#{projectId}:#{myFiltersHashSuffix}\"\n hash = generateHash([projectId, ns])\n\n promise = $http.get(\"#{url}/#{hash}\")\n promise.then (data) ->\n deferred.resolve(data.data.value)\n promise.then null, (data) ->\n deferred.resolve({})\n\n return deferred.promise\n\n return (instance) ->\n instance.issues = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/kanban.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($storage) ->\n service = {}\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\"\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\"\n\n service.storeStatusViewModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusViewModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusViewModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusViewModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeStatusColumnModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusColumnModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n return (instance) ->\n instance.kanban = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2015 Andrey Antukh \n# Copyright (C) 2015 Jesús Espino Garcia \n# Copyright (C) 2015 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/locales.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($repo) ->\n service = {\n list: -> return $repo.queryMany(\"locales\")\n }\n\n return (instance) ->\n instance.locales = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgLocalesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/mdrender.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.render = (projectId, content) ->\n # We can't use an empty content\n content = ' ' if not content? or content == \"\"\n\n params = {\n project_id: projectId\n content: content\n }\n url = $urls.resolve(\"wiki\")\n return $http.post(\"#{url}/render\", params).then (data) =>\n return data.data\n\n return (instance) ->\n instance.mdrender = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"memberships\", id)\n\n service.list = (projectId, filters, enablePagination=true) ->\n params = {project: projectId}\n params = _.extend({}, params, filters or {})\n if enablePagination\n return $repo.queryPaginated(\"memberships\", params)\n\n return $repo.queryMany(\"memberships\", params, options={enablePagination:enablePagination})\n\n service.listByUser = (userId, filters) ->\n params = {user: userId}\n params = _.extend({}, params, filters or {})\n return $repo.queryPaginated(\"memberships\", params)\n\n service.resendInvitation = (id) ->\n url = $urls.resolve(\"memberships\")\n return $http.post(\"#{url}/#{id}/resend_invitation\", {})\n\n service.bulkCreateMemberships = (projectId, data, invitation_extra_text) ->\n url = $urls.resolve(\"bulk-create-memberships\")\n params = {project_id: projectId, bulk_memberships: data, invitation_extra_text: invitation_extra_text}\n return $http.post(url, params)\n\n return (instance) ->\n instance.memberships = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","resourceProvider = ($repo) ->\n service = {}\n\n service.list = (projectId, module) ->\n return $repo.queryOneAttribute(\"project-modules\", projectId, module)\n\n return (instance) ->\n instance.modules = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"notify-policies\", id)\n\n service.list = (filters) ->\n params = _.extend({}, params, filters or {})\n return $repo.queryMany(\"notify-policies\", params)\n\n return (instance) ->\n instance.notifyPolicies = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/projects.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($config, $repo, $http, $urls, $auth, $q, $translate) ->\n service = {}\n\n service.get = (projectId) ->\n return $repo.queryOne(\"projects\", projectId)\n\n service.getBySlug = (projectSlug) ->\n return $repo.queryOne(\"projects\", \"by_slug?slug=#{projectSlug}\")\n\n service.list = ->\n return $repo.queryMany(\"projects\")\n\n service.listByMember = (memberId) ->\n params = {\"member\": memberId, \"order_by\": \"memberships__user_order\"}\n return $repo.queryMany(\"projects\", params)\n\n service.templates = ->\n return $repo.queryMany(\"project-templates\")\n\n service.usersList = (projectId) ->\n params = {\"project\": projectId}\n return $repo.queryMany(\"users\", params)\n\n service.rolesList = (projectId) ->\n params = {\"project\": projectId}\n return $repo.queryMany(\"roles\", params)\n\n service.stats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/stats\")\n\n service.bulkUpdateOrder = (bulkData) ->\n url = $urls.resolve(\"bulk-update-projects-order\")\n return $http.post(url, bulkData)\n\n service.regenerate_userstories_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_userstories_csv_uuid\"\n return $http.post(url)\n\n service.regenerate_issues_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_issues_csv_uuid\"\n return $http.post(url)\n\n service.regenerate_tasks_csv_uuid = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/regenerate_tasks_csv_uuid\"\n return $http.post(url)\n\n service.leave = (projectId) ->\n url = \"#{$urls.resolve(\"projects\")}/#{projectId}/leave\"\n return $http.post(url)\n\n service.memberStats = (projectId) ->\n return $repo.queryOneRaw(\"projects\", \"#{projectId}/member_stats\")\n\n service.tagsColors = (projectId) ->\n return $repo.queryOne(\"projects\", \"#{projectId}/tags_colors\")\n\n service.export = (projectId) ->\n url = \"#{$urls.resolve(\"exporter\")}/#{projectId}\"\n return $http.get(url)\n\n service.import = (file, statusUpdater) ->\n defered = $q.defer()\n\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n errorMsg = $translate.instant(\"PROJECT.IMPORT.ERROR_MAX_SIZE_EXCEEDED\", {\n fileName: file.name\n fileSize: sizeFormat(file.size)\n maxFileSize: sizeFormat(maxFileSize)\n })\n\n response = {\n status: 413,\n data: _error_message: errorMsg\n }\n defered.reject(response)\n return defered.promise\n\n uploadProgress = (evt) =>\n percent = Math.round((evt.loaded / evt.total) * 100)\n message = $translate.instant(\"PROJECT.IMPORT.UPLOAD_IN_PROGRESS_MESSAGE\", {\n uploadedSize: sizeFormat(evt.loaded)\n totalSize: sizeFormat(evt.total)\n })\n statusUpdater(\"in-progress\", null, message, percent)\n\n uploadComplete = (evt) =>\n statusUpdater(\"done\",\n $translate.instant(\"PROJECT.IMPORT.TITLE\"),\n $translate.instant(\"PROJECT.IMPORT.DESCRIPTION\"))\n\n uploadFailed = (evt) =>\n statusUpdater(\"error\")\n\n complete = (evt) =>\n response = {}\n try\n response.data = JSON.parse(evt.target.responseText)\n catch\n response.data = {}\n response.status = evt.target.status\n\n defered.resolve(response) if response.status in [201, 202]\n defered.reject(response)\n\n failed = (evt) =>\n defered.reject(\"fail\")\n\n data = new FormData()\n data.append('dump', file)\n\n xhr = new XMLHttpRequest()\n xhr.upload.addEventListener(\"progress\", uploadProgress, false)\n xhr.upload.addEventListener(\"load\", uploadComplete, false)\n xhr.upload.addEventListener(\"error\", uploadFailed, false)\n xhr.upload.addEventListener(\"abort\", uploadFailed, false)\n xhr.addEventListener(\"load\", complete, false)\n xhr.addEventListener(\"error\", failed, false)\n\n xhr.open(\"POST\", $urls.resolve(\"importer\"))\n xhr.setRequestHeader(\"Authorization\", \"Bearer #{$auth.getToken()}\")\n xhr.setRequestHeader('Accept', 'application/json')\n xhr.send(data)\n\n return defered.promise\n\n return (instance) ->\n instance.projects = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\",\n \"$q\", \"$translate\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (id) ->\n return $repo.queryOne(\"roles\", id)\n\n service.list = (projectId) ->\n return $repo.queryMany(\"roles\", {project: projectId})\n\n return (instance) ->\n instance.roles = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/search.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.do = (projectId, term) ->\n url = $urls.resolve(\"search\")\n params = {\n project: projectId\n text: term,\n get_all: false\n }\n\n return $http.get(url, params).then (data) ->\n return data.data\n\n return (instance) ->\n instance.search = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/sprints.coffee\n###\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $model, $storage) ->\n service = {}\n\n service.get = (projectId, sprintId) ->\n return $repo.queryOne(\"milestones\", sprintId).then (sprint) ->\n uses = sprint.user_stories\n uses = _.map(uses, (u) -> $model.make_model(\"userstories\", u))\n sprint._attrs.user_stories = uses\n return sprint\n\n service.stats = (projectId, sprintId) ->\n return $repo.queryOneRaw(\"milestones\", \"#{sprintId}/stats\")\n\n service.list = (projectId, filters) ->\n params = {\"project\": projectId}\n params = _.extend({}, params, filters or {})\n return $repo.queryMany(\"milestones\", params).then (milestones) =>\n for m in milestones\n uses = m.user_stories\n uses = _.map(uses, (u) => $model.make_model(\"userstories\", u))\n m._attrs.user_stories = uses\n return milestones\n\n\n return (instance) ->\n instance.sprints = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/tasks.coffee\n###\n\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage) ->\n service = {}\n hashSuffix = \"tasks-queryparams\"\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\"\n hashSuffixUsRowModes = \"tasks-usrowmodels\"\n\n service.get = (projectId, taskId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"tasks\", taskId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"tasks\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"tasks\", filters)\n\n service.list = (projectId, sprintId=null, userStoryId=null) ->\n params = {project: projectId}\n params.milestone = sprintId if sprintId\n params.user_story = userStoryId if userStoryId\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"tasks\", params)\n\n service.bulkCreate = (projectId, sprintId, usId, data) ->\n url = $urls.resolve(\"bulk-create-tasks\")\n params = {project_id: projectId, sprint_id: sprintId, us_id: usId, bulk_tasks: data}\n return $http.post(url, params).then (result) ->\n return result.data\n\n service.bulkUpdateTaskTaskboardOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-task-taskboard-order\")\n params = {project_id: projectId, bulk_tasks: data}\n return $http.post(url, params)\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeStatusColumnModes = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getStatusColumnModes = (projectId) ->\n ns = \"#{projectId}:#{hashSuffixStatusColumnModes}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeUsRowModes = (projectId, sprintId, params) ->\n ns = \"#{projectId}:#{hashSuffixUsRowModes}\"\n hash = generateHash([projectId, sprintId, ns])\n\n $storage.set(hash, params)\n\n service.getUsRowModes = (projectId, sprintId) ->\n ns = \"#{projectId}:#{hashSuffixUsRowModes}\"\n hash = generateHash([projectId, sprintId, ns])\n\n return $storage.get(hash) or {}\n\n return (instance) ->\n instance.tasks = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/memberships.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($config, $repo, $http, $urls, $q) ->\n service = {}\n\n service.changeAvatar = (file) ->\n maxFileSize = $config.get(\"maxUploadFileSize\", null)\n if maxFileSize and file.size > maxFileSize\n response = {\n status: 413,\n data: _error_message: \"'#{file.name}' (#{sizeFormat(file.size)}) is too heavy for our oompa\n loompas, try it with a smaller than (#{sizeFormat(maxFileSize)})\"\n }\n defered = $q.defer()\n defered.reject(response)\n return defered.promise\n\n data = new FormData()\n data.append('avatar', file)\n options = {\n transformRequest: angular.identity,\n headers: {'Content-Type': undefined}\n }\n url = \"#{$urls.resolve(\"users\")}/change_avatar\"\n return $http.post(url, data, {}, options)\n\n service.removeAvatar = () ->\n url = \"#{$urls.resolve(\"users\")}/remove_avatar\"\n return $http.post(url)\n\n service.changePassword = (currentPassword, newPassword) ->\n url = \"#{$urls.resolve(\"users\")}/change_password\"\n data = {\n current_password: currentPassword\n password: newPassword\n }\n return $http.post(url, data)\n\n return (instance) ->\n instance.userSettings = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\",\n resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/user.coffee\n###\n\n\ntaiga = @.taiga\nsizeFormat = @.taiga.sizeFormat\n\n\nresourceProvider = ($http, $urls) ->\n service = {}\n\n service.contacts = (userId, options={}) ->\n url = $urls.resolve(\"contacts\", userId)\n httpOptions = {headers: {}}\n\n if not options.enablePagination\n httpOptions.headers[\"x-disable-pagination\"] = \"1\"\n\n return $http.get(url, {}, httpOptions)\n .then (result) ->\n return result.data\n\n return (instance) ->\n instance.users = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUsersResourcesProvider\", [\"$tgHttp\", \"$tgUrls\", \"$q\",\n resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/userstories.coffee\n###\n\ntaiga = @.taiga\n\ngenerateHash = taiga.generateHash\n\nresourceProvider = ($repo, $http, $urls, $storage) ->\n service = {}\n hashSuffix = \"userstories-queryparams\"\n\n service.get = (projectId, usId) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n return $repo.queryOne(\"userstories\", usId, params)\n\n service.getByRef = (projectId, ref) ->\n params = service.getQueryParams(projectId)\n params.project = projectId\n params.ref = ref\n return $repo.queryOne(\"userstories\", \"by_ref\", params)\n\n service.listInAllProjects = (filters) ->\n return $repo.queryMany(\"userstories\", filters)\n\n service.listUnassigned = (projectId, filters) ->\n params = {\"project\": projectId, \"milestone\": \"null\"}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"userstories\", params)\n\n service.listAll = (projectId, filters) ->\n params = {\"project\": projectId}\n params = _.extend({}, params, filters or {})\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(\"userstories\", params)\n\n service.bulkCreate = (projectId, status, bulk) ->\n data = {\n project_id: projectId\n status_id: status\n bulk_stories: bulk\n }\n\n url = $urls.resolve(\"bulk-create-us\")\n\n return $http.post(url, data)\n\n service.bulkUpdateBacklogOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-backlog-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.bulkUpdateSprintOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-sprint-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.bulkUpdateKanbanOrder = (projectId, data) ->\n url = $urls.resolve(\"bulk-update-us-kanban-order\")\n params = {project_id: projectId, bulk_stories: data}\n return $http.post(url, params)\n\n service.listValues = (projectId, type) ->\n params = {\"project\": projectId}\n service.storeQueryParams(projectId, params)\n return $repo.queryMany(type, params)\n\n service.storeQueryParams = (projectId, params) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n $storage.set(hash, params)\n\n service.getQueryParams = (projectId) ->\n ns = \"#{projectId}:#{hashSuffix}\"\n hash = generateHash([projectId, ns])\n return $storage.get(hash) or {}\n\n service.storeShowTags = (projectId, showTags) ->\n hash = generateHash([projectId, 'showTags'])\n $storage.set(hash, showTags)\n\n service.getShowTags = (projectId) ->\n hash = generateHash([projectId, 'showTags'])\n return $storage.get(hash) or null\n\n return (instance) ->\n instance.userstories = service\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider])\n","resourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.list = (webhookId) ->\n params = {webhook: webhookId}\n return $repo.queryMany(\"webhooklogs\", params)\n\n service.resend = (webhooklogId) ->\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId)\n return $http.post(url)\n\n return (instance) ->\n instance.webhooklogs = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","resourceProvider = ($repo, $urls, $http) ->\n service = {}\n\n service.list = (projectId) ->\n params = {project: projectId}\n return $repo.queryMany(\"webhooks\", params)\n\n service.test = (webhookId) ->\n url = $urls.resolve(\"webhooks-test\", webhookId)\n return $http.post(url)\n\n return (instance) ->\n instance.webhooks = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/resources/wikis.coffee\n###\n\n\ntaiga = @.taiga\n\nresourceProvider = ($repo, $http, $urls) ->\n service = {}\n\n service.get = (wikiId) ->\n return $repo.queryOne(\"wiki\", wikiId)\n\n service.getBySlug = (projectId, slug) ->\n return $repo.queryOne(\"wiki\", \"by_slug?project=#{projectId}&slug=#{slug}\")\n\n service.listLinks = (projectId) ->\n return $repo.queryMany(\"wiki-links\", {project: projectId})\n\n return (instance) ->\n instance.wiki = service\n\n\nmodule = angular.module(\"taigaResources\")\nmodule.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/main.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## User ChangePassword Controller\n#############################################################################\n\nclass UserChangePasswordController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @auth, @translate) ->\n @scope.sectionName = @translate.instant(\"CHANGE_PASSWORD.SECTION_NAME\")\n @scope.user = @auth.getUser()\n\nmodule.controller(\"UserChangePasswordController\", UserChangePasswordController)\n\n\n#############################################################################\n## User ChangePassword Directive\n#############################################################################\n\nUserChangePasswordDirective = ($rs, $confirm, $loading, $translate) ->\n link = ($scope, $el, $attrs, ctrl) ->\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n if $scope.newPassword1 != $scope.newPassword2\n $confirm.notify('error', $translate.instant(\"CHANGE_PASSWORD.ERROR_PASSWORD_MATCH\"))\n return\n\n currentLoading = $loading()\n .target(submitButton)\n .start()\n\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1)\n promise.then =>\n currentLoading.finish()\n $confirm.notify('success')\n\n promise.then null, (response) =>\n currentLoading.finish()\n $confirm.notify('error', response.data._error_message)\n\n submitButton = $el.find(\".submit-button\")\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {\n link:link\n }\n\nmodule.directive(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", UserChangePasswordDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/issues/lightboxes.coffee\n###\n\ntaiga = @.taiga\nbindOnce = @.taiga.bindOnce\ndebounce = @.taiga.debounce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## Delete User Lightbox Directive\n#############################################################################\n\nDeleteUserDirective = ($repo, $rootscope, $auth, $location, $navUrls, lightboxService) ->\n link = ($scope, $el, $attrs) ->\n $scope.$on \"deletelightbox:new\", (ctx, user)->\n lightboxService.open($el)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n submit = ->\n promise = $repo.remove($scope.user)\n\n promise.then (data) ->\n lightboxService.close($el)\n $auth.logout()\n $location.path($navUrls.resolve(\"login\"))\n\n # FIXME: error handling?\n promise.then null, ->\n console.log \"FAIL\"\n\n $el.on \"click\", \".button-red\", (event) ->\n event.preventDefault()\n lightboxService.close($el)\n\n $el.on \"click\", \".button-green\", debounce 2000, (event) ->\n event.preventDefault()\n submit()\n\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n }\n\nmodule.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\",\n \"lightboxService\", DeleteUserDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/main.coffee\n###\n\ntaiga = @.taiga\nmixOf = @.taiga.mixOf\nsizeFormat = @.taiga.sizeFormat\nmodule = angular.module(\"taigaUserSettings\")\ndebounce = @.taiga.debounce\n\n#############################################################################\n## User settings Controller\n#############################################################################\n\nclass UserSettingsController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgConfig\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\",\n \"$translate\"\n ]\n\n constructor: (@scope, @rootscope, @config, @repo, @confirm, @rs, @params, @q, @location, @navUrls,\n @auth, @translate) ->\n @scope.sectionName = \"USER_SETTINGS.MENU.SECTION_TITLE\"\n\n @scope.project = {}\n @scope.user = @auth.getUser()\n\n if !@scope.user\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n @scope.lang = @getLan()\n\n maxFileSize = @config.get(\"maxUploadFileSize\", null)\n if maxFileSize\n text = @translate.instant(\"USER_SETTINGS.AVATAR_MAX_SIZE\", {\"maxFileSize\": sizeFormat(maxFileSize)})\n @scope.maxFileSizeMsg = text\n\n promise = @.loadInitialData()\n\n promise.then null, @.onInitialDataError.bind(@)\n\n loadInitialData: ->\n return @rs.locales.list().then (locales) =>\n @scope.locales = locales\n return locales\n\n openDeleteLightbox: ->\n @rootscope.$broadcast(\"deletelightbox:new\", @scope.user)\n\n getLan: ->\n return @scope.user.lang ||\n @translate.preferredLanguage()\n\nmodule.controller(\"UserSettingsController\", UserSettingsController)\n\n\n#############################################################################\n## User Profile Directive\n#############################################################################\n\nUserProfileDirective = ($confirm, $auth, $repo, $translate) ->\n link = ($scope, $el, $attrs) ->\n submit = debounce 2000, (event) =>\n event.preventDefault()\n\n form = $el.find(\"form\").checksley()\n return if not form.validate()\n\n changeEmail = $scope.user.isAttributeModified(\"email\")\n $scope.user.lang = $scope.lang\n\n onSuccess = (data) =>\n $auth.setUser(data)\n\n if changeEmail\n text = $translate.instant(\"USER_PROFILE.CHANGE_EMAIL_SUCCESS\")\n $confirm.success(text)\n else\n $confirm.notify('success')\n\n onError = (data) =>\n form.setErrors(data)\n $confirm.notify('error', data._error_message)\n\n $repo.save($scope.user).then(onSuccess, onError)\n\n $el.on \"submit\", \"form\", submit\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserProfile\", [\"$tgConfirm\", \"$tgAuth\", \"$tgRepo\", \"$translate\", UserProfileDirective])\n\n\n#############################################################################\n## User Avatar Directive\n#############################################################################\n\nUserAvatarDirective = ($auth, $model, $rs, $confirm) ->\n link = ($scope, $el, $attrs) ->\n showSizeInfo = ->\n $el.find(\".size-info\").removeClass(\"hidden\")\n\n onSuccess = (response) ->\n user = $model.make_model(\"users\", response.data)\n $auth.setUser(user)\n $scope.user = user\n\n $el.find('.overlay').addClass('hidden')\n $confirm.notify('success')\n\n onError = (response) ->\n showSizeInfo() if response.status == 413\n $el.find('.overlay').addClass('hidden')\n $confirm.notify('error', response.data._error_message)\n\n # Change photo\n $el.on \"click\", \".js-change-avatar\", ->\n $el.find(\"#avatar-field\").click()\n\n $el.on \"change\", \"#avatar-field\", (event) ->\n if $scope.avatarAttachment\n $el.find('.overlay').removeClass('hidden')\n $rs.userSettings.changeAvatar($scope.avatarAttachment).then(onSuccess, onError)\n\n # Use gravatar photo\n $el.on \"click\", \"a.use-gravatar\", (event) ->\n $el.find('.overlay').removeClass('hidden')\n $rs.userSettings.removeAvatar().then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserAvatar\", [\"$tgAuth\", \"$tgModel\", \"$tgResources\", \"$tgConfirm\", UserAvatarDirective])\n\n\n#############################################################################\n## User Avatar Model Directive\n#############################################################################\n\nTaigaAvatarModelDirective = ($parse) ->\n link = ($scope, $el, $attrs) ->\n model = $parse($attrs.tgAvatarModel)\n modelSetter = model.assign\n\n $el.bind 'change', ->\n $scope.$apply ->\n modelSetter($scope, $el[0].files[0])\n\n return {link:link}\n\nmodule.directive('tgAvatarModel', ['$parse', TaigaAvatarModelDirective])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/nav.coffee\n###\n\nUserSettingsNavigationDirective = ->\n link = ($scope, $el, $attrs) ->\n section = $attrs.tgUserSettingsNavigation\n $el.find(\".active\").removeClass(\"active\")\n $el.find(\"#usersettingsmenu-#{section} a\").addClass(\"active\")\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule = angular.module(\"taigaUserSettings\")\nmodule.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/user-settings/notifications.coffee\n###\n\ntaiga = @.taiga\nmixOf = @.taiga.mixOf\nbindOnce = @.taiga.bindOnce\n\nmodule = angular.module(\"taigaUserSettings\")\n\n\n#############################################################################\n## User settings Controller\n#############################################################################\n\nclass UserNotificationsController extends mixOf(taiga.Controller, taiga.PageMixin)\n @.$inject = [\n \"$scope\",\n \"$rootScope\",\n \"$tgRepo\",\n \"$tgConfirm\",\n \"$tgResources\",\n \"$routeParams\",\n \"$q\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"$tgAuth\"\n ]\n\n constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location, @navUrls, @auth) ->\n @scope.sectionName = \"USER_SETTINGS.NOTIFICATIONS.SECTION_NAME\"\n @scope.user = @auth.getUser()\n promise = @.loadInitialData()\n promise.then null, @.onInitialDataError.bind(@)\n\n loadInitialData: ->\n return @rs.notifyPolicies.list().then (notifyPolicies) =>\n @scope.notifyPolicies = notifyPolicies\n return notifyPolicies\n\nmodule.controller(\"UserNotificationsController\", UserNotificationsController)\n\n\n#############################################################################\n## User Notifications Directive\n#############################################################################\n\nUserNotificationsDirective = () ->\n link = ($scope, $el, $attrs) ->\n $scope.$on \"$destroy\", ->\n $el.off()\n\n return {link:link}\n\nmodule.directive(\"tgUserNotifications\", UserNotificationsDirective)\n\n\n#############################################################################\n## User Notifications List Directive\n#############################################################################\n\nUserNotificationsListDirective = ($repo, $confirm, $compile) ->\n template = _.template(\"\"\"\n <% _.each(notifyPolicies, function (notifyPolicy, index) { %>\n
\">\n
<%- notifyPolicy.project_name %>
\n
\n
\n \" id=\"policy-all-<%- notifyPolicy.id %>\"\n value=\"2\" <% if (notifyPolicy.notify_level == 2) { %>checked=\"checked\"<% } %>/>\n \n
\n
\n
\n
\n \" id=\"policy-involved-<%- notifyPolicy.id %>\"\n value=\"1\" <% if (notifyPolicy.notify_level == 1) { %>checked=\"checked\"<% } %> />\n \n
\n
\n
\n
\n \" id=\"policy-none-<%- notifyPolicy.id %>\"\n value=\"3\" <% if (notifyPolicy.notify_level == 3) { %>checked=\"checked\"<% } %> />\n \n
\n
\n
\n <% }) %>\n \"\"\")\n\n link = ($scope, $el, $attrs) ->\n render = ->\n $el.off()\n\n ctx = {notifyPolicies: $scope.notifyPolicies}\n html = template(ctx)\n\n $el.html($compile(html)($scope))\n\n $el.on \"change\", \"input[type=radio]\", (event) ->\n target = angular.element(event.currentTarget)\n\n policyIndex = target.parents(\".policy-table-row\").data('index')\n policy = $scope.notifyPolicies[policyIndex]\n prev_level = policy.notify_level\n policy.notify_level = parseInt(target.val(), 10)\n\n onSuccess = ->\n $confirm.notify(\"success\")\n\n onError = ->\n $confirm.notify(\"error\")\n target.parents(\".policy-table-row\")\n .find(\"input[value=#{prev_level}]\")\n .prop(\"checked\", true)\n\n $repo.save(policy).then(onSuccess, onError)\n\n $scope.$on \"$destroy\", ->\n $el.off()\n\n bindOnce($scope, $attrs.ngModel, render)\n\n return {link:link}\n\nmodule.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", \"$compile\",\n UserNotificationsListDirective])\n","###\n# Copyright (C) 2015 Taiga Agile LLC\n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: components.module.coffee\n###\n\nangular.module(\"taigaComponents\", [])\n","module = angular.module(\"taigaHome\", [])\n","angular.module(\"taigaNavigationBar\", [])\n","module = angular.module(\"taigaProfile\", [])\n","angular.module(\"taigaProjects\", [])\n","angular.module(\"taigaResources2\", [])\n","angular.module(\"taigaUserTimeline\", [])\n","class ProjectMenuController\n @.$inject = [\n \"tgProjectService\",\n \"tgLightboxFactory\"\n ]\n\n constructor: (@projectService, @lightboxFactory) ->\n @.project = null\n @.menu = Immutable.Map()\n\n show: () ->\n @.project = @projectService.project\n\n @.active = @._getActiveSection()\n\n @._setVideoConference()\n @._setMenuPermissions()\n\n hide: () ->\n @.project = null\n @.menu = {}\n\n search: () ->\n @lightboxFactory.create(\"tg-search-box\", {\n \"class\": \"lightbox lightbox-search\"\n })\n\n _setVideoConference: () ->\n videoconferenceUrl = @._videoConferenceUrl()\n\n if videoconferenceUrl\n @.project = @.project.set(\"videoconferenceUrl\", videoconferenceUrl)\n\n _setMenuPermissions: () ->\n @.menu = Immutable.Map({\n backlog: false,\n kanban: false,\n issues: false,\n wiki: false\n })\n\n if @.project.get(\"is_backlog_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_us\") != -1\n @.menu = @.menu.set(\"backlog\", true)\n\n if @.project.get(\"is_kanban_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_us\") != -1\n @.menu = @.menu.set(\"kanban\", true)\n\n if @.project.get(\"is_issues_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_issues\") != -1\n @.menu = @.menu.set(\"issues\", true)\n\n if @.project.get(\"is_wiki_activated\") && @.project.get(\"my_permissions\").indexOf(\"view_wiki_pages\") != -1\n @.menu = @.menu.set(\"wiki\", true)\n\n _getActiveSection: () ->\n sectionName = @projectService.section\n sectionsBreadcrumb = @projectService.sectionsBreadcrumb\n\n indexBacklog = sectionsBreadcrumb.lastIndexOf(\"backlog\")\n indexKanban = sectionsBreadcrumb.lastIndexOf(\"kanban\")\n\n if indexBacklog != -1 || indexKanban != -1\n if indexKanban == -1 || indexBacklog < indexKanban\n oldSectionName = \"backlog\"\n else\n oldSectionName = \"kanban\"\n\n if sectionName == \"backlog-kanban\"\n if oldSectionName in [\"backlog\", \"kanban\"]\n sectionName = oldSectionName\n else if @.project.get(\"is_backlog_activated\") && !@.project.get(\"is_kanban_activated\")\n sectionName = \"backlog\"\n else if !@.project.get(\"is_backlog_activated\") && @.project.get(\"is_kanban_activated\")\n sectionName = \"kanban\"\n\n return sectionName\n\n _videoConferenceUrl: () ->\n if @.project.get(\"videoconferences\") == \"appear-in\"\n baseUrl = \"https://appear.in/\"\n else if @.project.get(\"videoconferences\") == \"talky\"\n baseUrl = \"https://talky.io/\"\n else if @.project.get(\"videoconferences\") == \"jitsi\"\n baseUrl = \"https://meet.jit.si/\"\n url = @.project.get(\"slug\") + \"-\" + taiga.slugify(@.project.get(\"videoconferences_salt\"))\n url = url.replace(/-/g, \"\")\n return baseUrl + url\n else\n return \"\"\n\n if @.project.get(\"videoconferences_salt\")\n url = @.project.get(\"slug\") + \"-\" + @.project.get(\"videoconferences_salt\")\n else\n url = @.project.get(\"slug\")\n\n return baseUrl + url\n\nangular.module(\"taigaComponents\").controller(\"ProjectMenu\", ProjectMenuController)\n","taiga = @.taiga\n\nProjectMenuDirective = (projectService, lightboxFactory) ->\n link = (scope, el, attrs, ctrl) ->\n projectChange = () ->\n if projectService.project\n ctrl.show()\n else\n ctrl.hide()\n\n scope.$watch ( () ->\n return projectService.project\n ), projectChange\n\n return {\n scope: {},\n controller: \"ProjectMenu\",\n controllerAs: \"vm\",\n templateUrl: \"components/project-menu/project-menu.html\",\n link: link\n }\n\nProjectMenuDirective.$inject = [\n \"tgProjectService\",\n \"tgLightboxFactory\"\n]\n\nangular.module(\"taigaComponents\").directive(\"tgProjectMenu\", ProjectMenuDirective)\n","class FeedbackService extends taiga.Service\n @.$inject = [\"tgLightboxFactory\"]\n\n constructor: (@lightboxFactory) ->\n\n sendFeedback: ->\n @lightboxFactory.create(\"tg-lb-feedback\", {\n \"class\": \"lightbox lightbox-feedback lightbox-generic-form\"\n })\n\nangular.module(\"taigaFeedback\").service(\"tgFeedbackService\", FeedbackService)\n","DutyDirective = (navurls, $translate) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n scope.vm.duty = scope.duty\n\n scope.vm.getDutyType = () ->\n if scope.vm.duty\n if scope.vm.duty.get('_name') == \"userstories\"\n return $translate.instant(\"COMMON.USER_STORY\")\n if scope.vm.duty.get('_name') == \"tasks\"\n return $translate.instant(\"COMMON.TASK\")\n if scope.vm.duty.get('_name') == \"issues\"\n return $translate.instant(\"COMMON.ISSUE\")\n\n return {\n templateUrl: \"home/duties/duty.html\"\n scope: {\n \"duty\": \"=tgDuty\"\n }\n link: link\n }\n\nDutyDirective.$inject = [\n \"$tgNavUrls\",\n \"$translate\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgDuty\", DutyDirective)\n","groupBy = @.taiga.groupBy\n\nclass HomeService extends taiga.Service\n @.$inject = [\n \"$tgNavUrls\",\n \"tgResources\",\n \"tgProjectsService\"\n ]\n\n constructor: (@navurls, @rs, @projectsService) ->\n\n _attachProjectInfoToWorkInProgress: (workInProgress, projectsById) ->\n _attachProjectInfoToDuty = (duty, objType) =>\n project = projectsById.get(String(duty.get('project')))\n\n ctx = {\n project: project.get('slug')\n ref: duty.get('ref')\n }\n\n url = @navurls.resolve(\"project-#{objType}-detail\", ctx)\n\n duty = duty.set('url', url)\n duty = duty.set('projectName', project.get('name'))\n duty = duty.set(\"_name\", objType)\n\n return duty\n\n assignedTo = workInProgress.get(\"assignedTo\")\n\n if assignedTo.get(\"userStories\")\n _duties = assignedTo.get(\"userStories\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"userstories\")\n\n assignedTo = assignedTo.set(\"userStories\", _duties)\n\n if assignedTo.get(\"tasks\")\n _duties = assignedTo.get(\"tasks\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"tasks\")\n\n assignedTo = assignedTo.set(\"tasks\", _duties)\n\n if assignedTo.get(\"issues\")\n _duties = assignedTo.get(\"issues\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"issues\")\n\n assignedTo = assignedTo.set(\"issues\", _duties)\n\n watching = workInProgress.get(\"watching\")\n\n if watching.get(\"userStories\")\n _duties = watching.get(\"userStories\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"userstories\")\n\n watching = watching.set(\"userStories\", _duties)\n\n if watching.get(\"tasks\")\n _duties = watching.get(\"tasks\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"tasks\")\n\n watching = watching.set(\"tasks\", _duties)\n\n if watching.get(\"issues\")\n _duties = watching.get(\"issues\").map (duty) ->\n return _attachProjectInfoToDuty(duty, \"issues\")\n\n watching = watching.set(\"issues\", _duties)\n\n\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo)\n workInProgress = workInProgress.set(\"watching\", watching)\n\n\n getWorkInProgress: (userId) ->\n projectsById = Immutable.Map()\n\n projectsPromise = @projectsService.getProjectsByUserId(userId).then (projects) ->\n projectsById = Immutable.fromJS(groupBy(projects.toJS(), (p) -> p.id))\n\n assignedTo = Immutable.Map()\n\n params = {\n status__is_closed: false\n assigned_to: userId\n }\n\n params_us = {\n is_closed: false\n assigned_to: userId\n }\n\n assignedUserStoriesPromise = @rs.userstories.listInAllProjects(params_us).then (userstories) ->\n assignedTo = assignedTo.set(\"userStories\", userstories)\n\n assignedTasksPromise = @rs.tasks.listInAllProjects(params).then (tasks) ->\n assignedTo = assignedTo.set(\"tasks\", tasks)\n\n assignedIssuesPromise = @rs.issues.listInAllProjects(params).then (issues) ->\n assignedTo = assignedTo.set(\"issues\", issues)\n\n params = {\n status__is_closed: false\n watchers: userId\n }\n\n params_us = {\n is_closed: false\n watchers: userId\n }\n\n watching = Immutable.Map()\n\n watchingUserStoriesPromise = @rs.userstories.listInAllProjects(params_us).then (userstories) ->\n watching = watching.set(\"userStories\", userstories)\n\n watchingTasksPromise = @rs.tasks.listInAllProjects(params).then (tasks) ->\n watching = watching.set(\"tasks\", tasks)\n\n watchingIssuesPromise = @rs.issues.listInAllProjects(params).then (issues) ->\n watching = watching.set(\"issues\", issues)\n\n workInProgress = Immutable.Map()\n\n Promise.all([\n projectsPromise\n assignedUserStoriesPromise,\n assignedTasksPromise,\n assignedIssuesPromise,\n watchingUserStoriesPromise,\n watchingTasksPromise,\n watchingIssuesPromise\n ]).then =>\n workInProgress = workInProgress.set(\"assignedTo\", assignedTo)\n workInProgress = workInProgress.set(\"watching\", watching)\n\n workInProgress = @._attachProjectInfoToWorkInProgress(workInProgress, projectsById)\n\n return workInProgress\n\nangular.module(\"taigaHome\").service(\"tgHomeService\", HomeService)\n","HomeProjectListDirective = (currentUserService, projectsService) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n\n scope.vm.newProject = ->\n projectsService.newProject()\n\n directive = {\n templateUrl: \"home/projects/home-project-list.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nHomeProjectListDirective.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgHomeProjectList\", HomeProjectListDirective)\n","class WorkingOnController\n @.$inject = [\n \"tgHomeService\"\n ]\n\n constructor: (@homeService) ->\n @.assignedTo = Immutable.Map()\n @.watching = Immutable.Map()\n\n _setAssignedTo: (workInProgress) ->\n userStories = workInProgress.get(\"assignedTo\").get(\"userStories\")\n tasks = workInProgress.get(\"assignedTo\").get(\"tasks\")\n issues = workInProgress.get(\"assignedTo\").get(\"issues\")\n\n @.assignedTo = userStories.concat(tasks).concat(issues)\n if @.assignedTo.size > 0\n @.assignedTo = @.assignedTo.sortBy((elem) -> elem.get(\"modified_date\")).reverse()\n\n _setWatching: (workInProgress) ->\n userStories = workInProgress.get(\"watching\").get(\"userStories\")\n tasks = workInProgress.get(\"watching\").get(\"tasks\")\n issues = workInProgress.get(\"watching\").get(\"issues\")\n\n @.watching = userStories.concat(tasks).concat(issues)\n if @.watching.size > 0\n @.watching = @.watching.sortBy((elem) -> elem.get(\"modified_date\")).reverse()\n\n getWorkInProgress: (userId) ->\n return @homeService.getWorkInProgress(userId).then (workInProgress) =>\n @._setAssignedTo(workInProgress)\n @._setWatching(workInProgress)\n\nangular.module(\"taigaHome\").controller(\"WorkingOn\", WorkingOnController)\n","WorkingOnDirective = (homeService, currentUserService) ->\n link = (scope, el, attrs, ctrl) ->\n user = currentUserService.getUser()\n # If we are not logged in the user will be null\n if user\n userId = user.get(\"id\")\n ctrl.getWorkInProgress(userId)\n\n return {\n controller: \"WorkingOn\",\n controllerAs: \"vm\",\n templateUrl: \"home/working-on/working-on.html\",\n scope: {},\n link: link\n }\n\nWorkingOnDirective.$inject = [\n \"tgHomeService\",\n \"tgCurrentUserService\"\n]\n\nangular.module(\"taigaHome\").directive(\"tgWorkingOn\", WorkingOnDirective)\n","DropdownProjectListDirective = (currentUserService, projectsService) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n\n scope.vm.newProject = ->\n projectsService.newProject()\n\n directive = {\n templateUrl: \"navigation-bar/dropdown-project-list/dropdown-project-list.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nDropdownProjectListDirective.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgDropdownProjectList\", DropdownProjectListDirective)\n","DropdownUserDirective = (authService, configService, locationService,\n navUrlsService, feedbackService) ->\n\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n scope.vm.isFeedbackEnabled = configService.get(\"feedbackEnabled\")\n taiga.defineImmutableProperty(scope.vm, \"user\", () -> authService.userData)\n\n scope.vm.logout = ->\n authService.logout()\n locationService.path(navUrlsService.resolve(\"login\"))\n\n scope.vm.sendFeedback = ->\n feedbackService.sendFeedback()\n\n directive = {\n templateUrl: \"navigation-bar/dropdown-user/dropdown-user.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nDropdownUserDirective.$inject = [\n \"$tgAuth\",\n \"$tgConfig\",\n \"$tgLocation\",\n \"$tgNavUrls\",\n \"tgFeedbackService\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgDropdownUser\", DropdownUserDirective)\n","NavigationBarDirective = (currentUserService, $location) ->\n link = (scope, el, attrs, ctrl) ->\n scope.vm = {}\n\n scope.$on \"$routeChangeSuccess\", () ->\n if $location.path() == \"/\"\n scope.vm.active = true\n else\n scope.vm.active = false\n\n taiga.defineImmutableProperty(scope.vm, \"projects\", () -> currentUserService.projects.get(\"recents\"))\n taiga.defineImmutableProperty(scope.vm, \"isAuthenticated\", () -> currentUserService.isAuthenticated())\n\n directive = {\n templateUrl: \"navigation-bar/navigation-bar.html\"\n scope: {}\n link: link\n }\n\n return directive\n\nNavigationBarDirective.$inject = [\n \"tgCurrentUserService\",\n \"$location\"\n]\n\nangular.module(\"taigaNavigationBar\").directive(\"tgNavigationBar\", NavigationBarDirective)\n","class ProfileBarController\n @.$inject = [\n \"tgUserService\"\n ]\n\n constructor: (@userService) ->\n @.loadStats()\n\n loadStats: () ->\n return @userService.getStats(@.user.get(\"id\")).then (stats) =>\n @.stats = stats\n\nangular.module(\"taigaProfile\").controller(\"ProfileBar\", ProfileBarController)\n","ProfileBarDirective = () ->\n return {\n templateUrl: \"profile/profile-bar/profile-bar.html\",\n controller: \"ProfileBar\",\n controllerAs: \"vm\",\n scope: {\n user: \"=user\",\n isCurrentUser: \"=iscurrentuser\"\n },\n bindToController: true\n }\n\n\nangular.module(\"taigaProfile\").directive(\"tgProfileBar\", ProfileBarDirective)\n","class ProfileContactsController\n @.$inject = [\n \"tgUserService\",\n \"tgCurrentUserService\"\n ]\n\n constructor: (@userService, @currentUserService) ->\n @.currentUser = @currentUserService.getUser()\n\n @.isCurrentUser = false\n\n if @.currentUser && @.currentUser.get(\"id\") == @.user.get(\"id\")\n @.isCurrentUser = true\n\n loadContacts: () ->\n @userService.getContacts(@.user.get(\"id\"))\n .then (contacts) =>\n @.contacts = contacts\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileContacts\", ProfileContactsController)\n","ProfileContactsDirective = () ->\n link = (scope, elm, attrs, ctrl) ->\n ctrl.loadContacts()\n\n return {\n templateUrl: \"profile/profile-contacts/profile-contacts.html\",\n scope: {\n user: \"=\"\n },\n controllerAs: \"vm\",\n controller: \"ProfileContacts\",\n link: link,\n bindToController: true\n }\n\nangular.module(\"taigaProfile\").directive(\"tgProfileContacts\", ProfileContactsDirective)\n","class ProfileHints\n HINTS: [\n { #hint1\n url: \"https://taiga.io/support/import-export-projects/\"\n },\n { #hint2\n url: \"https://taiga.io/support/custom-fields/\"\n },\n { #hint3\n },\n { #hint4\n }\n ]\n constructor: (@translate) ->\n hintKey = Math.floor(Math.random() * @.HINTS.length) + 1\n\n @.hint = @.HINTS[hintKey - 1]\n\n @.hint.linkText = @.hint.linkText || 'HINTS.LINK'\n\n @.hint.title = @translate.instant(\"HINTS.HINT#{hintKey}_TITLE\")\n\n @.hint.text = @translate.instant(\"HINTS.HINT#{hintKey}_TEXT\")\n\nProfileHints.$inject = [\n \"$translate\"\n]\n\nangular.module(\"taigaProfile\").controller(\"ProfileHints\", ProfileHints)\n","ProfileHints = ($translate) ->\n return {\n scope: {},\n controller: \"ProfileHints\",\n controllerAs: \"vm\",\n templateUrl: \"profile/profile-hints/profile-hints.html\"\n }\n\nProfileHints.$inject = [\n \"$translate\"\n]\n\nangular.module(\"taigaProfile\").directive(\"tgProfileHints\", ProfileHints)\n","class ProfileProjectsController\n @.$inject = [\n \"tgProjectsService\",\n \"tgUserService\"\n ]\n\n constructor: (@projectsService, @userService) ->\n\n loadProjects: () ->\n @projectsService.getProjectsByUserId(@.user.get(\"id\"))\n .then (projects) =>\n return @userService.attachUserContactsToProjects(@.user.get(\"id\"), projects)\n .then (projects) =>\n @.projects = projects\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileProjects\", ProfileProjectsController)\n","ProfileProjectsDirective = () ->\n link = (scope, elm, attr, ctrl) ->\n ctrl.loadProjects()\n\n return {\n templateUrl: \"profile/profile-projects/profile-projects.html\",\n scope: {\n user: \"=\"\n },\n link: link\n bindToController: true,\n controllerAs: \"vm\",\n controller: \"ProfileProjects\"\n }\n\nangular.module(\"taigaProfile\").directive(\"tgProfileProjects\", ProfileProjectsDirective)\n","ProfileTabDirective = () ->\n link = (scope, element, attrs, ctrl, transclude) ->\n scope.tab = {}\n\n attrs.$observe \"tabTitle\", (title) ->\n scope.tab.title = title\n\n scope.tab.name = attrs.tgProfileTab\n scope.tab.icon = attrs.tabIcon\n scope.tab.active = !!attrs.tabActive\n\n if scope.$eval(attrs.tabDisabled) != true\n ctrl.addTab(scope.tab)\n\n return {\n templateUrl: \"profile/profile-tab/profile-tab.html\",\n scope: {},\n require: \"^tgProfileTabs\",\n link: link,\n transclude: true\n }\n\nangular.module(\"taigaProfile\")\n .directive(\"tgProfileTab\", ProfileTabDirective)\n","class ProfileTabsController\n constructor: () ->\n @tabs = []\n\n addTab: (tab) ->\n @tabs.push(tab)\n\n toggleTab: (tab) ->\n _.map @tabs, (tab) -> tab.active = false\n\n tab.active = true\n\nangular.module(\"taigaProfile\")\n .controller(\"ProfileTabs\", ProfileTabsController)\n","ProfileTabsDirective = () ->\n return {\n scope: {}\n controller: \"ProfileTabs\"\n controllerAs: \"vm\"\n templateUrl: \"profile/profile-tabs/profile-tabs.html\"\n transclude: true\n }\n\nangular.module(\"taigaProfile\")\n .directive(\"tgProfileTabs\", ProfileTabsDirective)\n","class ProfileController\n @.$inject = [\n \"tgAppMetaService\",\n \"tgCurrentUserService\",\n \"$routeParams\",\n \"tgUserService\",\n \"tgXhrErrorService\",\n \"$translate\"\n ]\n\n constructor: (@appMetaService, @currentUserService, @routeParams, @userService, @xhrError, @translate) ->\n @.isCurrentUser = false\n\n if @routeParams.slug\n @userService\n .getUserByUserName(@routeParams.slug)\n .then (user) =>\n if !user.get('is_active')\n @xhrError.notFound()\n else\n @.user = user\n @.isCurrentUser = false\n @._setMeta(@.user)\n\n return user\n .catch (xhr) =>\n return @xhrError.response(xhr)\n\n else\n @.user = @currentUserService.getUser()\n @.isCurrentUser = true\n @._setMeta(@.user)\n\n _setMeta: (user) ->\n ctx = {\n userFullName: user.get(\"full_name_display\"),\n userUsername: user.get(\"username\")\n }\n\n title = @translate.instant(\"USER.PROFILE.PAGE_TITLE\", ctx)\n\n description = user.get(\"bio\")\n @appMetaService.setAll(title, description)\n\nangular.module(\"taigaProfile\").controller(\"Profile\", ProfileController)\n","SortProjectsDirective = (currentUserService) ->\n link = (scope, el, attrs, ctrl) ->\n itemEl = null\n\n el.sortable({\n dropOnEmpty: true\n revert: 200\n axis: \"y\"\n opacity: .95\n placeholder: 'placeholder'\n cancel: '.project-name' \n })\n\n el.on \"sortstop\", (event, ui) ->\n itemEl = ui.item\n project = itemEl.scope().project\n index = itemEl.index()\n\n sorted_project_ids = _.map(scope.projects.toJS(), (p) -> p.id)\n sorted_project_ids = _.without(sorted_project_ids, project.get(\"id\"))\n sorted_project_ids.splice(index, 0, project.get('id'))\n\n sortData = []\n\n for value, index in sorted_project_ids\n sortData.push({\"project_id\": value, \"order\":index})\n\n currentUserService.bulkUpdateProjectsOrder(sortData)\n\n directive = {\n scope: {\n projects: \"=tgSortProjects\"\n },\n link: link\n }\n\n return directive\n\nangular.module(\"taigaProjects\").directive(\"tgSortProjects\", [\"tgCurrentUserService\", SortProjectsDirective])\n","class ProjectsListingController\n @.$inject = [\n \"tgCurrentUserService\",\n \"tgProjectsService\",\n ]\n\n constructor: (@currentUserService, @projectsService) ->\n taiga.defineImmutableProperty(@, \"projects\", () => @currentUserService.projects.get(\"all\"))\n\n newProject: ->\n @projectsService.newProject()\n\nangular.module(\"taigaProjects\").controller(\"ProjectsListing\", ProjectsListingController)\n","class ProjectController\n @.$inject = [\n \"tgProjectsService\",\n \"$routeParams\",\n \"tgAppMetaService\",\n \"$tgAuth\",\n \"tgXhrErrorService\",\n \"$translate\"\n ]\n\n constructor: (@projectsService, @routeParams, @appMetaService, @auth, @xhrError, @translate) ->\n projectSlug = @routeParams.pslug\n @.user = @auth.userData\n\n @projectsService\n .getProjectBySlug(projectSlug)\n .then (project) =>\n @.project = project\n @._setMeta(@.project)\n\n .catch (xhr) =>\n @xhrError.response(xhr)\n\n _setMeta: (project)->\n ctx = {projectName: project.get(\"name\")}\n\n title = @translate.instant(\"PROJECT.PAGE_TITLE\", ctx)\n description = project.get(\"description\")\n @appMetaService.setAll(title, description)\n\nangular.module(\"taigaProjects\").controller(\"Project\", ProjectController)\n","taiga = @.taiga\ngroupBy = @.taiga.groupBy\n\nclass ProjectsService extends taiga.Service\n @.$inject = [\"tgResources\", \"$projectUrl\", \"tgLightboxFactory\"]\n\n constructor: (@rs, @projectUrl, @lightboxFactory) ->\n\n getProjectBySlug: (projectSlug) ->\n return @rs.projects.getProjectBySlug(projectSlug)\n .then (project) =>\n return @._decorate(project)\n\n getProjectStats: (projectId) ->\n return @rs.projects.getProjectStats(projectId)\n\n getProjectsByUserId: (userId, paginate) ->\n return @rs.projects.getProjectsByUserId(userId, paginate)\n .then (projects) =>\n return projects.map @._decorate.bind(@)\n\n _decorate: (project) ->\n url = @projectUrl.get(project.toJS())\n\n project = project.set(\"url\", url)\n colorized_tags = []\n\n if project.get(\"tags\")\n tags = project.get(\"tags\").sort()\n\n colorized_tags = tags.map (tag) ->\n color = project.get(\"tags_colors\").get(tag)\n return Immutable.fromJS({name: tag, color: color})\n\n project = project.set(\"colorized_tags\", colorized_tags)\n\n return project\n\n newProject: ->\n @lightboxFactory.create(\"tg-lb-create-project\", {\n \"class\": \"wizard-create-project\"\n })\n\n bulkUpdateProjectsOrder: (sortData) ->\n return @rs.projects.bulkUpdateOrder(sortData)\n\nangular.module(\"taigaProjects\").service(\"tgProjectsService\", ProjectsService)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"issues\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"issues\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgIssuesResource\", Resource)\n","pagination = () ->\n\nResource = (urlsService, http, paginateResponseService) ->\n service = {}\n\n service.getProjectBySlug = (projectSlug) ->\n url = urlsService.resolve(\"projects\")\n\n url = \"#{url}/by_slug?slug=#{projectSlug}\"\n\n return http.get(url)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProjectsByUserId = (userId, paginate=false) ->\n url = urlsService.resolve(\"projects\")\n httpOptions = {}\n\n if !paginate\n httpOptions.headers = {\n \"x-disable-pagination\": \"1\"\n }\n\n params = {\"member\": userId, \"order_by\": \"memberships__user_order\"}\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProjectStats = (projectId) ->\n url = urlsService.resolve(\"projects\")\n url = \"#{url}/#{projectId}\"\n\n return http.get(url)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.bulkUpdateOrder = (bulkData) ->\n url = urlsService.resolve(\"bulk-update-projects-order\")\n return http.post(url, bulkData)\n\n service.getTimeline = (projectId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-project\")\n url = \"#{url}/#{projectId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n return () ->\n return {\"projects\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgProjectsResources\", Resource)\n","services = [\n \"tgProjectsResources\",\n \"tgUsersResources\",\n \"tgUserstoriesResource\",\n \"tgTasksResource\",\n \"tgIssuesResource\"\n]\n\nResources = ($injector) ->\n for serviceName in services\n serviceFn = $injector.get(serviceName)\n\n service = $injector.invoke(serviceFn)\n\n for serviceProperty in Object.keys(service)\n if @[serviceProperty]\n console.warm(\"repeated resource \" + serviceProperty)\n\n @[serviceProperty] = service[serviceProperty]\n\n return @\n\n\nResources.$inject = [\"$injector\"]\n\nangular.module(\"taigaResources2\").service(\"tgResources\", Resources)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"tasks\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"tasks\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgTasksResource\", Resource)\n","Resource = (urlsService, http, paginateResponseService) ->\n service = {}\n\n service.getUserByUsername = (username) ->\n url = urlsService.resolve(\"by_username\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n params = {\n username: username\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getStats = (userId) ->\n url = urlsService.resolve(\"stats\", userId)\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, {}, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getContacts = (userId) ->\n url = urlsService.resolve(\"contacts\", userId)\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, {}, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n service.getProfileTimeline = (userId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-profile\")\n url = \"#{url}/#{userId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n service.getUserTimeline = (userId, page) ->\n params = {\n page: page\n }\n\n url = urlsService.resolve(\"timeline-user\")\n url = \"#{url}/#{userId}\"\n\n return http.get(url, params).then (result) ->\n result = Immutable.fromJS(result)\n return paginateResponseService(result)\n\n return () ->\n return {\"users\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\", \"tgPaginateResponseService\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgUsersResources\", Resource)\n","Resource = (urlsService, http) ->\n service = {}\n\n service.listInAllProjects = (params) ->\n url = urlsService.resolve(\"userstories\")\n\n httpOptions = {\n headers: {\n \"x-disable-pagination\": \"1\"\n }\n }\n\n return http.get(url, params, httpOptions)\n .then (result) ->\n return Immutable.fromJS(result.data)\n\n return () ->\n return {\"userstories\": service}\n\nResource.$inject = [\"$tgUrls\", \"$tgHttp\"]\n\nmodule = angular.module(\"taigaResources2\")\nmodule.factory(\"tgUserstoriesResource\", Resource)\n","taiga = @.taiga\n\ntruncate = taiga.truncate\n\n\nclass AppMetaService extends taiga.Service = ->\n _set: (key, value) ->\n return if not key\n\n if key == \"title\"\n meta = $(\"title\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.text(value or \"\")\n else if key.indexOf(\"og:\") == 0\n meta = $(\"meta[property='#{key}']\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.attr(\"content\", value or \"\")\n else\n meta = $(\"meta[name='#{key}']\")\n\n if meta.length == 0\n meta = $(\"\")\n $(\"head\").append(meta)\n\n meta.attr(\"content\", value or \"\")\n\n setTitle: (title) ->\n @._set('title', title)\n\n setDescription: (description) ->\n @._set(\"description\", truncate(description, 250))\n\n setTwitterMetas: (title, description) ->\n @._set(\"twitter:card\", \"summary\")\n @._set(\"twitter:site\", \"@taigaio\")\n @._set(\"twitter:title\", title)\n @._set(\"twitter:description\", truncate(description, 300))\n @._set(\"twitter:image\", \"#{window.location.origin}/images/logo-color.png\")\n\n setOpenGraphMetas: (title, description) ->\n @._set(\"og:type\", \"object\")\n @._set(\"og:site_name\", \"Taiga - Love your projects\")\n @._set(\"og:title\", title)\n @._set(\"og:description\", truncate(description, 300))\n @._set(\"og:image\", \"#{window.location.origin}/images/logo-color.png\")\n @._set(\"og:url\", window.location.href)\n\n setAll: (title, description) ->\n @.setTitle(title)\n @.setDescription(description)\n @.setTwitterMetas(title, description)\n @.setOpenGraphMetas(title, description)\n\n\nangular.module(\"taigaCommon\").service(\"tgAppMetaService\", AppMetaService)\n","taiga = @.taiga\n\ngroupBy = @.taiga.groupBy\n\nclass CurrentUserService\n @.$inject = [\n \"tgProjectsService\",\n \"$tgStorage\"\n ]\n\n constructor: (@projectsService, @storageService) ->\n @._user = null\n @._projects = Immutable.Map()\n @._projectsById = Immutable.Map()\n\n taiga.defineImmutableProperty @, \"projects\", () => return @._projects\n taiga.defineImmutableProperty @, \"projectsById\", () => return @._projectsById\n\n isAuthenticated: ->\n if @.getUser() != null\n return true\n return false\n\n getUser: () ->\n if !@._user\n userData = @storageService.get(\"userInfo\")\n\n if userData\n userData = Immutable.fromJS(userData)\n @.setUser(userData)\n\n return @._user\n\n removeUser: () ->\n @._user = null\n @._projects = Immutable.Map()\n @._projectsById = Immutable.Map()\n\n setUser: (user) ->\n @._user = user\n\n return @._loadUserInfo()\n\n bulkUpdateProjectsOrder: (sortData) ->\n @projectsService.bulkUpdateProjectsOrder(sortData).then () =>\n @._loadProjects()\n\n _loadProjects: () ->\n return @projectsService.getProjectsByUserId(@._user.get(\"id\"))\n .then (projects) =>\n @._projects = @._projects.set(\"all\", projects)\n @._projects = @._projects.set(\"recents\", projects.slice(0, 10))\n\n @._projectsById = Immutable.fromJS(groupBy(projects.toJS(), (p) -> p.id))\n\n return @.projects\n\n _loadUserInfo: () ->\n return @._loadProjects()\n\nangular.module(\"taigaCommon\").service(\"tgCurrentUserService\", CurrentUserService)\n","class LightboxFactory\n @.$inject = [\"$rootScope\", \"$compile\"]\n constructor: (@rootScope, @compile) ->\n\n create: (name, attrs) ->\n scope = @rootScope.$new()\n\n elm = $(\"
\")\n .attr(name, true)\n .attr(\"tg-bind-scope\", true)\n\n if attrs\n elm.attr(attrs)\n\n elm.addClass(\"remove-on-close\")\n\n html = @compile(elm)(scope)\n\n $(document.body).append(html)\n\n return\n\nangular.module(\"taigaCommon\").service(\"tgLightboxFactory\", LightboxFactory)\n","PaginateResponse = () ->\n return (result) ->\n paginateResponse = Immutable.Map({\n \"data\": result.get(\"data\"),\n \"next\": !!result.get(\"headers\")(\"x-pagination-next\"),\n \"prev\": !!result.get(\"headers\")(\"x-pagination-prev\"),\n \"current\": result.get(\"headers\")(\"x-pagination-current\"),\n \"count\": result.get(\"headers\")(\"x-pagination-count\")\n })\n\n return paginateResponse\n\nangular.module(\"taigaCommon\").factory(\"tgPaginateResponseService\", PaginateResponse)\n","taiga = @.taiga\n\nclass ProjectService\n @.$inject = [\n \"tgProjectsService\"\n ]\n\n constructor: (@projectsService) ->\n @._project = null\n @._section = null\n @._sectionsBreadcrumb = Immutable.List()\n\n taiga.defineImmutableProperty @, \"project\", () => return @._project\n taiga.defineImmutableProperty @, \"section\", () => return @._section\n taiga.defineImmutableProperty @, \"sectionsBreadcrumb\", () => return @._sectionsBreadcrumb\n\n setSection: (section) ->\n @._section = section\n\n if section\n @._sectionsBreadcrumb = @._sectionsBreadcrumb.push(@._section)\n else\n @._sectionsBreadcrumb = Immutable.List()\n\n setProject: (pslug) ->\n if @._pslug != pslug\n @._pslug = pslug\n\n @.fetchProject()\n\n cleanProject: () ->\n @._pslug = null\n @._project = null\n @._section = null\n @._sectionsBreadcrumb = Immutable.List()\n\n fetchProject: () ->\n return @projectsService.getProjectBySlug(@._pslug).then (project) =>\n @._project = project\n\nangular.module(\"taigaCommon\").service(\"tgProjectService\", ProjectService)\n","class ScopeEvent\n scopes: {},\n _searchDuplicatedScopes: (id) ->\n return _.find Object.keys(@scopes), (key) =>\n return @scopes[key].$id == id\n\n _create: (name, scope) ->\n duplicatedScopeName = @._searchDuplicatedScopes(scope.$id)\n\n if duplicatedScopeName\n throw new Error(\"scopeEvent: this scope is already\n register with the name \\\"\" + duplicatedScopeName + \"\\\"\")\n\n if @scopes[name]\n throw new Error(\"scopeEvent: \\\"\" + name + \"\\\" already in use\")\n else\n scope._tgEmitter = new EventEmitter2()\n\n scope.$on \"$destroy\", () =>\n scope._tgEmitter.removeAllListeners()\n delete @scopes[name]\n\n @scopes[name] = scope\n\n emitter: (name, scope) ->\n if scope\n scope = @._create(name, scope)\n else if @scopes[name]\n scope = @scopes[name]\n else\n throw new Error(\"scopeEvent: \\\"\" + name + \"\\\" scope doesn't exist'\")\n\n return scope._tgEmitter\n\nangular.module(\"taigaCommon\").service(\"tgScopeEvent\", ScopeEvent)\n","taiga = @.taiga\n\nclass UserService extends taiga.Service\n @.$inject = [\"tgResources\"]\n\n constructor: (@rs) ->\n\n getUserByUserName: (username) ->\n return @rs.users.getUserByUsername(username)\n\n getContacts: (userId) ->\n return @rs.users.getContacts(userId)\n\n getStats: (userId) ->\n return @rs.users.getStats(userId)\n\n attachUserContactsToProjects: (userId, projects) ->\n return @.getContacts(userId)\n .then (contacts) ->\n projects = projects.map (project) ->\n contactsFiltered = contacts.filter (contact) ->\n contactId = contact.get(\"id\")\n return project.get('members').indexOf(contactId) != -1\n\n project = project.set(\"contacts\", contactsFiltered)\n\n return project\n\n return projects\n\nangular.module(\"taigaCommon\").service(\"tgUserService\", UserService)\n","class xhrError extends taiga.Service\n @.$inject = [\n \"$q\",\n \"$location\",\n \"$tgNavUrls\"\n ]\n\n constructor: (@q, @location, @navUrls) ->\n\n notFound: () ->\n @location.path(@navUrls.resolve(\"not-found\"))\n @location.replace()\n\n permissionDenied: () ->\n @location.path(@navUrls.resolve(\"permission-denied\"))\n @location.replace()\n\n response: (xhr) ->\n if xhr\n if xhr.status == 404\n @.notFound()\n\n else if xhr.status == 403\n @.permissionDenied()\n\n return @q.reject(xhr)\n\nangular.module(\"taigaCommon\").service(\"tgXhrErrorService\", xhrError)\n","UserTimelineAttachmentDirective = (template, $compile) ->\n validFileExtensions = [\".jpg\", \".jpeg\", \".bmp\", \".gif\", \".png\"]\n\n isImage = (url) ->\n url = url.toLowerCase()\n\n return _.some validFileExtensions, (extension) ->\n return url.indexOf(extension, url - extension.length) != -1\n\n link = (scope, el) ->\n is_image = isImage(scope.attachment.url)\n\n if is_image\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment-image.html\")\n else\n templateHtml = template.get(\"user-timeline/user-timeline-attachment/user-timeline-attachment.html\")\n\n el.html(templateHtml)\n $compile(el.contents())(scope)\n\n el.find(\"img\").error () -> @.remove()\n\n return {\n link: link\n scope: {\n attachment: \"=tgUserTimelineAttachment\"\n }\n }\n\nUserTimelineAttachmentDirective.$inject = [\n \"$tgTemplate\",\n \"$compile\"\n]\n\nangular.module(\"taigaUserTimeline\")\n .directive(\"tgUserTimelineAttachment\", UserTimelineAttachmentDirective)\n","unslugify = @.taiga.unslugify\n\nclass UserTimelineItemTitle\n @.$inject = [\n \"$translate\"\n ]\n\n _fieldTranslationKey: {\n 'status': 'COMMON.FIELDS.STATUS',\n 'subject': 'COMMON.FIELDS.SUBJECT',\n 'description_diff': 'COMMON.FIELDS.DESCRIPTION',\n 'points': 'COMMON.FIELDS.POINTS',\n 'assigned_to': 'COMMON.FIELDS.ASSIGNED_TO',\n 'severity': 'ISSUES.FIELDS.SEVERITY',\n 'priority': 'ISSUES.FIELDS.PRIORITY',\n 'type': 'ISSUES.FIELDS.TYPE',\n 'is_iocaine': 'TASK.FIELDS.IS_IOCAINE'\n }\n\n constructor: (@translate) ->\n\n\n _translateTitleParams: (param, timeline, event) ->\n if param == \"username\"\n user = timeline.data.user\n title_attr = @translate.instant('COMMON.SEE_USER_PROFILE', {username: user.username})\n url = 'user-profile:username=vm.activity.user.username'\n\n return @._getLink(url, user.name, title_attr)\n\n else if param == 'field_name'\n field_name = Object.keys(timeline.data.values_diff)[0]\n\n return @translate.instant(@._fieldTranslationKey[field_name])\n\n else if param == 'project_name'\n url = 'project:project=vm.activity.project.slug'\n\n return @._getLink(url, timeline.data.project.name)\n\n else if param == 'sprint_name'\n url = 'project-taskboard:project=vm.activity.project.slug,sprint=vm.activity.sprint.slug'\n\n return @._getLink(url, timeline.data.milestone.name)\n\n else if param == 'us_name'\n obj = @._getTimelineObj(timeline, event).userstory\n\n event_us = {obj: 'parent_userstory'}\n url = @._getDetailObjUrl(event_us)\n\n text = '#' + obj.ref + ' ' + obj.subject\n\n return @._getLink(url, text)\n\n else if param == 'obj_name'\n obj = @._getTimelineObj(timeline, event)\n url = @._getDetailObjUrl(event)\n\n if event.obj == 'wikipage'\n text = unslugify(obj.slug)\n else if event.obj == 'milestone'\n text = obj.name\n else\n text = '#' + obj.ref + ' ' + obj.subject\n\n return @._getLink(url, text)\n\n _getTimelineObj: (timeline, event) ->\n return timeline.data[event.obj]\n\n _getDetailObjUrl: (event) ->\n url = {\n \"issue\": [\"project-issues-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"wikipage\": [\"project-wiki-page\", \":project=vm.activity.project.slug,slug=vm.activity.obj.slug\"],\n \"task\": [\"project-tasks-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"userstory\": [\"project-userstories-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.ref\"],\n \"parent_userstory\": [\"project-userstories-detail\", \":project=vm.activity.project.slug,ref=vm.activity.obj.userstory.ref\"],\n \"milestone\": [\"project-taskboard\", \":project=vm.activity.project.slug,sprint=vm.activity.obj.slug\"]\n }\n\n return url[event.obj][0] + url[event.obj][1]\n\n _getLink: (url, text, title) ->\n title = title || text\n\n return $('')\n .attr('tg-nav', url)\n .text(text)\n .attr('title', title)\n .prop('outerHTML')\n\n _getParams: (timeline, event, timeline_type) ->\n params = {}\n\n timeline_type.translate_params.forEach (param) =>\n params[param] = @._translateTitleParams(param, timeline, event)\n\n return params\n\n getTitle: (timeline, event, type) ->\n return @translate.instant(type.key, @._getParams(timeline, event, type))\n\nangular.module(\"taigaUserTimeline\")\n .service(\"tgUserTimelineItemTitle\", UserTimelineItemTitle)\n","timelineType = (timeline, event) ->\n types = [\n { # NewMember\n check: (timeline, event) ->\n return event.obj == 'membership'\n key: 'TIMELINE.NEW_MEMBER',\n translate_params: ['project_name']\n member: (timeline) ->\n return {\n user: timeline.data.user,\n role: timeline.data.role\n }\n },\n { # NewProject\n check: (timeline, event) ->\n return event.obj == 'project' && event.type == 'create'\n key: 'TIMELINE.NEW_PROJECT',\n translate_params: ['username', 'project_name'],\n description: (timeline) ->\n return timeline.data.project.description\n },\n { # NewAttachment\n check: (timeline, event) ->\n return event.type == 'change' && timeline.data.values_diff.attachments\n key: 'TIMELINE.UPLOAD_ATTACHMENT',\n translate_params: ['username', 'obj_name']\n },\n { # NewUs\n check: (timeline, event) ->\n return event.obj == 'userstory' && event.type == 'create'\n key: 'TIMELINE.US_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewIssue\n check: (timeline, event) ->\n return event.obj == 'issue' && event.type == 'create'\n key: 'TIMELINE.ISSUE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewWiki\n check: (timeline, event) ->\n return event.obj == 'wikipage' && event.type == 'create'\n key: 'TIMELINE.WIKI_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewTask\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'create' && !timeline.data.task.userstory\n key: 'TIMELINE.TASK_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewTask with US\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'create' && timeline.data.task.userstory\n key: 'TIMELINE.TASK_CREATED_WITH_US',\n translate_params: ['username', 'project_name', 'obj_name', 'us_name']\n },\n { # NewMilestone\n check: (timeline, event) ->\n return event.obj == 'milestone' && event.type == 'create'\n key: 'TIMELINE.MILESTONE_CREATED',\n translate_params: ['username', 'project_name', 'obj_name']\n },\n { # NewUsComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'userstory'\n key: 'TIMELINE.NEW_COMMENT_US',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # NewIssueComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'issue'\n key: 'TIMELINE.NEW_COMMENT_ISSUE',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # NewTaskComment\n check: (timeline, event) ->\n return timeline.data.comment && event.obj == 'task'\n key: 'TIMELINE.NEW_COMMENT_TASK'\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n return $(timeline.data.comment_html).text()\n },\n { # UsToMilestone\n check: (timeline, event, field_name) ->\n if field_name == 'milestone' && event.type == 'change'\n return timeline.data.values_diff.milestone[0] == null\n\n return false\n key: 'TIMELINE.US_ADDED_MILESTONE',\n translate_params: ['username', 'obj_name', 'sprint_name']\n },\n { # UsToBacklog\n check: (timeline, event, field_name) ->\n if field_name == 'milestone' && event.type == 'change'\n return timeline.data.values_diff.milestone[1] == null\n\n return false\n key: 'TIMELINE.US_REMOVED_FROM_MILESTONE',\n translate_params: ['username', 'obj_name']\n },\n { # Blocked\n check: (timeline, event) ->\n if event.type == 'change' && timeline.data.values_diff.is_blocked\n return timeline.data.values_diff.is_blocked[1] == true\n\n return false\n key: 'TIMELINE.BLOCKED',\n translate_params: ['username', 'obj_name'],\n description: (timeline) ->\n if timeline.data.values_diff.blocked_note_html\n return $(timeline.data.values_diff.blocked_note_html[1]).text()\n else\n return false\n },\n { # UnBlocked\n check: (timeline, event) ->\n if event.type == 'change' && timeline.data.values_diff.is_blocked\n return timeline.data.values_diff.is_blocked[1] == false\n\n return false\n key: 'TIMELINE.UNBLOCKED',\n translate_params: ['username', 'obj_name']\n },\n { # MilestoneUpdated\n check: (timeline, event) ->\n return event.obj == 'milestone' && event.type == 'change'\n key: 'TIMELINE.MILESTONE_UPDATED',\n translate_params: ['username', 'obj_name']\n },\n { # WikiUpdated\n check: (timeline, event) ->\n return event.obj == 'wikipage' && event.type == 'change'\n key: 'TIMELINE.WIKI_UPDATED',\n translate_params: ['username', 'obj_name']\n },\n { # UsUpdated\n check: (timeline, event) ->\n return event.obj == 'userstory' && event.type == 'change'\n key: 'TIMELINE.US_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # IssueUpdated\n check: (timeline, event) ->\n return event.obj == 'issue' && event.type == 'change'\n key: 'TIMELINE.ISSUE_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # TaskUpdated\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'change' && !timeline.data.task.userstory\n key: 'TIMELINE.TASK_UPDATED',\n translate_params: ['username', 'field_name', 'obj_name']\n },\n { # TaskUpdated with US\n check: (timeline, event) ->\n return event.obj == 'task' && event.type == 'change' && timeline.data.task.userstory\n key: 'TIMELINE.TASK_UPDATED_WITH_US',\n translate_params: ['username', 'field_name', 'obj_name', 'us_name']\n },\n { # New User\n check: (timeline, event) ->\n return event.obj == 'user' && event.type == 'create'\n key: 'TIMELINE.NEW_USER',\n translate_params: ['username']\n }\n ]\n\n if timeline.data.values_diff\n field_name = Object.keys(timeline.data.values_diff)[0]\n\n return _.find types, (obj) ->\n return obj.check(timeline, event, field_name)\n\nclass UserTimelineType\n getType: (timeline, event) -> timelineType(timeline, event)\n\nangular.module(\"taigaUserTimeline\")\n .service(\"tgUserTimelineItemType\", UserTimelineType)\n","class UserTimelineItemController\n @.$inject = [\n \"tgUserTimelineItemType\",\n \"tgUserTimelineItemTitle\"\n ]\n\n constructor: (@userTimelineItemType, @userTimelineItemTitle) ->\n timeline = @.timeline.toJS()\n\n event = @.parseEventType(timeline.event_type)\n type = @userTimelineItemType.getType(timeline, event)\n\n @.activity = {}\n\n @.activity.user = timeline.data.user\n @.activity.project = timeline.data.project\n @.activity.sprint = timeline.data.milestone\n @.activity.title = @userTimelineItemTitle.getTitle(timeline, event, type)\n @.activity.created_formated = moment(timeline.created).fromNow()\n @.activity.obj = @.getObject(timeline, event)\n\n if type.description\n @.activity.description = type.description(timeline)\n\n if type.member\n @.activity.member = type.member(timeline)\n\n if timeline.data.values_diff?.attachments\n @.activity.attachments = timeline.data.values_diff.attachments.new\n\n parseEventType: (event_type) ->\n event_type = event_type.split(\".\")\n\n return {\n section: event_type[0],\n obj: event_type[1],\n type: event_type[2]\n }\n\n getObject: (timeline, event) ->\n if timeline.data[event.obj]\n return timeline.data[event.obj]\n\nangular.module(\"taigaUserTimeline\")\n .controller(\"UserTimelineItem\", UserTimelineItemController)\n","UserTimelineItemDirective = () ->\n return {\n controllerAs: \"vm\"\n controller: \"UserTimelineItem\"\n bindToController: true\n templateUrl: \"user-timeline/user-timeline-item/user-timeline-item.html\"\n scope: {\n timeline: \"=tgUserTimelineItem\"\n }\n }\n\nangular.module(\"taigaUserTimeline\")\n .directive(\"tgUserTimelineItem\", UserTimelineItemDirective)\n","UserTimelinePaginationSequence = () ->\n return (config) ->\n page = 1\n items = Immutable.List()\n\n config.minItems = config.minItems || 20\n\n next = () ->\n items = Immutable.List()\n return getContent()\n\n getContent = () ->\n config.fetch(page).then (response) ->\n page++\n\n data = response.get(\"data\")\n\n if config.filter\n data = config.filter(response.get(\"data\"))\n\n items = items.concat(data)\n\n if items.size < config.minItems && response.get(\"next\")\n return getContent()\n\n return Immutable.Map({\n items: items,\n next: response.get(\"next\")\n })\n\n return {\n next: () -> next()\n }\n\nangular.module(\"taigaUserTimeline\").factory(\"tgUserTimelinePaginationSequenceService\", UserTimelinePaginationSequence)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: modules/profile/profile-timeline/profile-timeline.controller.coffee\n###\n\ntaiga = @.taiga\n\nmixOf = @.taiga.mixOf\n\nclass UserTimelineController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin)\n @.$inject = [\n \"tgUserTimelineService\"\n ]\n\n constructor: (@userTimelineService) ->\n @.timelineList = Immutable.List()\n @.scrollDisabled = false\n\n @.timeline = null\n\n if @.projectId\n @.timeline = @userTimelineService.getProjectTimeline(@.projectId)\n else if @.currentUser\n @.timeline = @userTimelineService.getProfileTimeline(@.user.get(\"id\"))\n else\n @.timeline = @userTimelineService.getUserTimeline(@.user.get(\"id\"))\n\n loadTimeline: () ->\n @.scrollDisabled = true\n\n return @.timeline\n .next()\n .then (response) =>\n @.timelineList = @.timelineList.concat(response.get(\"items\"))\n\n if response.get(\"next\")\n @.scrollDisabled = false\n\n return @.timelineList\n\nangular.module(\"taigaUserTimeline\")\n .controller(\"UserTimeline\", UserTimelineController)\n","UserTimelineDirective = ->\n return {\n templateUrl: \"user-timeline/user-timeline/user-timeline.html\",\n controller: \"UserTimeline\",\n controllerAs: \"vm\",\n scope: {\n projectId: \"=projectid\",\n user: \"=\",\n currentUser: \"=\"\n },\n bindToController: true\n }\n\nangular.module(\"taigaProfile\").directive(\"tgUserTimeline\", UserTimelineDirective)\n","taiga = @.taiga\n\nclass UserTimelineService extends taiga.Service\n @.$inject = [\"tgResources\", \"tgUserTimelinePaginationSequenceService\"]\n\n constructor: (@rs, @userTimelinePaginationSequenceService) ->\n\n _invalid: [\n {# Items with only invalid fields\n check: (timeline) ->\n values_diff = timeline.get(\"data\").get(\"values_diff\")\n\n if values_diff\n values = Object.keys(values_diff.toJS())\n\n if values && values.length\n if _.every(values, (value) => @._valid_fields.indexOf(value) == -1)\n return true\n else if values[0] == 'attachments' &&\n values_diff.get('attachments').get('new').size == 0\n return true\n\n return false\n },\n {# Deleted\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n return event[2] == 'delete'\n },\n {# Project change\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n return event[1] == 'project' && event[2] == 'change'\n },\n {# Comment deleted\n check: (timeline) ->\n return !!timeline.get(\"data\").get(\"comment_deleted\")\n },\n {# Task milestone\n check: (timeline) ->\n event = timeline.get('event_type').split(\".\")\n\n if event[1] == \"task\" && event[2] == \"change\"\n return timeline.get(\"data\").get(\"values_diff\").get(\"milestone\")\n\n return false\n }\n ]\n\n _valid_fields: [\n 'status',\n 'subject',\n 'description_diff',\n 'assigned_to',\n 'points',\n 'severity',\n 'priority',\n 'type',\n 'attachments',\n 'milestone',\n 'is_blocked',\n 'is_iocaine',\n 'content_diff',\n 'name',\n 'estimated_finish',\n 'estimated_start'\n ]\n\n _isInValidTimeline: (timeline) ->\n return _.some @._invalid, (invalid) =>\n return invalid.check.call(this, timeline)\n\n getProfileTimeline: (userId, page) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.users.getProfileTimeline(userId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\n getUserTimeline: (userId) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.users.getUserTimeline(userId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\n getProjectTimeline: (projectId) ->\n config = {}\n\n config.fetch = (page) =>\n return @rs.projects.getTimeline(projectId, page)\n\n config.filter = (items) =>\n return items.filterNot (item) => @._isInValidTimeline(item)\n\n return @userTimelinePaginationSequenceService(config)\n\nangular.module(\"taigaUserTimeline\").service(\"tgUserTimelineService\", UserTimelineService)\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: pluggins/main.coffee\n###\n\nmodule = angular.module(\"taigaPlugins\", [\"ngRoute\"])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: plugins/humanshtml/humanshtml.coffee\n###\n\n# Simple plugin example that extends the urlmappings\n# and add additional template.\n\ntaiga = @.taiga\nmodule = angular.module(\"taigaPlugins\")\n\nconfigure = ($routeProvider) ->\n $routeProvider.when(\"/humans.html\", {\"templateUrl\": \"/plugins/humanshtml/templates/humans.html\"})\n\nmodule.config([\"$routeProvider\", configure])\n","###\n# Copyright (C) 2014 Andrey Antukh \n# Copyright (C) 2014 Jesús Espino Garcia \n# Copyright (C) 2014 David Barragán Merino \n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see .\n#\n# File: plugins/terms/terms.coffee\n###\n\ntaiga = @.taiga\n\nmodule = angular.module(\"taigaPlugins\")\n\ntemplate = _.template(\"\"\"\n

\n By clicking \"Sign up\", you agree to our
\n
\" title=\"See terms of service\" target=\"_blank\"> terms of service\n and\n \" title=\"See privacy policy\" target=\"_blank\"> privacy policy.\n

\"\"\")\n\n\nTermsNoticeDirective = ($config) ->\n privacyPolicyUrl = $config.get(\"privacyPolicyUrl\")\n termsOfServiceUrl = $config.get(\"termsOfServiceUrl\")\n\n templateFn = ->\n if not (privacyPolicyUrl and termsOfServiceUrl)\n return \"\"\n\n ctx = {termsUrl: termsOfServiceUrl, privacyUrl: privacyPolicyUrl}\n return template(ctx)\n\n return {\n scope: {}\n restrict: \"AE\"\n template: templateFn\n }\n\n\nmodule.directive(\"tgTermsNotice\", [\"$tgConfig\", TermsNoticeDirective])\n","messages =\n defaultMessage: \"تنسيق الحقل غير صحيح\"\n type: {\n email: \"اكتب البريد الإلكتروني بالطريقة المطلوبة\"\n url: \"اكتب الرابط بالطريقة المطلوبة\"\n urlstrict: \"اكتب الرابط بالطريقة المطلوبة\"\n number: \"اكتب أرقام ففط (عدد صحيح)\"\n digits: \"اكتب أرقاما فقط\"\n dateIso: \"اكتب التاريخ بهذه الصيغة (YYYY-MM-DD).\"\n alphanum: \"اكتب حروف وأرقام فقط\"\n phone: \"اكتب رقم هاتف بالطريقة المطلوبة\"\n }\n notnull: \"هذا الحقل مطلوب\"\n notblank: \"هذا الحقل مطلوب\"\n required: \"هذا الحقل مطلوب\"\n regexp: \"تنسيق الحقل غير صحيح\"\n min: \"الرقم يجب أن يكون أكبر من أو يساوي : %s.\"\n max: \"الرقم يجب أن يكون أصغر من أو يساوي : %s.\"\n range: \"الرقم يجب أن يكون بين %s و %s.\"\n minlength: \"الحقل قصير. يجب أن يحتوي على %s حرف/أحرف أو أكثر\"\n maxlength: \"الحقل طويل. يجب أن يحتوي على %s حرف/أحرف أو أقل\"\n rangelength: \"طول الحقل غير مقبول. يجب أن يكون بين %s و %s حرف/أحرف\"\n mincheck: \"يجب أن تختار %s (اختيار) على الأقل\"\n maxcheck: \"يجب أن تختار %s (اختبار) أو أقل\"\n rangecheck: \"يجب أن تختار بين %s و %s (اختبار).\"\n equalto: \"يجب أن يتساوى الحقلان\"\n\n minwords: \"يجب أن يحتوي الحقل على %s كلمة/كلمات على الأقل\"\n maxwords: \"يجب أن يحتوي الحقل على %s كلمة/كلمات كحد أعلى\"\n rangewords: \"عدد الكلمات المسوح بها مابين %s و %s كلمة/كلمات.\"\n greaterthan: \"يجب أن تكون القيمة أكبر من %s.\"\n lessthan: \"يجب أن تكون القيمة أقل من %s.\"\n beforedate: \"التاريخ يجب أن يكون قبل %s.\"\n afterdate: \"التاريخ يجب أن يكون بعد %s.\"\n americandate: \"اكتب التاريخ بالطريقة المطلوبة (MM/DD/YYYY).\"\n","messages =\n defaultMessage: \"Aquest valor sembla ser invàlid.\"\n type: {\n email: \"Aquest valor ha de ser una adreça de correu electrònic vàlida.\"\n url: \"Aquest valor ha de ser una URL vàlida.\"\n urlstrict: \"Aquest valor ha de ser una URL vàlida.\"\n number: \"Aquest valor ha de ser un nombre vàlid.\"\n digits: \"Aquest valor ha només pot contenir dígits.\"\n dateIso: \"Aquest valor ha de ser una data vàlida (YYYY-MM-DD).\"\n alphanum: \"Aquest valor ha de ser alfanumèric.\"\n }\n notnull: \"Aquest valor no pot ser nul.\"\n notblank: \"Aquest valor no pot ser buit.\"\n required: \"Aquest valor és requerit.\"\n regexp: \"Aquest valor és incorrecte.\"\n min: \"Aquest valor no pot ser menor que %s.\"\n max: \"Aquest valor no pot ser major que %s.\"\n range: \"Aquest valor ha d'estar entre %s i %s.\"\n minlength: \"Aquest valor és massa curt. La longitud mínima és de %s caràcters.\"\n maxlength: \"Aquest valor és massa llarg. La longitud màxima és de %s caràcters.\"\n rangelength: \"La longitud d'aquest valor ha de ser d'entre %s i %s caràcters.\"\n equalto: \"Aquest valor ha de ser idèntic.\"\n mincheck: \"Has de marcar un mínim de %s opcions.\"\n maxcheck: \"Has de marcar un màxim de %s opcions.\"\n rangecheck: \"Has de marcar entre %s i %s opcions.\"\n\n # checksley.extend\n minwords: \"Aquest valor ha de tenir %s paraules com a mínim.\"\n maxwords: \"Aquest valor no pot superar les %s paraules.\"\n rangewords: \"Aquest valor ha de tenir entre %s i %s paraules.\"\n greaterthan: \"Aquest valor no pot ser major que %s.\"\n lessthan: \"Aquest valor no pot ser menor que %s.\"\n\n@checksley.updateMessages(\"ca\", messages)\n","messages =\n defaultMessage: \"Tato položka je neplatná.\"\n type: {\n email: \"Tato položka musí být e-mailová adresa.\"\n url: \"Tato položka musí být url adresa.\"\n urlstrict: \"Tato položka musí být url adresa.\"\n number: \"Tato položka musí být platné číslo.\"\n digits: \"Tato položka musí být číslice.\"\n dateIso: \"Tato položka musí být datum ve formátu YYYY-MM-DD.\"\n alphanum: \"Tato položka musí být alfanumerická.\"\n }\n notnull: \"Tato položka nesmí být null.\"\n notblank: \"Tato položka nesmí být prázdná.\"\n required: \"Tato položka je povinná.\"\n regexp: \"Tato položka je neplatná.\"\n min: \"Tato položka musí být větší než %s.\"\n max: \"Tato položka musí byt menší než %s.\"\n range: \"Tato položka musí být v rozmezí %s a %s.\"\n minlength: \"Tato položka je příliš krátká. Musí mít %s nebo více znaků.\"\n maxlength: \"Tato položka je příliš dlouhá. Musí mít %s nebo méně znaků.\"\n rangelength: \"Tato položka je mimo rozsah. Musí být rozmezí %s a %s znaků.\"\n equalto: \"Tato položka by měla být stejná.\"\n\n minwords: \"Tato položka musí obsahovat alespoň %s slov.\"\n maxwords: \"Tato položka nesmí přesánout %s slov.\"\n rangewords: \"Tato položka musí obsahovat %s až %s slov.\"\n greaterthan: \"Tato položka musí být větší než %s.\"\n lessthan: \"Tato položka musí být menší než %s.\"\n\n@checksley.updateMessages(\"cs\", messages)\n","messages =\n defaultMessage: \"Die Eingabe scheint nicht korrekt zu sein.\"\n type: {\n email: \"Die Eingabe muss eine gültige E-Mail-Adresse sein.\"\n url: \"Die Eingabe muss eine gültige URL sein.\"\n urlstrict: \"Die Eingabe muss eine gültige URL sein.\"\n number: \"Die Eingabe muss eine Zahl sein.\"\n digits: \"Die Eingabe darf nur Ziffern enthalten.\"\n dateIso: \"Die Eingabe muss ein gültiges Datum im Format YYYY-MM-DD sein.\"\n alphanum: \"Die Eingabe muss alphanumerisch sein.\"\n phone: \"Die Eingabe muss eine gültige Telefonnummer sein.\"\n }\n notnull: \"Die Eingabe darf nicht leer sein.\"\n notblank: \"Die Eingabe darf nicht leer sein.\"\n required: \"Dies ist ein Pflichtfeld.\"\n regexp: \"Die Eingabe scheint ungültig zu sein.\"\n min: \"Die Eingabe muss größer oder gleich %s sein.\"\n max: \"Die Eingabe muss kleiner oder gleich %s sein.\"\n range: \"Die Eingabe muss zwischen %s und %s liegen.\"\n minlength: \"Die Eingabe ist zu kurz. Es müssen mindestens %s Zeichen eingegeben werden.\"\n maxlength: \"Die Eingabe ist zu lang. Es dürfen höchstens %s Zeichen eingegeben werden.\"\n rangelength: \"Die Länge der Eingabe ist ungültig. Es müssen zwischen %s und %s Zeichen eingegeben werden.\"\n equalto: \"Dieses Feld muss dem anderen entsprechen.\"\n\n minwords: \"Die Eingabe muss mindestens %s Wörter enthalten.\"\n maxwords: \"Die Eingabe darf höchstens %s Wörter enthalten.\"\n rangewords: \"Die Eingabe muss zwischen %s und %s Wörter enthalten.\"\n greaterthan: \"Die Eingabe muss größer als %s sein.\"\n lessthan: \"Die Eingabe muss kleiner als %s sein.\"\n\n@checksley.updateMessages(\"de\", messages)\n","messages =\n defaultMessage: \"Este valor parece ser inválido.\"\n type: {\n email: \"Este valor debe ser un correo válido.\"\n url: \"Este valor debe ser una URL válida.\"\n urlstrict: \"Este valor debe ser una URL válida.\"\n number: \"Este valor debe ser un número válido.\"\n digits: \"Este valor debe ser un dígito válido.\"\n dateIso: \"Este valor debe ser una fecha válida (YYYY-MM-DD).\"\n alphanum: \"Este valor debe ser alfanumérico.\"\n }\n notnull: \"Este valor no debe ser nulo.\"\n notblank: \"Este valor no debe estar en blanco.\"\n required: \"Este valor es requerido.\"\n regexp: \"Este valor es incorrecto.\"\n min: \"Este valor no debe ser menor que %s.\"\n max: \"Este valor no debe ser mayor que %s.\"\n range: \"Este valor debe estar entre %s y %s.\"\n minlength: \"Este valor es muy corto. La longitud mínima es de %s caracteres.\"\n maxlength: \"Este valor es muy largo. La longitud máxima es de %s caracteres.\"\n rangelength: \"La longitud de este valor debe estar entre %s y %s caracteres.\"\n equalto: \"Este valor debe ser idéntico.\"\n\n # checksley.extend\n minwords: \"Este valor debe tener al menos %s palabras.\"\n maxwords: \"Este valor no debe exceder las %s palabras.\"\n rangewords: \"Este valor debe tener entre %s y %s palabras.\"\n greaterthan: \"Este valor no debe ser mayor que %s.\"\n lessthan: \"Este valor no debe ser menor que %s.\"\n\n@checksley.updateMessages(\"es\", messages)\n","messages =\n defaultMessage: \"Cette valeur semble non valide.\"\n type: {\n email: \"Cette valeur n'est pas une adresse email valide.\"\n url: \"Cette valeur n'est pas une URL valide.\"\n urlstrict: \"Cette valeur n'est pas une URL valide.\"\n number: \"Cette valeur doit être un nombre.\"\n digits: \"Cette valeur doit être numérique.\"\n dateIso: \"Cette valeur n'est pas une date valide (YYYY-MM-DD).\"\n alphanum: \"Cette valeur doit être alphanumérique.\"\n }\n notnull: \"Cette valeur ne peut pas être nulle.\"\n notblank: \"Cette valeur ne peut pas être vide.\"\n required: \"Ce champ est requis.\"\n regexp: \"Cette valeur semble non valide.\"\n min: \"Cette valeur ne doit pas être inféreure à %s.\"\n max: \"Cette valeur ne doit pas excéder %s.\"\n range: \"Cette valeur doit être comprise entre %s et %s.\"\n minlength: \"Cette chaîne est trop courte. Elle doit avoir au minimum %s caractères.\"\n maxlength: \"Cette chaîne est trop longue. Elle doit avoir au maximum %s caractères.\"\n rangelength: \"Cette valeur doit contenir entre %s et %s caractères.\"\n equalto: \"Cette valeur devrait être identique.\"\n mincheck: \"Vous devez sélectionner au moins %s choix.\"\n maxcheck: \"Vous devez sélectionner %s choix maximum.\"\n rangecheck: \"Vous devez sélectionner entre %s et %s choix.\"\n\n # checksley.extend\n minwords: \"Cette valeur doit contenir plus de %s mots.\"\n maxwords: \"Cette valeur ne peut pas dépasser %s mots.\"\n rangewords: \"Cette valeur doit comprendre %s à %s mots.\"\n greaterthan: \"Cette valeur doit être plus grande que %s.\"\n lessthan: \"Cette valeur doit être plus petite que %s.\"\n\n@checksley.updateMessages(\"fr\", messages)\n","messages =\n defaultMessage: \"Questo valore sembra essere non valido.\"\n type: {\n email: \"Questo valore deve essere un indirizzo email valido.\"\n url: \"Questo valore deve essere un URL valido.\"\n urlstrict: \"Questo valore deve essere un URL valido.\"\n number: \"Questo valore deve essere un numero valido.\"\n digits: \"Questo valore deve essere di tipo numerico.\"\n dateIso: \"Questo valore deve essere una data valida (YYYY-MM-DD).\"\n alphanum: \"Questo valore deve essere di tipo alfanumerico.\"\n }\n notnull: \"Questo valore non deve essere nullo.\"\n notblank: \"Questo valore non deve essere vuoto.\"\n required: \"Questo valore è richiesto.\"\n regexp: \"Questo valore non è corretto.\"\n min: \"Questo valore deve essere maggiore di %s.\"\n max: \"Questo valore deve essere minore di %s.\"\n range: \"Questo valore deve essere compreso tra %s e %s.\"\n minlength: \"Questo valore è troppo corto. La lunghezza minima è di %s caratteri.\"\n maxlength: \"Questo valore è troppo lungo. La lunghezza massima è di %s caratteri.\"\n rangelength: \"La lunghezza di questo valore deve essere compresa fra %s e %s caratteri.\"\n equalto: \"Questo valore deve essere identico.\"\n\n minwords: \"Questo valore deve contenere almeno %s parole.\"\n maxwords: \"Questo valore non deve superare le %s parole.\"\n rangewords: \"Questo valore deve contenere tra %s e %s parole.\"\n greaterthan: \"Questo valore deve essere maggiore di %s.\"\n lessthan: \"Questo valore deve essere minore di %s.\"\n beforedate: \"Questa data deve essere anteriore al %s.\"\n afterdate: \"Questa data deve essere posteriore al %s.\"\n luhn: \"Questo valore deve superare il test di Luhn.\"\n\n@checksley.updateMessages(\"it\", messages)\n","messages =\n defaultMessage: \"Deze waarde lijkt onjuist.\"\n type: {\n email: \"Dit lijkt geen geldig e-mail adres te zijn.\"\n url: \"Dit lijkt geen geldige URL te zijn.\"\n urlstrict: \"Dit is geen geldige URL.\"\n number: \"Deze waarde moet een nummer zijn.\"\n digits: \"Deze waarde moet numeriek zijn.\"\n dateIso: \"Deze waarde moet een datum in het volgende formaat zijn: (YYYY-MM-DD).\"\n alphanum: \"Deze waarde moet alfanumeriek zijn.\"\n phone: \"Deze waarde moet een geldig telefoonnummer zijn.\"\n }\n notnull: \"Deze waarde mag niet leeg zijn.\"\n notblank: \"Deze waarde mag niet leeg zijn.\"\n required: \"Dit veld is verplicht\"\n regexp: \"Deze waarde lijkt onjuist te zijn.\"\n min: \"Deze waarde mag niet lager zijn dan %s.\"\n max: \"Deze waarde mag niet groter zijn dan %s.\"\n range: \"Deze waarde moet tussen %s en %s liggen.\"\n minlength: \"Deze tekst is te kort. Deze moet uit minimaal %s karakters bestaan.\"\n maxlength: \"Deze waarde is te lang. Deze mag maximaal %s karakters lang zijn.\"\n mincheck: \"Je moet minstens %s opties selecteren.\"\n maxcheck: \"Je moet %s of minder opties selecteren.\"\n rangecheck: \"Je moet tussen de %s en %s opties selecteren.\"\n rangelength: \"Deze waarde moet tussen %s en %s karakters lang zijn.\"\n equalto: \"Deze waardes moeten identiek zijn.\"\n\n minwords: \"Deze waarde moet minstens %s woorden bevatten.\"\n maxwords: \"Deze waarde mag maximaal %s woorden bevatten.\"\n rangewords: \"Deze waarde moet tussen de %s en %s woorden bevatten.\"\n greaterthan: \"Deze waarde moet groter dan %s zijn.\"\n lessthan: \"Deze waarde moet kleiner dan %s zijn.\"\n beforedate: \"Deze datum moet voor %s liggne.\"\n afterdate: \"Deze datum moet na %s liggen.\"\n americandate: \"Dit moet een geldige datum zijn (MM/DD/YYYY).\"\n\n\n@checksley.updateMessages(\"nl\", messages)\n","messages =\r\n # parsley\r\n defaultMessage: \"Поле заполнено некорректно.\"\r\n type: {\r\n email: \"Поле должно быть адресом электронной почты.\"\r\n url: \"Поле должно быть ссылкой на сайт.\"\r\n urlstrict: \"Поле должно быть ссылкой на сайт.\"\r\n number: \"Поле должно быть числом.\"\r\n digits: \"Поле должно содержать только цифры.\"\r\n dateIso: \"Поле должно быть датой в формате (ГГГГ-ММ-ДД).\"\r\n alphanum: \"Поле должно содержать только цифры и буквы\"\r\n phone: \"Поле должно содержать корректный номер телефона\"\r\n }\r\n notnull: \"Поле должно быть не нулевым.\"\r\n notblank: \"Поле не должно быть пустым.\"\r\n required: \"Поле обязательно для заполнения.\"\r\n regexp: \"Поле заполнено некорректно.\"\r\n min: \"Значение поля должно быть больше %s.\"\r\n max: \"Значение поля должно быть меньше %s.\"\r\n range: \"Значение поля должно быть между %s и %s.\"\r\n minlength: \"В поле должно быть минимум %s символов(а).\"\r\n maxlength: \"В поле должно быть не больше %s символов(а).\"\r\n rangelength: \"В поле должно быть от %s до %s символов(а).\"\r\n mincheck: \"Необходимо выбрать не менее %s пунктов(а).\"\r\n maxcheck: \"Необходимо выбрать не более %s пунктов(а).\"\r\n rangecheck: \"Необходимо выбрать от %s до %s пунктов.\"\r\n equalto: \"Значения полей должны быть одинаковыми.\"\r\n\r\n # parsley.extend\r\n minwords: \"В поле должно быть не менее %s слов.\"\r\n maxwords: \"В поле должно быть не более %s слов.\"\r\n rangewords: \"Количество слов в поле должно быть в диапазоне от %s до %s.\"\r\n greaterthan: \"Значение в поле должно быть более %s.\"\r\n lessthan: \"Значение в поле должно быть менее %s.\"\r\n beforedate: \"Дата должна быть до %s.\"\r\n afterdate: \"Дата должна быть после %s.\"\r\n americandate: \"В поле должна быть корректная дата в формате MM/DD/YYYY.\"\r\n\r\n@checksley.updateMessages(\"ru\", messages)\r\n","messages =\n # parsley\n defaultMessage: \"不正确的值\"\n type: {\n email: \"字段值应该是一个正确的电子邮件地址\"\n url: \"字段值应该是一个正确的URL地址\"\n urlstrict: \"字段值应该是一个正确的URL地址\"\n number: \"字段值应该是一个合法的数字\"\n digits: \"字段值应该是一个单独的数字\"\n dateIso: \"字段值应该是一个正确的日期描述(YYYY-MM-DD).\"\n alphanum: \"字段值应该是只包含字母和数字\"\n }\n notnull: \"字段值不可为null\"\n notblank: \"字段值不可为空\"\n required: \"字段值是必填的\"\n regexp: \"字段值不合法\"\n min: \"字段值应该大于 %s\"\n max: \"字段值应该小于 %s.\"\n range: \"字段值应该大于 %s 并小于 %s.\"\n minlength: \"字段值太短了,长度应该大于等于 %s 个字符\"\n maxlength: \"字段值太长了,长度应该小于等于 %s 个字符\"\n rangelength: \"字段值长度错了,长度应该在 %s 和 %s 个字符之间\"\n mincheck: \"你至少要选择 %s 个选项\"\n maxcheck: \"你最多只能选择 %s 个选项\"\n rangecheck: \"你只能选择 %s 到 %s 个选项\"\n equalto: \"字段值应该和给定的值一样\"\n\n # checksley.extend\n minwords: \"字段值应该至少有 %s 个词\"\n maxwords: \"字段值最多只能有 %s 个词\"\n rangewords: \"字段值应该有 %s 到 %s 个词\"\n greaterthan: \"字段值应该大于 %s\"\n lessthan: \"字段值应该小于 %s\"\n beforedate: \"字段值所表示的日期应该早于 %s.\"\n afterdate: \"字段值所表示的日期应该晚于 %s.\"\n\n@checksley.updateMessages(\"zh-cn\", messages)\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/dist/js/templates.js b/dist/js/templates.js index c102eb0..4a87bbb 100644 --- a/dist/js/templates.js +++ b/dist/js/templates.js @@ -88,6 +88,27 @@ $templateCache.put("common/estimation/us-estimation-points-per-role.html","\n"); $templateCache.put("common/estimation/us-estimation-total.html","\" class=\"us-points <% if (!editable) { %>not-clickable<% } %>\"><%= text %><% if (editable) { %><% } %>"); $templateCache.put("common/estimation/us-points-roles-popover.html","\n"); +$templateCache.put("common/history/history-activity.html","\n
\">\n \n
\n <% if (comment.length > 0) { %>\n <% if ((deleteCommentDate || deleteCommentUser)) { %>\n
\', date: \'<%- deleteCommentDate %>\'}\">
<% } %>\n
\n <%= comment %>\n <% if (!deleteCommentDate && mode !== \"activity\" && canDeleteComment) { %>\" class=\"icon icon-delete comment-delete\"><% } %>\n
<% } %>\n <% if(changes.length > 0) { %>\n
<% if (mode != \"activity\") { %><%- changesText %><% } %>\n <% _.each(changes, function(change) { %>\n <%= change %>\n <% }) %>\n
<% } %>\n
\n
"); +$templateCache.put("common/history/history-base-entries.html","<% if (showMore > 0) { %>\'}\" class=\"show-more show-more-comments\"><% } %>\n<% _.each(entries, function(entry) { %>\n<%= entry %>\n<% }) %>"); +$templateCache.put("common/history/history-base.html","\n
\n
    \n
  • \n
  • \n
\n
\n
\n
\" tg-toggle-comment=\"tg-toggle-comment\" class=\"add-comment\">\n <% if (mode !== \"edit\") { %>\n <% } %>\n
\n
\n
\n
\n
\n
"); +$templateCache.put("common/history/history-change-attachment.html","\n
\n
<%- name %>
\n
<% _.each(diff, function(change) { %>\n

<%- change.name %> 
<%- change.from %>\n

<%- change.name %> 
<%- change.to %>

\n

<% }) %>\n
\n
"); +$templateCache.put("common/history/history-change-diff.html","\n
\n
<%- name %>
\n
\n

<%= diff %>

\n
\n
"); +$templateCache.put("common/history/history-change-generic.html","\n
\n
<%- name %>
\n
\n


<%- from %>

\n


<%- to %>

\n
\n
"); +$templateCache.put("common/history/history-change-list.html","\n
\n
<%- name %>
\n
<% if (removed.length > 0) { %>\n


<%- removed %>

<% } %>\n <% if (added.length > 0) { %>\n


<%- added %>

<% } %>\n
\n
"); +$templateCache.put("common/history/history-change-points.html","<% _.each(points, function(point, name) { %>\n
\n
\">
\n
\n


<%- point[0] %>

\n


<%- point[1] %>

\n
\n
<% }); %>"); +$templateCache.put("common/history/history-deleted-comment.html","\n
\n
\', date: \'<%- deleteCommentDate %>\'}\">\n
<%= deleteComment %>
\n
<% if (canRestoreComment) { %>\" class=\"comment-restore\"><% } %>\n
"); +$templateCache.put("common/lightbox/lightbox-assigned-to-users.html","<% if (selected) { %>\n<% } %>\n<% _.each(users, function(user) { %>\n<% }) %>\n<% if (showMore) { %>\n
<% } %>"); +$templateCache.put("common/lightbox/lightbox-assigned-to.html","\n
\n

\n
\n \n
\n
\n
"); +$templateCache.put("common/lightbox/lightbox-block.html","\n
\n

\n
\n \n
\n
"); +$templateCache.put("common/lightbox/lightbox-blocking-message-input.html","\n
\n \n
"); +$templateCache.put("common/lightbox/lightbox-users.html","\n
\n

\n
\n \n
\n
\n
\n
"); +$templateCache.put("common/popover/popover-related-task-status.html","\n"); +$templateCache.put("common/popover/popover-us-status.html","\n"); +$templateCache.put("common/tag/lb-tag-line-tags.html","<% _.each(tags, function(tag) { %>\" class=\"tag\"><%- tag.name %><% }); %>"); +$templateCache.put("common/tag/lb-tag-line.html","\n
\n"); +$templateCache.put("common/tag/tag-line.html","\n
\n"); +$templateCache.put("common/tag/tags-line-tags.html","<% _.each(tags, function(tag) { %>;\" class=\"tag\"><%- tag.name %><% if (isEditable) { %><% } %><% }); %>"); +$templateCache.put("common/wysiwyg/wysiwyg-markitup-preview.html","\n
\n
\n
<%= data %>
\n
\n
"); $templateCache.put("common/components/assigned-to.html","<% if (assignedTo) { %>\n
\" alt=\"<%- assignedTo.full_name_display %>\"/>
<% } %>\n"); $templateCache.put("common/components/block-button.html",""); $templateCache.put("common/components/created-by.html","\n
\" alt=\"<%- owner.full_name_display %>\"/>
\n
\'}\" class=\"created-title\"><%- date %>
"); @@ -102,27 +123,6 @@ $templateCache.put("common/components/main-title.html","%\" class=\"current-progress\">
"); $templateCache.put("common/components/status-display.html","<% if (is_closed) { %><% } else { %><% } %>\" class=\"us-detail-status\"><%- status.name %>"); $templateCache.put("common/components/watchers.html","<% if(isEditable){ %>\n
<% } else if(watchers.length > 0){ %>\n
<% }; %>\n<% _.each(watchers, function(watcher) { %>\n<% if(watcher) { %>\n
\n
\" alt=\"<%- watcher.full_name_display %>\"/>
\n \n
<% } %>\n<% }); %>"); -$templateCache.put("common/lightbox/lightbox-assigned-to-users.html","<% if (selected) { %>\n<% } %>\n<% _.each(users, function(user) { %>\n<% }) %>\n<% if (showMore) { %>\n
<% } %>"); -$templateCache.put("common/lightbox/lightbox-assigned-to.html","\n
\n

\n
\n \n
\n
\n
"); -$templateCache.put("common/lightbox/lightbox-block.html","\n
\n

\n
\n \n
\n
"); -$templateCache.put("common/lightbox/lightbox-blocking-message-input.html","\n
\n \n
"); -$templateCache.put("common/lightbox/lightbox-users.html","\n
\n

\n
\n \n
\n
\n
\n
"); -$templateCache.put("common/history/history-activity.html","\n
\">\n \n
\n <% if (comment.length > 0) { %>\n <% if ((deleteCommentDate || deleteCommentUser)) { %>\n
\', date: \'<%- deleteCommentDate %>\'}\">
<% } %>\n
\n <%= comment %>\n <% if (!deleteCommentDate && mode !== \"activity\" && canDeleteComment) { %>\" class=\"icon icon-delete comment-delete\"><% } %>\n
<% } %>\n <% if(changes.length > 0) { %>\n
<% if (mode != \"activity\") { %><%- changesText %><% } %>\n <% _.each(changes, function(change) { %>\n <%= change %>\n <% }) %>\n
<% } %>\n
\n
"); -$templateCache.put("common/history/history-base-entries.html","<% if (showMore > 0) { %>\'}\" class=\"show-more show-more-comments\"><% } %>\n<% _.each(entries, function(entry) { %>\n<%= entry %>\n<% }) %>"); -$templateCache.put("common/history/history-base.html","\n
\n
    \n
  • \n
  • \n
\n
\n
\n
\" tg-toggle-comment=\"tg-toggle-comment\" class=\"add-comment\">\n <% if (mode !== \"edit\") { %>\n <% } %>\n
\n
\n
\n
\n
\n
"); -$templateCache.put("common/history/history-change-attachment.html","\n
\n
<%- name %>
\n
<% _.each(diff, function(change) { %>\n

<%- change.name %> 
<%- change.from %>\n

<%- change.name %> 
<%- change.to %>

\n

<% }) %>\n
\n
"); -$templateCache.put("common/history/history-change-diff.html","\n
\n
<%- name %>
\n
\n

<%= diff %>

\n
\n
"); -$templateCache.put("common/history/history-change-generic.html","\n
\n
<%- name %>
\n
\n


<%- from %>

\n


<%- to %>

\n
\n
"); -$templateCache.put("common/history/history-change-list.html","\n
\n
<%- name %>
\n
<% if (removed.length > 0) { %>\n


<%- removed %>

<% } %>\n <% if (added.length > 0) { %>\n


<%- added %>

<% } %>\n
\n
"); -$templateCache.put("common/history/history-change-points.html","<% _.each(points, function(point, name) { %>\n
\n
\">
\n
\n


<%- point[0] %>

\n


<%- point[1] %>

\n
\n
<% }); %>"); -$templateCache.put("common/history/history-deleted-comment.html","\n
\n
\', date: \'<%- deleteCommentDate %>\'}\">\n
<%= deleteComment %>
\n
<% if (canRestoreComment) { %>\" class=\"comment-restore\"><% } %>\n
"); -$templateCache.put("common/popover/popover-related-task-status.html","\n"); -$templateCache.put("common/popover/popover-us-status.html","\n"); -$templateCache.put("common/tag/lb-tag-line-tags.html","<% _.each(tags, function(tag) { %>\" class=\"tag\"><%- tag.name %><% }); %>"); -$templateCache.put("common/tag/lb-tag-line.html","\n
\n"); -$templateCache.put("common/tag/tag-line.html","\n
\n"); -$templateCache.put("common/tag/tags-line-tags.html","<% _.each(tags, function(tag) { %>;\" class=\"tag\"><%- tag.name %><% if (isEditable) { %><% } %><% }); %>"); -$templateCache.put("common/wysiwyg/wysiwyg-markitup-preview.html","\n
\n
\n
<%= data %>
\n
\n
"); $templateCache.put("user/lightbox/lightbox-delete-account.html","\n
\n

\n

\n \n
"); $templateCache.put("home/home.html","\n
\n
\n
\n
\n \n
"); $templateCache.put("navigation-bar/navigation-bar.html","\n"); diff --git a/dist/styles/main.css b/dist/styles/main.css index 742ff40..951c271 100644 --- a/dist/styles/main.css +++ b/dist/styles/main.css @@ -1,4 +1,4 @@ -@charset "UTF-8";.pika-table,table{border-spacing:0;border-collapse:collapse}.mCSB_horizontal.mCSB_outside>.mCSB_container,.master,body,html{min-height:100%}.menu-secondary,.menu-secondary.filters-bar,.menu-tertiary{-webkit-box-flex:0;-webkit-flex:0 0 auto}.basic-table .row,.header-with-actions,.invitation-main,.loader .container,.login-main,.project-values-title,.us-story-main-data .us-title .edit-subject,.us-story-main-data .us-title .us-title-text{align-items:center;-webkit-align-items:center}.dropdown-menu,.main-nav,ol,ul{list-style:none}.lightbox textarea,.wizard-create-project textarea,textarea{resize:vertical}.backlog-menu,.header-with-actions,.project-values-title{justify-content:space-between;-webkit-justify-content:space-between}.hll{background-color:#ffc}.c{color:#998;font-style:italic}// Comment .err{background-color:#e3d2d2;color:#a61717}// Error .k,// Keyword .o{color:#000;font-weight:700}// Operator .cm{color:#998;font-style:italic}// Comment.Multiline .cp{color:#999;font-style:italic;font-weight:700}// Comment.Preproc .c1{color:#998;font-style:italic}// Comment.Single .cs{color:#999;font-style:italic;font-weight:700}// Comment.Special .gd{background-color:#fdd;color:#000}// Generic.Deleted .ge{color:#000;font-style:italic}// Generic.Emph .gr{color:#a00}// Generic.Error .gh{color:#999}// Generic.Heading .gi{background-color:#dfd;color:#000}// Generic.Inserted .go{color:#888}// Generic.Output .gp{color:#555}// Generic.Prompt .gs{font-weight:700}// Generic.Strong .gu{color:#aaa}// Generic.Subheading .gt{color:#a00}// Generic.Traceback .kc,// Keyword.Constant .kd,// Keyword.Declaration .kn,// Keyword.Namespace .kp,// Keyword.Pseudo .kr{color:#000;font-weight:700}// Keyword.Reserved .kt{color:#458;font-weight:700}// Keyword.Type .m{color:#099}// Literal.Number .s{color:#d01040}// Literal.String .na{color:teal}// Name.Attribute .nb{color:#0086b3}// Name.Builtin .nc{color:#458;font-weight:700}// Name.Class .no{color:teal}// Name.Constant .nd{color:#3c5d5d;font-weight:700}// Name.Decorator .ni{color:purple}// Name.Entity .ne,// Name.Exception .nf,// Name.Function .nl{color:#900;font-weight:700}// Name.Label .nn{color:#555}// Name.Namespace .nt{color:navy}// Name.Tag .nv{color:teal}// Name.Variable .ow{color:#000;font-weight:700}// Operator.Word .w{color:#bbb}// Literal.Number.Float .mh,// Literal.Number.Hex .mi,// Literal.Number.Integer .mo,// Text.Whitespace .mf{color:#099}// Literal.Number.Oct .sb,// Literal.String.Backtick .sc,// Literal.String.Char .sd,// Literal.String.Doc .s2,// Literal.String.Double .se,// Literal.String.Escape .sh,// Literal.String.Heredoc .si,// Literal.String.Interpol .sx{color:#d01040}// Literal.String.Other .sr{color:#009926}// Literal.String.Regex .s1{color:#d01040}// Literal.String.Single .ss{color:#990073}// Literal.String.Symbol .bp{color:#999}// Name.Builtin.Pseudo .vc,// Name.Variable.Class .vg,// Name.Variable.Global .vi{color:teal}// Name.Variable.Instance .il{color:#099}// Literal.Number.Integer.Long .mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:0;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:30px}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:30px}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0;opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonUp{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox~.mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox~.mCSB_scrollTools,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover~.mCSB_scrollTools,.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox~.mCSB_scrollTools.mCSB_scrollTools_onDrag{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp{background-position:0 0}.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -20px}.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -40px}.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -56px}.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover,.mCSB_scrollTools .mCSB_buttonUp:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active,.mCSB_scrollTools .mCSB_buttonUp:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-3d-dark.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools,.mCS-3d.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:rgba(0,0,0,.9)}.mCS-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px 0}.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -20px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -40px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px 0}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -20px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -40px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px 0}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -20px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -40px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px 0}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -20px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -40px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -56px}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.1)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp{background-position:0 -72px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -92px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -112px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -128px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px -72px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -92px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -112px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==);background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px -72px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -92px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -112px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=)}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px -72px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -92px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -112px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-o-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:linear-gradient(to right,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-o-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:linear-gradient(to bottom,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%)}.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,.2);box-shadow:inset 1px 0 1px rgba(0,0,0,.5),inset -1px 0 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,.5),inset 0 -1px 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);box-shadow:inset 1px 0 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCS-3d-thick.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal,.mCS-3d-thick.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;box-shadow:inset 1px 0 0 rgba(255,255,255,.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4);height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,.4),inset -1px 0 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}hr,input[type=search]{-moz-box-sizing:content-box;box-sizing:content-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.dropdown-menu{border:1px solid #ddd;background-color:#fff}.dropdown-menu li{border-top:1px solid #ddd;padding:2px 5px}.dropdown-menu li:first-child{border-top:none}.dropdown-menu .active,.dropdown-menu li:hover{background-color:#6eb7db}.textcomplete-wrapper{width:100%}.dropdown-menu{padding:0;margin:0}.dropdown-menu a:hover{cursor:pointer}.markItUp .markItUpButton1 a{background-image:url(../images/markitup/h1.png)}.markItUp .markItUpButton2 a{background-image:url(../images/markitup/h2.png)}.markItUp .markItUpButton3 a{background-image:url(../images/markitup/h3.png)}.markItUp .markItUpButton4 a{background-image:url(../images/markitup/bold.png)}.markItUp .markItUpButton5 a{background-image:url(../images/markitup/italic.png)}.markItUp .markItUpButton6 a{background-image:url(../images/markitup/stroke.png)}.markdown .markItUpButton7 a{background-image:url(../images/markitup/list-bullet.png)}.markdown .markItUpButton8 a{background-image:url(../images/markitup/list-numeric.png)}.markdown .markItUpButton9 a{background-image:url(../images/markitup/picture.png)}.markdown .markItUpButton10 a{background-image:url(../images/markitup/link.png)}.markdown .markItUpButton11 a{background-image:url(../images/markitup/quotes.png)}.markdown .markItUpButton12 a{background-image:url(../images/markitup/code.png)}.markdown .preview-icon a{background-image:url(../images/markitup/preview.png)}.markdown .help a{background-image:url(../images/markitup/help.png)}.markItUp *{margin:0;padding:0;outline:0}.markItUp a:link,.markItUp a:visited{color:#000;text-decoration:none}.markItUpContainer{font:11px Verdana,Arial,Helvetica,sans-serif}.markItUpEditor{font:12px 'Courier New',Courier,monospace;padding:5px;height:320px;clear:both;line-height:18px;overflow:auto}[class*=' icon-']:before,[class^=icon-]:before,[data-icon]:before{font-weight:400!important;font-family:taiga!important;line-height:1;-webkit-font-smoothing:antialiased}.markItUpPreviewFrame{overflow:auto;background-color:#FFF;width:99.9%;height:300px;margin:5px 0}.markItUpFooter{width:100%}.markItUpResizeHandle{overflow:hidden;width:22px;height:5px;margin-left:auto;margin-right:auto;background-image:url(../images/markitup/handle.png);cursor:n-resize}.markItUp .markItUpHeader ul{margin:0}.markItUpHeader ul li{list-style:none;position:relative;margin:3px}.markItUpHeader ul li:hover>ul{display:block}.markItUpHeader ul .markItUpDropMenu{background:url(../images/markitup/menu.png)115% 50% no-repeat;margin-right:5px}.markItUpHeader ul .markItUpDropMenu li{margin-right:0}.markItUpHeader ul ul{display:none;position:absolute;top:18px;left:0;background:#FFF;border:1px solid #000}.markItUpHeader ul ul li{float:none;border-bottom:1px solid #000}.markItUpHeader ul ul .markItUpDropMenu{background:url(../images/markitup/submenu.png)100% 50% no-repeat #FFF}.markItUpHeader ul .markItUpSeparator{margin:2px 10px 0;width:1px;height:16px;overflow:hidden;background-color:#CCC}.markItUpHeader ul ul .markItUpSeparator{width:auto;height:1px;margin:0}.markItUpHeader ul ul ul{position:absolute;top:-1px;left:150px}.markItUpHeader ul ul ul li{float:none}.markItUpHeader ul a{display:block;width:16px;height:16px;text-indent:-10000px;background-repeat:no-repeat;padding:3px;margin:0}.markItUpHeader ul ul a{display:block;text-indent:0;width:120px;padding:5px 5px 5px 25px;background-position:2px 50%}.markItUpHeader ul ul a:hover{color:#FFF;background-color:#000}/*! normalize.css v3.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}mark{background:#ff0;color:#000}sub,sup{line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}pre,textarea{overflow:auto}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}.pika-label,.pika-next,.pika-prev,.taskboard,.taskboard .graphics-container,.taskboard-inner,body.loading-project,body.loading-project .projects-nav-overlay,h1 .date,h1 span{overflow:hidden}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}/*! +@charset "UTF-8";.pika-table,table{border-spacing:0;border-collapse:collapse}.mCSB_horizontal.mCSB_outside>.mCSB_container,.master,body,html{min-height:100%}.menu-secondary,.menu-secondary.filters-bar,.menu-tertiary{-webkit-box-flex:0;-webkit-flex:0 0 auto}.basic-table .row,.header-with-actions,.invitation-main,.loader .container,.login-main,.project-values-title,.us-story-main-data .us-title .edit-subject,.us-story-main-data .us-title .us-title-text{align-items:center;-webkit-align-items:center}.dropdown-menu,.main-nav,ol,ul{list-style:none}.lightbox textarea,.wizard-create-project textarea,textarea{resize:vertical}.backlog-menu,.header-with-actions,.project-values-title{justify-content:space-between;-webkit-justify-content:space-between}.codehilite .hll{background-color:#49483e}.codehilite .c{color:#75715e}.codehilite .err{color:#960050;background-color:#1e0010}.codehilite .k{color:#66d9ef}.codehilite .l{color:#ae81ff}.codehilite .n{color:#f8f8f2}.codehilite .o{color:#f92672}.codehilite .p{color:#f8f8f2}.codehilite .c1,.codehilite .cm,.codehilite .cp,.codehilite .cs{color:#75715e}.codehilite .ge{font-style:italic}.codehilite .gs{font-weight:700}.codehilite .kc,.codehilite .kd{color:#66d9ef}.codehilite .kn{color:#f92672}.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#66d9ef}.codehilite .ld{color:#e6db74}.codehilite .m{color:#ae81ff}.codehilite .s{color:#e6db74}.codehilite .na{color:#a6e22e}.codehilite .nb{color:#f8f8f2}.codehilite .nc{color:#a6e22e}.codehilite .no{color:#66d9ef}.codehilite .nd{color:#a6e22e}.codehilite .ni{color:#f8f8f2}.codehilite .ne,.codehilite .nf{color:#a6e22e}.codehilite .nl,.codehilite .nn{color:#f8f8f2}.codehilite .nx{color:#a6e22e}.codehilite .py{color:#f8f8f2}.codehilite .nt{color:#f92672}.codehilite .nv{color:#f8f8f2}.codehilite .ow{color:#f92672}.codehilite .w{color:#f8f8f2}.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo{color:#ae81ff}.codehilite .s2,.codehilite .sb,.codehilite .sc,.codehilite .sd{color:#e6db74}.codehilite .se{color:#ae81ff}.codehilite .s1,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#e6db74}.codehilite .bp,.codehilite .vc,.codehilite .vg,.codehilite .vi{color:#f8f8f2}.codehilite .il{color:#ae81ff}.codehilite .gu{color:#75715e}.codehilite .gd{color:#f92672}.codehilite .gi{color:#a6e22e}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:0;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:30px}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:30px}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0;opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonUp{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools~.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox~.mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox~.mCSB_scrollTools,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover~.mCSB_scrollTools,.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox~.mCSB_scrollTools.mCSB_scrollTools_onDrag{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight,.mCSB_scrollTools .mCSB_buttonUp{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp{background-position:0 0}.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -20px}.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -40px}.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -56px}.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover,.mCSB_scrollTools .mCSB_buttonUp:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active,.mCSB_scrollTools .mCSB_buttonUp:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-3d-dark.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools,.mCS-3d.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:rgba(0,0,0,.9)}.mCS-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px 0}.mCS-light-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -20px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -40px}.mCS-light-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -56px}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px 0}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -20px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -40px}.mCS-dark-2.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px 0}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -20px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -40px}.mCS-light-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -56px}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px 0}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -20px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -40px}.mCS-dark-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -56px}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.1)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px 0}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -20px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -40px}.mCS-dark-thin.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -56px}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded.mCSB_scrollTools .mCSB_buttonUp{background-position:0 -72px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonDown{background-position:0 -92px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonLeft{background-position:0 -112px}.mCS-rounded.mCSB_scrollTools .mCSB_buttonRight{background-position:0 -128px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-80px -72px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-80px -92px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-80px -112px}.mCS-rounded-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-80px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==);background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonUp{background-position:-16px -72px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonDown{background-position:-16px -92px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonLeft{background-position:-20px -112px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_buttonRight{background-position:-20px -128px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=)}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-96px -72px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-96px -92px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-100px -112px}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-100px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-o-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:linear-gradient(to right,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(255,255,255,.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-o-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%);background-image:linear-gradient(to bottom,rgba(255,255,255,.5)0,rgba(255,255,255,0)100%)}.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,.2);box-shadow:inset 1px 0 1px rgba(0,0,0,.5),inset -1px 0 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,.5),inset 0 -1px 1px rgba(255,255,255,.2)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1);box-shadow:inset 1px 0 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick-dark.mCSB_scrollTools_vertical,.mCS-3d-thick.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal,.mCS-3d-thick.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.5)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;box-shadow:inset 1px 0 0 rgba(255,255,255,.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4);height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-3d-thick.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,.1),inset 0 0 14px rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,.4),inset -1px 0 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-light-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-light-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-dark-3.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,.2)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset.mCSB_scrollTools .mCSB_buttonUp{background-position:-32px -72px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset.mCSB_scrollTools .mCSB_buttonDown{background-position:-32px -92px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset.mCSB_scrollTools .mCSB_buttonLeft{background-position:-40px -112px}.mCS-inset-2.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset.mCSB_scrollTools .mCSB_buttonRight{background-position:-40px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.1)}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonUp,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonUp{background-position:-112px -72px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonDown,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonDown{background-position:-112px -92px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonLeft,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonLeft{background-position:-120px -112px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_buttonRight,.mCS-inset-dark.mCSB_scrollTools .mCSB_buttonRight{background-position:-120px -128px}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}hr,input[type=search]{-moz-box-sizing:content-box;box-sizing:content-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,.9)}.dropdown-menu{border:1px solid #ddd;background-color:#fff}.dropdown-menu li{border-top:1px solid #ddd;padding:2px 5px}.dropdown-menu li:first-child{border-top:none}.dropdown-menu .active,.dropdown-menu li:hover{background-color:#6eb7db}.textcomplete-wrapper{width:100%}.dropdown-menu{padding:0;margin:0}.dropdown-menu a:hover{cursor:pointer}.markItUp .markItUpButton1 a{background-image:url(../images/markitup/h1.png)}.markItUp .markItUpButton2 a{background-image:url(../images/markitup/h2.png)}.markItUp .markItUpButton3 a{background-image:url(../images/markitup/h3.png)}.markItUp .markItUpButton4 a{background-image:url(../images/markitup/bold.png)}.markItUp .markItUpButton5 a{background-image:url(../images/markitup/italic.png)}.markItUp .markItUpButton6 a{background-image:url(../images/markitup/stroke.png)}.markdown .markItUpButton7 a{background-image:url(../images/markitup/list-bullet.png)}.markdown .markItUpButton8 a{background-image:url(../images/markitup/list-numeric.png)}.markdown .markItUpButton9 a{background-image:url(../images/markitup/picture.png)}.markdown .markItUpButton10 a{background-image:url(../images/markitup/link.png)}.markdown .markItUpButton11 a{background-image:url(../images/markitup/quotes.png)}.markdown .markItUpButton12 a{background-image:url(../images/markitup/code.png)}.markdown .preview-icon a{background-image:url(../images/markitup/preview.png)}.markdown .help a{background-image:url(../images/markitup/help.png)}.markItUp *{margin:0;padding:0;outline:0}.markItUp a:link,.markItUp a:visited{color:#000;text-decoration:none}.markItUpContainer{font:11px Verdana,Arial,Helvetica,sans-serif}.markItUpEditor{font:12px 'Courier New',Courier,monospace;padding:5px;height:320px;clear:both;line-height:18px;overflow:auto}[class*=' icon-']:before,[class^=icon-]:before,[data-icon]:before{font-weight:400!important;font-family:taiga!important;line-height:1;-webkit-font-smoothing:antialiased}.markItUpPreviewFrame{overflow:auto;background-color:#FFF;width:99.9%;height:300px;margin:5px 0}.markItUpFooter{width:100%}.markItUpResizeHandle{overflow:hidden;width:22px;height:5px;margin-left:auto;margin-right:auto;background-image:url(../images/markitup/handle.png);cursor:n-resize}.markItUp .markItUpHeader ul{margin:0}.markItUpHeader ul li{list-style:none;position:relative;margin:3px}.markItUpHeader ul li:hover>ul{display:block}.markItUpHeader ul .markItUpDropMenu{background:url(../images/markitup/menu.png)115% 50% no-repeat;margin-right:5px}.markItUpHeader ul .markItUpDropMenu li{margin-right:0}.markItUpHeader ul ul{display:none;position:absolute;top:18px;left:0;background:#FFF;border:1px solid #000}.markItUpHeader ul ul li{float:none;border-bottom:1px solid #000}.markItUpHeader ul ul .markItUpDropMenu{background:url(../images/markitup/submenu.png)100% 50% no-repeat #FFF}.markItUpHeader ul .markItUpSeparator{margin:2px 10px 0;width:1px;height:16px;overflow:hidden;background-color:#CCC}.markItUpHeader ul ul .markItUpSeparator{width:auto;height:1px;margin:0}.markItUpHeader ul ul ul{position:absolute;top:-1px;left:150px}.markItUpHeader ul ul ul li{float:none}.markItUpHeader ul a{display:block;width:16px;height:16px;text-indent:-10000px;background-repeat:no-repeat;padding:3px;margin:0}.markItUpHeader ul ul a{display:block;text-indent:0;width:120px;padding:5px 5px 5px 25px;background-position:2px 50%}.markItUpHeader ul ul a:hover{color:#FFF;background-color:#000}/*! normalize.css v3.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}mark{background:#ff0;color:#000}sub,sup{line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}pre,textarea{overflow:auto}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}.pika-label,.pika-next,.pika-prev,.taskboard,.taskboard .graphics-container,.taskboard-inner,body.loading-project,body.loading-project .projects-nav-overlay,h1 .date,h1 span{overflow:hidden}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}/*! * Pikaday * Copyright © 2014 David Bushell | BSD & MIT license | http://dbushell.com/ */.pika-single{display:block;position:relative;width:240px;padding:8px;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,.5)}.pika-title{position:relative;text-align:center}.pika-label{display:inline-block;position:relative;z-index:9999;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:700;background-color:#fff}.pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;filter:alpha(opacity=0);opacity:0}.master,fieldset{position:relative}.pika-next,.pika-prev{display:block;cursor:pointer;position:relative;outline:0;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5}.pika-next:hover,.pika-prev:hover{opacity:1}.is-rtl .pika-next,.pika-prev{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.is-rtl .pika-prev,.pika-next{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-next.is-disabled,.pika-prev.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.pika-table{width:100%;border:0}.pika-table td,.pika-table th{width:14.285714285714286%;padding:0}body,html{width:100%}.pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:700;text-align:center}.pika-button{cursor:pointer;outline:0;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button{color:#fff;font-weight:700;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}body.loading-project .projects-nav-overlay,body.loading-project .projects-nav-overlay div{-webkit-transition:opacity 1s ease;transition:opacity 1s ease;opacity:1}.pika-button:hover{color:#fff!important;background:#ff8000!important;box-shadow:none!important;border-radius:3px!important}.master,body{background:#fff}*{box-sizing:border-box}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}h1,p{line-height:1.5}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:''}body{font-family:opensans-regular,Arial,Helvetica,sans-serif;color:#444;line-height:1.3}.icon{font-family:taiga}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body .master.ng-animate{-webkit-transition:0;transition:0}.loader-active{overflow:hidden}.drag-active{overflow-x:hidden}.master{height:100%}.menu-secondary,.menu-tertiary,.wrapper{min-height:calc(100vh - 40px)}.centered{margin:0 auto;max-width:1200px;min-width:960px;width:90%}.wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu-secondary{background:#f5f5f5;-ms-flex:0 0 auto;flex:0 0 auto;min-width:0;padding:1rem;width:320px}.menu-secondary.filters-bar{-ms-flex:0 0 auto;flex:0 0 auto;padding:0;-webkit-transition:all .2s linear;transition:all .2s linear;width:0}.menu-secondary.filters-bar.active{padding:2em 1em;-webkit-transition:all .2s linear;transition:all .2s linear;width:260px}.menu-secondary.filters-bar.active .filters-inner{opacity:1;-webkit-transition:all .4s ease-in;transition:all .4s ease-in}.menu-secondary .search-in{margin-top:.5rem}.menu-tertiary{background-color:#879b89;-ms-flex:0 0 auto;flex:0 0 auto;width:250px}.empty,textarea{min-height:10rem}.extrabar{background:#f5f5f5}.main{-webkit-box-flex:4;-webkit-flex:4;-ms-flex:4;flex:4;min-width:600px;padding:1rem 2rem}.header-with-actions .action-buttons,h1 span.green,h1 span:last-child{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.hidden{display:none!important}.header-with-actions{-webkit-align-content:stretch;-ms-flex-line-pack:stretch;align-content:stretch;-webkit-box-align:center;-ms-flex-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;margin-bottom:1rem}.admin-functionalities .functionality,.admin-webhooks .history-single-request-body .response-container,.admin-webhooks .history-single-response-body .response-container,.invitation-main,.project-csv .csv-regenerate-field,.project-values-title,.sprints .filter-closed-sprints,.summary,.us-story-main-data .us-title .edit-subject,.us-story-main-data .us-title .us-title-text,.watchers .watcher-single{-webkit-align-content:center;align-content:center}.header-with-actions .button{color:#fff;float:right;margin-left:10px}.header-with-actions .button:hover{color:#fff}.header-with-actions h1{margin-bottom:0}h1,h2{margin-bottom:1rem}h2{font-size:2rem}h1,h1 span{font-size:3rem}h1,h2{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}@font-face{font-family:OpenSans-CondLight;src:url(../fonts/OpenSans-CondLight.eot?#iefix)format('embedded-opentype'),url(../fonts/OpenSans-CondLight.woff)format('woff'),url(../fonts/OpenSans-CondLight.ttf)format('truetype'),url(../fonts/OpenSans-CondLight.svgOpenSans-CondLight)format('svg')}@font-face{font-family:OpenSans-Light;src:url(../fonts/OpenSans-Light.eot?#iefix)format('embedded-opentype'),url(../fonts/OpenSans-Light.woff)format('woff'),url(../fonts/OpenSans-Light.ttf)format('truetype'),url(../fonts/OpenSans-Light.svgOpenSans-Light)format('svg')}@font-face{font-family:opensans-regular;src:url(../fonts/opensans-regular.eot?#iefix)format('embedded-opentype'),url(../fonts/opensans-regular.woff)format('woff'),url(../fonts/opensans-regular.ttf)format('truetype'),url(../fonts/opensans-regular.svgopensans-regular)format('svg')}@font-face{font-family:opensans-semibold;src:url(../fonts/opensans-semibold.eot?#iefix)format('embedded-opentype'),url(../fonts/opensans-semibold.woff)format('woff'),url(../fonts/opensans-semibold.ttf)format('truetype'),url(../fonts/opensans-semibold.svgopensans-semibold)format('svg')}@font-face{font-family:taiga;src:url(../fonts/taiga.eot?#iefix)format('embedded-opentype'),url(../fonts/taiga.woff)format('woff'),url(../fonts/taiga.ttf)format('truetype'),url(../fonts/taiga.svgtaiga)format('svg')}h1,h2,h3,h4,h5,h6{color:#050505;font-weight:400;line-height:1.5}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{text-transform:uppercase}h1 span{margin-right:.5rem;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}h1 .project-name{display:inline-block;max-width:60%}h1 .project-name-short{display:inline-block;max-width:40%}h1 .green{color:#72a114}h1 .date{max-width:500px;white-space:nowrap;text-overflow:ellipsis;color:#b8b8b8}h2{line-height:1.2}p{margin:0 0 20px}p img{margin:0}em{font-style:italic}strong{font-weight:700}hr{border:solid #050505;border-width:1px 0 0;clear:both;height:0;margin:10px 0 30px}a,a:visited{color:#444;text-decoration:none}a:hover,a:visited:hover{color:#72a114;-webkit-transition:color .3s linear;transition:color .3s linear}[data-icon]:before{content:attr(data-icon);-moz-osx-font-smoothing:grayscale;font-style:normal!important;font-variant:normal!important;speak:none;text-transform:none!important}[class*=' icon-']:before,[class^=icon-]:before{-moz-osx-font-smoothing:grayscale;font-style:normal!important;font-variant:normal!important;speak:none;text-transform:none!important}.admin-contrib .help .alt-image,.admin-third-parties .help .alt-image,.wysiwyg dl dt{font-style:italic}.admin-roles p,.empty span.title{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.icon-bug:before{content:'a'}.icon-copy:before{content:'b'}.icon-minimize:before{content:'c'}.icon-maximize:before{content:'d'}.icon-comment:before{content:'e'}.icon-plus:before{content:'f'}.icon-attachments:before{content:'g'}.icon-edit:before{content:'h'}.icon-documents:before{content:'i'}.icon-delete:before{content:'j'}.icon-arrow-bottom:before{content:'k'}.icon-arrow-left:before{content:'l'}.icon-arrow-right:before{content:'m'}.icon-arrow-up:before{content:'n'}.icon-briefcase:before{content:'o'}.icon-caret-down:before{content:'p'}.icon-caret-up:before{content:'q'}.icon-check-square:before{content:'r'}.icon-notification-error:before{content:'s'}.icon-settings:before{content:'t'}.icon-document:before{content:'u'}.icon-warning:before{content:'v'}.icon-move:before{content:'w'}.icon-drag-v:before{content:'y'}.icon-filter:before{content:'z'}.icon-help:before{content:'B'}.icon-reload:before{content:'C'}.icon-writer:before{content:'D'}.icon-stats:before{content:'E'}.icon-floppy:before{content:'F'}.icon-warning-alt:before{content:'H'}.icon-video:before{content:'I'}.icon-bulk:before{content:'K'}.icon-vunfold:before{content:'M'}.icon-tasks:before{content:'O'}.icon-kanban:before{content:'P'}.icon-search:before{content:'Q'}.icon-wiki:before{content:'L'}.icon-team:before{content:'T'}.icon-vfold:before{content:'N'}.icon-issues:before{content:'U'}.icon-backlog:before{content:'R'}.icon-iocaine:before{content:'S'}.icon-closed-eye:before{content:'V'}.icon-open-eye:before{content:'W'}.icon-archive:before{content:'X'}.icon-capslock:before{content:'Y'}.icon-upload:before{content:'Z'}.icon-github:before{content:'A'}.icon-timeline:before{content:'x'}.icon-project:before{content:'G'}.icon-star-fill:before{content:'J'}.icon-star:before{content:'0'}@-webkit-keyframes loading{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0}100%{-webkit-filter:blur(0);filter:blur(0);opacity:1}}@keyframes loading{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0}100%{-webkit-filter:blur(0);filter:blur(0);opacity:1}}@-webkit-keyframes rotate{50%{-webkit-filter:invert(1);filter:invert(1);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{50%{-webkit-filter:invert(1);filter:invert(1);-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes formSlide{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0;-webkit-transform:translateY(10rem);transform:translateY(10rem)}50%{-webkit-filter:blur(0);filter:blur(0)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes formSlide{0%{-webkit-filter:blur(5px);filter:blur(5px);opacity:0;-webkit-transform:translateY(10rem);transform:translateY(10rem)}50%{-webkit-filter:blur(0);filter:blur(0)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes loadBar{0%,20%{-webkit-box-flex:1;-webkit-flex:1;flex:1}10%{-webkit-box-flex:10;-webkit-flex:10;flex:10}}@keyframes loadBar{0%,20%{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}10%{-webkit-box-flex:10;-webkit-flex:10;-ms-flex:10;flex:10}}.backlog-menu,.project-values-title{background:#f5f5f5;-ms-flex-pack:justify}@-webkit-keyframes dropdownFade{0%{opacity:0;-webkit-transform:translateY(-.25rem);transform:translateY(-.25rem)}60%{opacity:1}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes dropdownFade{0%{opacity:0;-webkit-transform:translateY(-.25rem);transform:translateY(-.25rem)}60%{opacity:1}100%{-webkit-transform:translateY(0);transform:translateY(0)}}blockquote cite,sup{font-size:.9rem}.empty span.title{font-size:2rem}blockquote,blockquote p{color:#555;line-height:1.25rem}blockquote{border-left:5px solid #f5f5f5;margin:0 0 20px;padding:.5rem 1.25rem}blockquote cite{color:#555;display:block}blockquote cite:before{content:'\2014 \0020'}.add-comment:after,.admin-membership header:after,.backlog-table-body .pop-points-open:after,.backlog-table-body .pop-points:after,.backlog-table-body .pop-role:after,.backlog-table-header .pop-points-open:after,.backlog-table-header .pop-points:after,.backlog-table-header .pop-role:after,.issues-table .pop-status:after,.main-nav a:hover .helper:after,.navbar:after,.points-per-role .popover.fix:after,.points-per-role .popover:after,.related-tasks-body .pop-status:after,.select-color:after,.single-filter:after,.table-team .popover:after,.us-status .priority-data .pop-priority:after,.us-status .severity-data .pop-severity:after,.us-status .status-data .pop-status:after,.us-status .type-data .pop-type:after{content:''}ol,ul{margin-bottom:20px}ol{list-style:decimal}sup{vertical-align:super}.backlog-menu .trans-button span,.blocked-warning .icon,.icon,.us-detail-status{vertical-align:middle}.clickable{cursor:pointer}.not-clickable{cursor:default}.draggable{cursor:move}.pika-single{z-index:999999}.pika-single .pika-title{color:#444}.pika-single .is-selected .pika-button{background:#72a114;border-radius:0!important;box-shadow:inset 0 1px 3px #72a114}.pika-single .is-today .pika-button{color:#72a114}.pika-single .is-today.is-selected button{color:#fff}.pika-single .pika-button:hover{background:#9dce0a!important;border-radius:0!important;box-shadow:inset 0 1px 3px #9dce0a!important}.empty{border:1px dashed #b8b8b8;color:#b8b8b8;padding:5% 0;text-align:center}.points-per-role .popover a:last-child,.points-per-role .popover.fix a:last-child,.points-per-role>li:last-child,.us-status .priority-data .pop-priority a:last-child,.us-status .severity-data .pop-severity a:last-child,.us-status .status-data .pop-status a:last-child,.us-status .type-data .pop-type a:last-child,.us-story-main-data .us-title .us-related-task a:first-child,fieldset{border:0}.empty .icon{font-size:3rem;margin-bottom:2rem}.empty span{display:block}.empty span.title{margin-bottom:1rem;text-transform:uppercase}fieldset{margin:0;padding:0;width:100%}fieldset label~.checksley-error-list{top:31px}input[type=number],input[type=text],input[type=password],input[type=email],input[type=date],select,textarea{background:#f5f5f5;border:1px solid #b8b8b8;color:#444;margin:0;padding:8px;width:100%}input[type=number]::-webkit-input-placeholder,input[type=text]::-webkit-input-placeholder,input[type=password]::-webkit-input-placeholder,input[type=email]::-webkit-input-placeholder,input[type=date]::-webkit-input-placeholder,select::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#9f9f9f}input[type=number]::-moz-placeholder,input[type=text]::-moz-placeholder,input[type=password]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=date]::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder{color:#9f9f9f}input[type=number]:-moz-placeholder,input[type=text]:-moz-placeholder,input[type=password]:-moz-placeholder,input[type=email]:-moz-placeholder,input[type=date]:-moz-placeholder,select:-moz-placeholder,textarea:-moz-placeholder{color:#9f9f9f}input[type=number]:-ms-input-placeholder,input[type=text]:-ms-input-placeholder,input[type=password]:-ms-input-placeholder,input[type=email]:-ms-input-placeholder,input[type=date]:-ms-input-placeholder,select:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9f9f9f}input[type=number].checksley-error,input[type=text].checksley-error,input[type=password].checksley-error,input[type=email].checksley-error,input[type=date].checksley-error,select.checksley-error,textarea.checksley-error{border:1px solid red;-webkit-transition:border .3s linear;transition:border .3s linear}.checksley-error-list{font-size:.9rem;background:rgba(245,245,245,.8);margin-bottom:0;padding:0 .5rem;position:absolute;right:2rem;top:10px}.checksley-error-list li{color:red;padding:.2rem}.admin-membership header:after{clear:both;display:table}.admin-membership header a{float:right}.admin-roles p{font-size:1.2rem;color:#b8b8b8}.admin-attributes .admin-attributes-section{margin-bottom:2rem}.admin-roles header{position:relative}.admin-roles h1{margin-bottom:0}.project-values-title{-ms-flex-line-pack:center;-webkit-box-align:center;-ms-flex-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;padding:.8em 1rem;text-transform:uppercase}.project-values-title h2{margin:0}.project-values-title h2 span{margin-left:.5rem;text-transform:none}.project-values-title a{display:inline-block}.backlog-menu{color:#050505;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;margin-bottom:1rem;padding:.5rem}.error-main,.invitation-main,.loader .container,.login-main{justify-content:center;-webkit-justify-content:center;-webkit-box-pack:center}.backlog-menu .trans-button{display:inline-block;margin-right:1rem;padding:.3rem 0}.backlog-menu .trans-button.move-to-current-sprint{display:none}.backlog-menu .button-bulk{margin-left:.2rem}.invitation-main .invitation-form .forgot-pass{font-size:.9rem}.invitation-main .avatar .person-name,.invitation-main .login-form .form-header,.invitation-main .register-form .form-header{font-size:1.2rem}.invitation-main .invitation-text{font-size:1.6rem;color:#fff;text-align:center}.invitation-main .avatar .person-name,.invitation-main .invitation-text,.invitation-main .login-form .form-header,.invitation-main .register-form .form-header{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.blocked-warning .blocked,.login-main .logo,.login-main .tagline,.points-per-role .points,.us-story-main-data .us-title .us-number{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.invitation-main{background:url(/images/invitation_bg.jpg)center center no-repeat;-ms-flex-line-pack:center;-webkit-box-align:center;-ms-flex-align:center;background-size:cover;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-ms-flex-pack:center;z-index:999}.invitation-main .avatar,.invitation-main .invitation-container{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.invitation-main .avatar .person-name{color:#fff}.invitation-main .avatar img{margin-bottom:.5rem;width:50px}.invitation-main .invitation-text .project-name{font-size:3rem;display:block;text-transform:uppercase}.invitation-main .invitation-form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;width:100%}.invitation-main .invitation-form fieldset{margin-bottom:.5rem}.invitation-main .register-form fieldset:last-child,.kanban .list-filters{margin-bottom:1rem}.invitation-main .invitation-form input:focus+.forgot-pass{opacity:0;-webkit-transition:opacity .5s linear;transition:opacity .5s linear}.invitation-main .invitation-form .forgot-pass{color:#b8b8b8;opacity:1;position:absolute;right:1rem;top:.5rem;-webkit-transition:all .3s linear;transition:all .3s linear}.error-main,.login-main{-ms-flex-pack:center;position:fixed}.invitation-main .invitation-form .forgot-pass:hover{color:#444;-webkit-transition:color .3s linear;transition:color .3s linear}.invitation-main .login-form,.invitation-main .register-form{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:1rem 3rem;text-align:center}.invitation-main .login-form .form-header,.invitation-main .register-form .form-header{color:#fff}.invitation-main .button-blackish:hover{background:#72a114}.invitation-main .login-form{border-right:1px solid rgba(255,255,255,.3)}.issues .filters-bar{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:260px}.error-main .error-container,.login-main .login-container{-webkit-flex-basis:400px;-ms-flex-preferred-size:400px;flex-basis:400px}.issues .filters-inner{opacity:1;padding:1rem}.kanban{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:calc(100vh - 40px);max-height:calc(100vh - 40px)}.error-main,.login-main{-ms-flex-direction:row;flex-direction:row;-webkit-flex-direction:row;-webkit-box-orient:horizontal}.kanban header{min-height:70px}.kanban .kanban-settings{float:right}.kanban .burndown-container{display:none}.login-main .tagline{font-size:2rem}.login-main{background:url(/images/bg.png)center center no-repeat;background-size:cover;-webkit-box-align:center;-ms-flex-align:center;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;left:0;right:0;top:0;z-index:999}.login-main fieldset{margin-bottom:.5rem}.login-main .logo,.login-main form{margin-bottom:1rem}.login-main .logo-svg{padding:0 33%;text-align:center;width:100%}.login-main .logo{font-size:3rem;color:#fff;text-align:center}.login-main .tagline{color:#fff;line-height:2rem;margin-bottom:1rem;text-align:center;text-transform:uppercase}.login-main input{background:#fff}.login-main input::-webkit-input-placeholder{color:#b8b8b8}.login-main input::-moz-placeholder{color:#b8b8b8}.login-main input:-moz-placeholder{color:#b8b8b8}.login-main input:-ms-input-placeholder{color:#b8b8b8}.login-main .login-text,.login-main .register-text{text-align:center}.login-main .login-text a:hover,.login-main .register-text a:hover{color:#9dce0a}.login-main .button{color:#fff;display:block;text-align:center}.login-main a:hover{color:#fff}.login-main .checksley-error-list{right:1rem}.login-main .checksley-error-list+.forgot-pass{display:none}.error-main{background:url(/images/invitation_bg.jpg)center center no-repeat;background-size:cover;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;left:0;right:0;top:0;z-index:999}.basic-table,.taskboard-inner{-webkit-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column}.error-main .error-container{color:#fff;text-align:center}.error-main .logo-svg{padding:0 32%;text-align:center;width:100%}.error-main h1{color:#fff;margin-bottom:3rem}.error-main a{color:#72a114}.error-main a:hover{color:#9dce0a}.taskboard{height:calc(100vh - 40px)}.taskboard .graphics-container,.taskboard .summary,.taskboard h1{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.taskboard .graphics-container{max-height:0;-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in}.taskboard .graphics-container.open{-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in;max-height:300px}.taskboard-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;flex-direction:column;height:100%}.team h2{margin:1rem 0}.team h2 span:last-child{color:#72a114}.duty-data-container,.points-per-role .popover,.points-per-role .popover a,.points-per-role .popover.fix,.points-per-role .popover.fix a,.points-per-role .role,.us-detail-progress-bar .tasks-completed,.us-status .priority-data .pop-priority,.us-status .priority-data .pop-priority a,.us-status .severity-data .pop-severity,.us-status .severity-data .pop-severity a,.us-status .status-data .pop-status,.us-status .status-data .pop-status a,.us-status .type-data .pop-type,.us-status .type-data .pop-type a,.us-story-main-data .us-title .block-desc-container,.us-story-main-data .us-title .us-related-task{font-size:.9rem}.us-detail-status,.us-story-main-data .us-title,.us-story-main-data .us-title .icon-edit,.us-story-main-data .us-title .icon-floppy{font-size:1.2rem}.blocked-warning .blocked,.blocked-warning .icon,.issue-nav a,.points-per-role .points,.us-story-main-data .us-title .us-name,.us-story-main-data .us-title .us-number{font-size:2rem}.points-per-role .popover,.points-per-role .popover.fix,.us-status .priority-data .pop-priority,.us-status .severity-data .pop-severity,.us-status .status-data .pop-status,.us-status .type-data .pop-type{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.us-story-main-data .us-title{font-family:opensans-regular,Arial,Helvetica,sans-serif}.us-story-main-data .us-title .block-description-title,.us-story-main-data .us-title.blocked .unblock{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.duty-content .save-container .loading-spinner,.us-detail-settings .loading-spinner,.us-story-main-data .loading-spinner{-webkit-animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;margin:0 auto;max-height:1rem;max-width:1rem;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32}.duty-content .save-container .loading-spinner,.us-story-main-data .loading-spinner{max-width:1.5rem;max-height:1.5rem}.us-story-main-data{margin-bottom:2rem}.us-story-main-data .us-title{background:#f5f5f5;margin-bottom:.5rem;padding:1rem;position:relative;-webkit-transition:all .2s linear;transition:all .2s linear}.us-story-main-data .us-title.blocked{background:red;-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:middle}.us-story-main-data .us-title.blocked .us-title-text,.us-story-main-data .us-title.blocked input{margin-bottom:.5rem}.us-story-main-data .us-title.blocked .us-name,.us-story-main-data .us-title.blocked .us-number,.us-story-main-data .us-title.blocked .us-related-task{color:#fff}.us-story-main-data .us-title.blocked a{color:#fff;-webkit-transition:color .3s linear;transition:color .3s linear}.us-story-main-data .us-title.blocked a:hover{color:#ff8282}.us-story-main-data .us-title.blocked .unblock{color:#fff;float:right}.us-story-main-data .us-title.blocked .unblock:hover{color:#ff8282;-webkit-transition:color .3s linear;transition:color .3s linear}.us-story-main-data .us-title p{margin-bottom:0}.us-story-main-data .us-title .us-edit-name-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.us-story-main-data .us-title .edit-subject{-ms-flex-line-pack:center;-webkit-box-align:center;-ms-flex-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.us-story-main-data .us-title input{background:#fff;-webkit-box-flex:9;-webkit-flex-grow:9;-ms-flex-positive:9;flex-grow:9}.basic-table .row .width-1,.points-per-role>li,.us-story-main-data .us-title .save-container{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1}.us-story-main-data .us-title .save-container{flex-grow:1}.us-story-main-data .us-title .us-title-text{-ms-flex-line-pack:center;-webkit-box-align:center;-ms-flex-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:0;max-width:94%}.us-story-main-data .us-title .us-title-text:hover .icon-edit{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.us-story-main-data .us-title .us-number{color:#b8b8b8;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;line-height:2.2rem;margin-right:.5rem}.us-story-main-data .us-title .us-name{color:#444;display:inline-block;line-height:2.2rem;padding-right:1rem;width:100%}.us-story-main-data .us-title .icon-edit,.us-story-main-data .us-title .icon-floppy{color:#b8b8b8;margin-left:.5rem}.us-story-main-data .us-title .icon-edit{opacity:0}.us-story-main-data .us-title .us-related-task{color:#b8b8b8;margin-top:.5rem}.us-story-main-data .us-title .us-related-task a{border-left:1px solid #b8b8b8;padding:0 .2rem}.us-story-main-data .us-title .us-related-task a:hover{color:#72a114}.us-story-main-data .us-title .block-description-title{color:#fff;margin-right:.5rem}.us-story-main-data .us-title .block-description{color:#fff;display:inline-block;margin-right:5rem}.blocked-warning{margin-bottom:1rem}.blocked-warning .blocked{color:red;line-height:2.5rem;margin-bottom:.5rem}.blocked-warning .block-description{color:#444;margin:0}.issue-nav{position:absolute;right:1rem;top:1rem}.duty-content{position:relative}.duty-content .edit-description .edit,.duty-content .view-description .edit{-webkit-transition:all .2s linear;transition:all .2s linear;position:absolute}.duty-content:hover .view-description .edit{opacity:1;top:-1.5rem;-webkit-transition:all .2s linear;transition:all .2s linear}.duty-content:hover .view-description .editable{background:#f5f5f5;cursor:pointer}.duty-content:hover .view-description .no-description{color:#444}.duty-content.wysiwyg{overflow:visible}.duty-content .no-description{color:#b8b8b8}.duty-content textarea{background:#fff;height:10rem}.duty-content .save-container{position:absolute;right:1rem;top:.2rem}.duty-content .save-container:hover{opacity:.3;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.duty-content .edit{color:#444}.duty-content .view-description .edit{background:#f5f5f5;left:0;opacity:0;padding:.2rem .5rem;top:0}.duty-content .edit-description{margin-bottom:2rem}.duty-content .edit-description .save{top:.4rem}.duty-content .edit-description .edit{right:2.5rem;top:.4rem}.points-per-role .popover a:hover,.points-per-role .popover.fix a:hover{-webkit-transition:color .3s linear;transition:color .3s linear}.duty-content .edit-description .preview{padding-top:1.5rem}.comment-list{padding:1rem}.us-detail-status{color:#72a114}.us-detail-progress-bar{background:#444;height:26px;margin-bottom:1rem;position:relative}.us-detail-progress-bar .current-progress{background:#9dce0a;height:26px;left:0;position:absolute;top:0;width:60%}.us-detail-progress-bar .tasks-completed{color:#fff;left:10px;position:absolute;top:2px}.points-per-role{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative}.points-per-role>li{background:rgba(184,184,184,.1);border-radius:2px;color:rgba(68,68,68,.3);-webkit-flex-basis:80px;-ms-flex-preferred-size:80px;flex-basis:80px;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:.1rem;max-width:50%;padding:.5rem 0 .1rem;position:relative;text-align:center;-webkit-transition:color .3s linear;transition:color .3s linear}.basic-table .row .width-1,.basic-table .row .width-2,.basic-table .row .width-3,.basic-table .row .width-4,.basic-table .row .width-5,.basic-table .row .width-6,.basic-table .row .width-7{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px}.points-per-role>li.active{background:rgba(157,206,10,.9);color:#f5f5f5}.points-per-role>li:first-child{background:rgba(68,68,68,.5);color:#f5f5f5}.points-per-role .points{display:block;margin-bottom:.3rem;text-align:center}.points-per-role .role{max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;text-align:center}.points-per-role .popover{background:#050505;color:#fff;display:none;left:35%;list-style-type:none;margin:0;padding:10px;position:absolute;top:105%;width:200px;z-index:99}.points-per-role .popover a:hover.point{color:#fff}.points-per-role .popover:after{background:#050505;height:10px;left:10px;position:absolute;top:-5px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:10px}.points-per-role .popover li{display:inline-block;width:23%}.points-per-role .popover a{border-bottom:1px solid #444;color:#fff;padding:10px 2px;display:block;text-align:center}.points-per-role .popover a.active,.points-per-role .popover a:hover{background:#9dce0a;color:#fff}.points-per-role .popover.fix{background:#050505;color:#fff;display:none;left:-160px;list-style-type:none;margin:0;padding:10px;position:absolute;top:105%;width:200px;z-index:99}.points-per-role .popover.fix a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.points-per-role .popover.fix a:hover{color:#9dce0a}.points-per-role .popover.fix a:hover.point{color:#fff}.points-per-role .popover.fix:after{background:#050505;height:10px;left:90%;position:absolute;top:-5px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:10px}.duty-data-container{margin-bottom:1rem}.duty-data-container .duty-data{margin-bottom:.5rem}.duty-data-container .duty-data:last-child{margin:0}.duty-data-container .duty-data div{background:#e8e8e8;padding:.5rem 1rem .5rem .5rem;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.duty-data-container .duty-data .clickable:hover{background:#dcdcdc;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.us-status .priority-data .pop-priority a:hover,.us-status .severity-data .pop-severity a:hover,.us-status .status-data .pop-status a:hover,.us-status .type-data .pop-type a:hover{-webkit-transition:color .3s linear;transition:color .3s linear}.duty-data-container .level{display:inline-block;margin-right:.5rem;vertical-align:top}.duty-data-container .level-name{color:#c2c2c2;float:right;text-transform:lowercase}.us-detail-settings{margin-top:2rem}.us-detail-settings .button{color:#fff;display:block;margin-bottom:.5rem;text-align:center;width:100%}.us-detail-settings .button-gray,.us-detail-settings .button-gray:hover{background:#b8b8b8}.us-detail-settings .button-gray.editable:hover{background:#444;cursor:pointer}.us-detail-settings .button-gray.active{background:#72a114}.us-detail-settings .item-block.editable:hover{background:red;cursor:pointer}.us-detail-settings .button-red.active,.us-detail-settings .button-red:hover{background:red}.us-detail-settings label.editable{cursor:pointer}.us-detail-settings label+input{display:none}.us-detail-settings span.button-gray,.us-detail-settings span.button-gray:hover{background:#b8b8b8}.us-detail-settings span.button-gray.active,.us-detail-settings span.button-gray:hover.active{background:#555}.us-detail-settings span.button-red,.us-detail-settings span.button-red:hover{background:#ff8282}.us-detail-settings span.button-red.active,.us-detail-settings span.button-red:hover.active{background:red}.us-status .type-data{position:relative}.us-status .type-data .pop-type{background:#050505;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px;position:absolute;width:150px;z-index:99}.us-status .type-data .pop-type a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.us-status .type-data .pop-type a:hover{color:#9dce0a}.us-status .type-data .pop-type a:hover.point{color:#fff}.us-status .type-data .pop-type:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.us-status .severity-data{position:relative}.us-status .severity-data .pop-severity{background:#050505;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px;position:absolute;width:150px;z-index:99}.us-status .severity-data .pop-severity a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.us-status .severity-data .pop-severity a:hover{color:#9dce0a}.us-status .severity-data .pop-severity a:hover.point{color:#fff}.us-status .severity-data .pop-severity:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.us-status .priority-data{position:relative}.us-status .priority-data .pop-priority{background:#050505;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px;position:absolute;width:150px;z-index:99}.us-status .priority-data .pop-priority a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.us-status .priority-data .pop-priority a:hover{color:#9dce0a}.us-status .priority-data .pop-priority a:hover.point{color:#fff}.us-status .priority-data .pop-priority:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.us-status .status-data{position:relative}.us-status .status-data .pop-status{background:#050505;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px;position:absolute;width:150px;z-index:99}.wiki-content,.wysiwyg{margin-bottom:2rem}.us-status .status-data .pop-status a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.us-status .status-data .pop-status a:hover{color:#9dce0a}.wiki .remove:hover .icon,.wiki .remove:hover span{-webkit-transition:color .2s linear;transition:color .2s linear}.us-status .status-data .pop-status a:hover.point{color:#fff}.us-status .status-data .pop-status:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.wysiwyg textarea{background:#fff;max-height:none}.save-wiki{float:right}.wiki .remove{font-size:.9rem;color:#b8b8b8}.wiki .remove:hover span{color:#444}.wiki .remove:hover .icon{color:red}.wiki .remove .icon{color:#b8b8b8;margin-right:.2rem}.wiki-content{position:relative}.wiki-content.editable:hover .wysiwyg{background:#f5f5f5;cursor:pointer}.wiki-content .view-wiki-content:hover .edit{opacity:1;top:-1.5rem;-webkit-transition:all .2s linear;transition:all .2s linear}.wiki-content .view-wiki-content .edit{background:#f5f5f5;left:0;opacity:0;padding:.2rem .5rem;position:absolute;top:0;-webkit-transition:all .2s linear;transition:all .2s linear}.wiki-content .edit-wiki-content .icon:hover{color:#444;opacity:.3;-webkit-transition:all .2s linear;transition:all .2s linear}.wiki-content .edit-wiki-content .preview-icon{position:absolute;right:3.5rem}.wiki-content .edit-wiki-content .action-container{position:absolute;right:1rem;top:.3rem}.wiki-content .edit-wiki-content .edit{position:absolute;right:3.5rem;top:.4rem}.wiki-content .preview{padding-top:1.8rem}.avatar img{border:2px solid #fff;border-radius:8%;width:100%}.basic-table{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;flex-direction:column;width:100%}.basic-table .row{-webkit-box-align:center;-ms-flex-align:center;border-bottom:1px solid #ebebeb;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;padding:.3rem 0;text-align:left;width:100%}.basic-table .row .width-1{flex-basis:50px;flex-grow:1}.basic-table .row .width-2{flex-basis:50px;-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}.basic-table .row .width-3{flex-basis:50px;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.basic-table .row .width-4{flex-basis:50px;-webkit-box-flex:4;-webkit-flex-grow:4;-ms-flex-positive:4;flex-grow:4}.basic-table .row .width-5{flex-basis:50px;-webkit-box-flex:5;-webkit-flex-grow:5;-ms-flex-positive:5;flex-grow:5}.basic-table .row .width-6{flex-basis:50px;-webkit-box-flex:6;-webkit-flex-grow:6;-ms-flex-positive:6;flex-grow:6}.basic-table .row .width-7{flex-basis:50px;-webkit-box-flex:7;-webkit-flex-grow:7;-ms-flex-positive:7;flex-grow:7}.basic-table .row .width-8{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px;flex-basis:50px;-webkit-box-flex:8;-webkit-flex-grow:8;-ms-flex-positive:8;flex-grow:8}.basic-table .row:last-child{border-bottom:0}.beta{left:0;position:absolute;top:0;z-index:9999}.button,.button-auth,.button-blackish,.button-bulk,.button-gray,.button-green,.button-red,.trans-button,a.button-gray,a.button-green{font-size:1rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;background:0 0;border:0;color:#fff;cursor:pointer;display:inline-block;padding:.4rem 2.5rem;text-align:center;text-transform:uppercase;-webkit-transition:all .3s linear;transition:all .3s linear;vertical-align:middle}.button-auth:hover,.button-blackish:hover,.button-bulk:hover,.button-gray:hover,.button-green:hover,.button-red:hover,.button:hover,.trans-button:hover{color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.button-auth:visited,.button-blackish:visited,.button-bulk:visited,.button-gray:visited,.button-green:visited,.button-red:visited,.button:visited,.trans-button:visited{color:#fff}.button.loading span,.loading.button-auth span,.loading.button-blackish span,.loading.button-bulk span,.loading.button-gray span,.loading.button-green span,.loading.button-red span,.loading.trans-button span{-webkit-animation:loading .5s linear;animation:loading .5s linear}.button span,.button-auth span,.button-blackish span,.button-bulk span,.button-gray span,.button-green span,.button-red span,.trans-button span{color:#fff}.button .icon,.button-auth .icon,.button-blackish .icon,.button-bulk .icon,.button-gray .icon,.button-green .icon,.button-red .icon,.trans-button .icon{color:#fff;margin-right:.3rem}.trans-button .icon,.trans-button span{color:#050505;-webkit-transition:color .2s linear;transition:color .2s linear}.check input+div,.check input:checked+div{-webkit-transition:all .2s linear;transition:all .2s linear}.trans-button.active .icon,.trans-button.active span,.trans-button:hover .icon,.trans-button:hover span{color:#72a114}.submit-button{width:100%}.button-green,a.button-green{background:#72a114}.button-green.active,.button-green:hover,a.button-green.active,a.button-green:hover{background:#9dce0a;color:#fff}.button-gray,a.button-gray{background:#555}.button-gray.active,.button-gray:hover,a.button-gray.active,a.button-gray:hover{background:#9dce0a;color:#fff}.button-blackish{background:#050505;color:#f5f5f5}.button-blackish:hover{background:#050505;color:#fff}.button-red{background:#ff8282}.button-red:hover{background:red;color:#fff}.button-red .icon{color:#fff}.button-block{background:#fff;color:red}.button-block:hover{background:#ff8282;color:#fff}.button-bulk{background:#72a114;padding:.35rem .5rem}.button-bulk .icon{margin-right:0}.button-bulk:hover{background:#9dce0a}.button-auth{background:#444}.button-auth .icon,.button-auth img{font-size:1.2rem;color:#fff;margin-right:.5rem}.kanban-task .avatar a,.kanban-task .task-text,.kanban-task-maximized .task-archived p,.kanban-task-maximized .task-points,.kanban-task-minimized .task-archived,.us-created-by .created-by .created-date,.us-created-by .created-by .created-title{font-size:.9rem}.button-auth:hover{background:#000}.check{background-color:#dcdcdc;border-radius:2px;cursor:pointer;height:1.5rem;overflow:hidden;position:relative;width:65px}.check input{cursor:pointer;height:500px;left:-10px;opacity:0;position:absolute;top:-10px;width:500px;z-index:999}.check input+div{background-color:#555;height:25px;width:50%}.check input~.check-text{font-size:.9rem;color:#fff;position:absolute;top:.25rem}.check input~.check-yes{opacity:0;right:.5rem}.check input~.check-no{left:.5rem;opacity:.6}.check input:checked+div{background-color:#9dce0a;margin-left:50%}.check input:checked~.check-yes{opacity:.6;right:.4rem}.check input:checked~.check-no{left:.4rem;opacity:0}.check input:disabled{cursor:auto}.check input:disabled+div{background-color:#b8b8b8}.us-created-by{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;margin-top:.5rem;position:relative}.us-created-by .user-avatar{-webkit-flex-basis:40px;-ms-flex-preferred-size:40px;flex-basis:40px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.us-created-by .user-avatar img{border-radius:8%;width:100%}.us-created-by .created-by{-webkit-flex-basis:70px;-ms-flex-preferred-size:70px;flex-basis:70px;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin-left:.5rem}.us-created-by .created-by .created-date,.us-created-by .created-by .created-title{color:#b8b8b8;display:block}.us-created-by .created-by .created-user{font-size:1.2rem;color:#72a114;cursor:default}.single-filter,.us-created-by .created-by .created-user.editable{cursor:pointer}.single-filter{font-size:1.2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;display:block;margin-bottom:.5rem;opacity:.5;position:relative}.kanban-task .task-name,.notification-light .warning,.notification-message-error .warning,.notification-message-success .warning{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.single-filter:after{clear:both;display:table}.single-filter.active,.single-filter.selected,.single-filter:hover{color:#444;opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.single-filter .icon-delete,.single-filter .icon-delete:hover{-webkit-transition:color .3s linear;transition:color .3s linear}.single-filter .name,.single-filter .number{padding:8px 10px}.single-filter .name{background:#dcdcdc;display:block;width:100%}.single-filter .number{background:#c2c2c2;position:absolute;right:0;top:0}.single-filter .icon-delete{color:#444;position:absolute;right:.5rem;top:.5rem}.single-filter .icon-delete:hover{color:red}.kanban-task-minimized .icon-drag-h{font-size:1rem}.kanban-task .icon-drag-h,.kanban-task .icon-edit{font-size:1.2rem}.kanban-task{background:#fff8e4;border:1px solid #f1e8cd;box-shadow:none;cursor:move;margin:.2rem;position:relative}.kanban-task:last-child{margin-bottom:0}.kanban-task:hover .icon-drag-h,.kanban-task:hover .icon-edit{color:#cfc29b;display:block;opacity:1;-webkit-transition:color .3s linear,opacity .3s linear;transition:color .3s linear,opacity .3s linear}.kanban-task.ui-sortable-helper{box-shadow:1px 1px 15px rgba(0,0,0,.4);-webkit-transition:box-shadow .3s linear;transition:box-shadow .3s linear}.kanban-task.ui-sortable-placeholder{background:#444}.kanban-task.blocked{background:red;border:1px solid #c00;color:#fff}.kanban-task.blocked a,.kanban-task.blocked span{color:#fff}.kanban-task .kanban-tagline{border-color:#f1e8cd;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:.6rem}.kanban-task .kanban-tag{border-top:.3rem solid #f1e8cd;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:.6rem;z-index:90}.kanban-task .kanban-task-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem}.kanban-task .avatar-wrapper{-webkit-flex-basis:55px;-ms-flex-preferred-size:55px;flex-basis:55px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:55px}.kanban-task .task-text,.taskboard-task .taskboard-tag,.taskboard-task .taskboard-user-avatar{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.kanban-task .avatar-wrapper img{width:100%}.kanban-task .avatar a{text-align:center}.kanban-task .avatar img{margin:0 auto}.kanban-task .avatar img:hover{border:2px solid #72a114;-webkit-transition:border .3s linear;transition:border .3s linear}.kanban-task .task-text{-webkit-box-flex:1;padding:0 .5rem 0 .8rem}.kanban-task .task-assigned{color:#cfc29b;display:block}.kanban-task .task-num{color:#444;margin-right:.3rem}.kanban-task .loading{bottom:.5rem;position:absolute}.kanban-task .icon-drag-h,.kanban-task .icon-edit{color:#f1e8cd;opacity:0;position:absolute;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.kanban-task .icon-drag-h:hover,.kanban-task .icon-edit:hover{color:#e0cd91;-webkit-transition:color .3s linear;transition:color .3s linear}.kanban-task-maximized .task-archived{background:#e8e8e8;padding:.5rem;text-align:left;-webkit-transition:background .3s linear;transition:background .3s linear}.kanban-task-maximized .task-archived:hover{background:#e1e1e1;-webkit-transition:background .3s linear;transition:background .3s linear}.kanban-task-maximized .task-archived .task-archived-text{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.kanban-task-maximized .task-archived span{color:#b8b8b8}.kanban-task-maximized .task-archived p{color:#b8b8b8;margin:0}.kanban-task-maximized .task-archived p:last-child{color:#555;margin:.5rem 0;text-align:center}.kanban-task-maximized .task-name{word-wrap:break-word}.kanban-task-maximized .icon-edit,.kanban-task-maximized .loading{bottom:.2rem;right:.5rem}.kanban-task-maximized .icon-drag-h{font-size:2rem;bottom:.2rem;cursor:move;right:45%}.kanban-task-maximized .task-points{color:#e0cd91;margin:0}.kanban-task-maximized .task-points span{display:inline-block}.kanban-task-maximized .task-points span:first-child{padding-right:.2rem}.kanban-task-maximized .task-points .points-text{text-transform:lowercase}.kanban-task-maximized .kanban-tag{border-top:.3rem solid}.kanban-task-minimized .kanban-task-inner{padding:0 .3rem}.kanban-task-minimized .task-archived{background:#e8e8e8;padding:.3rem;text-align:left}.kanban-task-minimized .task-archived .task-archived-text{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.kanban-task-minimized .task-archived span{color:#b8b8b8}.kanban-task-minimized .task-archived .task-name{display:inline-block;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kanban-task-minimized .task-archived p{color:#b8b8b8;margin:0}.kanban-task-minimized .task-archived p:last-child{display:none}.kanban-task-minimized .task-num{vertical-align:top}.kanban-task-minimized .task-name{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:135px}.kanban-task-minimized .task-points,.loader{display:none}.kanban-task-minimized .icon-drag-h,.kanban-task-minimized .icon-edit{top:1.4rem}.kanban-task-minimized .icon-edit{bottom:.2rem;right:1rem}.kanban-task-minimized .icon-drag-h{cursor:move;right:.1rem;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.kanban-task-minimized .kanban-tag{border-top:.2rem solid}.level{background-color:#b8b8b8;border-radius:9px;height:18px;margin:0 auto;width:18px}.loader p{font-size:1.2rem;color:#555;text-align:center}.loader{background-color:#fff;bottom:0;height:100%;left:0;opacity:0;position:fixed;right:0;top:0;width:100%;z-index:-100}.loader .container{-webkit-box-align:center;-ms-flex-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-ms-flex-pack:center;width:100%}.loading-bar,.summary{justify-content:flex-start;-webkit-justify-content:flex-start;-webkit-box-pack:start}.loader.active{background-color:rgba(255,255,255,.95);display:block;opacity:1;z-index:99900}.loading-bar{-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:start}.admin-functionalities .functionality,.admin-membership-table .avatar,.admin-membership-table .row-status,.watchers .watcher-single{-ms-flex-align:center;-webkit-align-items:center}.loading-bar .item{-webkit-animation-duration:5s;animation-duration:5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:loadBar;animation-name:loadBar;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;background:#555;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:5px}.admin-functionalities form,.large-summary .large-summary-wrapper,.summary{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap}.loading-bar .item-0{-webkit-animation-delay:0s;animation-delay:0s;background:#bbe831}.loading-bar .item-1{-webkit-animation-delay:1s;animation-delay:1s;background:#237400}.loading-bar .item-2{-webkit-animation-delay:2s;animation-delay:2s;background:#e43050}.loading-bar .item-3{-webkit-animation-delay:3s;animation-delay:3s;background:#810061}.loading-bar .item-4{-webkit-animation-delay:4s;animation-delay:4s;background:#618000}.loading-spinner{-webkit-animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;margin:0 auto;max-height:1rem;max-width:1rem;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32}a.help-button,a.help-markdown{font-size:.9rem;color:#b8b8b8}a.help-button:hover span,a.help-markdown:hover span{color:#444;-webkit-transition:color .2s linear;transition:color .2s linear}a.help-button:hover .icon,a.help-markdown:hover .icon{color:#9dce0a;-webkit-transition:color .2s linear;transition:color .2s linear}a.help-button .icon,a.help-markdown .icon{color:#b8b8b8;margin-right:.2rem}.markItUpHeader ul{background:#f5f5f5;padding:.3rem}.markItUpHeader ul li{display:inline-block;float:none}.markItUpHeader ul li a{opacity:.8}.markItUpHeader ul li a:hover{opacity:.3;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.markItUpHeader ul .preview-icon{position:absolute;right:2.5rem}.markItUpContainer{padding:0}.markdown{position:relative}.preview .actions{background:#f5f5f5;margin-top:.5rem;min-height:2rem;padding:.3rem}.notification-light .warning,.notification-message-success .warning{font-size:1.2rem}.notification-message-error .warning{font-size:2rem}.notification-message-error .icon-notification-error{font-size:3rem;display:inline;vertical-align:sub}.notification-message-success{background:rgba(157,206,10,.95);box-shadow:0 25px 10px -15px rgba(0,0,0,.05);opacity:1;right:-370px;top:2%;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;width:370px}.notification-light.inactive,.notification-message-error.active,.notification-message-error.inactive{-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.notification-message-success.active{-webkit-animation:animSlide 2000ms linear both;animation:animSlide 2000ms linear both;opacity:1}.admin-project-export-result .spin img,.duty-assigned-to .loading-spinner,.lightbox-generic-loading .spin img{animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;-webkit-animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate}.notification-message-success p{margin:0}.notification-message-success .warning{color:#fff;line-height:1.2}@-webkit-keyframes animSlide{0%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)}0.52%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-34.485,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-34.485,0,0,1)}1.02%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-66.555,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-66.555,0,0,1)}2.28%{-webkit-transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-141.457,0,0,1);transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-141.457,0,0,1)}3.52%{-webkit-transform:matrix3d(1.281,0,0,0,0,1,0,0,0,0,1,0,-205.594,0,0,1);transform:matrix3d(1.281,0,0,0,0,1,0,0,0,0,1,0,-205.594,0,0,1)}4.1%{-webkit-transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-232.117,0,0,1);transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-232.117,0,0,1)}4.78%{-webkit-transform:matrix3d(1.034,0,0,0,0,1,0,0,0,0,1,0,-260.381,0,0,1);transform:matrix3d(1.034,0,0,0,0,1,0,0,0,0,1,0,-260.381,0,0,1)}6.03%{-webkit-transform:matrix3d(.947,0,0,0,0,1,0,0,0,0,1,0,-304.285,0,0,1);transform:matrix3d(.947,0,0,0,0,1,0,0,0,0,1,0,-304.285,0,0,1)}8.11%{-webkit-transform:matrix3d(.986,0,0,0,0,1,0,0,0,0,1,0,-357.804,0,0,1);transform:matrix3d(.986,0,0,0,0,1,0,0,0,0,1,0,-357.804,0,0,1)}11.03%{-webkit-transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-399.29,0,0,1);transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-399.29,0,0,1)}12.11%{-webkit-transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-407.374,0,0,1);transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-407.374,0,0,1)}16.04%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.343,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.343,0,0,1)}16.12%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.342,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.342,0,0,1)}20%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-413.214,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-413.214,0,0,1)}27.23%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-403.135,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-403.135,0,0,1)}38.34%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-399.585,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-399.585,0,0,1)}60.56%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400.01,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400.01,0,0,1)}82.78%{opacity:1;-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1)}100%{opacity:0;-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1)}}@keyframes animSlide{0%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)}0.52%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-34.485,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-34.485,0,0,1)}1.02%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-66.555,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-66.555,0,0,1)}2.28%{-webkit-transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-141.457,0,0,1);transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-141.457,0,0,1)}3.52%{-webkit-transform:matrix3d(1.281,0,0,0,0,1,0,0,0,0,1,0,-205.594,0,0,1);transform:matrix3d(1.281,0,0,0,0,1,0,0,0,0,1,0,-205.594,0,0,1)}4.1%{-webkit-transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-232.117,0,0,1);transform:matrix3d(1.111,0,0,0,0,1,0,0,0,0,1,0,-232.117,0,0,1)}4.78%{-webkit-transform:matrix3d(1.034,0,0,0,0,1,0,0,0,0,1,0,-260.381,0,0,1);transform:matrix3d(1.034,0,0,0,0,1,0,0,0,0,1,0,-260.381,0,0,1)}6.03%{-webkit-transform:matrix3d(.947,0,0,0,0,1,0,0,0,0,1,0,-304.285,0,0,1);transform:matrix3d(.947,0,0,0,0,1,0,0,0,0,1,0,-304.285,0,0,1)}8.11%{-webkit-transform:matrix3d(.986,0,0,0,0,1,0,0,0,0,1,0,-357.804,0,0,1);transform:matrix3d(.986,0,0,0,0,1,0,0,0,0,1,0,-357.804,0,0,1)}11.03%{-webkit-transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-399.29,0,0,1);transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-399.29,0,0,1)}12.11%{-webkit-transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-407.374,0,0,1);transform:matrix3d(1.001,0,0,0,0,1,0,0,0,0,1,0,-407.374,0,0,1)}16.04%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.343,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.343,0,0,1)}16.12%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.342,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-417.342,0,0,1)}20%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-413.214,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-413.214,0,0,1)}27.23%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-403.135,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-403.135,0,0,1)}38.34%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-399.585,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-399.585,0,0,1)}60.56%{-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400.01,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400.01,0,0,1)}82.78%{opacity:1;-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1)}100%{opacity:0;-webkit-transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1);transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,-400,0,0,1)}}.notification-message-error{background:rgba(255,0,0,.9);top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);width:100%}.notification-message-error.active{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}.notification-message-error .warning{color:#fff;line-height:2.4rem}.notification-message-error .text{display:inline-block;margin-left:.5rem;width:80%}.notification-message-error .text p{margin:0}.notification-message-error .icon-delete{color:#fff;position:absolute;right:1rem;top:1rem}.notification-message{color:#fff;opacity:0;padding:1rem;position:fixed;z-index:99920}.notification-light{background:rgba(184,184,184,.95);color:#fff;left:calc(50% - 200px);padding:1rem 1rem .2rem;position:absolute;top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);width:400px;z-index:99999}.notification-light.active{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:all .6s ease-in-out;transition:all .6s ease-in-out}.notification-light .text{display:inline-block;margin-left:.5rem;width:80%}.notification-light .warning{color:#fff;line-height:2.4rem}.notification-light .icon-delete{color:#fff;position:absolute;right:1rem}.notification-message-light-error{background:rgba(255,0,0,.95)}.paginator{margin:2rem 0}.paginator ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:1rem}.paginator li{margin-right:.4rem}.paginator .active span,.paginator .dots,.paginator a{background:#b8b8b8;color:#fff;padding:.5rem 1rem;-webkit-transition:all .3s linear;transition:all .3s linear}.paginator a:hover{background:#050505;color:#fff;-webkit-transition:all .3s linear;transition:all .3s linear}.paginator .active span{background:#9dce0a}.paginator .dots{background:0 0;color:#b8b8b8}.v-pagination-list{overflow:hidden}.v-pagination-next,.v-pagination-previous{background-color:#555;color:#f5f5f5;display:block;padding:.1rem 0;text-align:center;visibility:hidden;width:100%}.v-pagination-next:hover,.v-pagination-previous:hover{background-color:#050505;-webkit-transition:background .3s linear;transition:background .3s linear}.popover.pop-points-open.horizontal li{white-space:nowrap;width:100%}.private{display:inline-block;margin-left:.5rem;width:.5rem}.private svg{height:.5rem;width:.5rem}.private path{fill:#b8b8b8;-webkit-transition:fill .3s linear;transition:fill .3s linear}.large-summary .icon.icon-stats,.large-summary .icon.icon-stats.active:hover,.large-summary .icon.icon-stats:hover{-webkit-transition:color .3s linear;transition:color .3s linear}.select-color,.select-color a{font-size:.9rem}.select-color input{font-size:1rem}.select-color{font-family:OpenSans-Light,Arial,Helvetica,sans-serif;background:#050505;color:#fff;display:none;left:50px;list-style-type:none;margin:0;position:absolute;top:0;width:323px;z-index:99;border-radius:0 10px 10px 0;padding:15px}.select-color a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.select-color a:last-child{border:0}.select-color a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.select-color a:hover.point{color:#fff}.select-color:after{background:#050505;height:15px;left:-7px;position:absolute;top:13px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:15px}.select-color li{float:left;margin:0 .5rem .5rem 0}.select-color li:nth-child(7n){margin-right:0}.select-color li:nth-last-child(-n+7){margin-bottom:0}.select-color .color{background-color:#b8b8b8;border-radius:2px;cursor:pointer;height:35px;width:35px}.select-color ul{float:left;margin-bottom:1rem}.select-color input{font-family:opensans-regular,Arial,Helvetica,sans-serif;background-color:#f5f5f5;width:243px}.select-color input::-webkit-input-placeholder{color:#555}.select-color input::-moz-placeholder{color:#555}.select-color input:-moz-placeholder{color:#555}.select-color input:-ms-input-placeholder{color:#555}.select-color .selected-color{background:#b8b8b8;border-radius:2px;cursor:pointer;float:right;height:40px;width:40px}.settings-nav{padding:0;width:250px}.settings-nav .active{background:#fff}.summary .description{font-size:.9rem;font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.summary .icon{font-size:1.2rem}.summary .number{font-size:2rem}.summary{-ms-flex-line-pack:center;background:#444;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;-ms-flex-pack:start;margin-bottom:2rem;padding:1em}.summary .summary-stats{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 .5rem}.summary .data .number{color:#9dce0a}.summary .number{font-family:opensans-semibold,Arial,Helvetica,sans-serif;line-height:.9;margin-right:.3rem}.summary .description{line-height:1}.summary-progress-bar{background:#fff;height:30px;margin-bottom:0;margin-right:10px;padding:3px;position:relative;width:15%}.summary-progress-bar .current-progress{background:#9dce0a;height:24px}.summary-progress-bar .defined-points{background:#ff8282;height:24px;position:absolute;width:calc(100% - 6px)}.summary-progress-bar .project-points-progress{background:#fff;height:24px;position:absolute}.summary-progress-bar .closed-points-progress{background:#9dce0a;height:24px;position:absolute}.large-summary{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.large-summary .large-summary-wrapper{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.admin-functionalities .functionality,.watchers .watcher-single{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center}.large-summary .summary-progress-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-summary .summary-progress-bar{-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px;min-width:200px}.large-summary .summary-stats{margin-right:1rem}.large-summary .summary-stats:last-child{border:0;margin:0}.large-summary .summary-stats-divider{margin-right:2rem}.large-summary .icon{font-size:1.4rem;margin-right:.4rem}.large-summary .icon.icon-stats{color:#555;float:right}.large-summary .icon.icon-stats.active,.large-summary .icon.icon-stats:hover{color:#9dce0a}.large-summary .icon.icon-stats.active:hover{color:#555}.tag,.tags-block .add-tag-text,.tags-block .tag{font-size:.9rem}.tags-block .icon-plus{font-size:1.2rem}.tag{font-family:OpenSans-Light,Arial,Helvetica,sans-serif;background:#f5f5f5;border-radius:0 5px 5px 0;color:#444;display:inline-block;margin-right:.5rem;padding:.5rem .75rem;text-align:center}.tag .icon-delete{color:#b8b8b8;margin-left:1rem}.tag .icon-delete:hover{color:red}.ui-autocomplete{background:#fff;border:1px solid #b8b8b8;z-index:99910}.ui-autocomplete .ui-state-focus{background:#9dce0a}.ui-autocomplete li{cursor:pointer}.ui-helper-hidden-accessible{display:none}.tags-block .tags-container{display:inline-block}.tags-block input{padding:.4rem;width:14rem}.tags-block .tag{margin:0 .5rem .5rem 0;padding:.5rem}.tags-block .add-tag{color:#b8b8b8}.tags-block .add-tag:hover{color:#9dce0a}.taskboard-task .task-assigned,.taskboard-task .taskboard-text,.taskboard-task .taskboard-user-avatar a{font-size:.9rem}.taskboard-task .icon-drag-h,.taskboard-task .icon-edit,.taskboard-task .icon-iocaine{font-size:1.2rem}.taskboard-task .task-name{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.taskboard-task{background:#fff8e4;border:1px solid #f1e8cd;box-shadow:none;cursor:move;margin:.2rem;position:relative}.taskboard-task:hover .icon-drag-h,.taskboard-task:hover .icon-edit{color:#cfc29b;display:block;opacity:1;-webkit-transition:color .3s linear,opacity .3s linear;transition:color .3s linear,opacity .3s linear}.taskboard-task.ui-sortable-helper{box-shadow:1px 1px 15px rgba(0,0,0,.4);-webkit-transition:box-shadow .3s linear;transition:box-shadow .3s linear}.taskboard-task.ui-sortable-placeholder{background:#444}.taskboard-task.blocked{background:red;border:1px solid #c00;color:#fff}.taskboard-task.blocked a,.taskboard-task.blocked span,.taskboard-task.blocked:hover .icon-drag-h,.taskboard-task.blocked:hover .icon-edit{color:#fff}.taskboard-task .taskboard-tagline{border-color:#f1e8cd;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:.6rem}.taskboard-task .taskboard-tag{border-top:.3rem solid #f1e8cd;-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;height:.6rem;z-index:90}.taskboard-task .taskboard-task-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem}.taskboard-task .taskboard-user-avatar{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px;flex-basis:50px;-webkit-box-flex:1;max-width:55px}.taskboard-task .taskboard-user-avatar a{display:block;text-align:center}.taskboard-task .taskboard-user-avatar img{margin:0 auto}.taskboard-task .taskboard-user-avatar img:hover{border:2px solid #72a114;-webkit-transition:border .3s linear;transition:border .3s linear}.taskboard-task .iocaine img{-webkit-filter:hue-rotate(150deg)saturate(200%);filter:hue-rotate(150deg) saturate(200%)}.taskboard-task .icon-iocaine{background:#000;border-radius:5px;color:#fff;left:.2rem;padding:.1rem;position:absolute;top:1rem}.taskboard-task .task-assigned{color:#cfc29b;display:block}.taskboard-task .task-assigned:hover{color:#72a114}.taskboard-task .task-num{color:#444;margin-right:.5em}.taskboard-task .taskboard-text{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px;flex-basis:50px;-webkit-box-flex:10;-webkit-flex-grow:10;-ms-flex-positive:10;flex-grow:10;padding:0 .5rem 0 1rem;word-wrap:break-word}.custom-fields-table .custom-description,.watchers .watcher-name{-webkit-box-flex:8;-webkit-flex-grow:8;-ms-flex-positive:8;flex-grow:8}.taskboard-task .icon{-webkit-transition:color .3s linear,opacity .3s linear;transition:color .3s linear,opacity .3s linear}.taskboard-task .loading{bottom:.5rem;position:absolute}.taskboard-task .icon-drag-h,.taskboard-task .icon-edit{bottom:.5rem;color:#f1e8cd;opacity:0;position:absolute}.taskboard-task .icon-drag-h:hover,.taskboard-task .icon-edit:hover{color:#cfc29b}.taskboard-task .icon-edit,.taskboard-task .loading{right:1rem}.taskboard-task .icon-drag-h{font-size:2rem;cursor:move;right:45%}.task-drag{box-shadow:1px 1px 15px 6px rgba(0,0,0,.1)}.watchers .watcher-name{font-size:.9rem}.watchers .watchers-header .icon,.watchers .watchers-header .title{font-size:1.2rem}.watchers .watchers-header .title{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;text-transform:uppercase}.watchers{margin-top:1rem}.watchers .watchers-header{border-bottom:2px solid #b8b8b8;padding:.5rem;position:relative}.watchers .watchers-header .icon{position:absolute;right:1rem}.watchers .watchers-header.no-watchers{border-bottom:0}.watchers .watcher-single{-ms-flex-line-pack:center;-webkit-box-align:center;align-items:center;background:0 0;border-bottom:1px solid #b8b8b8;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:center;padding:.5rem 0 .3rem;vertical-align:middle}.watchers .watcher-single:last-child{border:0}.watchers .watcher-single:hover .icon-delete{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.watchers .watcher-avatar{-webkit-flex-basis:3rem;-ms-flex-preferred-size:3rem;flex-basis:3rem;max-width:3rem;padding-left:.3rem}.watchers .watcher-avatar img{width:100%}.watchers .watcher-name{color:#444;margin-left:1rem;position:relative}.watchers .icon-delete{opacity:0;position:absolute;right:.5rem;top:0;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.watchers .icon-delete:hover{color:red;-webkit-transition:color .3s ease-in;transition:color .3s ease-in}.wysiwyg code,.wysiwyg pre{font-size:.9rem}.wysiwyg h2{font-size:1.2rem;margin-bottom:.5rem;text-transform:uppercase}.wysiwyg h1{font-size:2rem;font-family:opensans-regular,Arial,Helvetica,sans-serif}.wysiwyg h2,.wysiwyg h3{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.wysiwyg{line-height:1.4rem;overflow:auto;padding:1rem}.wysiwyg h1{line-height:2.5rem;text-transform:uppercase}.wysiwyg h3{text-transform:uppercase}.wysiwyg ol,.wysiwyg ul{list-style-position:outside;margin-left:1rem}.wysiwyg ul{list-style-type:disc}.wysiwyg dl dt{font-size:1em;font-weight:700;margin-top:16px;padding:0}.wysiwyg dl dd{margin-bottom:16px;padding:0 16px}.wysiwyg a{color:#72a114}.wysiwyg a:hover{color:#9dce0a}.wysiwyg p{line-height:1.4rem;margin-bottom:1rem}.wysiwyg .codehilite{overflow:auto}.wysiwyg code,.wysiwyg pre{background:#5e5e5e;color:#f5f5f5;direction:ltr;font-family:'courier new',monospace;margin-bottom:1rem;overflow:auto;unicode-bidi:embed;white-space:pre}.wysiwyg pre{line-height:1.4rem;padding:.5rem}.wysiwyg table{border:1px solid #b8b8b8;margin-bottom:1rem}.wysiwyg table tbody tr:last-child{border-bottom:0}.wysiwyg tr{border-bottom:#b8b8b8 1px solid}.wysiwyg th{border-right:#b8b8b8 1px solid;padding:1rem 1rem 1rem .5rem}.wysiwyg th:last-child{border-right:0}.wysiwyg td{border-right:#b8b8b8 1px solid;padding:.5rem}.wysiwyg td:last-child{border-right:0}.wysiwyg img{max-width:100%}.admin-common header h1{margin-bottom:0}.admin-common .admin-subtitle{color:#b8b8b8;margin-bottom:2rem}.admin-common .total{font-size:1.2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;background-color:#f5f5f5;color:#444;padding:1rem}.admin-functionalities .functionality .title,.admin-membership-table .avatar .name,.admin-membership-table .title,.custom-fields-table .table-header{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.admin-common .total:hover .edit-value{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.custom-field-options{margin-bottom:1rem;text-align:right}.custom-fields-table{margin-bottom:2em}.custom-fields-table .row{border-bottom:0;padding:.5rem 0}.custom-fields-table .table-header{border-bottom:3px solid #f5f5f5}.custom-fields-table .table-header .custom-description span,.custom-fields-table .table-header .custom-name span{padding-left:1.1rem}.custom-fields-table .table-body form:last-child .row{border:0}.custom-fields-table .table-body .row:hover{background:rgba(157,206,10,.05);cursor:move;-webkit-transition:background .2s linear;transition:background .2s linear}.custom-fields-table .table-body .row:hover .custom-options,.custom-fields-table .table-body .row:hover .icon-drag-v{opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-fields-table .custom-options a,.custom-fields-table .custom-options a:hover,.custom-fields-table .icon-drag-v,.custom-fields-table .icon-drag-v:hover{-webkit-transition:color .2s linear;transition:color .2s linear}.custom-fields-table .table-body form.row:hover{background:0 0;cursor:default}.custom-fields-table .table-body .custom-description{color:#b8b8b8}.custom-fields-table .single-custom-field{border-bottom:1px solid #f5f5f5;color:#555}.custom-fields-table .icon-drag-v{color:#b8b8b8;opacity:0;padding:0 .1rem;vertical-align:middle}.custom-fields-table .icon-drag-v:hover{color:#555;cursor:move}.custom-fields-table .custom-description,.custom-fields-table .custom-name{color:#555;margin-right:.5rem}.custom-fields-table .custom-name{-webkit-flex-basis:25%;-ms-flex-preferred-size:25%;flex-basis:25%;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.custom-fields-table .custom-description{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-flex-basis:90%;-ms-flex-preferred-size:90%;flex-basis:90%}.custom-fields-table .custom-options{-webkit-flex-basis:100px;-ms-flex-preferred-size:100px;flex-basis:100px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;opacity:0;text-align:center}.custom-fields-table .custom-options a{color:#b8b8b8;margin-right:.5rem;vertical-align:middle}.custom-fields-table .custom-options a:hover{color:#72a114}.custom-fields-table .custom-options-wrapper{opacity:0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.custom-fields-table form .custom-options-wrapper{opacity:1}.admin-functionalities form{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-wrap:wrap}.admin-functionalities .functionality{-ms-flex-line-pack:center;-webkit-box-align:center;align-items:center;background-color:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;justify-content:center;margin-bottom:.3rem;margin-right:.3rem;opacity:.5;padding:1rem;position:relative;-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:top;width:32%}.admin-functionalities .functionality.active{background-color:rgba(114,161,20,.3);opacity:1}.admin-functionalities .functionality .icon{font-size:3rem;-webkit-flex-basis:60px;-ms-flex-preferred-size:60px;flex-basis:60px;margin:0 auto;min-width:60px}.admin-functionalities .functionality .desc{text-align:center;width:100%}.admin-functionalities .functionality .activate-input{display:none}.admin-functionalities .functionality .activate-input+label{color:#fff;cursor:pointer;display:block;text-align:center}.admin-functionalities .functionality .title{display:block}.admin-functionalities .functionality select{margin-top:1rem}.admin-functionalities .videoconference-attributes select{margin-bottom:.5rem}.admin-functionalities .button-green{color:#fff;display:block;text-align:center}.admin-membership-table .row-admin label{font-size:.9rem}.admin-membership-table .avatar{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.admin-membership-table .avatar figcaption{margin-left:1rem;width:75%}.admin-membership-table .avatar figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.admin-membership-table .avatar img{-webkit-flex-basis:35px;-ms-flex-preferred-size:35px;flex-basis:35px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:35px}.admin-membership-table .avatar .email,.admin-membership-table .avatar .name{display:block;width:100%}.admin-membership-table .avatar .email{color:#b8b8b8}.admin-membership-table .header-role,.admin-membership-table .header-status{padding-left:.5rem}.admin-membership-table .row-role{padding-right:1rem}.admin-membership-table .row-status{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.admin-membership-table .active,.admin-membership-table .pending{padding:8px}.admin-membership-table .active{background-color:#f5f5f5}.admin-membership-table .pending{background-color:#ff8282;color:#fff}.admin-membership-table .pending .icon{float:rsdsdfdvsdvight}.admin-membership-table .pending:hover{background-color:red;color:#fff;-webkit-transition:background-color .3s linear;transition:background-color .3s linear}.admin-membership-table .delete{font-size:1.2rem;color:#b8b8b8}.admin-membership-table .delete:hover{color:red}.admin-membership-table .row-admin input{vertical-align:middle}.admin-membership-table .header-member,.admin-membership-table .header-role,.admin-membership-table .row-member,.admin-membership-table .row-role{-webkit-flex-basis:210px;-ms-flex-preferred-size:210px;flex-basis:210px;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;min-width:210px}.admin-membership-table .header-admin,.admin-membership-table .row-admin{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;min-width:70px}.admin-membership-table .header-status,.admin-membership-table .row-status{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px;flex-basis:50px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.admin-menu li{font-size:1.2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;border-bottom:1px solid #dcdcdc;text-transform:uppercase}.admin-menu li:last-child{border-bottom:0}.admin-menu a{display:block;padding:1rem 0 1rem 1rem}.admin-project-export-result .spin img{margin:0 auto;max-height:1rem;max-width:1rem;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32}.admin-project-export-buttons{margin:2rem 0 1rem}.admin-project-export-result{margin-top:1rem}.admin-project-export-result .spin{margin:0 auto;width:2.5rem}.admin-project-export-result .spin img{width:100%}.admin-project-export-result h3{font-size:1.2rem;font-family:opensans-semibold,Arial,Helvetica,sans-serif;background:#f5f5f5;color:#555;margin:.5rem;padding:.5rem;text-align:center}.admin-roles .role-name,.admin-submenu li,.project-details .privacy-settings label,.project-details input,.project-details label,.project-details textarea{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.admin-project-export-result p{color:#b8b8b8;margin:.5rem 0;text-align:center}.project-details form{max-width:700px;width:100%}.project-details fieldset{margin-bottom:1rem}.project-details label{display:block;margin-bottom:.2rem}.project-details textarea{height:10rem}.project-details .privacy-settings{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:2rem}.project-details .privacy-settings>div{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow:hidden;position:relative}.project-details .privacy-settings>div:first-child{margin-right:.5rem}.project-details .privacy-settings label{border:1px solid #b8b8b8;cursor:not-allowed;display:block;text-align:center;-webkit-transition:all .2s linear;transition:all .2s linear}.project-details .privacy-settings label span{color:#b8b8b8}.project-details .privacy-project{cursor:pointer;height:500px;left:-10px;opacity:0;position:absolute;top:-10px;width:500px;z-index:999}.project-details .privacy-project:checked+label{background:#9dce0a;border:1px solid #9dce0a}.project-details .privacy-project:checked+label span{color:#fff}.project-details .button-green{color:#fff;display:block;text-align:center}.project-details .delete-project{font-size:.9rem;display:block;margin-top:1rem}.admin-roles .edit-value{font-size:1rem}.admin-roles .role-name{font-size:2rem;color:#444}.admin-roles .edit-value{color:#b8b8b8;cursor:pointer;margin-left:.5rem;opacity:0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.admin-roles .edit-role{-webkit-box-align:left;-webkit-align-items:left;-ms-flex-align:left;align-items:left;background-color:#f5f5f5;display:none;margin-bottom:1rem;padding:.5rem}.admin-roles .general-category,.admin-webhooks .history-single{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center}.admin-roles .edit-role input{background-color:#fff;width:50%}.admin-roles .edit-role .icon-floppy{color:#b8b8b8;margin-left:.5rem;-webkit-transition:color .3s linear;transition:color .3s linear}.admin-roles .edit-role .icon-floppy:hover{color:#72a114;-webkit-transition:color .3s linear;transition:color .3s linear}.admin-roles .any-computable-role{background:red;color:#fff;margin-bottom:.5rem;padding:.5rem}.admin-roles .general-category{align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding-bottom:2rem}.admin-roles .general-category .check{margin-left:.5rem}.admin-submenu-roles .single-role{max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.admin-submenu li{font-size:1.2rem;border-bottom:1px solid #b8b8b8;text-transform:uppercase}.admin-contrib .help .alt-image,.admin-contrib .help code,.admin-contrib .select-input-text .help-copy,.admin-webhooks .history-single-request-body span,.admin-webhooks .history-single-request-header a,.admin-webhooks .history-single-response-body span,.admin-webhooks .history-single-response-header a{font-size:.9rem}.admin-submenu li:last-child{border-bottom:0}.admin-submenu ul a{color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 0 1rem 1rem}.admin-submenu .button-gray,.admin-webhooks .webhook-url-inputs{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center}.admin-submenu ul a:hover{background:#8fa291;color:#fff;-webkit-transition:all .2s;transition:all .2s}.admin-submenu ul a.active{background:#a3b2a4;color:#fff;-webkit-transition:all .2s;transition:all .2s}.admin-submenu ul a span{display:block;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-submenu input{margin:0 1rem;width:85%}.admin-submenu .button-gray{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:center;margin:0 1rem;padding:.5rem 0;text-align:center}.admin-submenu .button-gray:hover{background-color:#050505}.admin-webhooks .history-single-request-header span:first-child,.admin-webhooks .history-single-response-header span:first-child,.admin-webhooks .table-header{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.admin-webhooks .history-single-request-body .response-container,.admin-webhooks .history-single-request-body textarea,.admin-webhooks .history-single-response-body .response-container,.admin-webhooks .history-single-response-body textarea{font-family:'courier new',monospace}.admin-webhooks .webhooks-table .row{border-bottom:0;padding:.5rem 0}.admin-webhooks .webhooks-table .row:hover .webhook-options-wrapper{opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.admin-webhooks .table-header{border-bottom:1px solid #b8b8b8}.admin-contrib .check-item,.admin-webhooks .single-webhook-wrapper{border-bottom:1px solid #f5f5f5}.admin-webhooks .table-body .webhook-service{color:#555}.admin-webhooks .webhooks-options{margin-bottom:1rem;text-align:right}.admin-webhooks .webhook-service,.admin-webhooks .webhook-url{margin-right:.5rem}.admin-webhooks .webhook-service{-webkit-flex-basis:20%;-ms-flex-preferred-size:20%;flex-basis:20%;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.admin-webhooks .webhook-url{-webkit-flex-basis:400px;-ms-flex-preferred-size:400px;flex-basis:400px;-webkit-box-flex:8;-webkit-flex-grow:8;-ms-flex-positive:8;flex-grow:8}.admin-webhooks .webhook-url span{max-width:65%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b8b8b8;display:inline-block;vertical-align:middle}.admin-webhooks .webhook-url a{color:#72a114;margin-left:.5rem}.admin-webhooks .webhook-url a:hover{color:#9dce0a}.admin-webhooks .webhook-options{-webkit-flex-basis:100px;-ms-flex-preferred-size:100px;flex-basis:100px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;min-width:100px;text-align:center}.admin-webhooks .webhook-options a{color:#b8b8b8;margin-right:.5rem;-webkit-transition:color .2s linear;transition:color .2s linear;vertical-align:middle}.admin-webhooks .webhook-options a:hover{color:#72a114;-webkit-transition:color .2s linear;transition:color .2s linear}.admin-webhooks .webhook-options-wrapper{opacity:0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.admin-webhooks .webhooks-history,.admin-webhooks .webhooks-history.open{-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in}.admin-webhooks .webhook-url-inputs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;justify-content:center}.admin-webhooks .webhook-url-inputs fieldset{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-right:.3rem}.admin-webhooks .webhooks-history{max-height:0;overflow:hidden}.admin-webhooks .webhooks-history.open{max-height:1000px}.admin-webhooks .history-single,.admin-webhooks .history-single:hover{-webkit-transition:background .2s linear;transition:background .2s linear}.admin-webhooks .history-single-wrapper{border-bottom:1px solid #f5f5f5;margin-left:22%}.admin-webhooks .history-single{align-items:center;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem}.admin-webhooks .history-single:hover{background:rgba(157,206,10,.1)}.admin-webhooks .history-single.history-single-open:hover{background:0 0}.admin-webhooks .history-single.history-single-open .icon-arrow-bottom{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform .3s linear;transition:transform .3s linear}.admin-webhooks .history-single .icon-arrow-bottom{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s linear;transition:transform .3s linear}.admin-webhooks .history-response-icon{background:#555;border-radius:25%;display:inline-block;height:.8rem;margin-right:.5rem;width:.8rem}.admin-webhooks .history-response-icon.history-success{background:#9dce0a}.admin-webhooks .history-response-icon.history-error{background:red}.admin-webhooks .history-single-response{max-height:0;-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in;overflow:hidden}.admin-webhooks .history-single-response.open{-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in;max-height:1000px}.admin-webhooks .history-single-request-header,.admin-webhooks .history-single-response-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:1.5rem 0 .5rem}.admin-webhooks .history-single-request-header a,.admin-webhooks .history-single-request-header span:first-child,.admin-webhooks .history-single-response-header a,.admin-webhooks .history-single-response-header span:first-child{color:#b8b8b8}.admin-webhooks .history-single-request-header a:hover,.admin-webhooks .history-single-response-header a:hover{color:#9dce0a;-webkit-transition:color .2s linear;transition:color .2s linear}.admin-webhooks .history-single-request-header .icon,.admin-webhooks .history-single-response-header .icon{margin-right:.3rem;vertical-align:middle}.admin-webhooks .history-single-request-body .response-container,.admin-webhooks .history-single-response-body .response-container{-ms-flex-line-pack:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin-bottom:.5rem}.admin-contrib .check-item,.project-csv .csv-regenerate-field{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.admin-webhooks .history-single-request-body span,.admin-webhooks .history-single-response-body span{color:#b8b8b8;-webkit-flex-basis:20%;-ms-flex-preferred-size:20%;flex-basis:20%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-align:center}.admin-webhooks .history-single-request-body textarea,.admin-webhooks .history-single-response-body textarea{border:0;-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;min-height:7.5rem}.admin-webhooks .history-single-response-body textarea{min-height:10rem}.admin-contrib form{margin:1rem 0;max-width:700px;width:100%}.admin-contrib fieldset{margin-bottom:1rem}.admin-contrib .contrib-input{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.backlog-table-body .row,.backlog-table-body .user-story-name,.backlog-table-header .backlog-table-title{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.backlog-table-body,.backlog-table-header,.taskboard-table{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.admin-contrib .contrib-test{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-basis:7.5rem;-ms-flex-preferred-size:7.5rem;flex-basis:7.5rem;margin-left:.5rem;text-align:center}.project-values-isclosed,.project-values-settings,.project-values-value{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-basis:0}.admin-contrib .check-item,.admin-contrib .select-input-text .option-wrapper,.backlog-table-body .user-story-name,.project-csv .csv-regenerate-field,.project-csv .option-wrapper{-webkit-box-align:center;-webkit-align-items:center}.admin-contrib .contrib-test a{padding:.6rem 2.5rem}.admin-contrib label{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;display:block;margin-bottom:.2rem}.admin-contrib .help .img,.admin-contrib .help h3{margin-bottom:1rem}.admin-contrib .help h3,.admin-contrib .help ol span{font-family:opensans-semibold}.admin-contrib .contrib-form-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.admin-contrib .submit-button{display:block;text-align:center}.admin-contrib .select-input-text .field-with-option{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.admin-contrib .select-input-text .option-wrapper{-ms-flex-align:center;align-items:center;border:1px solid #b8b8b8;border-left:0;border-radius:0 5px 5px 0;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 1rem}.admin-contrib .select-input-text .help-copy{opacity:0}.admin-contrib .select-input-text .help-copy.visible{opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.admin-contrib .check-item{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;margin-top:2rem}.admin-contrib .check-item:last-child{border-bottom:0}.admin-contrib .help{margin-top:2rem}.admin-contrib .help ol{padding:0 0 0 2rem}.admin-contrib .help code{background:#f5f5f5;direction:ltr;display:block;font-family:'courier new',monospace;line-height:1.4rem;margin-bottom:1rem;padding:.5rem;unicode-bidi:embed;white-space:pre;width:100%}.admin-contrib .help .code-info{padding-left:1rem}.admin-contrib .help .code-info li{margin-bottom:.5rem}.admin-contrib .help .code-info span{font-family:opensans-semibold}.default-values fieldset{margin-bottom:1rem}.default-values fieldset:last-child{margin-top:1.5rem}.default-values label,.default-values select{display:inline-block;width:49.7%}.default-values a{color:#fff;display:block;text-align:center}.project-csv .csv-regenerate-field a{font-size:.9rem;min-width:110px}.project-csv{margin-bottom:2.5rem}.project-csv .project-values-title{margin-bottom:1rem}.project-csv .csv-regenerate-field{-ms-flex-line-pack:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;margin-bottom:1rem}.project-csv .csv-regenerate-field .icon{margin-right:.3rem}.project-csv .field-with-options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:1rem;width:100%}.project-csv .field-with-options input{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.project-csv .option-wrapper{-ms-flex-align:center;align-items:center;border:1px solid #b8b8b8;border-left:0;border-radius:0 5px 5px 0;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 1rem}.project-csv .button{padding:.5rem 1rem}.project-csv .button span{margin:0}.project-values-row .icon,.project-values-settings a{font-size:1.2rem}.admin-third-parties .help .alt-image,.admin-third-parties .help code,.admin-third-parties .select-input-text .help-copy,.backlog-table-body .doom-line span,.backlog-table-body .pop-points,.backlog-table-body .pop-points a,.backlog-table-body .pop-points-open,.backlog-table-body .pop-points-open a,.backlog-table-body .pop-role,.backlog-table-body .pop-role a,.backlog-table-body .pop-status,.backlog-table-body .pop-status a,.backlog-table-body .row,.backlog-table-body .tags-block .tag,.backlog-table-header .pop-points,.backlog-table-header .pop-points a,.backlog-table-header .pop-points-open,.backlog-table-header .pop-points-open a,.backlog-table-header .pop-role,.backlog-table-header .pop-role a,.backlog-table-header .pop-status,.backlog-table-header .pop-status a,.backlog-table-header .row,.login-form-container .forgot-pass,.register-form-container .register-text{font-size:.9rem}.project-values-row{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:1rem}.project-values-row div{margin-left:1rem;position:relative}.project-values-row .icon{color:#b8b8b8;opacity:0}.project-values-row .icon:hover{color:#444;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.project-values-header{font-family:opensans-semibold,Arial,Helvetica,sans-serif;border-bottom:3px solid #f5f5f5}.project-values-body form:last-child .project-values-row{border:0}.project-values-body .project-values-row:hover{background:#f6fceb;cursor:move;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.backlog-table-header .points,.login-form-container .remember-me+label{cursor:pointer}.project-values-body .project-values-row:hover .icon{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.project-values-name{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.project-values-value{-ms-flex-preferred-size:0;flex-basis:0}.project-values-value .checksley-error-list{left:0;right:auto;top:35px;white-space:nowrap}.project-values-isclosed,.project-values-settings{-ms-flex-preferred-size:0;flex-basis:0;text-align:right}.admin-third-parties .submit-button,.cancel-account fieldset,.cancel-account p,.change-email-form fieldset,.change-email-form p,.change-password-text,.forgot-form-container{text-align:center}.project-values-settings a{color:#555;margin-right:.5rem}.project-values-settings a:hover{color:#72a114;-webkit-transition:color .3s linear;transition:color .3s linear}.project-values-settings a:hover .icon-delete{color:red}.admin-third-parties input,.admin-third-parties label,.admin-third-parties textarea{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.admin-third-parties .help h3,.admin-third-parties .help ol span{font-family:opensans-semibold}.admin-third-parties form{margin:1rem 0;max-width:700px;width:100%}.admin-third-parties fieldset{margin-bottom:1rem}.admin-third-parties label{display:block;margin-bottom:.2rem}.admin-third-parties textarea{height:10rem}.admin-third-parties .submit-button{color:#fff;display:block}.admin-third-parties .select-input-text .field-with-option{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.admin-third-parties .select-input-text .option-wrapper{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border:1px solid #b8b8b8;border-left:0;border-radius:0 5px 5px 0;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0 1rem}.backlog-table-body .pop-points a:last-child,.backlog-table-body .pop-points-open a:last-child,.backlog-table-body .pop-role a:last-child,.backlog-table-body .pop-status a:last-child,.backlog-table-header .pop-points a:last-child,.backlog-table-header .pop-points-open a:last-child,.backlog-table-header .pop-role a:last-child,.backlog-table-header .pop-status a:last-child,.colors-table .row:last-child,.colors-table form:last-child .row,.external-reference a:first-child,.sprints .loading-spinner{border:0}.admin-third-parties .select-input-text .help-copy{opacity:0}.admin-third-parties .select-input-text .help-copy.visible{opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.admin-third-parties .help{margin-top:2rem}.cancel-account form,.change-email-form form{margin-top:1rem}.admin-third-parties .help h3{margin-bottom:1rem}.admin-third-parties .help ol{padding:0 0 0 2rem}.admin-third-parties .help .img{margin-bottom:1rem}.admin-third-parties .help code{background:#f5f5f5;direction:ltr;display:block;font-family:'courier new',monospace;line-height:1.4rem;margin-bottom:1rem;padding:.5rem;unicode-bidi:embed;white-space:pre;width:100%}.admin-third-parties .help .code-info li,.cancel-account p{margin-bottom:.5rem}.admin-third-parties .help .code-info{padding-left:1rem}.admin-third-parties .help .code-info span{font-family:opensans-semibold}.cancel-account p{color:#444}.change-email-form p{color:#444;margin-bottom:.5rem}.change-password-text{color:#444}.change-password-form-container .token-change-password{position:relative}.change-password-form-container input:focus+.get-token{opacity:0;-webkit-transition:opacity .5s linear;transition:opacity .5s linear}.change-password-form-container .get-token{font-size:.9rem;color:#b8b8b8;opacity:1;position:absolute;right:1rem;top:.5rem;-webkit-transition:all .3s linear;transition:all .3s linear}.change-password-form-container .get-token:hover{color:#444;-webkit-transition:color .3s linear;transition:color .3s linear}.login-form-container .login-password{position:relative}.login-form-container input:focus+.forgot-pass{opacity:0;-webkit-transition:opacity .5s linear;transition:opacity .5s linear}.login-form-container .forgot-pass{color:#b8b8b8;opacity:1;position:absolute;right:1rem;top:.5rem;-webkit-transition:all .3s linear;transition:all .3s linear}.backlog-table-body .pop-points a:hover,.backlog-table-body .pop-points-open a:hover,.backlog-table-header .pop-points a:hover,.backlog-table-header .pop-points-open a:hover,.login-form-container .forgot-pass:hover{-webkit-transition:color .3s linear;transition:color .3s linear}.login-form-container .forgot-pass:hover{color:#444}.login-form-container .remember-me{vertical-align:top}.register-form-container{display:block}.register-form-container .register-text-top{display:block;margin-bottom:1rem;text-align:center}.backlog-table-header .backlog-table-title{font-size:1rem}.backlog-table-body .doom-line span{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.backlog-table-body .pop-points,.backlog-table-body .pop-points-open,.backlog-table-body .pop-role,.backlog-table-body .pop-status,.backlog-table-header .pop-points,.backlog-table-header .pop-points-open,.backlog-table-header .pop-role,.backlog-table-header .pop-status{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.backlog-table-body,.backlog-table-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;width:100%}.backlog-table-body.show-tags .tags-block,.backlog-table-header.show-tags .tags-block{display:block}.backlog-table-body .row,.backlog-table-header .row{border-bottom:1px solid #b8b8b8;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem 0 .5rem .5rem;text-align:left;width:100%}.backlog-table-body .backlog-table-subtitle:hover,.backlog-table-body .backlog-table-title:hover,.backlog-table-body .row:hover,.backlog-table-header .backlog-table-subtitle:hover,.backlog-table-header .backlog-table-title:hover,.backlog-table-header .row:hover{background:0 0}.backlog-table-body .backlog-table-subtitle .user-stories,.backlog-table-body .backlog-table-title .user-stories,.backlog-table-body .row .user-stories,.backlog-table-header .backlog-table-subtitle .user-stories,.backlog-table-header .backlog-table-title .user-stories,.backlog-table-header .row .user-stories{overflow:hidden;width:100%}.backlog-table-body .backlog-table-subtitle .status,.backlog-table-body .backlog-table-title .status,.backlog-table-body .row .status,.backlog-table-header .backlog-table-subtitle .status,.backlog-table-header .backlog-table-title .status,.backlog-table-header .row .status{-webkit-flex-basis:150px;-ms-flex-preferred-size:150px;flex-basis:150px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.backlog-table-body .backlog-table-subtitle .points,.backlog-table-body .backlog-table-title .points,.backlog-table-body .row .points,.backlog-table-header .backlog-table-subtitle .points,.backlog-table-header .backlog-table-title .points,.backlog-table-header .row .points{-webkit-flex-basis:125px;-ms-flex-preferred-size:125px;flex-basis:125px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.backlog-table-body .points,.backlog-table-body .status,.backlog-table-header .points,.backlog-table-header .status{position:relative;text-align:right}.backlog-table-body .points .popover a,.backlog-table-body .status .popover a,.backlog-table-header .points .popover a,.backlog-table-header .status .popover a{text-align:left;width:100%}.backlog-table-body .points .popover .point,.backlog-table-body .status .popover .point,.backlog-table-header .points .popover .point,.backlog-table-header .status .popover .point,.sprints .loading{text-align:center}.backlog-table-body .points .icon,.backlog-table-body .status .icon,.backlog-table-header .points .icon,.backlog-table-header .status .icon{color:#b8b8b8;margin-left:.2rem}.backlog-table-body .pop-status,.backlog-table-header .pop-status{background:#050505;color:#fff;display:none;left:65%;list-style-type:none;margin:0;padding:10px 1rem 10px 10px;position:absolute;top:0;width:200px;z-index:99}.backlog-table-body .pop-status a,.backlog-table-header .pop-status a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.backlog-table-body .pop-status a:hover,.backlog-table-header .pop-status a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.backlog-table-body .pop-status a:hover.point,.backlog-table-header .pop-status a:hover.point{color:#fff}.backlog-table-body .pop-status:after,.backlog-table-header .pop-status:after{background:#050505;content:'';height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.backlog-table-body .pop-status.fix,.backlog-table-header .pop-status.fix{bottom:0;top:auto}.backlog-table-body .pop-role,.backlog-table-header .pop-role{background:#050505;color:#fff;display:none;left:65%;list-style-type:none;margin:0;padding:10px;position:absolute;top:0;width:200px;z-index:99}.backlog-table-body .pop-role a,.backlog-table-header .pop-role a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.backlog-table-body .pop-role a:hover,.backlog-table-header .pop-role a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.backlog-table-body .pop-role a:hover.point,.backlog-table-header .pop-role a:hover.point{color:#fff}.backlog-table-body .pop-role:after,.backlog-table-header .pop-role:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.backlog-table-body .pop-role a.active,.backlog-table-header .pop-role a.active{background:#9dce0a;color:#fff}.backlog-table-body .pop-points,.backlog-table-header .pop-points{background:#050505;bottom:10px;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px 3rem 10px 10px;position:absolute;width:150px;z-index:99}.backlog-table-body .pop-points a,.backlog-table-header .pop-points a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.backlog-table-body .pop-points a:hover,.backlog-table-header .pop-points a:hover{color:#9dce0a}.backlog-table-body .pop-points a:hover.point,.backlog-table-header .pop-points a:hover.point{color:#fff}.backlog-table-body .pop-points:after,.backlog-table-header .pop-points:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.backlog-table-body .pop-points-open,.backlog-table-header .pop-points-open{background:#050505;color:#fff;display:none;left:30px;list-style-type:none;margin:0;padding:10px;position:absolute;top:0;width:200px;z-index:99}.backlog-table-body .pop-points-open a,.backlog-table-header .pop-points-open a{border-bottom:1px solid #444;color:#fff;padding:10px 2px}.backlog-table-body .pop-points-open a:hover.point,.backlog-table-header .pop-points-open a:hover.point{color:#fff}.backlog-table-body .pop-points-open:after,.backlog-table-header .pop-points-open:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.backlog-table-body .pop-points-open li,.backlog-table-header .pop-points-open li{display:inline-block;width:23%}.backlog-table-body .pop-points-open a,.backlog-table-header .pop-points-open a{display:block;text-align:center}.backlog-table-body .pop-points-open a.active,.backlog-table-body .pop-points-open a:hover,.backlog-table-header .pop-points-open a.active,.backlog-table-header .pop-points-open a:hover{background:#9dce0a;color:#fff}.backlog-table-header .backlog-table-title{font-family:opensans-semibold,Arial,Helvetica,sans-serif;border-bottom:2px solid #b8b8b8;padding-right:30px}.sprints .sprint .sprint-date,.sprints .sprint-name a,.taskboard-userstory-box .us-title{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.backlog-table-header .header-points span{color:#b8b8b8}.backlog-table-body .row{border-bottom:1px solid #ebebeb;cursor:move;position:relative}.backlog-table-body .row:hover{background:#f6fceb;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.backlog-table-body .row:hover .icon-drag-v,.backlog-table-body .row:hover .us-settings{opacity:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.backlog-table-body .row:last-child{border-bottom:0}.backlog-table-body .row.ui-sortable-helper{background:#f6fceb;box-shadow:1px 1px 10px rgba(0,0,0,.1);-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.backlog-table-body .row .points .not-clickable:hover{color:#000;cursor:text}.backlog-table-body .sortable-placeholder{background:#f5f5f5;height:40px;width:100%}.backlog-table-body .row-selected{background:#f6fceb;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.backlog-table-body .user-story-name{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.backlog-table-body .user-story-name input{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:1rem;vertical-align:super}.backlog-table-body .user-story-name input:checked+a{color:#9dce0a;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.backlog-table-body .user-story-name a{display:inline-block;-webkit-box-flex:20;-webkit-flex-grow:20;-ms-flex-positive:20;flex-grow:20;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backlog-table-body .tags-block{display:none;margin-bottom:.3rem}.backlog-table-body .tags-block .tag{margin-right:.5rem;padding:.2rem .5rem}.backlog-table-body .blocked{background:#ff8282;border-bottom:1px solid #fff;color:#fff}.category-config,.change-entry,.more-attachments,.sprints .sprint-table .row{border-bottom:1px solid #b8b8b8}.backlog-table-body .blocked:hover{background:red;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.backlog-table-body .blocked a{color:#fff!important}.backlog-table-body .blocked .icon,.backlog-table-body .blocked .icon:hover,.backlog-table-body .blocked a:hover{color:#fff}.backlog-table-body .doom-line{background:red;margin:.2rem 0;padding:.6rem 0;position:relative;width:100%}.backlog-table-body .doom-line span{color:#fff;position:absolute;right:.5rem;top:-3px}.backlog-table-body .icon-drag-v,.backlog-table-body .us-settings a{font-size:1.2rem;color:#b8b8b8;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;width:30px}.backlog-table-body .icon-drag-v:hover,.backlog-table-body .us-settings a:hover{color:#444;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.backlog-table-body .us-settings{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 0 0 2rem;opacity:0}.backlog-table-body .icon-drag-v{cursor:move;opacity:0;padding:.1rem .5rem 0 0}.backlog-table-body .readonly{cursor:auto;padding-right:45px}.burndown{margin-bottom:2rem;width:100%}.sprints .sprint .description{font-size:.75rem}.sprints .filter-closed-sprints,.sprints .sprint-table .column-us,.sprints .us-item-row .user-story-name{font-size:.9rem}.sprints .sprint .number,.sprints .sprint .sprint-date,.sprints .sprint-name a{font-size:1.2rem}.duty-assigned-to .assigned-to .assigned-title,.taskboard-userstory-box .points-value{font-size:.9rem}.sprints .summary{background:#dcdcdc;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.sprints .total-sprints{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;color:#444;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.attachments-header,.single-attachment{-webkit-box-align:center;-webkit-align-items:center}.sprints .add-sprint{margin:0;padding:.3rem 1.5rem}.sprints .filter-closed-sprints{-ms-flex-line-pack:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-bottom:1rem;vertical-align:middle}.sprints .sprint .sprint-summary,.taskboard-table-header .task-colum-name{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify}.sprints .filter-closed-sprints .icon-archive{margin-right:.3rem}.sprints .loading-spinner{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-bottom:1rem;max-height:2rem;max-width:2rem;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.duty-assigned-to .user-avatar,.sprints .sprint .sprint-points,.sprints .sprint-table .column-points,.taskboard-table-body .task-column,.taskboard-table-header .task-colum-name{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1}.sprints .sprint-name a{max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;margin-right:3px}.sprints .sprint{margin-bottom:2rem;overflow:hidden}.sprints .sprint header{position:relative}.sprints .sprint:hover .icon-edit{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.sprints .sprint .icon{display:inline-block}.sprints .sprint .icon-arrow-up{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);-webkit-transition:all .2s linear;transition:all .2s linear;vertical-align:baseline}.sprints .sprint .icon-arrow-up.active{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:all .2s linear;transition:all .2s linear}.sprints .sprint .icon-arrow-up:hover{color:#9dce0a;-webkit-transition:color .2s linear;transition:color .2s linear}.sprints .sprint .icon-edit{color:#b8b8b8;opacity:0;position:absolute;right:0;top:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;vertical-align:baseline}.duty-assigned-to .assigned-to .user-assigned .icon,.search-result-table .user-story-name input{vertical-align:top}.sprints .sprint .icon-edit:hover{color:#72a114;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.sprints .sprint .description{line-height:.6rem;margin-top:5px}.sprints .sprint .sprint-summary{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.sprints .sprint .sprint-date{color:#b8b8b8;-webkit-flex-flow:1;-ms-flex-flow:1;flex-flow:1}.sprints .sprint .sprint-points{flex-grow:1}.sprints .sprint ul{margin:0}.sprints .sprint li{display:inline-block}.sprints .sprint li:first-child{margin-right:3px}.sprints .sprint-progress-bar{background:#b8b8b8;border-radius:2px;height:8px;margin-bottom:1rem;margin-top:.5rem;position:relative;width:100%}.sprints .sprint-progress-bar .current-progress{background:#72a114;border-radius:2px;height:8px;left:0;position:absolute;top:0;width:calc(30% - 4px)}.sprints .sprint-table .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5em 0;text-align:left;width:100%}.sprints .sprint-table .row:hover{background:#d7d7d7;cursor:move;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.sprints .sprint-table .row.readonly,.taskboard-table .taskboard-task.readonly{cursor:auto}.sprints .sprint-table .row:last-child{border-bottom:0}.sprints .sprint-table .row.sortable-placeholder{background:#d7d7d7;height:40px}.sprints .sprint-table .row.ui-sortable-helper{background:#f6fceb;box-shadow:1px 1px 10px rgba(0,0,0,.1);-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.sprints .sprint-table .column-us{-webkit-flex-flow:3;-ms-flex-flow:3;flex-flow:3;padding:0 4px}.sprints .sprint-table .us-name{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sprints .sprint-table .us-name.closed{color:#c5c5c5}.sprints .sprint-table .us-name.blocked{color:red}.sprints .sprint-table .column-points{flex-grow:1;padding:0 4px;text-align:right}.sprints .sprint-table .column-points.closed{color:#c5c5c5}.sprints .sprint-table .column-points.blocked{color:red}.sprints .button-gray{display:block;margin-top:1rem;text-align:center}.sprint-closed .sprint-table,.sprints .us-item-row .icon-drag-v,.sprints .us-item-row .popover,.sprints .us-item-row .status,.sprints .us-item-row .tags-block,.sprints .us-item-row .us-settings,.sprints .us-item-row input,.taskboard-table-body .column-fold .taskboard-task .icon,.taskboard-table-body .column-fold .taskboard-task .taskboard-tagline,.taskboard-table-body .column-fold .taskboard-task .taskboard-text,.taskboard-table-body .row-fold .taskboard-task .icon,.taskboard-table-body .row-fold .taskboard-task .taskboard-tagline,.taskboard-table-body .row-fold .taskboard-task .taskboard-text{display:none}.sprints .us-item-row .user-story-name{line-height:1rem;margin-top:5px}.sprint-closed .description,.sprint-closed .number{color:#b8b8b8}.sprint-closed .sprint-progress-bar .current-progress{background:#9f9f9f}.sprint-closed .button-gray{background:#b8b8b8}.taskboard-table-header .task-colum-name .icon{font-size:1rem}.taskboard-table-header .task-colum-name,.taskboard-userstory-box .us-title{font-size:1.2rem}.taskboard-table-body .column-fold .taskboard-task,.taskboard-table-body .row-fold .taskboard-task{background:0 0;border:0;margin:0;min-height:0}.taskboard-table-body .column-fold .taskboard-task .taskboard-task-inner,.taskboard-table-body .row-fold .taskboard-task .taskboard-task-inner{padding:.2rem}.taskboard-table-body .column-fold .taskboard-task .avatar,.taskboard-table-body .row-fold .taskboard-task .avatar{height:35px;width:35px}.taskboard-table-body .column-fold .taskboard-task.ui-sortable-helper,.taskboard-table-body .row-fold .taskboard-task.ui-sortable-helper{box-shadow:none}.taskboard-table-body .column-fold .task-column,.taskboard-table-body .row-fold .task-column,.taskboard-table-body .task-column.column-fold,.taskboard-table-body .task-column.row-fold{-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.attachments-header,.duty-custom-fields .custom-fields-header{-webkit-align-content:space-between;align-content:space-between}.taskboard-table-body .column-fold .avatar-task-link,.taskboard-table-body .row-fold .avatar-task-link{display:block}.taskboard-table-body .column-fold .avatar-assigned-to,.taskboard-table-body .row-fold .avatar-assigned-to{display:none}.taskboard-table{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;height:100%;overflow:hidden;width:100%}.taskboard-table-header{margin-bottom:.5rem;min-height:40px;position:relative;width:100%}.taskboard-table-header .taskboard-table-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:absolute}.taskboard-table-header .task-colum-name{background:#f5f5f5;border-top:3px solid #b8b8b8;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-basis:300px;-ms-flex-preferred-size:300px;flex-basis:300px;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;justify-content:space-between;margin:0 10px 0 0;max-width:300px;padding:.5rem 1rem;position:relative;text-transform:uppercase;width:300px}.category-config:first-child,.show-more-comments{border-top:1px solid #b8b8b8}.taskboard-table-header .task-colum-name:last-child{margin-right:0}.taskboard-table-header .task-colum-name .icon{color:#b8b8b8;margin-right:.3rem;-webkit-transition:color .2s linear;transition:color .2s linear}.taskboard-table-header .task-colum-name .icon:hover{color:#72a114}.taskboard-table-header .task-colum-name .icon.hfold,.taskboard-table-header .task-colum-name .icon.hunfold{display:inline-block;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.taskboard-table-header .task-colum-name.column-fold{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:.3rem 0}.attachments-header,.category-config .category-item{-webkit-box-pack:justify;-webkit-justify-content:space-between}.taskboard-table-header .task-colum-name.column-fold span{display:none}.taskboard-table-header .task-colum-name.column-fold .hfold,.taskboard-table-header .task-colum-name.column-fold .hunfold{margin:0}.taskboard-table-body{height:100%;overflow:auto;width:100%}.taskboard-table-body .task-column{-webkit-flex-basis:300px;-ms-flex-preferred-size:300px;flex-basis:300px;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin:0 10px 0 0;max-width:300px;width:300px}.taskboard-table-body .task-column:last-child{margin-right:0}.taskboard-table-body .column-fold .taskboard-task{max-width:40px;width:40px}.taskboard-table-body .task-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:.5rem;min-height:10rem;width:100%}.taskboard-table-body .avatar-task-link,.taskboard-table-body .task-row.row-fold .icon-bulk,.taskboard-table-body .task-row.row-fold .icon-plus,.taskboard-table-body .task-row.row-fold .points-value{display:none}.taskboard-table-body .task-row:hover .new-task{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.blocked .external-reference a,.external-reference a{transition:color .3s linear;-webkit-transition:color .3s linear}.taskboard-table-body .task-row.blocked .taskboard-userstory-box{background:rgba(255,0,0,.6)}.taskboard-table-body .task-row.blocked .points-value,.taskboard-table-body .task-row.blocked .points-value:hover,.taskboard-table-body .task-row.blocked .taskboard-userstory-box a,.taskboard-table-body .task-row.blocked .taskboard-userstory-box a:hover{color:#fff;-webkit-transition:color .3s linear;transition:color .3s linear}.taskboard-table-body .task-row.blocked .taskboard-tasks-box{background:rgba(255,0,0,.1)}.taskboard-table-body .task-row.row-fold{min-height:0}.taskboard-table-body .task-row.row-fold .us-title{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskboard-table-body .taskboard-tasks-box{background:#f5f5f5}.taskboard-table-body .taskboard-userstory-box{padding:.5rem .5rem .5rem 1.5rem}.taskboard-table-body .taskboard-userstory-box .icon{color:#b8b8b8;position:absolute;right:.5rem;top:.7rem;-webkit-transition:color .2s linear;transition:color .2s linear}.points-list a:hover span,.points-list span{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.duty-assigned-to,.taskboard-userstory-box{position:relative}.taskboard-table-body .taskboard-userstory-box .icon:hover{color:#72a114}.taskboard-table-body .taskboard-userstory-box .icon.icon-plus{right:2rem}.taskboard-table-body .taskboard-userstory-box .icon.icon-vfold,.taskboard-table-body .taskboard-userstory-box .icon.icon-vunfold{left:0;right:inherit}.taskboard-table-body .avatar-assigned-to{display:block}.taskboard-userstory-box .tag-list{display:none;margin-bottom:1rem}.taskboard-userstory-box .us-title{margin-bottom:0;margin-right:3rem}.attachments-header .attachments-title,.colors-table .table-header,.duty-custom-fields .custom-field-data .custom-field-name,.duty-custom-fields .custom-fields-header,.single-attachment .attachment-name{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.taskboard-userstory-box .points-value{color:#b8b8b8}.taskboard-userstory-box .points-value span{margin-right:.1rem}.points-list a{color:#72a114;margin-left:.5rem}.points-list a:hover span{opacity:1}.points-list span{opacity:0}.duty-assigned-to{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:1rem}.duty-assigned-to:hover .assigned-to .icon-delete{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.duty-assigned-to .loading-spinner{-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32;margin:1rem auto;max-height:2rem;max-width:2rem}.attachments,.duty-custom-fields,.projects-nav h1{margin-bottom:2rem}.duty-assigned-to .user-avatar{flex-grow:1}.duty-assigned-to .user-avatar img{border-radius:8%;width:100%}.duty-assigned-to .assigned-to{-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3;margin-left:1rem}.colors-table .row .color-column,.single-attachment .attachment-name,.single-attachment .attachment-settings,.single-attachment .attachment-size{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.duty-assigned-to .assigned-to .assigned-title{color:#b8b8b8;display:block}.duty-assigned-to .assigned-to .user-assigned{font-size:1.2rem;color:#72a114;cursor:default;line-height:1.5rem}.duty-assigned-to .assigned-to .user-assigned.editable{cursor:pointer}.duty-assigned-to .assigned-to .assigned-name{max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}.duty-assigned-to .assigned-to .icon-delete{color:#b8b8b8;opacity:0;position:absolute;right:0;top:0}.duty-assigned-to .assigned-to .icon-delete:hover{color:red}.add-attach span,.more-attachments,.single-attachment,.single-attachment .editable-attachment-comment{font-size:.9rem}.attachments-header .attachments-title{font-size:1rem;color:#444}.attachments-header .icon,.single-attachment .attachment-settings .editable-settings,.single-attachment .attachment-settings .settings,.single-attachment .icon-delete{font-size:1.2rem}.attachments-header{-ms-flex-line-pack:justify;-ms-flex-align:center;align-items:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.attachments-header .attachments-num,.attachments-header .attachments-text{margin-right:.1rem}.history-tabs .icon,.single-attachment .attachment-name .icon{margin-right:.5rem}.attachments-header .icon{color:#444;cursor:pointer}.attachments-header .icon:hover{color:#72a114;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.single-attachment{-ms-flex-align:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem 0 .5rem 1rem;position:relative}.single-attachment:hover .attachment-settings .settings{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.more-attachments:hover,.single-attachment.ui-sortable-helper{-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.single-attachment.ui-sortable-helper{background:#f6fceb;box-shadow:1px 1px 10px rgba(0,0,0,.1)}.single-attachment.deprecated,.single-attachment.deprecated .attachment-name a{color:#b8b8b8}.single-attachment.sortable-placeholder{background:#f5f5f5;height:40px}.single-attachment .attachment-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-flex-basis:35%;-ms-flex-preferred-size:35%;flex-basis:35%;-webkit-box-flex:1;padding-right:1rem}.single-attachment .attachment-size{color:#b8b8b8;-webkit-flex-basis:15%;-ms-flex-preferred-size:15%;flex-basis:15%;-webkit-box-flex:1;margin-right:.5rem}.single-attachment .attachment-comments,.single-attachment .editable-attachment-comment{-webkit-flex-basis:35%;-ms-flex-preferred-size:35%;flex-basis:35%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.single-attachment .attachment-comments span,.single-attachment .editable-attachment-comment span{color:#555}.single-attachment .attachment-settings{-webkit-flex-basis:15%;-ms-flex-preferred-size:15%;flex-basis:15%;-webkit-box-flex:1}.single-attachment .attachment-settings .editable-settings,.single-attachment .attachment-settings .settings{color:#b8b8b8;display:block;position:absolute}.single-attachment .attachment-settings .editable-settings:hover,.single-attachment .attachment-settings .settings:hover{color:#72a114}.single-attachment .attachment-settings .settings{opacity:0;top:.5rem}.single-attachment .attachment-settings .editable-settings{opacity:1;top:1rem}.single-attachment .attachment-settings .icon-edit,.single-attachment .attachment-settings .icon-floppy{right:3.5rem}.single-attachment .attachment-settings .icon-delete{right:2rem}.single-attachment .attachment-settings .icon-delete:hover{color:red}.single-attachment .attachment-settings .icon-drag-v{cursor:move;right:0}.single-attachment .icon-delete{color:#b8b8b8}.single-attachment .icon-delete:hover{color:red}.single-attachment .editable-attachment-deprecated{padding-left:1rem}.single-attachment .editable-attachment-deprecated span{color:#b8b8b8}.single-attachment .editable-attachment-deprecated input{margin-right:.2rem;vertical-align:middle}.single-attachment .editable-attachment-deprecated input:checked+span{color:#444}.single-attachment .percentage{background:rgba(114,161,20,.1);bottom:0;height:40px;left:0;position:absolute;top:0;width:45%}.more-attachments{display:block;padding:1rem 0 1rem 1rem}.more-attachments span{color:#b8b8b8}.more-attachments .more-attachments-num{color:#72a114;margin-left:.5rem}.more-attachments:hover{background:#f6fceb}.category-config .category-items,.category-config .category-items.open{-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in}.add-attach{cursor:pointer;overflow:hidden;position:relative}.add-attach input{display:none}.add-attach span{color:#b8b8b8}.category-config .resume{-webkit-box-align:space-between;-webkit-align-items:space-between;-ms-flex-align:space-between;align-items:space-between;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:1rem;position:relative}.category-config .category-item,.colors-table .row,.duty-custom-fields .custom-fields-header{-ms-flex-align:center;-webkit-box-align:center}.category-config .resume-title{width:280px}.category-config .count{color:#b8b8b8;float:left;padding-right:5px}.category-config .summary-role{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:280px}.category-config .summary-role .role-summary-single{background:#b8b8b8;display:inline-block;height:20px;margin-right:.1rem;width:15px}.category-config .summary-role .role-summary-single.active{background:#72a114}.category-config .summary-role .role-summary-single.inactive{background:#555}.category-config .icon{font-size:2rem;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;text-align:right}.category-config .category-items{max-height:0;overflow:hidden;background-color:#f5f5f5;width:100%}.category-config .category-items.open{max-height:400px}.category-config .category-items .items-container{padding:1rem}.category-config .category-item{-webkit-align-items:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem .5rem .5rem 2rem}.category-config .category-item:last-child{border-bottom:0}.colors-table .table-header{font-size:1rem;border-bottom:3px solid #f5f5f5}.colors-table .icon,.colors-table .icon-check-square{font-size:1.2rem}.colors-table .table-header:hover{background:0 0}.colors-table .table-header .row{padding-left:50px}.colors-table .row{-webkit-align-items:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding:1rem}.duty-custom-fields .custom-fields-header,.related-tasks-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.colors-table .row:hover{background:#f6fceb;cursor:move;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.colors-table .row:hover .icon{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.colors-table .row:hover .options-column{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.colors-table .row.edition .current-color{cursor:pointer}.colors-table .row.edition,.colors-table .row.new-value{padding-left:50px}.colors-table .row.hidden{display:none}.colors-table .row .color-column{-webkit-flex-basis:60px;-ms-flex-preferred-size:60px;flex-basis:60px;-webkit-box-flex:1;max-width:100px;position:relative}.colors-table .row .is-archived-column,.colors-table .row .is-closed-column,.colors-table .row .options-column,.colors-table .row .status-wip-limit{-webkit-flex-basis:100px;-ms-flex-preferred-size:100px;flex-basis:100px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.colors-table .row .status-name,.colors-table .row .status-slug{-webkit-box-flex:6;-webkit-flex-grow:6;-ms-flex-positive:6;flex-grow:6;-webkit-flex-basis:150px;-ms-flex-preferred-size:150px;flex-basis:150px}.colors-table .row .status-name{padding:0 10px;position:relative}.colors-table .row .status-name span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.colors-table .row .status-slug{padding:0 10px}.colors-table .row .options-column{max-width:100px;opacity:0;text-align:right}.colors-table .row .is-archived-column{max-width:130px;padding:0 0 0 10px;text-align:center}.colors-table .row .is-closed-column{max-width:130px;text-align:center}.colors-table .row .status-wip-limit{max-width:130px;padding:0 0 0 10px;text-align:center}.colors-table .row-edit .options-column{opacity:1}.colors-table .current-color{background-color:#b8b8b8;border-radius:2px;height:40px;width:40px}.activity-single .activity-user img,.duty-custom-fields form input{width:100%}.colors-table .icon{color:#b8b8b8;margin-right:1rem;opacity:0}.colors-table .icon.icon-check-square,.duty-custom-fields .custom-field-single:hover .custom-field-options{opacity:1}.colors-table .icon:hover{color:#72a114;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.colors-table .icon-delete:hover{color:red}.colors-table .icon-check-square{color:#72a114}.duty-custom-fields .custom-field-data .custom-field-description{font-size:.9rem}.duty-custom-fields .custom-fields-header .icon-arrow-bottom{font-size:1.2rem;cursor:pointer;-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:-webkit-transform .2s linear;transition:transform .2s linear}.duty-custom-fields .custom-fields-header{-ms-flex-line-pack:justify;-webkit-align-items:center;align-items:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;padding:.5rem 1rem}.duty-custom-fields .custom-fields-header .icon-arrow-bottom.open{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .2s linear;transition:transform .2s linear}.duty-custom-fields .custom-fields-body{max-height:0;-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in;overflow:hidden}.duty-custom-fields .custom-fields-body.open{-webkit-transition:max-height .5s ease-in;transition:max-height .5s ease-in;max-height:1000px}.duty-custom-fields .custom-field-single{border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:1rem}.duty-custom-fields .custom-field-single.editable .custom-field-options{margin-top:.5rem}.duty-custom-fields .custom-field-single .custom-field-options{opacity:0;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.duty-custom-fields .custom-field-single .custom-field-options a{color:#b8b8b8}.duty-custom-fields .custom-field-single .custom-field-options a:hover{color:#72a114}.duty-custom-fields .custom-field-data{-webkit-box-flex:0;-webkit-flex:0;-ms-flex:0;flex:0;-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px}.duty-custom-fields .custom-field-data .custom-field-name{display:block}.duty-custom-fields .custom-field-data .custom-field-description{color:#b8b8b8;display:block;line-height:.9rem}.duty-custom-fields .custom-field-options{margin:0}.duty-custom-fields .custom-field-value{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 1rem 0 2rem}.projects-nav,.projects-nav .projects-pagination{flex-direction:column;-webkit-flex-direction:column}.duty-custom-fields form label{cursor:pointer}.blocked .external-reference,.blocked .external-reference a{color:#fff}.blocked .external-reference a:hover{color:#ff8282}.external-reference{font-size:.9rem;color:#b8b8b8;margin-top:.5rem}.external-reference a{border-left:1px solid #b8b8b8;padding:0 .2rem}.changes-title .icon,.changes-title:hover .icon{-webkit-transition:all .2s linear;transition:all .2s linear}.external-reference a:hover{color:#72a114}.activity-single .comment-restore,.activity-single .date,.activity-single .deleted-comment,.activity-single.deleted-comment,.change-entry .activity-fromto,.more-activity,.more-comments,.show-more-comments{font-size:.9rem}.activity-single .deleted-comment .comment-body p,.activity-single.deleted-comment .comment-body p{font-size:1rem}.history-tabs{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.change-entry .activity-changed{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.lightbox-ask-choice .subtitle,.lightbox-delete-account .subtitle,.lightbox-delete-project .subtitle,.lightbox-generic-ask .subtitle,.lightbox-generic-loading .progress-bar-wrapper .progress,.lightbox-select-user .more-watchers,.projects-list a{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.history{margin-bottom:1rem}.changes-title{display:block;padding:.5rem}.changes-title:hover .icon{color:#72a114;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.changes-title .icon{color:#444;float:right;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.history-tabs a,.history-tabs a:hover{-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.change-entry{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem}.change-entry:last-child{border-bottom:0}.history-tabs,.search-filter ul{border-bottom:3px solid #b8b8b8}.change-entry .activity-changed,.change-entry .activity-fromto{-webkit-flex-basis:50px;-ms-flex-preferred-size:50px;flex-basis:50px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.change-entry .activity-fromto{word-wrap:break-word}.history-tabs{margin-bottom:0;padding:.5rem 0}.activity-single,.more-comments,.show-more-comments{border-bottom:1px solid #b8b8b8}.history-tabs li{font-size:1.2rem;display:inline-block}.lightbox-add-member .help-text,.lightbox-delete-account .newsletter input+label,.lightbox-sprint-add-edit .delete-sprint,.lightbox-sprint-add-edit .last-sprint-name,.main-nav a:hover .helper{font-size:.9rem}.history-tabs li:first-child{border-right:1px solid #b8b8b8}.history-tabs a{color:#b8b8b8;padding:0 2rem}.history-tabs a.active{color:#444}.history-tabs a:hover{color:#72a114}.add-comment:after{clear:both;display:table}.add-comment.active .button-green{display:block}.add-comment.active textarea{height:6rem;-webkit-transition:height .3s ease-in;transition:height .3s ease-in}.add-comment.active .help-markdown{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.add-comment.active .preview-icon{opacity:1;position:absolute;right:1rem}.add-comment .help-markdown,.add-comment .preview-icon,.comment-list.activeanimation .comment-single.ng-enter:last-child,.comment-list.activeanimation .comment-single.ng-leave.ng-leave-active:last-child{opacity:0}.add-comment textarea{background:#fff;height:5rem;margin-bottom:.5rem;min-height:41px}.add-comment .save-comment{color:#fff;float:right}.add-comment .button-green{display:none}.add-comment .edit,.add-comment .preview-icon{position:absolute;right:1rem}.show-more-comments{color:#b8b8b8;display:block;padding:1rem 0 1rem 1rem}.show-more-comments:hover{background:#f6fceb;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.more-comments{color:#b8b8b8;display:block;padding:1rem}.more-comments .prev-comments-num{color:#72a114;margin-left:.5rem}.comment-list.activeanimation .comment-single.ng-enter:last-child,.comment-list.activeanimation .comment-single.ng-leave:last-child{-webkit-transition:all .3s ease-in;transition:all .3s ease-in}.comment-list.activeanimation .comment-single.ng-enter.ng-enter-active:last-child,.comment-list.activeanimation .comment-single.ng-leave:last-child{opacity:1}.activity-single{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:2rem 0;position:relative}.activity-single:hover .comment-delete,.activity-single:hover .comment-restore{opacity:1;-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.activity-single:first-child{margin-top:0}.activity-single:last-child{border-bottom:0}.activity-single .deleted-comment,.activity-single.deleted-comment{color:#b8b8b8;padding:.5rem}.activity-single .deleted-comment a,.activity-single.deleted-comment a{color:#b8b8b8;margin-left:.3rem}.activity-single .deleted-comment a:hover,.activity-single.deleted-comment a:hover{color:#72a114;-webkit-transition:color .2s linear;transition:color .2s linear}.activity-single .deleted-comment img,.activity-single.deleted-comment img{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.5}.activity-single .deleted-comment .comment-body,.activity-single.deleted-comment .comment-body{display:none;margin:.2rem 0 .5rem}.activity-single .activity-username,.activity-single .username{color:#72a114;margin-bottom:.5rem}.activity-single .comment-restore{color:#b8b8b8;position:absolute;right:0;top:.4rem}.activity-single .comment-restore .icon{vertical-align:baseline}.activity-single .comment-restore:hover{color:#72a114;-webkit-transition:color .2s linear;transition:color .2s linear}.activity-single .activity-user{-webkit-flex-basis:60px;-ms-flex-preferred-size:60px;flex-basis:60px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:1rem}.activity-single .activity-content{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:calc(100% - 80px)}.activity-single .changes{background:#f5f5f5}.activity-single .changes .change-entry{display:none}.activity-single .changes .change-entry.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.activity-single .date{color:#b8b8b8;margin-left:1rem}.activity-single .wysiwyg{margin-bottom:0}.activity-single .comment-delete{color:red;opacity:0;position:absolute;right:0;top:2rem;-webkit-transition:all .2s linear;transition:all .2s linear}.activity-single .comment-delete:hover{color:#ff8282;-webkit-transition:color .2s linear;transition:color .2s linear}.close.lightbox,.open.lightbox{-webkit-transition:opacity .3s ease}.activity-single.activity .change-entry{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.more-activity{border-bottom:1px solid #b8b8b8;color:#b8b8b8;display:block;padding:1rem}.more-activity .prev-activity-num{color:#72a114;margin-left:.5rem}.lightbox-select-user .more-watchers{font-size:1rem}.lightbox .close,.lightbox-add-member .icon,.lightbox-ask-choice .subtitle,.lightbox-delete-account .subtitle,.lightbox-delete-project .subtitle,.lightbox-generic-ask .subtitle,.lightbox-generic-loading .progress-bar-wrapper .progress{font-size:1.2rem}.lightbox-delete-account .newsletter input+label{font-family:opensans-regular,Arial,Helvetica,sans-serif}.lightbox{background:rgba(255,255,255,.95);bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;z-index:99910}.lightbox .close{position:absolute;right:2rem;top:2rem}.lightbox-add-member .add-member-wrapper fieldset,.lightbox-generic-form fieldset{position:relative}.open.lightbox{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;opacity:1;transition:opacity .3s ease}.close.lightbox{opacity:0;transition:opacity .3s ease}.lightbox .title{text-align:center}.lightbox input,.lightbox select,.lightbox textarea{margin-bottom:1rem}.lightbox .button-gray,.lightbox .button-green{display:block;padding:12px;text-align:center}.lightbox-generic-loading .spin img{margin:0 auto;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32}.lightbox-generic-form form{-webkit-flex-basis:600px;-ms-flex-preferred-size:600px;flex-basis:600px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;max-width:600px}.lightbox-generic-form textarea{margin-bottom:1rem;max-height:9rem;min-height:7rem}.lightbox-generic-form label{border:1px solid #b8b8b8;color:#444;cursor:pointer;display:block;padding:7px 30px;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.lightbox-generic-form label:hover span{color:#fff}.lightbox-generic-form label span{color:#444;vertical-align:middle}.lightbox-generic-form .settings{-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;margin-bottom:1rem}.create-project,.issues-table .avatar,.kanban-table .vfold.task-colum-name,.navbar .nav-left,.navbar .nav-right,.open.wizard-create-project,.policy-table .policy-table-row,.profile-contact-single .profile-contact-data h1,.profile-timeline .activity-item .activity-info,.project-list-wrapper .project-list-title,.related-tasks-body .avatar,.related-tasks-body .row,.related-tasks-header,.search-result-table .avatar,.search-result-table .row,.table-team .avatar,.user-profile form .avatar-container .overlay,.watching .duty-single>a,.wiki-summary,.working-on .duty-single>a{-webkit-box-align:center;-webkit-align-items:center}.lightbox-generic-form .settings fieldset{-webkit-flex-basis:30%;-ms-flex-preferred-size:30%;flex-basis:30%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-right:.5rem;text-align:center}.lightbox-generic-bulk form,.lightbox-search form{flex-basis:600px;-webkit-box-flex:0;-webkit-flex-grow:0;-webkit-flex-basis:600px;-ms-flex-preferred-size:600px}.lightbox-generic-form .settings fieldset:last-child{margin:0}.lightbox-add-member .button,.lightbox-add-member .extra-text{margin-top:1rem}.lightbox-generic-form .settings .iocaine:hover,.lightbox-generic-form .settings .requirement:hover{background:#9dce0a;border:1px solid #72a114;color:#fff;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.lightbox-generic-form .settings .blocked{padding:8px 30px}.lightbox-generic-form .settings .blocked:hover{background:#ff8282;border:1px solid red;color:#fff;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.lightbox-generic-form .settings .client-requirement input:checked+label,.lightbox-generic-form .settings .iocaine-flag input:checked+label,.lightbox-generic-form .settings .team-requirement input:checked+label{background:#72a114;border:1px solid #72a114;color:#fff}.lightbox-generic-form .settings .blocking-flag input:checked+label{background:red;border:1px solid red;color:#fff}.issues-table .pop-status a:last-child,.profile-timeline .single-attachment,.related-tasks-body .pop-status a:last-child,.related-tasks-body .row:last-child,.search-result-table .empty .title,.table-team .popover a:last-child,.watching .duty-single:last-child,.working-on .duty-single:last-child{border:0}.lightbox-generic-form .settings input{display:none}.lightbox-generic-bulk form{-ms-flex-positive:0;flex-grow:0;max-width:600px}.lightbox-generic-bulk textarea{margin-bottom:1rem;max-height:12rem;min-height:15rem}.lightbox-block textarea,.lightbox-create-issue textarea{margin-bottom:1rem;max-height:12rem;min-height:8rem}.lightbox-search form{-ms-flex-positive:0;flex-grow:0;max-width:600px}.lightbox-search input{margin-bottom:1rem}.lightbox-add-member .add-member-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:.5rem}.lightbox-add-member .add-member-wrapper:last-child,.lightbox-add-member input,.lightbox-add-member select{margin-bottom:0}.lightbox-add-member .add-member-wrapper fieldset:first-child{-webkit-flex-basis:400px;-ms-flex-preferred-size:400px;flex-basis:400px;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.lightbox-add-member .add-member-wrapper fieldset:last-child{-webkit-flex-basis:200px;-ms-flex-preferred-size:200px;flex-basis:200px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-left:.5rem}.lightbox-add-member select{width:80%}.lightbox-add-member .icon{margin-left:.5rem}.lightbox-add-member .icon-delete:hover{color:red}.lightbox-add-member .help-text{padding:.5rem 1rem}.lightbox-add-member .checksley-error-list{right:.5rem}.lightbox-add-member .checksley-error-list li{display:none}.lightbox-add-member .checksley-error-list li:first-child{display:block}.lightbox-sprint-add-edit form{-webkit-flex-basis:600px;-ms-flex-preferred-size:600px;flex-basis:600px;-webkit-flex-flow:0;-ms-flex-flow:0;flex-flow:0;max-width:600px}.lightbox-delete-account form,.lightbox-delete-project form,.lightbox-generic-ask form{-webkit-flex-basis:420px;-ms-flex-preferred-size:420px}.lightbox-sprint-add-edit .last-sprint-name{color:#555;opacity:1;position:absolute;right:1rem;top:.7rem;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.lightbox-sprint-add-edit .last-sprint-name.disappear{opacity:0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.lightbox-sprint-add-edit .dates{margin-bottom:1rem}.lightbox-sprint-add-edit .dates div{float:left;margin-right:1%;position:relative;width:49%}.lightbox-sprint-add-edit .dates div:last-child{margin:0;width:50%}.lightbox-ask-choice .options a:first-child,.lightbox-delete-account .newsletter input,.lightbox-delete-account .options a:first-child,.lightbox-delete-project .options a:first-child,.lightbox-generic-ask .options a:first-child{margin-right:.5rem}.lightbox-sprint-add-edit .delete-sprint{color:#444;display:block;margin-top:1rem;text-align:right}.lightbox-sprint-add-edit .delete-sprint a{color:#b8b8b8;margin-left:.5rem;-webkit-transition:color .3s linear;transition:color .3s linear}.lightbox-sprint-add-edit .delete-sprint a:hover{color:red;-webkit-transition:color .3s linear;transition:color .3s linear}.lightbox-generic-ask form{flex-basis:420px;-webkit-flex-flow:0;-ms-flex-flow:0;flex-flow:0;max-width:420px}.lightbox-generic-ask .message,.lightbox-generic-ask .subtitle{display:block;line-height:2rem;text-align:center}.lightbox-generic-ask .options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.lightbox-generic-ask .options a{padding:8px 0;text-align:center;width:100%}.lightbox-ask-choice{text-align:center}.lightbox-ask-choice form{-webkit-flex-basis:420px;-ms-flex-preferred-size:420px;flex-basis:420px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.lightbox-ask-choice .question,.lightbox-ask-choice .subtitle{display:block;line-height:1.5rem;text-align:center}.lightbox-ask-choice .replacement,.lightbox-ask-choice .replacement span{display:block}.lightbox-ask-choice .options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.lightbox-ask-choice .options a{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:8px 0;text-align:center}.lightbox-delete-account form{flex-basis:420px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;width:420px}.lightbox-delete-account .question,.lightbox-delete-account .subtitle{display:block;line-height:2rem;text-align:center}.lightbox-delete-account .newsletter{margin-top:1rem;text-align:center}.lightbox-delete-account .options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.lightbox-delete-account .options a{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:8px 0;text-align:center}.lightbox-delete-project form{flex-basis:420px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;width:420px}.lightbox-delete-project .question,.lightbox-delete-project .subtitle{display:block;line-height:2rem;text-align:center}.lightbox-delete-project .options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.lightbox-delete-project .options a{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:8px 0;text-align:center}.lightbox-generic-error section,.lightbox-generic-loading section,.lightbox-generic-success section{-webkit-flex-basis:500px;-ms-flex-preferred-size:500px;flex-basis:500px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:500px}.lightbox-generic-error h2,.lightbox-generic-loading h2,.lightbox-generic-success h2{line-height:2rem}.lightbox-generic-error p,.lightbox-generic-loading p,.lightbox-generic-success p{text-align:center}.lightbox-generic-loading .spin{margin:1rem auto;width:5rem}.lightbox-generic-loading .spin img{max-height:100%;max-width:100%;width:100%}.lightbox-generic-loading .progress-bar-wrapper{background:#e8e8e8;height:30px;margin-bottom:1rem;padding:3px;position:relative}.lightbox-generic-loading .progress-bar-wrapper .bar{background:#9dce0a;height:24px;position:absolute;-webkit-transition:width .1s linear;transition:width .1s linear}.lightbox-generic-loading .progress-bar-wrapper .progress{font-family:opensans-semibold,Arial,Helvetica,sans-serif;background:#e8e8e8;bottom:35px;color:#555;padding:.3rem;position:absolute;-webkit-transition:left .1s linear;transition:left .1s linear}.lightbox-select-user .watcher-single,.main-nav,.main-nav a{position:relative}.lightbox-create-issue form{-webkit-flex-basis:600px;-ms-flex-preferred-size:600px;flex-basis:600px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;width:600px}.lightbox-create-issue .fieldset-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.main-nav a,.main-nav span{display:block}.lightbox-create-issue .fieldset-row fieldset{-webkit-flex-basis:100px;-ms-flex-preferred-size:100px;flex-basis:100px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-right:.5rem;width:30%}.lightbox-block .form,.lightbox-select-user .form{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0}.lightbox-create-issue .fieldset-row fieldset:last-child{margin:0}.lightbox-block .form{-webkit-flex-basis:420px;-ms-flex-preferred-size:420px;flex-basis:420px;flex-grow:0;width:420px}.lightbox-select-user .form{-webkit-flex-basis:600px;-ms-flex-preferred-size:600px;flex-basis:600px;flex-grow:0;width:600px}.lightbox-select-user .watchers{margin-top:1rem;min-height:440px}.lightbox-select-user .watchers .watcher-name{-webkit-box-flex:12;-webkit-flex-grow:12;-ms-flex-positive:12;flex-grow:12}.lightbox-select-user .watcher-single.active,.lightbox-select-user .watcher-single:hover{background:#edfad4;cursor:pointer}.lightbox-select-user .watcher-single:hover{-webkit-transition:background .3s linear;transition:background .3s linear}.lightbox-select-user .watcher-single.active .icon{opacity:1;right:1rem;top:1.3rem}.lightbox-select-user .more-watchers{padding:.5rem;text-align:center}.lb-create-edit-userstory .points-per-role{margin-bottom:1rem}.lb-create-edit-userstory .points-per-role li{margin:.5rem .1rem}.main-nav .item{font-size:1.2rem}tg-project-menu{background-color:#879b89;background-image:url(../images/menu.png);background-position:0 -300px;min-height:calc(100vh - 40px);padding:1rem 0;text-transform:uppercase}.main-nav{padding:0;text-align:center}.main-nav a{color:#fff;padding:.75rem .8rem}.main-nav a:hover{background:rgba(0,0,0,.2);color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.main-nav a:hover .helper{-webkit-animation:slideLeft 200ms ease-in-out both;animation:slideLeft 200ms ease-in-out both;background:-webkit-linear-gradient(left,#000 0,rgba(0,0,0,.8)100%);background:linear-gradient(to right,#000 0,rgba(0,0,0,.8)100%);color:#fff;display:block;left:50px;opacity:1;padding:.4rem 1rem;position:absolute;top:calc(50% - 1rem);-webkit-transition:all .2s;transition:all .2s;white-space:nowrap;z-index:99}.main-nav a:hover .helper:after{background:#050505;height:12px;left:calc(-12px/2);position:absolute;top:calc(50% - 12px/2);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:12px;z-index:98}.main-nav svg path{fill:#fff;opacity:1}.main-nav .helper{display:none}.main-nav .icon{font-size:1.5rem;line-height:2.2rem}.main-nav .active{background:rgba(0,0,0,.2);color:#9dce0a}.main-nav .active svg path{fill:#9dce0a;opacity:1}@-webkit-keyframes slideLeft{0%{opacity:0}100%{opacity:1}}@keyframes slideLeft{0%{opacity:0}100%{opacity:1}}.projects-nav-overlay p{font-size:1rem}.projects-nav-overlay{background:url(/images/invitation_bg.jpg)center center no-repeat;background-size:cover}.projects-nav{background-color:#232323;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;height:100%;left:0;overflow:hidden;padding:2rem 1rem;position:fixed;top:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0);width:300px;z-index:99}.projects-nav form{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.projects-nav h1{color:#fff;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-align:center}.projects-nav input{background-color:#555;color:#f5f5f5}.projects-nav .icon-search{position:absolute;right:.7rem;top:.7rem}.projects-nav ul{left:0;margin-bottom:0;margin-top:1rem;position:relative;top:0;width:100%}.projects-nav .projects-pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;margin-top:1rem;min-height:1px}.projects-nav .create-project-button-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-top:1rem}.projects-nav .create-project-button-wrapper .create-project-button{-webkit-box-flex:8;-webkit-flex-grow:8;-ms-flex-positive:8;flex-grow:8;margin-right:.2rem;text-align:center}.projects-nav .create-project-button-wrapper .import-project-button,.wizard-create-project .create-step1 fieldset,.wizard-create-project .wizard-action a{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.projects-nav .create-project-button-wrapper .import-project-button{padding-left:.5rem;padding-right:.5rem;text-align:center}.projects-nav .create-project-button-wrapper .import-project-button .icon{color:#444;margin:0}.projects-nav .v-pagination-next,.projects-nav .v-pagination-previous{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.projects-list a{font-size:1.2rem;color:#f5f5f5;display:block;padding:1rem;position:relative;text-transform:uppercase;width:100%}.related-tasks-body .pop-status,.single-project .description{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.projects-list a.active,.projects-list a:hover{background-color:#555;color:#72a114;-webkit-transition:background-color .3s linear;transition:background-color .3s linear}.projects-list a.active .icon,.projects-list a:hover .icon{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.projects-list a .project-name{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-list .icon{color:#f5f5f5;opacity:0;position:absolute;right:1rem;top:1rem}.projects-list li{border-bottom:2px solid #555}.projects-nav-overlay{bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;width:100%;z-index:99900}.projects-nav-overlay .container{left:-200px;margin:15% auto 0;opacity:0;position:relative;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:150px}.projects-nav-overlay p{color:#9dce0a;padding-top:20px;text-align:center}.related-tasks-body .pop-status,.related-tasks-body .pop-status a,.related-tasks-body .row{font-size:.9rem}.related-tasks-body .task-name input,.related-tasks-header .related-tasks-title{font-size:1rem}.related-tasks-body .iocaine .icon-iocaine,.related-tasks-body .iocaine:hover .icon-iocaine,.related-tasks-body .task-settings a,.related-tasks-header .icon{font-size:1.2rem}.issues-table .pop-status,.issues-table .pop-status a,.issues-table .table-main,.wizard-create-project p{font-size:.9rem}.related-tasks-header .related-tasks-title{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.related-tasks{margin-bottom:2rem;position:relative}.related-tasks-header{-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between;-ms-flex-align:center;align-items:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;padding:.5rem 1rem}.create-project,.open.wizard-create-project,.related-tasks-body .row{-webkit-justify-content:center;-ms-flex-pack:center;-ms-flex-line-pack:center;-webkit-box-pack:center}.create-project,.home-wrapper .title-bar,.open.wizard-create-project,.related-tasks-body .row,.search-result-table .row,.single-project .title,.table-team .member-stats{-webkit-align-content:center}.related-tasks-header .icon{color:#444;cursor:pointer}.related-tasks-header .icon:hover{color:#72a114;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.related-tasks-body{width:100%}.related-tasks-body .row{align-content:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:center;padding:.5rem 0 .5rem .5rem;position:relative;text-align:left;width:100%}.related-tasks-body .row:hover{background:0 0}.related-tasks-body .row:hover .task-settings{opacity:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.related-tasks-body .row .tasks{overflow:hidden;width:100%}.related-tasks-body .row .status{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100px}.related-tasks-body .row .assigned-to{cursor:pointer;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:150px}.related-tasks-body .related-task-create-form{padding:0}.related-tasks-body .related-task-create-form.active{padding:.5rem 0 .5rem .5rem}.related-tasks-body .status{position:relative;text-align:left}.related-tasks-body .status:hover .icon{opacity:1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.related-tasks-body .status .not-clickable:hover{color:#444}.related-tasks-body .status .popover a{text-align:left;width:100%}.related-tasks-body .status .popover .point{text-align:center}.related-tasks-body .status .icon{color:#b8b8b8;margin-left:.2rem;opacity:0}.related-tasks-body .pop-status{background:#050505;color:#fff;display:none;left:40%;list-style-type:none;margin:0;padding:10px 1rem 10px 10px;position:absolute;top:0;width:200px;z-index:99}.related-tasks-body .pop-status a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.related-tasks-body .pop-status a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.related-tasks-body .blocked .icon,.related-tasks-body .blocked .icon:hover,.related-tasks-body .blocked a,.related-tasks-body .blocked a:hover,.related-tasks-body .blocked:hover .icon,.related-tasks-body .blocked:hover .icon:hover,.related-tasks-body .blocked:hover a,.related-tasks-body .blocked:hover a:hover,.related-tasks-body .pop-status a:hover.point{color:#fff}.related-tasks-body .pop-status:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.related-tasks-body .pop-status.fix{bottom:0;top:auto}.related-tasks-body .task-name{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.related-tasks-body .task-name a{display:inline-block;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-tasks-body .task-name input{margin-right:1rem;padding:3px;width:85%}.related-tasks-body .task-name.loading{margin:0;padding:8px;text-align:center;width:100%}.related-tasks-body .task-name.loading span{-webkit-animation:loading .5s linear,spin 1s linear infinite;animation:loading .5s linear,spin 1s linear infinite}.wizard-create-project .wizard-step,.wizard-create-project .wizard-step.active{animation:formSlide .4s ease-in-out;-webkit-animation:formSlide .4s ease-in-out}.related-tasks-body .blocked,.related-tasks-body .blocked:hover{background:#ff8282;color:#fff}.related-tasks-body .icon-iocaine{display:none}.related-tasks-body .iocaine,.related-tasks-body .iocaine:hover{background:rgba(157,206,10,.3)}.related-tasks-body .iocaine .icon-iocaine,.related-tasks-body .iocaine:hover .icon-iocaine{display:inline-block;margin-right:.5rem;vertical-align:top}.filters h1,.filters h1 a{vertical-align:baseline}.related-tasks-body .task-settings{margin:0 0 0 2rem;opacity:0;position:absolute;right:0;top:0;width:10%}.wizard-create-project .create-step1 fieldset:first-child,.wizard-create-project .wizard-action a:first-child{margin-right:.5rem}.related-tasks-body .task-settings a{color:#b8b8b8;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.related-tasks-body .task-settings a:hover{color:#444;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}.related-tasks-body .assigned-to{position:relative;text-align:left}.related-tasks-body .task-assignedto{position:relative}.related-tasks-body .task-assignedto.editable{cursor:pointer}.related-tasks-body .task-assignedto:hover .icon{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.related-tasks-body .task-assignedto figcaption{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-tasks-body .task-assignedto .icon{opacity:0;position:absolute;right:.5rem;top:.5rem;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.close.wizard-create-project,.open.wizard-create-project{-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.related-tasks-body .avatar{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.related-tasks-body .avatar img{-webkit-flex-basis:35px;-ms-flex-preferred-size:35px;flex-basis:35px;height:35px;width:35px}.related-tasks-body .avatar figcaption{margin-left:.5rem}.wizard-create-project .close{font-size:1.2rem}.wizard-create-project{bottom:0;display:none;left:0;opacity:0;position:fixed;right:0;top:0;z-index:99910;background:url(/images/invitation_bg.jpg)center center no-repeat;background-size:cover;color:#fff;text-align:center}.open.wizard-create-project{align-content:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:center;opacity:1}.close.wizard-create-project{opacity:0}.wizard-create-project input,.wizard-create-project select,.wizard-create-project textarea{margin-bottom:1rem;background:rgba(255,255,255,.7)}.wizard-create-project .button-gray,.wizard-create-project .button-green{display:block;padding:12px;text-align:center}.wizard-create-project form{width:500px}.wizard-create-project .title{text-align:center;width:100%}.wizard-create-project h1,.wizard-create-project p{color:#fff}.wizard-create-project h1{line-height:1.5rem}.wizard-create-project p{opacity:.8}.wizard-create-project input::-webkit-input-placeholder,.wizard-create-project select::-webkit-input-placeholder,.wizard-create-project textarea::-webkit-input-placeholder{color:#444}.wizard-create-project input::-moz-placeholder,.wizard-create-project select::-moz-placeholder,.wizard-create-project textarea::-moz-placeholder{color:#444}.wizard-create-project input:-moz-placeholder,.wizard-create-project select:-moz-placeholder,.wizard-create-project textarea:-moz-placeholder{color:#444}.wizard-create-project input:-ms-input-placeholder,.wizard-create-project select:-ms-input-placeholder,.wizard-create-project textarea:-ms-input-placeholder{color:#444}.wizard-create-project .close{position:absolute;right:2rem;top:2rem;color:#fff}.wizard-create-project .close:hover{color:#ff8282}.wizard-create-project .wizard-step{-webkit-animation-direction:alternate-reverse;animation-direction:alternate-reverse;display:none}.filters-inner .loading .loading-spinner,.profile .timeline-wrapper .spin img,.profile-timeline .spin img,.user-profile form .avatar-container .loading-spinner{-webkit-animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate;animation:rotate 1.5s cubic-bezier(0,.05,.87,1.04)infinite alternate}.wizard-create-project .wizard-step.active.create-step1,.wizard-create-project .wizard-step.active.create-step2,.wizard-create-project .wizard-step.active.create-step3{display:block}.wizard-create-project .wizard-action div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.wizard-create-project .wizard-action a{color:#fff;display:inline-block;-webkit-flex-basis:40%;-ms-flex-preferred-size:40%;flex-basis:40%}.wizard-create-project .create-step1 .template-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.wizard-create-project .create-step1 input{display:none}.wizard-create-project .create-step1 input:checked+label{background:rgba(157,206,10,.7);-webkit-transition:background .3s ease-in;transition:background .3s ease-in}.wizard-create-project .create-step1 input+label{background:rgba(245,245,245,.7);cursor:pointer;display:block;margin-bottom:1rem;padding:1rem;text-align:center;-webkit-transition:background .3s ease-in;transition:background .3s ease-in}.wizard-create-project .create-step1 input+label:hover{background:rgba(114,161,20,.7);-webkit-transition:background .3s ease-in;transition:background .3s ease-in}.wizard-create-project .create-step1 input+label .icon{font-size:3rem;color:#fff}.wizard-create-project .create-step1 h2{color:#fff;margin:.5rem 0 0;text-transform:uppercase}.wizard-create-project .create-step1 p{text-align:center}.wizard-create-project .progress-bar{bottom:0;height:.5rem;left:0;position:absolute;width:100%}.wizard-create-project .step1 .bar{-webkit-transition:width .6s ease-in-out;transition:width .6s ease-in-out;width:25%}.wizard-create-project .step1 .progress-state span:nth-child(1){color:#fff;-webkit-transition:color .3s ease-in-out;transition:color .3s ease-in-out;-webkit-transition-delay:.6s;transition-delay:.6s}.wizard-create-project .step2 .bar{-webkit-transition:width .6s ease-in-out;transition:width .6s ease-in-out;width:75%}.wizard-create-project .step2 .progress-state span:nth-child(1),.wizard-create-project .step2 .progress-state span:nth-child(2){color:#fff;-webkit-transition:color .3s ease-in-out;transition:color .3s ease-in-out;-webkit-transition-delay:.6s;transition-delay:.6s}.wizard-create-project .progress-state{position:absolute;width:100%}.wizard-create-project .progress-state span{color:rgba(255,255,255,.5);display:inline-block;margin-left:-100px;position:absolute;text-align:center;top:-2rem;-webkit-transition:all 1s ease-in;transition:all 1s ease-in;width:200px}.wizard-create-project .progress-state span:nth-child(1){left:25%}.wizard-create-project .progress-state span:nth-child(2){left:75%}.wizard-create-project .progress-bar-wrapper{background:rgba(255,255,255,.3);height:.5rem}.wizard-create-project .bar{background:rgba(157,206,10,.9);height:.5rem;left:0;position:absolute;top:0;width:0}.create-project .tagline{font-size:2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;color:#fff;line-height:2rem;text-transform:uppercase}.create-project{background:url(/images/bg.png)center center no-repeat;background-size:cover;align-content:center;-ms-flex-align:center;align-items:center;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999}.list-filters,.table-team .member-stats{-webkit-box-pack:end;-webkit-justify-content:flex-end}.create-project fieldset{margin-bottom:1rem}.create-project .create-project-container{-webkit-flex-basis:400px;-ms-flex-preferred-size:400px;flex-basis:400px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.create-project h1{color:#fff;text-align:center}.create-project .logo,.create-project .tagline{margin-bottom:1rem;text-align:center}.create-project form{margin-bottom:2rem}.create-project input{background:#fff}.create-project input::-webkit-input-placeholder{color:#b8b8b8}.create-project input::-moz-placeholder{color:#b8b8b8}.create-project input:-moz-placeholder{color:#b8b8b8}.create-project input:-ms-input-placeholder{color:#b8b8b8}.create-project .button{color:#fff;display:block;margin-bottom:.5rem;text-align:center}.create-project .button:hover{background:#9dce0a}.create-project a:hover{color:#fff}.filters h2 .icon-arrow-right{font-size:1rem}.filters-inner .loading .loading-spinner{margin:0 auto;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32;max-height:1rem;max-width:1rem}.filters h1 .icon{margin:0}.filters h2 .icon-arrow-right,.single-project h1{vertical-align:middle}.filters h2{font-size:1.2rem;margin-top:1rem}.filters input{background:#444;color:#fff}.filters input::-webkit-input-placeholder{color:#b8b8b8}.filters input::-moz-placeholder{color:#b8b8b8}.filters input:-moz-placeholder{color:#b8b8b8}.filters input:-ms-input-placeholder{color:#b8b8b8}.filters .icon-search{color:#b8b8b8;position:absolute;right:.7rem;top:.7rem}.filters-inner{opacity:0;-webkit-transition:all .1s ease-in;transition:all .1s ease-in}.filters-cats a,.filters-cats a:hover{-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.filters-inner .loading{margin:0;padding:8px;text-align:center;width:100%}.list-filters,.single-project .single-project-intro{margin-bottom:2rem}.filters-applied{margin-top:.5rem}.filters-step-cat .save-filters{color:#fff;display:block;text-align:center}.filters-step-cat .my-filter-name{background:#444;color:#f5f5f5;width:100%}.filters-step-cat .my-filter-name::-webkit-input-placeholder{color:#b8b8b8}.filters-step-cat .my-filter-name::-moz-placeholder{color:#b8b8b8}.filters-step-cat .my-filter-name:-moz-placeholder{color:#b8b8b8}.filters-step-cat .my-filter-name:-ms-input-placeholder{color:#b8b8b8}.filters-cats{margin-top:2rem}.filters-cats li{border-bottom:1px solid #b8b8b8;text-transform:uppercase}.filters-cats .custom-filters .title{color:#72a114}.filters-cats a{color:#444;display:block;padding:.5rem 0 .5rem .5rem}.filters-cats a:hover{color:#72a114}.filters-cats .icon,.filters-cats a:hover .icon{-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.filters-cats a:hover .icon{opacity:1}.filters-cats .icon{color:#444;float:right;opacity:0}.issues-table .row-selected,.issues-table .row:hover{transition:background .2s ease-in;background:#f6fceb;-webkit-transition:background .2s ease-in}.list-filters{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background-color:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;padding:.5rem 1rem}.list-filters .button-bulk{margin-left:.2rem}.lightbox-generic-notion section{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-basis:600px;-ms-flex-preferred-size:600px;flex-basis:600px}.single-project .description,.single-project .title{font-size:1rem}.single-project h1{line-height:1.2;margin:0}.single-project .private{font-size:1rem;vertical-align:super}.issues-table .subject span,.navbar img{vertical-align:middle}.single-project .project-data{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.single-project .title{font-family:opensans-semibold,Arial,Helvetica,sans-serif;-ms-flex-line-pack:center;align-content:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 1rem}.single-project .single-project-tags{margin-bottom:1rem;margin-top:1rem}.single-project .timeline{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-flex-shrink:3;-ms-flex-negative:3;flex-shrink:3;margin-right:1rem;max-width:800px;width:0}.single-project .involved-data{-webkit-flex-basis:220px;-ms-flex-preferred-size:220px;flex-basis:220px;width:220px}.single-project .involved-organization,.single-project .involved-team{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1rem}.single-project .involved-organization a,.single-project .involved-team a{display:block;margin-right:.14rem;width:24%}.single-project .involved-organization a:nth-child(4n),.single-project .involved-team a:nth-child(4n){margin-right:0}.single-project .involved-organization img,.single-project .involved-team img{border-radius:.2rem;width:100%}.issues-table .avatar img,.search-result-table .avatar img{width:35px}.issues-table .pop-status{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.issues-table .title{font-size:1rem;font-family:opensans-semibold,Arial,Helvetica,sans-serif;border-bottom:1px solid #b8b8b8}.issues-table{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:2rem}.issues-table.empty{display:none}.issues-table .row .icon{display:inline}.issues-table .title:hover{background:0 0}.issues-table .title div{cursor:pointer}.issues-table .table-main{border-bottom:1px solid #ebebeb}.issues-table .avatar{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.issues-table .avatar figcaption{-webkit-flex-basis:60%;-ms-flex-preferred-size:60%;flex-basis:60%;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-left:.5rem}.issues-table .level-field{-webkit-flex-basis:75px;-ms-flex-preferred-size:75px;flex-basis:75px;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;text-align:center;width:75px}.issues-table .subject{overflow:hidden;padding-right:1rem;width:100%}.issues-table .subject a{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.issues-table .subject span:first-child{margin-right:.5rem}.issues-table .assigned-field,.issues-table .created-field,.issues-table .issue-field{-webkit-flex-basis:140px;-ms-flex-preferred-size:140px;flex-basis:140px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;padding:0 1rem;position:relative;text-align:left}.issues-table .assigned-field{-webkit-box-flex:0;-webkit-flex:0 0 160px;-ms-flex:0 0 160px;flex:0 0 160px;max-width:160px}.kanban-table-body .task-column,.kanban-table-header .task-colum-name{-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-webkit-flex-basis:300px;-ms-flex-preferred-size:300px;flex-basis:300px}.issues-table .issue-assignedto{cursor:pointer;position:relative}.issues-table .issue-assignedto:hover .icon{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.issues-table .issue-assignedto figcaption{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issues-table .issue-assignedto .icon{opacity:0;position:absolute;right:0;top:.5rem;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.issues-table .pop-status{background:#050505;color:#fff;display:none;left:0;list-style-type:none;margin:0;padding:10px;position:absolute;top:20px;width:200px;z-index:99}.issues-table .pop-status a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.issues-table .pop-status a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.issues-table .pop-status a:hover.point{color:#fff}.issues-table .pop-status:after{background:#050505;height:15px;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:0}.issues-table .pop-status.fix{bottom:0;top:auto}@media (max-width:1200px){.issues-table .created-field,.issues-table .level-field{display:none}}@media (max-width:767px){.issues-table .assigned-field,.issues-table .created-field,.issues-table .level-field{display:none}}.kanban-table-body .task-column .kanban-column-intro{font-size:.9rem}.kanban-table-body,.kanban-table-header .task-colum-name .icon{font-size:1rem}.kanban-table{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%;overflow:hidden;width:100%}.kanban-table .vfold.task-colum-name{-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;opacity:.8;padding:.5rem 0;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.kanban-table-header .task-colum-name,.search-result-table .row{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify}.kanban-table .vfold .kanban-column-intro,.kanban-table .vfold .kanban-task,.kanban-table .vfold.task-colum-name .icon-bulk,.kanban-table .vfold.task-colum-name .icon-closed-eye,.kanban-table .vfold.task-colum-name .icon-open-eye,.kanban-table .vfold.task-colum-name .icon-plus,.kanban-table .vfold.task-colum-name .icon-vfold,.kanban-table .vfold.task-colum-name .icon-vunfold,.kanban-table .vfold.task-colum-name span{display:none}.kanban-table .vfold.task-colum-name .hunfold{margin:0}.kanban-table .vfold.task-colum-name,.kanban-table .vfold.task-column{-webkit-flex-flow:1;-ms-flex-flow:1;flex-flow:1;max-width:30px;min-height:2.5rem;min-width:30px;width:30px}.kanban-table .readonly{cursor:auto}.kanban-table-header{margin-bottom:.5rem;min-height:40px;position:relative;width:100%}.kanban-table-header .kanban-table-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:absolute}.kanban-table-header .task-colum-name{font-size:1.2rem;background:#f5f5f5;border-top:3px solid #b8b8b8;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-negative:0;flex-shrink:0;justify-content:space-between;margin:0 10px 0 0;max-width:300px;padding:.5rem .5rem .5rem 1rem;position:relative;text-transform:uppercase}.kanban-table-header .task-colum-name:last-child{margin-right:0}.kanban-table-header .task-colum-name .icon{color:#b8b8b8;margin-right:.3rem;-webkit-transition:color .2s linear;transition:color .2s linear}.kanban-table-header .task-colum-name .icon:hover{color:#72a114}.kanban-table-header .task-colum-name .icon.hfold,.kanban-table-header .task-colum-name .icon.hunfold{display:inline-block;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.kanban-table-body{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;overflow:hidden;overflow-x:auto;width:100%}.kanban-table-body .task-column{-webkit-box-flex:0;-ms-flex-negative:0;flex-shrink:0;margin:0 10px 0 0;max-width:300px;overflow-y:auto;widows:300px}.kanban-table-body .task-column:last-child{margin-right:0}.kanban-table-body .task-column .kanban-column-intro{font-family:opensans-semibold,Arial,Helvetica,sans-serif;color:#b8b8b8;margin:1rem 2rem}.kanban-table-body .task-column .kanban-column-intro.active{color:#050505}.kanban-table-body .task-column .kanban-wip-limit{background:red;border-radius:2px;height:4px;margin:.5rem 0;padding:0}.kanban-table-body .kanban-uses-box{background:#f5f5f5}.kanban-table-inner{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.search-filter a{font-size:1.2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;opacity:.2}.search-filter ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-bottom:.5rem}.search-filter li{margin-right:1rem}.search-filter .active,.search-filter a:hover{color:#555;opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.search-result-table .row-selected,.search-result-table .row:hover{background:#f6fceb;-webkit-transition:background .2s ease-in;transition:background .2s ease-in}.search-filter .icon{margin-right:.4rem}.search-filter .name{padding-left:5px}.search-in input{background:#444;color:#fff}.search-in input::-webkit-input-placeholder{color:#b8b8b8}.search-in input::-moz-placeholder{color:#b8b8b8}.search-in input:-moz-placeholder{color:#b8b8b8}.search-in input:-ms-input-placeholder{color:#b8b8b8}.search-in .icon-search{color:#b8b8b8;position:absolute;right:.7rem;top:.7rem}.search-result-table .table-main{font-size:.9rem}.search-result-table .title,.search-result-table .user-story-name .icon{font-size:1rem}.search-result-table .title{font-family:opensans-semibold,Arial,Helvetica,sans-serif;border-bottom:1px solid #b8b8b8}.search-result-table .row{-ms-flex-line-pack:center;align-content:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between;padding:.5rem}.search-result-table .row .ref{-webkit-flex-basis:30px;-ms-flex-preferred-size:30px;flex-basis:30px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:0 1rem}.search-result-table .row .user-stories{-webkit-flex-basis:300px;-ms-flex-preferred-size:300px;flex-basis:300px;-webkit-box-flex:10;-webkit-flex-grow:10;-ms-flex-positive:10;flex-grow:10;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1}.search-result-table .row .assigned-to,.search-result-table .row .points,.search-result-table .row .status{-webkit-flex-basis:150px;-ms-flex-preferred-size:150px;flex-basis:150px;-webkit-box-flex:0;-webkit-flex-grow:0}.search-result-table .row .points,.search-result-table .row .status{-ms-flex-positive:0;flex-grow:0;padding:0 1rem;text-align:center}.search-result-table .row .assigned-to{-ms-flex-positive:0;flex-grow:0;padding:0 1rem}.search-result-table .user-story-name span{display:inline-block;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-table .user-story-name .icon{color:#b8b8b8}.search-result-table .user-story-name .icon:hover{color:#444;-webkit-transition:color .3s linear;transition:color .3s linear}.search-result-table .title:hover{background:0 0}.search-result-table .table-main{border-bottom:1px solid #f5f5f5}.search-result-table .points,.search-result-table .status{position:relative}.search-result-table .avatar{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.search-result-table .avatar .avatar-caption{display:block;margin-left:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:80px}.team-filters nav li{font-size:1.6rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;border-bottom:1px solid #b8b8b8;text-transform:uppercase}.table-team .team-header,.team-filters nav li:last-child{border-bottom:0}.team-filters .search-in{margin-bottom:1rem;position:relative}.team-filters nav a{display:block;padding:1rem 0 1rem 1rem}.team-filters nav a.active,.team-filters nav a:hover{color:#72a114;-webkit-transition:color .3s linear;transition:color .3s linear}.team-filters nav .active,.team-filters nav a.active.icon{opacity:1;-webkit-transition:opacity .3s linear;transition:opacity .3s linear}.team-filters nav .icon{color:#050505;float:right;opacity:0}.table-team .leave-project,.table-team .popover,.table-team .popover a{font-size:.9rem}.table-team .attribute .points{font-size:1.6rem}.table-team .attribute,.table-team .attribute .points,.table-team .avatar .position,.table-team .popover{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.policy-table .policy-table-header,.table-team .avatar .name,.table-team .team-header{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.table-team .row{padding:.5rem}.table-team .username{-webkit-flex-basis:220px;-ms-flex-preferred-size:220px;flex-basis:220px;min-width:25%}.table-team .member-stats{-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:6;-webkit-flex:6;-ms-flex:6;flex:6;-ms-flex-pack:end;justify-content:flex-end}.table-team .attribute{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;text-align:center}.table-team .attribute .icon{color:#050505;font-size:1.8rem}.table-team .attribute .points{color:#444}.table-team .attribute .top{color:#9dce0a;opacity:1}.table-team .attribute:hover .popover{display:block}.table-team .leave-project{color:#b8b8b8;display:block}.table-team .leave-project .icon{margin-right:.2rem}.table-team .leave-project:hover .icon{color:red;-webkit-transition:color .3s linear;transition:color .3s linear}.table-team .hero{width:100%}.table-team .hero .row{background:#f5f5f5;border-bottom:0;margin:1rem 0}.table-team .avatar{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.table-team .avatar img{-webkit-flex-basis:66px;-ms-flex-preferred-size:66px;flex-basis:66px;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:66px}.table-team .avatar figcaption{margin-left:1rem;width:65%}.table-team .avatar figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.table-team .avatar .name,.table-team .avatar .position{display:block;width:100%}.table-team .avatar .position{color:#b8b8b8}.table-team .popover{background:#050505;bottom:30px;color:#fff;display:none;left:0;list-style-type:none;margin:0;padding:10px;position:absolute;width:100%;z-index:99}.table-team .popover a{border-bottom:1px solid #444;color:#fff;display:block;padding:10px 2px}.table-team .popover a:hover{color:#9dce0a;-webkit-transition:color .3s linear;transition:color .3s linear}.policy-table input:checked+label,.policy-table label:hover{-webkit-transition:background .3s linear;transition:background .3s linear}.table-team .popover a:hover.point{color:#fff}.table-team .popover:after{background:#050505;bottom:-5px;height:15px;left:50%;position:absolute;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:15px}.policy-table .policy-table-row{-ms-flex-align:center;align-items:center;border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.policy-table .policy-table-header{border-bottom:2px solid #b8b8b8}.user-change-password label,.user-profile label{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.policy-table .policy-table-all,.policy-table .policy-table-involved,.policy-table .policy-table-none,.policy-table .policy-table-project{padding:1rem}.policy-table .policy-table-project{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.policy-table .policy-table-all,.policy-table .policy-table-involved,.policy-table .policy-table-none{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.policy-table input{display:none}.policy-table input:checked+label{background:#72a114}.policy-table label{background:#b8b8b8;border-radius:5px;color:#fff;display:block;padding:.5rem}.policy-table label:hover{background:#9dce0a;cursor:pointer}.wiki-nav li .icon,.wiki-nav li:hover .icon{-webkit-transition:opacity 1s linear;transition:opacity 1s linear}.user-change-password fieldset{margin-bottom:1rem;width:50%}.user-change-password fieldset:last-child{margin-top:2rem}.user-change-password label{display:block;margin-bottom:.5rem}.user-change-password .button-green{color:#fff;display:block;padding:12px;text-align:center}.user-profile form .avatar-container p{font-size:.75rem}.user-profile .delete-account,.user-profile form .avatar-container .use-gravatar{font-size:.9rem}.user-profile form .avatar-container span{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.user-profile form .avatar-container .loading-spinner{margin:0 auto;max-height:1rem;max-width:1rem;border:0;min-height:3rem;min-width:3rem;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}.user-profile form{max-width:700px;width:100%}.user-profile form .container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.user-profile form .avatar-container{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin-right:1rem}.user-profile form .avatar-container .image-container{position:relative}.user-profile form .avatar-container .avatar{border-radius:8%;width:100%}.user-profile form .avatar-container .overlay{-ms-flex-align:center;align-items:center;background:rgba(5,5,5,.8);bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;left:0;position:absolute;right:0;top:0;width:100%}.user-profile form .avatar-container p{line-height:.8rem;margin-bottom:.3rem;text-align:center}.user-profile form .avatar-container .use-gravatar{cursor:pointer;display:inline-block;text-align:center;width:100%}.user-profile form .data{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:3;-webkit-flex-grow:3;-ms-flex-positive:3;flex-grow:3}.user-profile fieldset{margin-bottom:1rem}.user-profile .submit{margin-top:2rem}.user-profile label{display:block;margin-bottom:.5rem}.user-profile textarea{min-height:7rem}.user-profile .button-green{color:#fff;cursor:pointer;display:block;padding:12px;text-align:center}.user-profile .delete-account{display:block;margin-top:1rem}.wiki-nav li input{font-size:1rem}.wiki-nav li{font-size:1.2rem;font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif;border-bottom:1px solid #b8b8b8;text-transform:uppercase}.wiki-nav li:hover .icon{opacity:1}.wiki-nav li a{display:block;padding:1rem 0 1rem 1rem}.wiki-nav li a span{cursor:pointer}.wiki-nav li .icon{color:#050505;float:right;opacity:0}.wiki-nav li input{font-family:opensans-regular,Arial,Helvetica,sans-serif;background:#444;color:#f5f5f5}.home-wrapper .title-bar,.profile-bar .profile-stats .stat-name{font-family:OpenSans-CondLight,Arial,Helvetica,sans-serif}.wiki-nav li input::-webkit-input-placeholder{color:#b8b8b8}.wiki-nav li input::-moz-placeholder{color:#b8b8b8}.wiki-nav li input:-moz-placeholder{color:#b8b8b8}.wiki-nav li input:-ms-input-placeholder{color:#b8b8b8}.wiki-nav li .loading{margin:0;padding:8px;text-align:center;width:100%}.wiki-nav .add-button{color:#fff;display:block;margin-bottom:.5rem;text-align:center}.wiki-summary .username{font-size:1.2rem;color:#9dce0a;white-space:nowrap}.wiki-summary{-ms-flex-align:center;align-items:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar,.profile-bar .profile-stats,.profile-projects .project-list-single,.project-list-single,.project-list-single-right,.project-list-wrapper .project-list-title{justify-content:space-between;-webkit-box-pack:justify}.wiki-summary div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-right:1rem}.wiki-summary .number{line-height:2rem;top:0}.wiki-summary .wiki-user-modification{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar,.profile-bar .profile-stats,.profile-projects .project-list-single,.project-list-single,.project-list-single-right,.project-list-wrapper .project-list-title{-webkit-justify-content:space-between}.wiki-summary figure{margin-right:.3rem;width:32px}.watching .duty-project,.watching .duty-status,.watching .duty-type,.watching-empty p,.working-on .duty-project,.working-on .duty-status,.working-on .duty-type{font-size:.9rem}.watching,.working-on{margin-bottom:2rem}.watching .duty-single,.working-on .duty-single{border-bottom:1px solid #f5f5f5;cursor:pointer;padding:.5rem}.watching .duty-single.blocked,.working-on .duty-single.blocked{background:rgba(255,130,130,.2)}.watching .duty-single.blocked .duty-status,.watching .duty-single.blocked .duty-type,.working-on .duty-single.blocked .duty-status,.working-on .duty-single.blocked .duty-type{color:red}.watching .duty-single>a,.working-on .duty-single>a{-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.watching .avatar,.working-on .avatar{-webkit-flex-basis:47px;-ms-flex-preferred-size:47px;flex-basis:47px;height:47px;margin-right:.5rem;width:47px}.watching .duty-data,.working-on .duty-data{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:.5rem}.watching .duty-status,.watching .duty-type,.working-on .duty-status,.working-on .duty-type{color:#555;margin-right:.3rem}.watching .duty-title,.working-on .duty-title{display:block;margin-top:.25rem}.watching .duty-id,.working-on .duty-id{color:#b8b8b8;margin-right:.3rem}.watching .duty-project,.working-on .duty-project{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;color:#b8b8b8;margin-left:auto;text-align:right;width:120px}.projects-empty,.projects-empty svg,.watching-empty{text-align:center}.watching .see-more,.working-on .see-more{display:block;margin:2rem 30%}.watching-empty{padding:5vh}.watching-empty svg{margin:2rem auto;max-width:160px;text-align:center}.watching-empty svg path{fill:#f5f5f5}.home-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-top:2rem}.home-wrapper .duty-summary{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:2rem}.home-wrapper .project-list{width:250px}.home-wrapper .see-more-projects-btn{display:block}.home-wrapper .title-bar{font-size:1.6rem;-ms-flex-line-pack:center;align-content:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0 0 .5rem;padding:.9rem 1rem}.home-project-list p{font-size:.75rem}.profile .empty-tab p,.profile-bar .profile-stats .stat-name,.projects-empty p{font-size:.9rem}.home-project-list h2,.home-project-list p{font-family:opensans-regular,Arial,Helvetica,sans-serif}.home-project-list li{border:1px solid #dedede;border-radius:3px;cursor:pointer;margin-bottom:.75rem;padding:1rem;text-overflow:ellipsis}.home-project-list li:hover{border-color:#9dce0a;-webkit-transition:all .3s linear;transition:all .3s linear}.home-project-list li:hover p{color:#555;-webkit-transition:color .3s linear;transition:color .3s linear}.home-project-list li:hover .private path{fill:#555;-webkit-transition:fill .3s linear;transition:fill .3s linear}.home-project-list a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:5rem}.home-project-list h2{color:#555;font-size:1.5rem;line-height:1.3;margin-bottom:.5rem;text-transform:none}.home-project-list h2 .project-name{display:inline-block;max-width:90%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.home-project-list p{color:#b8b8b8;line-height:125%;margin:0;word-wrap:break-word}.projects-empty svg{height:100px;margin:1rem auto;width:100%}.projects-empty svg path{fill:#f5f5f5}.navbar .nav-left>a path,.navbar a.active svg path,.navbar a:hover svg path{fill:#fff}.projects-empty .create-project-button{display:block;margin-bottom:.25rem}.projects-empty .import-project-button{display:block}.navbar{background:rgba(0,0,0,.5);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:40px;-ms-flex-pack:justify;position:relative}.navbar:after{background:url(../images/menu-vert.png)top left;background-size:200%;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;z-index:-1}.navbar .nav-left,.navbar .nav-right{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.navbar .nav-left>a{padding:.5rem 1.5rem}.navbar .nav-left>a.logo{background:rgba(0,0,0,.2);padding:.4rem .75rem}.navbar .nav-left>a svg{height:1.6rem;max-width:2rem}.navbar .nav-right{margin-left:auto}.navbar .nav-right a{padding:.5rem 2rem}.navbar a{color:#fff;display:inline-block;-webkit-transition:all .2s linear;transition:all .2s linear}.navbar a.active,.navbar a:hover{background:rgba(0,0,0,.2);color:#9dce0a}.navbar a.user-avatar{min-width:200px;padding:0 0 0 2rem;text-align:right}.navbar a.user-avatar span{padding-right:1rem}.navbar img{height:2.5rem;padding-left:.5rem}.navbar svg{height:1.2rem;max-width:1.2rem}.navbar svg path{fill:#879b89;-webkit-transition:all .2s;transition:all .2s}.navbar .topnav-dropdown-wrapper{position:relative}.navbar .topnav-dropdown-wrapper:hover .navbar-dropdown{-webkit-animation:dropdownFade .2s cubic-bezier(.09,0,.99,.01)both;animation:dropdownFade .2s cubic-bezier(.09,0,.99,.01)both;display:block}.navbar .navbar-dropdown a{padding:.8rem .5rem}.navbar .navbar-dropdown{border-radius:2px;display:none;left:calc(50% - 350px/2);min-width:350px;position:absolute;top:2.4rem;z-index:99}.navbar-dropdown{background:#050505;border:1px solid #000;padding:.3rem}.navbar-dropdown.dropdown-user{left:calc(50% - 200px/2);min-width:200px}.navbar-dropdown.dropdown-user ul{margin-bottom:0}.navbar-dropdown ul{margin:0 0 .5rem;padding:0}.navbar-dropdown ul:after,.navbar-dropdown ul:before{bottom:100%;left:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.navbar-dropdown ul:after{border-color:rgba(5,5,5,0)rgba(5,5,5,0)#050505;border-width:8px;margin-left:-8px}.navbar-dropdown ul:before{border-color:rgba(5,5,5,0)rgba(5,5,5,0)#050505;border-width:calc(8px + 1px);margin-left:calc(-8px + 1px)}.navbar-dropdown a{color:#b8b8b8;display:block;padding:.8rem .5rem}.navbar-dropdown a:hover{background:rgba(255,255,255,.1);color:#9dce0a}.navbar-dropdown a.create-organization-btn,.navbar-dropdown a.create-project-btn,.navbar-dropdown a.see-more-projects-btn{color:#fff;text-align:center}.navbar-dropdown a.create-organization-btn:hover,.navbar-dropdown a.create-project-btn:hover,.navbar-dropdown a.see-more-projects-btn:hover{color:#fff}.navbar-dropdown a.see-more-projects-btn{margin-bottom:.3rem}.navbar-dropdown a.create-project-btn{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.navbar-dropdown a.import-project-button{padding-left:.75rem;padding-right:.75rem}.navbar-dropdown .create-options{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.profile-favorites,.project-list-single-left{flex-direction:column;-webkit-box-orient:vertical}.profile .timeline-wrapper .spin img{margin:0 auto;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32;max-height:3rem;max-width:3rem}.profile{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:calc(100vh - 40px);padding:2rem 0}.profile .profile-bar{margin-right:1rem;width:200px}.profile .main{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0}.profile .timeline-wrapper{background:#fff;margin-right:3.5rem;width:768px}.profile .timeline-wrapper>div{opacity:1;padding-top:0;position:relative;-webkit-transition:all .3s cubic-bezier(.09,.43,.35,.95);transition:all .3s cubic-bezier(.09,.43,.35,.95)}.profile .timeline-wrapper>div.ng-hide{opacity:0;padding-top:.5vh}.profile .timeline-wrapper .spin{margin:10% auto;width:3rem}.profile .profile-sidebar{-webkit-flex-basis:150px;-ms-flex-preferred-size:150px;flex-basis:150px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:150px}.profile .profile-sidebar .button-gray{display:block;margin-bottom:2rem;padding-left:2rem;padding-right:2rem}.profile .empty-tab{padding:5vh;text-align:center}.profile .empty-tab svg{margin:2rem auto;max-width:160px;text-align:center}.profile-bar .profile-edition,.profile-bar .profile-quote{font-size:1.2rem}.profile-bar h2{font-size:1.6rem}.profile-bar .profile-stats .stat-number,.profile-bar h1{font-size:2rem}.profile-bar .profile-edition,.profile-bar .profile-quote,.profile-bar h2{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.profile-bar .profile-organizations h3,.profile-bar .profile-stats .stat-number,.profile-bar h1{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.profile-bar .profile-image-wrapper{height:200px;margin-bottom:1rem;overflow:hidden;position:relative}.profile-bar .profile-image-wrapper.is-current-user:hover img{-webkit-filter:brightness(40%)saturate(150%)hue-rotate(60deg);filter:brightness(40%) saturate(150%) hue-rotate(60deg);-webkit-transition:all .2s cubic-bezier(.01,.7,1,1);transition:all .2s cubic-bezier(.01,.7,1,1)}.profile-bar .profile-image-wrapper.is-current-user:hover .profile-edition{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:all .2s cubic-bezier(.01,.7,1,1);transition:all .2s cubic-bezier(.01,.7,1,1);-webkit-transition-delay:.3s;transition-delay:.3s}.profile-bar .profile-img{max-width:100%;width:100%}.profile-bar .profile-edition{background:rgba(0,0,0,.4);bottom:0;color:#fff;left:0;opacity:0;overflow:hidden;padding:1rem;position:absolute;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);width:100%}.profile-bar .profile-edition:hover{background:rgba(0,0,0,.8);-webkit-transition:all .3s cubic-bezier(.01,.7,1,1);transition:all .3s cubic-bezier(.01,.7,1,1)}.profile-bar .flag:hover path,.profile-contact-filters a{-webkit-transition:all .2s linear;transition:all .2s linear}.profile-bar .button-green{display:block;margin-bottom:1rem}.profile-bar .profile-data{position:relative}.profile-bar .flag{position:absolute;right:0;top:0;width:12px}.profile-bar .flag path{fill:#b8b8b8;-webkit-transition:all .2s linear;transition:all .2s linear}.profile-bar .flag:hover path{fill:red}.profile-bar h1{line-height:1;margin-bottom:.5rem;text-transform:none}.profile-bar .not-full-name{word-wrap:break-word}.profile-bar h2{color:#555;line-height:1.2;margin-bottom:1rem}.profile-bar .location{color:#b8b8b8;margin-bottom:1rem}.profile-bar .location svg{position:relative;top:2px;width:.75rem}.profile-bar .location path{fill:#b8b8b8}.profile-bar .profile-stats{border-bottom:1px solid #f5f5f5;border-top:1px solid #f5f5f5;color:#555;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;margin-bottom:1.25rem;padding:1rem .5rem}.profile-bar .profile-stats .stat{padding:0 .2rem;text-align:center}.profile-bar .profile-stats .stat-number{display:block;line-height:1}.profile-bar .profile-stats .stat-name{display:block}.profile-bar .profile-organizations{border-bottom:1px solid #f5f5f5;border-top:1px solid #f5f5f5;margin-bottom:1rem;padding:1rem 0}.profile-bar .profile-organizations h3{margin-bottom:.5rem}.profile-bar .profile-organizations .profile-organizations-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.profile-bar .profile-organizations .organization{background:#b8b8b8;border-radius:5px;height:45px;margin-right:.2rem;width:45px}.profile-bar .profile-quote{background:url(/images/quote.png)top left no-repeat;line-height:1.4;padding:.5rem}.profile-contact-single .profile-contact-data h1 span{font-size:.9rem}.profile-contact-single .profile-contact-data .extra-info{font-family:OpenSans-Light,Arial,Helvetica,sans-serif}.profile-contact-single .profile-contact-data h1,.profile-contact-single .profile-contact-data h1 span{font-family:opensans-regular,Arial,Helvetica,sans-serif}.profile-contacts{border-top:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.profile-contact-filters{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.profile-contact-filters a{border-bottom:2px solid #fff;color:#b8b8b8;display:inline-block;padding:1rem 1.5rem}.profile-contact-filters a.active,.profile-contact-filters a:hover{border-bottom:2px solid #b8b8b8;color:#72a114}.profile-contact-single{border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.8rem 1rem}.profile-contact-single .profile-contact-picture{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-right:1rem;max-width:54px}.profile-contact-single .profile-contact-picture img{border-radius:.2rem;width:100%}.profile-contact-single .profile-contact-data{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.profile-favorites,.project-list-single-left{-webkit-flex-direction:column;-ms-flex-direction:column}.profile-contact-single .profile-contact-data h1{font-size:1.2rem;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;line-height:1.6;margin-bottom:0;text-transform:none}.profile-contact-single .profile-contact-data h1 span{background:#f5f5f5;color:#555;margin-left:1rem;padding:.1rem .3rem}.profile-contact-single .profile-contact-data p{color:#555;margin-bottom:0}.profile-contact-single .profile-contact-data .extra-info{color:#555}.profile-contact-single .profile-contact-data .position{margin-right:.3rem}.profile-contact-single .profile-project-stats{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;margin-left:auto;width:100px}.profile-contact-single .profile-project-stats div{color:#b8b8b8;margin-right:.5rem}.profile-contact-single .profile-project-stats div .icon{margin-right:.2rem;vertical-align:center}.profile-content-tabs{border-top:1px solid #f5f5f5;z-index:9}.profile-content-tabs .tab{color:#b8b8b8;display:inline-block;padding:1rem 1.25rem}.profile-content-tabs .tab.active,.profile-content-tabs .tab:hover{color:#444;-webkit-transition:color .2s linear;transition:color .2s linear}.profile-content-tabs .tab.active{background:#fff;border-left:1px solid #f5f5f5;border-right:1px solid #f5f5f5;position:relative;top:1px;-webkit-transition:color .2s linear;transition:color .2s linear}.profile-content-tabs .tab.active .icon{color:#72a114;-webkit-transition:color .2s linear;transition:color .2s linear}.profile-content-tabs .icon{margin-right:.4rem}.profile-favorites{border-top:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal}.profile-favorites .profile-favorites-filters{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.project-list-single-left .project-list-single-tags,.project-list-single-left .tag,.project-list-single-right .project-list-single-members,.project-list-single-right .project-list-single-stats{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end}.profile-favorites .profile-favorites-filters a{border-bottom:2px solid #fff;color:#b8b8b8;display:inline-block;padding:1rem 1.5rem;-webkit-transition:all .2s linear;transition:all .2s linear}.profile-favorites .profile-favorites-filters a.active,.profile-favorites .profile-favorites-filters a:hover{border-bottom:2px solid #b8b8b8;color:#72a114}.profile-sidebar h4{font-family:opensans-semibold,Arial,Helvetica,sans-serif;background:#f5f5f5;color:#555;margin-bottom:.5rem;padding:.5rem}.profile-timeline .single-attachment span,.project-list-single-left h1,.project-list-single-left p{font-family:opensans-regular,Arial,Helvetica,sans-serif}.profile-sidebar h4 .icon{color:#b8b8b8;margin-right:.3rem;vertical-align:text-bottom}.profile-sidebar p{font-size:.9rem;color:#b8b8b8}.profile-sidebar a{color:#72a114}.profile-sidebar .trans-button{margin-bottom:1rem}.project-list-single-left p{font-size:.75rem;color:#555;margin-bottom:0}.project-list-single{border-bottom:1px solid #f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;min-height:9rem;padding:1rem;position:relative}.project-list-single-left{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;padding-right:1rem}.project-list-single-left h1{font-size:1.6rem;color:#555;display:inline-block;margin-bottom:0;text-transform:none;vertical-align:middle;white-space:nowrap}.project-list-single-left .project-list-single-tags{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:3;-webkit-flex:3;-ms-flex:3;flex:3;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5rem}.project-list-single-left .tag{margin-right:.5rem;padding:.5rem}.project-list-single-right{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-pack:justify;width:200px}.project-list-single-right .project-list-single-stats{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.project-list-single-right .project-list-single-stats div{color:#b8b8b8;margin-right:.5rem}.project-list-single-right .project-list-single-stats div .icon{margin-right:.2rem;vertical-align:center}.project-list-single-right .project-list-single-stats .active .icon{color:#edd400}.project-list-single-right .project-list-single-members{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-wrap:wrap-reverse;-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse;margin-top:1rem}.project-list-single-right .project-list-single-members a{display:block}.project-list-single-right .project-list-single-members img{border-radius:.1rem;margin-right:.3rem;width:34px}.profile-projects{border-top:1px solid #f5f5f5}.profile-projects .project-list-single{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;min-height:10rem}.project-list-wrapper .help-area{font-size:.9rem;color:#b8b8b8;width:200px}.project-list-wrapper .drag{font-size:1.2rem}.project-list-wrapper{position:relative}.project-list-wrapper .project-list-title{-ms-flex-align:center;align-items:center;background:#f5f5f5;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;margin:2rem 0 1rem;padding:.9rem 1rem}.project-list-wrapper .project-list-title h1{font-size:1.6rem;margin:0}.project-list-wrapper .create-options a.create-project-btn{margin-right:.25rem;padding:.6rem 2.5rem}.project-list-wrapper .create-options a.import-project-button{padding:.53rem .8rem}.project-list-wrapper .create-options a.import-project-button:hover{background:#444}.project-list-wrapper .create-options a.import-project-button .icon-upload{margin:0}.project-list-wrapper .project-list-section{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.project-list-wrapper .project-list{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-right:2rem}.project-list-wrapper .placeholder{background-color:#fdfdfd;height:7rem;width:100%}.project-list-wrapper .project-list-single{background:#fff}.project-list-wrapper .project-list-single:hover{background:#f6fceb;cursor:move;-webkit-transition:background .3s;transition:background .3s}.project-list-wrapper .project-list-single:hover .drag{opacity:1}.project-list-wrapper .drag{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:#b8b8b8;opacity:0;-webkit-transition:opacity .2s;transition:opacity .2s}.profile-timeline .single-attachment span{font-size:1rem}.profile-timeline .activity-item a:first-child,.profile-timeline .activity-member-view a{font-family:opensans-semibold,Arial,Helvetica,sans-serif}.profile-timeline .spin img{margin:0 auto;-webkit-transform-origin:32 32;-ms-transform-origin:32 32;transform-origin:32 32}.profile-timeline .activity-item{border-bottom:1px solid #f5f5f5;padding:1rem .5rem;position:relative}.profile-timeline .activity-item p{margin-bottom:0}.profile-timeline .activity-item a{color:#72a114}.profile-timeline .activity-item a:first-child{color:#555}.profile-timeline .activity-item a:hover{color:#9dce0a}.profile-timeline .activity-item blockquote{line-height:1.4rem;margin-bottom:0;margin-left:calc(35px + 1rem);margin-top:.5rem;overflow-x:auto;overflow-y:hidden;white-space:pre-line}.profile-timeline .activity-item img{max-height:640px;max-width:640px;width:100%}.profile-timeline .activity-item .activity-info{-ms-flex-align:center;align-items:center;color:#b8b8b8;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:130px}.profile-timeline .activity-item .activity-date{color:#b8b8b8;font-size:.75rem;position:absolute;right:.5rem;top:1.2rem}.profile-timeline .activity-item .profile-contact-picture,.profile-timeline .activity-item .profile-member-picture{border-radius:.1rem;-webkit-flex-basis:2rem;-ms-flex-preferred-size:2rem;flex-basis:2rem;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;margin-right:1rem;vertical-align:center;width:2rem}.profile-timeline .activity-item .profile-contact-picture img,.profile-timeline .activity-item .profile-member-picture img{width:100%}.profile-timeline .activity-member-view{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:.5rem;margin-left:calc(35px + 1rem);margin-top:.5rem}.profile-timeline .activity-member-view .profile-member-picture{-webkit-flex-basis:3rem;-ms-flex-preferred-size:3rem;flex-basis:3rem;width:3rem}.profile-timeline .activity-member-view .activity-member-info{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.profile-timeline .activity-member-view p{color:#b8b8b8}.profile-timeline .single-attachment{padding:0}.profile-timeline .single-attachment span{display:inline-block;max-width:95%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.profile-timeline .single-attachment .icon{margin-right:.3rem}.profile-timeline .spin{margin:10% auto;width:3rem}.profile-timeline .spin img{max-height:3rem;max-width:3rem}:root .taskboard-table-body .task-row,_:-ms-fullscreen .task-row{min-height:auto} \ No newline at end of file