From 445c4fa2b1578d2393e15239647b7565edb9de82 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 5 May 2015 19:59:33 +0200 Subject: [PATCH] e269e79f100c3dcc90872e60d71857a35adc1fc2 --- dist/index.html | 6 +++--- dist/js/app-loader.js | 2 +- dist/js/app.js | 2 +- dist/js/app.js.map | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/dist/index.html b/dist/index.html index d3e5b84..3fa79f5 100644 --- a/dist/index.html +++ b/dist/index.html @@ -159,8 +159,8 @@

Loading...

- - - + + + \ No newline at end of file diff --git a/dist/js/app-loader.js b/dist/js/app-loader.js index d2c9abe..59f2285 100644 --- a/dist/js/app-loader.js +++ b/dist/js/app-loader.js @@ -1,7 +1,7 @@ (function() { var promise, version; - version = 1430819540810; + version = 1430848723268; window.taigaConfig = { "api": "http://localhost:8000/api/v1/", diff --git a/dist/js/app.js b/dist/js/app.js index b050220..6bb0e2d 100644 --- a/dist/js/app.js +++ b/dist/js/app.js @@ -1,4 +1,4 @@ -(function(){var configure,init,module,modules,taiga;this.taiga=taiga={},this.taigaContribPlugins=this.taigaContribPlugins||[],taiga.generateHash=function(components){return null==components&&(components=[]),components=_.map(components,function(x){return JSON.stringify(x)}),hex_sha1(components.join(":"))},taiga.generateUniqueSessionIdentifier=function(){var date,randomNumber;return date=(new Date).getTime(),randomNumber=Math.floor(150994944*Math.random()),taiga.generateHash([date,randomNumber])},taiga.sessionId=taiga.generateUniqueSessionIdentifier(),configure=function($routeProvider,$locationProvider,$httpProvider,$provide,$tgEventsProvider,tgLoaderProvider,$compileProvider){var authHttpIntercept,defaultHeaders,versionCheckHttpIntercept;return $routeProvider.when("/",{templateUrl:"project/projects.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/",{templateUrl:"project/project.html"}),$routeProvider.when("/project/:pslug/search",{templateUrl:"search/search.html",reloadOnSearch:!1}),$routeProvider.when("/project/:pslug/backlog",{templateUrl:"backlog/backlog.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/kanban",{templateUrl:"kanban/kanban.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/taskboard/:sslug",{templateUrl:"taskboard/taskboard.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/us/:usref",{templateUrl:"us/us-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/task/:taskref",{templateUrl:"task/task-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/wiki",{redirectTo:function(params){return"/project/"+params.pslug+"/wiki/home"}}),$routeProvider.when("/project/:pslug/wiki/:slug",{templateUrl:"wiki/wiki.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/team",{templateUrl:"team/team.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/issues",{templateUrl:"issue/issues.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/issue/:issueref",{templateUrl:"issue/issues-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/admin/project-profile/details",{templateUrl:"admin/admin-project-profile.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/default-values",{templateUrl:"admin/admin-project-default-values.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/modules",{templateUrl:"admin/admin-project-modules.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/export",{templateUrl:"admin/admin-project-export.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/reports",{templateUrl:"admin/admin-project-reports.html"}),$routeProvider.when("/project/:pslug/admin/project-values/status",{templateUrl:"admin/admin-project-values-status.html"}),$routeProvider.when("/project/:pslug/admin/project-values/points",{templateUrl:"admin/admin-project-values-points.html"}),$routeProvider.when("/project/:pslug/admin/project-values/priorities",{templateUrl:"admin/admin-project-values-priorities.html"}),$routeProvider.when("/project/:pslug/admin/project-values/severities",{templateUrl:"admin/admin-project-values-severities.html"}),$routeProvider.when("/project/:pslug/admin/project-values/types",{templateUrl:"admin/admin-project-values-types.html"}),$routeProvider.when("/project/:pslug/admin/project-values/custom-fields",{templateUrl:"admin/admin-project-values-custom-fields.html"}),$routeProvider.when("/project/:pslug/admin/memberships",{templateUrl:"admin/admin-memberships.html"}),$routeProvider.when("/project/:pslug/admin/roles",{templateUrl:"admin/admin-roles.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/webhooks",{templateUrl:"admin/admin-third-parties-webhooks.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/github",{templateUrl:"admin/admin-third-parties-github.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/gitlab",{templateUrl:"admin/admin-third-parties-gitlab.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/bitbucket",{templateUrl:"admin/admin-third-parties-bitbucket.html"}),$routeProvider.when("/project/:pslug/admin/contrib/:plugin",{templateUrl:"contrib/main.html"}),$routeProvider.when("/project/:pslug/user-settings/user-profile",{templateUrl:"user/user-profile.html"}),$routeProvider.when("/project/:pslug/user-settings/user-change-password",{templateUrl:"user/user-change-password.html"}),$routeProvider.when("/project/:pslug/user-settings/user-avatar",{templateUrl:"user/user-avatar.html"}),$routeProvider.when("/project/:pslug/user-settings/mail-notifications",{templateUrl:"user/mail-notifications.html"}),$routeProvider.when("/change-email/:email_token",{templateUrl:"user/change-email.html"}),$routeProvider.when("/cancel-account/:cancel_token",{templateUrl:"user/cancel-account.html"}),$routeProvider.when("/login",{templateUrl:"auth/login.html"}),$routeProvider.when("/register",{templateUrl:"auth/register.html"}),$routeProvider.when("/forgot-password",{templateUrl:"auth/forgot-password.html"}),$routeProvider.when("/change-password",{templateUrl:"auth/change-password-from-recovery.html"}),$routeProvider.when("/change-password/:token",{templateUrl:"auth/change-password-from-recovery.html"}),$routeProvider.when("/invitation/:token",{templateUrl:"auth/invitation.html"}),$routeProvider.when("/error",{templateUrl:"error/error.html"}),$routeProvider.when("/not-found",{templateUrl:"error/not-found.html"}),$routeProvider.when("/permission-denied",{templateUrl:"error/permission-denied.html"}),$routeProvider.otherwise({redirectTo:"/not-found"}),$locationProvider.html5Mode({enabled:!0,requireBase:!1}),defaultHeaders={"Content-Type":"application/json","Accept-Language":"en","X-Session-Id":taiga.sessionId},$httpProvider.defaults.headers["delete"]=defaultHeaders,$httpProvider.defaults.headers.patch=defaultHeaders,$httpProvider.defaults.headers.post=defaultHeaders,$httpProvider.defaults.headers.put=defaultHeaders,$httpProvider.defaults.headers.get={"X-Session-Id":taiga.sessionId},$tgEventsProvider.setSessionId(taiga.sessionId),authHttpIntercept=function($q,$location,$navUrls,$lightboxService){var httpResponseError;return httpResponseError=function(response){var nextPath;return 0===response.status?($lightboxService.closeAll(),$location.path($navUrls.resolve("error")),$location.replace()):401===response.status&&(nextPath=$location.path(),$location.url($navUrls.resolve("login")).search("next="+nextPath)),$q.reject(response)},{responseError:httpResponseError}},$provide.factory("authHttpIntercept",["$q","$location","$tgNavUrls","lightboxService",authHttpIntercept]),$httpProvider.interceptors.push("authHttpIntercept"),versionCheckHttpIntercept=function($q,$confirm){var httpResponseError,versionErrorMsg;return versionErrorMsg="Someone inside Taiga has changed this before and our Oompa Loompas cannot apply your changes. Please reload and apply your changes again (they will be lost).",httpResponseError=function(response){return 400===response.status&&response.data.version?($confirm.notify("error",versionErrorMsg,null,1e4),$q.reject(response)):$q.reject(response)},{responseError:httpResponseError}},$provide.factory("versionCheckHttpIntercept",["$q","$tgConfirm",versionCheckHttpIntercept]),$httpProvider.interceptors.push("versionCheckHttpIntercept"),window.checksley.updateValidators({linewidth:function(val,width){var lines,valid;return lines=taiga.nl2br(val).split("
"),valid=_.every(lines,function(line){return line.lengthi;i++)if(i in this&&this[i]===item)return i;return-1},slice=[].slice,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;nl2br=function(){return function(str){var breakTag;return breakTag="
",(str+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+breakTag+"$2")}}(this),bindMethods=function(){return function(object){var dependencies,methods;return dependencies=_.keys(object),methods=[],_.forIn(object,function(value,key){return indexOf.call(dependencies,key)<0?methods.push(key):void 0}),_.bindAll(object,methods)}}(this),bindOnce=function(){return function(scope,attr,continuation){var delBind,val;return val=scope.$eval(attr),void 0!==val?continuation(val):(delBind=null,delBind=scope.$watch(attr,function(val){return void 0!==val?(continuation(val),delBind?delBind():void 0):void 0}))}}(this),mixOf=function(){var Mixed,base,i,method,mixin,mixins,name,ref;for(base=arguments[0],mixins=2<=arguments.length?slice.call(arguments,1):[],Mixed=function(superClass){function Mixed(){return Mixed.__super__.constructor.apply(this,arguments)}return extend(Mixed,superClass),Mixed}(base),i=mixins.length-1;i>=0;i+=-1){mixin=mixins[i],ref=mixin.prototype;for(name in ref)method=ref[name],Mixed.prototype[name]=method}return Mixed},trim=function(data,char){return _.str.trim(data,char)},slugify=function(data){return _.str.slugify(data)},unslugify=function(data){return data?_.str.capitalize(data.replace(/-/g," ")):data},toggleText=function(element,texts){var nextTextPosition,text;return nextTextPosition=element.data("nextTextPosition"),(null==nextTextPosition||nextTextPosition>=texts.length)&&(nextTextPosition=0),text=texts[nextTextPosition],element.data("nextTextPosition",nextTextPosition+1),element.text(text)},groupBy=function(coll,pred){var i,item,len,result;for(result={},i=0,len=coll.length;len>i;i++)item=coll[i],result[pred(item)]=item;return result},timeout=function(wait,continuation){return window.setTimeout(continuation,wait)},cancelTimeout=function(timeoutVar){return window.clearTimeout(timeoutVar)},scopeDefer=function(scope,func){return _.defer(function(){return function(){return scope.$apply(func)}}(this))},toString=function(value){return _.isNumber(value)?value+"":_.isString(value)?value:_.isPlainObject(value)?JSON.stringify(value):_.isUndefined(value)?"":value.toString()},joinStr=function(str,coll){return _.str.join(str,coll)},debounce=function(wait,func){return _.debounce(func,wait,{leading:!0,trailing:!1})},debounceLeading=function(wait,func){return _.debounce(func,wait,{leading:!1,trailing:!0})},startswith=function(str1,str2){return _.str.startsWith(str1,str2)},sizeFormat=function(input,precision){var number,size,units;return null==precision&&(precision=1),isNaN(parseFloat(input))||!isFinite(input)?"-":0===input?"0 bytes":(units=["bytes","KB","MB","GB","TB","PB"],number=Math.floor(Math.log(input)/Math.log(1024)),number>5&&(number=5),size=(input/Math.pow(1024,number)).toFixed(precision),size+" "+units[number])},taiga=this.taiga,taiga.nl2br=nl2br,taiga.bindMethods=bindMethods,taiga.bindOnce=bindOnce,taiga.mixOf=mixOf,taiga.trim=trim,taiga.slugify=slugify,taiga.unslugify=unslugify,taiga.toggleText=toggleText,taiga.groupBy=groupBy,taiga.timeout=timeout,taiga.cancelTimeout=cancelTimeout,taiga.scopeDefer=scopeDefer,taiga.toString=toString,taiga.joinStr=joinStr,taiga.debounce=debounce,taiga.debounceLeading=debounceLeading,taiga.startswith=startswith,taiga.sizeFormat=sizeFormat}.call(this),function(){var FiltersMixin,PageMixin,groupBy,joinStr,taiga,toString,trim;taiga=this.taiga,groupBy=this.taiga.groupBy,joinStr=this.taiga.joinStr,trim=this.taiga.trim,toString=this.taiga.toString,PageMixin=function(){function PageMixin(){}return PageMixin.prototype.fillUsersAndRoles=function(users,roles){var activeUsers,availableRoles;return activeUsers=_.filter(users,function(){return function(user){return user.is_active}}(this)),this.scope.activeUsers=_.sortBy(activeUsers,"full_name_display"),this.scope.activeUsersById=groupBy(this.scope.activeUsers,function(e){return e.id}),this.scope.users=_.sortBy(users,"full_name_display"),this.scope.usersById=groupBy(this.scope.users,function(e){return e.id}),this.scope.roles=_.sortBy(roles,"order"),availableRoles=_(this.scope.project.memberships).map("role").uniq().value(),this.scope.computableRoles=_(roles).filter("computable").filter(function(x){return _.contains(availableRoles,x.id)}).value()},PageMixin.prototype.loadUsersAndRoles=function(){var promise;return promise=this.q.all([this.rs.projects.usersList(this.scope.projectId),this.rs.projects.rolesList(this.scope.projectId)]),promise.then(function(_this){return function(results){var roles,users;return users=results[0],roles=results[1],_this.fillUsersAndRoles(users,roles),results}}(this))},PageMixin}(),taiga.PageMixin=PageMixin,FiltersMixin=function(){function FiltersMixin(){}return FiltersMixin.prototype.selectFilter=function(name,value,load){var existing,location,params;return null==load&&(load=!1),params=this.location.search(),void 0!==params[name]&&"page"!==name&&(existing=_.map(taiga.toString(params[name]).split(","),function(x){return trim(x)}),existing.push(taiga.toString(value)),existing=_.compact(existing),value=joinStr(",",_.uniq(existing))),this.location.isInCurrentRouteParams(name,value)?void 0:(location=load?this.location:this.location.noreload(this.scope),location.search(name,value))},FiltersMixin.prototype.replaceFilter=function(name,value,load){var location;return null==load&&(load=!1),this.location.isInCurrentRouteParams(name,value)?void 0:(location=load?this.location:this.location.noreload(this.scope),location.search(name,value))},FiltersMixin.prototype.replaceAllFilters=function(filters,load){var location;return null==load&&(load=!1),location=load?this.location:this.location.noreload(this.scope),location.search(filters)},FiltersMixin.prototype.unselectFilter=function(name,value,load){var location,newValues,params,parsedValues;return null==load&&(load=!1),params=this.location.search(),void 0!==params[name]?((void 0===value||null===value)&&delete params[name],parsedValues=_.map(taiga.toString(params[name]).split(","),function(x){return trim(x)}),newValues=_.reject(parsedValues,function(x){return x===taiga.toString(value)}),newValues=_.compact(newValues),value=_.isEmpty(newValues)?null:joinStr(",",_.uniq(newValues)),location=load?this.location:this.location.noreload(this.scope),location.search(name,value)):void 0},FiltersMixin}(),taiga.FiltersMixin=FiltersMixin}.call(this),function(){var module;module=angular.module("taigaAdmin",[])}.call(this),function(){var AuthService,CancelAccountDirective,ChangeEmailDirective,ChangePasswordFromRecoveryDirective,ForgotPasswordDirective,InvitationDirective,LoginDirective,PublicRegisterMessageDirective,RegisterDirective,debounce,module,taiga,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,debounce=this.taiga.debounce,module=angular.module("taigaAuth",["taigaResources"]),AuthService=function(superClass){function AuthService(rootscope,storage,model,rs,http,urls){this.rootscope=rootscope,this.storage=storage,this.model=model,this.rs=rs,this.http=http,this.urls=urls,AuthService.__super__.constructor.call(this)}return extend(AuthService,superClass),AuthService.$inject=["$rootScope","$tgStorage","$tgModel","$tgResources","$tgHttp","$tgUrls"],AuthService.prototype.getUser=function(){var user,userData;return this.rootscope.user?this.rootscope.user:(userData=this.storage.get("userInfo"),userData?(user=this.model.make_model("users",userData),this.rootscope.user=user,user):null)},AuthService.prototype.setUser=function(user){return this.rootscope.auth=user,this.rootscope.$broadcast("i18n:change",user.default_language),this.storage.set("userInfo",user.getAttrs()),this.rootscope.user=user},AuthService.prototype.clear=function(){return this.rootscope.auth=null,this.rootscope.user=null,this.storage.remove("userInfo")},AuthService.prototype.setToken=function(token){return this.storage.set("token",token)},AuthService.prototype.getToken=function(){return this.storage.get("token")},AuthService.prototype.removeToken=function(){return this.storage.remove("token")},AuthService.prototype.isAuthenticated=function(){return null!==this.getUser()?!0:!1},AuthService.prototype.login=function(data,type){var url;return url=this.urls.resolve("auth"),data=_.clone(data,!1),data.type=type?type:"normal",this.removeToken(),this.http.post(url,data).then(function(_this){return function(data){var user;return user=_this.model.make_model("users",data.data),_this.setToken(user.auth_token),_this.setUser(user),user}}(this))},AuthService.prototype.logout=function(){return this.removeToken(),this.clear()},AuthService.prototype.register=function(data,type,existing){var url;return url=this.urls.resolve("auth-register"),data=_.clone(data,!1),data.type=type?type:"public","private"===type&&(data.existing=existing?existing:!1),this.removeToken(),this.http.post(url,data).then(function(_this){return function(response){var user;return user=_this.model.make_model("users",response.data),_this.setToken(user.auth_token),_this.setUser(user),user}}(this))},AuthService.prototype.getInvitation=function(token){return this.rs.invitations.get(token)},AuthService.prototype.acceptInvitiationWithNewUser=function(data){return this.register(data,"private",!1)},AuthService.prototype.acceptInvitiationWithExistingUser=function(data){return this.register(data,"private",!0)},AuthService.prototype.forgotPassword=function(data){var url;return url=this.urls.resolve("users-password-recovery"),data=_.clone(data,!1),this.removeToken(),this.http.post(url,data)},AuthService.prototype.changePasswordFromRecovery=function(data){var url;return url=this.urls.resolve("users-change-password-from-recovery"),data=_.clone(data,!1),this.removeToken(),this.http.post(url,data)},AuthService.prototype.changeEmail=function(data){var url;return url=this.urls.resolve("users-change-email"),data=_.clone(data,!1),this.http.post(url,data)},AuthService.prototype.cancelAccount=function(data){var url;return url=this.urls.resolve("users-cancel-account"),data=_.clone(data,!1),this.http.post(url,data)},AuthService}(taiga.Service),module.service("$tgAuth",AuthService),PublicRegisterMessageDirective=function($config,$navUrls,templates){var template,templateFn;return template=templates.get("auth/login-text.html",!0),templateFn=function(){var publicRegisterEnabled;return publicRegisterEnabled=$config.get("publicRegisterEnabled"),publicRegisterEnabled?template({url:$navUrls.resolve("register")}):""},{restrict:"AE",scope:{},template:templateFn}},module.directive("tgPublicRegisterMessage",["$tgConfig","$tgNavUrls","$tgTemplate",PublicRegisterMessageDirective]),LoginDirective=function($auth,$confirm,$location,$config,$routeParams,$navUrls,$events){var link;return link=function($scope,$el){var onError,onSuccess,submit;return onSuccess=function(){var nextUrl;return nextUrl=$routeParams.next&&$routeParams.next!==$navUrls.resolve("login")?$routeParams.next:$navUrls.resolve("home"),$events.setupConnection(),$location.path(nextUrl)},onError=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your username/email or password are incorrect.")},submit=debounce(2e3,function(){return function(event){var data,form,loginFormType,promise;return event.preventDefault(),form=new checksley.Form($el.find("form.login-form")),form.validate()?(data={username:$el.find("form.login-form input[name=username]").val(),password:$el.find("form.login-form input[name=password]").val()},loginFormType=$config.get("loginFormType","normal"),promise=$auth.login(data,loginFormType),promise.then(onSuccess,onError)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgLogin",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgEvents",LoginDirective]),RegisterDirective=function($auth,$confirm,$location,$navUrls,$config,$analytics){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $config.get("publicRegisterEnabled")||($location.path($navUrls.resolve("not-found")),$location.replace()),$scope.data={},form=$el.find("form").checksley({onlyOneErrorElement:!0}),onSuccessSubmit=function(){return $analytics.trackEvent("auth","register","user registration",1),$confirm.notify("success","Our Oompa Loompas are happy, welcome to Taiga."),$location.path($navUrls.resolve("home"))},onErrorSubmit=function(response){return null!=response.data._error_message&&$confirm.notify("light-error","According to our Oompa Loompas there was an error. "+response.data._error_message),form.setErrors(response.data)},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.register($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgRegister",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$tgConfig","$tgAnalytics",RegisterDirective]),ForgotPasswordDirective=function($auth,$confirm,$location,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},form=$el.find("form").checksley(),onSuccessSubmit=function(response){return $location.path($navUrls.resolve("login")),$confirm.success("Check your inbox!
We have sent a mail to
"+response.data.email+"
with the instructions to set a new password")},onErrorSubmit=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your are not registered yet.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.forgotPassword($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgForgotPassword",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls",ForgotPasswordDirective]),ChangePasswordFromRecoveryDirective=function($auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},null!=$params.token?($scope.tokenInParams=!0,$scope.data.token=$params.token):$scope.tokenInParams=!1,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $location.path($navUrls.resolve("login")),$confirm.success("Our Oompa Loompas saved your new password.
Try to sign in with it.")},onErrorSubmit=function(response){return $confirm.notify("light-error","One of our Oompa Loompas say '"+response.data._error_message+"'.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.changePasswordFromRecovery($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgChangePasswordFromRecovery",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",ChangePasswordFromRecoveryDirective]),InvitationDirective=function($auth,$confirm,$location,$params,$navUrls,$analytics){var link;return link=function($scope,$el){var loginForm,onErrorSubmitLogin,onErrorSubmitRegister,onSuccessSubmitLogin,onSuccessSubmitRegister,promise,registerForm,submitLogin,submitRegister,token;return token=$params.token,promise=$auth.getInvitation(token),promise.then(function(invitation){return $scope.invitation=invitation}),promise.then(null,function(){return $location.path($navUrls.resolve("login")),$confirm.success("Ooops, we have a problem
Our Oompa Loompas can't find your invitation.")}),$scope.dataLogin={token:token},loginForm=$el.find("form.login-form").checksley({onlyOneErrorElement:!0}),onSuccessSubmitLogin=function(){return $analytics.trackEvent("auth","invitationAccept","invitation accept with existing user",1),$location.path($navUrls.resolve("project",{project:$scope.invitation.project_slug})),$confirm.notify("success","You've successfully joined this project","Welcome to "+_.escape($scope.invitation.project_name))},onErrorSubmitLogin=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your are not registered yet or typed an invalid password.")},submitLogin=debounce(2e3,function(){return function(event){return event.preventDefault(),loginForm.validate()?(promise=$auth.acceptInvitiationWithExistingUser($scope.dataLogin),promise.then(onSuccessSubmitLogin,onErrorSubmitLogin)):void 0}}(this)),$el.on("submit","form.login-form",submitLogin),$el.on("click",".button-login",submitLogin),$scope.dataRegister={token:token},registerForm=$el.find("form.register-form").checksley(),onSuccessSubmitRegister=function(){return $analytics.trackEvent("auth","invitationAccept","invitation accept with new user",1),$location.path($navUrls.resolve("project",{project:$scope.invitation.project_slug})),$confirm.notify("success","You've successfully joined this project","Welcome to "+_.escape($scope.invitation.project_name))},onErrorSubmitRegister=function(){return $confirm.notify("light-error","According to our Oompa Loompas, that username or email is already in use.")},submitRegister=debounce(2e3,function(){return function(event){return event.preventDefault(),registerForm.validate()?(promise=$auth.acceptInvitiationWithNewUser($scope.dataRegister),promise.then(onSuccessSubmitRegister,onErrorSubmitRegister)):void 0}}(this)),$el.on("submit","form.register-form",submitRegister),$el.on("click",".button-register",submitRegister)},{link:link}},module.directive("tgInvitation",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$tgAnalytics",InvitationDirective]),ChangeEmailDirective=function($repo,$model,$auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},$scope.data.email_token=$params.email_token,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $repo.queryOne("users",$auth.getUser().id).then(function(){return function(data){return $auth.setUser(data),$location.path($navUrls.resolve("home")),$confirm.success("Our Oompa Loompas updated your email")}}(this))},onErrorSubmit=function(response){return $confirm.notify("error","One of our Oompa Loompas says '"+response.data._error_message+"'.")},submit=function(){var promise;if(form.validate())return promise=$auth.changeEmail($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)},$el.on("submit",function(event){return event.preventDefault(),submit()}),$el.on("click","a.button-change-email",function(event){return event.preventDefault(),submit()})},{link:link}},module.directive("tgChangeEmail",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",ChangeEmailDirective]),CancelAccountDirective=function($repo,$model,$auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},$scope.data.cancel_token=$params.cancel_token,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $auth.logout(),$location.path($navUrls.resolve("home")),$confirm.success("Our Oompa Loompas removed your account")},onErrorSubmit=function(response){return $confirm.notify("error","One of our Oompa Loompas says '"+response.data._error_message+"'.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.cancelAccount($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgCancelAccount",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",CancelAccountDirective])}.call(this),function(){var module;module=angular.module("taigaBacklog",[])}.call(this),function(){var TaigaMainDirective,bindOnce,groupBy,init,module,taiga,urls;taiga=this.taiga,groupBy=this.taiga.groupBy,bindOnce=this.taiga.bindOnce,module=angular.module("taigaBase",["taigaLocales"]),TaigaMainDirective=function($rootscope,$window){var link;return link=function(){return $window.onresize=function(){return $rootscope.$broadcast("resize")}},{link:link}},module.directive("tgMain",["$rootScope","$window",TaigaMainDirective]),urls={home:"/",error:"/error","not-found":"/not-found","permission-denied":"/permission-denied",login:"/login","forgot-password":"/forgot-password","change-password":"/change-password/:token","change-email":"/change-email/:token","cancel-account":"/cancel-account/:token",register:"/register",invitation:"/invitation/:token","create-project":"/create-project",profile:"/:user",project:"/project/:project","project-backlog":"/project/:project/backlog","project-taskboard":"/project/:project/taskboard/:sprint","project-kanban":"/project/:project/kanban","project-issues":"/project/:project/issues","project-search":"/project/:project/search","project-userstories-detail":"/project/:project/us/:ref","project-tasks-detail":"/project/:project/task/:ref","project-issues-detail":"/project/:project/issue/:ref","project-wiki":"/project/:project/wiki","project-wiki-page":"/project/:project/wiki/:slug","project-team":"/project/:project/team","project-admin-home":"/project/:project/admin/project-profile/details","project-admin-project-profile-details":"/project/:project/admin/project-profile/details","project-admin-project-profile-default-values":"/project/:project/admin/project-profile/default-values","project-admin-project-profile-modules":"/project/:project/admin/project-profile/modules","project-admin-project-profile-export":"/project/:project/admin/project-profile/export","project-admin-project-profile-reports":"/project/:project/admin/project-profile/reports","project-admin-project-values-status":"/project/:project/admin/project-values/status","project-admin-project-values-points":"/project/:project/admin/project-values/points","project-admin-project-values-priorities":"/project/:project/admin/project-values/priorities","project-admin-project-values-severities":"/project/:project/admin/project-values/severities","project-admin-project-values-types":"/project/:project/admin/project-values/types","project-admin-project-values-custom-fields":"/project/:project/admin/project-values/custom-fields","project-admin-memberships":"/project/:project/admin/memberships","project-admin-roles":"/project/:project/admin/roles","project-admin-third-parties-webhooks":"/project/:project/admin/third-parties/webhooks","project-admin-third-parties-github":"/project/:project/admin/third-parties/github","project-admin-third-parties-gitlab":"/project/:project/admin/third-parties/gitlab","project-admin-third-parties-bitbucket":"/project/:project/admin/third-parties/bitbucket","project-admin-contrib":"/project/:project/admin/contrib/:plugin","user-settings-user-profile":"/project/:project/user-settings/user-profile","user-settings-user-change-password":"/project/:project/user-settings/user-change-password","user-settings-user-avatar":"/project/:project/user-settings/user-avatar","user-settings-mail-notifications":"/project/:project/user-settings/mail-notifications"},init=function($log,$navurls){return $log.debug("Initialize navigation urls"),$navurls.update(urls) +(function(){var configure,init,module,modules,taiga;this.taiga=taiga={},this.taigaContribPlugins=this.taigaContribPlugins||[],taiga.generateHash=function(components){return null==components&&(components=[]),components=_.map(components,function(x){return JSON.stringify(x)}),hex_sha1(components.join(":"))},taiga.generateUniqueSessionIdentifier=function(){var date,randomNumber;return date=(new Date).getTime(),randomNumber=Math.floor(150994944*Math.random()),taiga.generateHash([date,randomNumber])},taiga.sessionId=taiga.generateUniqueSessionIdentifier(),configure=function($routeProvider,$locationProvider,$httpProvider,$provide,$tgEventsProvider,tgLoaderProvider,$compileProvider){var authHttpIntercept,defaultHeaders,versionCheckHttpIntercept;return $routeProvider.when("/",{templateUrl:"project/projects.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/",{templateUrl:"project/project.html"}),$routeProvider.when("/project/:pslug/search",{templateUrl:"search/search.html",reloadOnSearch:!1}),$routeProvider.when("/project/:pslug/backlog",{templateUrl:"backlog/backlog.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/kanban",{templateUrl:"kanban/kanban.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/taskboard/:sslug",{templateUrl:"taskboard/taskboard.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/us/:usref",{templateUrl:"us/us-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/task/:taskref",{templateUrl:"task/task-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/wiki",{redirectTo:function(params){return"/project/"+params.pslug+"/wiki/home"}}),$routeProvider.when("/project/:pslug/wiki/:slug",{templateUrl:"wiki/wiki.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/team",{templateUrl:"team/team.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/issues",{templateUrl:"issue/issues.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/issue/:issueref",{templateUrl:"issue/issues-detail.html",resolve:{loader:tgLoaderProvider.add()}}),$routeProvider.when("/project/:pslug/admin/project-profile/details",{templateUrl:"admin/admin-project-profile.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/default-values",{templateUrl:"admin/admin-project-default-values.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/modules",{templateUrl:"admin/admin-project-modules.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/export",{templateUrl:"admin/admin-project-export.html"}),$routeProvider.when("/project/:pslug/admin/project-profile/reports",{templateUrl:"admin/admin-project-reports.html"}),$routeProvider.when("/project/:pslug/admin/project-values/status",{templateUrl:"admin/admin-project-values-status.html"}),$routeProvider.when("/project/:pslug/admin/project-values/points",{templateUrl:"admin/admin-project-values-points.html"}),$routeProvider.when("/project/:pslug/admin/project-values/priorities",{templateUrl:"admin/admin-project-values-priorities.html"}),$routeProvider.when("/project/:pslug/admin/project-values/severities",{templateUrl:"admin/admin-project-values-severities.html"}),$routeProvider.when("/project/:pslug/admin/project-values/types",{templateUrl:"admin/admin-project-values-types.html"}),$routeProvider.when("/project/:pslug/admin/project-values/custom-fields",{templateUrl:"admin/admin-project-values-custom-fields.html"}),$routeProvider.when("/project/:pslug/admin/memberships",{templateUrl:"admin/admin-memberships.html"}),$routeProvider.when("/project/:pslug/admin/roles",{templateUrl:"admin/admin-roles.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/webhooks",{templateUrl:"admin/admin-third-parties-webhooks.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/github",{templateUrl:"admin/admin-third-parties-github.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/gitlab",{templateUrl:"admin/admin-third-parties-gitlab.html"}),$routeProvider.when("/project/:pslug/admin/third-parties/bitbucket",{templateUrl:"admin/admin-third-parties-bitbucket.html"}),$routeProvider.when("/project/:pslug/admin/contrib/:plugin",{templateUrl:"contrib/main.html"}),$routeProvider.when("/project/:pslug/user-settings/user-profile",{templateUrl:"user/user-profile.html"}),$routeProvider.when("/project/:pslug/user-settings/user-change-password",{templateUrl:"user/user-change-password.html"}),$routeProvider.when("/project/:pslug/user-settings/user-avatar",{templateUrl:"user/user-avatar.html"}),$routeProvider.when("/project/:pslug/user-settings/mail-notifications",{templateUrl:"user/mail-notifications.html"}),$routeProvider.when("/change-email/:email_token",{templateUrl:"user/change-email.html"}),$routeProvider.when("/cancel-account/:cancel_token",{templateUrl:"user/cancel-account.html"}),$routeProvider.when("/login",{templateUrl:"auth/login.html"}),$routeProvider.when("/register",{templateUrl:"auth/register.html"}),$routeProvider.when("/forgot-password",{templateUrl:"auth/forgot-password.html"}),$routeProvider.when("/change-password",{templateUrl:"auth/change-password-from-recovery.html"}),$routeProvider.when("/change-password/:token",{templateUrl:"auth/change-password-from-recovery.html"}),$routeProvider.when("/invitation/:token",{templateUrl:"auth/invitation.html"}),$routeProvider.when("/error",{templateUrl:"error/error.html"}),$routeProvider.when("/not-found",{templateUrl:"error/not-found.html"}),$routeProvider.when("/permission-denied",{templateUrl:"error/permission-denied.html"}),$routeProvider.otherwise({redirectTo:"/not-found"}),$locationProvider.html5Mode({enabled:!0,requireBase:!1}),defaultHeaders={"Content-Type":"application/json","Accept-Language":"en","X-Session-Id":taiga.sessionId},$httpProvider.defaults.headers["delete"]=defaultHeaders,$httpProvider.defaults.headers.patch=defaultHeaders,$httpProvider.defaults.headers.post=defaultHeaders,$httpProvider.defaults.headers.put=defaultHeaders,$httpProvider.defaults.headers.get={"X-Session-Id":taiga.sessionId},$tgEventsProvider.setSessionId(taiga.sessionId),authHttpIntercept=function($q,$location,$navUrls,$lightboxService){var httpResponseError;return httpResponseError=function(response){var nextPath;return 0===response.status?($lightboxService.closeAll(),$location.path($navUrls.resolve("error")),$location.replace()):401===response.status&&(nextPath=$location.path(),$location.url($navUrls.resolve("login")).search("next="+nextPath)),$q.reject(response)},{responseError:httpResponseError}},$provide.factory("authHttpIntercept",["$q","$location","$tgNavUrls","lightboxService",authHttpIntercept]),$httpProvider.interceptors.push("authHttpIntercept"),versionCheckHttpIntercept=function($q,$confirm){var httpResponseError,versionErrorMsg;return versionErrorMsg="Someone inside Taiga has changed this before and our Oompa Loompas cannot apply your changes. Please reload and apply your changes again (they will be lost).",httpResponseError=function(response){return 400===response.status&&response.data.version?($confirm.notify("error",versionErrorMsg,null,1e4),$q.reject(response)):$q.reject(response)},{responseError:httpResponseError}},$provide.factory("versionCheckHttpIntercept",["$q","$tgConfirm",versionCheckHttpIntercept]),$httpProvider.interceptors.push("versionCheckHttpIntercept"),window.checksley.updateValidators({linewidth:function(val,width){var lines,valid;return lines=taiga.nl2br(val).split("
"),valid=_.every(lines,function(line){return line.lengthi;i++)if(i in this&&this[i]===item)return i;return-1},slice=[].slice,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;nl2br=function(){return function(str){var breakTag;return breakTag="
",(str+"").replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g,"$1"+breakTag+"$2")}}(this),bindMethods=function(){return function(object){var dependencies,methods;return dependencies=_.keys(object),methods=[],_.forIn(object,function(value,key){return indexOf.call(dependencies,key)<0?methods.push(key):void 0}),_.bindAll(object,methods)}}(this),bindOnce=function(){return function(scope,attr,continuation){var delBind,val;return val=scope.$eval(attr),void 0!==val?continuation(val):(delBind=null,delBind=scope.$watch(attr,function(val){return void 0!==val?(continuation(val),delBind?delBind():void 0):void 0}))}}(this),mixOf=function(){var Mixed,base,i,method,mixin,mixins,name,ref;for(base=arguments[0],mixins=2<=arguments.length?slice.call(arguments,1):[],Mixed=function(superClass){function Mixed(){return Mixed.__super__.constructor.apply(this,arguments)}return extend(Mixed,superClass),Mixed}(base),i=mixins.length-1;i>=0;i+=-1){mixin=mixins[i],ref=mixin.prototype;for(name in ref)method=ref[name],Mixed.prototype[name]=method}return Mixed},trim=function(data,char){return _.str.trim(data,char)},slugify=function(data){return _.str.slugify(data)},unslugify=function(data){return data?_.str.capitalize(data.replace(/-/g," ")):data},toggleText=function(element,texts){var nextTextPosition,text;return nextTextPosition=element.data("nextTextPosition"),(null==nextTextPosition||nextTextPosition>=texts.length)&&(nextTextPosition=0),text=texts[nextTextPosition],element.data("nextTextPosition",nextTextPosition+1),element.text(text)},groupBy=function(coll,pred){var i,item,len,result;for(result={},i=0,len=coll.length;len>i;i++)item=coll[i],result[pred(item)]=item;return result},timeout=function(wait,continuation){return window.setTimeout(continuation,wait)},cancelTimeout=function(timeoutVar){return window.clearTimeout(timeoutVar)},scopeDefer=function(scope,func){return _.defer(function(){return function(){return scope.$apply(func)}}(this))},toString=function(value){return _.isNumber(value)?value+"":_.isString(value)?value:_.isPlainObject(value)?JSON.stringify(value):_.isUndefined(value)?"":value.toString()},joinStr=function(str,coll){return _.str.join(str,coll)},debounce=function(wait,func){return _.debounce(func,wait,{leading:!0,trailing:!1})},debounceLeading=function(wait,func){return _.debounce(func,wait,{leading:!1,trailing:!0})},startswith=function(str1,str2){return _.str.startsWith(str1,str2)},sizeFormat=function(input,precision){var number,size,units;return null==precision&&(precision=1),isNaN(parseFloat(input))||!isFinite(input)?"-":0===input?"0 bytes":(units=["bytes","KB","MB","GB","TB","PB"],number=Math.floor(Math.log(input)/Math.log(1024)),number>5&&(number=5),size=(input/Math.pow(1024,number)).toFixed(precision),size+" "+units[number])},taiga=this.taiga,taiga.nl2br=nl2br,taiga.bindMethods=bindMethods,taiga.bindOnce=bindOnce,taiga.mixOf=mixOf,taiga.trim=trim,taiga.slugify=slugify,taiga.unslugify=unslugify,taiga.toggleText=toggleText,taiga.groupBy=groupBy,taiga.timeout=timeout,taiga.cancelTimeout=cancelTimeout,taiga.scopeDefer=scopeDefer,taiga.toString=toString,taiga.joinStr=joinStr,taiga.debounce=debounce,taiga.debounceLeading=debounceLeading,taiga.startswith=startswith,taiga.sizeFormat=sizeFormat}.call(this),function(){var FiltersMixin,PageMixin,groupBy,joinStr,taiga,toString,trim;taiga=this.taiga,groupBy=this.taiga.groupBy,joinStr=this.taiga.joinStr,trim=this.taiga.trim,toString=this.taiga.toString,PageMixin=function(){function PageMixin(){}return PageMixin.prototype.fillUsersAndRoles=function(users,roles){var activeUsers,availableRoles;return activeUsers=_.filter(users,function(){return function(user){return user.is_active}}(this)),this.scope.activeUsers=_.sortBy(activeUsers,"full_name_display"),this.scope.activeUsersById=groupBy(this.scope.activeUsers,function(e){return e.id}),this.scope.users=_.sortBy(users,"full_name_display"),this.scope.usersById=groupBy(this.scope.users,function(e){return e.id}),this.scope.roles=_.sortBy(roles,"order"),availableRoles=_(this.scope.project.memberships).map("role").uniq().value(),this.scope.computableRoles=_(roles).filter("computable").filter(function(x){return _.contains(availableRoles,x.id)}).value()},PageMixin.prototype.loadUsersAndRoles=function(){var promise;return promise=this.q.all([this.rs.projects.usersList(this.scope.projectId),this.rs.projects.rolesList(this.scope.projectId)]),promise.then(function(_this){return function(results){var roles,users;return users=results[0],roles=results[1],_this.fillUsersAndRoles(users,roles),results}}(this))},PageMixin}(),taiga.PageMixin=PageMixin,FiltersMixin=function(){function FiltersMixin(){}return FiltersMixin.prototype.selectFilter=function(name,value,load){var existing,location,params;return null==load&&(load=!1),params=this.location.search(),void 0!==params[name]&&"page"!==name&&(existing=_.map(taiga.toString(params[name]).split(","),function(x){return trim(x)}),existing.push(taiga.toString(value)),existing=_.compact(existing),value=joinStr(",",_.uniq(existing))),this.location.isInCurrentRouteParams(name,value)?void 0:(location=load?this.location:this.location.noreload(this.scope),location.search(name,value))},FiltersMixin.prototype.replaceFilter=function(name,value,load){var location;return null==load&&(load=!1),this.location.isInCurrentRouteParams(name,value)?void 0:(location=load?this.location:this.location.noreload(this.scope),location.search(name,value))},FiltersMixin.prototype.replaceAllFilters=function(filters,load){var location;return null==load&&(load=!1),location=load?this.location:this.location.noreload(this.scope),location.search(filters)},FiltersMixin.prototype.unselectFilter=function(name,value,load){var location,newValues,params,parsedValues;return null==load&&(load=!1),params=this.location.search(),void 0!==params[name]?((void 0===value||null===value)&&delete params[name],parsedValues=_.map(taiga.toString(params[name]).split(","),function(x){return trim(x)}),newValues=_.reject(parsedValues,function(x){return x===taiga.toString(value)}),newValues=_.compact(newValues),value=_.isEmpty(newValues)?null:joinStr(",",_.uniq(newValues)),location=load?this.location:this.location.noreload(this.scope),location.search(name,value)):void 0},FiltersMixin}(),taiga.FiltersMixin=FiltersMixin}.call(this),function(){var module;module=angular.module("taigaAdmin",[])}.call(this),function(){var AuthService,CancelAccountDirective,ChangeEmailDirective,ChangePasswordFromRecoveryDirective,ForgotPasswordDirective,InvitationDirective,LoginDirective,PublicRegisterMessageDirective,RegisterDirective,debounce,module,taiga,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,debounce=this.taiga.debounce,module=angular.module("taigaAuth",["taigaResources"]),AuthService=function(superClass){function AuthService(rootscope,storage,model,rs,http,urls){this.rootscope=rootscope,this.storage=storage,this.model=model,this.rs=rs,this.http=http,this.urls=urls,AuthService.__super__.constructor.call(this)}return extend(AuthService,superClass),AuthService.$inject=["$rootScope","$tgStorage","$tgModel","$tgResources","$tgHttp","$tgUrls"],AuthService.prototype.getUser=function(){var user,userData;return this.rootscope.user?this.rootscope.user:(userData=this.storage.get("userInfo"),userData?(user=this.model.make_model("users",userData),this.rootscope.user=user,user):null)},AuthService.prototype.setUser=function(user){return this.rootscope.auth=user,this.rootscope.$broadcast("i18n:change",user.default_language),this.storage.set("userInfo",user.getAttrs()),this.rootscope.user=user},AuthService.prototype.clear=function(){return this.rootscope.auth=null,this.rootscope.user=null,this.storage.remove("userInfo")},AuthService.prototype.setToken=function(token){return this.storage.set("token",token)},AuthService.prototype.getToken=function(){return this.storage.get("token")},AuthService.prototype.removeToken=function(){return this.storage.remove("token")},AuthService.prototype.isAuthenticated=function(){return null!==this.getUser()?!0:!1},AuthService.prototype.login=function(data,type){var url;return url=this.urls.resolve("auth"),data=_.clone(data,!1),data.type=type?type:"normal",this.removeToken(),this.http.post(url,data).then(function(_this){return function(data){var user;return user=_this.model.make_model("users",data.data),_this.setToken(user.auth_token),_this.setUser(user),user}}(this))},AuthService.prototype.logout=function(){return this.removeToken(),this.clear()},AuthService.prototype.register=function(data,type,existing){var url;return url=this.urls.resolve("auth-register"),data=_.clone(data,!1),data.type=type?type:"public","private"===type&&(data.existing=existing?existing:!1),this.removeToken(),this.http.post(url,data).then(function(_this){return function(response){var user;return user=_this.model.make_model("users",response.data),_this.setToken(user.auth_token),_this.setUser(user),user}}(this))},AuthService.prototype.getInvitation=function(token){return this.rs.invitations.get(token)},AuthService.prototype.acceptInvitiationWithNewUser=function(data){return this.register(data,"private",!1)},AuthService.prototype.acceptInvitiationWithExistingUser=function(data){return this.register(data,"private",!0)},AuthService.prototype.forgotPassword=function(data){var url;return url=this.urls.resolve("users-password-recovery"),data=_.clone(data,!1),this.removeToken(),this.http.post(url,data)},AuthService.prototype.changePasswordFromRecovery=function(data){var url;return url=this.urls.resolve("users-change-password-from-recovery"),data=_.clone(data,!1),this.removeToken(),this.http.post(url,data)},AuthService.prototype.changeEmail=function(data){var url;return url=this.urls.resolve("users-change-email"),data=_.clone(data,!1),this.http.post(url,data)},AuthService.prototype.cancelAccount=function(data){var url;return url=this.urls.resolve("users-cancel-account"),data=_.clone(data,!1),this.http.post(url,data)},AuthService}(taiga.Service),module.service("$tgAuth",AuthService),PublicRegisterMessageDirective=function($config,$navUrls,templates){var template,templateFn;return template=templates.get("auth/login-text.html",!0),templateFn=function(){var publicRegisterEnabled;return publicRegisterEnabled=$config.get("publicRegisterEnabled"),publicRegisterEnabled?template({url:$navUrls.resolve("register")}):""},{restrict:"AE",scope:{},template:templateFn}},module.directive("tgPublicRegisterMessage",["$tgConfig","$tgNavUrls","$tgTemplate",PublicRegisterMessageDirective]),LoginDirective=function($auth,$confirm,$location,$config,$routeParams,$navUrls,$events){var link;return link=function($scope,$el){var onError,onSuccess,submit;return onSuccess=function(){var nextUrl;return nextUrl=$routeParams.next&&$routeParams.next!==$navUrls.resolve("login")?$routeParams.next:$navUrls.resolve("home"),$events.setupConnection(),$location.path(nextUrl)},onError=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your username/email or password are incorrect.")},submit=debounce(2e3,function(){return function(event){var data,form,loginFormType,promise;return event.preventDefault(),form=new checksley.Form($el.find("form.login-form")),form.validate()?(data={username:$el.find("form.login-form input[name=username]").val(),password:$el.find("form.login-form input[name=password]").val()},loginFormType=$config.get("loginFormType","normal"),promise=$auth.login(data,loginFormType),promise.then(onSuccess,onError)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgLogin",["$tgAuth","$tgConfirm","$tgLocation","$tgConfig","$routeParams","$tgNavUrls","$tgEvents",LoginDirective]),RegisterDirective=function($auth,$confirm,$location,$navUrls,$config,$analytics){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $config.get("publicRegisterEnabled")||($location.path($navUrls.resolve("not-found")),$location.replace()),$scope.data={},form=$el.find("form").checksley({onlyOneErrorElement:!0}),onSuccessSubmit=function(){return $analytics.trackEvent("auth","register","user registration",1),$confirm.notify("success","Our Oompa Loompas are happy, welcome to Taiga."),$location.path($navUrls.resolve("home"))},onErrorSubmit=function(response){return null!=response.data._error_message&&$confirm.notify("light-error","According to our Oompa Loompas there was an error. "+response.data._error_message),form.setErrors(response.data)},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.register($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgRegister",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls","$tgConfig","$tgAnalytics",RegisterDirective]),ForgotPasswordDirective=function($auth,$confirm,$location,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},form=$el.find("form").checksley(),onSuccessSubmit=function(){return $location.path($navUrls.resolve("login")),$confirm.success("Check your inbox!
We have sent you an email with the instructions to set a new password")},onErrorSubmit=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your are not registered yet.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.forgotPassword($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgForgotPassword",["$tgAuth","$tgConfirm","$tgLocation","$tgNavUrls",ForgotPasswordDirective]),ChangePasswordFromRecoveryDirective=function($auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},null!=$params.token?($scope.tokenInParams=!0,$scope.data.token=$params.token):$scope.tokenInParams=!1,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $location.path($navUrls.resolve("login")),$confirm.success("Our Oompa Loompas saved your new password.
Try to sign in with it.")},onErrorSubmit=function(response){return $confirm.notify("light-error","One of our Oompa Loompas say '"+response.data._error_message+"'.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.changePasswordFromRecovery($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgChangePasswordFromRecovery",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",ChangePasswordFromRecoveryDirective]),InvitationDirective=function($auth,$confirm,$location,$params,$navUrls,$analytics){var link;return link=function($scope,$el){var loginForm,onErrorSubmitLogin,onErrorSubmitRegister,onSuccessSubmitLogin,onSuccessSubmitRegister,promise,registerForm,submitLogin,submitRegister,token;return token=$params.token,promise=$auth.getInvitation(token),promise.then(function(invitation){return $scope.invitation=invitation}),promise.then(null,function(){return $location.path($navUrls.resolve("login")),$confirm.success("Ooops, we have a problem
Our Oompa Loompas can't find your invitation.")}),$scope.dataLogin={token:token},loginForm=$el.find("form.login-form").checksley({onlyOneErrorElement:!0}),onSuccessSubmitLogin=function(){return $analytics.trackEvent("auth","invitationAccept","invitation accept with existing user",1),$location.path($navUrls.resolve("project",{project:$scope.invitation.project_slug})),$confirm.notify("success","You've successfully joined this project","Welcome to "+_.escape($scope.invitation.project_name))},onErrorSubmitLogin=function(){return $confirm.notify("light-error","According to our Oompa Loompas, your are not registered yet or typed an invalid password.")},submitLogin=debounce(2e3,function(){return function(event){return event.preventDefault(),loginForm.validate()?(promise=$auth.acceptInvitiationWithExistingUser($scope.dataLogin),promise.then(onSuccessSubmitLogin,onErrorSubmitLogin)):void 0}}(this)),$el.on("submit","form.login-form",submitLogin),$el.on("click",".button-login",submitLogin),$scope.dataRegister={token:token},registerForm=$el.find("form.register-form").checksley(),onSuccessSubmitRegister=function(){return $analytics.trackEvent("auth","invitationAccept","invitation accept with new user",1),$location.path($navUrls.resolve("project",{project:$scope.invitation.project_slug})),$confirm.notify("success","You've successfully joined this project","Welcome to "+_.escape($scope.invitation.project_name))},onErrorSubmitRegister=function(){return $confirm.notify("light-error","According to our Oompa Loompas, that username or email is already in use.")},submitRegister=debounce(2e3,function(){return function(event){return event.preventDefault(),registerForm.validate()?(promise=$auth.acceptInvitiationWithNewUser($scope.dataRegister),promise.then(onSuccessSubmitRegister,onErrorSubmitRegister)):void 0}}(this)),$el.on("submit","form.register-form",submitRegister),$el.on("click",".button-register",submitRegister)},{link:link}},module.directive("tgInvitation",["$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls","$tgAnalytics",InvitationDirective]),ChangeEmailDirective=function($repo,$model,$auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},$scope.data.email_token=$params.email_token,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $repo.queryOne("users",$auth.getUser().id).then(function(){return function(data){return $auth.setUser(data),$location.path($navUrls.resolve("home")),$confirm.success("Our Oompa Loompas updated your email")}}(this))},onErrorSubmit=function(response){return $confirm.notify("error","One of our Oompa Loompas says '"+response.data._error_message+"'.")},submit=function(){var promise;if(form.validate())return promise=$auth.changeEmail($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)},$el.on("submit",function(event){return event.preventDefault(),submit()}),$el.on("click","a.button-change-email",function(event){return event.preventDefault(),submit()})},{link:link}},module.directive("tgChangeEmail",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",ChangeEmailDirective]),CancelAccountDirective=function($repo,$model,$auth,$confirm,$location,$params,$navUrls){var link;return link=function($scope,$el){var form,onErrorSubmit,onSuccessSubmit,submit;return $scope.data={},$scope.data.cancel_token=$params.cancel_token,form=$el.find("form").checksley(),onSuccessSubmit=function(){return $auth.logout(),$location.path($navUrls.resolve("home")),$confirm.success("Our Oompa Loompas removed your account")},onErrorSubmit=function(response){return $confirm.notify("error","One of our Oompa Loompas says '"+response.data._error_message+"'.")},submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?(promise=$auth.cancelAccount($scope.data),promise.then(onSuccessSubmit,onErrorSubmit)):void 0}}(this)),$el.on("submit","form",submit)},{link:link}},module.directive("tgCancelAccount",["$tgRepo","$tgModel","$tgAuth","$tgConfirm","$tgLocation","$routeParams","$tgNavUrls",CancelAccountDirective])}.call(this),function(){var module;module=angular.module("taigaBacklog",[])}.call(this),function(){var TaigaMainDirective,bindOnce,groupBy,init,module,taiga,urls;taiga=this.taiga,groupBy=this.taiga.groupBy,bindOnce=this.taiga.bindOnce,module=angular.module("taigaBase",["taigaLocales"]),TaigaMainDirective=function($rootscope,$window){var link;return link=function(){return $window.onresize=function(){return $rootscope.$broadcast("resize")}},{link:link}},module.directive("tgMain",["$rootScope","$window",TaigaMainDirective]),urls={home:"/",error:"/error","not-found":"/not-found","permission-denied":"/permission-denied",login:"/login","forgot-password":"/forgot-password","change-password":"/change-password/:token","change-email":"/change-email/:token","cancel-account":"/cancel-account/:token",register:"/register",invitation:"/invitation/:token","create-project":"/create-project",profile:"/:user",project:"/project/:project","project-backlog":"/project/:project/backlog","project-taskboard":"/project/:project/taskboard/:sprint","project-kanban":"/project/:project/kanban","project-issues":"/project/:project/issues","project-search":"/project/:project/search","project-userstories-detail":"/project/:project/us/:ref","project-tasks-detail":"/project/:project/task/:ref","project-issues-detail":"/project/:project/issue/:ref","project-wiki":"/project/:project/wiki","project-wiki-page":"/project/:project/wiki/:slug","project-team":"/project/:project/team","project-admin-home":"/project/:project/admin/project-profile/details","project-admin-project-profile-details":"/project/:project/admin/project-profile/details","project-admin-project-profile-default-values":"/project/:project/admin/project-profile/default-values","project-admin-project-profile-modules":"/project/:project/admin/project-profile/modules","project-admin-project-profile-export":"/project/:project/admin/project-profile/export","project-admin-project-profile-reports":"/project/:project/admin/project-profile/reports","project-admin-project-values-status":"/project/:project/admin/project-values/status","project-admin-project-values-points":"/project/:project/admin/project-values/points","project-admin-project-values-priorities":"/project/:project/admin/project-values/priorities","project-admin-project-values-severities":"/project/:project/admin/project-values/severities","project-admin-project-values-types":"/project/:project/admin/project-values/types","project-admin-project-values-custom-fields":"/project/:project/admin/project-values/custom-fields","project-admin-memberships":"/project/:project/admin/memberships","project-admin-roles":"/project/:project/admin/roles","project-admin-third-parties-webhooks":"/project/:project/admin/third-parties/webhooks","project-admin-third-parties-github":"/project/:project/admin/third-parties/github","project-admin-third-parties-gitlab":"/project/:project/admin/third-parties/gitlab","project-admin-third-parties-bitbucket":"/project/:project/admin/third-parties/bitbucket","project-admin-contrib":"/project/:project/admin/contrib/:plugin","user-settings-user-profile":"/project/:project/user-settings/user-profile","user-settings-user-change-password":"/project/:project/user-settings/user-change-password","user-settings-user-avatar":"/project/:project/user-settings/user-avatar","user-settings-mail-notifications":"/project/:project/user-settings/mail-notifications"},init=function($log,$navurls){return $log.debug("Initialize navigation urls"),$navurls.update(urls) },module.run(["$log","$tgNavUrls",init])}.call(this),function(){var AnimationFrame,AppTitle,CheckPermissionDirective,ClassPermissionDirective,LimitLineLengthDirective,ProjectUrl,Qqueue,SelectedText,Template,ToggleCommentDirective,module,taiga,slice=[].slice;taiga=this.taiga,module=angular.module("taigaCommon",[]),SelectedText=function($window,$document){var get;return get=function(){return $window.getSelection?$window.getSelection().toString():$document.selection?$document.selection.createRange().text:""},{get:get}},module.factory("$selectedText",["$window","$document",SelectedText]),CheckPermissionDirective=function(){var link,render;return render=function($el,project,permission){return project.my_permissions.indexOf(permission)>-1?$el.removeClass("hidden"):void 0},link=function($scope,$el,$attrs){var permission;return $el.addClass("hidden"),permission=$attrs.tgCheckPermission,$scope.$watch("project",function(project){return null!=project?render($el,project,permission):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgCheckPermission",CheckPermissionDirective),ClassPermissionDirective=function(){var link,name;return name="tgClassPermission",link=function($scope,$el,$attrs){var checkPermissions,tgClassPermissionWatchAction,unbindWatcher;return checkPermissions=function(project,className,permission){var negation;return negation="!"===permission[0],negation&&(permission=permission.slice(1)),negation&&-1===project.my_permissions.indexOf(permission)?$el.addClass(className):negation||-1===project.my_permissions.indexOf(permission)?$el.removeClass(className):$el.addClass(className)},tgClassPermissionWatchAction=function(project){var className,classes,permission,results;if(project){unbindWatcher(),classes=$scope.$eval($attrs[name]),results=[];for(className in classes)permission=classes[className],results.push(checkPermissions(project,className,permission));return results}},unbindWatcher=$scope.$watch("project",tgClassPermissionWatchAction)},{link:link}},module.directive("tgClassPermission",ClassPermissionDirective),AnimationFrame=function(){var add,animationFrame,performAnimation,tail;return animationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,performAnimation=function(){return function(){var fn;return fn=tail.shift(),fn(),tail.length?animationFrame(performAnimation):void 0}}(this),tail=[],add=function(){var fn,i,len,results;for(results=[],i=0,len=arguments.length;len>i;i++)fn=arguments[i],tail.push(fn),results.push(1===tail.length?animationFrame(performAnimation):void 0);return results},{add:add}},module.factory("animationFrame",AnimationFrame),ToggleCommentDirective=function(){var link;return link=function($scope,$el){return $el.find("textarea").on("focus",function(){return $el.addClass("active")})},{link:link}},module.directive("tgToggleComment",ToggleCommentDirective),AppTitle=function(){var set;return set=function(text){return $("title").text(text)},{set:set}},module.factory("$appTitle",AppTitle),ProjectUrl=function($navurls){var get;return get=function(project){var ctx;return ctx={project:project.slug},project.is_backlog_activated&&project.my_permissions.indexOf("view_us")>-1?$navurls.resolve("project-backlog",ctx):project.is_kanban_activated&&project.my_permissions.indexOf("view_us")>-1?$navurls.resolve("project-kanban",ctx):project.is_wiki_activated&&project.my_permissions.indexOf("view_wiki_pages")>-1?$navurls.resolve("project-wiki",ctx):project.is_issues_activated&&project.my_permissions.indexOf("view_issues")>-1?$navurls.resolve("project-issues",ctx):$navurls.resolve("project",ctx)},{get:get}},module.factory("$projectUrl",["$tgNavUrls",ProjectUrl]),LimitLineLengthDirective=function(){var link;return link=function($scope,$el){var maxColsPerLine;return maxColsPerLine=parseInt($el.attr("cols")),$el.on("keyup",function(event){var code,lines;return code=event.keyCode,lines=$el.val().split("\n"),_.each(lines,function(line,index){return lines[index]=line.substring(0,maxColsPerLine-2)}),$el.val(lines.join("\n"))})},{link:link}},module.directive("tgLimitLineLength",LimitLineLengthDirective),Qqueue=function($q){var deferred,lastPromise,qqueue;return deferred=$q.defer(),deferred.resolve(),lastPromise=deferred.promise,qqueue={bindAdd:function(_this){return function(fn){return function(){var args;return args=1<=arguments.length?slice.call(arguments,0):[],lastPromise=lastPromise.then(function(){return fn.apply(_this,args)})}}}(this),add:function(){return function(fn){return lastPromise=lastPromise?lastPromise.then(fn):fn(),qqueue}}(this)}},module.factory("$tgQqueue",["$q",Qqueue]),Template=function($templateCache){return{get:function(){return function(name,lodash){var tmp;return null==lodash&&(lodash=!1),tmp=$templateCache.get(name),lodash&&(tmp=_.template(tmp)),tmp}}(this)}},module.factory("$tgTemplate",["$templateCache",Template])}.call(this),function(){var EventsProvider,EventsService,bindMethods,module,startswith,taiga;taiga=this.taiga,startswith=this.taiga.startswith,bindMethods=this.taiga.bindMethods,module=angular.module("taigaEvents",[]),EventsService=function(){function EventsService(win,log,config,auth){this.win=win,this.log=log,this.config=config,this.auth=auth,bindMethods(this)}return EventsService.prototype.initialize=function(sessionId){return this.sessionId=sessionId,this.subscriptions={},this.connected=!1,this.error=!1,this.pendingMessages=[],void 0===this.win.WebSocket?this.log.info("WebSockets not supported on your browser"):void 0},EventsService.prototype.setupConnection=function(){var loc,path,scheme,url;return this.stopExistingConnection(),(url=this.config.get("eventsUrl"))?(startswith(url,"ws:")||startswith(url,"wss:")||(loc=this.win.location,scheme="https:"===loc.protocol?"wss:":"ws:",path=_.str.ltrim(url,"/"),url=scheme+"//"+loc.host+"/"+path),this.ws=new this.win.WebSocket(url),this.ws.addEventListener("open",this.onOpen),this.ws.addEventListener("message",this.onMessage),this.ws.addEventListener("error",this.onError),this.ws.addEventListener("close",this.onClose)):void 0},EventsService.prototype.stopExistingConnection=function(){return void 0!==this.ws?(this.ws.removeEventListener("open",this.onOpen),this.ws.removeEventListener("close",this.onClose),this.ws.removeEventListener("error",this.onError),this.ws.removeEventListener("message",this.onMessage),this.ws.close(),delete this.ws):void 0},EventsService.prototype.serialize=function(message){return _.isObject(message)?JSON.stringify(message):message},EventsService.prototype.sendMessage=function(message){var i,len,messages,msg,results;if(this.pendingMessages.push(message),this.connected){for(messages=_.map(this.pendingMessages,this.serialize),this.pendingMessages=[],results=[],i=0,len=messages.length;len>i;i++)msg=messages[i],results.push(this.ws.send(msg));return results}},EventsService.prototype.subscribe=function(scope,routingKey,callback){var message,subscription;if(!this.error)return this.log.debug("Subscribe to: "+routingKey),subscription={scope:scope,routingKey:routingKey,callback:_.debounce(callback,500,{leading:!0,trailing:!1})},message={cmd:"subscribe",routing_key:routingKey},this.subscriptions[routingKey]=subscription,this.sendMessage(message),scope.$on("$destroy",function(_this){return function(){return _this.unsubscribe(routingKey)}}(this))},EventsService.prototype.unsubscribe=function(routingKey){var message;if(!this.error)return this.log.debug("Unsubscribe from: "+routingKey),message={cmd:"unsubscribe",routing_key:routingKey},this.sendMessage(message)},EventsService.prototype.onOpen=function(){var message,token;return this.connected=!0,this.log.debug("WebSocket connection opened"),token=this.auth.getToken(),message={cmd:"auth",data:{token:token,sessionId:this.sessionId}},this.sendMessage(message)},EventsService.prototype.onMessage=function(event){var data,routingKey,subscription;return this.log.debug("WebSocket message received: "+event.data),data=JSON.parse(event.data),routingKey=data.routing_key,null!=this.subscriptions[routingKey]?(subscription=this.subscriptions[routingKey],subscription.scope.$apply(function(){return subscription.callback(data.data)})):void 0},EventsService.prototype.onError=function(error){return this.log.error("WebSocket error: "+error),this.error=!0},EventsService.prototype.onClose=function(){return this.log.debug("WebSocket closed."),this.connected=!1},EventsService}(),EventsProvider=function(){function EventsProvider(){}return EventsProvider.prototype.setSessionId=function(sessionId){return this.sessionId=sessionId},EventsProvider.prototype.$get=function($win,$log,$conf,$auth){var service;return service=new EventsService($win,$log,$conf,$auth),service.initialize(this.sessionId),service},EventsProvider.prototype.$get.$inject=["$window","$log","$tgConfig","$tgAuth"],EventsProvider}(),module.provider("$tgEvents",EventsProvider)}.call(this),function(){var FeedbackDirective,bindOnce,debounce,groupBy,mixOf,module,taiga,trim;taiga=this.taiga,groupBy=this.taiga.groupBy,bindOnce=this.taiga.bindOnce,mixOf=this.taiga.mixOf,debounce=this.taiga.debounce,trim=this.taiga.trim,module=angular.module("taigaFeedback",[]),FeedbackDirective=function($lightboxService,$repo,$confirm,$loading){var link;return link=function($scope,$el){var form,submit,submitButton;return form=$el.find("form").checksley(),submit=debounce(2e3,function(){return function(event){var promise;return event.preventDefault(),form.validate()?($loading.start(submitButton),promise=$repo.create("feedback",$scope.feedback),promise.then(function(){return $loading.finish(submitButton),$lightboxService.close($el),$confirm.notify("success","\\o/ we'll be happy to read your")}),promise.then(null,function(){return $loading.finish(submitButton),$confirm.notify("error")})):void 0}}(this)),submitButton=$el.find(".submit-button"),$el.on("submit","form",submit),$scope.$on("feedback:show",function(){return $scope.$apply(function(){return $scope.feedback={}}),$lightboxService.open($el),$el.find("textarea").focus()}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgLbFeedback",["lightboxService","$tgRepo","$tgConfirm","$tgLoading",FeedbackDirective])}.call(this),function(){var module;module=angular.module("taigaIntegrations",[])}.call(this),function(){var module;module=angular.module("taigaIssues",[])}.call(this),function(){var module;module=angular.module("taigaKanban",[])}.call(this),function(){var module;module=angular.module("taigaLocales",[])}.call(this),function(){var ProjectMenuDirective,ProjectsNavigationController,ProjectsNavigationDirective,bindOnce,groupBy,module,taiga,timeout,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,groupBy=this.taiga.groupBy,bindOnce=this.taiga.bindOnce,timeout=this.taiga.timeout,module=angular.module("taigaNavMenu",[]),ProjectsNavigationController=function(superClass){function ProjectsNavigationController(scope,rootscope,rs,navurls,projectUrl){var promise;this.scope=scope,this.rootscope=rootscope,this.rs=rs,this.navurls=navurls,this.projectUrl=projectUrl,promise=this.loadInitialData(),promise.then(null,function(){return console.log("FAIL")}),this.scope.$on("projects:reload",function(_this){return function(){return _this.loadInitialData()}}(this)),this.scope.$on("project:loaded",function(_this){return function(){return _this.loadInitialData()}}(this))}return extend(ProjectsNavigationController,superClass),ProjectsNavigationController.$inject=["$scope","$rootScope","$tgResources","$tgNavUrls","$projectUrl"],ProjectsNavigationController.prototype.loadInitialData=function(){var ref;return this.rs.projects.listByMember(null!=(ref=this.rootscope.user)?ref.id:void 0).then(function(_this){return function(projects){var i,len,project;for(i=0,len=projects.length;len>i;i++)project=projects[i],project.url=_this.projectUrl.get(project);return _this.scope.projects=projects,_this.scope.filteredProjects=projects,_this.scope.filterText="",projects}}(this))},ProjectsNavigationController.prototype.newProject=function(){return this.scope.$apply(function(_this){return function(){return _this.rootscope.$broadcast("projects:create")}}(this))},ProjectsNavigationController.prototype.filterProjects=function(text){return this.scope.filteredProjects=_.filter(this.scope.projects,function(project){return project.name.toLowerCase().indexOf(text)>-1}),this.scope.filterText=text,this.rootscope.$broadcast("projects:filtered")},ProjectsNavigationController}(taiga.Controller),module.controller("ProjectsNavigationController",ProjectsNavigationController),ProjectsNavigationDirective=function($rootscope,animationFrame,$timeout,tgLoader,$location,$compile,$template){var baseTemplate,hideMenu,link,loadingStart,overlay,projectsTemplate;return baseTemplate=$template.get("project/project-navigation-base.html",!0),projectsTemplate=$template.get("project/project-navigation-list.html",!0),overlay=$(".projects-nav-overlay"),loadingStart=0,hideMenu=function(){var difftime,timeoutValue;return overlay.is(":visible")?(difftime=(new Date).getTime()-loadingStart,timeoutValue=0,1e3>difftime&&(timeoutValue=1e3-timeoutValue),timeout(timeoutValue,function(){return overlay.one("transitionend",function(){return $(document.body).removeClass("loading-project open-projects-nav closed-projects-nav").css("overflow-x","visible"),overlay.hide()}),$(document.body).addClass("closed-projects-nav"),tgLoader.disablePreventLoading()})):void 0},link=function($scope,$el,$attrs,$ctrls){var $ctrl,render,renderProjects;return $ctrl=$ctrls[0],$rootscope.$on("project:loaded",hideMenu),renderProjects=function(projects){var html;return html=projectsTemplate({projects:projects}),$el.find(".projects-list").html(html),$scope.$emit("regenerate:project-pagination")},render=function(projects){return $el.html($compile(baseTemplate())($scope)),renderProjects(projects)},overlay.on("click",function(){return hideMenu()}),$(document).on("keydown",function(){return function(e){var code;return code=e.keyCode?e.keyCode:e.which,27===code?hideMenu():void 0}}(this)),$scope.$on("nav:projects-list:open",function(){return $(document.body).hasClass("open-projects-nav")||animationFrame.add(function(){return function(){return overlay.show()}}(this)),animationFrame.add(function(){return function(){return $(document.body).css("overflow-x","hidden")}}(this),function(){return function(){return $(document.body).toggleClass("open-projects-nav")}}(this))}),$el.on("click",".projects-list > li > a",function(event){var currentUrl,nextUrl,target;return target=angular.element(event.currentTarget),nextUrl=target.prop("href"),currentUrl=$location.absUrl(),nextUrl===currentUrl?void hideMenu():($(document.body).addClass("loading-project"),tgLoader.preventLoading(),loadingStart=(new Date).getTime())}),$el.on("click",".create-project-button",function(event){return event.preventDefault(),$ctrl.newProject()}),$el.on("keyup",".search-project",function(event){var target;return target=angular.element(event.currentTarget),$ctrl.filterProjects(target.val())}),$scope.$on("projects:filtered",function(){return renderProjects($scope.filteredProjects)}),$scope.$watch("projects",function(projects){return null!=projects?render(projects):void 0})},{require:["tgProjectsNav"],controller:ProjectsNavigationController,link:link}},module.directive("tgProjectsNav",["$rootScope","animationFrame","$timeout","tgLoader","$tgLocation","$compile","$tgTemplate",ProjectsNavigationDirective]),ProjectMenuDirective=function($log,$compile,$auth,$rootscope,$tgAuth,$location,$navUrls,$config,$template){var getSectionName,link,mainTemplate,menuEntriesTemplate,renderMainMenu,renderMenuEntries,videoConferenceUrl;return menuEntriesTemplate=$template.get("project/project-menu.html",!0),mainTemplate=_.template('\n'),getSectionName=function($el,sectionName,project){var oldSectionName,ref;return oldSectionName=null!=(ref=$el.find("a.active").parent().attr("id"))?ref.replace("nav-",""):void 0,"backlog-kanban"===sectionName&&("backlog"===oldSectionName||"kanban"===oldSectionName?sectionName=oldSectionName:project.is_backlog_activated&&!project.is_kanban_activated?sectionName="backlog":!project.is_backlog_activated&&project.is_kanban_activated&&(sectionName="kanban")),sectionName},renderMainMenu=function($el){var html;return html=mainTemplate({}),$el.html(html)},renderMenuEntries=function($el,targetScope,project){var container,ctx,dom,sectionName;return null==project&&(project={}),container=$el.find(".menu-container"),sectionName=getSectionName($el,targetScope.section,project),ctx={user:$auth.getUser(),project:project,feedbackEnabled:$config.get("feedbackEnabled")},dom=$compile(menuEntriesTemplate(ctx))(targetScope),dom.find("a.active").removeClass("active"),dom.find("#nav-"+sectionName+" > a").addClass("active"),container.replaceWith(dom)},videoConferenceUrl=function(project){var baseUrl,url;if("appear-in"===project.videoconferences)baseUrl="https://appear.in/";else{if("talky"!==project.videoconferences)return"";baseUrl="https://talky.io/"}return url=project.videoconferences_salt?project.slug+"-"+project.videoconferences_salt:""+project.slug,baseUrl+url},link=function($scope,$el){var project;return renderMainMenu($el),project=null,$el.on("click",".logo",function(event){var target;return event.preventDefault(),target=angular.element(event.currentTarget),$rootscope.$broadcast("nav:projects-list:open")}),$el.on("click",".user-settings .avatar",function(event){return event.preventDefault(),$el.find(".user-settings .popover").popover().open()}),$el.on("click",".logout",function(event){return event.preventDefault(),$auth.logout(),$scope.$apply(function(){return $location.path($navUrls.resolve("login"))})}),$el.on("click","#nav-search > a",function(event){return event.preventDefault(),$rootscope.$broadcast("search-box:show",project)}),$el.on("click",".feedback",function(event){return event.preventDefault(),$rootscope.$broadcast("feedback:show")}),$scope.$on("projects:loaded",function(listener){return $el.addClass("hidden"),listener.stopPropagation()}),$scope.$on("project:loaded",function(ctx,newProject){return project=newProject,$el.hasClass("hidden")&&$el.removeClass("hidden"),project.videoconferenceUrl=videoConferenceUrl(project),renderMenuEntries($el,ctx.targetScope,project)})},{link:link}},module.directive("tgProjectMenu",["$log","$compile","$tgAuth","$rootScope","$tgAuth","$tgLocation","$tgNavUrls","$tgConfig","$tgTemplate",ProjectMenuDirective])}.call(this),function(){var module;module=angular.module("taigaProject",[])}.call(this),function(){var RelatedTaskAssignedToInlineEditionDirective,RelatedTaskCreateButtonDirective,RelatedTaskCreateFormDirective,RelatedTaskRowDirective,RelatedTasksDirective,debounce,module,taiga,trim;taiga=this.taiga,trim=this.taiga.trim,debounce=this.taiga.debounce,module=angular.module("taigaRelatedTasks",[]),RelatedTaskRowDirective=function($repo,$compile,$confirm,$rootscope,$loading,$template){var link,templateEdit,templateView;return templateView=$template.get("task/related-task-row.html",!0),templateEdit=$template.get("task/related-task-row-edit.html",!0),link=function($scope,$el,$attrs,$model){var renderEdit,renderView,saveTask;return saveTask=debounce(2e3,function(task){var promise;return task.subject=$el.find("input").val(),$loading.start($el.find(".task-name")),promise=$repo.save(task),promise.then(function(){return function(){return $loading.finish($el.find(".task-name")),$confirm.notify("success"),$rootscope.$broadcast("related-tasks:update")}}(this)),promise.then(null,function(){return function(){return $loading.finish($el.find(".task-name")),$el.find("input").val(task.subject),$confirm.notify("error")}}(this)),promise}),renderEdit=function(task){return $el.html($compile(templateEdit({task:task}))($scope)),$el.on("keyup","input",function(event){return 13===event.keyCode?saveTask($model.$modelValue).then(function(){return renderView($model.$modelValue)}):27===event.keyCode?renderView($model.$modelValue):void 0}),$el.on("click",".icon-floppy",function(){return saveTask($model.$modelValue).then(function(){return renderView($model.$modelValue)})}),$el.on("click",".cancel-edit",function(){return renderView($model.$modelValue)})},renderView=function(task){var perms;return $el.off(),perms={modify_task:-1!==$scope.project.my_permissions.indexOf("modify_task"),delete_task:-1!==$scope.project.my_permissions.indexOf("delete_task")},$el.html($compile(templateView({task:task,perms:perms}))($scope)),$el.on("click",".icon-edit",function(){return renderEdit($model.$modelValue),$el.find("input").focus().select()}),$el.on("click",".delete-task",function(){var message,title;return task=$model.$modelValue,title="Delete Task",message=task.subject,$confirm.askOnDelete(title,message).then(function(finish){var promise;return promise=$repo.remove(task),promise.then(function(){return finish(),$confirm.notify("success"),$scope.$emit("related-tasks:delete")}),promise.then(null,function(){return $confirm.notify("error")})})})},$scope.$watch($attrs.ngModel,function(val){return val?renderView(val):void 0}),$scope.$on("related-tasks:assigned-to-changed",function(){return $rootscope.$broadcast("related-tasks:update")}),$scope.$on("related-tasks:status-changed",function(){return $rootscope.$broadcast("related-tasks:update")}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,require:"ngModel"}},module.directive("tgRelatedTaskRow",["$tgRepo","$compile","$tgConfirm","$rootScope","$tgLoading","$tgTemplate",RelatedTaskRowDirective]),RelatedTaskCreateFormDirective=function($repo,$compile,$confirm,$tgmodel,$loading,$analytics,$template){var link,newTask,template;return template=$template.get("task/related-task-create-form.html",!0),newTask={subject:"",assigned_to:null},link=function($scope,$el){var createTask,render;return createTask=debounce(2e3,function(task){var promise;return task.subject=$el.find("input").val(),task.assigned_to=$scope.newTask.assigned_to,task.status=$scope.newTask.status,$scope.newTask.status=$scope.project.default_task_status,$scope.newTask.assigned_to=null,$loading.start($el.find(".task-name")),promise=$repo.create("tasks",task),promise.then(function(){return $analytics.trackEvent("task","create","create task on userstory",1),$loading.finish($el.find(".task-name")),$scope.$emit("related-tasks:add"),$confirm.notify("success")}),promise.then(null,function(){return $el.find("input").val(task.subject),$loading.finish($el.find(".task-name")),$confirm.notify("error")}),promise}),render=function(){return $el.off(),$el.html($compile(template())($scope)),$el.find("input").focus().select(),$el.addClass("active"),$el.on("keyup","input",function(event){return 13===event.keyCode?createTask(newTask).then(function(){return render()}):27===event.keyCode?$el.html(""):void 0}),$el.on("click",".icon-delete",function(){return $el.html("")}),$el.on("click",".icon-floppy",function(){return createTask(newTask).then(function(){return $el.html("")})})},taiga.bindOnce($scope,"us",function(){return newTask.status=$scope.project.default_task_status,newTask.project=$scope.project.id,newTask.user_story=$scope.us.id,$scope.newTask=$tgmodel.make_model("tasks",newTask),$el.html("")}),$scope.$on("related-tasks:show-form",function(){return render()}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgRelatedTaskCreateForm",["$tgRepo","$compile","$tgConfirm","$tgModel","$tgLoading","$tgAnalytics","$tgTemplate",RelatedTaskCreateFormDirective]),RelatedTaskCreateButtonDirective=function(){var link,template;return template=_.template(''),link=function($scope,$el){return $scope.$watch("project",function(val){return val?($el.off(),$el.html(-1!==$scope.project.my_permissions.indexOf("add_task")?template():""),$el.on("click",".icon",function(){return $scope.$emit("related-tasks:add-new-clicked")})):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgRelatedTaskCreateButton",["$tgRepo","$compile","$tgConfirm","$tgModel",RelatedTaskCreateButtonDirective]),RelatedTasksDirective=function($repo,$rs,$rootscope){var link;return link=function($scope,$el){var loadTasks;return loadTasks=function(){return $rs.tasks.list($scope.projectId,null,$scope.usId).then(function(){return function(tasks){return $scope.tasks=tasks,tasks}}(this))},$scope.$on("related-tasks:add",function(){return loadTasks().then(function(){return $rootscope.$broadcast("related-tasks:update")})}),$scope.$on("related-tasks:delete",function(){return loadTasks().then(function(){return $rootscope.$broadcast("related-tasks:update")})}),$scope.$on("related-tasks:add-new-clicked",function(){return $scope.$broadcast("related-tasks:show-form")}),taiga.bindOnce($scope,"us",function(){return loadTasks()}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgRelatedTasks",["$tgRepo","$tgResources","$rootScope",RelatedTasksDirective]),RelatedTaskAssignedToInlineEditionDirective=function($repo,$rootscope){var link,template;return template=_.template('<%- name %>\n
<%- name %>
'),link=function($scope,$el,$attrs){var $ctrl,autoSave,notAutoSave,task,updateRelatedTask;return updateRelatedTask=function(task){var ctx,member;return ctx={name:"Unassigned",imgurl:"/images/unnamed.png"},member=$scope.usersById[task.assigned_to],member&&(ctx.imgurl=member.photo,ctx.name=member.full_name_display),$el.find(".avatar").html(template(ctx)),$el.find(".task-assignedto").attr("title",ctx.name)},$ctrl=$el.controller(),task=$scope.$eval($attrs.tgRelatedTaskAssignedToInlineEdition),notAutoSave=$scope.$eval($attrs.notAutoSave),autoSave=!notAutoSave,updateRelatedTask(task),$el.on("click",".task-assignedto",function(){return $rootscope.$broadcast("assigned-to:add",task)}),taiga.bindOnce($scope,"project",function(project){return-1===project.my_permissions.indexOf("modify_task")?($el.unbind("click"),$el.find("a").addClass("not-clickable")):void 0}),$scope.$on("assigned-to:added",debounce(2e3,function(){return function(ctx,userId,updatedRelatedTask){return updatedRelatedTask.id===task.id?(updatedRelatedTask.assigned_to=userId,autoSave&&$repo.save(updatedRelatedTask).then(function(){return $scope.$emit("related-tasks:assigned-to-changed")}),updateRelatedTask(updatedRelatedTask)):void 0}}(this))),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgRelatedTaskAssignedToInlineEdition",["$tgRepo","$rootScope",RelatedTaskAssignedToInlineEditionDirective])}.call(this),function(){var ResourcesService,initResources,initUrls,module,taiga,urls,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,ResourcesService=function(superClass){function ResourcesService(){return ResourcesService.__super__.constructor.apply(this,arguments)}return extend(ResourcesService,superClass),ResourcesService}(taiga.Service),urls={auth:"/auth","auth-register":"/auth/register",invitations:"/invitations",permissions:"/permissions",roles:"/roles",projects:"/projects",memberships:"/memberships","notify-policies":"/notify-policies","bulk-create-memberships":"/memberships/bulk_create",milestones:"/milestones",userstories:"/userstories","bulk-create-us":"/userstories/bulk_create","bulk-update-us-backlog-order":"/userstories/bulk_update_backlog_order","bulk-update-us-sprint-order":"/userstories/bulk_update_sprint_order","bulk-update-us-kanban-order":"/userstories/bulk_update_kanban_order","userstories-restore":"/userstories/%s/restore",tasks:"/tasks","bulk-create-tasks":"/tasks/bulk_create","bulk-update-task-taskboard-order":"/tasks/bulk_update_taskboard_order","tasks-restore":"/tasks/%s/restore",issues:"/issues","bulk-create-issues":"/issues/bulk_create","issues-restore":"/issues/%s/restore",wiki:"/wiki","wiki-restore":"/wiki/%s/restore","wiki-links":"/wiki-links","choices/userstory-statuses":"/userstory-statuses","choices/userstory-statuses/bulk-update-order":"/userstory-statuses/bulk_update_order","choices/points":"/points","choices/points/bulk-update-order":"/points/bulk_update_order","choices/task-statuses":"/task-statuses","choices/task-statuses/bulk-update-order":"/task-statuses/bulk_update_order","choices/issue-statuses":"/issue-statuses","choices/issue-statuses/bulk-update-order":"/issue-statuses/bulk_update_order","choices/issue-types":"/issue-types","choices/issue-types/bulk-update-order":"/issue-types/bulk_update_order","choices/priorities":"/priorities","choices/priorities/bulk-update-order":"/priorities/bulk_update_order","choices/severities":"/severities","choices/severities/bulk-update-order":"/severities/bulk_update_order",search:"/search",sites:"/sites","project-templates":"/project-templates","site-members":"/site-members","site-projects":"/site-projects",users:"/users","users-password-recovery":"/users/password_recovery","users-change-password-from-recovery":"/users/change_password_from_recovery","users-change-password":"/users/change_password","users-change-email":"/users/change_email","users-cancel-account":"/users/cancel","user-storage":"/user-storage",resolver:"/resolver","userstory-statuses":"/userstory-statuses",points:"/points","task-statuses":"/task-statuses","issue-statuses":"/issue-statuses","issue-types":"/issue-types",priorities:"/priorities",severities:"/severities","project-modules":"/projects/%s/modules",webhooks:"/webhooks","webhooks-test":"/webhooks/%s/test",webhooklogs:"/webhooklogs","webhooklogs-resend":"/webhooklogs/%s/resend","history/us":"/history/userstory","history/issue":"/history/issue","history/task":"/history/task","history/wiki":"/history/wiki","attachments/us":"/userstories/attachments","attachments/issue":"/issues/attachments","attachments/task":"/tasks/attachments","attachments/wiki_page":"/wiki/attachments","custom-attributes/userstory":"/userstory-custom-attributes","custom-attributes/issue":"/issue-custom-attributes","custom-attributes/task":"/task-custom-attributes","custom-attributes-values/userstory":"/userstories/custom-attributes-values","custom-attributes-values/issue":"/issues/custom-attributes-values","custom-attributes-values/task":"/tasks/custom-attributes-values",feedback:"/feedback",exporter:"/exporter",importer:"/importer/load_dump","userstories-csv":"/userstories/csv?uuid=%s","tasks-csv":"/tasks/csv?uuid=%s","issues-csv":"/issues/csv?uuid=%s"},initUrls=function($log,$urls){return $log.debug("Initialize api urls"),$urls.update(urls) },initResources=function($log,$rs){var i,len,provider,providers,results;for($log.debug("Initialize resources"),providers=_.toArray(arguments).slice(2),results=[],i=0,len=providers.length;len>i;i++)provider=providers[i],results.push(provider($rs));return results},module=angular.module("taigaResources",["taigaBase"]),module.service("$tgResources",ResourcesService),module.run(["$log","$tgUrls",initUrls]),module.run(["$log","$tgResources","$tgProjectsResourcesProvider","$tgCustomAttributesResourcesProvider","$tgCustomAttributesValuesResourcesProvider","$tgMembershipsResourcesProvider","$tgNotifyPoliciesResourcesProvider","$tgInvitationsResourcesProvider","$tgRolesResourcesProvider","$tgUserSettingsResourcesProvider","$tgSprintsResourcesProvider","$tgUserstoriesResourcesProvider","$tgTasksResourcesProvider","$tgIssuesResourcesProvider","$tgWikiResourcesProvider","$tgSearchResourcesProvider","$tgAttachmentsResourcesProvider","$tgMdRenderResourcesProvider","$tgHistoryResourcesProvider","$tgKanbanResourcesProvider","$tgModulesResourcesProvider","$tgWebhooksResourcesProvider","$tgWebhookLogsResourcesProvider",initResources])}.call(this),function(){var SearchBoxDirective,SearchController,SearchDirective,bindOnce,debounce,debounceLeading,groupBy,mixOf,module,taiga,trim,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,groupBy=this.taiga.groupBy,bindOnce=this.taiga.bindOnce,mixOf=this.taiga.mixOf,debounceLeading=this.taiga.debounceLeading,trim=this.taiga.trim,debounce=this.taiga.debounce,module=angular.module("taigaSearch",[]),SearchController=function(superClass){function SearchController(scope1,repo,rs,params,q,location,appTitle,navUrls,tgLoader){var loadSearchData,promise;this.scope=scope1,this.repo=repo,this.rs=rs,this.params=params,this.q=q,this.location=location,this.appTitle=appTitle,this.navUrls=navUrls,this.tgLoader=tgLoader,this.scope.sectionName="Search",promise=this.loadInitialData(),promise.then(function(_this){return function(){return _this.appTitle.set("Search")}}(this)),promise.then(null,this.onInitialDataError.bind(this)),this.scope.searchTerm="",loadSearchData=debounceLeading(100,function(_this){return function(t){return _this.loadSearchData(t)}}(this)),this.scope.$watch("searchTerm",function(_this){return function(term){return term?loadSearchData(term):_this.tgLoader.pageLoaded()}}(this))}return extend(SearchController,superClass),SearchController.$inject=["$scope","$tgRepo","$tgResources","$routeParams","$q","$tgLocation","$appTitle","$tgNavUrls","tgLoader"],SearchController.prototype.loadFilters=function(){var defered;return defered=this.q.defer(),defered.resolve(),defered.promise},SearchController.prototype.loadProject=function(){return this.rs.projects.getBySlug(this.params.pslug).then(function(_this){return function(project){return _this.scope.project=project,_this.scope.$emit("project:loaded",project),_this.scope.issueStatusById=groupBy(project.issue_statuses,function(x){return x.id}),_this.scope.taskStatusById=groupBy(project.task_statuses,function(x){return x.id}),_this.scope.severityById=groupBy(project.severities,function(x){return x.id}),_this.scope.priorityById=groupBy(project.priorities,function(x){return x.id}),_this.scope.membersById=groupBy(project.memberships,function(x){return x.user}),_this.scope.usStatusById=groupBy(project.us_statuses,function(x){return x.id}),project}}(this))},SearchController.prototype.loadSearchData=function(term){var promise;return promise=this.rs.search["do"](this.scope.projectId,term).then(function(_this){return function(data){return _this.scope.searchResults=data,data}}(this)),promise["finally"](function(_this){return function(){return _this.tgLoader.pageLoaded()}}(this)),promise},SearchController.prototype.loadInitialData=function(){return this.loadProject().then(function(_this){return function(project){return _this.scope.projectId=project.id,_this.fillUsersAndRoles(project.users,project.roles)}}(this))},SearchController}(mixOf(taiga.Controller,taiga.PageMixin)),module.controller("SearchController",SearchController),SearchBoxDirective=function($lightboxService,$navurls,$location,$route){var link;return link=function($scope,$el){var project,submit;return project=null,submit=debounce(2e3,function(){return function(event){var form,text,url;return event.preventDefault(),form=$el.find("form").checksley(),form.validate()?(text=$el.find("#search-text").val(),url=$navurls.resolve("project-search",{project:project.slug}),$lightboxService.close($el),$scope.$apply(function(){return $location.path(url),$location.search("text",text).path(url),$route.reload()})):void 0}}(this)),$scope.$on("search-box:show",function(ctx,newProject){return project=newProject,$lightboxService.open($el),$el.find("#search-text").val("")}),$el.on("submit","form",submit)},{link:link}},module.directive("tgSearchBox",["lightboxService","$tgNavUrls","$tgLocation","$route",SearchBoxDirective]),SearchDirective=function($log,$compile,$templatecache,$routeparams,$location){var link,linkTable;return linkTable=function($scope,$el){var getActiveSection,lastSeatchResults,markSectionTabActive,renderFilterTabs,renderTableContent,tabsDom,templates;return tabsDom=$el.find("section.search-filter"),lastSeatchResults=null,getActiveSection=function(data){var maxVal,name,selectedSectionData,selectedSectionName,value;maxVal=0,selectedSectionName=null,selectedSectionData=null;for(name in data)value=data[name],"count"!==name&&value.length>maxVal&&(maxVal=value.length,selectedSectionName=name,selectedSectionData=value);return 0===maxVal?{name:"userstories",value:[]}:{name:selectedSectionName,value:selectedSectionData}},renderFilterTabs=function(data){var name,results,value;results=[];for(name in data)value=data[name],"count"!==name&&results.push(tabsDom.find("li."+name+" .num").html(value.length));return results},markSectionTabActive=function(section){return tabsDom.find("a.active").removeClass("active"),tabsDom.find("li."+section.name+" a").addClass("active")},templates={issues:$templatecache.get("search-issues"),tasks:$templatecache.get("search-tasks"),userstories:$templatecache.get("search-userstories"),wikipages:$templatecache.get("search-wikipages")},renderTableContent=function(section){var element,oldElements,oldScope,scope,template;return oldElements=$el.find(".search-result-table").children(),oldScope=oldElements.scope(),oldScope&&(oldScope.$destroy(),oldElements.remove()),scope=$scope.$new(),scope[section.name]=section.value,template=angular.element.parseHTML(trim(templates[section.name])),element=$compile(template)(scope),$el.find(".search-result-table").html(element)},$scope.$watch("searchResults",function(data){var activeSection;return lastSeatchResults=data,activeSection=getActiveSection(data),renderFilterTabs(data),renderTableContent(activeSection),markSectionTabActive(activeSection)}),$scope.$watch("searchTerm",function(searchTerm){return searchTerm?$location.search("text",searchTerm):void 0}),$el.on("click",".search-filter li > a",function(event){var section,sectionData,sectionName,target;return event.preventDefault(),target=angular.element(event.currentTarget),sectionName=target.parent().data("name"),sectionData=lastSeatchResults[sectionName],section={name:sectionName,value:sectionData},$scope.$apply(function(){return renderTableContent(section),markSectionTabActive(section)})})},link=function($scope,$el,$attrs){var $ctrl,searchText;return $ctrl=$el.controller(),linkTable($scope,$el,$attrs,$ctrl),searchText=$routeparams.text,$scope.$watch("projectId",function(projectId){return null!=projectId?$scope.searchTerm=searchText:void 0})},{link:link}},module.directive("tgSearch",["$log","$compile","$templateCache","$routeParams","$tgLocation",SearchDirective])}.call(this),function(){var module;module=angular.module("taigaTaskboard",[])}.call(this),function(){var module;module=angular.module("taigaTasks",[])}.call(this),function(){var module;module=angular.module("taigaTeam",[])}.call(this),function(){var module;module=angular.module("taigaUserSettings",[])}.call(this),function(){var module;module=angular.module("taigaUserStories",[])}.call(this),function(){var module;module=angular.module("taigaWiki",[])}.call(this),function(){var AnalyticsService,module,taiga,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,module=angular.module("taigaCommon"),AnalyticsService=function(superClass){function AnalyticsService(rootscope,log,config,win,doc,location){var conf;this.rootscope=rootscope,this.log=log,this.config=config,this.win=win,this.doc=doc,this.location=location,this.initialized=!1,conf=this.config.get("analytics",{}),this.accountId=conf.accountId,this.pageEvent=conf.pageEvent||"$routeChangeSuccess",this.trackRoutes=conf.trackRoutes||!0,this.ignoreFirstPageLoad=conf.ignoreFirstPageLoad||!1}return extend(AnalyticsService,superClass),AnalyticsService.$inject=["$rootScope","$log","$tgConfig","$window","$document","$location"],AnalyticsService.prototype.initialize=function(){return this.accountId?(this.injectAnalytics(),this.win.ga("create",this.accountId,"auto"),this.win.ga("require","displayfeatures"),this.trackRoutes&&!this.ignoreFirstPageLoad&&this.win.ga("send","pageview",this.getUrl()),this.trackRoutes&&this.rootscope.$on(this.pageEvent,function(_this){return function(){return _this.trackPage(_this.getUrl(),"Taiga")}}(this)),this.initialized=!0):void this.log.debug("Analytics: no acount id provided. Disabling.")},AnalyticsService.prototype.getUrl=function(){return this.location.path()},AnalyticsService.prototype.injectAnalytics=function(){var fn;return(fn=function(i,s,o,g,r,a,m){i.GoogleAnalyticsObject=r,i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date,a=s.createElement(o),m=s.getElementsByTagName(o)[0],a.async=1,a.src=g,m.parentNode.insertBefore(a,m)})(window,document,"script","//www.google-analytics.com/analytics.js","ga")},AnalyticsService.prototype.trackPage=function(url,title){return this.initialized&&this.win.ga?(title=title||this.doc[0].title,this.win.ga("send","pageview",{page:url,title:title})):void 0},AnalyticsService.prototype.trackEvent=function(category,action,label,value){return this.initialized&&this.win.ga?this.win.ga("send","event",category,action,label,value):void 0},AnalyticsService}(taiga.Service),module.service("$tgAnalytics",AnalyticsService)}.call(this),function(){var AttachmentDirective,AttachmentsController,AttachmentsDirective,bindMethods,bindOnce,module,sizeFormat,taiga,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,sizeFormat=this.taiga.sizeFormat,bindOnce=this.taiga.bindOnce,bindMethods=this.taiga.bindMethods,module=angular.module("taigaCommon"),AttachmentsController=function(superClass){function AttachmentsController(scope,rootscope,repo,rs,confirm,q){this.scope=scope,this.rootscope=rootscope,this.repo=repo,this.rs=rs,this.confirm=confirm,this.q=q,bindMethods(this),this.type=null,this.objectId=null,this.projectId=null,this.uploadingAttachments=[],this.attachments=[],this.attachmentsCount=0,this.deprecatedAttachmentsCount=0,this.showDeprecated=!1}return extend(AttachmentsController,superClass),AttachmentsController.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$tgConfirm","$q"],AttachmentsController.prototype.initialize=function(type,objectId){return this.type=type,this.objectId=objectId,this.projectId=this.scope.projectId},AttachmentsController.prototype.loadAttachments=function(){var urlname;return this.objectId?(urlname="attachments/"+this.type,this.rs.attachments.list(urlname,this.objectId,this.projectId).then(function(_this){return function(attachments){return _this.attachments=_.sortBy(attachments,"order"),_this.updateCounters(),attachments}}(this))):this.attachments},AttachmentsController.prototype.updateCounters=function(){return this.attachmentsCount=this.attachments.length,this.deprecatedAttachmentsCount=_.filter(this.attachments,{is_deprecated:!0}).length},AttachmentsController.prototype._createAttachment=function(attachment){var promise,urlName;return urlName="attachments/"+this.type,promise=this.rs.attachments.create(urlName,this.projectId,this.objectId,attachment),promise=promise.then(function(_this){return function(data){var index;return data.isCreatedRightNow=!0,index=_this.uploadingAttachments.indexOf(attachment),_this.uploadingAttachments.splice(index,1),_this.attachments.push(data),_this.rootscope.$broadcast("attachment:create")}}(this)),promise=promise.then(null,function(_this){return function(data){var index;return 413===data.status&&_this.scope.$emit("attachments:size-error"),index=_this.uploadingAttachments.indexOf(attachment),_this.uploadingAttachments.splice(index,1),_this.confirm.notify("error","We have not been able to upload '"+attachment.name+"'. "+data.data._error_message),_this.q.reject(data)}}(this))},AttachmentsController.prototype.createAttachments=function(attachments){var promises;return promises=_.map(attachments,function(_this){return function(x){return _this._createAttachment(x)}}(this)),this.q.all(promises).then(function(_this){return function(){return _this.updateCounters()}}(this))},AttachmentsController.prototype.addUploadingAttachments=function(attachments){return this.uploadingAttachments=_.union(this.uploadingAttachments,attachments)},AttachmentsController.prototype.reorderAttachment=function(attachment,newIndex){var oldIndex;return oldIndex=this.attachments.indexOf(attachment),oldIndex!==newIndex?(this.attachments.splice(oldIndex,1),this.attachments.splice(newIndex,0,attachment),_.each(this.attachments,function(x,i){return x.order=i+1})):void 0},AttachmentsController.prototype.updateAttachment=function(attachment){var onError,onSuccess;return onSuccess=function(_this){return function(){return _this.updateCounters(),_this.rootscope.$broadcast("attachment:edit")}}(this),onError=function(_this){return function(response){return 413===response.status&&$scope.$emit("attachments:size-error"),_this.confirm.notify("error"),_this.q.reject()}}(this),this.repo.save(attachment).then(onSuccess,onError)},AttachmentsController.prototype.saveAttachments=function(){return this.repo.saveAll(this.attachments).then(null,function(_this){return function(){var item,j,len,ref;for(ref=_this.attachments,j=0,len=ref.length;len>j;j++)item=ref[j],item.revert();return _this.attachments=_.sortBy(_this.attachments,"order")}}(this))},AttachmentsController.prototype.removeAttachment=function(attachment){var message,title;return title="Delete attachment",message="the attachment '"+attachment.name+"'",this.confirm.askOnDelete(title,message).then(function(_this){return function(finish){var onError,onSuccess;return onSuccess=function(){var index;return finish(),index=_this.attachments.indexOf(attachment),_this.attachments.splice(index,1),_this.updateCounters(),_this.rootscope.$broadcast("attachment:delete")},onError=function(){return finish(!1),_this.confirm.notify("error",null,"We have not been able to delete "+message+"."),_this.q.reject()},_this.repo.remove(attachment).then(onSuccess,onError)}}(this))},AttachmentsController.prototype.filterAttachments=function(item){return this.showDeprecated?!0:!item.is_deprecated},AttachmentsController}(taiga.Controller),AttachmentsDirective=function($config,$confirm,$templates){var link,template,templateFn;return template=$templates.get("attachment/attachments.html",!0),link=function($scope,$el,$attrs,$ctrls){var $ctrl,$model,showSizeInfo,tdom;return $ctrl=$ctrls[0],$model=$ctrls[1],bindOnce($scope,$attrs.ngModel,function(value){return $ctrl.initialize($attrs.type,value.id),$ctrl.loadAttachments()}),tdom=$el.find("div.attachment-body.sortable"),tdom.sortable({items:"div.single-attachment",handle:"a.settings.icon.icon-drag-v",containment:".attachments",dropOnEmpty:!0,scroll:!1,tolerance:"pointer",placeholder:"sortable-placeholder single-attachment"}),tdom.on("sortstop",function(event,ui){var attachment,newIndex;return attachment=ui.item.scope().attach,newIndex=ui.item.index(),$ctrl.reorderAttachment(attachment,newIndex),$ctrl.saveAttachments().then(function(){return $scope.$emit("attachment:edit")})}),showSizeInfo=function(){return $el.find(".size-info").removeClass("hidden")},$scope.$on("attachments:size-error",function(){return showSizeInfo()}),$el.on("change",".attachments-header input",function(event){var files;return files=_.toArray(event.target.files),files.length<1?void 0:$scope.$apply(function(){return $ctrl.addUploadingAttachments(files),$ctrl.createAttachments(files)})}),$el.on("click",".more-attachments",function(event){var target;return event.preventDefault(),target=angular.element(event.currentTarget),$scope.$apply(function(){return $ctrl.showDeprecated=!$ctrl.showDeprecated}),target.find("span.text").addClass("hidden"),$ctrl.showDeprecated?(target.find("span[data-type=hide]").removeClass("hidden"),target.find("more-attachments-num").addClass("hidden")):(target.find("span[data-type=show]").removeClass("hidden"),target.find("more-attachments-num").removeClass("hidden"))}),$scope.$on("$destroy",function(){return $el.off()})},templateFn=function($el,$attrs){var ctx,maxFileSize,maxFileSizeMsg;return maxFileSize=$config.get("maxUploadFileSize",null),maxFileSize&&(maxFileSize=sizeFormat(maxFileSize)),maxFileSizeMsg=maxFileSize?"Maximum upload size is "+maxFileSize:"",ctx={type:$attrs.type,maxFileSize:maxFileSize,maxFileSizeMsg:maxFileSizeMsg},template(ctx)},{require:["tgAttachments","ngModel"],controller:AttachmentsController,controllerAs:"ctrl",restrict:"AE",scope:!0,link:link,template:templateFn}},module.directive("tgAttachments",["$tgConfig","$tgConfirm","$tgTemplate",AttachmentsDirective]),AttachmentDirective=function($template){var link,template,templateEdit;return template=$template.get("attachment/attachment.html",!0),templateEdit=$template.get("attachment/attachment-edit.html",!0),link=function($scope,$el,$attrs,$ctrl){var attachment,render,saveAttachment;return render=function(attachment,edit){var ctx,html,modifyPermission,permissions;return null==edit&&(edit=!1),permissions=$scope.project.my_permissions,modifyPermission=permissions.indexOf("modify_"+$ctrl.type)>-1,ctx={id:attachment.id,name:attachment.name,created_date:moment(attachment.created_date).format("DD MMM YYYY [at] hh:mm"),url:attachment.url,size:sizeFormat(attachment.size),description:attachment.description,isDeprecated:attachment.is_deprecated,modifyPermission:modifyPermission},html=edit?templateEdit(ctx):template(ctx),$el.html(html),attachment.is_deprecated?($el.addClass("deprecated"),$el.find("input:checkbox").prop("checked",!0)):void 0},saveAttachment=function(){return attachment.description=$el.find("input[name='description']").val(),attachment.is_deprecated=$el.find("input[name='is-deprecated']").prop("checked"),$scope.$apply(function(){return $ctrl.updateAttachment(attachment).then(function(){return render(attachment,!1)})})},$el.on("click","a.editable-settings.icon-floppy",function(event){return event.preventDefault(),saveAttachment()}),$el.on("keyup","input[name=description]",function(event){return 13===event.keyCode?saveAttachment():27===event.keyCode?render(attachment,!1):void 0}),$el.on("click","a.editable-settings.icon-delete",function(event){return event.preventDefault(),render(attachment,!1)}),$el.on("click","a.settings.icon-edit",function(event){return event.preventDefault(),render(attachment,!0),$el.find("input[name='description']").focus().select()}),$el.on("click","a.settings.icon-delete",function(event){return event.preventDefault(),$scope.$apply(function(){return $ctrl.removeAttachment(attachment)})}),$scope.$on("$destroy",function(){return $el.off()}),attachment=$scope.$eval($attrs.tgAttachment),render(attachment,attachment.isCreatedRightNow),attachment.isCreatedRightNow?$el.find("input[name='description']").focus().select():void 0},{link:link,require:"^tgAttachments",restrict:"AE"}},module.directive("tgAttachment",["$tgTemplate",AttachmentDirective])}.call(this),function(){var BindScope,module;module=angular.module("taigaCommon"),BindScope=function(config){var link;return config.debugInfo||(jQuery.fn.scope=function(){return this.data("scope")}),link=function($scope,$el){return config.debugInfo?void 0:$el.data("scope",$scope).addClass("tg-scope")},{link:link}},module.directive("tgBindScope",["$tgConfig",BindScope])}.call(this),function(){var AssignedToDirective,BlockButtonDirective,CreatedByDisplayDirective,DateRangeDirective,DateSelectorDirective,DeleteButtonDirective,EditableDescriptionDirective,EditableSubjectDirective,ListItemAssignedtoDirective,ListItemIssueStatusDirective,ListItemPriorityDirective,ListItemSeverityDirective,ListItemTaskStatusDirective,ListItemTypeDirective,ListItemUsStatusDirective,SprintProgressBarDirective,TgMainTitleDirective,TgProgressBarDirective,WatchersDirective,bindOnce,module,taiga;taiga=this.taiga,bindOnce=this.taiga.bindOnce,module=angular.module("taigaCommon"),DateRangeDirective=function(){var link,renderRange;return renderRange=function($el,first,second){var endDate,initDate;return initDate=moment(first).format("DD MMM YYYY"),endDate=moment(second).format("DD MMM YYYY"),$el.html(initDate+"-"+endDate)},link=function($scope,$el,$attrs){var first,ref,second;return ref=$attrs.tgDateRange.split(","),first=ref[0],second=ref[1],bindOnce($scope,first,function(valFirst){return bindOnce($scope,second,function(valSecond){return renderRange($el,valFirst,valSecond)})})},{link:link}},module.directive("tgDateRange",DateRangeDirective),DateSelectorDirective=function(){var link;return link=function($scope,$el,$attrs){var selectedDate;return selectedDate=null,$el.picker=new Pikaday({field:$el[0],format:"DD MMM YYYY",onSelect:function(){return function(date){return selectedDate=date}}(this),onOpen:function(){return function(){return null!=selectedDate?$el.picker.setDate(selectedDate):void 0}}(this)}),$scope.$watch($attrs.ngModel,function(val){return null!=val?$el.picker.setDate(val):void 0})},{link:link,require:"ngModel"}},module.directive("tgDateSelector",DateSelectorDirective),SprintProgressBarDirective=function(){var link,renderProgress;return renderProgress=function($el,percentage,visual_percentage){return $el.hasClass(".current-progress")?$el.css("width",percentage+"%"):($el.find(".current-progress").css("width",visual_percentage+"%"),$el.find(".number").html(percentage+" %"))},link=function($scope,$el,$attrs){return bindOnce($scope,$attrs.tgSprintProgressbar,function(sprint){var closedPoints,percentage,totalPoints,visual_percentage;return closedPoints=sprint.closed_points,totalPoints=sprint.total_points,percentage=0,0!==totalPoints&&(percentage=Math.round(100*(closedPoints/totalPoints))),visual_percentage=0,0!==totalPoints&&(visual_percentage=Math.round(98*(closedPoints/totalPoints))),renderProgress($el,percentage,visual_percentage)})},{link:link}},module.directive("tgSprintProgressbar",SprintProgressBarDirective),CreatedByDisplayDirective=function($template){var link,template;return template=$template.get("common/components/created-by.html",!0),link=function($scope,$el,$attrs){var render;return render=function(model){var html,owner,ref;return owner=(null!=(ref=$scope.usersById)?ref[model.owner]:void 0)||{full_name_display:"external user",photo:"/images/unnamed.png"},html=template({owner:owner,date:moment(model.created_date).format("DD MMM YYYY HH:mm")}),$el.html(html)},bindOnce($scope,$attrs.ngModel,function(model){return null!=model?render(model):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel"}},module.directive("tgCreatedByDisplay",["$tgTemplate",CreatedByDisplayDirective]),WatchersDirective=function($rootscope,$confirm,$repo,$qqueue,$template){var link,template;return template=$template.get("common/components/watchers.html",!0),link=function($scope,$el,$attrs,$model){var deleteWatcher,isEditable,renderWatchers,save;return isEditable=function(){var ref,ref1;return-1!==(null!=(ref=$scope.project)&&null!=(ref1=ref.my_permissions)?ref1.indexOf($attrs.requiredPerm):void 0)},save=$qqueue.bindAdd(function(){return function(watchers){var item,promise;return item=$model.$modelValue.clone(),item.watchers=watchers,$model.$setViewValue(item),promise=$repo.save($model.$modelValue),promise.then(function(){return $confirm.notify("success"),watchers=_.map(watchers,function(watcherId){return $scope.usersById[watcherId]}),renderWatchers(watchers),$rootscope.$broadcast("history:reload")}),promise.then(null,function(){return $model.$modelValue.revert()})}}(this)),deleteWatcher=$qqueue.bindAdd(function(){return function(watcherIds){var item,promise;return item=$model.$modelValue.clone(),item.watchers=watcherIds,$model.$setViewValue(item),promise=$repo.save($model.$modelValue),promise.then(function(){var watchers;return $confirm.notify("success"),watchers=_.map(item.watchers,function(watcherId){return $scope.usersById[watcherId]}),renderWatchers(watchers),$rootscope.$broadcast("history:reload")}),promise.then(null,function(){return item.revert(),$confirm.notify("error")})}}(this)),renderWatchers=function(watchers){var ctx,html;return ctx={watchers:watchers,isEditable:isEditable()},html=template(ctx),$el.html(html),isEditable()&&0===watchers.length?($el.find(".title").text("Add watchers"),$el.find(".watchers-header").addClass("no-watchers")):void 0},$el.on("click",".icon-delete",function(event){var message,target,title,watcherId;return event.preventDefault(),isEditable()?(target=angular.element(event.currentTarget),watcherId=target.data("watcher-id"),title="Delete watcher",message=$scope.usersById[watcherId].full_name_display,$confirm.askOnDelete(title,message).then(function(){return function(finish){var watcherIds;return finish(),watcherIds=_.clone($model.$modelValue.watchers,!1),watcherIds=_.pull(watcherIds,watcherId),deleteWatcher(watcherIds)}}(this))):void 0}),$el.on("click",".add-watcher",function(event){return event.preventDefault(),isEditable()?$scope.$apply(function(){return $rootscope.$broadcast("watcher:add",$model.$modelValue)}):void 0}),$scope.$on("watcher:added",function(ctx,watcherId){var watchers;return watchers=_.clone($model.$modelValue.watchers,!1),watchers.push(watcherId),watchers=_.uniq(watchers),save(watchers)}),$scope.$watch($attrs.ngModel,function(item){var watchers;if(null!=item)return watchers=_.map(item.watchers,function(watcherId){return $scope.usersById[watcherId]}),renderWatchers(watchers)}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,require:"ngModel"}},module.directive("tgWatchers",["$rootScope","$tgConfirm","$tgRepo","$tgQqueue","$tgTemplate",WatchersDirective]),AssignedToDirective=function($rootscope,$confirm,$repo,$loading,$qqueue,$template){var link,template;return template=$template.get("common/components/assigned-to.html",!0),link=function($scope,$el,$attrs,$model){var isEditable,renderAssignedTo,save;return isEditable=function(){var ref,ref1;return-1!==(null!=(ref=$scope.project)&&null!=(ref1=ref.my_permissions)?ref1.indexOf($attrs.requiredPerm):void 0)},save=$qqueue.bindAdd(function(){return function(userId){var promise;return $model.$modelValue.assigned_to=userId,$loading.start($el),promise=$repo.save($model.$modelValue),promise.then(function(){return $loading.finish($el),$confirm.notify("success"),renderAssignedTo($model.$modelValue),$rootscope.$broadcast("history:reload")}),promise.then(null,function(){return $model.$modelValue.revert(),$confirm.notify("error"),$loading.finish($el)}),promise}}(this)),renderAssignedTo=function(issue){var assignedTo,assignedToId,ctx,html;return assignedToId=null!=issue?issue.assigned_to:void 0,assignedTo=null!=assignedToId?$scope.usersById[assignedToId]:null,ctx={assignedTo:assignedTo,isEditable:isEditable()},html=template(ctx),$el.html(html)},$el.on("click",".user-assigned",function(event){return event.preventDefault(),isEditable()?$scope.$apply(function(){return $rootscope.$broadcast("assigned-to:add",$model.$modelValue)}):void 0}),$el.on("click",".icon-delete",function(event){var title;return event.preventDefault(),isEditable()?(title="Are you sure you want to leave it unassigned?",$confirm.ask(title).then(function(){return function(finish){return finish(),$model.$modelValue.assigned_to=null,save(null)}}(this))):void 0}),$scope.$on("assigned-to:added",function(ctx,userId,item){return item.id===$model.$modelValue.id?save(userId):void 0}),$scope.$watch($attrs.ngModel,function(instance){return renderAssignedTo(instance)}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,require:"ngModel"}},module.directive("tgAssignedTo",["$rootScope","$tgConfirm","$tgRepo","$tgLoading","$tgQqueue","$tgTemplate",AssignedToDirective]),BlockButtonDirective=function($rootscope,$loading,$template){var link,template;return template=$template.get("common/components/block-button.html"),link=function($scope,$el,$attrs,$model){var isEditable;return isEditable=function(){return-1!==$scope.project.my_permissions.indexOf("modify_us")},$scope.$watch($attrs.ngModel,function(item){return item?(isEditable()&&$el.find(".item-block").addClass("editable"),item.is_blocked?($el.find(".item-block").hide(),$el.find(".item-unblock").show()):($el.find(".item-block").show(),$el.find(".item-unblock").hide())):void 0}),$el.on("click",".item-block",function(event){return event.preventDefault(),$rootscope.$broadcast("block",$model.$modelValue)}),$el.on("click",".item-unblock",function(event){var finish;return event.preventDefault(),$loading.start($el.find(".item-unblock")),finish=function(){return $loading.finish($el.find(".item-unblock"))},$rootscope.$broadcast("unblock",$model.$modelValue,finish)}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel",template:template}},module.directive("tgBlockButton",["$rootScope","$tgLoading","$tgTemplate",BlockButtonDirective]),DeleteButtonDirective=function($log,$repo,$confirm,$location,$template){var link,template;return template=$template.get("common/components/delete-button.html"),link=function($scope,$el,$attrs,$model){return $attrs.onDeleteGoToUrl?$attrs.onDeleteTitle?($el.on("click",".button",function(){var subtitle,title;return title=$scope.$eval($attrs.onDeleteTitle),subtitle=$model.$modelValue.subject,$confirm.askOnDelete(title,subtitle).then(function(){return function(finish){var promise;return promise=$repo.remove($model.$modelValue),promise.then(function(){var url;return finish(),url=$scope.$eval($attrs.onDeleteGoToUrl),$location.path(url)}),promise.then(null,function(){return finish(!1),$confirm.notify("error")})}}(this))}),$scope.$on("$destroy",function(){return $el.off()})):$log.error("DeleteButtonDirective requires on-delete-title set in scope."):$log.error("DeleteButtonDirective requires on-delete-go-to-url set in scope.")},{link:link,restrict:"EA",require:"ngModel",template:template}},module.directive("tgDeleteButton",["$log","$tgRepo","$tgConfirm","$tgLocation","$tgTemplate",DeleteButtonDirective]),EditableSubjectDirective=function($rootscope,$repo,$confirm,$loading,$qqueue,$template){var link,template;return template=$template.get("common/components/editable-subject.html"),link=function($scope,$el,$attrs,$model){var isEditable,save;return isEditable=function(){return-1!==$scope.project.my_permissions.indexOf($attrs.requiredPerm)},save=$qqueue.bindAdd(function(){return function(subject){var promise;return $model.$modelValue.subject=subject,$loading.start($el.find(".save-container")),promise=$repo.save($model.$modelValue),promise.then(function(){return $confirm.notify("success"),$rootscope.$broadcast("history:reload"),$el.find(".edit-subject").hide(),$el.find(".view-subject").show() }),promise.then(null,function(){return $confirm.notify("error")}),promise["finally"](function(){return $loading.finish($el.find(".save-container"))}),promise}}(this)),$el.click(function(){return isEditable()?($el.find(".edit-subject").show(),$el.find(".view-subject").hide(),$el.find("input").focus()):void 0}),$el.on("click",".save",function(){var subject;return subject=$scope.item.subject,save(subject)}),$el.on("keyup","input",function(event){var subject;return 13===event.keyCode?(subject=$scope.item.subject,save(subject)):27===event.keyCode?($scope.$apply(function(){return function(){return $model.$modelValue.revert()}}(this)),$el.find("div.edit-subject").hide(),$el.find("div.view-subject").show()):void 0}),$el.find("div.edit-subject").hide(),$el.find("div.view-subject span.edit").hide(),$scope.$watch($attrs.ngModel,function(value){return value?($scope.item=value,isEditable()?void 0:$el.find(".view-subject .edit").remove()):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel",template:template}},module.directive("tgEditableSubject",["$rootScope","$tgRepo","$tgConfirm","$tgLoading","$tgQqueue","$tgTemplate",EditableSubjectDirective]),EditableDescriptionDirective=function($rootscope,$repo,$confirm,$compile,$loading,$selectedText,$qqueue,$template){var link,noDescriptionMegEditMode,noDescriptionMegReadMode,template;return template=$template.get("common/components/editable-description.html"),noDescriptionMegEditMode=$template.get("common/components/editable-description-msg-edit-mode.html"),noDescriptionMegReadMode=$template.get("common/components/editable-description-msg-read-mode.html"),link=function($scope,$el,$attrs,$model){var isEditable,save;return $el.find(".edit-description").hide(),$el.find(".view-description .edit").hide(),isEditable=function(){return-1!==$scope.project.my_permissions.indexOf($attrs.requiredPerm)},save=$qqueue.bindAdd(function(){return function(description){var promise;return $model.$modelValue.description=description,$loading.start($el.find(".save-container")),promise=$repo.save($model.$modelValue),promise.then(function(){return $confirm.notify("success"),$rootscope.$broadcast("history:reload"),$el.find(".edit-description").hide(),$el.find(".view-description").show()}),promise.then(null,function(){return $confirm.notify("error")}),promise["finally"](function(){return $loading.finish($el.find(".save-container"))})}}(this)),$el.on("mouseup",".view-description",function(event){var target;return target=angular.element(event.target),!isEditable()||target.is("a")||$selectedText.get().length?void 0:($el.find(".edit-description").show(),$el.find(".view-description").hide(),$el.find("textarea").focus())}),$el.on("click",".save",function(e){var description;return e.preventDefault(),description=$scope.item.description,save(description)}),$el.on("keydown","textarea",function(event){return 27===event.keyCode?($scope.$apply(function(){return function(){return $scope.item.revert()}}(this)),$el.find(".edit-description").hide(),$el.find(".view-description").show()):void 0}),$scope.$watch($attrs.ngModel,function(value){return value?($scope.item=value,isEditable()?($el.find(".view-description .edit").show(),$el.find(".view-description .us-content").addClass("editable"),$scope.noDescriptionMsg=noDescriptionMegEditMode):$scope.noDescriptionMsg=noDescriptionMegReadMode):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel",template:template}},module.directive("tgEditableDescription",["$rootScope","$tgRepo","$tgConfirm","$compile","$tgLoading","$selectedText","$tgQqueue","$tgTemplate",EditableDescriptionDirective]),ListItemIssueStatusDirective=function(){var link;return link=function($scope,$el,$attrs){var issue;return issue=$scope.$eval($attrs.tgListitemIssueStatus),bindOnce($scope,"issueStatusById",function(issueStatusById){return $el.html(issueStatusById[issue.status].name)})},{link:link}},ListItemTaskStatusDirective=function(){var link;return link=function($scope,$el,$attrs){var task;return task=$scope.$eval($attrs.tgListitemTaskStatus),bindOnce($scope,"taskStatusById",function(taskStatusById){return $el.html(taskStatusById[task.status].name)})},{link:link}},ListItemUsStatusDirective=function(){var link;return link=function($scope,$el,$attrs){var us;return us=$scope.$eval($attrs.tgListitemUsStatus),bindOnce($scope,"usStatusById",function(usStatusById){return $el.html(usStatusById[us.status].name)})},{link:link}},ListItemAssignedtoDirective=function($template){var link,template;return template=$template.get("common/components/list-item-assigned-to-avatar.html",!0),link=function($scope,$el,$attrs){return bindOnce($scope,"membersById",function(membersById){var ctx,item,member;return item=$scope.$eval($attrs.tgListitemAssignedto),ctx={name:"Unassigned",imgurl:"/images/unnamed.png"},member=membersById[item.assigned_to],member&&(ctx.imgurl=member.photo,ctx.name=member.full_name),$el.html(template(ctx))})},{link:link}},module.directive("tgListitemAssignedto",["$tgTemplate",ListItemAssignedtoDirective]),ListItemPriorityDirective=function(){var link;return link=function($scope,$el,$attrs){var render;return render=function(priorityById,issue){var domNode,priority;return priority=priorityById[issue.priority],domNode=$el.find(".level"),domNode.css("background-color",priority.color),domNode.attr("title",priority.name)},bindOnce($scope,"priorityById",function(priorityById){var issue;return issue=$scope.$eval($attrs.tgListitemPriority),render(priorityById,issue)}),$scope.$watch($attrs.tgListitemPriority,function(issue){return render($scope.priorityById,issue)})},{link:link,templateUrl:"common/components/level.html"}},module.directive("tgListitemPriority",ListItemPriorityDirective),ListItemSeverityDirective=function(){var link;return link=function($scope,$el,$attrs){var render;return render=function(severityById,issue){var domNode,severity;return severity=severityById[issue.severity],domNode=$el.find(".level"),domNode.css("background-color",severity.color),domNode.attr("title",severity.name)},bindOnce($scope,"severityById",function(severityById){var issue;return issue=$scope.$eval($attrs.tgListitemSeverity),render(severityById,issue)}),$scope.$watch($attrs.tgListitemSeverity,function(issue){return render($scope.severityById,issue)})},{link:link,templateUrl:"common/components/level.html"}},ListItemTypeDirective=function(){var link;return link=function($scope,$el,$attrs){var render;return render=function(issueTypeById,issue){var domNode,type;return type=issueTypeById[issue.type],domNode=$el.find(".level"),domNode.css("background-color",type.color),domNode.attr("title",type.name)},bindOnce($scope,"issueTypeById",function(issueTypeById){var issue;return issue=$scope.$eval($attrs.tgListitemType),render(issueTypeById,issue)}),$scope.$watch($attrs.tgListitemType,function(issue){return render($scope.issueTypeById,issue)})},{link:link,templateUrl:"common/components/level.html"}},TgProgressBarDirective=function($template){var link,render,template;return template=$template.get("common/components/progress-bar.html",!0),render=function(el,percentage){return el.html(template({percentage:percentage}))},link=function($scope,$el,$attrs){var element;return element=angular.element($el),$scope.$watch($attrs.tgProgressBar,function(percentage){return percentage=_.max([0,percentage]),percentage=_.min([100,percentage]),render($el,percentage)}),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgProgressBar",["$tgTemplate",TgProgressBarDirective]),TgMainTitleDirective=function($template){var link,render,template;return template=$template.get("common/components/main-title.html",!0),render=function(el,projectName,sectionName){return el.html(template({projectName:projectName,sectionName:sectionName}))},link=function($scope,$el){var element;return element=angular.element($el),$scope.$watch("project",function(project){return project?render($el,project.name,$scope.sectionName):void 0}),$scope.$on("project:loaded",function(){return function(ctx,project){return render($el,project.name,$scope.sectionName)}}(this)),$scope.$on("$destroy",function(){return $el.off()})},{link:link}},module.directive("tgMainTitle",["$tgTemplate",TgMainTitleDirective]),module.directive("tgListitemType",ListItemTypeDirective),module.directive("tgListitemIssueStatus",ListItemIssueStatusDirective),module.directive("tgListitemSeverity",ListItemSeverityDirective),module.directive("tgListitemTaskStatus",ListItemTaskStatusDirective),module.directive("tgListitemUsStatus",ListItemUsStatusDirective)}.call(this),function(){var ConfirmService,NOTIFICATION_MSG,bindMethods,cancelTimeout,debounce,module,taiga,timeout,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,timeout=this.taiga.timeout,cancelTimeout=this.taiga.cancelTimeout,debounce=this.taiga.debounce,bindMethods=this.taiga.bindMethods,NOTIFICATION_MSG={success:{title:"Everything is ok",message:"Our Oompa Loompas saved all your changes!"},error:{title:"Oops, something happened...",message:"Our Oompa Loompas are sad, your changes were not saved!"},"light-error":{title:"Oops, something happened...",message:"Our Oompa Loompas are sad, your changes were not saved!"}},ConfirmService=function(superClass){function ConfirmService(q,lightboxService,loading){this.q=q,this.lightboxService=lightboxService,this.loading=loading,bindMethods(this)}return extend(ConfirmService,superClass),ConfirmService.$inject=["$q","lightboxService","$tgLoading"],ConfirmService.prototype.hide=function(el){return el?(this.lightboxService.close(el),el.off(".confirm-dialog")):void 0},ConfirmService.prototype.ask=function(title,subtitle,message,lightboxSelector){var defered,el;return null==lightboxSelector&&(lightboxSelector=".lightbox-generic-ask"),el=angular.element(lightboxSelector),el.find("h2.title").html(title),el.find("span.subtitle").html(subtitle),el.find("span.message").html(message),defered=this.q.defer(),el.on("click.confirm-dialog","a.button-green",debounce(2e3,function(_this){return function(event){var target;return event.preventDefault(),target=angular.element(event.currentTarget),_this.loading.start(target),defered.resolve(function(ok){return null==ok&&(ok=!0),_this.loading.finish(target),ok?_this.hide(el):void 0})}}(this))),el.on("click.confirm-dialog","a.button-red",function(_this){return function(event){return event.preventDefault(),defered.reject(),_this.hide(el)}}(this)),this.lightboxService.open(el),defered.promise},ConfirmService.prototype.askOnDelete=function(title,message){return this.ask(title,"Are you sure you want to delete?",message)},ConfirmService.prototype.askChoice=function(title,subtitle,choices,replacement,warning,lightboxSelector){var choicesField,defered,el;return null==lightboxSelector&&(lightboxSelector=".lightbox-ask-choice"),el=angular.element(lightboxSelector),el.find(".title").html(title),el.find(".subtitle").html(subtitle),replacement?el.find(".replacement").html(replacement):el.find(".replacement").remove(),warning?el.find(".warning").html(warning):el.find(".warning").remove(),choicesField=el.find(".choices"),choicesField.html(""),_.each(choices,function(value,key){return choicesField.append(angular.element(""))}),defered=this.q.defer(),el.on("click.confirm-dialog","a.button-green",debounce(2e3,function(_this){return function(event){var target;return event.preventDefault(),target=angular.element(event.currentTarget),_this.loading.start(target),defered.resolve({selected:choicesField.val(),finish:function(){return _this.loading.finish(target),_this.hide(el)}})}}(this))),el.on("click.confirm-dialog","a.button-red",function(_this){return function(event){return event.preventDefault(),defered.reject(),_this.hide(el)}}(this)),this.lightboxService.open(el),defered.promise},ConfirmService.prototype.error=function(message){var defered,el;return el=angular.element(".lightbox-generic-error"),el.find("h2.title").html(message),defered=this.q.defer(),el.on("click.confirm-dialog","a.button-green",function(_this){return function(event){return event.preventDefault(),defered.resolve(),_this.hide(el)}}(this)),el.on("click.confirm-dialog","a.close",function(_this){return function(event){return event.preventDefault(),defered.resolve(),_this.hide(el)}}(this)),this.lightboxService.open(el),defered.promise},ConfirmService.prototype.success=function(title,message){var defered,el;return el=angular.element(".lightbox-generic-success"),title&&el.find("h2.title").html(title),message&&el.find("p.message").html(message),defered=this.q.defer(),el.on("click.confirm-dialog","a.button-green",function(_this){return function(event){return event.preventDefault(),defered.resolve(),_this.hide(el)}}(this)),el.on("click.confirm-dialog","a.close",function(_this){return function(event){return event.preventDefault(),defered.resolve(),_this.hide(el)}}(this)),this.lightboxService.open(el),defered.promise},ConfirmService.prototype.loader=function(title,message){var el;return el=angular.element(".lightbox-generic-loading"),title&&el.find("h2.title").html(title),message&&el.find("p.message").html(message),{start:function(_this){return function(){return _this.lightboxService.open(el)}}(this),stop:function(_this){return function(){return _this.lightboxService.close(el)}}(this),update:function(){return function(status,title,message,percent){return title&&el.find("h2.title").html(title),message&&el.find("p.message").html(message),percent?(el.find(".spin").addClass("hidden"),el.find(".progress-bar-wrapper").removeClass("hidden"),el.find(".progress-bar-wrapper > .bar").width(percent+"%"),el.find(".progress-bar-wrapper > span").html(percent+"%").css("left",percent-9+"%")):(el.find(".spin").removeClass("hidden"),el.find(".progress-bar-wrapper").addClass("hidden"))}}(this)}},ConfirmService.prototype.notify=function(type,message,title,time){var body,el,selector;return selector=".notification-message-"+type,el=angular.element(selector),el.hasClass("active")?void 0:(el.find("h4").html(title?title:NOTIFICATION_MSG[type].title),el.find("p").html(message?message:NOTIFICATION_MSG[type].message),body=angular.element("body"),body.find(".notification-message .notification-light").removeClass("active").addClass("inactive"),body.find(selector).removeClass("inactive").addClass("active"),this.tsem&&cancelTimeout(this.tsem),time||(time="error"===type||"light-error"===type?3500:1500),this.tsem=timeout(time,function(_this){return function(){return body.find(selector).removeClass("active").addClass("inactive"),delete _this.tsem}}(this)),el.on("click",".icon-delete",function(){return function(){return body.find(selector).removeClass("active").addClass("inactive")}}(this)))},ConfirmService}(taiga.Service),module=angular.module("taigaCommon"),module.service("$tgConfirm",ConfirmService)}.call(this),function(){var CustomAttributeValueDirective,CustomAttributesValuesController,CustomAttributesValuesDirective,bindMethods,bindOnce,debounce,generateHash,module,taiga,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,bindMethods=this.taiga.bindMethods,bindOnce=this.taiga.bindOnce,debounce=this.taiga.debounce,generateHash=taiga.generateHash,module=angular.module("taigaCommon"),CustomAttributesValuesController=function(superClass){function CustomAttributesValuesController(scope,rootscope,repo,rs,confirm,q){this.scope=scope,this.rootscope=rootscope,this.repo=repo,this.rs=rs,this.confirm=confirm,this.q=q,bindMethods(this),this.type=null,this.objectId=null,this.projectId=null,this.customAttributes=[],this.customAttributesValues=null}return extend(CustomAttributesValuesController,superClass),CustomAttributesValuesController.$inject=["$scope","$rootScope","$tgRepo","$tgResources","$tgConfirm","$q"],CustomAttributesValuesController.prototype.initialize=function(type,objectId){return this.project=this.scope.project,this.type=type,this.objectId=objectId,this.projectId=this.scope.projectId},CustomAttributesValuesController.prototype.loadCustomAttributesValues=function(){return this.objectId?this.rs.customAttributesValues[this.type].get(this.objectId).then(function(_this){return function(customAttributesValues){return _this.customAttributes=_this.project[_this.type+"_custom_attributes"],_this.customAttributesValues=customAttributesValues,customAttributesValues}}(this)):this.customAttributesValues},CustomAttributesValuesController.prototype.getAttributeValue=function(attribute){var attributeValue;return attributeValue=_.clone(attribute,!1),attributeValue.value=this.customAttributesValues.attributes_values[attribute.id],attributeValue},CustomAttributesValuesController.prototype.updateAttributeValue=function(attributeValue){var attributesValues,onError,onSuccess;return onSuccess=function(_this){return function(){return _this.rootscope.$broadcast("custom-attributes-values:edit")}}(this),onError=function(_this){return function(){return _this.confirm.notify("error"),_this.q.reject()}}(this),attributesValues=_.clone(this.customAttributesValues.attributes_values,!0),attributesValues[attributeValue.id]=attributeValue.value,this.customAttributesValues.attributes_values=attributesValues,this.customAttributesValues.id=this.objectId,this.repo.save(this.customAttributesValues).then(onSuccess,onError)},CustomAttributesValuesController}(taiga.Controller),CustomAttributesValuesDirective=function($templates,$storage){var collapsedHash,link,template,templateFn;return template=$templates.get("custom-attributes/custom-attributes-values.html",!0),collapsedHash=function(type){return generateHash(["custom-attributes-collapsed",type])},link=function($scope,$el,$attrs,$ctrls){var $ctrl,$model;return $ctrl=$ctrls[0],$model=$ctrls[1],bindOnce($scope,$attrs.ngModel,function(value){return $ctrl.initialize($attrs.type,value.id),$ctrl.loadCustomAttributesValues()}),$el.on("click",".custom-fields-header a",function(){var collapsed,hash;return hash=collapsedHash($attrs.type),collapsed=!$storage.get(hash),$storage.set(hash,collapsed),collapsed?($el.find(".custom-fields-header a").removeClass("open"),$el.find(".custom-fields-body").removeClass("open")):($el.find(".custom-fields-header a").addClass("open"),$el.find(".custom-fields-body").addClass("open"))}),$scope.$on("$destroy",function(){return $el.off()})},templateFn=function($el,$attrs){var collapsed;return collapsed=$storage.get(collapsedHash($attrs.type))||!1,template({requiredEditionPerm:$attrs.requiredEditionPerm,collapsed:collapsed})},{require:["tgCustomAttributesValues","ngModel"],controller:CustomAttributesValuesController,controllerAs:"ctrl",restrict:"AE",scope:!0,link:link,template:templateFn}},module.directive("tgCustomAttributesValues",["$tgTemplate","$tgStorage",CustomAttributesValuesDirective]),CustomAttributeValueDirective=function($template,$selectedText){var link,template,templateEdit;return template=$template.get("custom-attributes/custom-attribute-value.html",!0),templateEdit=$template.get("custom-attributes/custom-attribute-value-edit.html",!0),link=function($scope,$el,$attrs,$ctrl){var attributeValue,isEditable,render,saveAttributeValue,submit;return render=function(attributeValue,edit){var ctx,editable,html,value;return null==edit&&(edit=!1),value=attributeValue.value,editable=isEditable(),ctx={id:attributeValue.id,name:attributeValue.name,description:attributeValue.description,value:value,isEditable:editable},html=!editable||!edit&&value?template(ctx):templateEdit(ctx),$el.html(html)},isEditable=function(){var permissions,requiredEditionPerm;return permissions=$scope.project.my_permissions,requiredEditionPerm=$attrs.requiredEditionPerm,permissions.indexOf(requiredEditionPerm)>-1},saveAttributeValue=function(){return attributeValue.value=$el.find("input").val(),$scope.$apply(function(){return $ctrl.updateAttributeValue(attributeValue).then(function(){return render(attributeValue,!1)})})},$el.on("keyup","input[name=description]",function(event){return 13===event.keyCode?submit(event):27===event.keyCode?render(attributeValue,!1):void 0}),$el.on("click",".custom-field-value.read-mode",function(){return isEditable()&&!$selectedText.get().length?(render(attributeValue,!0),$el.find("input[name='description']").focus().select()):void 0}),$el.on("click","a.icon-edit",function(event){return event.preventDefault(),render(attributeValue,!0),$el.find("input[name='description']").focus().select()}),submit=debounce(2e3,function(){return function(event){return event.preventDefault(),saveAttributeValue()}}(this)),$el.on("submit","form",submit),$el.on("click","a.icon-floppy",submit),$scope.$on("$destroy",function(){return $el.off()}),attributeValue=$scope.$eval($attrs.tgCustomAttributeValue),render(attributeValue)},{link:link,require:"^tgCustomAttributesValues",restrict:"AE"}},module.directive("tgCustomAttributeValue",["$tgTemplate","$selectedText",CustomAttributeValueDirective])}.call(this),function(){var EstimationsService,LbUsEstimationDirective,UsEstimationDirective,groupBy,module,taiga,bind=function(fn,me){return function(){return fn.apply(me,arguments)}};taiga=this.taiga,groupBy=this.taiga.groupBy,module=angular.module("taigaCommon"),LbUsEstimationDirective=function($tgEstimationsService,$rootScope,$repo,$confirm,$template){var link;return link=function($scope,$el,$attrs,$model){return $scope.$watch($attrs.ngModel,function(us){var estimationProcess;return us?(estimationProcess=$tgEstimationsService.create($el,us,$scope.project),estimationProcess.onSelectedPointForRole=function(){return $scope.$apply(function(){return $model.$setViewValue(us)})},estimationProcess.render=function(){var ctx,html,mainTemplate,template;return ctx={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable},mainTemplate="common/estimation/us-estimation-points-per-role.html",template=$template.get(mainTemplate,!0),html=template(ctx),this.$el.html(html)},estimationProcess.render()):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel"}},module.directive("tgLbUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgConfirm","$tgTemplate",LbUsEstimationDirective]),UsEstimationDirective=function($tgEstimationsService,$rootScope,$repo,$confirm,$qqueue,$template){var link;return link=function($scope,$el,$attrs){return $scope.$watch($attrs.ngModel,function(us){var estimationProcess;return us?(estimationProcess=$tgEstimationsService.create($el,us,$scope.project),estimationProcess.onSelectedPointForRole=function(roleId,pointId){return this.save(roleId,pointId).then(function(){return $rootScope.$broadcast("history:reload")})},estimationProcess.render=function(){var ctx,html,mainTemplate,template;return ctx={totalPoints:this.calculateTotalPoints(),roles:this.calculateRoles(),editable:this.isEditable},mainTemplate="common/estimation/us-estimation-points-per-role.html",template=$template.get(mainTemplate,!0),html=template(ctx),this.$el.html(html)},estimationProcess.render()):void 0}),$scope.$on("$destroy",function(){return $el.off()})},{link:link,restrict:"EA",require:"ngModel"}},module.directive("tgUsEstimation",["$tgEstimationsService","$rootScope","$tgRepo","$tgConfirm","$tgQqueue","$tgTemplate",UsEstimationDirective]),EstimationsService=function($template,$qqueue,$repo,$confirm,$q){var EstimationProcess,create,pointsTemplate;return pointsTemplate=$template.get("common/estimation/us-estimation-points.html",!0),EstimationProcess=function(){function EstimationProcess($el1,us1,project1){this.$el=$el1,this.us=us1,this.project=project1,this.bindClickEvents=bind(this.bindClickEvents,this),this.isEditable=-1!==this.project.my_permissions.indexOf("modify_us"),this.roles=this.project.roles,this.points=this.project.points,this.pointsById=groupBy(this.points,function(x){return x.id}),this.onSelectedPointForRole=function(){},this.render=function(){}}return EstimationProcess.prototype.save=function(){var deferred;return deferred=$q.defer(),$qqueue.add(function(_this){return function(){var onError,onSuccess;return onSuccess=function(){return deferred.resolve(),$confirm.notify("success")},onError=function(){return $confirm.notify("error"),_this.us.revert(),_this.render(),deferred.reject()},$repo.save(_this.us).then(onSuccess,onError)}}(this)),deferred.promise},EstimationProcess.prototype.calculateTotalPoints=function(){var notNullValues,values;return values=_.map(this.us.points,function(_this){return function(v){var ref;return null!=(ref=_this.pointsById[v])?ref.value:void 0}}(this)),0===values.length?"0":(notNullValues=_.filter(values,function(v){return null!=v}),0===notNullValues.length?"?":_.reduce(notNullValues,function(acc,num){return acc+num}))},EstimationProcess.prototype.calculateRoles=function(){var computableRoles,roles;return computableRoles=_.filter(this.project.roles,"computable"),roles=_.map(computableRoles,function(_this){return function(role){var pointId,pointObj;return pointId=_this.us.points[role.id],pointObj=_this.pointsById[pointId],role=_.clone(role,!0),role.points=null!=pointObj&&null!=pointObj.name?pointObj.name:"?",role}}(this))},EstimationProcess.prototype.bindClickEvents=function(){return this.$el.on("click",".total.clickable",function(_this){return function(event){var roleId,target;return event.preventDefault(),event.stopPropagation(),target=angular.element(event.currentTarget),roleId=target.data("role-id"),_this.renderPointsSelector(roleId,target),target.siblings().removeClass("active"),target.addClass("active")}}(this)),this.$el.on("click",".point",function(_this){return function(event){var pointId,points,roleId,target;return event.preventDefault(),event.stopPropagation(),target=angular.element(event.currentTarget),roleId=target.data("role-id"),pointId=target.data("point-id"),_this.$el.find(".popover").popover().close(),points=_.clone(_this.us.points,!0),points[roleId]=pointId,_this.us.points=points,_this.render(),_this.onSelectedPointForRole(roleId,pointId)}}(this))},EstimationProcess.prototype.renderPointsSelector=function(roleId,target){var horizontalList,html,maxPointLength,points;return points=_.map(this.points,function(_this){return function(point){return point=_.clone(point,!0),point.selected=_this.us.points[roleId]===point.id?!1:!0,point}}(this)),maxPointLength=5,horizontalList=_.some(points,function(){return function(point){return point.name.length>maxPointLength}}(this)),html=pointsTemplate({points:points,roleId:roleId,horizontal:horizontalList}),this.$el.find(".popover").popover().close(),this.$el.find(".pop-points-open").remove(),null!=target?this.$el.find(target).append(html):this.$el.append(html),this.$el.find(".pop-points-open").popover().open(function(){return $(this).removeClass("active").closest("li").removeClass("active")}),this.$el.find(".pop-points-open").show()},EstimationProcess}(),create=function($el,us,project){var estimationProcess;return $el.unbind("click"),estimationProcess=new EstimationProcess($el,us,project),estimationProcess.isEditable&&estimationProcess.bindClickEvents(),estimationProcess},{create:create}},module.factory("$tgEstimationsService",["$tgTemplate","$tgQqueue","$tgRepo","$tgConfirm","$q",EstimationsService])}.call(this),function(){var defaultFilter,module,momentFormat,momentFromNow,taiga,unslugify,yesNoFilter;taiga=this.taiga,module=angular.module("taigaCommon"),defaultFilter=function(){return function(value,defaultValue){return value===[null,void 0]?defaultValue:value}},module.filter("default",defaultFilter),yesNoFilter=function(){return function(value){return value?"Yes":"No"}},module.filter("yesNo",yesNoFilter),unslugify=function(){return taiga.unslugify},module.filter("unslugify",unslugify),momentFormat=function(){return function(input,format){return input?moment(input).format(format):""}},module.filter("momentFormat",momentFormat),momentFromNow=function(){return function(input,without_suffix){return input?moment(input).fromNow(without_suffix||!1):""}},module.filter("momentFromNow",momentFromNow)}.call(this),function(){var HistoryController,HistoryDirective,bindOnce,debounce,module,taiga,trim,extend=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child},hasProp={}.hasOwnProperty;taiga=this.taiga,trim=this.taiga.trim,bindOnce=this.taiga.bindOnce,debounce=this.taiga.debounce,module=angular.module("taigaCommon"),HistoryController=function(superClass){function HistoryController(scope,repo,rs){this.scope=scope,this.repo=repo,this.rs=rs}return extend(HistoryController,superClass),HistoryController.$inject=["$scope","$tgRepo","$tgResources"],HistoryController.prototype.initialize=function(type,objectId){return this.type=type,this.objectId=objectId},HistoryController.prototype.loadHistory=function(type,objectId){return this.rs.history.get(type,objectId).then(function(_this){return function(history){var historyResult,i,len;for(i=0,len=history.length;len>i;i++)historyResult=history[i],null!=historyResult.values_diff.description_diff&&(historyResult.values_diff.description=historyResult.values_diff.description_diff),delete historyResult.values_diff.description_html,delete historyResult.values_diff.description_diff,null!=historyResult.values_diff.blocked_note_diff&&(historyResult.values_diff.blocked_note=historyResult.values_diff.blocked_note_diff),delete historyResult.values_diff.blocked_note_html,delete historyResult.values_diff.blocked_note_diff;return _this.scope.history=history,_this.scope.comments=_.filter(history,function(item){return""!==item.comment})}}(this))},HistoryController.prototype.deleteComment=function(type,objectId,activityId){return this.rs.history.deleteComment(type,objectId,activityId).then(function(_this){return function(){return _this.loadHistory(type,objectId)}}(this))},HistoryController.prototype.undeleteComment=function(type,objectId,activityId){return this.rs.history.undeleteComment(type,objectId,activityId).then(function(_this){return function(){return _this.loadHistory(type,objectId)}}(this))},HistoryController}(taiga.Controller),HistoryDirective=function($log,$loading,$qqueue,$template,$confirm){var link,templateActivity,templateBase,templateBaseEntries,templateChangeAttachment,templateChangeDiff,templateChangeGeneric,templateChangeList,templateChangePoints,templateDeletedComment,templateFn;return templateChangeDiff=$template.get("common/history/history-change-diff.html",!0),templateChangePoints=$template.get("common/history/history-change-points.html",!0),templateChangeGeneric=$template.get("common/history/history-change-generic.html",!0),templateChangeAttachment=$template.get("common/history/history-change-attachment.html",!0),templateChangeList=$template.get("common/history/history-change-list.html",!0),templateDeletedComment=$template.get("common/history/history-deleted-comment.html",!0),templateActivity=$template.get("common/history/history-activity.html",!0),templateBaseEntries=$template.get("common/history/history-base-entries.html",!0),templateBase=$template.get("common/history/history-base.html",!0),link=function($scope,$el,$attrs,$ctrl){var countChanges,formatChange,getHumanizedFieldName,getUserAvatar,getUserFullName,objectId,renderActivity,renderAttachmentEntry,renderChange,renderChangeEntries,renderChangeEntry,renderChangesHelperText,renderComment,renderComments,renderCustomAttributesEntry,renderHistory,save,showAllActivity,showAllComments,type;return type=$attrs.type,objectId=null,showAllComments=!1,showAllActivity=!1,bindOnce($scope,$attrs.ngModel,function(model){return type=$attrs.type,objectId=model.id,$ctrl.initialize(type,objectId),$ctrl.loadHistory(type,objectId) diff --git a/dist/js/app.js.map b/dist/js/app.js.map index c4af8d7..f9ffbfa 100644 --- a/dist/js/app.js.map +++ b/dist/js/app.js.map @@ -1 +1 @@ -{"version":3,"sources":["app.js","classes.js","utils.js","controllerMixins.js","admin.js","auth.js","backlog.js","base.js","common.js","events.js","feedback.js","integrations.js","issues.js","kanban.js","locales.js","nav.js","projects.js","related-tasks.js","resources.js","search.js","taskboard.js","tasks.js","team.js","user-settings.js","userstories.js","wiki.js","analytics.js","attachments.js","bind-scope.js","components.js","confirm.js","custom-field-values.js","estimation.js","filters.js","history.js","importer.js","lightboxes.js","loader.js","loading.js","popovers.js","raven-logger.js","tags.js","wisiwyg.js","main.js","sortable.js","sprints.js","charts.js","detail.js","list.js","memberships.js","project-profile.js","project-values.js","roles.js","third-parties.js","bind.js","conf.js","contrib.js","http.js","i18n.js","location.js","model.js","navurls.js","repository.js","storage.js","urls.js","custom-attributes-values.js","custom-attributes.js","invitations.js","mdrender.js","modules.js","notify-policies.js","webhooklogs.js","webhooks.js","change-password.js","notifications.js","humanshtml/humanshtml.js","terms/terms.js","locales.en.js"],"names":["configure","init","module","modules","taiga","this","taigaContribPlugins","generateHash","components","_","map","x","JSON","stringify","hex_sha1","join","generateUniqueSessionIdentifier","date","randomNumber","Date","getTime","Math","floor","random","sessionId","$routeProvider","$locationProvider","$httpProvider","$provide","$tgEventsProvider","tgLoaderProvider","$compileProvider","authHttpIntercept","defaultHeaders","versionCheckHttpIntercept","when","templateUrl","resolve","loader","add","reloadOnSearch","redirectTo","params","pslug","otherwise","html5Mode","enabled","requireBase","Content-Type","Accept-Language","X-Session-Id","defaults","headers","patch","post","put","get","setSessionId","$q","$location","$navUrls","$lightboxService","httpResponseError","response","nextPath","status","closeAll","path","replace","url","search","reject","responseError","factory","interceptors","push","$confirm","versionErrorMsg","data","version","notify","window","checksley","updateValidators","linewidth","val","width","lines","valid","nl2br","split","every","line","length","updateMessages","debugInfoEnabled","taigaConfig","debugInfo","$log","$i18n","$config","$rootscope","$auth","$events","$analytics","initialize","debug","contribPlugins","adminPlugins","where","type","isAuthenticated","setupConnection","concat","plugin","angular","config","run","call","TaigaBase","TaigaController","TaigaService","extend","child","parent","ctor","constructor","key","hasProp","prototype","__super__","hasOwnProperty","bind","fn","me","apply","arguments","superClass","onInitialDataError","xhr","location","navUrls","q","Base","Service","Controller","bindMethods","bindOnce","cancelTimeout","debounce","debounceLeading","groupBy","joinStr","mixOf","scopeDefer","sizeFormat","slugify","startswith","timeout","toString","toggleText","trim","unslugify","indexOf","item","i","l","slice","str","breakTag","object","dependencies","methods","keys","forIn","value","bindAll","scope","attr","continuation","delBind","$eval","$watch","Mixed","base","method","mixin","mixins","name","ref","char","capitalize","element","texts","nextTextPosition","text","coll","pred","len","result","wait","setTimeout","timeoutVar","clearTimeout","func","defer","$apply","isNumber","isString","isPlainObject","isUndefined","leading","trailing","str1","str2","startsWith","input","precision","number","size","units","isNaN","parseFloat","isFinite","log","pow","toFixed","FiltersMixin","PageMixin","fillUsersAndRoles","users","roles","activeUsers","availableRoles","filter","user","is_active","sortBy","activeUsersById","e","id","usersById","project","memberships","uniq","computableRoles","contains","loadUsersAndRoles","promise","all","rs","projects","usersList","projectId","rolesList","then","_this","results","selectFilter","load","existing","compact","isInCurrentRouteParams","noreload","replaceFilter","replaceAllFilters","filters","unselectFilter","newValues","parsedValues","isEmpty","AuthService","CancelAccountDirective","ChangeEmailDirective","ChangePasswordFromRecoveryDirective","ForgotPasswordDirective","InvitationDirective","LoginDirective","PublicRegisterMessageDirective","RegisterDirective","rootscope","storage","model","http","urls","$inject","getUser","userData","make_model","setUser","auth","$broadcast","default_language","set","getAttrs","clear","remove","setToken","token","getToken","removeToken","login","clone","auth_token","logout","register","getInvitation","invitations","acceptInvitiationWithNewUser","acceptInvitiationWithExistingUser","forgotPassword","changePasswordFromRecovery","changeEmail","cancelAccount","service","templates","template","templateFn","publicRegisterEnabled","restrict","directive","$routeParams","link","$scope","$el","onError","onSuccess","submit","nextUrl","event","form","loginFormType","preventDefault","Form","find","validate","username","password","on","onErrorSubmit","onSuccessSubmit","onlyOneErrorElement","trackEvent","_error_message","setErrors","success","email","$params","tokenInParams","loginForm","onErrorSubmitLogin","onErrorSubmitRegister","onSuccessSubmitLogin","onSuccessSubmitRegister","registerForm","submitLogin","submitRegister","invitation","dataLogin","project_slug","escape","project_name","dataRegister","$repo","$model","email_token","queryOne","cancel_token","TaigaMainDirective","$window","onresize","home","error","not-found","permission-denied","forgot-password","change-password","change-email","cancel-account","create-project","profile","project-backlog","project-taskboard","project-kanban","project-issues","project-search","project-userstories-detail","project-tasks-detail","project-issues-detail","project-wiki","project-wiki-page","project-team","project-admin-home","project-admin-project-profile-details","project-admin-project-profile-default-values","project-admin-project-profile-modules","project-admin-project-profile-export","project-admin-project-profile-reports","project-admin-project-values-status","project-admin-project-values-points","project-admin-project-values-priorities","project-admin-project-values-severities","project-admin-project-values-types","project-admin-project-values-custom-fields","project-admin-memberships","project-admin-roles","project-admin-third-parties-webhooks","project-admin-third-parties-github","project-admin-third-parties-gitlab","project-admin-third-parties-bitbucket","project-admin-contrib","user-settings-user-profile","user-settings-user-change-password","user-settings-user-avatar","user-settings-mail-notifications","$navurls","update","AnimationFrame","AppTitle","CheckPermissionDirective","ClassPermissionDirective","LimitLineLengthDirective","ProjectUrl","Qqueue","SelectedText","Template","ToggleCommentDirective","$document","getSelection","selection","createRange","render","permission","my_permissions","removeClass","$attrs","addClass","tgCheckPermission","$on","off","checkPermissions","tgClassPermissionWatchAction","unbindWatcher","className","negation","classes","animationFrame","performAnimation","tail","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","shift","$","ctx","slug","is_backlog_activated","is_kanban_activated","is_wiki_activated","is_issues_activated","maxColsPerLine","parseInt","code","keyCode","each","index","substring","deferred","lastPromise","qqueue","bindAdd","args","$templateCache","lodash","tmp","EventsProvider","EventsService","win","subscriptions","connected","pendingMessages","WebSocket","info","loc","scheme","stopExistingConnection","protocol","ltrim","host","ws","addEventListener","onOpen","onMessage","onClose","removeEventListener","close","serialize","message","isObject","sendMessage","messages","msg","send","subscribe","routingKey","callback","subscription","cmd","routing_key","unsubscribe","parse","$get","$win","$conf","provider","FeedbackDirective","$loading","submitButton","start","create","feedback","finish","open","focus","ProjectMenuDirective","ProjectsNavigationController","ProjectsNavigationDirective","navurls","projectUrl","loadInitialData","console","listByMember","filteredProjects","filterText","newProject","filterProjects","toLowerCase","controller","$timeout","tgLoader","$compile","$template","baseTemplate","hideMenu","loadingStart","overlay","projectsTemplate","difftime","timeoutValue","is","one","document","body","css","hide","disablePreventLoading","$ctrls","$ctrl","renderProjects","html","$emit","which","hasClass","show","toggleClass","currentUrl","target","currentTarget","prop","absUrl","preventLoading","require","$tgAuth","getSectionName","mainTemplate","menuEntriesTemplate","renderMainMenu","renderMenuEntries","videoConferenceUrl","sectionName","oldSectionName","targetScope","container","dom","section","feedbackEnabled","replaceWith","baseUrl","videoconferences","videoconferences_salt","popover","listener","stopPropagation","videoconferenceUrl","RelatedTaskAssignedToInlineEditionDirective","RelatedTaskCreateButtonDirective","RelatedTaskCreateFormDirective","RelatedTaskRowDirective","RelatedTasksDirective","templateEdit","templateView","renderEdit","renderView","saveTask","task","subject","save","$modelValue","perms","modify_task","delete_task","select","title","askOnDelete","ngModel","$tgmodel","newTask","assigned_to","createTask","default_task_status","us","$rs","loadTasks","tasks","list","usId","autoSave","notAutoSave","updateRelatedTask","member","imgurl","photo","full_name_display","tgRelatedTaskAssignedToInlineEdition","unbind","userId","updatedRelatedTask","ResourcesService","initResources","initUrls","auth-register","permissions","notify-policies","bulk-create-memberships","milestones","userstories","bulk-create-us","bulk-update-us-backlog-order","bulk-update-us-sprint-order","bulk-update-us-kanban-order","userstories-restore","bulk-create-tasks","bulk-update-task-taskboard-order","tasks-restore","issues","bulk-create-issues","issues-restore","wiki","wiki-restore","wiki-links","choices/userstory-statuses","choices/userstory-statuses/bulk-update-order","choices/points","choices/points/bulk-update-order","choices/task-statuses","choices/task-statuses/bulk-update-order","choices/issue-statuses","choices/issue-statuses/bulk-update-order","choices/issue-types","choices/issue-types/bulk-update-order","choices/priorities","choices/priorities/bulk-update-order","choices/severities","choices/severities/bulk-update-order","sites","project-templates","site-members","site-projects","users-password-recovery","users-change-password-from-recovery","users-change-password","users-change-email","users-cancel-account","user-storage","resolver","userstory-statuses","points","task-statuses","issue-statuses","issue-types","priorities","severities","project-modules","webhooks","webhooks-test","webhooklogs","webhooklogs-resend","history/us","history/issue","history/task","history/wiki","attachments/us","attachments/issue","attachments/task","attachments/wiki_page","custom-attributes/userstory","custom-attributes/issue","custom-attributes/task","custom-attributes-values/userstory","custom-attributes-values/issue","custom-attributes-values/task","exporter","importer","userstories-csv","tasks-csv","issues-csv","$urls","providers","toArray","SearchBoxDirective","SearchController","SearchDirective","scope1","repo","appTitle","loadSearchData","searchTerm","t","term","pageLoaded","loadFilters","defered","loadProject","getBySlug","issueStatusById","issue_statuses","taskStatusById","task_statuses","severityById","priorityById","membersById","usStatusById","us_statuses","searchResults","$route","reload","$templatecache","$routeparams","linkTable","getActiveSection","lastSeatchResults","markSectionTabActive","renderFilterTabs","renderTableContent","tabsDom","maxVal","selectedSectionData","selectedSectionName","wikipages","oldElements","oldScope","children","$destroy","$new","parseHTML","activeSection","sectionData","searchText","AnalyticsService","doc","conf","initialized","accountId","pageEvent","trackRoutes","ignoreFirstPageLoad","injectAnalytics","ga","getUrl","trackPage","s","o","g","r","a","m","createElement","getElementsByTagName","async","src","parentNode","insertBefore","page","category","action","label","AttachmentDirective","AttachmentsController","AttachmentsDirective","confirm","objectId","uploadingAttachments","attachments","attachmentsCount","deprecatedAttachmentsCount","showDeprecated","loadAttachments","urlname","updateCounters","is_deprecated","_createAttachment","attachment","urlName","isCreatedRightNow","splice","createAttachments","promises","addUploadingAttachments","union","reorderAttachment","newIndex","oldIndex","order","updateAttachment","saveAttachments","saveAll","j","revert","removeAttachment","filterAttachments","$templates","showSizeInfo","tdom","sortable","items","handle","containment","dropOnEmpty","scroll","tolerance","placeholder","ui","attach","files","maxFileSize","maxFileSizeMsg","controllerAs","saveAttachment","edit","modifyPermission","created_date","moment","format","description","isDeprecated","tgAttachment","BindScope","jQuery","AssignedToDirective","BlockButtonDirective","CreatedByDisplayDirective","DateRangeDirective","DateSelectorDirective","DeleteButtonDirective","EditableDescriptionDirective","EditableSubjectDirective","ListItemAssignedtoDirective","ListItemIssueStatusDirective","ListItemPriorityDirective","ListItemSeverityDirective","ListItemTaskStatusDirective","ListItemTypeDirective","ListItemUsStatusDirective","SprintProgressBarDirective","TgMainTitleDirective","TgProgressBarDirective","WatchersDirective","renderRange","first","second","endDate","initDate","tgDateRange","valFirst","valSecond","selectedDate","picker","Pikaday","field","onSelect","setDate","renderProgress","percentage","visual_percentage","tgSprintProgressbar","sprint","closedPoints","totalPoints","closed_points","total_points","round","owner","$qqueue","deleteWatcher","isEditable","renderWatchers","ref1","requiredPerm","watchers","$setViewValue","watcherId","watcherIds","pull","renderAssignedTo","issue","assignedTo","assignedToId","ask","instance","is_blocked","onDeleteGoToUrl","onDeleteTitle","subtitle","click","$selectedText","noDescriptionMegEditMode","noDescriptionMegReadMode","noDescriptionMsg","tgListitemIssueStatus","tgListitemTaskStatus","tgListitemUsStatus","tgListitemAssignedto","full_name","domNode","priority","color","tgListitemPriority","severity","tgListitemSeverity","issueTypeById","tgListitemType","el","tgProgressBar","max","min","projectName","ConfirmService","NOTIFICATION_MSG","light-error","lightboxService","loading","lightboxSelector","ok","askChoice","choices","replacement","warning","choicesField","append","selected","stop","percent","time","selector","tsem","CustomAttributeValueDirective","CustomAttributesValuesController","CustomAttributesValuesDirective","customAttributes","customAttributesValues","loadCustomAttributesValues","getAttributeValue","attribute","attributeValue","attributes_values","updateAttributeValue","attributesValues","$storage","collapsedHash","collapsed","hash","requiredEditionPerm","saveAttributeValue","editable","tgCustomAttributeValue","EstimationsService","LbUsEstimationDirective","UsEstimationDirective","$tgEstimationsService","$rootScope","estimationProcess","onSelectedPointForRole","calculateTotalPoints","calculateRoles","roleId","pointId","EstimationProcess","pointsTemplate","$el1","us1","project1","bindClickEvents","pointsById","notNullValues","values","v","reduce","acc","num","role","pointObj","renderPointsSelector","siblings","horizontalList","maxPointLength","point","some","horizontal","closest","defaultFilter","momentFormat","momentFromNow","yesNoFilter","defaultValue","without_suffix","fromNow","HistoryController","HistoryDirective","loadHistory","history","historyResult","values_diff","description_diff","description_html","blocked_note_diff","blocked_note","blocked_note_html","comments","comment","deleteComment","activityId","undeleteComment","templateActivity","templateBase","templateBaseEntries","templateChangeAttachment","templateChangeDiff","templateChangeGeneric","templateChangeList","templateChangePoints","templateDeletedComment","countChanges","formatChange","getHumanizedFieldName","getUserAvatar","getUserFullName","renderActivity","renderAttachmentEntry","renderChange","renderChangeEntries","renderChangeEntry","renderChangesHelperText","renderComment","renderComments","renderCustomAttributesEntry","renderHistory","showAllActivity","showAllComments","humanizedFieldNames","is_closed","finish_date","client_requirement","team_requirement","milestone","user_story","is_iocaine","change","isArray","changes","diff","filename","from","to","flatten","customAttrsChanges","added","removed","difference","ref2","delete_comment_date","delete_comment_user","deleteCommentDate","deleteCommentUser","comment_html","canRestoreComment","pk","avatar","userFullName","creationDate","created_at","changesText","mode","canDeleteComment","entries","totalEntries","showMore","totalComments","last","totalChanges","parents","ngmodel","ImportProjectButtonDirective","trigger","file","errorMsg","AssignedToLightboxDirective","BlockLightboxDirective","BlockingMessageInputDirective","CreateBulkUserstoriesDirective","CreateEditUserstoryDirective","LightboxDirective","LightboxKeyboardNavigationService","LightboxService","WatchersLightboxDirective","docEl","lightboxContent","not","removeAttr","lightboxEl","dispatch","activeElement","next","prev","$tgrepo","block","unblock","finishCallback","watch","isNew","statusList","usStatusList","is_archived","tags","broadcastEvent","keydown","statusId","bulk","bulkCreate","lightboxKeyboardNavigationService","closeLightbox","filterUsers","normalizeString","selectedItem","selectedUser","usersTemplate","string","normalizedString","toUpperCase","partial","searchingText","usersSearch","getFilteredUsers","_filterUsers","Loader","LoaderDirective","onStart","onEnd","startCurrentPageLoader","reset","defaultConfig","forceDisabled","minTime","merge","startLoadTime","force","endTime","TgLoadingService","oldContent","RelatedTaskStatusDirective","UsStatusDirective","usStatusDom","usStatusDomParent","tgUsStatus","onUpdate","statuses","selectionTemplate","updateTaskStatus","taskStatusDom","taskStatusDomParent","tgRelatedTaskStatus","closePopover","isVisible","docViewBottom","docViewLeft","docViewRight","docViewTop","docViewWidth","elemBottom","elemLeft","elemRight","elemTop","elemWidth","display","visibility","scrollTop","height","offset","top","left","fadeOut","fadeIn","ExceptionHandlerFactory","ravenConfig","Raven","install","exception","captureException","ColorizeTagsDirective","LbTagLineDirective","TagLineDirective","TagsDirective","formatter","parser","$formatters","$parsers","backlog","kanban","taskboard","srcTags","tgColorizeTagsType","sort","tag","tags_colors","tgColorizeTags","COMMA_KEY","ENTER_KEY","templateTags","addValue","deleteValue","hideSaveButton","removeInputLastCharacter","renderTags","resetInput","saveInputTag","showSaveButton","tagsColors","style","autocomplete","inputValue","positioningFunction","position","elements","menu","source","my","using","ESC_KEY","hideAddTagButton","hideAddTagButtonText","hideInput","renderInReadModeOnly","showAddTagButton","showAddTagButtonText","showInput","blur","tgMarkitupDirective","$tr","previewTemplate","addLine","closePreviewMode","markdownSettings","markdownTitle","prepareUrlFormatting","preview","previewDomNode","setCaretPosition","urlFormatting","class","markItUpDomNode","markdownDomNode","mdrender","markdown","textarea","caretPosition","range","scrollRelation","totalLines","createTextRange","move","selectionStart","setSelectionRange","scrollHeight","nline","cursorPosition","nameSpace","onShiftEnter","keepDefault","openWith","onEnter","afterInsert","cursorLine","emptyListItem","lastLine","markdownCaretPositon","match","newLineContent","markupSet","placeHolder","closeWith","markItUp","separator","beforeInsert","indices","regex","exec","donotparse","endIndex","startIndex","heading","n","BacklogFiltersDirective","templateSelected","initializeSelectedFilters","renderFilters","renderSelectedFilters","selectQFilter","selectedFilters","showCategories","showFilters","toggleFilterSelection","f","currentFiltersType","loadUserstories","CreateEditSprint","createSprint","hasErrors","estimated_start","estimated_finish","newSprint","copy","setAttr","sprintsCounter","__all__","milestonesCounter","estimatedFinish","estimatedStart","lastSprint","lastSprintNameDom","sprints","BacklogController","BacklogDirective","TgBacklogProgressBarDirective","UsPointsDirective","UsRolePointsSelectorDirective","tgBacklogGraphDirective","params1","events","analytics","showTags","activeFilters","initializeEventHandlers","getShowTags","loadProjectStats","loadSprints","moveUs","loadClosedSprints","unloadClosedSprints","initializeSubscription","routingKey1","routingKey2","toggleShowTags","storeShowTags","toggleActiveFilters","stats","completedPercentage","refreshTagsColors","closedSprints","closed","user_stories","openSprints","reverse","sprintsById","resetFilters","selectedStatuses","selectedTags","filtersQ","filterGrp","httpParams","getUrlFilters","storeQueryParams","listUnassigned","setSearchDataFilters","filterVisibleUserstories","generateFilters","loadBacklog","totalClosedMilestones","total_closed_milestones","visibleUserstories","isFilterSelected","searchdata","Object","prepareBulkUpdateData","uses","us_id","resortUserStories","isModified","usList","newUsIndex","newSprintId","len1","len2","oldSprintId","Array","bulkUpdateBacklogOrder","bulkUpdateSprintOrder","len3","oldSprint","urlfilters","results1","pick","plainStatuses","plainTags","countBy","k","obj","count","editUserStory","deleteUserStory","without","addNewUs","default_us_status","addNewSprint","doomLineTemplate","linkDoomLine","linkFilters","linkToolbar","showHideFilter","showHideTags","addDoomLineDom","getUsItems","reloadDoomLine","removeDoomlineDom","current_sum","domElement","assigned_points","before","rowElements","moveToCurrentSprint","selectedUss","extraPoints","totalExtraPoints","ussCurrent","moveToCurrentSprintDom","selectedUsDom","ussDom","ussToMove","itemScope","elm","sidebar","filtersSearch","disableSelection","numberOfRoles","roleName","rolScope","$tgTemplate","rolesTemplate","bindClickElements","filteringRoleId","renderRolesSelector","selectedRoleId","updatingSelectedRoleId","tgBacklogUsPoints","popRolesDom","redrawChart","dataToDraw","client_increment_line","colors","evolution_line","milestonesRange","optimal_line","options","team_increment_line","zero_line","zip","fillColor","ml","optimal","evolution","grid","borderWidth","right","bottom","borderColor","hoverable","xaxis","ticks","axisLabel","axisLabelUseCanvas","axisLabelFontSizePixels","axisLabelFontFamily","axisLabelPadding","tickFormatter","series","shadowSize","fill","radius","lineWidth","tooltip","tooltipOpts","content","xval","yval","flotItem","seriesIndex","abs","empty","plot","adjustPercentaje","projectPointsPercentaje","closedPointsPercentaje","adjusted","tgBacklogProgressBar","definedPoints","defined_points","BacklogEmptySortableDirective","BacklogSortableDirective","SprintSortableDirective","deleteElement","$tgConfirm","getUsIndex","filterError","cancel","connectWith","cursorAt","itemIndex","itemUs","BacklogSprintDirective","BacklogSprintHeaderDirective","ToggleExcludeClosedSprintsVisualization","refreshSprintTableHeight","slideOptions","sprintTableMinHeight","toggleSprint","duration","easing","sprintTable","sprintArrow","tgBacklogSprint","slideToggle","estimatedDateRange","taskboardUrl","excludeClosedSprints","loadingElm","after","SprintGraphDirective","days","day","unshift","d","optimal_points","open_points","tickSize","daysNames","yaxis","formattedDate","roundedValue","CreateBulkTasksDirective","CreateEditTaskDirective","sprintId","TaskboardController","TaskboardDirective","TaskboardSquishColumnDirective","TaskboardTaskDirective","TaskboardUserDirective","rs1","loadTaskboard","taskMove","loadSprintStats","loadSprint","pointsList","roleById","taskStatusList","completedPointsSum","remainingPointsSum","remainingTasks","totalPointsSum","res","completed_points","total_tasks","completed_tasks","openTasks","usTasks","sslug","refreshTasksOrder","resortTasks","bulkUpdateTaskTaskboardOrder","task_id","taskboard_order","addNewTask","editTaskAssignedTo","tableBodyDom","tableHeaderDom","scrollLeft","avatarWidth","maxColumnWidth","getCeilWidth","recalculateStatusColumnWidth","recalculateTaskboardWidth","refreshTaskboardTableWidth","setStatusColumnWidth","statusesFolded","getStatusColumnModes","usFolded","getUsRowModes","foldStatus","storeStatusColumnModes","foldUs","storeUsRowModes","tasksMatrixSize","sqrt","column","columnWidths","columns","totalWidth","outerWidth","total","statusFoldedWidth","forEach","clickable","username_label","assign","TaskboardSortableDirective","itemEl","newParentScope","oldParentScope","itemTask","newStatusId","newUsId","oldStatusId","oldUsId","parentEl","st","KanbanArchivedStatusHeaderDirective","KanbanArchivedStatusIntroDirective","KanbanController","KanbanDirective","KanbanSquishColumnDirective","KanbanUserDirective","KanbanUserstoryDirective","KanbanWipLimitDirective","defaultViewMode","defaultViewModes","maximized","cardClass","minimized","statusViewModes","onAssignedToChanged","loadUserStoriesForStatus","hideUserStoriesForStatus","changeUsAssignedTo","userid","status__is_archived","listAll","usByStatus","us_archived","loadKanban","generateStatusViewModes","storedStatusViewModes","getStatusViewModes","has","storeStatusViewModes","updateStatusViewMode","newViewMode","getCardClass","kanban_order","itemsToSave","bulkUpdateKanbanOrder","hideArchivedText","showArchivedText","hidden","tgKanbanArchivedStatusHeader","hiddenUserStoriexText","userStories","updateIntroText","tgKanbanArchivedStatusIntro","isArchived","userStoriesLoaded","updateTableWidth","folds","redrawWipLimit","tgKanbanWipLimit","wtid","tgKanbanUserAvatar","KanbanSortableDirective","IssueDetailController","IssuePriorityButtonDirective","IssueSeverityButtonDirective","IssueStatusButtonDirective","IssueStatusDisplayDirective","IssueTypeButtonDirective","PromoteIssueToUsButtonDirective","issueRef","issueref","initializeOnDeleteGoToUrl","loadIssue","statusById","typeById","issue_types","typeList","severityList","priorityList","getByRef","issueId","commentModel","neighbors","previous","previousUrl","typees","severityes","priorityes","generated_from_issue","CreateBulkIssuesDirective","CreateIssueDirective","default_issue_status","default_issue_type","default_priority","default_severity","IssueAssignedToInlineEditionDirective","IssueStatusInlineEditionDirective","IssuesController","IssuesDirective","IssuesFiltersDirective","loadIssues","getFilters","storeFilters","issueStatusList","issueTypes","getUrlFilter","loadMyFilters","getMyFilters","removeNotExistingFiltersFromUrl","currentSearch","existingValues","filterName","filterValue","splittedValues","intersection","markSelectedFilters","isSelected","omit","myFilters","filtersData","choicesFiltersFormat","tagsFilterFormat","usersFiltersFormat","unknownOption","reformatedUsers","unknownItem","u","byIdObject","createdBy","created_by","types","loadIssuesRequests","urlFilters","models","current","paginatedBy","saveCurrentFiltersTo","newFilter","storeMyFilters","deleteMyFilter","addNewIssue","addIssuesInBulk","linkOrdering","linkPagination","$pagEl","afterCurrent","atBegin","atEnd","beforeCurrent","getNumPages","renderPagination","numPages","cpage","pages","showPrevious","showNext","pagenum","colHeadElement","currentOrder","icon","finalOrder","newOrder","filterId","customFilterName","loadPromise","currentfilterstype","updateIssueStatus","issueStatusDom","issueStatusDomParent","tgIssueStatusInlineEdition","updateIssue","tgIssueAssignedToInlineEdition","updatedIssue","UsClientRequirementButtonDirective","UsStatusButtonDirective","UsStatusDisplayDirective","UsTasksProgressDisplayDirective","UsTeamRequirementButtonDirective","UserStoryDetailController","usRef","usref","loadUs","progress","totalClosedTasks","totalTasks","canEdit","isRequired","TaskDetailController","TaskIsIocaineButtonDirective","TaskStatusButtonDirective","TaskStatusDisplayDirective","taskRef","taskref","loadTask","taskId","loadUserStory","isIocaine","LeaveProjectDirective","TeamController","TeamFiltersDirective","TeamMemberCurrentUserDirective","TeamMemberStatsDirective","TeamMembersDirective","setRole","filtersRole","loadMembers","currentUser","membership","totals","is_user_active","issuesEnabled","tasksEnabled","wikiEnabled","loadMemberStats","memberStats","vals","sum","processStats","processStat","stat","singleStat","leave","projectid","EditableWikiContentDirective","WikiDetailController","WikiSummaryDirective","projectSlug","wikiSlug","loadWiki","wikiId","loadWikiLinks","listLinks","wikiLinks","last_modifier","imgUrl","totalEditions","editions","lastModifiedDate","modified_date","wikiPage","cancelEdition","disableEdition","getSelectedText","switchToEditMode","switchToReadMode","button","WikiNavDirective","addWikiLinkPermission","deleteWikiLinkPermission","linkId","linkSlug","href","newLink","CreateMembersDirective","MAX_MEMBERSHIP_FIELDSETS","extraTextTemplate","createFieldSet","resetForm","required","roleList","fieldSet","prepend","lastActionButton","newFieldSet","invitation_extra_text","memberWrappers","destroy","mw","memberWrapper","role_id","bulkCreateMemberships","MembershipsController","MembershipsDirective","MembershipsRowActionsDirective","MembershipsRowAdminCheckboxDirective","MembershipsRowAvatarDirective","MembershipsRowRoleSelectorDirective","i_am_owner","httpFilters","addNewMembers","user_email","tgMembershipsRowAvatar","inputId","tgMembershipsRowAdminCheckbox","is_owner","selectedRole","tgMembershipsRowRoleSelector","newRole","activedTemplate","pendingTemplate","tgMembershipsRowActions","resendInvitation","AdminNavigationDirective","tgAdminNavigation","CsvExporterController","CsvExporterIssuesController","CsvExporterTasksController","CsvExporterUserstoriesController","ProjectDefaultValuesDirective","ProjectExportDirective","ProjectModulesDirective","ProjectProfileController","ProjectProfileDirective","prioritiesList","severitiesList","issueTypesList","openDeleteLightbox","newUrl","isVideoconferenceActivated","buttonsEl","hideButtons","hideResult","hideSpinner","resultEl","resultMessageEl","resultTitleEl","setAsyncMessage","setAsyncTitle","setLoadingMessage","setLoadingTitle","setSyncMessage","setSyncTitle","showButtons","showErrorMode","showExportResultAsyncMode","showExportResultSyncMode","showLoadingMode","showResult","showSpinner","spinnerEl","dumpUrl","_generateUuid","setCsvUuid","csvUrl","resolveAbsolute","csvUuid","uuid","regenerateUuid","identity","ColorSelectionDirective","ProjectCustomAttributesController","ProjectCustomAttributesDirective","ProjectValuesController","ProjectValuesDirective","ProjectValuesSectionController","moveValue","loadValues","resource","listValues","maxValueOrder","itemValue","linkDragAndDrop","linkValue","axis","goToBottomList","initializeNewValue","saveNewValue","saveValue","valueType","newValue","table","formEl","row","editionRow","option","onSucces","moveTo","moveCustomAttributes","deleteCustomAttribute","saveCustomAttribute","createCustomAttribute","loadCustomAttributes","maxOrder","attrValues","attrModel","idx","cancelCreate","cancelUpdate","hideAddButton","hideCancelButton","hideCreateForm","hideEditForm","resetNewAttr","revertChangesInCustomAttribute","showAddButton","showCancelButton","showCreateForm","showEditForm","sortableEl","itemAttr","newAttr","EditRoleDirective","NewRoleDirective","RolePermissionsDirective","RolesController","RolesDirective","anyComputableRole","computable","loadExternalUserRole","public_permission","external_user","public_permissions","loadRoles","setComputable","toggleView","toggle","DEFAULT_PERMISSIONS","categoryTemplate","resumeTemplate","generateCategoriesFromRole","renderCategory","renderPermissions","renderResume","categories","isPermissionEditable","issuePermissions","milestonePermissions","setActivePermissions","setActivePermissionsPerCategory","taskPermissions","userStoryPermissions","wikiPermissions","active","is_private","cat","activePermissions","getActivePermissions","categoryId","anon_permissions","BitbucketController","BitbucketWebhooksDirective","GithubController","GithubWebhooksDirective","GitlabController","GitlabWebhooksDirective","NewWebhookDirective","SelectInputText","ValidOriginIpsDirective","WebhookDirective","WebhooksController","loadWebhooks","openHistory","showEditMode","showVisualizationMode","updateLogs","updateShowHideHistoryText","webhook","tgWebhook","validStatus","prettySentHeaders","pairs","request_headers","arg","header","prettySentData","request_data","prettyDate","created","logs_counter","logs","historyElement","textElement","test","resend","addWebhookDOMNode","formDOMNode","loadModules","github","gitlab","bitbucket","saveAttribute","$ngModel","CreateProject","DeleteProjectDirective","$projectUrl","$cacheFactory","removeAll","error_field","error_step","selectors","total_story_points","total_milestones","creation_template","head","step","fields","projectToDelete","ProjectController","ProjectsController","ProjectsListDirective","ProjectsPaginationDirective","recents","loadPageData","checkButtonVisibility","containerSize","hasNextPage","hasPagination","hasPrevPage","nextBtn","nextPage","pageSize","prevBtn","prevPage","visible","lastLi","maxTop","newTop","outerHeight","animate","BindHtmlDirective","BindOnceAltDirective","BindOnceBindDirective","BindOnceHrefDirective","BindOnceHtmlDirective","BindOnceRefDirective","BindOnceSrcDirective","BindOnceTitleDirective","BindTitleDirective","tgBoBind","tgBoHtml","tgBoRef","tgBoSrc","tgBoHref","tgBoAlt","tgBoTitle","tgTitleHtml","tgBindHtml","ConfigurationService","ContribController","rootScope","currentPlugin","pluginTemplate","FiltersStorageService","HttpService","Authorization","request","I18nDirective","I18nService","ns","fallbackLng","lng","localesEn","resStore","en","app","setLanguage","language","i18n","setLng","currentLang","opts","tr","trOpts","locationFactory","lastRoute","un","Model","ModelService","dataTypes","_attrs","_name","_dataTypes","setAttrs","_modifiedAttrs","_isModified","applyCasts","attrName","castMethod","castName","casts","getIdAttrName","getName","attrs","getter","self","setter","substr","enumerable","configurable","defineProperty","isAttributeModified","markSaved","desSerialize","sdata","ddata","cls","int","float","NavigationUrlsDirective","NavigationUrlsService","formatUrl","replacer","bindOnceP","parseNav","tgNav","fullUrl","RepositoryService","model1","resolveUrlForModel","idAttrName","resolveUrlForAttributeModel","extraParams","_data","refresh","queryMany","httpOptions","enablePagination","queryOneAttribute","queryOneRaw","queryPaginated","cache","wikipage","StorageService","_default","serializedValue","localStorage","getItem","setItem","removeItem","UrlsService","fmt","String","mainUrl","Error","rtrim","resourceProvider","object_id","uploadComplete","uploadFailed","uploadProgress","evt","progressMessage","loaded","progressPercent","responseText","_error","FormData","XMLHttpRequest","upload","setRequestHeader","_get","userstory","_list","$http","filtersHashSuffix","hashSuffix","myFiltersHashSuffix","getQueryParams","project_id","bulk_issues","innerPromise","hashSuffixStatusColumnModes","hashSuffixStatusViewModes","listByUser","bulk_memberships","notifyPolicies","memberId","regenerate_userstories_csv_uuid","regenerate_issues_csv_uuid","regenerate_tasks_csv_uuid","statusUpdater","complete","failed","get_all","hashSuffixUserstories","storeUserstoriesQueryParams","hashSuffixUsRowModes","userStoryId","sprint_id","bulk_tasks","changeAvatar","transformRequest","removeAvatar","changePassword","currentPassword","newPassword","current_password","userSettings","status_id","bulk_stories","webhookId","webhooklogId","UserChangePasswordController","UserChangePasswordDirective","newPassword1","newPassword2","DeleteUserDirective","TaigaAvatarModelDirective","UserAvatarDirective","UserProfileDirective","UserSettingsController","avatarAttachment","$parse","modelSetter","tgAvatarModel","UserSettingsNavigationDirective","tgUserSettingsNavigation","UserNotificationsController","UserNotificationsDirective","UserNotificationsListDirective","loadNotifyPolicies","policy","policyIndex","prev_level","notify_level","TermsNoticeDirective","privacyPolicyUrl","termsOfServiceUrl","termsUrl","privacyUrl","defaultMessage","type-email","type-url","type-urlstrict","type-number","type-digits","type-dateIso","type-alphanum","type-phone","notnull","notblank","regexp","minlength","maxlength","rangelength","mincheck","maxcheck","rangecheck","equalto","common","blocked","new-bulk","one-item-line","pagination","markdown-editor","heading-1","heading-2","heading-3","bold","italic","strike","bulleted-list","numeric-list","picture","quotes","code-block","help","link-placeholder","title-new","team-requirement","client-requirement"],"mappings":"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","file":"app.js","sourcesContent":["\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: app.coffee\n */\n\n(function() {\n var configure, init, module, modules, taiga;\n\n this.taiga = taiga = {};\n\n this.taigaContribPlugins = this.taigaContribPlugins || [];\n\n taiga.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n taiga.generateUniqueSessionIdentifier = function() {\n var date, randomNumber;\n date = (new Date()).getTime();\n randomNumber = Math.floor(Math.random() * 0x9000000);\n return taiga.generateHash([date, randomNumber]);\n };\n\n taiga.sessionId = taiga.generateUniqueSessionIdentifier();\n\n configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, tgLoaderProvider, $compileProvider) {\n var authHttpIntercept, defaultHeaders, versionCheckHttpIntercept;\n $routeProvider.when(\"/\", {\n templateUrl: \"project/projects.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/\", {\n templateUrl: \"project/project.html\"\n });\n $routeProvider.when(\"/project/:pslug/search\", {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false\n });\n $routeProvider.when(\"/project/:pslug/backlog\", {\n templateUrl: \"backlog/backlog.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/kanban\", {\n templateUrl: \"kanban/kanban.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\", {\n templateUrl: \"taskboard/taskboard.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/us/:usref\", {\n templateUrl: \"us/us-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/task/:taskref\", {\n templateUrl: \"task/task-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki\", {\n redirectTo: function(params) {\n return \"/project/\" + params.pslug + \"/wiki/home\";\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki/:slug\", {\n templateUrl: \"wiki/wiki.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/team\", {\n templateUrl: \"team/team.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/issues\", {\n templateUrl: \"issue/issues.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/issue/:issueref\", {\n templateUrl: \"issue/issues-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\", {\n templateUrl: \"admin/admin-project-profile.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\", {\n templateUrl: \"admin/admin-project-default-values.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\", {\n templateUrl: \"admin/admin-project-modules.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\", {\n templateUrl: \"admin/admin-project-export.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\", {\n templateUrl: \"admin/admin-project-reports.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\", {\n templateUrl: \"admin/admin-project-values-status.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\", {\n templateUrl: \"admin/admin-project-values-points.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\", {\n templateUrl: \"admin/admin-project-values-priorities.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\", {\n templateUrl: \"admin/admin-project-values-severities.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\", {\n templateUrl: \"admin/admin-project-values-types.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\", {\n templateUrl: \"admin/admin-project-values-custom-fields.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/memberships\", {\n templateUrl: \"admin/admin-memberships.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/roles\", {\n templateUrl: \"admin/admin-roles.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\", {\n templateUrl: \"admin/admin-third-parties-webhooks.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\", {\n templateUrl: \"admin/admin-third-parties-github.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\", {\n templateUrl: \"admin/admin-third-parties-gitlab.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\", {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\", {\n templateUrl: \"contrib/main.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-profile\", {\n templateUrl: \"user/user-profile.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-change-password\", {\n templateUrl: \"user/user-change-password.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-avatar\", {\n templateUrl: \"user/user-avatar.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/mail-notifications\", {\n templateUrl: \"user/mail-notifications.html\"\n });\n $routeProvider.when(\"/change-email/:email_token\", {\n templateUrl: \"user/change-email.html\"\n });\n $routeProvider.when(\"/cancel-account/:cancel_token\", {\n templateUrl: \"user/cancel-account.html\"\n });\n $routeProvider.when(\"/login\", {\n templateUrl: \"auth/login.html\"\n });\n $routeProvider.when(\"/register\", {\n templateUrl: \"auth/register.html\"\n });\n $routeProvider.when(\"/forgot-password\", {\n templateUrl: \"auth/forgot-password.html\"\n });\n $routeProvider.when(\"/change-password\", {\n templateUrl: \"auth/change-password-from-recovery.html\"\n });\n $routeProvider.when(\"/change-password/:token\", {\n templateUrl: \"auth/change-password-from-recovery.html\"\n });\n $routeProvider.when(\"/invitation/:token\", {\n templateUrl: \"auth/invitation.html\"\n });\n $routeProvider.when(\"/error\", {\n templateUrl: \"error/error.html\"\n });\n $routeProvider.when(\"/not-found\", {\n templateUrl: \"error/not-found.html\"\n });\n $routeProvider.when(\"/permission-denied\", {\n templateUrl: \"error/permission-denied.html\"\n });\n $routeProvider.otherwise({\n redirectTo: '/not-found'\n });\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false\n });\n defaultHeaders = {\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": \"en\",\n \"X-Session-Id\": taiga.sessionId\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 $tgEventsProvider.setSessionId(taiga.sessionId);\n authHttpIntercept = function($q, $location, $navUrls, $lightboxService) {\n var httpResponseError;\n httpResponseError = function(response) {\n var nextPath;\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\", authHttpIntercept]);\n $httpProvider.interceptors.push('authHttpIntercept');\n versionCheckHttpIntercept = function($q, $confirm) {\n var httpResponseError, versionErrorMsg;\n versionErrorMsg = \"Someone inside Taiga has changed this before and our Oompa Loompas cannot apply your changes. Please reload and apply your changes again (they will be lost).\";\n httpResponseError = function(response) {\n if (response.status === 400 && response.data.version) {\n $confirm.notify(\"error\", versionErrorMsg, null, 10000);\n return $q.reject(response);\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", \"$tgConfirm\", versionCheckHttpIntercept]);\n $httpProvider.interceptors.push('versionCheckHttpIntercept');\n window.checksley.updateValidators({\n linewidth: function(val, width) {\n var lines, valid;\n lines = taiga.nl2br(val).split(\"
\");\n valid = _.every(lines, function(line) {\n return line.length < width;\n });\n return valid;\n }\n });\n window.checksley.updateMessages(\"default\", {\n linewidth: \"The subject must have a maximum size of %s\"\n });\n return $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false);\n };\n\n init = function($log, $i18n, $config, $rootscope, $auth, $events, $analytics) {\n $i18n.initialize($config.get(\"defaultLanguage\"));\n $log.debug(\"Initialize application\");\n $rootscope.contribPlugins = this.taigaContribPlugins;\n $rootscope.adminPlugins = _.where(this.taigaContribPlugins, {\n \"type\": \"admin\"\n });\n if ($auth.isAuthenticated()) {\n $events.setupConnection();\n }\n return $analytics.initialize();\n };\n\n modules = [\"taigaBase\", \"taigaCommon\", \"taigaResources\", \"taigaLocales\", \"taigaAuth\", \"taigaEvents\", \"taigaRelatedTasks\", \"taigaBacklog\", \"taigaTaskboard\", \"taigaKanban\", \"taigaIssues\", \"taigaUserStories\", \"taigaTasks\", \"taigaTeam\", \"taigaWiki\", \"taigaSearch\", \"taigaAdmin\", \"taigaNavMenu\", \"taigaProject\", \"taigaUserSettings\", \"taigaFeedback\", \"taigaPlugins\", \"taigaIntegrations\", \"templates\", \"ngRoute\", \"ngAnimate\"].concat(_.map(this.taigaContribPlugins, function(plugin) {\n return plugin.module;\n }));\n\n module = angular.module(\"taiga\", modules);\n\n module.config([\"$routeProvider\", \"$locationProvider\", \"$httpProvider\", \"$provide\", \"$tgEventsProvider\", \"tgLoaderProvider\", \"$compileProvider\", configure]);\n\n module.run([\"$log\", \"$tgI18n\", \"$tgConfig\", \"$rootScope\", \"$tgAuth\", \"$tgEvents\", \"$tgAnalytics\", init]);\n\n}).call(this);\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\n(function() {\n var TaigaBase, TaigaController, TaigaService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n TaigaBase = (function() {\n function TaigaBase() {}\n\n return TaigaBase;\n\n })();\n\n TaigaService = (function(superClass) {\n extend(TaigaService, superClass);\n\n function TaigaService() {\n return TaigaService.__super__.constructor.apply(this, arguments);\n }\n\n return TaigaService;\n\n })(TaigaBase);\n\n TaigaController = (function(superClass) {\n extend(TaigaController, superClass);\n\n function TaigaController() {\n this.onInitialDataError = bind(this.onInitialDataError, this);\n return TaigaController.__super__.constructor.apply(this, arguments);\n }\n\n TaigaController.prototype.onInitialDataError = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.location.path(this.navUrls.resolve(\"not-found\"));\n this.location.replace();\n } else if (xhr.status === 403) {\n this.location.path(this.navUrls.resolve(\"permission-denied\"));\n this.location.replace();\n }\n }\n return this.q.reject(xhr);\n };\n\n return TaigaController;\n\n })(TaigaBase);\n\n this.taiga.Base = TaigaBase;\n\n this.taiga.Service = TaigaService;\n\n this.taiga.Controller = TaigaController;\n\n}).call(this);\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: utils.coffee\n */\n\n(function() {\n var bindMethods, bindOnce, cancelTimeout, debounce, debounceLeading, groupBy, joinStr, mixOf, nl2br, scopeDefer, sizeFormat, slugify, startswith, taiga, timeout, toString, toggleText, trim, unslugify,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n nl2br = (function(_this) {\n return function(str) {\n var breakTag;\n breakTag = '
';\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2');\n };\n })(this);\n\n bindMethods = (function(_this) {\n return function(object) {\n var dependencies, methods;\n dependencies = _.keys(object);\n methods = [];\n _.forIn(object, function(value, key) {\n if (indexOf.call(dependencies, key) < 0) {\n return methods.push(key);\n }\n });\n return _.bindAll(object, methods);\n };\n })(this);\n\n bindOnce = (function(_this) {\n return function(scope, attr, continuation) {\n var delBind, val;\n val = scope.$eval(attr);\n if (val !== void 0) {\n return continuation(val);\n }\n delBind = null;\n return delBind = scope.$watch(attr, function(val) {\n if (val === void 0) {\n return;\n }\n continuation(val);\n if (delBind) {\n return delBind();\n }\n });\n };\n })(this);\n\n mixOf = function() {\n var Mixed, base, i, method, mixin, mixins, name, ref;\n base = arguments[0], mixins = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n Mixed = (function(superClass) {\n extend(Mixed, superClass);\n\n function Mixed() {\n return Mixed.__super__.constructor.apply(this, arguments);\n }\n\n return Mixed;\n\n })(base);\n for (i = mixins.length - 1; i >= 0; i += -1) {\n mixin = mixins[i];\n ref = mixin.prototype;\n for (name in ref) {\n method = ref[name];\n Mixed.prototype[name] = method;\n }\n }\n return Mixed;\n };\n\n trim = function(data, char) {\n return _.str.trim(data, char);\n };\n\n slugify = function(data) {\n return _.str.slugify(data);\n };\n\n unslugify = function(data) {\n if (data) {\n return _.str.capitalize(data.replace(/-/g, ' '));\n }\n return data;\n };\n\n toggleText = function(element, texts) {\n var nextTextPosition, text;\n nextTextPosition = element.data('nextTextPosition');\n if ((nextTextPosition == null) || nextTextPosition >= texts.length) {\n nextTextPosition = 0;\n }\n text = texts[nextTextPosition];\n element.data('nextTextPosition', nextTextPosition + 1);\n return element.text(text);\n };\n\n groupBy = function(coll, pred) {\n var i, item, len, result;\n result = {};\n for (i = 0, len = coll.length; i < len; i++) {\n item = coll[i];\n result[pred(item)] = item;\n }\n return result;\n };\n\n timeout = function(wait, continuation) {\n return window.setTimeout(continuation, wait);\n };\n\n cancelTimeout = function(timeoutVar) {\n return window.clearTimeout(timeoutVar);\n };\n\n scopeDefer = function(scope, func) {\n return _.defer((function(_this) {\n return function() {\n return scope.$apply(func);\n };\n })(this));\n };\n\n toString = function(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 }\n return value.toString();\n };\n\n joinStr = function(str, coll) {\n return _.str.join(str, coll);\n };\n\n debounce = function(wait, func) {\n return _.debounce(func, wait, {\n leading: true,\n trailing: false\n });\n };\n\n debounceLeading = function(wait, func) {\n return _.debounce(func, wait, {\n leading: false,\n trailing: true\n });\n };\n\n startswith = function(str1, str2) {\n return _.str.startsWith(str1, str2);\n };\n\n sizeFormat = function(input, precision) {\n var number, size, units;\n if (precision == null) {\n precision = 1;\n }\n if (isNaN(parseFloat(input)) || !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 }\n size = (input / Math.pow(1024, number)).toFixed(precision);\n return size + \" \" + units[number];\n };\n\n taiga = this.taiga;\n\n taiga.nl2br = nl2br;\n\n taiga.bindMethods = bindMethods;\n\n taiga.bindOnce = bindOnce;\n\n taiga.mixOf = mixOf;\n\n taiga.trim = trim;\n\n taiga.slugify = slugify;\n\n taiga.unslugify = unslugify;\n\n taiga.toggleText = toggleText;\n\n taiga.groupBy = groupBy;\n\n taiga.timeout = timeout;\n\n taiga.cancelTimeout = cancelTimeout;\n\n taiga.scopeDefer = scopeDefer;\n\n taiga.toString = toString;\n\n taiga.joinStr = joinStr;\n\n taiga.debounce = debounce;\n\n taiga.debounceLeading = debounceLeading;\n\n taiga.startswith = startswith;\n\n taiga.sizeFormat = sizeFormat;\n\n}).call(this);\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/controllerMixins.coffee\n */\n\n(function() {\n var FiltersMixin, PageMixin, groupBy, joinStr, taiga, toString, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n joinStr = this.taiga.joinStr;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n PageMixin = (function() {\n function PageMixin() {}\n\n PageMixin.prototype.fillUsersAndRoles = function(users, roles) {\n var activeUsers, availableRoles;\n activeUsers = _.filter(users, (function(_this) {\n return function(user) {\n return user.is_active;\n };\n })(this));\n this.scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\");\n this.scope.activeUsersById = groupBy(this.scope.activeUsers, function(e) {\n return e.id;\n });\n this.scope.users = _.sortBy(users, \"full_name_display\");\n this.scope.usersById = groupBy(this.scope.users, function(e) {\n return e.id;\n });\n this.scope.roles = _.sortBy(roles, \"order\");\n availableRoles = _(this.scope.project.memberships).map(\"role\").uniq().value();\n return this.scope.computableRoles = _(roles).filter(\"computable\").filter(function(x) {\n return _.contains(availableRoles, x.id);\n }).value();\n };\n\n PageMixin.prototype.loadUsersAndRoles = function() {\n var promise;\n promise = this.q.all([this.rs.projects.usersList(this.scope.projectId), this.rs.projects.rolesList(this.scope.projectId)]);\n return promise.then((function(_this) {\n return function(results) {\n var roles, users;\n users = results[0], roles = results[1];\n _this.fillUsersAndRoles(users, roles);\n return results;\n };\n })(this));\n };\n\n return PageMixin;\n\n })();\n\n taiga.PageMixin = PageMixin;\n\n FiltersMixin = (function() {\n function FiltersMixin() {}\n\n FiltersMixin.prototype.selectFilter = function(name, value, load) {\n var existing, location, params;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] !== void 0 && name !== \"page\") {\n existing = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n existing.push(taiga.toString(value));\n existing = _.compact(existing);\n value = joinStr(\",\", _.uniq(existing));\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceFilter = function(name, value, load) {\n var location;\n if (load == null) {\n load = false;\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceAllFilters = function(filters, load) {\n var location;\n if (load == null) {\n load = false;\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(filters);\n };\n\n FiltersMixin.prototype.unselectFilter = function(name, value, load) {\n var location, newValues, params, parsedValues;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] === void 0) {\n return;\n }\n if (value === void 0 || value === null) {\n delete params[name];\n }\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n newValues = _.reject(parsedValues, function(x) {\n return x === taiga.toString(value);\n });\n newValues = _.compact(newValues);\n if (_.isEmpty(newValues)) {\n value = null;\n } else {\n value = joinStr(\",\", _.uniq(newValues));\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n };\n\n return FiltersMixin;\n\n })();\n\n taiga.FiltersMixin = FiltersMixin;\n\n}).call(this);\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/admin.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaAdmin\", []);\n\n}).call(this);\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/auth.coffee\n */\n\n(function() {\n var AuthService, CancelAccountDirective, ChangeEmailDirective, ChangePasswordFromRecoveryDirective, ForgotPasswordDirective, InvitationDirective, LoginDirective, PublicRegisterMessageDirective, RegisterDirective, debounce, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAuth\", [\"taigaResources\"]);\n\n AuthService = (function(superClass) {\n extend(AuthService, superClass);\n\n AuthService.$inject = [\"$rootScope\", \"$tgStorage\", \"$tgModel\", \"$tgResources\", \"$tgHttp\", \"$tgUrls\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls) {\n this.rootscope = rootscope;\n this.storage = storage;\n this.model = model;\n this.rs = rs;\n this.http = http;\n this.urls = urls;\n AuthService.__super__.constructor.call(this);\n }\n\n AuthService.prototype.getUser = function() {\n var user, userData;\n if (this.rootscope.user) {\n return this.rootscope.user;\n }\n userData = this.storage.get(\"userInfo\");\n if (userData) {\n user = this.model.make_model(\"users\", userData);\n this.rootscope.user = user;\n return user;\n }\n return null;\n };\n\n AuthService.prototype.setUser = function(user) {\n this.rootscope.auth = user;\n this.rootscope.$broadcast(\"i18n:change\", user.default_language);\n this.storage.set(\"userInfo\", user.getAttrs());\n return this.rootscope.user = user;\n };\n\n AuthService.prototype.clear = function() {\n this.rootscope.auth = null;\n this.rootscope.user = null;\n return this.storage.remove(\"userInfo\");\n };\n\n AuthService.prototype.setToken = function(token) {\n return this.storage.set(\"token\", token);\n };\n\n AuthService.prototype.getToken = function() {\n return this.storage.get(\"token\");\n };\n\n AuthService.prototype.removeToken = function() {\n return this.storage.remove(\"token\");\n };\n\n AuthService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n AuthService.prototype.login = function(data, type) {\n var url;\n url = this.urls.resolve(\"auth\");\n data = _.clone(data, false);\n data.type = type ? type : \"normal\";\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(data, status) {\n var user;\n user = _this.model.make_model(\"users\", data.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.logout = function() {\n this.removeToken();\n return this.clear();\n };\n\n AuthService.prototype.register = function(data, type, existing) {\n var url;\n url = this.urls.resolve(\"auth-register\");\n data = _.clone(data, false);\n data.type = type ? type : \"public\";\n if (type === \"private\") {\n data.existing = existing ? existing : false;\n }\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(response) {\n var user;\n user = _this.model.make_model(\"users\", response.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.getInvitation = function(token) {\n return this.rs.invitations.get(token);\n };\n\n AuthService.prototype.acceptInvitiationWithNewUser = function(data) {\n return this.register(data, \"private\", false);\n };\n\n AuthService.prototype.acceptInvitiationWithExistingUser = function(data) {\n return this.register(data, \"private\", true);\n };\n\n AuthService.prototype.forgotPassword = function(data) {\n var url;\n url = this.urls.resolve(\"users-password-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changePasswordFromRecovery = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-password-from-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changeEmail = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-email\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n AuthService.prototype.cancelAccount = function(data) {\n var url;\n url = this.urls.resolve(\"users-cancel-account\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n return AuthService;\n\n })(taiga.Service);\n\n module.service(\"$tgAuth\", AuthService);\n\n PublicRegisterMessageDirective = function($config, $navUrls, templates) {\n var template, templateFn;\n template = templates.get(\"auth/login-text.html\", true);\n templateFn = function() {\n var publicRegisterEnabled;\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\");\n if (!publicRegisterEnabled) {\n return \"\";\n }\n return template({\n url: $navUrls.resolve(\"register\")\n });\n };\n return {\n restrict: \"AE\",\n scope: {},\n template: templateFn\n };\n };\n\n module.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$tgTemplate\", PublicRegisterMessageDirective]);\n\n LoginDirective = function($auth, $confirm, $location, $config, $routeParams, $navUrls, $events) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, submit;\n onSuccess = function(response) {\n var nextUrl;\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n nextUrl = $routeParams['next'];\n } else {\n nextUrl = $navUrls.resolve(\"home\");\n }\n $events.setupConnection();\n return $location.path(nextUrl);\n };\n onError = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your username/email or password are incorrect.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var data, form, loginFormType, promise;\n event.preventDefault();\n form = new checksley.Form($el.find(\"form.login-form\"));\n if (!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 loginFormType = $config.get(\"loginFormType\", \"normal\");\n promise = $auth.login(data, loginFormType);\n return promise.then(onSuccess, onError);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgEvents\", LoginDirective]);\n\n RegisterDirective = function($auth, $confirm, $location, $navUrls, $config, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n if (!$config.get(\"publicRegisterEnabled\")) {\n $location.path($navUrls.resolve(\"not-found\"));\n $location.replace();\n }\n $scope.data = {};\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmit = function(response) {\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1);\n $confirm.notify(\"success\", \"Our Oompa Loompas are happy, welcome to Taiga.\");\n return $location.path($navUrls.resolve(\"home\"));\n };\n onErrorSubmit = function(response) {\n if (response.data._error_message != null) {\n $confirm.notify(\"light-error\", \"According to our Oompa Loompas there was an error. \" + response.data._error_message);\n }\n return form.setErrors(response.data);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.register($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\", \"$tgAnalytics\", RegisterDirective]);\n\n ForgotPasswordDirective = function($auth, $confirm, $location, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Check your inbox!
We have sent a mail to
\" + response.data.email + \"
with the instructions to set a new password\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your are not registered yet.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.forgotPassword($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", ForgotPasswordDirective]);\n\n ChangePasswordFromRecoveryDirective = function($auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n if ($params.token != null) {\n $scope.tokenInParams = true;\n $scope.data.token = $params.token;\n } else {\n $scope.tokenInParams = false;\n }\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Our Oompa Loompas saved your new password.
Try to sign in with it.\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"light-error\", \"One of our Oompa Loompas say '\" + response.data._error_message + \"'.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.changePasswordFromRecovery($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", ChangePasswordFromRecoveryDirective]);\n\n InvitationDirective = function($auth, $confirm, $location, $params, $navUrls, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var loginForm, onErrorSubmitLogin, onErrorSubmitRegister, onSuccessSubmitLogin, onSuccessSubmitRegister, promise, registerForm, submitLogin, submitRegister, token;\n token = $params.token;\n promise = $auth.getInvitation(token);\n promise.then(function(invitation) {\n return $scope.invitation = invitation;\n });\n promise.then(null, function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Ooops, we have a problem
Our Oompa Loompas can't find your invitation.\");\n });\n $scope.dataLogin = {\n token: token\n };\n loginForm = $el.find(\"form.login-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitLogin = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitLogin = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your are not registered yet or typed an invalid password.\");\n };\n submitLogin = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!loginForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithExistingUser($scope.dataLogin);\n return promise.then(onSuccessSubmitLogin, onErrorSubmitLogin);\n };\n })(this));\n $el.on(\"submit\", \"form.login-form\", submitLogin);\n $el.on(\"click\", \".button-login\", submitLogin);\n $scope.dataRegister = {\n token: token\n };\n registerForm = $el.find(\"form.register-form\").checksley();\n onSuccessSubmitRegister = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitRegister = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, that username or email is already in use.\");\n };\n submitRegister = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!registerForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister);\n return promise.then(onSuccessSubmitRegister, onErrorSubmitRegister);\n };\n })(this));\n $el.on(\"submit\", \"form.register-form\", submitRegister);\n return $el.on(\"click\", \".button-register\", submitRegister);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$tgAnalytics\", InvitationDirective]);\n\n ChangeEmailDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.email_token = $params.email_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n return $repo.queryOne(\"users\", $auth.getUser().id).then((function(_this) {\n return function(data) {\n $auth.setUser(data);\n $location.path($navUrls.resolve(\"home\"));\n return $confirm.success(\"Our Oompa Loompas updated your email\");\n };\n })(this));\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"error\", \"One of our Oompa Loompas says '\" + response.data._error_message + \"'.\");\n };\n submit = function() {\n var promise;\n if (!form.validate()) {\n return;\n }\n promise = $auth.changeEmail($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n $el.on(\"submit\", function(event) {\n event.preventDefault();\n return submit();\n });\n return $el.on(\"click\", \"a.button-change-email\", function(event) {\n event.preventDefault();\n return submit();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", ChangeEmailDirective]);\n\n CancelAccountDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.cancel_token = $params.cancel_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $auth.logout();\n $location.path($navUrls.resolve(\"home\"));\n return $confirm.success(\"Our Oompa Loompas removed your account\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"error\", \"One of our Oompa Loompas says '\" + response.data._error_message + \"'.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.cancelAccount($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", CancelAccountDirective]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaBacklog\", []);\n\n}).call(this);\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/base.coffee\n */\n\n(function() {\n var TaigaMainDirective, bindOnce, groupBy, init, module, taiga, urls;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\", [\"taigaLocales\"]);\n\n TaigaMainDirective = function($rootscope, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n return $window.onresize = function() {\n return $rootscope.$broadcast(\"resize\");\n };\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective]);\n\n urls = {\n \"home\": \"/\",\n \"error\": \"/error\",\n \"not-found\": \"/not-found\",\n \"permission-denied\": \"/permission-denied\",\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 \"profile\": \"/:user\",\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 \"project-userstories-detail\": \"/project/:project/us/:ref\",\n \"project-tasks-detail\": \"/project/:project/task/:ref\",\n \"project-issues-detail\": \"/project/:project/issue/:ref\",\n \"project-wiki\": \"/project/:project/wiki\",\n \"project-wiki-page\": \"/project/:project/wiki/:slug\",\n \"project-team\": \"/project/:project/team\",\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 \"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 \"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 \"user-settings-user-profile\": \"/project/:project/user-settings/user-profile\",\n \"user-settings-user-change-password\": \"/project/:project/user-settings/user-change-password\",\n \"user-settings-user-avatar\": \"/project/:project/user-settings/user-avatar\",\n \"user-settings-mail-notifications\": \"/project/:project/user-settings/mail-notifications\"\n };\n\n init = function($log, $navurls) {\n $log.debug(\"Initialize navigation urls\");\n return $navurls.update(urls);\n };\n\n module.run([\"$log\", \"$tgNavUrls\", init]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var AnimationFrame, AppTitle, CheckPermissionDirective, ClassPermissionDirective, LimitLineLengthDirective, ProjectUrl, Qqueue, SelectedText, Template, ToggleCommentDirective, module, taiga,\n slice = [].slice;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\", []);\n\n SelectedText = function($window, $document) {\n var get;\n get = function() {\n if ($window.getSelection) {\n return $window.getSelection().toString();\n } else if ($document.selection) {\n return $document.selection.createRange().text;\n }\n return \"\";\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText]);\n\n CheckPermissionDirective = function() {\n var link, render;\n render = function($el, project, permission) {\n if (project.my_permissions.indexOf(permission) > -1) {\n return $el.removeClass('hidden');\n }\n };\n link = function($scope, $el, $attrs) {\n var permission;\n $el.addClass('hidden');\n permission = $attrs.tgCheckPermission;\n $scope.$watch(\"project\", function(project) {\n if (project != null) {\n return render($el, project, permission);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCheckPermission\", CheckPermissionDirective);\n\n ClassPermissionDirective = function() {\n var link, name;\n name = \"tgClassPermission\";\n link = function($scope, $el, $attrs) {\n var checkPermissions, tgClassPermissionWatchAction, unbindWatcher;\n checkPermissions = function(project, className, permission) {\n var negation;\n negation = permission[0] === \"!\";\n if (negation) {\n permission = permission.slice(1);\n }\n if (negation && project.my_permissions.indexOf(permission) === -1) {\n return $el.addClass(className);\n } else if (!negation && project.my_permissions.indexOf(permission) !== -1) {\n return $el.addClass(className);\n } else {\n return $el.removeClass(className);\n }\n };\n tgClassPermissionWatchAction = function(project) {\n var className, classes, permission, results;\n if (project) {\n unbindWatcher();\n classes = $scope.$eval($attrs[name]);\n results = [];\n for (className in classes) {\n permission = classes[className];\n results.push(checkPermissions(project, className, permission));\n }\n return results;\n }\n };\n return unbindWatcher = $scope.$watch(\"project\", tgClassPermissionWatchAction);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgClassPermission\", ClassPermissionDirective);\n\n AnimationFrame = function() {\n var add, animationFrame, performAnimation, tail;\n animationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n performAnimation = (function(_this) {\n return function(time) {\n var fn;\n fn = tail.shift();\n fn();\n if (tail.length) {\n return animationFrame(performAnimation);\n }\n };\n })(this);\n tail = [];\n add = function() {\n var fn, i, len, results;\n results = [];\n for (i = 0, len = arguments.length; i < len; i++) {\n fn = arguments[i];\n tail.push(fn);\n if (tail.length === 1) {\n results.push(animationFrame(performAnimation));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n return {\n add: add\n };\n };\n\n module.factory(\"animationFrame\", AnimationFrame);\n\n ToggleCommentDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.find(\"textarea\").on(\"focus\", function() {\n return $el.addClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleComment\", ToggleCommentDirective);\n\n AppTitle = function() {\n var set;\n set = function(text) {\n return $(\"title\").text(text);\n };\n return {\n set: set\n };\n };\n\n module.factory(\"$appTitle\", AppTitle);\n\n ProjectUrl = function($navurls) {\n var get;\n get = function(project) {\n var ctx;\n ctx = {\n project: project.slug\n };\n if (project.is_backlog_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-backlog\", ctx);\n }\n if (project.is_kanban_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-kanban\", ctx);\n }\n if (project.is_wiki_activated && project.my_permissions.indexOf(\"view_wiki_pages\") > -1) {\n return $navurls.resolve(\"project-wiki\", ctx);\n }\n if (project.is_issues_activated && project.my_permissions.indexOf(\"view_issues\") > -1) {\n return $navurls.resolve(\"project-issues\", ctx);\n }\n return $navurls.resolve(\"project\", ctx);\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl]);\n\n LimitLineLengthDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var maxColsPerLine;\n maxColsPerLine = parseInt($el.attr(\"cols\"));\n return $el.on(\"keyup\", function(event) {\n var code, lines;\n code = event.keyCode;\n lines = $el.val().split(\"\\n\");\n _.each(lines, function(line, index) {\n return lines[index] = line.substring(0, maxColsPerLine - 2);\n });\n return $el.val(lines.join(\"\\n\"));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLimitLineLength\", LimitLineLengthDirective);\n\n Qqueue = function($q) {\n var deferred, lastPromise, qqueue;\n deferred = $q.defer();\n deferred.resolve();\n lastPromise = deferred.promise;\n qqueue = {\n bindAdd: (function(_this) {\n return function(fn) {\n return function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return lastPromise = lastPromise.then(function() {\n return fn.apply(_this, args);\n });\n };\n return qqueue;\n };\n })(this),\n add: (function(_this) {\n return function(fn) {\n if (!lastPromise) {\n lastPromise = fn();\n } else {\n lastPromise = lastPromise.then(fn);\n }\n return qqueue;\n };\n })(this)\n };\n return qqueue;\n };\n\n module.factory(\"$tgQqueue\", [\"$q\", Qqueue]);\n\n Template = function($templateCache) {\n return {\n get: (function(_this) {\n return function(name, lodash) {\n var tmp;\n if (lodash == null) {\n lodash = false;\n }\n tmp = $templateCache.get(name);\n if (lodash) {\n tmp = _.template(tmp);\n }\n return tmp;\n };\n })(this)\n };\n };\n\n module.factory(\"$tgTemplate\", [\"$templateCache\", Template]);\n\n}).call(this);\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/events.coffee\n */\n\n(function() {\n var EventsProvider, EventsService, bindMethods, module, startswith, taiga;\n\n taiga = this.taiga;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaEvents\", []);\n\n EventsService = (function() {\n function EventsService(win, log, config, auth) {\n this.win = win;\n this.log = log;\n this.config = config;\n this.auth = auth;\n bindMethods(this);\n }\n\n EventsService.prototype.initialize = function(sessionId) {\n this.sessionId = sessionId;\n this.subscriptions = {};\n this.connected = false;\n this.error = false;\n this.pendingMessages = [];\n if (this.win.WebSocket === void 0) {\n return this.log.info(\"WebSockets not supported on your browser\");\n }\n };\n\n EventsService.prototype.setupConnection = function() {\n var loc, path, scheme, url;\n this.stopExistingConnection();\n url = this.config.get(\"eventsUrl\");\n if (!url) {\n return;\n }\n if (!startswith(url, \"ws:\") && !startswith(url, \"wss:\")) {\n loc = this.win.location;\n scheme = loc.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n path = _.str.ltrim(url, \"/\");\n url = scheme + \"//\" + loc.host + \"/\" + path;\n }\n this.ws = new this.win.WebSocket(url);\n this.ws.addEventListener(\"open\", this.onOpen);\n this.ws.addEventListener(\"message\", this.onMessage);\n this.ws.addEventListener(\"error\", this.onError);\n return this.ws.addEventListener(\"close\", this.onClose);\n };\n\n EventsService.prototype.stopExistingConnection = function() {\n if (this.ws === void 0) {\n return;\n }\n this.ws.removeEventListener(\"open\", this.onOpen);\n this.ws.removeEventListener(\"close\", this.onClose);\n this.ws.removeEventListener(\"error\", this.onError);\n this.ws.removeEventListener(\"message\", this.onMessage);\n this.ws.close();\n return delete this.ws;\n };\n\n EventsService.prototype.serialize = function(message) {\n if (_.isObject(message)) {\n return JSON.stringify(message);\n }\n return message;\n };\n\n EventsService.prototype.sendMessage = function(message) {\n var i, len, messages, msg, results;\n this.pendingMessages.push(message);\n if (!this.connected) {\n return;\n }\n messages = _.map(this.pendingMessages, this.serialize);\n this.pendingMessages = [];\n results = [];\n for (i = 0, len = messages.length; i < len; i++) {\n msg = messages[i];\n results.push(this.ws.send(msg));\n }\n return results;\n };\n\n EventsService.prototype.subscribe = function(scope, routingKey, callback) {\n var message, subscription;\n if (this.error) {\n return;\n }\n this.log.debug(\"Subscribe to: \" + routingKey);\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: _.debounce(callback, 500, {\n \"leading\": true,\n \"trailing\": false\n })\n };\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n };\n this.subscriptions[routingKey] = subscription;\n this.sendMessage(message);\n return scope.$on(\"$destroy\", (function(_this) {\n return function() {\n return _this.unsubscribe(routingKey);\n };\n })(this));\n };\n\n EventsService.prototype.unsubscribe = function(routingKey) {\n var message;\n if (this.error) {\n return;\n }\n this.log.debug(\"Unsubscribe from: \" + routingKey);\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onOpen = function() {\n var message, token;\n this.connected = true;\n this.log.debug(\"WebSocket connection opened\");\n token = this.auth.getToken();\n message = {\n cmd: \"auth\",\n data: {\n token: token,\n sessionId: this.sessionId\n }\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onMessage = function(event) {\n var data, routingKey, subscription;\n this.log.debug(\"WebSocket message received: \" + event.data);\n data = JSON.parse(event.data);\n routingKey = data.routing_key;\n if (this.subscriptions[routingKey] == null) {\n return;\n }\n subscription = this.subscriptions[routingKey];\n return subscription.scope.$apply(function() {\n return subscription.callback(data.data);\n });\n };\n\n EventsService.prototype.onError = function(error) {\n this.log.error(\"WebSocket error: \" + error);\n return this.error = true;\n };\n\n EventsService.prototype.onClose = function() {\n this.log.debug(\"WebSocket closed.\");\n return this.connected = false;\n };\n\n return EventsService;\n\n })();\n\n EventsProvider = (function() {\n function EventsProvider() {}\n\n EventsProvider.prototype.setSessionId = function(sessionId) {\n return this.sessionId = sessionId;\n };\n\n EventsProvider.prototype.$get = function($win, $log, $conf, $auth) {\n var service;\n service = new EventsService($win, $log, $conf, $auth);\n service.initialize(this.sessionId);\n return service;\n };\n\n EventsProvider.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\"];\n\n return EventsProvider;\n\n })();\n\n module.provider(\"$tgEvents\", EventsProvider);\n\n}).call(this);\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/feedback.coffee\n */\n\n(function() {\n var FeedbackDirective, bindOnce, debounce, groupBy, mixOf, module, taiga, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaFeedback\", []);\n\n FeedbackDirective = function($lightboxService, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley();\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.create(\"feedback\", $scope.feedback);\n promise.then(function(data) {\n $loading.finish(submitButton);\n $lightboxService.close($el);\n return $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\");\n });\n return promise.then(null, function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"feedback:show\", function() {\n $scope.$apply(function() {\n return $scope.feedback = {};\n });\n $lightboxService.open($el);\n return $el.find(\"textarea\").focus();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", FeedbackDirective]);\n\n}).call(this);\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/integrations.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIntegrations\", []);\n\n}).call(this);\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/issues.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var filtersHashSuffix, hashSuffix, myFiltersHashSuffix, service;\n service = {};\n hashSuffix = \"issues-queryparams\";\n filtersHashSuffix = \"issues-filters\";\n myFiltersHashSuffix = \"issues-my-filters\";\n service.get = function(projectId, issueId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"issues\", issueId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"issues\", \"by_ref\", params);\n };\n service.list = function(projectId, filters, options) {\n var params;\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryPaginated(\"issues\", params, options);\n };\n service.bulkCreate = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-issues\");\n params = {\n project_id: projectId,\n bulk_issues: data\n };\n return $http.post(url, params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issues_stats\");\n };\n service.filtersData = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issue_filters_data\");\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeFilters = function(projectSlug, params) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = generateHash([projectSlug, ns]);\n return $storage.set(hash, params);\n };\n service.getFilters = function(projectSlug) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = generateHash([projectSlug, ns]);\n return $storage.get(hash) || {};\n };\n service.storeMyFilters = function(projectId, myFilters) {\n var deferred, hash, ns, promise, url;\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, {\n key: hash,\n value: myFilters\n });\n promise.then(function() {\n return deferred.resolve();\n });\n promise.then(null, function() {\n return deferred.reject();\n });\n } else {\n promise = $http.put(url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function(data) {\n return deferred.resolve();\n });\n promise.then(null, function(data) {\n var innerPromise;\n innerPromise = $http.post(\"\" + url, {\n key: hash,\n value: myFilters\n });\n innerPromise.then(function() {\n return deferred.resolve();\n });\n return innerPromise.then(null, function() {\n return deferred.reject();\n });\n });\n }\n return deferred.promise;\n };\n service.getMyFilters = function(projectId) {\n var deferred, hash, ns, promise, url;\n deferred = $q.defer();\n url = $urls.resolve(\"user-storage\");\n ns = projectId + \":\" + myFiltersHashSuffix;\n hash = generateHash([projectId, ns]);\n promise = $http.get(url + \"/\" + hash);\n promise.then(function(data) {\n return deferred.resolve(data.data.value);\n });\n promise.then(null, function(data) {\n return deferred.resolve({});\n });\n return deferred.promise;\n };\n return function(instance) {\n return instance.issues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\n\n}).call(this);\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/kanban.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($storage) {\n var hashSuffixStatusColumnModes, hashSuffixStatusViewModes, service;\n service = {};\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\";\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\";\n service.storeStatusViewModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusViewModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusViewModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusViewModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.kanban = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/locales.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaLocales\", []);\n\n}).call(this);\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/user-settings/nav.coffee\n */\n\n(function() {\n var UserSettingsNavigationDirective, module;\n\n UserSettingsNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgUserSettingsNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#usersettingsmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaUserSettings\");\n\n module.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $auth, $q, $rootScope) {\n var service;\n service = {};\n service.get = function(projectId) {\n return $repo.queryOne(\"projects\", projectId);\n };\n service.getBySlug = function(projectSlug) {\n return $repo.queryOne(\"projects\", \"by_slug?slug=\" + projectSlug);\n };\n service.list = function() {\n return $repo.queryMany(\"projects\");\n };\n service.listByMember = function(memberId) {\n var params;\n params = {\n \"member\": memberId\n };\n return $repo.queryMany(\"projects\", params);\n };\n service.templates = function() {\n return $repo.queryMany(\"project-templates\");\n };\n service.usersList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"users\", params);\n };\n service.rolesList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"roles\", params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/stats\");\n };\n service.regenerate_userstories_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_userstories_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_issues_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_issues_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_tasks_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_tasks_csv_uuid\";\n return $http.post(url);\n };\n service.leave = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/leave\";\n return $http.post(url);\n };\n service.memberStats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/member_stats\");\n };\n service.tagsColors = function(projectId) {\n return $repo.queryOne(\"projects\", projectId + \"/tags_colors\");\n };\n service[\"export\"] = function(projectId) {\n var url;\n url = ($urls.resolve(\"exporter\")) + \"/\" + projectId;\n return $http.get(url);\n };\n service[\"import\"] = function(file, statusUpdater) {\n var complete, data, defered, failed, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n var message, percent;\n percent = Math.round((evt.loaded / evt.total) * 100);\n message = \"Uloaded \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return statusUpdater(\"in-progress\", null, message, percent);\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return statusUpdater(\"done\", \"Importing Project\", \"This process can take a while, please keep the window open.\");\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return statusUpdater(\"error\");\n };\n })(this);\n complete = (function(_this) {\n return function(evt) {\n var ref;\n response = {};\n try {\n response.data = JSON.parse(evt.target.responseText);\n } catch (_error) {\n response.data = {};\n }\n response.status = evt.target.status;\n if ((ref = response.status) === 201 || ref === 202) {\n defered.resolve(response);\n }\n return defered.reject(response);\n };\n })(this);\n failed = (function(_this) {\n return function(evt) {\n return defered.reject(\"fail\");\n };\n })(this);\n data = new FormData();\n data.append('dump', file);\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 xhr.open(\"POST\", $urls.resolve(\"importer\"));\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + ($auth.getToken()));\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n return function(instance) {\n return instance.projects = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\", \"$q\", resourceProvider]);\n\n}).call(this);\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/related-tasks.coffee\n */\n\n(function() {\n var RelatedTaskAssignedToInlineEditionDirective, RelatedTaskCreateButtonDirective, RelatedTaskCreateFormDirective, RelatedTaskRowDirective, RelatedTasksDirective, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaRelatedTasks\", []);\n\n RelatedTaskRowDirective = function($repo, $compile, $confirm, $rootscope, $loading, $template) {\n var link, templateEdit, templateView;\n templateView = $template.get(\"task/related-task-row.html\", true);\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var renderEdit, renderView, saveTask;\n saveTask = debounce(2000, function(task) {\n var promise;\n task.subject = $el.find('input').val();\n $loading.start($el.find('.task-name'));\n promise = $repo.save(task);\n promise.then((function(_this) {\n return function() {\n $loading.finish($el.find('.task-name'));\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"related-tasks:update\");\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n $loading.finish($el.find('.task-name'));\n $el.find('input').val(task.subject);\n return $confirm.notify(\"error\");\n };\n })(this));\n return promise;\n });\n renderEdit = function(task) {\n $el.html($compile(templateEdit({\n task: task\n }))($scope));\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n } else if (event.keyCode === 27) {\n return renderView($model.$modelValue);\n }\n });\n $el.on(\"click\", \".icon-floppy\", function(event) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n });\n return $el.on(\"click\", \".cancel-edit\", function(event) {\n return renderView($model.$modelValue);\n });\n };\n renderView = function(task) {\n var perms;\n $el.off();\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 $el.html($compile(templateView({\n task: task,\n perms: perms\n }))($scope));\n $el.on(\"click\", \".icon-edit\", function() {\n renderEdit($model.$modelValue);\n return $el.find('input').focus().select();\n });\n return $el.on(\"click\", \".delete-task\", function(event) {\n var message, title;\n task = $model.$modelValue;\n title = \"Delete Task\";\n message = task.subject;\n return $confirm.askOnDelete(title, message).then(function(finish) {\n var promise;\n promise = $repo.remove(task);\n promise.then(function() {\n finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"related-tasks:delete\");\n });\n return promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n });\n });\n };\n $scope.$watch($attrs.ngModel, function(val) {\n if (!val) {\n return;\n }\n return renderView(val);\n });\n $scope.$on(\"related-tasks:assigned-to-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n $scope.$on(\"related-tasks:status-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", RelatedTaskRowDirective]);\n\n RelatedTaskCreateFormDirective = function($repo, $compile, $confirm, $tgmodel, $loading, $analytics, $template) {\n var link, newTask, template;\n template = $template.get(\"task/related-task-create-form.html\", true);\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n link = function($scope, $el, $attrs) {\n var createTask, render;\n createTask = debounce(2000, function(task) {\n var promise;\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 $loading.start($el.find('.task-name'));\n promise = $repo.create(\"tasks\", task);\n promise.then(function() {\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1);\n $loading.finish($el.find('.task-name'));\n $scope.$emit(\"related-tasks:add\");\n return $confirm.notify(\"success\");\n });\n promise.then(null, function() {\n $el.find('input').val(task.subject);\n $loading.finish($el.find('.task-name'));\n return $confirm.notify(\"error\");\n });\n return promise;\n });\n render = function() {\n $el.off();\n $el.html($compile(template())($scope));\n $el.find('input').focus().select();\n $el.addClass('active');\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return createTask(newTask).then(function() {\n return render();\n });\n } else if (event.keyCode === 27) {\n return $el.html(\"\");\n }\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n return $el.html(\"\");\n });\n return $el.on(\"click\", \".icon-floppy\", function(event) {\n return createTask(newTask).then(function() {\n return $el.html(\"\");\n });\n });\n };\n taiga.bindOnce($scope, \"us\", function(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 return $el.html(\"\");\n });\n $scope.$on(\"related-tasks:show-form\", function() {\n return render();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", \"$tgTemplate\", RelatedTaskCreateFormDirective]);\n\n RelatedTaskCreateButtonDirective = function($repo, $compile, $confirm, $tgmodel) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs) {\n $scope.$watch(\"project\", function(val) {\n if (!val) {\n return;\n }\n $el.off();\n if ($scope.project.my_permissions.indexOf(\"add_task\") !== -1) {\n $el.html(template());\n } else {\n $el.html(\"\");\n }\n return $el.on(\"click\", \".icon\", function(event) {\n return $scope.$emit(\"related-tasks:add-new-clicked\");\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", RelatedTaskCreateButtonDirective]);\n\n RelatedTasksDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var loadTasks;\n loadTasks = function() {\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then((function(_this) {\n return function(tasks) {\n $scope.tasks = tasks;\n return tasks;\n };\n })(this));\n };\n $scope.$on(\"related-tasks:add\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:delete\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:add-new-clicked\", function() {\n return $scope.$broadcast(\"related-tasks:show-form\");\n });\n taiga.bindOnce($scope, \"us\", function(val) {\n return loadTasks();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective]);\n\n RelatedTaskAssignedToInlineEditionDirective = function($repo, $rootscope, popoverService) {\n var link, template;\n template = _.template(\"\\\" alt=\\\"<%- name %>\\\"/>\\n
<%- name %>
\");\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task, updateRelatedTask;\n updateRelatedTask = function(task) {\n var ctx, member;\n ctx = {\n name: \"Unassigned\",\n imgurl: \"/images/unnamed.png\"\n };\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 return $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 updateRelatedTask(task);\n $el.on(\"click\", \".task-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", task);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", debounce(2000, (function(_this) {\n return function(ctx, userId, updatedRelatedTask) {\n if (updatedRelatedTask.id === task.id) {\n updatedRelatedTask.assigned_to = userId;\n if (autoSave) {\n $repo.save(updatedRelatedTask).then(function() {\n return $scope.$emit(\"related-tasks:assigned-to-changed\");\n });\n }\n return updateRelatedTask(updatedRelatedTask);\n }\n };\n })(this)));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", RelatedTaskAssignedToInlineEditionDirective]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var ResourcesService, initResources, initUrls, module, taiga, urls,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ResourcesService = (function(superClass) {\n extend(ResourcesService, superClass);\n\n function ResourcesService() {\n return ResourcesService.__super__.constructor.apply(this, arguments);\n }\n\n return ResourcesService;\n\n })(taiga.Service);\n\n urls = {\n \"auth\": \"/auth\",\n \"auth-register\": \"/auth/register\",\n \"invitations\": \"/invitations\",\n \"permissions\": \"/permissions\",\n \"roles\": \"/roles\",\n \"projects\": \"/projects\",\n \"memberships\": \"/memberships\",\n \"notify-policies\": \"/notify-policies\",\n \"bulk-create-memberships\": \"/memberships/bulk_create\",\n \"milestones\": \"/milestones\",\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 \"userstories-restore\": \"/userstories/%s/restore\",\n \"tasks\": \"/tasks\",\n \"bulk-create-tasks\": \"/tasks/bulk_create\",\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\",\n \"tasks-restore\": \"/tasks/%s/restore\",\n \"issues\": \"/issues\",\n \"bulk-create-issues\": \"/issues/bulk_create\",\n \"issues-restore\": \"/issues/%s/restore\",\n \"wiki\": \"/wiki\",\n \"wiki-restore\": \"/wiki/%s/restore\",\n \"wiki-links\": \"/wiki-links\",\n \"choices/userstory-statuses\": \"/userstory-statuses\",\n \"choices/userstory-statuses/bulk-update-order\": \"/userstory-statuses/bulk_update_order\",\n \"choices/points\": \"/points\",\n \"choices/points/bulk-update-order\": \"/points/bulk_update_order\",\n \"choices/task-statuses\": \"/task-statuses\",\n \"choices/task-statuses/bulk-update-order\": \"/task-statuses/bulk_update_order\",\n \"choices/issue-statuses\": \"/issue-statuses\",\n \"choices/issue-statuses/bulk-update-order\": \"/issue-statuses/bulk_update_order\",\n \"choices/issue-types\": \"/issue-types\",\n \"choices/issue-types/bulk-update-order\": \"/issue-types/bulk_update_order\",\n \"choices/priorities\": \"/priorities\",\n \"choices/priorities/bulk-update-order\": \"/priorities/bulk_update_order\",\n \"choices/severities\": \"/severities\",\n \"choices/severities/bulk-update-order\": \"/severities/bulk_update_order\",\n \"search\": \"/search\",\n \"sites\": \"/sites\",\n \"project-templates\": \"/project-templates\",\n \"site-members\": \"/site-members\",\n \"site-projects\": \"/site-projects\",\n \"users\": \"/users\",\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 \"user-storage\": \"/user-storage\",\n \"resolver\": \"/resolver\",\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 \"project-modules\": \"/projects/%s/modules\",\n \"webhooks\": \"/webhooks\",\n \"webhooks-test\": \"/webhooks/%s/test\",\n \"webhooklogs\": \"/webhooklogs\",\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\",\n \"history/us\": \"/history/userstory\",\n \"history/issue\": \"/history/issue\",\n \"history/task\": \"/history/task\",\n \"history/wiki\": \"/history/wiki\",\n \"attachments/us\": \"/userstories/attachments\",\n \"attachments/issue\": \"/issues/attachments\",\n \"attachments/task\": \"/tasks/attachments\",\n \"attachments/wiki_page\": \"/wiki/attachments\",\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\",\n \"custom-attributes/issue\": \"/issue-custom-attributes\",\n \"custom-attributes/task\": \"/task-custom-attributes\",\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 \"feedback\": \"/feedback\",\n \"exporter\": \"/exporter\",\n \"importer\": \"/importer/load_dump\",\n \"userstories-csv\": \"/userstories/csv?uuid=%s\",\n \"tasks-csv\": \"/tasks/csv?uuid=%s\",\n \"issues-csv\": \"/issues/csv?uuid=%s\"\n };\n\n initUrls = function($log, $urls) {\n $log.debug(\"Initialize api urls\");\n return $urls.update(urls);\n };\n\n initResources = function($log, $rs) {\n var i, len, provider, providers, results;\n $log.debug(\"Initialize resources\");\n providers = _.toArray(arguments).slice(2);\n results = [];\n for (i = 0, len = providers.length; i < len; i++) {\n provider = providers[i];\n results.push(provider($rs));\n }\n return results;\n };\n\n module = angular.module(\"taigaResources\", [\"taigaBase\"]);\n\n module.service(\"$tgResources\", ResourcesService);\n\n module.run([\"$log\", \"$tgUrls\", initUrls]);\n\n module.run([\"$log\", \"$tgResources\", \"$tgProjectsResourcesProvider\", \"$tgCustomAttributesResourcesProvider\", \"$tgCustomAttributesValuesResourcesProvider\", \"$tgMembershipsResourcesProvider\", \"$tgNotifyPoliciesResourcesProvider\", \"$tgInvitationsResourcesProvider\", \"$tgRolesResourcesProvider\", \"$tgUserSettingsResourcesProvider\", \"$tgSprintsResourcesProvider\", \"$tgUserstoriesResourcesProvider\", \"$tgTasksResourcesProvider\", \"$tgIssuesResourcesProvider\", \"$tgWikiResourcesProvider\", \"$tgSearchResourcesProvider\", \"$tgAttachmentsResourcesProvider\", \"$tgMdRenderResourcesProvider\", \"$tgHistoryResourcesProvider\", \"$tgKanbanResourcesProvider\", \"$tgModulesResourcesProvider\", \"$tgWebhooksResourcesProvider\", \"$tgWebhookLogsResourcesProvider\", initResources]);\n\n}).call(this);\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/search.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service[\"do\"] = function(projectId, term) {\n var params, url;\n url = $urls.resolve(\"search\");\n params = {\n project: projectId,\n text: term,\n get_all: false\n };\n return $http.get(url, params).then(function(data) {\n return data.data;\n });\n };\n return function(instance) {\n return instance.search = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\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\n(function() {\n var module;\n\n module = angular.module(\"taigaTaskboard\", []);\n\n}).call(this);\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/tasks.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, hashSuffixStatusColumnModes, hashSuffixUsRowModes, service;\n service = {};\n hashSuffix = \"tasks-queryparams\";\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\";\n hashSuffixUsRowModes = \"tasks-usrowmodels\";\n service.get = function(projectId, taskId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"tasks\", taskId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"tasks\", \"by_ref\", params);\n };\n service.list = function(projectId, sprintId, userStoryId) {\n var params;\n if (sprintId == null) {\n sprintId = null;\n }\n if (userStoryId == null) {\n userStoryId = null;\n }\n params = {\n project: projectId\n };\n if (sprintId) {\n params.milestone = sprintId;\n }\n if (userStoryId) {\n params.user_story = userStoryId;\n }\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"tasks\", params);\n };\n service.bulkCreate = function(projectId, sprintId, usId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-tasks\");\n params = {\n project_id: projectId,\n sprint_id: sprintId,\n us_id: usId,\n bulk_tasks: data\n };\n return $http.post(url, params).then(function(result) {\n return result.data;\n });\n };\n service.bulkUpdateTaskTaskboardOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-task-taskboard-order\");\n params = {\n project_id: projectId,\n bulk_tasks: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeUsRowModes = function(projectId, sprintId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.set(hash, params);\n };\n service.getUsRowModes = function(projectId, sprintId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.tasks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/team.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTeam\", []);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $q) {\n var service;\n service = {};\n service.changeAvatar = function(file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\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: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"users\")) + \"/change_avatar\";\n return $http.post(url, data, {}, options);\n };\n service.removeAvatar = function() {\n var url;\n url = ($urls.resolve(\"users\")) + \"/remove_avatar\";\n return $http.post(url);\n };\n service.changePassword = function(currentPassword, newPassword) {\n var data, url;\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 function(instance) {\n return instance.userSettings = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\n\n}).call(this);\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/userstories.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"userstories-queryparams\";\n service.get = function(projectId, usId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"userstories\", usId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"userstories\", \"by_ref\", params);\n };\n service.listUnassigned = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId,\n \"milestone\": \"null\"\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.listAll = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.bulkCreate = function(projectId, status, bulk) {\n var data, url;\n data = {\n project_id: projectId,\n status_id: status,\n bulk_stories: bulk\n };\n url = $urls.resolve(\"bulk-create-us\");\n return $http.post(url, data);\n };\n service.bulkUpdateBacklogOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-backlog-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateSprintOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-sprint-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateKanbanOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-kanban-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeShowTags = function(projectId, showTags) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.set(hash, showTags);\n };\n service.getShowTags = function(projectId) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.get(hash) || null;\n };\n return function(instance) {\n return instance.userstories = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/wikis.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(wikiId) {\n return $repo.queryOne(\"wiki\", wikiId);\n };\n service.getBySlug = function(projectId, slug) {\n return $repo.queryOne(\"wiki\", \"by_slug?project=\" + projectId + \"&slug=\" + slug);\n };\n service.listLinks = function(projectId) {\n return $repo.queryMany(\"wiki-links\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.wiki = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/analytics.coffee\n */\n\n(function() {\n var AnalyticsService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n AnalyticsService = (function(superClass) {\n extend(AnalyticsService, superClass);\n\n AnalyticsService.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"];\n\n function AnalyticsService(rootscope, log, config, win, doc, location) {\n var conf;\n this.rootscope = rootscope;\n this.log = log;\n this.config = config;\n this.win = win;\n this.doc = doc;\n this.location = location;\n this.initialized = false;\n conf = this.config.get(\"analytics\", {});\n this.accountId = conf.accountId;\n this.pageEvent = conf.pageEvent || \"$routeChangeSuccess\";\n this.trackRoutes = conf.trackRoutes || true;\n this.ignoreFirstPageLoad = conf.ignoreFirstPageLoad || false;\n }\n\n AnalyticsService.prototype.initialize = function() {\n if (!this.accountId) {\n this.log.debug(\"Analytics: no acount id provided. Disabling.\");\n return;\n }\n this.injectAnalytics();\n this.win.ga(\"create\", this.accountId, \"auto\");\n this.win.ga(\"require\", \"displayfeatures\");\n if (this.trackRoutes && (!this.ignoreFirstPageLoad)) {\n this.win.ga(\"send\", \"pageview\", this.getUrl());\n }\n if (this.trackRoutes) {\n this.rootscope.$on(this.pageEvent, (function(_this) {\n return function() {\n return _this.trackPage(_this.getUrl(), \"Taiga\");\n };\n })(this));\n }\n return this.initialized = true;\n };\n\n AnalyticsService.prototype.getUrl = function() {\n return this.location.path();\n };\n\n AnalyticsService.prototype.injectAnalytics = function() {\n var fn;\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 return fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\");\n };\n\n AnalyticsService.prototype.trackPage = function(url, title) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n title = title || this.doc[0].title;\n return this.win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n });\n };\n\n AnalyticsService.prototype.trackEvent = function(category, action, label, value) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga(\"send\", \"event\", category, action, label, value);\n };\n\n return AnalyticsService;\n\n })(taiga.Service);\n\n module.service(\"$tgAnalytics\", AnalyticsService);\n\n}).call(this);\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/attachments.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($rootScope, $config, $urls, $model, $repo, $auth, $q) {\n var service;\n service = {};\n service.list = function(urlName, objectId, projectId) {\n var params;\n params = {\n object_id: objectId,\n project: projectId\n };\n return $repo.queryMany(urlName, params);\n };\n service.create = function(urlName, projectId, objectId, file) {\n var data, defered, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n if (file === void 0) {\n defered.reject(null);\n return defered.promise;\n }\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"in-progress\";\n file.size = sizeFormat(evt.total);\n file.progressMessage = \"upload \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return file.progressPercent = (Math.round((evt.loaded / evt.total) * 100)) + \"%\";\n });\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n var data, model;\n file.status = \"done\";\n try {\n data = JSON.parse(evt.target.responseText);\n } catch (_error) {\n data = {};\n }\n model = $model.make_model(urlName, data);\n return defered.resolve(model);\n });\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"error\";\n return defered.reject(\"fail\");\n });\n };\n })(this);\n data = new FormData();\n data.append(\"project\", projectId);\n data.append(\"object_id\", objectId);\n data.append(\"attached_file\", file);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.addEventListener(\"load\", uploadComplete, false);\n xhr.addEventListener(\"error\", uploadFailed, false);\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 return defered.promise;\n };\n return function(instance) {\n return instance.attachments = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgAttachmentsResourcesProvider\", [\"$rootScope\", \"$tgConfig\", \"$tgUrls\", \"$tgModel\", \"$tgRepo\", \"$tgAuth\", \"$q\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var BindScope, module;\n\n module = angular.module(\"taigaCommon\");\n\n BindScope = function(config) {\n var link;\n if (!config.debugInfo) {\n jQuery.fn.scope = function() {\n return this.data('scope');\n };\n }\n link = function($scope, $el) {\n if (!config.debugInfo) {\n return $el.data('scope', $scope).addClass('tg-scope');\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBindScope\", [\"$tgConfig\", BindScope]);\n\n}).call(this);\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/components.coffee\n */\n\n(function() {\n var AssignedToDirective, BlockButtonDirective, CreatedByDisplayDirective, DateRangeDirective, DateSelectorDirective, DeleteButtonDirective, EditableDescriptionDirective, EditableSubjectDirective, ListItemAssignedtoDirective, ListItemIssueStatusDirective, ListItemPriorityDirective, ListItemSeverityDirective, ListItemTaskStatusDirective, ListItemTypeDirective, ListItemUsStatusDirective, SprintProgressBarDirective, TgMainTitleDirective, TgProgressBarDirective, WatchersDirective, bindOnce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n DateRangeDirective = function() {\n var link, renderRange;\n renderRange = function($el, first, second) {\n var endDate, initDate;\n initDate = moment(first).format(\"DD MMM YYYY\");\n endDate = moment(second).format(\"DD MMM YYYY\");\n return $el.html(initDate + \"-\" + endDate);\n };\n link = function($scope, $el, $attrs) {\n var first, ref, second;\n ref = $attrs.tgDateRange.split(\",\"), first = ref[0], second = ref[1];\n return bindOnce($scope, first, function(valFirst) {\n return bindOnce($scope, second, function(valSecond) {\n return renderRange($el, valFirst, valSecond);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateRange\", DateRangeDirective);\n\n DateSelectorDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var selectedDate;\n selectedDate = null;\n $el.picker = new Pikaday({\n field: $el[0],\n format: \"DD MMM YYYY\",\n onSelect: (function(_this) {\n return function(date) {\n return selectedDate = date;\n };\n })(this),\n onOpen: (function(_this) {\n return function() {\n if (selectedDate != null) {\n return $el.picker.setDate(selectedDate);\n }\n };\n })(this)\n });\n return $scope.$watch($attrs.ngModel, function(val) {\n if (val != null) {\n return $el.picker.setDate(val);\n }\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgDateSelector\", DateSelectorDirective);\n\n SprintProgressBarDirective = function() {\n var link, renderProgress;\n renderProgress = function($el, percentage, visual_percentage) {\n if ($el.hasClass(\".current-progress\")) {\n return $el.css(\"width\", percentage + \"%\");\n } else {\n $el.find(\".current-progress\").css(\"width\", visual_percentage + \"%\");\n return $el.find(\".number\").html(percentage + \" %\");\n }\n };\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgSprintProgressbar, function(sprint) {\n var closedPoints, percentage, totalPoints, visual_percentage;\n closedPoints = sprint.closed_points;\n totalPoints = sprint.total_points;\n percentage = 0;\n if (totalPoints !== 0) {\n percentage = Math.round(100 * (closedPoints / totalPoints));\n }\n visual_percentage = 0;\n if (totalPoints !== 0) {\n visual_percentage = Math.round(98 * (closedPoints / totalPoints));\n }\n return renderProgress($el, percentage, visual_percentage);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintProgressbar\", SprintProgressBarDirective);\n\n CreatedByDisplayDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/created-by.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(model) {\n var html, owner, ref;\n owner = ((ref = $scope.usersById) != null ? ref[model.owner] : void 0) || {\n full_name_display: \"external user\",\n photo: \"/images/unnamed.png\"\n };\n html = template({\n owner: owner,\n date: moment(model.created_date).format(\"DD MMM YYYY HH:mm\")\n });\n return $el.html(html);\n };\n bindOnce($scope, $attrs.ngModel, function(model) {\n if (model != null) {\n return render(model);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", CreatedByDisplayDirective]);\n\n WatchersDirective = function($rootscope, $confirm, $repo, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/watchers.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var deleteWatcher, isEditable, renderWatchers, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(watchers) {\n var item, promise;\n item = $model.$modelValue.clone();\n item.watchers = watchers;\n $model.$setViewValue(item);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n watchers = _.map(watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"history:reload\");\n });\n return promise.then(null, function() {\n return $model.$modelValue.revert();\n });\n };\n })(this));\n deleteWatcher = $qqueue.bindAdd((function(_this) {\n return function(watcherIds) {\n var item, promise;\n item = $model.$modelValue.clone();\n item.watchers = watcherIds;\n $model.$setViewValue(item);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n var watchers;\n $confirm.notify(\"success\");\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"history:reload\");\n });\n return promise.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n renderWatchers = function(watchers) {\n var ctx, html;\n ctx = {\n watchers: watchers,\n isEditable: isEditable()\n };\n html = template(ctx);\n $el.html(html);\n if (isEditable() && watchers.length === 0) {\n $el.find(\".title\").text(\"Add watchers\");\n return $el.find(\".watchers-header\").addClass(\"no-watchers\");\n }\n };\n $el.on(\"click\", \".icon-delete\", function(event) {\n var message, target, title, watcherId;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n watcherId = target.data(\"watcher-id\");\n title = \"Delete watcher\";\n message = $scope.usersById[watcherId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(finish) {\n var watcherIds;\n finish();\n watcherIds = _.clone($model.$modelValue.watchers, false);\n watcherIds = _.pull(watcherIds, watcherId);\n return deleteWatcher(watcherIds);\n };\n })(this));\n });\n $el.on(\"click\", \".add-watcher\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"watcher:add\", $model.$modelValue);\n });\n });\n $scope.$on(\"watcher:added\", function(ctx, watcherId) {\n var watchers;\n watchers = _.clone($model.$modelValue.watchers, false);\n watchers.push(watcherId);\n watchers = _.uniq(watchers);\n return save(watchers);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var watchers;\n if (item == null) {\n return;\n }\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n return renderWatchers(watchers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQqueue\", \"$tgTemplate\", WatchersDirective]);\n\n AssignedToDirective = function($rootscope, $confirm, $repo, $loading, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/assigned-to.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, renderAssignedTo, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(userId) {\n var promise;\n $model.$modelValue.assigned_to = userId;\n $loading.start($el);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $loading.finish($el);\n $confirm.notify(\"success\");\n renderAssignedTo($model.$modelValue);\n return $rootscope.$broadcast(\"history:reload\");\n });\n promise.then(null, function() {\n $model.$modelValue.revert();\n $confirm.notify(\"error\");\n return $loading.finish($el);\n });\n return promise;\n };\n })(this));\n renderAssignedTo = function(issue) {\n var assignedTo, assignedToId, ctx, html;\n assignedToId = issue != null ? issue.assigned_to : void 0;\n assignedTo = assignedToId != null ? $scope.usersById[assignedToId] : null;\n ctx = {\n assignedTo: assignedTo,\n isEditable: isEditable()\n };\n html = template(ctx);\n return $el.html(html);\n };\n $el.on(\"click\", \".user-assigned\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue);\n });\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n title = \"Are you sure you want to leave it unassigned?\";\n return $confirm.ask(title).then((function(_this) {\n return function(finish) {\n finish();\n $model.$modelValue.assigned_to = null;\n return save(null);\n };\n })(this));\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, item) {\n if (item.id !== $model.$modelValue.id) {\n return;\n }\n return save(userId);\n });\n $scope.$watch($attrs.ngModel, function(instance) {\n return renderAssignedTo(instance);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", AssignedToDirective]);\n\n BlockButtonDirective = function($rootscope, $loading, $template) {\n var link, template;\n template = $template.get(\"common/components/block-button.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n $scope.$watch($attrs.ngModel, function(item) {\n if (!item) {\n return;\n }\n if (isEditable()) {\n $el.find('.item-block').addClass('editable');\n }\n if (item.is_blocked) {\n $el.find('.item-block').hide();\n return $el.find('.item-unblock').show();\n } else {\n $el.find('.item-block').show();\n return $el.find('.item-unblock').hide();\n }\n });\n $el.on(\"click\", \".item-block\", function(event) {\n event.preventDefault();\n return $rootscope.$broadcast(\"block\", $model.$modelValue);\n });\n $el.on(\"click\", \".item-unblock\", function(event) {\n var finish;\n event.preventDefault();\n $loading.start($el.find(\".item-unblock\"));\n finish = function() {\n return $loading.finish($el.find(\".item-unblock\"));\n };\n return $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective]);\n\n DeleteButtonDirective = function($log, $repo, $confirm, $location, $template) {\n var link, template;\n template = $template.get(\"common/components/delete-button.html\");\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.onDeleteGoToUrl) {\n return $log.error(\"DeleteButtonDirective requires on-delete-go-to-url set in scope.\");\n }\n if (!$attrs.onDeleteTitle) {\n return $log.error(\"DeleteButtonDirective requires on-delete-title set in scope.\");\n }\n $el.on(\"click\", \".button\", function(event) {\n var subtitle, title;\n title = $scope.$eval($attrs.onDeleteTitle);\n subtitle = $model.$modelValue.subject;\n return $confirm.askOnDelete(title, subtitle).then((function(_this) {\n return function(finish) {\n var promise;\n promise = $repo.remove($model.$modelValue);\n promise.then(function() {\n var url;\n finish();\n url = $scope.$eval($attrs.onDeleteGoToUrl);\n return $location.path(url);\n });\n return promise.then(null, function() {\n finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective]);\n\n EditableSubjectDirective = function($rootscope, $repo, $confirm, $loading, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/editable-subject.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(subject) {\n var promise;\n $model.$modelValue.subject = subject;\n $loading.start($el.find('.save-container'));\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"history:reload\");\n $el.find('.edit-subject').hide();\n return $el.find('.view-subject').show();\n });\n promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n promise[\"finally\"](function() {\n return $loading.finish($el.find('.save-container'));\n });\n return promise;\n };\n })(this));\n $el.click(function() {\n if (!isEditable()) {\n return;\n }\n $el.find('.edit-subject').show();\n $el.find('.view-subject').hide();\n return $el.find('input').focus();\n });\n $el.on(\"click\", \".save\", function() {\n var subject;\n subject = $scope.item.subject;\n return save(subject);\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var subject;\n if (event.keyCode === 13) {\n subject = $scope.item.subject;\n return save(subject);\n } else if (event.keyCode === 27) {\n $scope.$apply((function(_this) {\n return function() {\n return $model.$modelValue.revert();\n };\n })(this));\n $el.find('div.edit-subject').hide();\n return $el.find('div.view-subject').show();\n }\n });\n $el.find('div.edit-subject').hide();\n $el.find('div.view-subject span.edit').hide();\n $scope.$watch($attrs.ngModel, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n if (!isEditable()) {\n return $el.find('.view-subject .edit').remove();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgEditableSubject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", EditableSubjectDirective]);\n\n EditableDescriptionDirective = function($rootscope, $repo, $confirm, $compile, $loading, $selectedText, $qqueue, $template) {\n var link, noDescriptionMegEditMode, noDescriptionMegReadMode, 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 link = function($scope, $el, $attrs, $model) {\n var isEditable, save;\n $el.find('.edit-description').hide();\n $el.find('.view-description .edit').hide();\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(description) {\n var promise;\n $model.$modelValue.description = description;\n $loading.start($el.find('.save-container'));\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"history:reload\");\n $el.find('.edit-description').hide();\n return $el.find('.view-description').show();\n });\n promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return promise[\"finally\"](function() {\n return $loading.finish($el.find('.save-container'));\n });\n };\n })(this));\n $el.on(\"mouseup\", \".view-description\", function(event) {\n var target;\n target = angular.element(event.target);\n if (!isEditable()) {\n return;\n }\n if (target.is('a')) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n $el.find('.edit-description').show();\n $el.find('.view-description').hide();\n return $el.find('textarea').focus();\n });\n $el.on(\"click\", \".save\", function(e) {\n var description;\n e.preventDefault();\n description = $scope.item.description;\n return save(description);\n });\n $el.on(\"keydown\", \"textarea\", function(event) {\n if (event.keyCode === 27) {\n $scope.$apply((function(_this) {\n return function() {\n return $scope.item.revert();\n };\n })(this));\n $el.find('.edit-description').hide();\n return $el.find('.view-description').show();\n }\n });\n $scope.$watch($attrs.ngModel, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n if (isEditable()) {\n $el.find('.view-description .edit').show();\n $el.find('.view-description .us-content').addClass('editable');\n return $scope.noDescriptionMsg = noDescriptionMegEditMode;\n } else {\n return $scope.noDescriptionMsg = noDescriptionMegReadMode;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgEditableDescription\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", \"$tgLoading\", \"$selectedText\", \"$tgQqueue\", \"$tgTemplate\", EditableDescriptionDirective]);\n\n ListItemIssueStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemIssueStatus);\n return bindOnce($scope, \"issueStatusById\", function(issueStatusById) {\n return $el.html(issueStatusById[issue.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemTaskStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var task;\n task = $scope.$eval($attrs.tgListitemTaskStatus);\n return bindOnce($scope, \"taskStatusById\", function(taskStatusById) {\n return $el.html(taskStatusById[task.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemUsStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var us;\n us = $scope.$eval($attrs.tgListitemUsStatus);\n return bindOnce($scope, \"usStatusById\", function(usStatusById) {\n return $el.html(usStatusById[us.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemAssignedtoDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"membersById\", function(membersById) {\n var ctx, item, member;\n item = $scope.$eval($attrs.tgListitemAssignedto);\n ctx = {\n name: \"Unassigned\",\n 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 return $el.html(template(ctx));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", ListItemAssignedtoDirective]);\n\n ListItemPriorityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(priorityById, issue) {\n var domNode, priority;\n priority = priorityById[issue.priority];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", priority.color);\n return domNode.attr(\"title\", priority.name);\n };\n bindOnce($scope, \"priorityById\", function(priorityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemPriority);\n return render(priorityById, issue);\n });\n return $scope.$watch($attrs.tgListitemPriority, function(issue) {\n return render($scope.priorityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemPriority\", ListItemPriorityDirective);\n\n ListItemSeverityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(severityById, issue) {\n var domNode, severity;\n severity = severityById[issue.severity];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", severity.color);\n return domNode.attr(\"title\", severity.name);\n };\n bindOnce($scope, \"severityById\", function(severityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemSeverity);\n return render(severityById, issue);\n });\n return $scope.$watch($attrs.tgListitemSeverity, function(issue) {\n return render($scope.severityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n ListItemTypeDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issueTypeById, issue) {\n var domNode, type;\n type = issueTypeById[issue.type];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", type.color);\n return domNode.attr(\"title\", type.name);\n };\n bindOnce($scope, \"issueTypeById\", function(issueTypeById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemType);\n return render(issueTypeById, issue);\n });\n return $scope.$watch($attrs.tgListitemType, function(issue) {\n return render($scope.issueTypeById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n TgProgressBarDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/progress-bar.html\", true);\n render = function(el, percentage) {\n return el.html(template({\n percentage: percentage\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgProgressBar, function(percentage) {\n percentage = _.max([0, percentage]);\n percentage = _.min([100, percentage]);\n return render($el, percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective]);\n\n TgMainTitleDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/main-title.html\", true);\n render = function(el, projectName, sectionName) {\n return el.html(template({\n projectName: projectName,\n sectionName: sectionName\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch(\"project\", function(project) {\n if (project) {\n return render($el, project.name, $scope.sectionName);\n }\n });\n $scope.$on(\"project:loaded\", (function(_this) {\n return function(ctx, project) {\n return render($el, project.name, $scope.sectionName);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMainTitle\", [\"$tgTemplate\", TgMainTitleDirective]);\n\n module.directive(\"tgListitemType\", ListItemTypeDirective);\n\n module.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective);\n\n module.directive(\"tgListitemSeverity\", ListItemSeverityDirective);\n\n module.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective);\n\n module.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective);\n\n}).call(this);\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/base/confirm.coffee\n */\n\n(function() {\n var ConfirmService, NOTIFICATION_MSG, bindMethods, cancelTimeout, debounce, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n timeout = this.taiga.timeout;\n\n cancelTimeout = this.taiga.cancelTimeout;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n NOTIFICATION_MSG = {\n \"success\": {\n title: \"Everything is ok\",\n message: \"Our Oompa Loompas saved all your changes!\"\n },\n \"error\": {\n title: \"Oops, something happened...\",\n message: \"Our Oompa Loompas are sad, your changes were not saved!\"\n },\n \"light-error\": {\n title: \"Oops, something happened...\",\n message: \"Our Oompa Loompas are sad, your changes were not saved!\"\n }\n };\n\n ConfirmService = (function(superClass) {\n extend(ConfirmService, superClass);\n\n ConfirmService.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\"];\n\n function ConfirmService(q, lightboxService, loading) {\n this.q = q;\n this.lightboxService = lightboxService;\n this.loading = loading;\n bindMethods(this);\n }\n\n ConfirmService.prototype.hide = function(el) {\n if (el) {\n this.lightboxService.close(el);\n return el.off(\".confirm-dialog\");\n }\n };\n\n ConfirmService.prototype.ask = function(title, subtitle, message, lightboxSelector) {\n var defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-generic-ask\";\n }\n el = angular.element(lightboxSelector);\n el.find(\"h2.title\").html(title);\n el.find(\"span.subtitle\").html(subtitle);\n el.find(\"span.message\").html(message);\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n _this.loading.start(target);\n return defered.resolve(function(ok) {\n if (ok == null) {\n ok = true;\n }\n _this.loading.finish(target);\n if (ok) {\n return _this.hide(el);\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \"a.button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.askOnDelete = function(title, message) {\n return this.ask(title, \"Are you sure you want to delete?\", message);\n };\n\n ConfirmService.prototype.askChoice = function(title, subtitle, choices, replacement, warning, lightboxSelector) {\n var choicesField, defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-ask-choice\";\n }\n el = angular.element(lightboxSelector);\n el.find(\".title\").html(title);\n el.find(\".subtitle\").html(subtitle);\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, function(value, key) {\n return choicesField.append(angular.element(\"\"));\n });\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n _this.loading.start(target);\n return defered.resolve({\n selected: choicesField.val(),\n finish: function() {\n _this.loading.finish(target);\n return _this.hide(el);\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \"a.button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.error = function(message) {\n var defered, el;\n el = angular.element(\".lightbox-generic-error\");\n el.find(\"h2.title\").html(message);\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \"a.close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.success = function(title, message) {\n var defered, el;\n el = angular.element(\".lightbox-generic-success\");\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(message);\n }\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \"a.close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.loader = function(title, message) {\n var el;\n el = angular.element(\".lightbox-generic-loading\");\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(message);\n }\n return {\n start: (function(_this) {\n return function() {\n return _this.lightboxService.open(el);\n };\n })(this),\n stop: (function(_this) {\n return function() {\n return _this.lightboxService.close(el);\n };\n })(this),\n update: (function(_this) {\n return function(status, title, message, percent) {\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(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 return el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%');\n } else {\n el.find(\".spin\").removeClass(\"hidden\");\n return el.find(\".progress-bar-wrapper\").addClass(\"hidden\");\n }\n };\n })(this)\n };\n };\n\n ConfirmService.prototype.notify = function(type, message, title, time) {\n var body, el, selector;\n selector = \".notification-message-\" + type;\n el = angular.element(selector);\n if (el.hasClass(\"active\")) {\n return;\n }\n if (title) {\n el.find(\"h4\").html(title);\n } else {\n el.find(\"h4\").html(NOTIFICATION_MSG[type].title);\n }\n if (message) {\n el.find(\"p\").html(message);\n } else {\n el.find(\"p\").html(NOTIFICATION_MSG[type].message);\n }\n body = angular.element(\"body\");\n body.find(\".notification-message .notification-light\").removeClass('active').addClass('inactive');\n body.find(selector).removeClass('inactive').addClass('active');\n if (this.tsem) {\n cancelTimeout(this.tsem);\n }\n if (!time) {\n time = type === 'error' || type === 'light-error' ? 3500 : 1500;\n }\n this.tsem = timeout(time, (function(_this) {\n return function() {\n body.find(selector).removeClass('active').addClass('inactive');\n return delete _this.tsem;\n };\n })(this));\n return el.on(\"click\", \".icon-delete\", (function(_this) {\n return function(event) {\n return body.find(selector).removeClass('active').addClass('inactive');\n };\n })(this));\n };\n\n return ConfirmService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaCommon\");\n\n module.service(\"$tgConfirm\", ConfirmService);\n\n}).call(this);\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/custom-field-values.coffee\n */\n\n(function() {\n var CustomAttributeValueDirective, CustomAttributesValuesController, CustomAttributesValuesDirective, bindMethods, bindOnce, debounce, generateHash, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindMethods = this.taiga.bindMethods;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n generateHash = taiga.generateHash;\n\n module = angular.module(\"taigaCommon\");\n\n CustomAttributesValuesController = (function(superClass) {\n extend(CustomAttributesValuesController, superClass);\n\n CustomAttributesValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"];\n\n function CustomAttributesValuesController(scope, rootscope, repo, rs, confirm, q) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.q = q;\n bindMethods(this);\n this.type = null;\n this.objectId = null;\n this.projectId = null;\n this.customAttributes = [];\n this.customAttributesValues = null;\n }\n\n CustomAttributesValuesController.prototype.initialize = function(type, objectId) {\n this.project = this.scope.project;\n this.type = type;\n this.objectId = objectId;\n return this.projectId = this.scope.projectId;\n };\n\n CustomAttributesValuesController.prototype.loadCustomAttributesValues = function() {\n if (!this.objectId) {\n return this.customAttributesValues;\n }\n return this.rs.customAttributesValues[this.type].get(this.objectId).then((function(_this) {\n return function(customAttributesValues) {\n _this.customAttributes = _this.project[_this.type + \"_custom_attributes\"];\n _this.customAttributesValues = customAttributesValues;\n return customAttributesValues;\n };\n })(this));\n };\n\n CustomAttributesValuesController.prototype.getAttributeValue = function(attribute) {\n var attributeValue;\n attributeValue = _.clone(attribute, false);\n attributeValue.value = this.customAttributesValues.attributes_values[attribute.id];\n return attributeValue;\n };\n\n CustomAttributesValuesController.prototype.updateAttributeValue = function(attributeValue) {\n var attributesValues, onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"custom-attributes-values:edit\");\n };\n })(this);\n onError = (function(_this) {\n return function(response) {\n _this.confirm.notify(\"error\");\n return _this.q.reject();\n };\n })(this);\n attributesValues = _.clone(this.customAttributesValues.attributes_values, true);\n attributesValues[attributeValue.id] = attributeValue.value;\n this.customAttributesValues.attributes_values = attributesValues;\n this.customAttributesValues.id = this.objectId;\n return this.repo.save(this.customAttributesValues).then(onSuccess, onError);\n };\n\n return CustomAttributesValuesController;\n\n })(taiga.Controller);\n\n CustomAttributesValuesDirective = function($templates, $storage) {\n var collapsedHash, link, template, templateFn;\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true);\n collapsedHash = function(type) {\n return generateHash([\"custom-attributes-collapsed\", type]);\n };\n link = function($scope, $el, $attrs, $ctrls) {\n var $ctrl, $model;\n $ctrl = $ctrls[0];\n $model = $ctrls[1];\n bindOnce($scope, $attrs.ngModel, function(value) {\n $ctrl.initialize($attrs.type, value.id);\n return $ctrl.loadCustomAttributesValues();\n });\n $el.on(\"click\", \".custom-fields-header a\", function() {\n var collapsed, hash;\n hash = collapsedHash($attrs.type);\n collapsed = !($storage.get(hash) || false);\n $storage.set(hash, collapsed);\n if (collapsed) {\n $el.find(\".custom-fields-header a\").removeClass(\"open\");\n return $el.find(\".custom-fields-body\").removeClass(\"open\");\n } else {\n $el.find(\".custom-fields-header a\").addClass(\"open\");\n return $el.find(\".custom-fields-body\").addClass(\"open\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n templateFn = function($el, $attrs) {\n var collapsed;\n collapsed = $storage.get(collapsedHash($attrs.type)) || false;\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 };\n\n module.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", CustomAttributesValuesDirective]);\n\n CustomAttributeValueDirective = function($template, $selectedText) {\n var link, template, templateEdit;\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true);\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true);\n link = function($scope, $el, $attrs, $ctrl) {\n var attributeValue, isEditable, render, saveAttributeValue, submit;\n render = function(attributeValue, edit) {\n var ctx, editable, html, value;\n if (edit == null) {\n edit = false;\n }\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 if (editable && (edit || !value)) {\n html = templateEdit(ctx);\n } else {\n html = template(ctx);\n }\n return $el.html(html);\n };\n isEditable = function() {\n var permissions, requiredEditionPerm;\n permissions = $scope.project.my_permissions;\n requiredEditionPerm = $attrs.requiredEditionPerm;\n return permissions.indexOf(requiredEditionPerm) > -1;\n };\n saveAttributeValue = function() {\n attributeValue.value = $el.find(\"input\").val();\n return $scope.$apply(function() {\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n return render(attributeValue, false);\n });\n });\n };\n $el.on(\"keyup\", \"input[name=description]\", function(event) {\n if (event.keyCode === 13) {\n return submit(event);\n } else if (event.keyCode === 27) {\n return render(attributeValue, false);\n }\n });\n $el.on(\"click\", \".custom-field-value.read-mode\", function() {\n if (!isEditable()) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n render(attributeValue, true);\n return $el.find(\"input[name='description']\").focus().select();\n });\n $el.on(\"click\", \"a.icon-edit\", function(event) {\n event.preventDefault();\n render(attributeValue, true);\n return $el.find(\"input[name='description']\").focus().select();\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n return saveAttributeValue();\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \"a.icon-floppy\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue);\n return render(attributeValue);\n };\n return {\n link: link,\n require: \"^tgCustomAttributesValues\",\n restrict: \"AE\"\n };\n };\n\n module.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", CustomAttributeValueDirective]);\n\n}).call(this);\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/estimation.coffee\n */\n\n(function() {\n var EstimationsService, LbUsEstimationDirective, UsEstimationDirective, groupBy, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaCommon\");\n\n LbUsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $confirm, $template) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId) {\n return $scope.$apply(function() {\n return $model.$setViewValue(us);\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", LbUsEstimationDirective]);\n\n UsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $confirm, $qqueue, $template) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId) {\n return this.save(roleId, pointId).then(function() {\n return $rootScope.$broadcast(\"history:reload\");\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", UsEstimationDirective]);\n\n EstimationsService = function($template, $qqueue, $repo, $confirm, $q) {\n var EstimationProcess, create, pointsTemplate;\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true);\n EstimationProcess = (function() {\n function EstimationProcess($el1, us1, project1) {\n this.$el = $el1;\n this.us = us1;\n this.project = project1;\n this.bindClickEvents = bind(this.bindClickEvents, this);\n this.isEditable = this.project.my_permissions.indexOf(\"modify_us\") !== -1;\n this.roles = this.project.roles;\n this.points = this.project.points;\n this.pointsById = groupBy(this.points, function(x) {\n return x.id;\n });\n this.onSelectedPointForRole = function(roleId, pointId) {};\n this.render = function() {};\n }\n\n EstimationProcess.prototype.save = function(roleId, pointId) {\n var deferred;\n deferred = $q.defer();\n $qqueue.add((function(_this) {\n return function() {\n var onError, onSuccess;\n onSuccess = function() {\n deferred.resolve();\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n _this.us.revert();\n _this.render();\n return deferred.reject();\n };\n return $repo.save(_this.us).then(onSuccess, onError);\n };\n })(this));\n return deferred.promise;\n };\n\n EstimationProcess.prototype.calculateTotalPoints = function() {\n var notNullValues, values;\n values = _.map(this.us.points, (function(_this) {\n return function(v, k) {\n var ref;\n return (ref = _this.pointsById[v]) != null ? ref.value : void 0;\n };\n })(this));\n if (values.length === 0) {\n return \"0\";\n }\n notNullValues = _.filter(values, function(v) {\n return v != null;\n });\n if (notNullValues.length === 0) {\n return \"?\";\n }\n return _.reduce(notNullValues, function(acc, num) {\n return acc + num;\n });\n };\n\n EstimationProcess.prototype.calculateRoles = function() {\n var computableRoles, roles;\n computableRoles = _.filter(this.project.roles, \"computable\");\n roles = _.map(computableRoles, (function(_this) {\n return function(role) {\n var pointId, pointObj;\n pointId = _this.us.points[role.id];\n pointObj = _this.pointsById[pointId];\n role = _.clone(role, true);\n role.points = (pointObj != null) && (pointObj.name != null) ? pointObj.name : \"?\";\n return role;\n };\n })(this));\n return roles;\n };\n\n EstimationProcess.prototype.bindClickEvents = function() {\n this.$el.on(\"click\", \".total.clickable\", (function(_this) {\n return function(event) {\n var roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n _this.renderPointsSelector(roleId, target);\n target.siblings().removeClass('active');\n return target.addClass('active');\n };\n })(this));\n return this.$el.on(\"click\", \".point\", (function(_this) {\n return function(event) {\n var pointId, points, roleId, target;\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 _this.$el.find(\".popover\").popover().close();\n points = _.clone(_this.us.points, true);\n points[roleId] = pointId;\n _this.us.points = points;\n _this.render();\n return _this.onSelectedPointForRole(roleId, pointId);\n };\n })(this));\n };\n\n EstimationProcess.prototype.renderPointsSelector = function(roleId, target) {\n var horizontalList, html, maxPointLength, points;\n points = _.map(this.points, (function(_this) {\n return function(point) {\n point = _.clone(point, true);\n point.selected = _this.us.points[roleId] === point.id ? false : true;\n return point;\n };\n })(this));\n maxPointLength = 5;\n horizontalList = _.some(points, (function(_this) {\n return function(point) {\n return point.name.length > maxPointLength;\n };\n })(this));\n html = pointsTemplate({\n \"points\": points,\n roleId: roleId,\n horizontal: horizontalList\n });\n this.$el.find(\".popover\").popover().close();\n this.$el.find(\".pop-points-open\").remove();\n if (target != null) {\n this.$el.find(target).append(html);\n } else {\n this.$el.append(html);\n }\n this.$el.find(\".pop-points-open\").popover().open(function() {\n return $(this).removeClass(\"active\").closest(\"li\").removeClass(\"active\");\n });\n return this.$el.find(\".pop-points-open\").show();\n };\n\n return EstimationProcess;\n\n })();\n create = function($el, us, project) {\n var estimationProcess;\n $el.unbind(\"click\");\n estimationProcess = new EstimationProcess($el, us, project);\n if (estimationProcess.isEditable) {\n estimationProcess.bindClickEvents();\n }\n return estimationProcess;\n };\n return {\n create: create\n };\n };\n\n module.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgQqueue\", \"$tgRepo\", \"$tgConfirm\", \"$q\", EstimationsService]);\n\n}).call(this);\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/base/filters.coffee\n */\n\n(function() {\n var FiltersStorageService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n FiltersStorageService = (function(superClass) {\n extend(FiltersStorageService, superClass);\n\n FiltersStorageService.$inject = [\"$tgStorage\", \"$routeParams\"];\n\n function FiltersStorageService(storage, params) {\n this.storage = storage;\n this.params = params;\n }\n\n FiltersStorageService.prototype.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n return FiltersStorageService;\n\n })(taiga.Service);\n\n}).call(this);\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/history.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(type, objectId) {\n return $repo.queryOneRaw(\"history/\" + type, objectId);\n };\n service.deleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/delete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.undeleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/undelete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.history = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/importer.coffee\n */\n\n(function() {\n var ImportProjectButtonDirective, module;\n\n module = angular.module(\"taigaCommon\");\n\n ImportProjectButtonDirective = function($rs, $confirm, $location, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n $el.on(\"click\", \".import-project-button\", function(event) {\n event.preventDefault();\n $el.find(\"input.import-file\").val(\"\");\n return $el.find(\"input.import-file\").trigger(\"click\");\n });\n return $el.on(\"change\", \"input.import-file\", function(event) {\n var file, loader, onError, onSuccess;\n event.preventDefault();\n file = event.target.files[0];\n if (!file) {\n return;\n }\n loader = $confirm.loader(\"Uploading dump file\");\n onSuccess = function(result) {\n var ctx, message, title;\n loader.stop();\n if (result.status === 202) {\n title = \"Our Oompa Loompas are importing your project\";\n message = \"This process could take a few minutes
We will send you an email when ready\";\n return $confirm.success(title, message);\n } else {\n ctx = {\n project: result.data.slug\n };\n $location.path($navUrls.resolve(\"project-admin-project-profile-details\", ctx));\n return $confirm.notify(\"success\", \"Your project has been imported successfuly.\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n loader.stop();\n console.log(\"Error\", result);\n errorMsg = \"Our oompa loompas have some problems importing your dump data. Please try again. \";\n if (result.status === 429) {\n errorMsg = \"Sorry, our oompa loompas are very busy right now. Please try again in a few minutes. \";\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = \"Our oompa loompas have some problems importing your dump data: \" + result.data._error_message;\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n loader.start();\n return $rs.projects[\"import\"](file, loader.update).then(onSuccess, onError);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgImportProjectButton\", [\"$tgResources\", \"$tgConfirm\", \"$location\", \"$tgNavUrls\", ImportProjectButtonDirective]);\n\n}).call(this);\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/lightboxes.coffee\n */\n\n(function() {\n var DeleteUserDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n DeleteUserDirective = function($repo, $rootscope, $auth, $location, $navUrls, lightboxService) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n $scope.$on(\"deletelightbox:new\", function(ctx, user) {\n return lightboxService.open($el);\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var promise;\n promise = $repo.remove($scope.user);\n promise.then(function(data) {\n lightboxService.close($el);\n $auth.logout();\n return $location.path($navUrls.resolve(\"login\"));\n });\n return promise.then(null, function() {\n return console.log(\"FAIL\");\n });\n };\n $el.on(\"click\", \".button-red\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n return $el.on(\"click\", \".button-green\", debounce(2000, function(event) {\n event.preventDefault();\n return submit();\n }));\n };\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n };\n };\n\n module.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"lightboxService\", DeleteUserDirective]);\n\n}).call(this);\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 * 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(function() {\n var Loader, LoaderDirective, module, sizeFormat, taiga, timeout;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaCommon\");\n\n LoaderDirective = function(tgLoader, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n tgLoader.onStart(function() {\n $(document.body).addClass(\"loader-active\");\n return $el.addClass(\"active\");\n });\n tgLoader.onEnd(function() {\n $(document.body).removeClass(\"loader-active\");\n return $el.removeClass(\"active\");\n });\n $rootscope.$on(\"$routeChangeSuccess\", function(e) {\n return tgLoader.startCurrentPageLoader();\n });\n return $rootscope.$on(\"$locationChangeSuccess\", function(e) {\n return tgLoader.reset();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective]);\n\n Loader = function() {\n var config, defaultConfig, forceDisabled;\n forceDisabled = false;\n defaultConfig = {\n enabled: false,\n minTime: 300\n };\n config = _.merge({}, defaultConfig);\n this.add = function() {\n return function() {\n if (!forceDisabled) {\n return config.enabled = true;\n }\n };\n };\n this.$get = [\n \"$rootScope\", function($rootscope) {\n var pageLoaded, reset, start, startLoadTime;\n startLoadTime = 0;\n reset = function() {\n return config = _.merge({}, defaultConfig);\n };\n pageLoaded = function(force) {\n var diff, endTime, timeoutValue;\n if (force == null) {\n force = false;\n }\n if (startLoadTime) {\n timeoutValue = 0;\n if (!force) {\n endTime = new Date().getTime();\n diff = endTime - startLoadTime;\n if (diff < config.minTime) {\n timeoutValue = config.minTime - diff;\n }\n }\n return timeout(timeoutValue, function() {\n return $rootscope.$broadcast(\"loader:end\");\n });\n }\n };\n start = function() {\n startLoadTime = new Date().getTime();\n return $rootscope.$broadcast(\"loader:start\");\n };\n return {\n reset: reset,\n pageLoaded: pageLoaded,\n start: start,\n startCurrentPageLoader: function() {\n if (config.enabled) {\n return start();\n }\n },\n onStart: function(fn) {\n return $rootscope.$on(\"loader:start\", fn);\n },\n onEnd: function(fn) {\n return $rootscope.$on(\"loader:end\", fn);\n },\n preventLoading: function() {\n return forceDisabled = true;\n },\n disablePreventLoading: function() {\n return forceDisabled = false;\n }\n };\n }\n ];\n };\n\n module.provider(\"tgLoader\", [Loader]);\n\n}).call(this);\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/lightboxes.coffee\n */\n\n(function() {\n var TgLoadingService, module,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n module = angular.module(\"taigaCommon\");\n\n TgLoadingService = (function(superClass) {\n extend(TgLoadingService, superClass);\n\n function TgLoadingService() {\n return TgLoadingService.__super__.constructor.apply(this, arguments);\n }\n\n TgLoadingService.prototype.start = function(target) {\n if (!target.hasClass('loading')) {\n target.data('loading-old-content', target.html());\n target.addClass('loading');\n return target.html(\"loading...\");\n }\n };\n\n TgLoadingService.prototype.finish = function(target) {\n var oldContent;\n if (target.hasClass('loading')) {\n oldContent = target.data('loading-old-content');\n target.data('loading-old-content', null);\n target.html(oldContent);\n return target.removeClass('loading');\n }\n };\n\n return TgLoadingService;\n\n })(taiga.Service);\n\n module.service(\"$tgLoading\", TgLoadingService);\n\n}).call(this);\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/popovers.coffee\n */\n\n(function() {\n var RelatedTaskStatusDirective, UsStatusDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaCommon\");\n\n UsStatusDirective = function($repo, $template) {\n\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 var link, template;\n template = $template.get(\"common/popover/popover-us-status.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, render, us;\n $ctrl = $el.controller();\n render = function(us) {\n var usStatusById, usStatusDom, usStatusDomParent;\n usStatusDomParent = $el.find(\".us-status\");\n usStatusDom = $el.find(\".us-status .us-status-bind\");\n usStatusById = $scope.usStatusById;\n if (usStatusById[us.status]) {\n usStatusDom.text(usStatusById[us.status].name);\n return usStatusDomParent.css(\"color\", usStatusById[us.status].color);\n }\n };\n $el.on(\"click\", \".us-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgUsStatus);\n us.status = target.data(\"status-id\");\n render(us);\n $el.find(\".pop-status\").popover().close();\n return $scope.$apply(function() {\n return $repo.save(us).then(function() {\n return $scope.$eval($attrs.onUpdate);\n });\n });\n }));\n $scope.$on(\"userstories:loaded\", function() {\n return render($scope.$eval($attrs.tgUsStatus));\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n us = $scope.$eval($attrs.tgUsStatus);\n render(us);\n return bindOnce($scope, \"project\", function(project) {\n var html;\n html = template({\n \"statuses\": project.us_statuses\n });\n $el.append(html);\n if ($scope.project.my_permissions.indexOf(\"modify_us\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective]);\n\n RelatedTaskStatusDirective = function($repo, $template) {\n\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 var link, selectionTemplate, updateTaskStatus;\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true);\n updateTaskStatus = function($el, task, taskStatusById) {\n var taskStatusDom, taskStatusDomParent;\n taskStatusDomParent = $el.find(\".us-status\");\n taskStatusDom = $el.find(\".task-status .task-status-bind\");\n if (taskStatusById[task.status]) {\n taskStatusDom.text(taskStatusById[task.status].name);\n return taskStatusDomParent.css('color', taskStatusById[task.status].color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task;\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $el.on(\"click\", \".task-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target;\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 if (autoSave) {\n return $scope.$apply(function() {\n return $repo.save(task).then(function() {\n $scope.$eval($attrs.onUpdate);\n return $scope.$emit(\"related-tasks:status-changed\");\n });\n });\n }\n }));\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.task_statuses\n }));\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective]);\n\n $.fn.popover = function() {\n var $el, close, closeAll, closePopover, isVisible, open;\n $el = this;\n isVisible = (function(_this) {\n return function() {\n var docViewBottom, docViewLeft, docViewRight, docViewTop, docViewWidth, elemBottom, elemLeft, elemRight, elemTop, elemWidth;\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n });\n docViewTop = $(window).scrollTop();\n docViewBottom = docViewTop + $(window).height();\n docViewWidth = $(window).width();\n docViewRight = docViewWidth;\n docViewLeft = 0;\n elemTop = $el.offset().top;\n elemBottom = elemTop + $el.height();\n elemWidth = $el.width();\n elemLeft = $el.offset().left;\n elemRight = $el.offset().left + elemWidth;\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n });\n return (elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight);\n };\n })(this);\n closePopover = (function(_this) {\n return function(onClose) {\n if (onClose) {\n onClose.call($el);\n }\n $el.fadeOut(function() {\n return $el.removeClass(\"active\").removeClass(\"fix\");\n });\n return $el.off(\"popup:close\");\n };\n })(this);\n closeAll = (function(_this) {\n return function() {\n return $(\".popover.active\").each(function() {\n return $(this).trigger(\"popup:close\");\n });\n };\n })(this);\n open = (function(_this) {\n return function(onClose) {\n if ($el.hasClass(\"active\")) {\n return close();\n } else {\n closeAll();\n if (!isVisible()) {\n $el.addClass(\"fix\");\n }\n $el.fadeIn(function() {\n $el.addClass(\"active\");\n $(document.body).off(\"popover\");\n return $(document.body).one(\"click.popover\", function() {\n return closeAll();\n });\n });\n return $el.on(\"popup:close\", function(e) {\n return closePopover(onClose);\n });\n }\n };\n })(this);\n close = (function(_this) {\n return function() {\n return $el.trigger(\"popup:close\");\n };\n })(this);\n return {\n open: open,\n close: close,\n closeAll: closeAll\n };\n };\n\n}).call(this);\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/raven-logger.coffee\n */\n\n(function() {\n var ExceptionHandlerFactory, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n ExceptionHandlerFactory = function($log, config) {\n var ravenConfig;\n this.config = config;\n ravenConfig = this.config.get(\"ravenConfig\", null);\n if (ravenConfig) {\n $log.debug(\"Using the RavenJS exception handler.\");\n Raven.config(ravenConfig).install();\n return function(exception, cause) {\n $log.error.apply($log, arguments);\n return Raven.captureException(exception);\n };\n } else {\n $log.debug(\"Using the default logging exception handler.\");\n return function(exception, cause) {\n return $log.error.apply($log, arguments);\n };\n }\n };\n\n module.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory]);\n\n}).call(this);\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/tags.coffee\n */\n\n(function() {\n var ColorizeTagsDirective, LbTagLineDirective, TagLineDirective, TagsDirective, bindOnce, module, taiga, trim,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n TagsDirective = function() {\n var formatter, link, parser;\n formatter = function(v) {\n if (_.isArray(v)) {\n return v.join(\", \");\n }\n return \"\";\n };\n parser = function(v) {\n var result;\n if (!v) {\n return [];\n }\n result = _(v.split(\",\")).map(function(x) {\n return _.str.trim(x);\n });\n return result.value();\n };\n link = function($scope, $el, $attrs, $ctrl) {\n $ctrl.$formatters.push(formatter);\n $ctrl.$parsers.push(parser);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n require: \"ngModel\",\n link: link\n };\n };\n\n module.directive(\"tgTags\", TagsDirective);\n\n ColorizeTagsDirective = function() {\n var link, templates;\n templates = {\n backlog: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\"><%- tag.name %>\\n<% }) %>\"),\n kanban: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\" title=\\\"<%- tag.name %>\\\" />\\n<% }) %>\"),\n taskboard: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\" title=\\\"<%- tag.name %>\\\" />\\n<% }) %>\")\n };\n link = function($scope, $el, $attrs, $ctrl) {\n var render;\n render = function(srcTags) {\n var html, tags, template;\n template = templates[$attrs.tgColorizeTagsType];\n srcTags.sort();\n tags = _.map(srcTags, function(tag) {\n var color;\n color = $scope.project.tags_colors[tag];\n return {\n name: tag,\n color: color\n };\n });\n html = template({\n tags: tags\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.tgColorizeTags, function(tags) {\n if (tags != null) {\n return render(tags);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgColorizeTags\", ColorizeTagsDirective);\n\n LbTagLineDirective = function($rs, $template) {\n var COMMA_KEY, ENTER_KEY, link, templateTags;\n ENTER_KEY = 13;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideSaveButton, removeInputLastCharacter, renderTags, resetInput, saveInputTag, showSaveButton;\n renderTags = function(tags, tagsColors) {\n var ctx, html;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n color: tagsColors[t]\n };\n })\n };\n _.map(ctx.tags, (function(_this) {\n return function(tag) {\n if (tag.color) {\n return tag.style = \"border-left: 5px solid \" + tag.color;\n }\n };\n })(this));\n html = templateTags(ctx);\n return $el.find(\"div.tags-container\").html(html);\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return $el.find(\"input\").autocomplete(\"close\");\n };\n addValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n return hideSaveButton();\n };\n deleteValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n tags = _.pull(tags, value);\n return $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n };\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n removeInputLastCharacter = (function(_this) {\n return function(input) {\n var inputValue;\n inputValue = input.val();\n return input.val(inputValue.substring(0, inputValue.length - 1));\n };\n })(this);\n $el.on(\"keypress\", \"input\", function(event) {\n if (event.keyCode !== ENTER_KEY) {\n return;\n }\n return event.preventDefault();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n return saveInputTag();\n } else if (event.keyCode === COMMA_KEY) {\n removeInputLastCharacter(target);\n return saveInputTag();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var positioningFunction;\n positioningFunction = function(position, elements) {\n var menu;\n menu = elements.element.element;\n menu.css(\"width\", elements.target.width);\n menu.css(\"top\", position.top);\n return menu.css(\"left\", position.left);\n };\n return $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors),\n position: {\n my: \"left top\",\n using: positioningFunction\n },\n select: function(event, ui) {\n addValue(ui.item.value);\n return ui.item.value = \"\";\n }\n });\n });\n $scope.$watch($attrs.ngModel, function(tags) {\n var ref, tagsColors;\n tagsColors = ((ref = $scope.project) != null ? ref.tags_colors : void 0) || [];\n return renderTags(tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/lb-tag-line.html\"\n };\n };\n\n module.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", LbTagLineDirective]);\n\n TagLineDirective = function($rootScope, $repo, $rs, $confirm, $qqueue, $template) {\n var COMMA_KEY, ENTER_KEY, ESC_KEY, link, templateTags;\n ENTER_KEY = 13;\n ESC_KEY = 27;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/tags-line-tags.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideAddTagButton, hideAddTagButtonText, hideInput, hideSaveButton, isEditable, removeInputLastCharacter, renderInReadModeOnly, renderTags, resetInput, saveInputTag, showAddTagButton, showAddTagButtonText, showInput, showSaveButton;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n renderTags = function(tags, tagsColors) {\n var ctx, html;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n color: tagsColors[t]\n };\n }),\n isEditable: isEditable()\n };\n html = templateTags(ctx);\n return $el.find(\"div.tags-container\").html(html);\n };\n renderInReadModeOnly = function() {\n $el.find(\".add-tag\").remove();\n $el.find(\"input\").remove();\n return $el.find(\".save\").remove();\n };\n showAddTagButton = function() {\n return $el.find(\".add-tag\").removeClass(\"hidden\");\n };\n hideAddTagButton = function() {\n return $el.find(\".add-tag\").addClass(\"hidden\");\n };\n showAddTagButtonText = function() {\n return $el.find(\".add-tag-text\").removeClass(\"hidden\");\n };\n hideAddTagButtonText = function() {\n return $el.find(\".add-tag-text\").addClass(\"hidden\");\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n showInput = function() {\n return $el.find(\"input\").removeClass(\"hidden\").focus();\n };\n hideInput = function() {\n return $el.find(\"input\").addClass(\"hidden\").blur();\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return $el.find(\"input\").autocomplete(\"close\");\n };\n addValue = $qqueue.bindAdd(function(value) {\n var model, onError, onSuccess, tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue.tags, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n model = $model.$modelValue.clone();\n model.tags = tags;\n $model.$setViewValue(model);\n onSuccess = function() {\n return $rootScope.$broadcast(\"history:reload\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n model.revert();\n return $model.$setViewValue(model);\n };\n $repo.save(model).then(onSuccess, onError);\n return hideSaveButton();\n });\n deleteValue = $qqueue.bindAdd(function(value) {\n var model, onError, onSuccess, tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue.tags, false);\n tags = _.pull(tags, value);\n model = $model.$modelValue.clone();\n model.tags = tags;\n $model.$setViewValue(model);\n onSuccess = function() {\n return $rootScope.$broadcast(\"history:reload\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n model.revert();\n return $model.$setViewValue(model);\n };\n return $repo.save(model).then(onSuccess, onError);\n });\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n removeInputLastCharacter = (function(_this) {\n return function(input) {\n var inputValue;\n inputValue = input.val();\n return input.val(inputValue.substring(0, inputValue.length - 1));\n };\n })(this);\n $el.on(\"keypress\", \"input\", function(event) {\n var ref;\n if ((ref = event.keyCode) !== ENTER_KEY && ref !== ESC_KEY) {\n return;\n }\n return event.preventDefault();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n return saveInputTag();\n } else if (event.keyCode === COMMA_KEY) {\n removeInputLastCharacter(target);\n return saveInputTag();\n } else if (event.keyCode === ESC_KEY) {\n resetInput();\n hideInput();\n hideSaveButton();\n return showAddTagButton();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".add-tag\", function(event) {\n event.preventDefault();\n hideAddTagButton();\n return showInput();\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var positioningFunction;\n if (!isEditable()) {\n renderInReadModeOnly();\n return;\n }\n showAddTagButton();\n positioningFunction = function(position, elements) {\n var menu;\n menu = elements.element.element;\n menu.css(\"width\", elements.target.width);\n menu.css(\"top\", position.top);\n return menu.css(\"left\", position.left);\n };\n return $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors),\n position: {\n my: \"left top\",\n using: positioningFunction\n },\n select: function(event, ui) {\n addValue(ui.item.value);\n return ui.item.value = \"\";\n }\n });\n });\n $scope.$watch($attrs.ngModel, function(model) {\n var ref, ref1, tagsColors;\n if (!model) {\n return;\n }\n if ((ref = model.tags) != null ? ref.length : void 0) {\n hideAddTagButtonText();\n } else {\n showAddTagButtonText();\n }\n tagsColors = ((ref1 = $scope.project) != null ? ref1.tags_colors : void 0) || [];\n return renderTags(model.tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/tag-line.html\"\n };\n };\n\n module.directive(\"tgTagLine\", [\"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", TagLineDirective]);\n\n}).call(this);\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/wisiwyg.coffee\n */\n\n(function() {\n var bindOnce, module, taiga, tgMarkitupDirective,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n tgMarkitupDirective = function($rootscope, $rs, $tr, $selectedText, $template) {\n var link, previewTemplate;\n previewTemplate = $template.get(\"common/wysiwyg/wysiwyg-markitup-preview.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addLine, closePreviewMode, element, markdownSettings, markdownTitle, prepareUrlFormatting, preview, previewDomNode, setCaretPosition, urlFormatting;\n element = angular.element($el);\n previewDomNode = $(\"
\", {\n \"class\": \"preview\"\n });\n closePreviewMode = function() {\n element.parents(\".markdown\").find(\".preview\").remove();\n return element.parents(\".markItUp\").show();\n };\n $scope.$on(\"markdown-editor:submit\", function() {\n return closePreviewMode();\n });\n preview = function() {\n var markItUpDomNode, markdownDomNode;\n markdownDomNode = element.parents(\".markdown\");\n markItUpDomNode = element.parents(\".markItUp\");\n return $rs.mdrender.render($scope.projectId, $model.$modelValue).then(function(data) {\n var markdown;\n markdownDomNode.append(previewTemplate({\n data: data.data\n }));\n markItUpDomNode.hide();\n markdown = element.closest(\".markdown\");\n return markdown.on(\"mouseup.preview\", \".preview\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.target);\n if (!target.is('a') && $selectedText.get().length) {\n return;\n }\n markdown.off(\".preview\");\n return closePreviewMode();\n });\n });\n };\n setCaretPosition = function(textarea, caretPosition) {\n var line, range, scrollRelation, totalLines;\n if (textarea.createTextRange) {\n range = textarea.createTextRange();\n range.move(\"character\", caretPosition);\n range.select();\n } else if (textarea.selectionStart) {\n textarea.focus();\n textarea.setSelectionRange(caretPosition, caretPosition);\n }\n totalLines = textarea.value.split(\"\\n\").length;\n line = textarea.value.slice(0, +(caretPosition - 1) + 1 || 9e9).split(\"\\n\").length;\n scrollRelation = line / totalLines;\n return $el.scrollTop((scrollRelation * $el[0].scrollHeight) - ($el.height() / 2));\n };\n addLine = function(textarea, nline, replace) {\n var cursorPosition, j, key, len, line, lines;\n lines = textarea.value.split(\"\\n\");\n if (replace) {\n lines[nline] = replace + lines[nline];\n } else {\n lines[nline] = \"\";\n }\n cursorPosition = 0;\n for (key = j = 0, len = lines.length; j < len; key = ++j) {\n line = lines[key];\n cursorPosition += line.length + 1 || 1;\n if (key === nline) {\n break;\n }\n }\n textarea.value = lines.join(\"\\n\");\n if (replace) {\n return cursorPosition - lines[nline].length + replace.length - 1;\n } else {\n return cursorPosition;\n }\n };\n markdownSettings = {\n nameSpace: \"markdown\",\n onShiftEnter: {\n keepDefault: false,\n openWith: \"\\n\\n\"\n },\n onEnter: {\n keepDefault: false,\n replaceWith: function() {\n return \"\\n\";\n },\n afterInsert: function(data) {\n var cursorLine, emptyListItem, lastLine, lines, markdownCaretPositon, match, newLineContent;\n lines = data.textarea.value.split(\"\\n\");\n cursorLine = data.textarea.value.slice(0, +(data.caretPosition - 1) + 1 || 9e9).split(\"\\n\").length;\n newLineContent = data.textarea.value.slice(data.caretPosition).split(\"\\n\")[0];\n lastLine = lines[cursorLine - 1];\n match = lastLine.match(/^(\\s*- ).*/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*)\\-\\s$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, \"\" + match[1]);\n }\n }\n match = lastLine.match(/^(\\s*\\* ).*/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*\\* )$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, \"\" + match[1]);\n }\n }\n match = lastLine.match(/^(\\s*)(\\d+)\\.\\s/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*)(\\d+)\\.\\s$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, (match[1] + (parseInt(match[2], 10) + 1)) + \". \");\n }\n }\n if (markdownCaretPositon) {\n return setCaretPosition(data.textarea, markdownCaretPositon);\n }\n }\n },\n markupSet: [\n {\n name: $tr.t(\"markdown-editor.heading-1\"),\n key: \"1\",\n placeHolder: $tr.t(\"markdown-editor.placeholder\"),\n closeWith: function(markItUp) {\n return markdownTitle(markItUp, \"=\");\n }\n }, {\n name: $tr.t(\"markdown-editor.heading-2\"),\n key: \"2\",\n placeHolder: $tr.t(\"markdown-editor.placeholder\"),\n closeWith: function(markItUp) {\n return markdownTitle(markItUp, \"-\");\n }\n }, {\n name: $tr.t(\"markdown-editor.heading-3\"),\n key: \"3\",\n openWith: \"### \",\n placeHolder: $tr.t(\"markdown-editor.placeholder\")\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.bold\"),\n key: \"B\",\n openWith: \"**\",\n closeWith: \"**\"\n }, {\n name: $tr.t(\"markdown-editor.italic\"),\n key: \"I\",\n openWith: \"_\",\n closeWith: \"_\"\n }, {\n name: $tr.t(\"markdown-editor.strike\"),\n key: \"S\",\n openWith: \"~~\",\n closeWith: \"~~\"\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.bulleted-list\"),\n openWith: \"- \"\n }, {\n name: $tr.t(\"markdown-editor.numeric-list\"),\n openWith: function(markItUp) {\n return markItUp.line + \". \";\n }\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.picture\"),\n key: \"P\",\n replaceWith: '![[![Alternative text]!]](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")',\n beforeInsert: function(markItUp) {\n return prepareUrlFormatting(markItUp);\n },\n afterInsert: function(markItUp) {\n return urlFormatting(markItUp);\n }\n }, {\n name: $tr.t(\"markdown-editor.link\"),\n key: \"L\",\n openWith: \"[\",\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")',\n placeHolder: $tr.t(\"markdown-editor.link-placeholder\"),\n beforeInsert: function(markItUp) {\n return prepareUrlFormatting(markItUp);\n },\n afterInsert: function(markItUp) {\n return urlFormatting(markItUp);\n }\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.quotes\"),\n openWith: \"> \"\n }, {\n name: $tr.t(\"markdown-editor.code-block\"),\n openWith: \"```\\n\",\n closeWith: \"\\n```\"\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.preview\"),\n call: preview,\n className: \"preview-icon\"\n }\n ],\n afterInsert: function(event) {\n var target;\n target = angular.element(event.textarea);\n return $model.$setViewValue(target.val());\n }\n };\n prepareUrlFormatting = function(markItUp) {\n var indices, regex, result;\n console.log(markItUp);\n regex = /(<<<|>>>)/gi;\n result = 0;\n indices = [];\n while ((result = regex.exec(markItUp.textarea.value))) {\n indices.push(result.index);\n }\n markItUp.donotparse = indices;\n return console.log(indices);\n };\n urlFormatting = function(markItUp) {\n var endIndex, ref, ref1, regex, result, startIndex, url, value;\n console.log(markItUp.donotparse);\n regex = /<<>>/gi;\n endIndex = 0;\n while (true) {\n result = regex.exec(markItUp.textarea.value);\n if (!result) {\n break;\n }\n if (ref1 = result.index, indexOf.call(markItUp.donotparse, ref1) < 0) {\n endIndex = result.index;\n break;\n }\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 return markItUp.donotparse = void 0;\n };\n markdownTitle = function(markItUp, char) {\n var heading, i, j, n, ref;\n heading = \"\";\n n = $.trim(markItUp.selection || markItUp.placeHolder).length;\n for (i = j = 0, ref = n - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n heading += char;\n }\n return \"\\n\" + heading + \"\\n\";\n };\n element.markItUp(markdownSettings);\n element.on(\"keypress\", function(event) {\n return $scope.$apply();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgMarkitup\", [\"$rootScope\", \"$tgResources\", \"$tgI18n\", \"$selectedText\", \"$tgTemplate\", tgMarkitupDirective]);\n\n}).call(this);\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: pluggins/main.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaPlugins\", [\"ngRoute\"]);\n\n}).call(this);\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/sortable.coffee\n */\n\n(function() {\n var KanbanSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanSortableDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n bindOnce($scope, \"project\", function(project) {\n var deleteElement, itemEl, newParentScope, oldParentScope, tdom;\n if (!(project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n tdom.sortable({\n handle: \".kanban-task-inner\",\n dropOnEmpty: true,\n connectWith: \".kanban-uses-box\",\n revert: 400\n });\n tdom.on(\"sortstop\", function(event, ui) {\n var itemIndex, itemUs, newStatusId, oldStatusId, parentEl;\n parentEl = ui.item.parent();\n itemEl = ui.item;\n itemUs = itemEl.scope().us;\n itemIndex = itemEl.index();\n newParentScope = parentEl.scope();\n newStatusId = newParentScope.s.id;\n oldStatusId = oldParentScope.s.id;\n if (newStatusId !== oldStatusId) {\n deleteElement(itemEl);\n }\n $scope.$apply(function() {\n return $rootscope.$broadcast(\"kanban:us:move\", itemUs, itemUs.status, newStatusId, itemIndex);\n });\n return ui.item.find('a').removeClass('noclick');\n });\n return tdom.on(\"sortstart\", function(event, ui) {\n oldParentScope = ui.item.parent().scope();\n return ui.item.find('a').addClass('noclick');\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", KanbanSortableDirective]);\n\n}).call(this);\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/sprints.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $model, $storage) {\n var hashSuffixUserstories, service;\n service = {};\n hashSuffixUserstories = \"userstories-queryparams\";\n service.get = function(projectId, sprintId) {\n return $repo.queryOne(\"milestones\", sprintId).then(function(sprint) {\n var uses;\n service.storeUserstoriesQueryParams(projectId, {\n \"milestone\": sprintId\n });\n uses = sprint.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n sprint._attrs.user_stories = uses;\n return sprint;\n });\n };\n service.stats = function(projectId, sprintId) {\n return $repo.queryOneRaw(\"milestones\", sprintId + \"/stats\");\n };\n service.list = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"milestones\", params).then((function(_this) {\n return function(milestones) {\n var i, len, m, uses;\n for (i = 0, len = milestones.length; i < len; i++) {\n m = milestones[i];\n uses = m.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n m._attrs.user_stories = uses;\n }\n return milestones;\n };\n })(this));\n };\n service.storeUserstoriesQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUserstories;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n return function(instance) {\n return instance.sprints = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/charts.coffee\n */\n\n(function() {\n var SprintGraphDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaTaskboard\");\n\n SprintGraphDirective = function() {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var data, days, options, width;\n width = element.width();\n element.height(240);\n days = _.map(dataToDraw, function(x) {\n return moment(x.day);\n });\n data = [];\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.optimal_points;\n })),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.open_points;\n })),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: '#ccc',\n hoverable: true\n },\n xaxis: {\n tickSize: [1, \"day\"],\n min: days[0],\n max: _.last(days),\n mode: \"time\",\n daysNames: days,\n axisLabel: 'Day',\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n yaxis: {\n min: 0\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: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"],\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var formattedDate, roundedValue;\n formattedDate = moment(xval).format(\"DD MMM\");\n roundedValue = Math.round(yval);\n if (flotItem.seriesIndex === 1) {\n return \"Optimal pending points for day \" + formattedDate + \" should be \" + roundedValue;\n } else {\n return \"Real pending points for day \" + formattedDate + \" is \" + roundedValue;\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$on(\"resize\", function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n $scope.$on(\"taskboard:graph:toggle-visibility\", function() {\n $el.parent().toggleClass('open');\n return timeout(100, function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n });\n $scope.$watch('stats', function(value) {\n if ($scope.stats == null) {\n return;\n }\n return redrawChart(element, $scope.stats.days);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintGraph\", SprintGraphDirective);\n\n}).call(this);\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/tasks/detail.coffee\n */\n\n(function() {\n var TaskDetailController, TaskIsIocaineButtonDirective, TaskStatusButtonDirective, TaskStatusDisplayDirective, groupBy, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaTasks\");\n\n TaskDetailController = (function(superClass) {\n extend(TaskDetailController, superClass);\n\n TaskDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"$appTitle\", \"$tgNavUrls\", \"$tgAnalytics\", \"tgLoader\"];\n\n function TaskDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appTitle, navUrls, analytics, tgLoader) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appTitle = appTitle;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.scope.taskRef = this.params.taskref;\n this.scope.sectionName = \"Task Details\";\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this.appTitle.set(_this.scope.task.subject + \" - \" + _this.scope.project.name);\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n promise[\"finally\"](tgLoader.pageLoaded);\n }\n\n TaskDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1);\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n this.scope.$on(\"attachment:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n this.scope.$on(\"attachment:delete\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n return this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n };\n\n TaskDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.task.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else if (this.scope.task.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n if (this.scope.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n }\n };\n\n TaskDetailController.prototype.loadProject = function() {\n return this.rs.projects.getBySlug(this.params.pslug).then((function(_this) {\n return function(project) {\n _this.scope.projectId = project.id;\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.statusList = project.task_statuses;\n _this.scope.statusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n _this.scope.membersById = groupBy(project.memberships, function(x) {\n return x.user;\n });\n return project;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadTask = function() {\n return this.rs.tasks.getByRef(this.scope.projectId, this.params.taskref).then((function(_this) {\n return function(task) {\n var ctx;\n _this.scope.task = task;\n _this.scope.taskId = task.id;\n _this.scope.commentModel = task;\n if (_this.scope.task.neighbors.previous.ref != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n if (_this.scope.task.neighbors.next.ref != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.next.ref\n };\n _this.scope.nextUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n return task;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadSprint = function() {\n if (this.scope.task.milestone) {\n return this.rs.sprints.get(this.scope.task.project, this.scope.task.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadUserStory = function() {\n if (this.scope.task.user_story) {\n return this.rs.userstories.get(this.scope.task.project, this.scope.task.user_story).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n return us;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise.then((function(_this) {\n return function(project) {\n _this.fillUsersAndRoles(project.users, project.roles);\n return _this.loadTask().then(function() {\n return _this.q.all([_this.loadSprint(), _this.loadUserStory()]);\n });\n };\n })(this));\n };\n\n return TaskDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TaskDetailController\", TaskDetailController);\n\n TaskStatusDisplayDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(task) {\n if (task != null) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusDisplay\", [\"$tgTemplate\", TaskStatusDisplayDirective]);\n\n TaskStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $qqueue) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = (function(_this) {\n return function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n return $el.html(html);\n };\n })(this);\n save = $qqueue.bindAdd((function(_this) {\n return function(status) {\n var onError, onSuccess, task;\n task = $model.$modelValue.clone();\n task.status = status;\n $model.$setViewValue(task);\n onSuccess = function() {\n $confirm.notify(\"success\");\n $rootScope.$broadcast(\"history:reload\");\n return $loading.finish($el.find(\".level-name\"));\n };\n onError = function() {\n $confirm.notify(\"error\");\n task.revert();\n $model.$setViewValue(task);\n return $loading.finish($el.find(\".level-name\"));\n };\n $loading.start($el.find(\".level-name\"));\n return $repo.save($model.$modelValue).then(onSuccess, onError);\n };\n })(this));\n $el.on(\"click\", \".status-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch($attrs.ngModel, function(task) {\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", TaskStatusButtonDirective]);\n\n TaskIsIocaineButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $qqueue) {\n var link, template;\n template = _.template(\"
\\n \\n \\n
\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = function(task) {\n var ctx, html;\n if (!isEditable() && !task.is_iocaine) {\n $el.html(\"\");\n return;\n }\n ctx = {\n isIocaine: task.is_iocaine,\n isEditable: isEditable()\n };\n html = template(ctx);\n return $el.html(html);\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(is_iocaine) {\n var promise, task;\n task = $model.$modelValue.clone();\n task.is_iocaine = is_iocaine;\n $model.$setViewValue(task);\n $loading.start($el.find('label'));\n promise = $tgrepo.save(task);\n promise.then(function() {\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"history:reload\");\n });\n promise.then(null, function() {\n task.revert();\n $model.$setViewValue(task);\n return $confirm.notify(\"error\");\n });\n return promise[\"finally\"](function() {\n return $loading.finish($el.find('label'));\n });\n };\n })(this));\n $el.on(\"click\", \".is-iocaine\", function(event) {\n var is_iocaine;\n if (!isEditable()) {\n return;\n }\n is_iocaine = !$model.$modelValue.is_iocaine;\n return save(is_iocaine);\n });\n $scope.$watch($attrs.ngModel, function(task) {\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", TaskIsIocaineButtonDirective]);\n\n}).call(this);\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/list.coffee\n */\n\n(function() {\n var IssueAssignedToInlineEditionDirective, IssueStatusInlineEditionDirective, IssuesController, IssuesDirective, IssuesFiltersDirective, bindOnce, debounceLeading, groupBy, joinStr, mixOf, module, startswith, taiga, toString, trim,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounceLeading = this.taiga.debounceLeading;\n\n startswith = this.taiga.startswith;\n\n module = angular.module(\"taigaIssues\");\n\n IssuesController = (function(superClass) {\n extend(IssuesController, superClass);\n\n IssuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgUrls\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$appTitle\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"tgLoader\"];\n\n function IssuesController(scope, rootscope, repo, confirm, rs, urls, params, q, location, appTitle, navUrls, events, analytics, tgLoader) {\n var filters, promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.urls = urls;\n this.params = params;\n this.q = q;\n this.location = location;\n this.appTitle = appTitle;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.loadIssues = bind(this.loadIssues, this);\n this.scope.sectionName = \"Issues\";\n this.scope.filters = {};\n if (_.isEmpty(this.location.search())) {\n filters = this.rs.issues.getFilters(this.params.pslug);\n filters.page = 1;\n this.location.search(filters);\n this.location.replace();\n return;\n }\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Issues - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n promise[\"finally\"](tgLoader.pageLoaded);\n this.scope.$on(\"issueform:new:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1);\n _this.loadIssues();\n return _this.loadFilters();\n };\n })(this));\n }\n\n IssuesController.prototype.initializeSubscription = function() {\n var routingKey;\n routingKey = \"changes.project.\" + this.scope.projectId + \".issues\";\n return this.events.subscribe(this.scope, routingKey, (function(_this) {\n return function(message) {\n return _this.loadIssues();\n };\n })(this));\n };\n\n IssuesController.prototype.storeFilters = function() {\n return this.rs.issues.storeFilters(this.params.pslug, this.location.search());\n };\n\n IssuesController.prototype.loadProject = function() {\n return this.rs.projects.getBySlug(this.params.pslug).then((function(_this) {\n return function(project) {\n if (!project.is_issues_activated) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.projectId = project.id;\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n _this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n _this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n _this.scope.severityList = _.sortBy(project.severities, \"order\");\n _this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n _this.scope.priorityList = _.sortBy(project.priorities, \"order\");\n _this.scope.issueTypes = _.sortBy(project.issue_types, \"order\");\n _this.scope.issueTypeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n _this.scope.membersById = groupBy(project.memberships, function(x) {\n return x.user;\n });\n return project;\n };\n })(this));\n };\n\n IssuesController.prototype.getUrlFilters = function() {\n var filters;\n filters = _.pick(this.location.search(), \"page\", \"tags\", \"statuses\", \"types\", \"q\", \"severities\", \"priorities\", \"assignedTo\", \"createdBy\", \"orderBy\");\n if (!filters.page) {\n filters.page = 1;\n }\n return filters;\n };\n\n IssuesController.prototype.getUrlFilter = function(name) {\n var filters;\n filters = _.pick(this.location.search(), name);\n return filters[name];\n };\n\n IssuesController.prototype.loadMyFilters = function() {\n return this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n return _.map(filters, function(value, key) {\n return {\n id: key,\n name: key,\n type: \"myFilters\",\n selected: false\n };\n });\n };\n })(this));\n };\n\n IssuesController.prototype.removeNotExistingFiltersFromUrl = function() {\n var currentSearch, existingValues, filterName, filterValue, splittedValues, urlfilters;\n currentSearch = this.location.search();\n urlfilters = this.getUrlFilters();\n for (filterName in urlfilters) {\n filterValue = urlfilters[filterName];\n if (filterName === \"page\" || filterName === \"orderBy\" || filterName === \"q\") {\n continue;\n }\n if (filterName === \"tags\") {\n splittedValues = _.map((\"\" + filterValue).split(\",\"));\n } else {\n splittedValues = _.map((\"\" + filterValue).split(\",\"), function(x) {\n if (x === \"null\") {\n return null;\n } else {\n return parseInt(x);\n }\n });\n }\n existingValues = _.intersection(splittedValues, _.map(this.scope.filters[filterName], \"id\"));\n if (splittedValues.length !== existingValues.length) {\n this.location.search(filterName, existingValues.join());\n }\n }\n if (currentSearch !== this.location.search()) {\n return this.location.replace();\n }\n };\n\n IssuesController.prototype.markSelectedFilters = function(filters, urlfilters) {\n var isSelected, j, key, len, name, obj, ref, ref1, results, searchdata, val, value;\n searchdata = {};\n ref = _.omit(urlfilters, \"page\", \"orderBy\");\n for (name in ref) {\n value = ref[name];\n if (searchdata[name] == null) {\n searchdata[name] = {};\n }\n ref1 = (\"\" + value).split(\",\");\n for (j = 0, len = ref1.length; j < len; j++) {\n val = ref1[j];\n searchdata[name][val] = true;\n }\n }\n isSelected = function(type, id) {\n if ((searchdata[type] != null) && searchdata[type][id]) {\n return true;\n }\n return false;\n };\n results = [];\n for (key in filters) {\n value = filters[key];\n results.push((function() {\n var k, len1, results1;\n results1 = [];\n for (k = 0, len1 = value.length; k < len1; k++) {\n obj = value[k];\n results1.push(obj.selected = isSelected(obj.type, obj.id) ? true : void 0);\n }\n return results1;\n })());\n }\n return results;\n };\n\n IssuesController.prototype.loadFilters = function() {\n var promise, urlfilters;\n urlfilters = this.getUrlFilters();\n if (urlfilters.q) {\n this.scope.filtersQ = urlfilters.q;\n }\n promise = this.loadMyFilters().then((function(_this) {\n return function(myFilters) {\n _this.scope.filters.myFilters = myFilters;\n return myFilters;\n };\n })(this));\n promise = promise.then((function(_this) {\n return function() {\n return _this.rs.issues.filtersData(_this.scope.projectId);\n };\n })(this));\n return promise.then((function(_this) {\n return function(data) {\n var choicesFiltersFormat, tagsFilterFormat, usersFiltersFormat;\n usersFiltersFormat = function(users, type, unknownOption) {\n var reformatedUsers, unknownItem;\n reformatedUsers = _.map(users, function(t) {\n return {\n id: t[0],\n count: t[1],\n type: type,\n name: t[0] ? _this.scope.usersById[t[0]].full_name_display : unknownOption\n };\n });\n unknownItem = _.remove(reformatedUsers, function(u) {\n return !u.id;\n });\n reformatedUsers = _.sortBy(reformatedUsers, function(u) {\n return u.name.toUpperCase();\n });\n if (unknownItem.length > 0) {\n reformatedUsers.unshift(unknownItem[0]);\n }\n return reformatedUsers;\n };\n choicesFiltersFormat = function(choices, type, byIdObject) {\n return _.map(choices, function(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 });\n };\n tagsFilterFormat = function(tags) {\n return _.map(tags, function(t) {\n return {\n id: t[0],\n name: t[0],\n color: _this.scope.project.tags_colors[t[0]],\n count: t[1],\n type: \"tags\"\n };\n });\n };\n _this.scope.filters.statuses = choicesFiltersFormat(data.statuses, \"statuses\", _this.scope.issueStatusById);\n _this.scope.filters.severities = choicesFiltersFormat(data.severities, \"severities\", _this.scope.severityById);\n _this.scope.filters.priorities = choicesFiltersFormat(data.priorities, \"priorities\", _this.scope.priorityById);\n _this.scope.filters.assignedTo = usersFiltersFormat(data.assigned_to, \"assignedTo\", \"Unassigned\");\n _this.scope.filters.createdBy = usersFiltersFormat(data.created_by, \"createdBy\", \"Unknown\");\n _this.scope.filters.types = choicesFiltersFormat(data.types, \"types\", _this.scope.issueTypeById);\n _this.scope.filters.tags = tagsFilterFormat(data.tags);\n _this.removeNotExistingFiltersFromUrl();\n _this.markSelectedFilters(_this.scope.filters, urlfilters);\n return _this.rootscope.$broadcast(\"filters:loaded\", _this.scope.filters);\n };\n })(this));\n };\n\n IssuesController.prototype.loadIssuesRequests = 0;\n\n IssuesController.prototype.loadIssues = function() {\n var name, promise, ref, values;\n this.scope.urlFilters = this.getUrlFilters();\n this.scope.httpParams = {};\n ref = this.scope.urlFilters;\n for (name in ref) {\n values = ref[name];\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 }\n this.scope.httpParams[name] = values;\n }\n promise = this.rs.issues.list(this.scope.projectId, this.scope.httpParams);\n this.loadIssuesRequests += 1;\n promise.index = this.loadIssuesRequests;\n return promise.then((function(_this) {\n return function(data) {\n if (promise.index === _this.loadIssuesRequests) {\n _this.scope.issues = data.models;\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n }\n return data;\n };\n })(this));\n };\n\n IssuesController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise.then((function(_this) {\n return function(project) {\n _this.fillUsersAndRoles(project.users, project.roles);\n _this.initializeSubscription();\n return _this.q.all([_this.loadFilters(), _this.loadIssues()]);\n };\n })(this));\n };\n\n IssuesController.prototype.saveCurrentFiltersTo = function(newFilter) {\n var deferred;\n deferred = this.q.defer();\n this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n filters[newFilter] = _this.location.search();\n return _this.rs.issues.storeMyFilters(_this.scope.projectId, filters).then(function() {\n return deferred.resolve();\n });\n };\n })(this));\n return deferred.promise;\n };\n\n IssuesController.prototype.deleteMyFilter = function(filter) {\n var deferred;\n deferred = this.q.defer();\n this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n delete filters[filter];\n return _this.rs.issues.storeMyFilters(_this.scope.projectId, filters).then(function() {\n return deferred.resolve();\n });\n };\n })(this));\n return deferred.promise;\n };\n\n IssuesController.prototype.addNewIssue = function() {\n return this.rootscope.$broadcast(\"issueform:new\", this.scope.project);\n };\n\n IssuesController.prototype.addIssuesInBulk = function() {\n return this.rootscope.$broadcast(\"issueform:bulk\", this.scope.projectId);\n };\n\n return IssuesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"IssuesController\", IssuesController);\n\n IssuesDirective = function($log, $location, $template) {\n var link, linkOrdering, linkPagination, template;\n template = $template.get(\"issue/issue-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".issues-paginator\");\n getNumPages = function() {\n var numPages;\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 = function() {\n var cpage, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n $pagEl.show();\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n return $pagEl.html(template(options));\n };\n $scope.$watch(\"issues\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".issues-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadIssues();\n });\n });\n $el.on(\"click\", \".issues-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadIssues();\n });\n });\n return $el.on(\"click\", \".issues-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadIssues();\n });\n });\n };\n linkOrdering = function($scope, $el, $attrs, $ctrl) {\n var colHeadElement, currentOrder, icon;\n currentOrder = $ctrl.getUrlFilter(\"orderBy\") || \"created_date\";\n if (currentOrder) {\n icon = startswith(currentOrder, \"-\") ? \"icon-caret-up\" : \"icon-caret-down\";\n colHeadElement = $el.find(\".row.title > div[data-fieldname='\" + (trim(currentOrder, \"-\")) + \"']\");\n colHeadElement.html((colHeadElement.html()) + \"\");\n }\n return $el.on(\"click\", \".row.title > div\", function(event) {\n var finalOrder, newOrder, target;\n target = angular.element(event.currentTarget);\n currentOrder = $ctrl.getUrlFilter(\"orderBy\");\n newOrder = target.data(\"fieldname\");\n finalOrder = currentOrder === newOrder ? \"-\" + newOrder : newOrder;\n return $scope.$apply(function() {\n $ctrl.replaceFilter(\"orderBy\", finalOrder);\n $ctrl.storeFilters();\n return $ctrl.loadIssues().then(function() {\n $el.find(\".row.title > div > span.icon\").remove();\n icon = startswith(finalOrder, \"-\") ? \"icon-caret-up\" : \"icon-caret-down\";\n return target.html((target.html()) + \"\");\n });\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkOrdering($scope, $el, $attrs, $ctrl);\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", IssuesDirective]);\n\n IssuesFiltersDirective = function($log, $location, $rs, $confirm, $loading, $template) {\n var link, template, templateSelected;\n template = $template.get(\"issue/issues-filters.html\", true);\n templateSelected = $template.get(\"issue/issues-filters-selected.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, initializeSelectedFilters, renderFilters, renderSelectedFilters, selectQFilter, selectedFilters, showCategories, showFilters, toggleFilterSelection;\n $ctrl = $el.closest(\".wrapper\").controller();\n selectedFilters = [];\n showFilters = function(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 return $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type);\n };\n showCategories = function() {\n $el.find(\".filters-cats\").show();\n $el.find(\".filter-list\").addClass(\"hidden\");\n return $el.find(\"h2.breadcrumb\").addClass(\"hidden\");\n };\n initializeSelectedFilters = function(filters) {\n var j, len, name, val, values;\n selectedFilters = [];\n for (name in filters) {\n values = filters[name];\n for (j = 0, len = values.length; j < len; j++) {\n val = values[j];\n if (val.selected) {\n selectedFilters.push(val);\n }\n }\n }\n return renderSelectedFilters(selectedFilters);\n };\n renderSelectedFilters = function(selectedFilters) {\n var html;\n _.filter(selectedFilters, (function(_this) {\n return function(f) {\n if (f.color) {\n return f.style = \"border-left: 3px solid \" + f.color;\n }\n };\n })(this));\n html = templateSelected({\n filters: selectedFilters\n });\n $el.find(\".filters-applied\").html(html);\n if (selectedFilters.length > 0) {\n return $el.find(\".save-filters\").show();\n } else {\n return $el.find(\".save-filters\").hide();\n }\n };\n renderFilters = function(filters) {\n var html;\n _.filter(filters, (function(_this) {\n return function(f) {\n if (f.color) {\n return f.style = \"border-left: 3px solid \" + f.color;\n }\n };\n })(this));\n html = template({\n filters: filters\n });\n return $el.find(\".filter-list\").html(html);\n };\n toggleFilterSelection = function(type, id) {\n var currentFiltersType, filter, filterId, filters;\n if (type === \"myFilters\") {\n $rs.issues.getMyFilters($scope.projectId).then(function(data) {\n var filters, myFilters;\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 return initializeSelectedFilters($scope.filters);\n });\n return null;\n }\n filters = $scope.filters[type];\n filterId = type === 'tags' ? taiga.toString(id) : id;\n filter = _.find(filters, {\n id: filterId\n });\n filter.selected = !filter.selected;\n if (id === null) {\n id = \"null\";\n }\n if (filter.selected) {\n selectedFilters.push(filter);\n $scope.$apply(function() {\n $ctrl.selectFilter(type, id);\n $ctrl.selectFilter(\"page\", 1);\n $ctrl.storeFilters();\n return $ctrl.loadIssues();\n });\n } else {\n selectedFilters = _.reject(selectedFilters, filter);\n $scope.$apply(function() {\n $ctrl.unselectFilter(type, id);\n $ctrl.selectFilter(\"page\", 1);\n $ctrl.storeFilters();\n return $ctrl.loadIssues();\n });\n }\n renderSelectedFilters(selectedFilters);\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type');\n if (type === currentFiltersType) {\n return renderFilters(_.reject(filters, \"selected\"));\n }\n };\n $scope.$on(\"filters:loaded\", function(ctx, filters) {\n return initializeSelectedFilters(filters);\n });\n $scope.$on(\"filters:issueupdate\", function(ctx, filters) {\n var html;\n html = template({\n filters: filters.statuses\n });\n return $el.find(\".filter-list\").html(html);\n });\n selectQFilter = debounceLeading(100, function(value) {\n if (value === void 0) {\n return;\n }\n $ctrl.replaceFilter(\"page\", null);\n if (value.length === 0) {\n $ctrl.replaceFilter(\"q\", null);\n $ctrl.storeFilters();\n } else {\n $ctrl.replaceFilter(\"q\", value);\n $ctrl.storeFilters();\n }\n return $ctrl.loadIssues();\n });\n $scope.$watch(\"filtersQ\", selectQFilter);\n $el.on(\"click\", \".filters-cats > ul > li > a\", function(event) {\n var tags, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n tags = $scope.filters[target.data(\"type\")];\n renderFilters(_.reject(tags, \"selected\"));\n return showFilters(target.attr(\"title\"), target.data(\"type\"));\n });\n $el.on(\"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", function(event) {\n event.preventDefault();\n return showCategories($el);\n });\n $el.on(\"click\", \".filters-applied a\", function(event) {\n var id, target, type;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n id = target.data(\"id\") || null;\n type = target.data(\"type\");\n return toggleFilterSelection(type, id);\n });\n $el.on(\"click\", \".filter-list .single-filter\", function(event) {\n var id, target, type;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass(\"active\");\n id = target.data(\"id\") || null;\n type = target.data(\"type\");\n if (type === \"myFilters\") {\n target.removeClass(\"active\");\n }\n return toggleFilterSelection(type, id);\n });\n $el.on(\"click\", \".filter-list .single-filter .icon-delete\", function(event) {\n var customFilterName, message, target, title;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n customFilterName = target.parent().data('id');\n title = \"Delete custom filter\";\n message = \"the custom filter '\" + customFilterName + \"'\";\n return $confirm.askOnDelete(title, message).then(function(finish) {\n var promise;\n promise = $ctrl.deleteMyFilter(customFilterName);\n promise.then(function() {\n promise = $ctrl.loadMyFilters();\n promise.then(function(filters) {\n finish();\n $scope.filters.myFilters = filters;\n return renderFilters($scope.filters.myFilters);\n });\n return promise.then(null, function() {\n return finish();\n });\n });\n return promise.then(null, function() {\n finish(false);\n return $confirm.notify(\"error\");\n });\n });\n });\n $el.on(\"click\", \".save-filters\", function(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 return $el.find('.my-filter-name').focus();\n });\n return $el.on(\"keyup\", \".my-filter-name\", function(event) {\n var newFilter, promise, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newFilter = target.val();\n $loading.start($el.find(\".new\"));\n promise = $ctrl.saveCurrentFiltersTo(newFilter);\n promise.then(function() {\n var loadPromise;\n loadPromise = $ctrl.loadMyFilters();\n loadPromise.then(function(filters) {\n var currentfilterstype;\n $loading.finish($el.find(\".new\"));\n $scope.filters.myFilters = filters;\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 return $el.find('.save-filters').show();\n });\n return loadPromise.then(null, function() {\n $loading.finish($el.find(\".new\"));\n return $confirm.notify(\"error\", \"Error loading custom filters\");\n });\n });\n return promise.then(null, function() {\n $loading.finish($el.find(\".new\"));\n $el.find(\".my-filter-name\").val(newFilter).focus().select();\n return $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 return $el.find('.save-filters').show();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssuesFilters\", [\"$log\", \"$tgLocation\", \"$tgResources\", \"$tgConfirm\", \"$tgLoading\", \"$tgTemplate\", IssuesFiltersDirective]);\n\n IssueStatusInlineEditionDirective = function($repo, $template, $rootscope) {\n\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 var link, selectionTemplate, updateIssueStatus;\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true);\n updateIssueStatus = function($el, issue, issueStatusById) {\n var issueStatusDom, issueStatusDomParent, status;\n issueStatusDomParent = $el.find(\".issue-status\");\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\");\n status = issueStatusById[issue.status];\n if (status) {\n issueStatusDom.text(status.name);\n issueStatusDom.prop(\"title\", status.name);\n return issueStatusDomParent.css('color', status.color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, issue;\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition);\n $el.on(\"click\", \".issue-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var filter, j, len, ref, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n ref = $scope.filters.statuses;\n for (j = 0, len = ref.length; j < len; j++) {\n filter = ref[j];\n if (filter.id === issue.status) {\n filter.count--;\n }\n }\n issue.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateIssueStatus($el, issue, $scope.issueStatusById);\n return $scope.$apply(function() {\n var k, len1, ref1;\n $repo.save(issue).then;\n ref1 = $scope.filters.statuses;\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n filter = ref1[k];\n if (filter.id === issue.status) {\n filter.count++;\n }\n }\n return $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters);\n });\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.issue_statuses\n }));\n updateIssueStatus($el, issue, $scope.issueStatusById);\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$watch($attrs.tgIssueStatusInlineEdition, (function(_this) {\n return function(val) {\n return updateIssueStatus($el, val, $scope.issueStatusById);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\", IssueStatusInlineEditionDirective]);\n\n IssueAssignedToInlineEditionDirective = function($repo, $rootscope, popoverService) {\n var link, template;\n template = _.template(\"\\\" alt=\\\"<%- name %>\\\"/>\\n
<%- name %>
\");\n link = function($scope, $el, $attrs) {\n var $ctrl, issue, updateIssue;\n updateIssue = function(issue) {\n var ctx, member;\n ctx = {\n name: \"Unassigned\",\n imgurl: \"/images/unnamed.png\"\n };\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 return $el.find(\".issue-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition);\n updateIssue(issue);\n $el.on(\"click\", \".issue-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", issue);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", (function(_this) {\n return function(ctx, userId, updatedIssue) {\n if (updatedIssue.id === issue.id) {\n updatedIssue.assigned_to = userId;\n $repo.save(updatedIssue);\n return updateIssue(updatedIssue);\n }\n };\n })(this));\n $scope.$watch($attrs.tgIssueAssignedToInlineEdition, (function(_this) {\n return function(val) {\n return updateIssue(val);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", IssueAssignedToInlineEditionDirective]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"memberships\", id);\n };\n service.list = function(projectId, filters, enablePagination) {\n var options, params;\n if (enablePagination == null) {\n enablePagination = true;\n }\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n if (enablePagination) {\n return $repo.queryPaginated(\"memberships\", params);\n }\n return $repo.queryMany(\"memberships\", params, options = {\n enablePagination: enablePagination\n });\n };\n service.listByUser = function(userId, filters) {\n var params;\n params = {\n user: userId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryPaginated(\"memberships\", params);\n };\n service.resendInvitation = function(id) {\n var url;\n url = $urls.resolve(\"memberships\");\n return $http.post(url + \"/\" + id + \"/resend_invitation\", {});\n };\n service.bulkCreateMemberships = function(projectId, data, invitation_extra_text) {\n var params, url;\n url = $urls.resolve(\"bulk-create-memberships\");\n params = {\n project_id: projectId,\n bulk_memberships: data,\n invitation_extra_text: invitation_extra_text\n };\n return $http.post(url, params);\n };\n return function(instance) {\n return instance.memberships = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/admin/project-profile.coffee\n */\n\n(function() {\n var CsvExporterController, CsvExporterIssuesController, CsvExporterTasksController, CsvExporterUserstoriesController, ProjectDefaultValuesDirective, ProjectExportDirective, ProjectModulesDirective, ProjectProfileController, ProjectProfileDirective, bindOnce, debounce, groupBy, joinStr, mixOf, module, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectProfileController = (function(superClass) {\n extend(ProjectProfileController, superClass);\n\n ProjectProfileController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectProfileController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Project profile - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:loaded\", (function(_this) {\n return function() {\n return _this.appTitle.set(\"Project profile - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n }\n\n ProjectProfileController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.pointsList = _.sortBy(project.points, \"order\");\n _this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n _this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n _this.scope.prioritiesList = _.sortBy(project.priorities, \"order\");\n _this.scope.severitiesList = _.sortBy(project.severities, \"order\");\n _this.scope.issueTypesList = _.sortBy(project.issue_types, \"order\");\n _this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ProjectProfileController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n ProjectProfileController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.project);\n };\n\n return ProjectProfileController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectProfileController\", ProjectProfileController);\n\n ProjectProfileDirective = function($repo, $confirm, $loading, $navurls, $location) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.save($scope.project);\n promise.then(function() {\n var newUrl;\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n });\n $location.path(newUrl);\n return $scope.$emit(\"project:loaded\", $scope.project);\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\", ProjectProfileDirective]);\n\n ProjectDefaultValuesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.save($scope.project);\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectDefaultValuesDirective]);\n\n ProjectModulesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit;\n form = $el.find(\"form\").checksley();\n submit = (function(_this) {\n return function() {\n var promise, target;\n if (!form.validate()) {\n return;\n }\n target = angular.element(\".admin-functionalities a.button-green\");\n $loading.start(target);\n promise = $repo.save($scope.project);\n promise.then(function() {\n $loading.finish(target);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:loaded\", $scope.project);\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n return $confirm.notify(\"error\", data._error_message);\n });\n };\n })(this);\n $el.on(\"submit\", \"form\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \".admin-functionalities a.button-green\", function(event) {\n event.preventDefault();\n return submit();\n });\n $scope.$watch(\"isVideoconferenceActivated\", function(isVideoconferenceActivated) {\n if (isVideoconferenceActivated) {\n return $el.find(\".videoconference-attributes\").removeClass(\"hidden\");\n } else {\n $el.find(\".videoconference-attributes\").addClass(\"hidden\");\n $scope.project.videoconferences = null;\n return $scope.project.videoconferences_salt = \"\";\n }\n });\n return $scope.$watch(\"project\", function(project) {\n if (project.videoconferences != null) {\n return $scope.isVideoconferenceActivated = true;\n } else {\n return $scope.isVideoconferenceActivated = false;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectModulesDirective]);\n\n ProjectExportDirective = function($window, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var buttonsEl, hideButtons, hideResult, hideSpinner, resultEl, resultMessageEl, resultTitleEl, setAsyncMessage, setAsyncTitle, setLoadingMessage, setLoadingTitle, setSyncMessage, setSyncTitle, showButtons, showErrorMode, showExportResultAsyncMode, showExportResultSyncMode, showLoadingMode, showResult, showSpinner, spinnerEl;\n buttonsEl = $el.find(\".admin-project-export-buttons\");\n showButtons = function() {\n return buttonsEl.removeClass(\"hidden\");\n };\n hideButtons = function() {\n return buttonsEl.addClass(\"hidden\");\n };\n resultEl = $el.find(\".admin-project-export-result\");\n showResult = function() {\n return resultEl.removeClass(\"hidden\");\n };\n hideResult = function() {\n return resultEl.addClass(\"hidden\");\n };\n spinnerEl = $el.find(\".spin\");\n showSpinner = function() {\n return spinnerEl.removeClass(\"hidden\");\n };\n hideSpinner = function() {\n return spinnerEl.addClass(\"hidden\");\n };\n resultTitleEl = $el.find(\".result-title\");\n setLoadingTitle = function() {\n return resultTitleEl.html(\"We are generating your dump file\");\n };\n setAsyncTitle = function() {\n return resultTitleEl.html(\"We are generating your dump file\");\n };\n setSyncTitle = function() {\n return resultTitleEl.html(\"Your dump file is ready!\");\n };\n resultMessageEl = $el.find(\".result-message \");\n setLoadingMessage = function() {\n return resultMessageEl.html(\"Please don't close this page.\");\n };\n setAsyncMessage = function() {\n return resultMessageEl.html(\"We will send you an email when ready.\");\n };\n setSyncMessage = function(url) {\n return resultMessageEl.html(\"If the download doesn't start automatically click here.\");\n };\n showLoadingMode = function() {\n showSpinner();\n setLoadingTitle();\n setLoadingMessage();\n hideButtons();\n return showResult();\n };\n showExportResultAsyncMode = function() {\n hideSpinner();\n setAsyncTitle();\n return setAsyncMessage();\n };\n showExportResultSyncMode = function(url) {\n hideSpinner();\n setSyncTitle();\n return setSyncMessage(url);\n };\n showErrorMode = function() {\n hideSpinner();\n hideResult();\n return showButtons();\n };\n return $el.on(\"click\", \"a.button-export\", debounce(2000, (function(_this) {\n return function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function(result) {\n var dumpUrl;\n if (result.status === 202) {\n return showExportResultAsyncMode();\n } else {\n dumpUrl = result.data.url;\n showExportResultSyncMode(dumpUrl);\n return $window.open(dumpUrl, \"_blank\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n showErrorMode();\n errorMsg = \"Our oompa loompas have some problems generasting your dump. Please try again. \";\n if (result.status === 429) {\n errorMsg = \"Sorry, our oompa loompas are very busy right now. Please try again in a few minutes. \";\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = \"Our oompa loompas have some problems generasting your dump: \" + result.data._error_message;\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n showLoadingMode();\n return $rs.projects[\"export\"]($scope.projectId).then(onSuccess, onError);\n };\n })(this)));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", ProjectExportDirective]);\n\n CsvExporterController = (function(superClass) {\n extend(CsvExporterController, superClass);\n\n CsvExporterController.$inject = [\"$scope\", \"$rootScope\", \"$tgUrls\", \"$tgConfirm\", \"$tgResources\"];\n\n function CsvExporterController(scope, rootscope, urls, confirm, rs) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.urls = urls;\n this.confirm = confirm;\n this.rs = rs;\n this._generateUuid = bind(this._generateUuid, this);\n this.setCsvUuid = bind(this.setCsvUuid, this);\n this.rootscope.$on(\"project:loaded\", this.setCsvUuid);\n this.scope.$watch(\"csvUuid\", (function(_this) {\n return function(value) {\n if (value) {\n return _this.scope.csvUrl = _this.urls.resolveAbsolute(_this.type + \"-csv\", value);\n } else {\n return _this.scope.csvUrl = \"\";\n }\n };\n })(this));\n }\n\n CsvExporterController.prototype.setCsvUuid = function() {\n return this.scope.csvUuid = this.scope.project[this.type + \"_csv_uuid\"];\n };\n\n CsvExporterController.prototype._generateUuid = function(finish) {\n var promise;\n promise = this.rs.projects[\"regenerate_\" + this.type + \"_csv_uuid\"](this.scope.projectId);\n promise.then((function(_this) {\n return function(data) {\n var ref;\n return _this.scope.csvUuid = (ref = data.data) != null ? ref.uuid : void 0;\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n promise[\"finally\"](function() {\n return finish();\n });\n return promise;\n };\n\n CsvExporterController.prototype.regenerateUuid = function() {\n var subtitle, title;\n if (this.scope.csvUuid) {\n title = \"Change URL\";\n subtitle = \"You going to change the CSV data access url. The previous url will be disabled. Are you sure?\";\n return this.confirm.ask(title, subtitle).then(this._generateUuid);\n } else {\n return this._generateUuid(_.identity);\n }\n };\n\n return CsvExporterController;\n\n })(taiga.Controller);\n\n CsvExporterUserstoriesController = (function(superClass) {\n extend(CsvExporterUserstoriesController, superClass);\n\n function CsvExporterUserstoriesController() {\n return CsvExporterUserstoriesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterUserstoriesController.prototype.type = \"userstories\";\n\n return CsvExporterUserstoriesController;\n\n })(CsvExporterController);\n\n CsvExporterTasksController = (function(superClass) {\n extend(CsvExporterTasksController, superClass);\n\n function CsvExporterTasksController() {\n return CsvExporterTasksController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterTasksController.prototype.type = \"tasks\";\n\n return CsvExporterTasksController;\n\n })(CsvExporterController);\n\n CsvExporterIssuesController = (function(superClass) {\n extend(CsvExporterIssuesController, superClass);\n\n function CsvExporterIssuesController() {\n return CsvExporterIssuesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterIssuesController.prototype.type = \"issues\";\n\n return CsvExporterIssuesController;\n\n })(CsvExporterController);\n\n module.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController);\n\n module.controller(\"CsvExporterTasksController\", CsvExporterTasksController);\n\n module.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController);\n\n}).call(this);\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/admin/project-profile.coffee\n */\n\n(function() {\n var ColorSelectionDirective, ProjectCustomAttributesController, ProjectCustomAttributesDirective, ProjectValuesController, ProjectValuesDirective, ProjectValuesSectionController, bindOnce, debounce, groupBy, joinStr, mixOf, module, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectValuesSectionController = (function(superClass) {\n extend(ProjectValuesSectionController, superClass);\n\n ProjectValuesSectionController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectValuesSectionController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Project values - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n ProjectValuesSectionController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ProjectValuesSectionController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return ProjectValuesSectionController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController);\n\n ProjectValuesController = (function(superClass) {\n extend(ProjectValuesController, superClass);\n\n ProjectValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\"];\n\n function ProjectValuesController(scope, rootscope, repo, confirm, rs) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.moveValue = bind(this.moveValue, this);\n this.loadValues = bind(this.loadValues, this);\n this.scope.$on(\"admin:project-values:move\", this.moveValue);\n this.rootscope.$on(\"project:loaded\", this.loadValues);\n }\n\n ProjectValuesController.prototype.loadValues = function() {\n return this.rs[this.scope.resource].listValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(values) {\n _this.scope.values = values;\n _this.scope.maxValueOrder = _.max(values, \"order\").order;\n return values;\n };\n })(this));\n };\n\n ProjectValuesController.prototype.moveValue = function(ctx, itemValue, itemIndex) {\n var r, values;\n values = this.scope.values;\n r = values.indexOf(itemValue);\n values.splice(r, 1);\n values.splice(itemIndex, 0, itemValue);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return ProjectValuesController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectValuesController\", ProjectValuesController);\n\n ProjectValuesDirective = function($log, $repo, $confirm, $location, animationFrame) {\n var link, linkDragAndDrop, linkValue;\n linkDragAndDrop = function($scope, $el, $attrs) {\n var itemEl, newParentScope, oldParentScope, tdom;\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el.find(\".sortable\");\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 tdom.on(\"sortstop\", function(event, ui) {\n var itemIndex, itemValue;\n itemEl = ui.item;\n itemValue = itemEl.scope().value;\n itemIndex = itemEl.index();\n return $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n linkValue = function($scope, $el, $attrs) {\n var $ctrl, cancel, goToBottomList, initializeNewValue, saveNewValue, saveValue, valueType;\n $ctrl = $el.controller();\n valueType = $attrs.type;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"is_closed\": false,\n \"is_archived\": false\n };\n };\n initializeNewValue();\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = function(target) {\n var form, formEl, promise, value;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n value = formEl.scope().value;\n promise = $repo.save(value);\n promise.then((function(_this) {\n return function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n return row.siblings(\".visualization\").removeClass('hidden');\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n saveNewValue = function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n $scope.newValue.order = $scope.maxValueOrder ? $scope.maxValueOrder + 1 : 1;\n promise = $repo.create(valueType, $scope.newValue);\n promise.then((function(_this) {\n return function(data) {\n target.addClass(\"hidden\");\n $scope.values.push(data);\n $scope.maxValueOrder = data.order;\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n cancel = function(target) {\n var formEl, row, value;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n value.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").removeClass('hidden');\n return goToBottomList(true);\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".edition input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return saveValue(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n return $el.on(\"click\", \".delete-value\", function(event) {\n var choices, formEl, replacement, subtitle, target, title, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n choices = {};\n _.each($scope.values, function(option) {\n if (value.id !== option.id) {\n return choices[option.id] = option.name;\n }\n });\n title = \"Delete value\";\n subtitle = value.name;\n replacement = \"All items with this value will be changed to\";\n if (_.keys(choices).length === 0) {\n return $confirm.error(\"You can't delete all values.\");\n }\n return $confirm.askChoice(title, subtitle, choices, replacement).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadValues()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $repo.remove(value, {\n \"moveTo\": response.selected\n }).then(onSucces, onError);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n linkDragAndDrop($scope, $el, $attrs);\n linkValue($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", ProjectValuesDirective]);\n\n ColorSelectionDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var $ctrl;\n $ctrl = $el.controller();\n $scope.$watch($attrs.ngModel, function(element) {\n return $scope.color = element.color;\n });\n $el.on(\"click\", \".current-color\", function(event) {\n var body, target;\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 body = angular.element(\"body\");\n return body.on(\"click\", (function(_this) {\n return function(event) {\n if (angular.element(event.target).parent(\".select-color\").length === 0) {\n $el.find(\".select-color\").hide();\n return body.unbind(\"click\");\n }\n };\n })(this));\n });\n $el.on(\"click\", \".select-color .color\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n $scope.$apply(function() {\n return $model.$modelValue.color = target.data(\"color\");\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"click\", \".select-color .selected-color\", function(event) {\n event.preventDefault();\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgColorSelection\", ColorSelectionDirective);\n\n ProjectCustomAttributesController = (function(superClass) {\n extend(ProjectCustomAttributesController, superClass);\n\n ProjectCustomAttributesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectCustomAttributesController(scope, rootscope, repo, rs, params, q, location, navUrls, appTitle) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.moveCustomAttributes = bind(this.moveCustomAttributes, this);\n this.deleteCustomAttribute = bind(this.deleteCustomAttribute, this);\n this.saveCustomAttribute = bind(this.saveCustomAttribute, this);\n this.createCustomAttribute = bind(this.createCustomAttribute, this);\n this.loadCustomAttributes = bind(this.loadCustomAttributes, this);\n this.scope.project = {};\n this.rootscope.$on(\"project:loaded\", (function(_this) {\n return function() {\n _this.loadCustomAttributes();\n return _this.appTitle.set(\"Project Custom Attributes - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n }\n\n ProjectCustomAttributesController.prototype.loadCustomAttributes = function() {\n return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then((function(_this) {\n return function(customAttributes) {\n _this.scope.customAttributes = customAttributes;\n _this.scope.maxOrder = _.max(customAttributes, \"order\").order;\n return customAttributes;\n };\n })(this));\n };\n\n ProjectCustomAttributesController.prototype.createCustomAttribute = function(attrValues) {\n return this.repo.create(\"custom-attributes/\" + this.scope.type, attrValues);\n };\n\n ProjectCustomAttributesController.prototype.saveCustomAttribute = function(attrModel) {\n return this.repo.save(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.deleteCustomAttribute = function(attrModel) {\n return this.repo.remove(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.moveCustomAttributes = function(attrModel, newIndex) {\n var customAttributes, r;\n customAttributes = this.scope.customAttributes;\n r = customAttributes.indexOf(attrModel);\n customAttributes.splice(r, 1);\n customAttributes.splice(newIndex, 0, attrModel);\n _.each(customAttributes, function(val, idx) {\n return val.order = idx;\n });\n return this.repo.saveAll(customAttributes);\n };\n\n return ProjectCustomAttributesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController);\n\n ProjectCustomAttributesDirective = function($log, $confirm, animationFrame) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, cancelCreate, cancelUpdate, create, deleteCustomAttribute, hideAddButton, hideCancelButton, hideCreateForm, hideEditForm, resetNewAttr, revertChangesInCustomAttribute, showAddButton, showCancelButton, showCreateForm, showEditForm, sortableEl, update;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n sortableEl = $el.find(\".js-sortable\");\n sortableEl.sortable({\n handle: \".js-view-custom-field\",\n dropOnEmpty: true,\n revert: 400,\n axis: \"y\"\n });\n sortableEl.on(\"sortstop\", function(event, ui) {\n var itemAttr, itemEl, itemIndex;\n itemEl = ui.item;\n itemAttr = itemEl.scope().attr;\n itemIndex = itemEl.index();\n return $ctrl.moveCustomAttributes(itemAttr, itemIndex);\n });\n showCreateForm = function() {\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\");\n return $el.find(\".js-new-custom-field input:visible\").first().focus();\n };\n hideCreateForm = function() {\n return $el.find(\".js-new-custom-field\").addClass(\"hidden\");\n };\n showAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\");\n };\n hideAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").addClass(\"hidden\");\n };\n showCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\");\n };\n hideCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\");\n };\n resetNewAttr = function() {\n return $scope.newAttr = {};\n };\n create = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideCreateForm();\n resetNewAttr();\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = $scope.newAttr;\n attr.project = $scope.projectId;\n attr.order = $scope.maxOrder ? $scope.maxOrder + 1 : 1;\n return $ctrl.createCustomAttribute(attr).then(onSucces, onError);\n };\n cancelCreate = function() {\n hideCreateForm();\n return resetNewAttr();\n };\n $scope.$watch(\"customAttributes\", function(customAttributes) {\n if (!customAttributes) {\n return;\n }\n if (customAttributes.length === 0) {\n hideCancelButton();\n hideAddButton();\n return showCreateForm();\n } else {\n hideCreateForm();\n showAddButton();\n return showCancelButton();\n }\n });\n $el.on(\"click\", \".js-add-custom-field-button\", function(event) {\n event.preventDefault();\n return showCreateForm();\n });\n $el.on(\"click\", \".js-create-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n }));\n $el.on(\"click\", \".js-cancel-new-custom-field-button\", function(event) {\n event.preventDefault();\n return cancelCreate();\n });\n $el.on(\"keyup\", \".js-new-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n } else if (event.keyCode === 27) {\n return cancelCreate();\n }\n });\n showEditForm = function(formEl) {\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\");\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\");\n return formEl.find(\".js-edit-custom-field input:visible\").first().focus().select();\n };\n hideEditForm = function(formEl) {\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\");\n return formEl.find(\".js-view-custom-field\").removeClass(\"hidden\");\n };\n revertChangesInCustomAttribute = function(formEl) {\n return $scope.$apply(function() {\n return formEl.scope().attr.revert();\n });\n };\n update = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideEditForm(formEl);\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = formEl.scope().attr;\n return $ctrl.saveCustomAttribute(attr).then(onSucces, onError);\n };\n cancelUpdate = function(formEl) {\n hideEditForm(formEl);\n return revertChangesInCustomAttribute(formEl);\n };\n $el.on(\"click\", \".js-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return showEditForm(formEl);\n });\n $el.on(\"click\", \".js-update-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n }));\n $el.on(\"click\", \".js-cancel-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n });\n $el.on(\"keyup\", \".js-edit-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n }\n });\n deleteCustomAttribute = function(formEl) {\n var attr, message, subtitle, title;\n attr = formEl.scope().attr;\n title = \"Delete custom attribute\";\n subtitle = \"Remeber that all values in this custom field will be deleted.
Are you sure you want to continue?\";\n message = attr.name;\n return $confirm.ask(title, subtitle, message).then(function(finish) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadCustomAttributes()[\"finally\"](function() {\n return finish();\n });\n };\n onError = function() {\n finish(false);\n return $confirm.notify(\"error\", null, \"We have not been able to delete '\" + message + \"'.\");\n };\n return $ctrl.deleteCustomAttribute(attr).then(onSucces, onError);\n });\n };\n return $el.on(\"click\", \".js-delete-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return deleteCustomAttribute(formEl);\n }));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", ProjectCustomAttributesDirective]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"roles\", id);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"roles\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.roles = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/admin/third-parties.coffee\n */\n\n(function() {\n var BitbucketController, BitbucketWebhooksDirective, GithubController, GithubWebhooksDirective, GitlabController, GitlabWebhooksDirective, NewWebhookDirective, SelectInputText, ValidOriginIpsDirective, WebhookDirective, WebhooksController, bindMethods, debounce, mixOf, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n debounce = this.taiga.debounce;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaAdmin\");\n\n WebhooksController = (function(superClass) {\n extend(WebhooksController, superClass);\n\n WebhooksController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function WebhooksController(scope, repo, rs, params, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Webhooks\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Webhooks - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"webhooks:reload\", this.loadWebhooks);\n }\n\n WebhooksController.prototype.loadWebhooks = function() {\n return this.rs.webhooks.list(this.scope.projectId).then((function(_this) {\n return function(webhooks) {\n return _this.scope.webhooks = webhooks;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadWebhooks();\n };\n })(this));\n };\n\n return WebhooksController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"WebhooksController\", WebhooksController);\n\n WebhookDirective = function($rs, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var cancel, openHistory, save, showEditMode, showVisualizationMode, updateLogs, updateShowHideHistoryText, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n updateLogs = function() {\n return $rs.webhooklogs.list(webhook.id).then((function(_this) {\n return function(webhooklogs) {\n var i, len, log, ref;\n for (i = 0, len = webhooklogs.length; i < len; i++) {\n log = webhooklogs[i];\n log.validStatus = (200 <= (ref = log.status) && ref < 300);\n log.prettySentHeaders = _.map(_.pairs(log.request_headers), function(arg) {\n var header, value;\n header = arg[0], value = arg[1];\n return header + \": \" + value;\n }).join(\"\\n\");\n log.prettySentData = JSON.stringify(log.request_data);\n log.prettyDate = moment(log.created).format(\"DD MMM YYYY [at] hh:mm:ss\");\n }\n webhook.logs_counter = webhooklogs.length;\n webhook.logs = webhooklogs;\n return updateShowHideHistoryText();\n };\n })(this));\n };\n updateShowHideHistoryText = function() {\n var historyElement, textElement;\n textElement = $el.find(\".toggle-history\");\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\");\n if (historyElement.hasClass(\"open\")) {\n return textElement.text(\"(Hide history)\");\n } else {\n return textElement.text(\"(Show history)\");\n }\n };\n showVisualizationMode = function() {\n $el.find(\".edition-mode\").addClass(\"hidden\");\n return $el.find(\".visualization-mode\").removeClass(\"hidden\");\n };\n showEditMode = function() {\n $el.find(\".visualization-mode\").addClass(\"hidden\");\n return $el.find(\".edition-mode\").removeClass(\"hidden\");\n };\n openHistory = function() {\n return $el.find(\".webhooks-history\").addClass(\"open\");\n };\n cancel = function() {\n showVisualizationMode();\n return $scope.$apply(function() {\n return webhook.revert();\n });\n };\n save = debounce(2000, function(target) {\n var form, promise;\n form = target.parents(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save(webhook);\n promise.then((function(_this) {\n return function() {\n return showVisualizationMode();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n $el.on(\"click\", \".test-webhook\", function() {\n openHistory();\n return $rs.webhooks.test(webhook.id).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n $el.on(\"click\", \".edit-webhook\", function() {\n return showEditMode();\n });\n $el.on(\"click\", \".cancel-existing\", function() {\n return cancel();\n });\n $el.on(\"click\", \".edit-existing\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return save(target);\n });\n $el.on(\"keyup\", \".edition-mode input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return save(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"click\", \".delete-webhook\", function() {\n var message, title;\n title = \"Delete webhook\";\n message = \"Webhook '\" + webhook.name + \"'\";\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(finish) {\n var onError, onSucces;\n onSucces = function() {\n finish();\n return $scope.$emit(\"webhooks:reload\");\n };\n onError = function() {\n finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove(webhook).then(onSucces, onError);\n };\n })(this));\n });\n $el.on(\"click\", \".toggle-history\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if ((webhook.logs == null) || webhook.logs.length === 0) {\n return updateLogs().then(function() {\n return timeout(0, function() {\n $el.find(\".webhooks-history\").toggleClass(\"open\");\n return updateShowHideHistoryText();\n });\n });\n } else {\n $el.find(\".webhooks-history\").toggleClass(\"open\");\n return $scope.$apply(function() {\n return updateShowHideHistoryText();\n });\n }\n });\n $el.on(\"click\", \".history-single\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n target.toggleClass(\"history-single-open\");\n return target.siblings(\".history-single-response\").toggleClass(\"open\");\n });\n return $el.on(\"click\", \".resend-request\", function(event) {\n var log, target;\n target = angular.element(event.currentTarget);\n log = target.data(\"log\");\n return $rs.webhooklogs.resend(log).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", WebhookDirective]);\n\n NewWebhookDirective = function($rs, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var addWebhookDOMNode, formDOMNode, initializeNewValue, save, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n formDOMNode = $el.find(\".new-webhook-form\");\n addWebhookDOMNode = $el.find(\".add-webhook\");\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"url\": \"\",\n \"key\": \"\"\n };\n };\n initializeNewValue();\n $scope.$watch(\"webhooks\", function(webhooks) {\n if (webhooks != null) {\n if (webhooks.length === 0) {\n formDOMNode.removeClass(\"hidden\");\n addWebhookDOMNode.addClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n } else {\n formDOMNode.addClass(\"hidden\");\n return addWebhookDOMNode.removeClass(\"hidden\");\n }\n }\n });\n save = debounce(2000, function() {\n var form, promise;\n form = formDOMNode.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n promise = $repo.create(\"webhooks\", $scope.newValue);\n promise.then((function(_this) {\n return function() {\n $scope.$emit(\"webhooks:reload\");\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n formDOMNode.on(\"click\", \".add-new\", function(event) {\n event.preventDefault();\n return save();\n });\n formDOMNode.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return save();\n }\n });\n formDOMNode.on(\"click\", \".cancel-new\", function(event) {\n return $scope.$apply(function() {\n return initializeNewValue();\n });\n });\n return addWebhookDOMNode.on(\"click\", function(event) {\n formDOMNode.removeClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", NewWebhookDirective]);\n\n GithubController = (function(superClass) {\n extend(GithubController, superClass);\n\n GithubController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function GithubController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Github\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Github - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GithubController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"github\").then((function(_this) {\n return function(github) {\n return _this.scope.github = github;\n };\n })(this));\n };\n\n GithubController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n GithubController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return GithubController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GithubController\", GithubController);\n\n GitlabController = (function(superClass) {\n extend(GitlabController, superClass);\n\n GitlabController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function GitlabController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Gitlab\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Gitlab - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n GitlabController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gitlab\").then((function(_this) {\n return function(gitlab) {\n return _this.scope.gitlab = gitlab;\n };\n })(this));\n };\n\n GitlabController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n GitlabController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return GitlabController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GitlabController\", GitlabController);\n\n BitbucketController = (function(superClass) {\n extend(BitbucketController, superClass);\n\n BitbucketController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function BitbucketController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Bitbucket\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Bitbucket - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n BitbucketController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"bitbucket\").then((function(_this) {\n return function(bitbucket) {\n return _this.scope.bitbucket = bitbucket;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return BitbucketController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"BitbucketController\", BitbucketController);\n\n SelectInputText = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", \".select-input-content\", function() {\n $el.find(\"input\").select();\n return $el.find(\".help-copy\").addClass(\"visible\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSelectInputText\", SelectInputText);\n\n GithubWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.github, \"github\");\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GithubWebhooksDirective]);\n\n GitlabWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.gitlab, \"gitlab\");\n promise.then(function() {\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GitlabWebhooksDirective]);\n\n BitbucketWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.bitbucket, \"bitbucket\");\n promise.then(function() {\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", BitbucketWebhooksDirective]);\n\n ValidOriginIpsDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $ngModel) {\n return $ngModel.$parsers.push(function(value) {\n value = $.trim(value);\n if (value === \"\") {\n return [];\n }\n return value.split(\",\");\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgValidOriginIps\", ValidOriginIpsDirective);\n\n}).call(this);\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/base/bind.coffee\n */\n\n(function() {\n var BindHtmlDirective, BindOnceAltDirective, BindOnceBindDirective, BindOnceHrefDirective, BindOnceHtmlDirective, BindOnceRefDirective, BindOnceSrcDirective, BindOnceTitleDirective, BindTitleDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n BindOnceBindDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoBind, function(val) {\n return $el.text(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHtml, function(val) {\n return $el.html(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceRefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoRef, function(val) {\n return $el.html(\"#\" + val + \" \");\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceSrcDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoSrc, function(val) {\n return $el.attr(\"src\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHrefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHref, function(val) {\n return $el.attr(\"href\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceAltDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoAlt, function(val) {\n return $el.attr(\"alt\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoTitle, function(val) {\n return $el.attr(\"title\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgTitleHtml, function(val) {\n if (val != null) {\n return $el.attr(\"title\", val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n BindHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgBindHtml, function(val) {\n if (val != null) {\n return $el.html(val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.directive(\"tgBoBind\", BindOnceBindDirective);\n\n module.directive(\"tgBoHtml\", BindOnceHtmlDirective);\n\n module.directive(\"tgBoRef\", BindOnceRefDirective);\n\n module.directive(\"tgBoSrc\", BindOnceSrcDirective);\n\n module.directive(\"tgBoHref\", BindOnceHrefDirective);\n\n module.directive(\"tgBoAlt\", BindOnceAltDirective);\n\n module.directive(\"tgBoTitle\", BindOnceTitleDirective);\n\n module.directive(\"tgBindTitle\", BindTitleDirective);\n\n module.directive(\"tgBindHtml\", BindHtmlDirective);\n\n}).call(this);\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/base/conf.coffee\n */\n\n(function() {\n var ConfigurationService, module;\n\n ConfigurationService = (function() {\n function ConfigurationService() {\n this.config = window.taigaConfig;\n }\n\n ConfigurationService.prototype.get = function(key, defaultValue) {\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (_.has(this.config, key)) {\n return this.config[key];\n }\n return defaultValue;\n };\n\n return ConfigurationService;\n\n })();\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgConfig\", ConfigurationService);\n\n}).call(this);\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/base/contrib.coffee\n */\n\n(function() {\n var ContribController, module, taigaContribPlugins,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taigaContribPlugins = this.taigaContribPlugins = this.taigaContribPlugins || [];\n\n ContribController = (function(superClass) {\n extend(ContribController, superClass);\n\n ContribController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$appTitle\"];\n\n function ContribController(rootScope, scope, params, repo, rs, confirm, appTitle) {\n var promise;\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.appTitle = appTitle;\n this.scope.adminPlugins = _.where(this.rootScope.contribPlugins, {\n \"type\": \"admin\"\n });\n this.scope.currentPlugin = _.first(_.where(this.scope.adminPlugins, {\n \"slug\": this.params.plugin\n }));\n this.scope.pluginTemplate = \"contrib/\" + this.scope.currentPlugin.slug;\n this.scope.projectSlug = this.params.pslug;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(_this.scope.project.name);\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n }\n\n ContribController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.$broadcast('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ContribController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return ContribController;\n\n })(taiga.Controller);\n\n module = angular.module(\"taigaBase\");\n\n module.controller(\"ContribController\", ContribController);\n\n}).call(this);\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/base/http.coffee\n */\n\n(function() {\n var HttpService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n HttpService = (function(superClass) {\n extend(HttpService, superClass);\n\n HttpService.$inject = [\"$http\", \"$q\", \"$tgStorage\"];\n\n HttpService.prototype.headers = function() {\n var token;\n token = this.storage.get('token');\n if (token) {\n return {\n \"Authorization\": \"Bearer \" + token\n };\n }\n return {};\n };\n\n function HttpService(http, q, storage) {\n this.http = http;\n this.q = q;\n this.storage = storage;\n HttpService.__super__.constructor.call(this);\n }\n\n HttpService.prototype.request = function(options) {\n options.headers = _.merge({}, options.headers || {}, this.headers());\n if (_.isPlainObject(options.data)) {\n options.data = JSON.stringify(options.data);\n }\n return this.http(options);\n };\n\n HttpService.prototype.get = function(url, params, options) {\n options = _.merge({\n method: \"GET\",\n url: url\n }, options);\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.post = function(url, data, params, options) {\n options = _.merge({\n method: \"POST\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.put = function(url, data, params, options) {\n options = _.merge({\n method: \"PUT\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.patch = function(url, data, params, options) {\n options = _.merge({\n method: \"PATCH\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype[\"delete\"] = function(url, data, params, options) {\n options = _.merge({\n method: \"DELETE\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n return HttpService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgHttp\", HttpService);\n\n}).call(this);\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/base/i18n.coffee\n */\n\n(function() {\n var I18nDirective, I18nService, bindOnce, defaults, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n defaults = {\n ns: \"app\",\n fallbackLng: \"en\",\n async: false,\n lng: \"en\"\n };\n\n I18nService = (function(superClass) {\n extend(I18nService, superClass);\n\n function I18nService(rootscope, localesEn) {\n this.rootscope = rootscope;\n this.options = _.clone(defaults, true);\n this.options.resStore = {\n en: {\n app: localesEn\n }\n };\n }\n\n I18nService.prototype.setLanguage = function(language) {\n i18n.setLng(language);\n this.rootscope.currentLang = language;\n return this.rootscope.$broadcast(\"i18n:changeLang\", language);\n };\n\n I18nService.prototype.initialize = function() {\n i18n.init(this.options);\n return this.rootscope.t = i18n.t;\n };\n\n I18nService.prototype.t = function(path, opts) {\n return i18n.t(path, opts);\n };\n\n return I18nService;\n\n })(taiga.Service);\n\n I18nDirective = function($rootscope, $i18n) {\n var link;\n link = function($scope, $el, $attrs) {\n var i, len, ns, options, opts, ref, results, v, values;\n values = $attrs.tr.split(\",\");\n options = $attrs.trOpts || '{}';\n opts = $scope.$eval(options);\n results = [];\n for (i = 0, len = values.length; i < len; i++) {\n v = values[i];\n if (v.indexOf(\":\") === -1) {\n results.push($el.html(_.escape($i18n.t(v, opts))));\n } else {\n ref = v.split(\":\"), ns = ref[0], v = ref[1];\n results.push($el.attr(ns, _.escape($i18n.t(v, opts))));\n }\n }\n return results;\n };\n return {\n link: link,\n restrict: \"A\",\n scope: false\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgI18n\", [\"$rootScope\", \"localesEn\", I18nService]);\n\n module.directive(\"tr\", [\"$rootScope\", \"$tgI18n\", I18nDirective]);\n\n}).call(this);\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/base/location.coffee\n */\n\n(function() {\n var locationFactory, module;\n\n locationFactory = function($location, $route, $rootscope) {\n $location.noreload = function(scope) {\n var lastRoute, un;\n lastRoute = $route.current;\n un = scope.$on(\"$locationChangeSuccess\", function() {\n $route.current = lastRoute;\n return un();\n });\n return $location;\n };\n $location.isInCurrentRouteParams = function(name, value) {\n var params;\n params = _.merge($route.current.params, $location.search());\n return params[name] === value;\n };\n return $location;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory]);\n\n}).call(this);\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/base/model.coffee\n */\n\n(function() {\n var Model, ModelService, module, provider, taiga,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n Model = (function() {\n function Model(name, data, dataTypes) {\n this._attrs = data;\n this._name = name;\n this._dataTypes = dataTypes;\n this.setAttrs(data);\n this.initialize();\n }\n\n Model.prototype.clone = function() {\n var instance;\n instance = new Model(this._name, this._attrs, this._dataTypes);\n instance._modifiedAttrs = this._modifiedAttrs;\n instance._isModified = this._isModified;\n return instance;\n };\n\n Model.prototype.applyCasts = function() {\n var attrName, castMethod, castName, ref, results;\n ref = this._dataTypes;\n results = [];\n for (attrName in ref) {\n castName = ref[attrName];\n castMethod = service.casts[castName];\n if (!castMethod) {\n continue;\n }\n results.push(this._attrs[attrName] = castMethod(this._attrs[attrName]));\n }\n return results;\n };\n\n Model.prototype.getIdAttrName = function() {\n return \"id\";\n };\n\n Model.prototype.getName = function() {\n return this._name;\n };\n\n Model.prototype.getAttrs = function(patch) {\n if (patch == null) {\n patch = false;\n }\n if (this._attrs.version != null) {\n this._modifiedAttrs.version = this._attrs.version;\n }\n if (patch) {\n return _.extend({}, this._modifiedAttrs);\n }\n return _.extend({}, this._attrs, this._modifiedAttrs);\n };\n\n Model.prototype.setAttrs = function(attrs) {\n this._attrs = attrs;\n this._modifiedAttrs = {};\n this.applyCasts();\n return this._isModified = false;\n };\n\n Model.prototype.setAttr = function(name, value) {\n this._modifiedAttrs[name] = value;\n return this._isModified = true;\n };\n\n Model.prototype.initialize = function() {\n var getter, self, setter;\n self = this;\n getter = function(name) {\n return function() {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n return self[name];\n }\n if (indexOf.call(_.keys(self._modifiedAttrs), name) < 0) {\n return self._attrs[name];\n }\n return self._modifiedAttrs[name];\n };\n };\n setter = function(name) {\n return function(value) {\n if (typeof name === 'string' && 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 };\n };\n return _.each(this._attrs, function(value, name) {\n var options;\n options = {\n get: getter(name),\n set: setter(name),\n enumerable: true,\n configurable: true\n };\n return Object.defineProperty(self, name, options);\n });\n };\n\n Model.prototype.serialize = function() {\n var data;\n data = {\n \"data\": _.clone(this._attrs),\n \"name\": this._name\n };\n return JSON.stringify(data);\n };\n\n Model.prototype.isModified = function() {\n return this._isModified;\n };\n\n Model.prototype.isAttributeModified = function(attribute) {\n return this._modifiedAttrs[attribute] != null;\n };\n\n Model.prototype.markSaved = function() {\n this._isModified = false;\n this._attrs = this.getAttrs();\n return this._modifiedAttrs = {};\n };\n\n Model.prototype.revert = function() {\n this._modifiedAttrs = {};\n return this._isModified = false;\n };\n\n Model.desSerialize = function(sdata) {\n var ddata, model;\n ddata = JSON.parse(sdata);\n model = new Model(ddata.url, ddata.data);\n return model;\n };\n\n return Model;\n\n })();\n\n taiga = this.taiga;\n\n ModelService = (function(superClass) {\n extend(ModelService, superClass);\n\n ModelService.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"];\n\n function ModelService(q, urls, storage, http) {\n this.q = q;\n this.urls = urls;\n this.storage = storage;\n this.http = http;\n ModelService.__super__.constructor.call(this);\n }\n\n return ModelService;\n\n })(taiga.Service);\n\n provider = function($q, $http, $gmUrls, $gmStorage) {\n var service;\n service = {};\n service.make_model = function(name, data, cls, dataTypes) {\n if (cls == null) {\n cls = Model;\n }\n if (dataTypes == null) {\n dataTypes = {};\n }\n return new cls(name, data, dataTypes);\n };\n service.cls = Model;\n service.casts = {\n int: function(value) {\n return parseInt(value, 10);\n },\n float: function(value) {\n return parseFloat(value, 10);\n }\n };\n return service;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider]);\n\n}).call(this);\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/base/navurl.coffee\n */\n\n(function() {\n var NavigationUrlsDirective, NavigationUrlsService, bindOnce, module, taiga, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\");\n\n NavigationUrlsService = (function(superClass) {\n extend(NavigationUrlsService, superClass);\n\n function NavigationUrlsService() {\n this.urls = {};\n }\n\n NavigationUrlsService.prototype.update = function(urls) {\n return this.urls = _.merge({}, this.urls, urls || {});\n };\n\n NavigationUrlsService.prototype.formatUrl = function(url, ctx) {\n var replacer;\n if (ctx == null) {\n ctx = {};\n }\n replacer = function(match) {\n match = trim(match, \":\");\n return ctx[match] || \"undefined\";\n };\n return url.replace(/(:\\w+)/g, replacer);\n };\n\n NavigationUrlsService.prototype.resolve = function(name, ctx) {\n var url;\n url = this.urls[name];\n if (!url) {\n return \"\";\n }\n if (ctx) {\n return this.formatUrl(url, ctx);\n }\n return url;\n };\n\n return NavigationUrlsService;\n\n })(taiga.Service);\n\n module.service(\"$tgNavUrls\", NavigationUrlsService);\n\n NavigationUrlsDirective = function($navurls, $auth, $q, $location) {\n var bindOnceP, link, parseNav;\n bindOnceP = function($scope, attr) {\n var defered;\n defered = $q.defer();\n bindOnce($scope, attr, function(v) {\n return defered.resolve(v);\n });\n return defered.promise;\n };\n parseNav = function(data, $scope) {\n var name, params, promises, ref, values;\n ref = _.map(data.split(\":\"), trim), name = ref[0], params = ref[1];\n if (params) {\n params = _.map(params.split(\",\"), trim);\n } else {\n params = [];\n }\n values = _.map(params, function(x) {\n return trim(x.split(\"=\")[1]);\n });\n promises = _.map(values, function(x) {\n return bindOnceP($scope, x);\n });\n return $q.all(promises).then(function() {\n var i, item, key, len, options, ref1, value;\n options = {};\n for (i = 0, len = params.length; i < len; i++) {\n item = params[i];\n ref1 = _.map(item.split(\"=\"), trim), key = ref1[0], value = ref1[1];\n options[key] = $scope.$eval(value);\n }\n return [name, options];\n });\n };\n link = function($scope, $el, $attrs) {\n if ($el.is(\"a\")) {\n $el.attr(\"href\", \"#\");\n }\n $el.on(\"mouseenter\", function(event) {\n var target;\n target = $(event.currentTarget);\n if (!target.data(\"fullUrl\")) {\n return parseNav($attrs.tgNav, $scope).then(function(result) {\n var fullUrl, name, options, url, user;\n name = result[0], options = result[1];\n user = $auth.getUser();\n if (user) {\n options.user = user.username;\n }\n url = $navurls.resolve(name);\n fullUrl = $navurls.formatUrl(url, options);\n target.data(\"fullUrl\", fullUrl);\n if (target.is(\"a\")) {\n target.attr(\"href\", fullUrl);\n }\n return $el.on(\"click\", function(event) {\n event.preventDefault();\n target = $(event.currentTarget);\n if (target.hasClass('noclick')) {\n return;\n }\n fullUrl = target.data(\"fullUrl\");\n switch (event.which) {\n case 1:\n $location.url(fullUrl);\n return $scope.$apply();\n case 2:\n return window.open(fullUrl);\n }\n });\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", NavigationUrlsDirective]);\n\n}).call(this);\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/base/repository.coffee\n */\n\n(function() {\n var RepositoryService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n RepositoryService = (function(superClass) {\n extend(RepositoryService, superClass);\n\n RepositoryService.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"];\n\n function RepositoryService(q, model1, storage, http, urls) {\n this.q = q;\n this.model = model1;\n this.storage = storage;\n this.http = http;\n this.urls = urls;\n RepositoryService.__super__.constructor.call(this);\n }\n\n RepositoryService.prototype.resolveUrlForModel = function(model) {\n var idAttrName;\n idAttrName = model.getIdAttrName();\n return (this.urls.resolve(model.getName())) + \"/\" + model[idAttrName];\n };\n\n RepositoryService.prototype.resolveUrlForAttributeModel = function(model) {\n return this.urls.resolve(model.getName(), model.parent);\n };\n\n RepositoryService.prototype.create = function(name, data, dataTypes, extraParams) {\n var defered, promise, url;\n if (dataTypes == null) {\n dataTypes = {};\n }\n if (extraParams == null) {\n extraParams = {};\n }\n defered = this.q.defer();\n url = this.urls.resolve(name);\n promise = this.http.post(url, JSON.stringify(data));\n promise.success((function(_this) {\n return function(_data, _status) {\n return defered.resolve(_this.model.make_model(name, _data, null, dataTypes));\n };\n })(this));\n promise.error((function(_this) {\n return function(data, status) {\n return defered.reject(data);\n };\n })(this));\n return defered.promise;\n };\n\n RepositoryService.prototype.remove = function(model, params) {\n var defered, promise, url;\n if (params == null) {\n params = {};\n }\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http[\"delete\"](url, {}, params);\n promise.success(function(data, status) {\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(model);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAll = function(models, patch) {\n var promises;\n if (patch == null) {\n patch = true;\n }\n promises = _.map(models, (function(_this) {\n return function(x) {\n return _this.save(x, true);\n };\n })(this));\n return this.q.all(promises);\n };\n\n RepositoryService.prototype.save = function(model, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForModel(model);\n data = JSON.stringify(model.getAttrs(patch));\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAttribute = function(model, attribute, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForAttributeModel(model);\n data = {};\n data[attribute] = model.getAttrs();\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.refresh = function(model) {\n var defered, promise, url;\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http.get(url);\n promise.success(function(data, status) {\n model._modifiedAttrs = {};\n model._attrs = data;\n model._isModified = false;\n model.applyCasts();\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.queryMany = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneAttribute = function(name, id, attribute, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name, id);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var model;\n model = _this.model.make_model(name, data.data[attribute]);\n model.parent = id;\n return model;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOne = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _this.model.make_model(name, data.data);\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryPaginated = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.models = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.resolve = function(options) {\n var cache, params;\n params = {};\n if (options.pslug != null) {\n params.project = options.pslug;\n }\n if (options.usref != null) {\n params.us = options.usref;\n }\n if (options.taskref != null) {\n params.task = options.taskref;\n }\n if (options.issueref != null) {\n params.issue = options.issueref;\n }\n if (options.sslug != null) {\n params.milestone = options.sslug;\n }\n if (options.wikipage != null) {\n params.wikipage = options.wikipage;\n }\n cache = !(options.wikipage || options.sslug);\n return this.queryOneRaw(\"resolver\", null, params, {\n cache: cache\n });\n };\n\n return RepositoryService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgRepo\", RepositoryService);\n\n}).call(this);\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/base/storage.coffee\n */\n\n(function() {\n var StorageService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n StorageService = (function(superClass) {\n extend(StorageService, superClass);\n\n StorageService.$inject = [\"$rootScope\"];\n\n function StorageService($rootScope) {\n StorageService.__super__.constructor.call(this);\n }\n\n StorageService.prototype.get = function(key, _default) {\n var serializedValue;\n serializedValue = localStorage.getItem(key);\n if (serializedValue === null) {\n return _default || null;\n }\n return JSON.parse(serializedValue);\n };\n\n StorageService.prototype.set = function(key, val) {\n if (_.isObject(key)) {\n return _.each(key, (function(_this) {\n return function(val, key) {\n return _this.set(key, val);\n };\n })(this));\n } else {\n return localStorage.setItem(key, JSON.stringify(val));\n }\n };\n\n StorageService.prototype.contains = function(key) {\n var value;\n value = this.get(key);\n return value !== null;\n };\n\n StorageService.prototype.remove = function(key) {\n return localStorage.removeItem(key);\n };\n\n StorageService.prototype.clear = function() {\n return localStorage.clear();\n };\n\n return StorageService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgStorage\", StorageService);\n\n}).call(this);\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/base/http.coffee\n */\n\n(function() {\n var UrlsService, format, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n format = function(fmt, obj) {\n obj = _.clone(obj);\n return fmt.replace(/%s/g, function(match) {\n return String(obj.shift());\n });\n };\n\n taiga = this.taiga;\n\n UrlsService = (function(superClass) {\n extend(UrlsService, superClass);\n\n UrlsService.$inject = [\"$tgConfig\"];\n\n function UrlsService(config) {\n this.config = config;\n this.urls = {};\n this.mainUrl = this.config.get(\"api\");\n }\n\n UrlsService.prototype.update = function(urls) {\n return this.urls = _.merge(this.urls, urls);\n };\n\n UrlsService.prototype.resolve = function() {\n var args, name, url;\n args = _.toArray(arguments);\n if (args.length === 0) {\n throw Error(\"wrong arguments to setUrls\");\n }\n name = args.slice(0, 1)[0];\n url = format(this.urls[name], args.slice(1));\n return format(\"%s/%s\", [_.str.rtrim(this.mainUrl, \"/\"), _.str.ltrim(url, \"/\")]);\n };\n\n UrlsService.prototype.resolveAbsolute = function() {\n var url;\n url = this.resolve.apply(this, arguments);\n if (/^https?:\\/\\//i.test(url)) {\n return url;\n }\n if (/^\\//.test(url)) {\n return window.location.protocol + \"//\" + window.location.host + url;\n }\n return window.location.protocol + \"//\" + window.location.host + \"/\" + url;\n };\n\n return UrlsService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service('$tgUrls', UrlsService);\n\n}).call(this);\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/custom-field-values.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var _get, service;\n _get = function(objectId, resource) {\n return $repo.queryOne(resource, objectId);\n };\n service = {\n userstory: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/userstory\");\n }\n },\n task: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/task\");\n }\n },\n issue: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributesValues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var _list, service;\n _list = function(projectId, resource) {\n return $repo.queryMany(resource, {\n project: projectId\n });\n };\n service = {\n userstory: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/userstory\");\n }\n },\n task: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/task\");\n }\n },\n issue: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributes = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.get = function(token) {\n return $repo.queryOne(\"invitations\", token);\n };\n return function(instance) {\n return instance.invitations = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.render = function(projectId, content) {\n var params, url;\n if ((content == null) || content === \"\") {\n 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((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.mdrender = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.list = function(projectId, module) {\n return $repo.queryOneAttribute(\"project-modules\", projectId, module);\n };\n return function(instance) {\n return instance.modules = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"notify-policies\", id);\n };\n service.list = function(filters) {\n var params;\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"notify-policies\", params);\n };\n return function(instance) {\n return instance.notifyPolicies = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(webhookId) {\n var params;\n params = {\n webhook: webhookId\n };\n return $repo.queryMany(\"webhooklogs\", params);\n };\n service.resend = function(webhooklogId) {\n var url;\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooklogs = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(projectId) {\n var params;\n params = {\n project: projectId\n };\n return $repo.queryMany(\"webhooks\", params);\n };\n service.test = function(webhookId) {\n var url;\n url = $urls.resolve(\"webhooks-test\", webhookId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\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/user-settings/main.coffee\n */\n\n(function() {\n var UserChangePasswordController, UserChangePasswordDirective, debounce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserChangePasswordController = (function(superClass) {\n extend(UserChangePasswordController, superClass);\n\n UserChangePasswordController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\"];\n\n function UserChangePasswordController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.scope.sectionName = \"Change Password\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserChangePasswordController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n UserChangePasswordController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return UserChangePasswordController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserChangePasswordController\", UserChangePasswordController);\n\n UserChangePasswordDirective = function($rs, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs, ctrl) {\n var submit, submitButton;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if ($scope.newPassword1 !== $scope.newPassword2) {\n $confirm.notify('error', \"The passwords dosn't match\");\n return;\n }\n $loading.start(submitButton);\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1);\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify('success');\n });\n return promise.then(null, function(response) {\n $loading.finish(submitButton);\n return $confirm.notify('error', response.data._error_message);\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", UserChangePasswordDirective]);\n\n}).call(this);\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/user-settings/notifications.coffee\n */\n\n(function() {\n var UserNotificationsController, UserNotificationsDirective, UserNotificationsListDirective, bindOnce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserNotificationsController = (function(superClass) {\n extend(UserNotificationsController, superClass);\n\n UserNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\"];\n\n function UserNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.scope.sectionName = \"Email Notifications\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserNotificationsController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n UserNotificationsController.prototype.loadNotifyPolicies = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n UserNotificationsController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadNotifyPolicies();\n };\n })(this));\n };\n\n return UserNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserNotificationsController\", UserNotificationsController);\n\n UserNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotifications\", UserNotificationsDirective);\n\n UserNotificationsListDirective = function($repo, $confirm) {\n var link, template;\n template = _.template(\"<% _.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 link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n $el.off();\n $el.html(template({\n notifyPolicies: $scope.notifyPolicies\n }));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\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 onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", UserNotificationsListDirective]);\n\n}).call(this);\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: plugins/humanshtml/humanshtml.coffee\n */\n\n(function() {\n var configure, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaPlugins\");\n\n configure = function($routeProvider) {\n return $routeProvider.when(\"/humans.html\", {\n \"templateUrl\": \"/plugins/humanshtml/templates/humans.html\"\n });\n };\n\n module.config([\"$routeProvider\", configure]);\n\n}).call(this);\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: plugins/terms/terms.coffee\n */\n\n(function() {\n var TermsNoticeDirective, module, taiga, template;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaPlugins\");\n\n template = _.template(\"

\\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 TermsNoticeDirective = function($config) {\n var privacyPolicyUrl, templateFn, termsOfServiceUrl;\n privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n templateFn = function() {\n var ctx;\n if (!(privacyPolicyUrl && termsOfServiceUrl)) {\n return \"\";\n }\n ctx = {\n termsUrl: termsOfServiceUrl,\n privacyUrl: privacyPolicyUrl\n };\n return template(ctx);\n };\n return {\n scope: {},\n restrict: \"AE\",\n template: templateFn\n };\n };\n\n module.directive(\"tgTermsNotice\", [\"$tgConfig\", TermsNoticeDirective]);\n\n}).call(this);\n","angular.module('taigaBase').value('localesEn', {\n \"checksley\": {\n \"defaultMessage\": \"This value seems to be invalid.\",\n \"type-email\": \"This value should be a valid email.\",\n \"type-url\": \"This value should be a valid url.\",\n \"type-urlstrict\": \"This value should be a valid url.\",\n \"type-number\": \"This value should be a valid number.\",\n \"type-digits\": \"This value should be digits.\",\n \"type-dateIso\": \"This value should be a valid date (YYYY-MM-DD).\",\n \"type-alphanum\": \"This value should be alphanumeric.\",\n \"type-phone\": \"This value should be a valid phone number.\",\n \"notnull\": \"This value should not be null.\",\n \"notblank\": \"This value should not be blank.\",\n \"required\": \"This value is required.\",\n \"regexp\": \"This value seems to be invalid.\",\n \"min\": \"This value should be greater than or equal to %s.\",\n \"max\": \"This value should be lower than or equal to %s.\",\n \"range\": \"This value should be between %s and %s.\",\n \"minlength\": \"This value is too short. It should have %s characters or more.\",\n \"maxlength\": \"This value is too long. It should have %s characters or less.\",\n \"rangelength\": \"This value length is invalid. It should be between %s and %s characters long.\",\n \"mincheck\": \"You must select at least %s choices.\",\n \"maxcheck\": \"You must select %s choices or less.\",\n \"rangecheck\": \"You must select between %s and %s choices.\",\n \"equalto\": \"This value should be the same.\"\n },\n \"common\": {\n \"subject\": \"Subject\",\n \"save\": \"Save\",\n \"blocked\": \"Blocked\",\n \"cancel\": \"Cancel\",\n \"status\": \"Status\",\n \"new-bulk\": \"New bulk insert\",\n \"one-item-line\": \"One item per line...\"\n },\n \"pagination\": {\n \"next\": \"Next\",\n \"prev\": \"Previous\"\n },\n \"markdown-editor\": {\n \"heading-1\": \"First Level Heading\",\n \"heading-2\": \"Second Level Heading\",\n \"heading-3\": \"Third Level Heading\",\n \"bold\": \"Bold\",\n \"italic\": \"Italic\",\n \"strike\": \"Strike\",\n \"bulleted-list\": \"Bulleted List\",\n \"numeric-list\": \"Numeric List\",\n \"picture\": \"Picture\",\n \"link\": \"Link\",\n \"quotes\": \"Quotes\",\n \"code-block\": \"Code Block / Code\",\n \"preview\": \"Preview\",\n \"help\": \"Help\",\n \"placeholder\": \"Your title here...\",\n \"link-placeholder\": \"Your text to link here...\"\n },\n \"us\": {\n \"title-new\": \"New User Story\",\n \"team-requirement\": \"Team Requirement\",\n \"client-requirement\": \"Client Requirement\"\n }\n}\n);"],"sourceRoot":"/source/"} \ No newline at end of file +{"version":3,"sources":["app.js","classes.js","utils.js","controllerMixins.js","admin.js","auth.js","backlog.js","base.js","common.js","events.js","feedback.js","integrations.js","issues.js","kanban.js","locales.js","nav.js","projects.js","related-tasks.js","resources.js","search.js","taskboard.js","tasks.js","team.js","user-settings.js","userstories.js","wiki.js","analytics.js","attachments.js","bind-scope.js","components.js","confirm.js","custom-field-values.js","estimation.js","filters.js","history.js","importer.js","lightboxes.js","loader.js","loading.js","popovers.js","raven-logger.js","tags.js","wisiwyg.js","main.js","sortable.js","sprints.js","charts.js","detail.js","list.js","memberships.js","project-profile.js","project-values.js","roles.js","third-parties.js","bind.js","conf.js","contrib.js","http.js","i18n.js","location.js","model.js","navurls.js","repository.js","storage.js","urls.js","custom-attributes-values.js","custom-attributes.js","invitations.js","mdrender.js","modules.js","notify-policies.js","webhooklogs.js","webhooks.js","change-password.js","notifications.js","humanshtml/humanshtml.js","terms/terms.js","locales.en.js"],"names":["configure","init","module","modules","taiga","this","taigaContribPlugins","generateHash","components","_","map","x","JSON","stringify","hex_sha1","join","generateUniqueSessionIdentifier","date","randomNumber","Date","getTime","Math","floor","random","sessionId","$routeProvider","$locationProvider","$httpProvider","$provide","$tgEventsProvider","tgLoaderProvider","$compileProvider","authHttpIntercept","defaultHeaders","versionCheckHttpIntercept","when","templateUrl","resolve","loader","add","reloadOnSearch","redirectTo","params","pslug","otherwise","html5Mode","enabled","requireBase","Content-Type","Accept-Language","X-Session-Id","defaults","headers","patch","post","put","get","setSessionId","$q","$location","$navUrls","$lightboxService","httpResponseError","response","nextPath","status","closeAll","path","replace","url","search","reject","responseError","factory","interceptors","push","$confirm","versionErrorMsg","data","version","notify","window","checksley","updateValidators","linewidth","val","width","lines","valid","nl2br","split","every","line","length","updateMessages","debugInfoEnabled","taigaConfig","debugInfo","$log","$i18n","$config","$rootscope","$auth","$events","$analytics","initialize","debug","contribPlugins","adminPlugins","where","type","isAuthenticated","setupConnection","concat","plugin","angular","config","run","call","TaigaBase","TaigaController","TaigaService","extend","child","parent","ctor","constructor","key","hasProp","prototype","__super__","hasOwnProperty","bind","fn","me","apply","arguments","superClass","onInitialDataError","xhr","location","navUrls","q","Base","Service","Controller","bindMethods","bindOnce","cancelTimeout","debounce","debounceLeading","groupBy","joinStr","mixOf","scopeDefer","sizeFormat","slugify","startswith","timeout","toString","toggleText","trim","unslugify","indexOf","item","i","l","slice","str","breakTag","object","dependencies","methods","keys","forIn","value","bindAll","scope","attr","continuation","delBind","$eval","$watch","Mixed","base","method","mixin","mixins","name","ref","char","capitalize","element","texts","nextTextPosition","text","coll","pred","len","result","wait","setTimeout","timeoutVar","clearTimeout","func","defer","$apply","isNumber","isString","isPlainObject","isUndefined","leading","trailing","str1","str2","startsWith","input","precision","number","size","units","isNaN","parseFloat","isFinite","log","pow","toFixed","FiltersMixin","PageMixin","fillUsersAndRoles","users","roles","activeUsers","availableRoles","filter","user","is_active","sortBy","activeUsersById","e","id","usersById","project","memberships","uniq","computableRoles","contains","loadUsersAndRoles","promise","all","rs","projects","usersList","projectId","rolesList","then","_this","results","selectFilter","load","existing","compact","isInCurrentRouteParams","noreload","replaceFilter","replaceAllFilters","filters","unselectFilter","newValues","parsedValues","isEmpty","AuthService","CancelAccountDirective","ChangeEmailDirective","ChangePasswordFromRecoveryDirective","ForgotPasswordDirective","InvitationDirective","LoginDirective","PublicRegisterMessageDirective","RegisterDirective","rootscope","storage","model","http","urls","$inject","getUser","userData","make_model","setUser","auth","$broadcast","default_language","set","getAttrs","clear","remove","setToken","token","getToken","removeToken","login","clone","auth_token","logout","register","getInvitation","invitations","acceptInvitiationWithNewUser","acceptInvitiationWithExistingUser","forgotPassword","changePasswordFromRecovery","changeEmail","cancelAccount","service","templates","template","templateFn","publicRegisterEnabled","restrict","directive","$routeParams","link","$scope","$el","onError","onSuccess","submit","nextUrl","event","form","loginFormType","preventDefault","Form","find","validate","username","password","on","onErrorSubmit","onSuccessSubmit","onlyOneErrorElement","trackEvent","_error_message","setErrors","success","$params","tokenInParams","loginForm","onErrorSubmitLogin","onErrorSubmitRegister","onSuccessSubmitLogin","onSuccessSubmitRegister","registerForm","submitLogin","submitRegister","invitation","dataLogin","project_slug","escape","project_name","dataRegister","$repo","$model","email_token","queryOne","cancel_token","TaigaMainDirective","$window","onresize","home","error","not-found","permission-denied","forgot-password","change-password","change-email","cancel-account","create-project","profile","project-backlog","project-taskboard","project-kanban","project-issues","project-search","project-userstories-detail","project-tasks-detail","project-issues-detail","project-wiki","project-wiki-page","project-team","project-admin-home","project-admin-project-profile-details","project-admin-project-profile-default-values","project-admin-project-profile-modules","project-admin-project-profile-export","project-admin-project-profile-reports","project-admin-project-values-status","project-admin-project-values-points","project-admin-project-values-priorities","project-admin-project-values-severities","project-admin-project-values-types","project-admin-project-values-custom-fields","project-admin-memberships","project-admin-roles","project-admin-third-parties-webhooks","project-admin-third-parties-github","project-admin-third-parties-gitlab","project-admin-third-parties-bitbucket","project-admin-contrib","user-settings-user-profile","user-settings-user-change-password","user-settings-user-avatar","user-settings-mail-notifications","$navurls","update","AnimationFrame","AppTitle","CheckPermissionDirective","ClassPermissionDirective","LimitLineLengthDirective","ProjectUrl","Qqueue","SelectedText","Template","ToggleCommentDirective","$document","getSelection","selection","createRange","render","permission","my_permissions","removeClass","$attrs","addClass","tgCheckPermission","$on","off","checkPermissions","tgClassPermissionWatchAction","unbindWatcher","className","negation","classes","animationFrame","performAnimation","tail","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","shift","$","ctx","slug","is_backlog_activated","is_kanban_activated","is_wiki_activated","is_issues_activated","maxColsPerLine","parseInt","code","keyCode","each","index","substring","deferred","lastPromise","qqueue","bindAdd","args","$templateCache","lodash","tmp","EventsProvider","EventsService","win","subscriptions","connected","pendingMessages","WebSocket","info","loc","scheme","stopExistingConnection","protocol","ltrim","host","ws","addEventListener","onOpen","onMessage","onClose","removeEventListener","close","serialize","message","isObject","sendMessage","messages","msg","send","subscribe","routingKey","callback","subscription","cmd","routing_key","unsubscribe","parse","$get","$win","$conf","provider","FeedbackDirective","$loading","submitButton","start","create","feedback","finish","open","focus","ProjectMenuDirective","ProjectsNavigationController","ProjectsNavigationDirective","navurls","projectUrl","loadInitialData","console","listByMember","filteredProjects","filterText","newProject","filterProjects","toLowerCase","controller","$timeout","tgLoader","$compile","$template","baseTemplate","hideMenu","loadingStart","overlay","projectsTemplate","difftime","timeoutValue","is","one","document","body","css","hide","disablePreventLoading","$ctrls","$ctrl","renderProjects","html","$emit","which","hasClass","show","toggleClass","currentUrl","target","currentTarget","prop","absUrl","preventLoading","require","$tgAuth","getSectionName","mainTemplate","menuEntriesTemplate","renderMainMenu","renderMenuEntries","videoConferenceUrl","sectionName","oldSectionName","targetScope","container","dom","section","feedbackEnabled","replaceWith","baseUrl","videoconferences","videoconferences_salt","popover","listener","stopPropagation","videoconferenceUrl","RelatedTaskAssignedToInlineEditionDirective","RelatedTaskCreateButtonDirective","RelatedTaskCreateFormDirective","RelatedTaskRowDirective","RelatedTasksDirective","templateEdit","templateView","renderEdit","renderView","saveTask","task","subject","save","$modelValue","perms","modify_task","delete_task","select","title","askOnDelete","ngModel","$tgmodel","newTask","assigned_to","createTask","default_task_status","us","$rs","loadTasks","tasks","list","usId","autoSave","notAutoSave","updateRelatedTask","member","imgurl","photo","full_name_display","tgRelatedTaskAssignedToInlineEdition","unbind","userId","updatedRelatedTask","ResourcesService","initResources","initUrls","auth-register","permissions","notify-policies","bulk-create-memberships","milestones","userstories","bulk-create-us","bulk-update-us-backlog-order","bulk-update-us-sprint-order","bulk-update-us-kanban-order","userstories-restore","bulk-create-tasks","bulk-update-task-taskboard-order","tasks-restore","issues","bulk-create-issues","issues-restore","wiki","wiki-restore","wiki-links","choices/userstory-statuses","choices/userstory-statuses/bulk-update-order","choices/points","choices/points/bulk-update-order","choices/task-statuses","choices/task-statuses/bulk-update-order","choices/issue-statuses","choices/issue-statuses/bulk-update-order","choices/issue-types","choices/issue-types/bulk-update-order","choices/priorities","choices/priorities/bulk-update-order","choices/severities","choices/severities/bulk-update-order","sites","project-templates","site-members","site-projects","users-password-recovery","users-change-password-from-recovery","users-change-password","users-change-email","users-cancel-account","user-storage","resolver","userstory-statuses","points","task-statuses","issue-statuses","issue-types","priorities","severities","project-modules","webhooks","webhooks-test","webhooklogs","webhooklogs-resend","history/us","history/issue","history/task","history/wiki","attachments/us","attachments/issue","attachments/task","attachments/wiki_page","custom-attributes/userstory","custom-attributes/issue","custom-attributes/task","custom-attributes-values/userstory","custom-attributes-values/issue","custom-attributes-values/task","exporter","importer","userstories-csv","tasks-csv","issues-csv","$urls","providers","toArray","SearchBoxDirective","SearchController","SearchDirective","scope1","repo","appTitle","loadSearchData","searchTerm","t","term","pageLoaded","loadFilters","defered","loadProject","getBySlug","issueStatusById","issue_statuses","taskStatusById","task_statuses","severityById","priorityById","membersById","usStatusById","us_statuses","searchResults","$route","reload","$templatecache","$routeparams","linkTable","getActiveSection","lastSeatchResults","markSectionTabActive","renderFilterTabs","renderTableContent","tabsDom","maxVal","selectedSectionData","selectedSectionName","wikipages","oldElements","oldScope","children","$destroy","$new","parseHTML","activeSection","sectionData","searchText","AnalyticsService","doc","conf","initialized","accountId","pageEvent","trackRoutes","ignoreFirstPageLoad","injectAnalytics","ga","getUrl","trackPage","s","o","g","r","a","m","createElement","getElementsByTagName","async","src","parentNode","insertBefore","page","category","action","label","AttachmentDirective","AttachmentsController","AttachmentsDirective","confirm","objectId","uploadingAttachments","attachments","attachmentsCount","deprecatedAttachmentsCount","showDeprecated","loadAttachments","urlname","updateCounters","is_deprecated","_createAttachment","attachment","urlName","isCreatedRightNow","splice","createAttachments","promises","addUploadingAttachments","union","reorderAttachment","newIndex","oldIndex","order","updateAttachment","saveAttachments","saveAll","j","revert","removeAttachment","filterAttachments","$templates","showSizeInfo","tdom","sortable","items","handle","containment","dropOnEmpty","scroll","tolerance","placeholder","ui","attach","files","maxFileSize","maxFileSizeMsg","controllerAs","saveAttachment","edit","modifyPermission","created_date","moment","format","description","isDeprecated","tgAttachment","BindScope","jQuery","AssignedToDirective","BlockButtonDirective","CreatedByDisplayDirective","DateRangeDirective","DateSelectorDirective","DeleteButtonDirective","EditableDescriptionDirective","EditableSubjectDirective","ListItemAssignedtoDirective","ListItemIssueStatusDirective","ListItemPriorityDirective","ListItemSeverityDirective","ListItemTaskStatusDirective","ListItemTypeDirective","ListItemUsStatusDirective","SprintProgressBarDirective","TgMainTitleDirective","TgProgressBarDirective","WatchersDirective","renderRange","first","second","endDate","initDate","tgDateRange","valFirst","valSecond","selectedDate","picker","Pikaday","field","onSelect","setDate","renderProgress","percentage","visual_percentage","tgSprintProgressbar","sprint","closedPoints","totalPoints","closed_points","total_points","round","owner","$qqueue","deleteWatcher","isEditable","renderWatchers","ref1","requiredPerm","watchers","$setViewValue","watcherId","watcherIds","pull","renderAssignedTo","issue","assignedTo","assignedToId","ask","instance","is_blocked","onDeleteGoToUrl","onDeleteTitle","subtitle","click","$selectedText","noDescriptionMegEditMode","noDescriptionMegReadMode","noDescriptionMsg","tgListitemIssueStatus","tgListitemTaskStatus","tgListitemUsStatus","tgListitemAssignedto","full_name","domNode","priority","color","tgListitemPriority","severity","tgListitemSeverity","issueTypeById","tgListitemType","el","tgProgressBar","max","min","projectName","ConfirmService","NOTIFICATION_MSG","light-error","lightboxService","loading","lightboxSelector","ok","askChoice","choices","replacement","warning","choicesField","append","selected","stop","percent","time","selector","tsem","CustomAttributeValueDirective","CustomAttributesValuesController","CustomAttributesValuesDirective","customAttributes","customAttributesValues","loadCustomAttributesValues","getAttributeValue","attribute","attributeValue","attributes_values","updateAttributeValue","attributesValues","$storage","collapsedHash","collapsed","hash","requiredEditionPerm","saveAttributeValue","editable","tgCustomAttributeValue","EstimationsService","LbUsEstimationDirective","UsEstimationDirective","$tgEstimationsService","$rootScope","estimationProcess","onSelectedPointForRole","calculateTotalPoints","calculateRoles","roleId","pointId","EstimationProcess","pointsTemplate","$el1","us1","project1","bindClickEvents","pointsById","notNullValues","values","v","reduce","acc","num","role","pointObj","renderPointsSelector","siblings","horizontalList","maxPointLength","point","some","horizontal","closest","defaultFilter","momentFormat","momentFromNow","yesNoFilter","defaultValue","without_suffix","fromNow","HistoryController","HistoryDirective","loadHistory","history","historyResult","values_diff","description_diff","description_html","blocked_note_diff","blocked_note","blocked_note_html","comments","comment","deleteComment","activityId","undeleteComment","templateActivity","templateBase","templateBaseEntries","templateChangeAttachment","templateChangeDiff","templateChangeGeneric","templateChangeList","templateChangePoints","templateDeletedComment","countChanges","formatChange","getHumanizedFieldName","getUserAvatar","getUserFullName","renderActivity","renderAttachmentEntry","renderChange","renderChangeEntries","renderChangeEntry","renderChangesHelperText","renderComment","renderComments","renderCustomAttributesEntry","renderHistory","showAllActivity","showAllComments","humanizedFieldNames","is_closed","finish_date","client_requirement","team_requirement","milestone","user_story","is_iocaine","change","isArray","changes","diff","filename","from","to","flatten","customAttrsChanges","added","removed","difference","ref2","delete_comment_date","delete_comment_user","deleteCommentDate","deleteCommentUser","comment_html","canRestoreComment","pk","avatar","userFullName","creationDate","created_at","changesText","mode","canDeleteComment","entries","totalEntries","showMore","totalComments","last","totalChanges","parents","ngmodel","ImportProjectButtonDirective","trigger","file","errorMsg","AssignedToLightboxDirective","BlockLightboxDirective","BlockingMessageInputDirective","CreateBulkUserstoriesDirective","CreateEditUserstoryDirective","LightboxDirective","LightboxKeyboardNavigationService","LightboxService","WatchersLightboxDirective","docEl","lightboxContent","not","removeAttr","lightboxEl","dispatch","activeElement","next","prev","$tgrepo","block","unblock","finishCallback","watch","isNew","statusList","usStatusList","is_archived","tags","broadcastEvent","keydown","statusId","bulk","bulkCreate","lightboxKeyboardNavigationService","closeLightbox","filterUsers","normalizeString","selectedItem","selectedUser","usersTemplate","string","normalizedString","toUpperCase","partial","searchingText","usersSearch","getFilteredUsers","_filterUsers","Loader","LoaderDirective","onStart","onEnd","startCurrentPageLoader","reset","defaultConfig","forceDisabled","minTime","merge","startLoadTime","force","endTime","TgLoadingService","oldContent","RelatedTaskStatusDirective","UsStatusDirective","usStatusDom","usStatusDomParent","tgUsStatus","onUpdate","statuses","selectionTemplate","updateTaskStatus","taskStatusDom","taskStatusDomParent","tgRelatedTaskStatus","closePopover","isVisible","docViewBottom","docViewLeft","docViewRight","docViewTop","docViewWidth","elemBottom","elemLeft","elemRight","elemTop","elemWidth","display","visibility","scrollTop","height","offset","top","left","fadeOut","fadeIn","ExceptionHandlerFactory","ravenConfig","Raven","install","exception","captureException","ColorizeTagsDirective","LbTagLineDirective","TagLineDirective","TagsDirective","formatter","parser","$formatters","$parsers","backlog","kanban","taskboard","srcTags","tgColorizeTagsType","sort","tag","tags_colors","tgColorizeTags","COMMA_KEY","ENTER_KEY","templateTags","addValue","deleteValue","hideSaveButton","removeInputLastCharacter","renderTags","resetInput","saveInputTag","showSaveButton","tagsColors","style","autocomplete","inputValue","positioningFunction","position","elements","menu","source","my","using","ESC_KEY","hideAddTagButton","hideAddTagButtonText","hideInput","renderInReadModeOnly","showAddTagButton","showAddTagButtonText","showInput","blur","tgMarkitupDirective","$tr","previewTemplate","addLine","closePreviewMode","markdownSettings","markdownTitle","prepareUrlFormatting","preview","previewDomNode","setCaretPosition","urlFormatting","class","markItUpDomNode","markdownDomNode","mdrender","markdown","textarea","caretPosition","range","scrollRelation","totalLines","createTextRange","move","selectionStart","setSelectionRange","scrollHeight","nline","cursorPosition","nameSpace","onShiftEnter","keepDefault","openWith","onEnter","afterInsert","cursorLine","emptyListItem","lastLine","markdownCaretPositon","match","newLineContent","markupSet","placeHolder","closeWith","markItUp","separator","beforeInsert","indices","regex","exec","donotparse","endIndex","startIndex","heading","n","BacklogFiltersDirective","templateSelected","initializeSelectedFilters","renderFilters","renderSelectedFilters","selectQFilter","selectedFilters","showCategories","showFilters","toggleFilterSelection","f","currentFiltersType","loadUserstories","CreateEditSprint","createSprint","hasErrors","estimated_start","estimated_finish","newSprint","copy","setAttr","sprintsCounter","__all__","milestonesCounter","estimatedFinish","estimatedStart","lastSprint","lastSprintNameDom","sprints","BacklogController","BacklogDirective","TgBacklogProgressBarDirective","UsPointsDirective","UsRolePointsSelectorDirective","tgBacklogGraphDirective","params1","events","analytics","showTags","activeFilters","initializeEventHandlers","getShowTags","loadProjectStats","loadSprints","moveUs","loadClosedSprints","unloadClosedSprints","initializeSubscription","routingKey1","routingKey2","toggleShowTags","storeShowTags","toggleActiveFilters","stats","completedPercentage","refreshTagsColors","closedSprints","closed","user_stories","openSprints","reverse","sprintsById","resetFilters","selectedStatuses","selectedTags","filtersQ","filterGrp","httpParams","getUrlFilters","storeQueryParams","listUnassigned","setSearchDataFilters","filterVisibleUserstories","generateFilters","loadBacklog","totalClosedMilestones","total_closed_milestones","visibleUserstories","isFilterSelected","searchdata","Object","prepareBulkUpdateData","uses","us_id","resortUserStories","isModified","usList","newUsIndex","newSprintId","len1","len2","oldSprintId","Array","bulkUpdateBacklogOrder","bulkUpdateSprintOrder","len3","oldSprint","urlfilters","results1","pick","plainStatuses","plainTags","countBy","k","obj","count","editUserStory","deleteUserStory","without","addNewUs","default_us_status","addNewSprint","doomLineTemplate","linkDoomLine","linkFilters","linkToolbar","showHideFilter","showHideTags","addDoomLineDom","getUsItems","reloadDoomLine","removeDoomlineDom","current_sum","domElement","assigned_points","before","rowElements","moveToCurrentSprint","selectedUss","extraPoints","totalExtraPoints","ussCurrent","moveToCurrentSprintDom","selectedUsDom","ussDom","ussToMove","itemScope","elm","sidebar","filtersSearch","disableSelection","numberOfRoles","roleName","rolScope","$tgTemplate","rolesTemplate","bindClickElements","filteringRoleId","renderRolesSelector","selectedRoleId","updatingSelectedRoleId","tgBacklogUsPoints","popRolesDom","redrawChart","dataToDraw","client_increment_line","colors","evolution_line","milestonesRange","optimal_line","options","team_increment_line","zero_line","zip","fillColor","ml","optimal","evolution","grid","borderWidth","right","bottom","borderColor","hoverable","xaxis","ticks","axisLabel","axisLabelUseCanvas","axisLabelFontSizePixels","axisLabelFontFamily","axisLabelPadding","tickFormatter","series","shadowSize","fill","radius","lineWidth","tooltip","tooltipOpts","content","xval","yval","flotItem","seriesIndex","abs","empty","plot","adjustPercentaje","projectPointsPercentaje","closedPointsPercentaje","adjusted","tgBacklogProgressBar","definedPoints","defined_points","BacklogEmptySortableDirective","BacklogSortableDirective","SprintSortableDirective","deleteElement","$tgConfirm","getUsIndex","filterError","cancel","connectWith","cursorAt","itemIndex","itemUs","BacklogSprintDirective","BacklogSprintHeaderDirective","ToggleExcludeClosedSprintsVisualization","refreshSprintTableHeight","slideOptions","sprintTableMinHeight","toggleSprint","duration","easing","sprintTable","sprintArrow","tgBacklogSprint","slideToggle","estimatedDateRange","taskboardUrl","excludeClosedSprints","loadingElm","after","SprintGraphDirective","days","day","unshift","d","optimal_points","open_points","tickSize","daysNames","yaxis","formattedDate","roundedValue","CreateBulkTasksDirective","CreateEditTaskDirective","sprintId","TaskboardController","TaskboardDirective","TaskboardSquishColumnDirective","TaskboardTaskDirective","TaskboardUserDirective","rs1","loadTaskboard","taskMove","loadSprintStats","loadSprint","pointsList","roleById","taskStatusList","completedPointsSum","remainingPointsSum","remainingTasks","totalPointsSum","res","completed_points","total_tasks","completed_tasks","openTasks","usTasks","sslug","refreshTasksOrder","resortTasks","bulkUpdateTaskTaskboardOrder","task_id","taskboard_order","addNewTask","editTaskAssignedTo","tableBodyDom","tableHeaderDom","scrollLeft","avatarWidth","maxColumnWidth","getCeilWidth","recalculateStatusColumnWidth","recalculateTaskboardWidth","refreshTaskboardTableWidth","setStatusColumnWidth","statusesFolded","getStatusColumnModes","usFolded","getUsRowModes","foldStatus","storeStatusColumnModes","foldUs","storeUsRowModes","tasksMatrixSize","sqrt","column","columnWidths","columns","totalWidth","outerWidth","total","statusFoldedWidth","forEach","clickable","username_label","assign","TaskboardSortableDirective","itemEl","newParentScope","oldParentScope","itemTask","newStatusId","newUsId","oldStatusId","oldUsId","parentEl","st","KanbanArchivedStatusHeaderDirective","KanbanArchivedStatusIntroDirective","KanbanController","KanbanDirective","KanbanSquishColumnDirective","KanbanUserDirective","KanbanUserstoryDirective","KanbanWipLimitDirective","defaultViewMode","defaultViewModes","maximized","cardClass","minimized","statusViewModes","onAssignedToChanged","loadUserStoriesForStatus","hideUserStoriesForStatus","changeUsAssignedTo","userid","status__is_archived","listAll","usByStatus","us_archived","loadKanban","generateStatusViewModes","storedStatusViewModes","getStatusViewModes","has","storeStatusViewModes","updateStatusViewMode","newViewMode","getCardClass","kanban_order","itemsToSave","bulkUpdateKanbanOrder","hideArchivedText","showArchivedText","hidden","tgKanbanArchivedStatusHeader","hiddenUserStoriexText","userStories","updateIntroText","tgKanbanArchivedStatusIntro","isArchived","userStoriesLoaded","updateTableWidth","folds","redrawWipLimit","tgKanbanWipLimit","wtid","tgKanbanUserAvatar","KanbanSortableDirective","IssueDetailController","IssuePriorityButtonDirective","IssueSeverityButtonDirective","IssueStatusButtonDirective","IssueStatusDisplayDirective","IssueTypeButtonDirective","PromoteIssueToUsButtonDirective","issueRef","issueref","initializeOnDeleteGoToUrl","loadIssue","statusById","typeById","issue_types","typeList","severityList","priorityList","getByRef","issueId","commentModel","neighbors","previous","previousUrl","typees","severityes","priorityes","generated_from_issue","CreateBulkIssuesDirective","CreateIssueDirective","default_issue_status","default_issue_type","default_priority","default_severity","IssueAssignedToInlineEditionDirective","IssueStatusInlineEditionDirective","IssuesController","IssuesDirective","IssuesFiltersDirective","loadIssues","getFilters","storeFilters","issueStatusList","issueTypes","getUrlFilter","loadMyFilters","getMyFilters","removeNotExistingFiltersFromUrl","currentSearch","existingValues","filterName","filterValue","splittedValues","intersection","markSelectedFilters","isSelected","omit","myFilters","filtersData","choicesFiltersFormat","tagsFilterFormat","usersFiltersFormat","unknownOption","reformatedUsers","unknownItem","u","byIdObject","createdBy","created_by","types","loadIssuesRequests","urlFilters","models","current","paginatedBy","saveCurrentFiltersTo","newFilter","storeMyFilters","deleteMyFilter","addNewIssue","addIssuesInBulk","linkOrdering","linkPagination","$pagEl","afterCurrent","atBegin","atEnd","beforeCurrent","getNumPages","renderPagination","numPages","cpage","pages","showPrevious","showNext","pagenum","colHeadElement","currentOrder","icon","finalOrder","newOrder","filterId","customFilterName","loadPromise","currentfilterstype","updateIssueStatus","issueStatusDom","issueStatusDomParent","tgIssueStatusInlineEdition","updateIssue","tgIssueAssignedToInlineEdition","updatedIssue","UsClientRequirementButtonDirective","UsStatusButtonDirective","UsStatusDisplayDirective","UsTasksProgressDisplayDirective","UsTeamRequirementButtonDirective","UserStoryDetailController","usRef","usref","loadUs","progress","totalClosedTasks","totalTasks","canEdit","isRequired","TaskDetailController","TaskIsIocaineButtonDirective","TaskStatusButtonDirective","TaskStatusDisplayDirective","taskRef","taskref","loadTask","taskId","loadUserStory","isIocaine","LeaveProjectDirective","TeamController","TeamFiltersDirective","TeamMemberCurrentUserDirective","TeamMemberStatsDirective","TeamMembersDirective","setRole","filtersRole","loadMembers","currentUser","membership","totals","is_user_active","issuesEnabled","tasksEnabled","wikiEnabled","loadMemberStats","memberStats","vals","sum","processStats","processStat","stat","singleStat","leave","projectid","EditableWikiContentDirective","WikiDetailController","WikiSummaryDirective","projectSlug","wikiSlug","loadWiki","wikiId","loadWikiLinks","listLinks","wikiLinks","last_modifier","imgUrl","totalEditions","editions","lastModifiedDate","modified_date","wikiPage","cancelEdition","disableEdition","getSelectedText","switchToEditMode","switchToReadMode","button","WikiNavDirective","addWikiLinkPermission","deleteWikiLinkPermission","linkId","linkSlug","href","newLink","CreateMembersDirective","MAX_MEMBERSHIP_FIELDSETS","extraTextTemplate","createFieldSet","resetForm","required","roleList","fieldSet","prepend","lastActionButton","newFieldSet","invitation_extra_text","memberWrappers","destroy","mw","email","memberWrapper","role_id","bulkCreateMemberships","MembershipsController","MembershipsDirective","MembershipsRowActionsDirective","MembershipsRowAdminCheckboxDirective","MembershipsRowAvatarDirective","MembershipsRowRoleSelectorDirective","i_am_owner","httpFilters","addNewMembers","user_email","tgMembershipsRowAvatar","inputId","tgMembershipsRowAdminCheckbox","is_owner","selectedRole","tgMembershipsRowRoleSelector","newRole","activedTemplate","pendingTemplate","tgMembershipsRowActions","resendInvitation","AdminNavigationDirective","tgAdminNavigation","CsvExporterController","CsvExporterIssuesController","CsvExporterTasksController","CsvExporterUserstoriesController","ProjectDefaultValuesDirective","ProjectExportDirective","ProjectModulesDirective","ProjectProfileController","ProjectProfileDirective","prioritiesList","severitiesList","issueTypesList","openDeleteLightbox","newUrl","isVideoconferenceActivated","buttonsEl","hideButtons","hideResult","hideSpinner","resultEl","resultMessageEl","resultTitleEl","setAsyncMessage","setAsyncTitle","setLoadingMessage","setLoadingTitle","setSyncMessage","setSyncTitle","showButtons","showErrorMode","showExportResultAsyncMode","showExportResultSyncMode","showLoadingMode","showResult","showSpinner","spinnerEl","dumpUrl","_generateUuid","setCsvUuid","csvUrl","resolveAbsolute","csvUuid","uuid","regenerateUuid","identity","ColorSelectionDirective","ProjectCustomAttributesController","ProjectCustomAttributesDirective","ProjectValuesController","ProjectValuesDirective","ProjectValuesSectionController","moveValue","loadValues","resource","listValues","maxValueOrder","itemValue","linkDragAndDrop","linkValue","axis","goToBottomList","initializeNewValue","saveNewValue","saveValue","valueType","newValue","table","formEl","row","editionRow","option","onSucces","moveTo","moveCustomAttributes","deleteCustomAttribute","saveCustomAttribute","createCustomAttribute","loadCustomAttributes","maxOrder","attrValues","attrModel","idx","cancelCreate","cancelUpdate","hideAddButton","hideCancelButton","hideCreateForm","hideEditForm","resetNewAttr","revertChangesInCustomAttribute","showAddButton","showCancelButton","showCreateForm","showEditForm","sortableEl","itemAttr","newAttr","EditRoleDirective","NewRoleDirective","RolePermissionsDirective","RolesController","RolesDirective","anyComputableRole","computable","loadExternalUserRole","public_permission","external_user","public_permissions","loadRoles","setComputable","toggleView","toggle","DEFAULT_PERMISSIONS","categoryTemplate","resumeTemplate","generateCategoriesFromRole","renderCategory","renderPermissions","renderResume","categories","isPermissionEditable","issuePermissions","milestonePermissions","setActivePermissions","setActivePermissionsPerCategory","taskPermissions","userStoryPermissions","wikiPermissions","active","is_private","cat","activePermissions","getActivePermissions","categoryId","anon_permissions","BitbucketController","BitbucketWebhooksDirective","GithubController","GithubWebhooksDirective","GitlabController","GitlabWebhooksDirective","NewWebhookDirective","SelectInputText","ValidOriginIpsDirective","WebhookDirective","WebhooksController","loadWebhooks","openHistory","showEditMode","showVisualizationMode","updateLogs","updateShowHideHistoryText","webhook","tgWebhook","validStatus","prettySentHeaders","pairs","request_headers","arg","header","prettySentData","request_data","prettyDate","created","logs_counter","logs","historyElement","textElement","test","resend","addWebhookDOMNode","formDOMNode","loadModules","github","gitlab","bitbucket","saveAttribute","$ngModel","CreateProject","DeleteProjectDirective","$projectUrl","$cacheFactory","removeAll","error_field","error_step","selectors","total_story_points","total_milestones","creation_template","head","step","fields","projectToDelete","ProjectController","ProjectsController","ProjectsListDirective","ProjectsPaginationDirective","recents","loadPageData","checkButtonVisibility","containerSize","hasNextPage","hasPagination","hasPrevPage","nextBtn","nextPage","pageSize","prevBtn","prevPage","visible","lastLi","maxTop","newTop","outerHeight","animate","BindHtmlDirective","BindOnceAltDirective","BindOnceBindDirective","BindOnceHrefDirective","BindOnceHtmlDirective","BindOnceRefDirective","BindOnceSrcDirective","BindOnceTitleDirective","BindTitleDirective","tgBoBind","tgBoHtml","tgBoRef","tgBoSrc","tgBoHref","tgBoAlt","tgBoTitle","tgTitleHtml","tgBindHtml","ConfigurationService","ContribController","rootScope","currentPlugin","pluginTemplate","FiltersStorageService","HttpService","Authorization","request","I18nDirective","I18nService","ns","fallbackLng","lng","localesEn","resStore","en","app","setLanguage","language","i18n","setLng","currentLang","opts","tr","trOpts","locationFactory","lastRoute","un","Model","ModelService","dataTypes","_attrs","_name","_dataTypes","setAttrs","_modifiedAttrs","_isModified","applyCasts","attrName","castMethod","castName","casts","getIdAttrName","getName","attrs","getter","self","setter","substr","enumerable","configurable","defineProperty","isAttributeModified","markSaved","desSerialize","sdata","ddata","cls","int","float","NavigationUrlsDirective","NavigationUrlsService","formatUrl","replacer","bindOnceP","parseNav","tgNav","fullUrl","RepositoryService","model1","resolveUrlForModel","idAttrName","resolveUrlForAttributeModel","extraParams","_data","refresh","queryMany","httpOptions","enablePagination","queryOneAttribute","queryOneRaw","queryPaginated","cache","wikipage","StorageService","_default","serializedValue","localStorage","getItem","setItem","removeItem","UrlsService","fmt","String","mainUrl","Error","rtrim","resourceProvider","object_id","uploadComplete","uploadFailed","uploadProgress","evt","progressMessage","loaded","progressPercent","responseText","_error","FormData","XMLHttpRequest","upload","setRequestHeader","_get","userstory","_list","$http","filtersHashSuffix","hashSuffix","myFiltersHashSuffix","getQueryParams","project_id","bulk_issues","innerPromise","hashSuffixStatusColumnModes","hashSuffixStatusViewModes","listByUser","bulk_memberships","notifyPolicies","memberId","regenerate_userstories_csv_uuid","regenerate_issues_csv_uuid","regenerate_tasks_csv_uuid","statusUpdater","complete","failed","get_all","hashSuffixUserstories","storeUserstoriesQueryParams","hashSuffixUsRowModes","userStoryId","sprint_id","bulk_tasks","changeAvatar","transformRequest","removeAvatar","changePassword","currentPassword","newPassword","current_password","userSettings","status_id","bulk_stories","webhookId","webhooklogId","UserChangePasswordController","UserChangePasswordDirective","newPassword1","newPassword2","DeleteUserDirective","TaigaAvatarModelDirective","UserAvatarDirective","UserProfileDirective","UserSettingsController","avatarAttachment","$parse","modelSetter","tgAvatarModel","UserSettingsNavigationDirective","tgUserSettingsNavigation","UserNotificationsController","UserNotificationsDirective","UserNotificationsListDirective","loadNotifyPolicies","policy","policyIndex","prev_level","notify_level","TermsNoticeDirective","privacyPolicyUrl","termsOfServiceUrl","termsUrl","privacyUrl","defaultMessage","type-email","type-url","type-urlstrict","type-number","type-digits","type-dateIso","type-alphanum","type-phone","notnull","notblank","regexp","minlength","maxlength","rangelength","mincheck","maxcheck","rangecheck","equalto","common","blocked","new-bulk","one-item-line","pagination","markdown-editor","heading-1","heading-2","heading-3","bold","italic","strike","bulleted-list","numeric-list","picture","quotes","code-block","help","link-placeholder","title-new","team-requirement","client-requirement"],"mappings":"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","file":"app.js","sourcesContent":["\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: app.coffee\n */\n\n(function() {\n var configure, init, module, modules, taiga;\n\n this.taiga = taiga = {};\n\n this.taigaContribPlugins = this.taigaContribPlugins || [];\n\n taiga.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n taiga.generateUniqueSessionIdentifier = function() {\n var date, randomNumber;\n date = (new Date()).getTime();\n randomNumber = Math.floor(Math.random() * 0x9000000);\n return taiga.generateHash([date, randomNumber]);\n };\n\n taiga.sessionId = taiga.generateUniqueSessionIdentifier();\n\n configure = function($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider, tgLoaderProvider, $compileProvider) {\n var authHttpIntercept, defaultHeaders, versionCheckHttpIntercept;\n $routeProvider.when(\"/\", {\n templateUrl: \"project/projects.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/\", {\n templateUrl: \"project/project.html\"\n });\n $routeProvider.when(\"/project/:pslug/search\", {\n templateUrl: \"search/search.html\",\n reloadOnSearch: false\n });\n $routeProvider.when(\"/project/:pslug/backlog\", {\n templateUrl: \"backlog/backlog.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/kanban\", {\n templateUrl: \"kanban/kanban.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/taskboard/:sslug\", {\n templateUrl: \"taskboard/taskboard.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/us/:usref\", {\n templateUrl: \"us/us-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/task/:taskref\", {\n templateUrl: \"task/task-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki\", {\n redirectTo: function(params) {\n return \"/project/\" + params.pslug + \"/wiki/home\";\n }\n });\n $routeProvider.when(\"/project/:pslug/wiki/:slug\", {\n templateUrl: \"wiki/wiki.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/team\", {\n templateUrl: \"team/team.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/issues\", {\n templateUrl: \"issue/issues.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/issue/:issueref\", {\n templateUrl: \"issue/issues-detail.html\",\n resolve: {\n loader: tgLoaderProvider.add()\n }\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/details\", {\n templateUrl: \"admin/admin-project-profile.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/default-values\", {\n templateUrl: \"admin/admin-project-default-values.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/modules\", {\n templateUrl: \"admin/admin-project-modules.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/export\", {\n templateUrl: \"admin/admin-project-export.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-profile/reports\", {\n templateUrl: \"admin/admin-project-reports.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/status\", {\n templateUrl: \"admin/admin-project-values-status.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/points\", {\n templateUrl: \"admin/admin-project-values-points.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/priorities\", {\n templateUrl: \"admin/admin-project-values-priorities.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/severities\", {\n templateUrl: \"admin/admin-project-values-severities.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/types\", {\n templateUrl: \"admin/admin-project-values-types.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/project-values/custom-fields\", {\n templateUrl: \"admin/admin-project-values-custom-fields.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/memberships\", {\n templateUrl: \"admin/admin-memberships.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/roles\", {\n templateUrl: \"admin/admin-roles.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/webhooks\", {\n templateUrl: \"admin/admin-third-parties-webhooks.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/github\", {\n templateUrl: \"admin/admin-third-parties-github.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/gitlab\", {\n templateUrl: \"admin/admin-third-parties-gitlab.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/third-parties/bitbucket\", {\n templateUrl: \"admin/admin-third-parties-bitbucket.html\"\n });\n $routeProvider.when(\"/project/:pslug/admin/contrib/:plugin\", {\n templateUrl: \"contrib/main.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-profile\", {\n templateUrl: \"user/user-profile.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-change-password\", {\n templateUrl: \"user/user-change-password.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/user-avatar\", {\n templateUrl: \"user/user-avatar.html\"\n });\n $routeProvider.when(\"/project/:pslug/user-settings/mail-notifications\", {\n templateUrl: \"user/mail-notifications.html\"\n });\n $routeProvider.when(\"/change-email/:email_token\", {\n templateUrl: \"user/change-email.html\"\n });\n $routeProvider.when(\"/cancel-account/:cancel_token\", {\n templateUrl: \"user/cancel-account.html\"\n });\n $routeProvider.when(\"/login\", {\n templateUrl: \"auth/login.html\"\n });\n $routeProvider.when(\"/register\", {\n templateUrl: \"auth/register.html\"\n });\n $routeProvider.when(\"/forgot-password\", {\n templateUrl: \"auth/forgot-password.html\"\n });\n $routeProvider.when(\"/change-password\", {\n templateUrl: \"auth/change-password-from-recovery.html\"\n });\n $routeProvider.when(\"/change-password/:token\", {\n templateUrl: \"auth/change-password-from-recovery.html\"\n });\n $routeProvider.when(\"/invitation/:token\", {\n templateUrl: \"auth/invitation.html\"\n });\n $routeProvider.when(\"/error\", {\n templateUrl: \"error/error.html\"\n });\n $routeProvider.when(\"/not-found\", {\n templateUrl: \"error/not-found.html\"\n });\n $routeProvider.when(\"/permission-denied\", {\n templateUrl: \"error/permission-denied.html\"\n });\n $routeProvider.otherwise({\n redirectTo: '/not-found'\n });\n $locationProvider.html5Mode({\n enabled: true,\n requireBase: false\n });\n defaultHeaders = {\n \"Content-Type\": \"application/json\",\n \"Accept-Language\": \"en\",\n \"X-Session-Id\": taiga.sessionId\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 $tgEventsProvider.setSessionId(taiga.sessionId);\n authHttpIntercept = function($q, $location, $navUrls, $lightboxService) {\n var httpResponseError;\n httpResponseError = function(response) {\n var nextPath;\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\", authHttpIntercept]);\n $httpProvider.interceptors.push('authHttpIntercept');\n versionCheckHttpIntercept = function($q, $confirm) {\n var httpResponseError, versionErrorMsg;\n versionErrorMsg = \"Someone inside Taiga has changed this before and our Oompa Loompas cannot apply your changes. Please reload and apply your changes again (they will be lost).\";\n httpResponseError = function(response) {\n if (response.status === 400 && response.data.version) {\n $confirm.notify(\"error\", versionErrorMsg, null, 10000);\n return $q.reject(response);\n }\n return $q.reject(response);\n };\n return {\n responseError: httpResponseError\n };\n };\n $provide.factory(\"versionCheckHttpIntercept\", [\"$q\", \"$tgConfirm\", versionCheckHttpIntercept]);\n $httpProvider.interceptors.push('versionCheckHttpIntercept');\n window.checksley.updateValidators({\n linewidth: function(val, width) {\n var lines, valid;\n lines = taiga.nl2br(val).split(\"
\");\n valid = _.every(lines, function(line) {\n return line.length < width;\n });\n return valid;\n }\n });\n window.checksley.updateMessages(\"default\", {\n linewidth: \"The subject must have a maximum size of %s\"\n });\n return $compileProvider.debugInfoEnabled(window.taigaConfig.debugInfo || false);\n };\n\n init = function($log, $i18n, $config, $rootscope, $auth, $events, $analytics) {\n $i18n.initialize($config.get(\"defaultLanguage\"));\n $log.debug(\"Initialize application\");\n $rootscope.contribPlugins = this.taigaContribPlugins;\n $rootscope.adminPlugins = _.where(this.taigaContribPlugins, {\n \"type\": \"admin\"\n });\n if ($auth.isAuthenticated()) {\n $events.setupConnection();\n }\n return $analytics.initialize();\n };\n\n modules = [\"taigaBase\", \"taigaCommon\", \"taigaResources\", \"taigaLocales\", \"taigaAuth\", \"taigaEvents\", \"taigaRelatedTasks\", \"taigaBacklog\", \"taigaTaskboard\", \"taigaKanban\", \"taigaIssues\", \"taigaUserStories\", \"taigaTasks\", \"taigaTeam\", \"taigaWiki\", \"taigaSearch\", \"taigaAdmin\", \"taigaNavMenu\", \"taigaProject\", \"taigaUserSettings\", \"taigaFeedback\", \"taigaPlugins\", \"taigaIntegrations\", \"templates\", \"ngRoute\", \"ngAnimate\"].concat(_.map(this.taigaContribPlugins, function(plugin) {\n return plugin.module;\n }));\n\n module = angular.module(\"taiga\", modules);\n\n module.config([\"$routeProvider\", \"$locationProvider\", \"$httpProvider\", \"$provide\", \"$tgEventsProvider\", \"tgLoaderProvider\", \"$compileProvider\", configure]);\n\n module.run([\"$log\", \"$tgI18n\", \"$tgConfig\", \"$rootScope\", \"$tgAuth\", \"$tgEvents\", \"$tgAnalytics\", init]);\n\n}).call(this);\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\n(function() {\n var TaigaBase, TaigaController, TaigaService,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n TaigaBase = (function() {\n function TaigaBase() {}\n\n return TaigaBase;\n\n })();\n\n TaigaService = (function(superClass) {\n extend(TaigaService, superClass);\n\n function TaigaService() {\n return TaigaService.__super__.constructor.apply(this, arguments);\n }\n\n return TaigaService;\n\n })(TaigaBase);\n\n TaigaController = (function(superClass) {\n extend(TaigaController, superClass);\n\n function TaigaController() {\n this.onInitialDataError = bind(this.onInitialDataError, this);\n return TaigaController.__super__.constructor.apply(this, arguments);\n }\n\n TaigaController.prototype.onInitialDataError = function(xhr) {\n if (xhr) {\n if (xhr.status === 404) {\n this.location.path(this.navUrls.resolve(\"not-found\"));\n this.location.replace();\n } else if (xhr.status === 403) {\n this.location.path(this.navUrls.resolve(\"permission-denied\"));\n this.location.replace();\n }\n }\n return this.q.reject(xhr);\n };\n\n return TaigaController;\n\n })(TaigaBase);\n\n this.taiga.Base = TaigaBase;\n\n this.taiga.Service = TaigaService;\n\n this.taiga.Controller = TaigaController;\n\n}).call(this);\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: utils.coffee\n */\n\n(function() {\n var bindMethods, bindOnce, cancelTimeout, debounce, debounceLeading, groupBy, joinStr, mixOf, nl2br, scopeDefer, sizeFormat, slugify, startswith, taiga, timeout, toString, toggleText, trim, unslugify,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n slice = [].slice,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n nl2br = (function(_this) {\n return function(str) {\n var breakTag;\n breakTag = '
';\n return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2');\n };\n })(this);\n\n bindMethods = (function(_this) {\n return function(object) {\n var dependencies, methods;\n dependencies = _.keys(object);\n methods = [];\n _.forIn(object, function(value, key) {\n if (indexOf.call(dependencies, key) < 0) {\n return methods.push(key);\n }\n });\n return _.bindAll(object, methods);\n };\n })(this);\n\n bindOnce = (function(_this) {\n return function(scope, attr, continuation) {\n var delBind, val;\n val = scope.$eval(attr);\n if (val !== void 0) {\n return continuation(val);\n }\n delBind = null;\n return delBind = scope.$watch(attr, function(val) {\n if (val === void 0) {\n return;\n }\n continuation(val);\n if (delBind) {\n return delBind();\n }\n });\n };\n })(this);\n\n mixOf = function() {\n var Mixed, base, i, method, mixin, mixins, name, ref;\n base = arguments[0], mixins = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n Mixed = (function(superClass) {\n extend(Mixed, superClass);\n\n function Mixed() {\n return Mixed.__super__.constructor.apply(this, arguments);\n }\n\n return Mixed;\n\n })(base);\n for (i = mixins.length - 1; i >= 0; i += -1) {\n mixin = mixins[i];\n ref = mixin.prototype;\n for (name in ref) {\n method = ref[name];\n Mixed.prototype[name] = method;\n }\n }\n return Mixed;\n };\n\n trim = function(data, char) {\n return _.str.trim(data, char);\n };\n\n slugify = function(data) {\n return _.str.slugify(data);\n };\n\n unslugify = function(data) {\n if (data) {\n return _.str.capitalize(data.replace(/-/g, ' '));\n }\n return data;\n };\n\n toggleText = function(element, texts) {\n var nextTextPosition, text;\n nextTextPosition = element.data('nextTextPosition');\n if ((nextTextPosition == null) || nextTextPosition >= texts.length) {\n nextTextPosition = 0;\n }\n text = texts[nextTextPosition];\n element.data('nextTextPosition', nextTextPosition + 1);\n return element.text(text);\n };\n\n groupBy = function(coll, pred) {\n var i, item, len, result;\n result = {};\n for (i = 0, len = coll.length; i < len; i++) {\n item = coll[i];\n result[pred(item)] = item;\n }\n return result;\n };\n\n timeout = function(wait, continuation) {\n return window.setTimeout(continuation, wait);\n };\n\n cancelTimeout = function(timeoutVar) {\n return window.clearTimeout(timeoutVar);\n };\n\n scopeDefer = function(scope, func) {\n return _.defer((function(_this) {\n return function() {\n return scope.$apply(func);\n };\n })(this));\n };\n\n toString = function(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 }\n return value.toString();\n };\n\n joinStr = function(str, coll) {\n return _.str.join(str, coll);\n };\n\n debounce = function(wait, func) {\n return _.debounce(func, wait, {\n leading: true,\n trailing: false\n });\n };\n\n debounceLeading = function(wait, func) {\n return _.debounce(func, wait, {\n leading: false,\n trailing: true\n });\n };\n\n startswith = function(str1, str2) {\n return _.str.startsWith(str1, str2);\n };\n\n sizeFormat = function(input, precision) {\n var number, size, units;\n if (precision == null) {\n precision = 1;\n }\n if (isNaN(parseFloat(input)) || !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 }\n size = (input / Math.pow(1024, number)).toFixed(precision);\n return size + \" \" + units[number];\n };\n\n taiga = this.taiga;\n\n taiga.nl2br = nl2br;\n\n taiga.bindMethods = bindMethods;\n\n taiga.bindOnce = bindOnce;\n\n taiga.mixOf = mixOf;\n\n taiga.trim = trim;\n\n taiga.slugify = slugify;\n\n taiga.unslugify = unslugify;\n\n taiga.toggleText = toggleText;\n\n taiga.groupBy = groupBy;\n\n taiga.timeout = timeout;\n\n taiga.cancelTimeout = cancelTimeout;\n\n taiga.scopeDefer = scopeDefer;\n\n taiga.toString = toString;\n\n taiga.joinStr = joinStr;\n\n taiga.debounce = debounce;\n\n taiga.debounceLeading = debounceLeading;\n\n taiga.startswith = startswith;\n\n taiga.sizeFormat = sizeFormat;\n\n}).call(this);\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/controllerMixins.coffee\n */\n\n(function() {\n var FiltersMixin, PageMixin, groupBy, joinStr, taiga, toString, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n joinStr = this.taiga.joinStr;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n PageMixin = (function() {\n function PageMixin() {}\n\n PageMixin.prototype.fillUsersAndRoles = function(users, roles) {\n var activeUsers, availableRoles;\n activeUsers = _.filter(users, (function(_this) {\n return function(user) {\n return user.is_active;\n };\n })(this));\n this.scope.activeUsers = _.sortBy(activeUsers, \"full_name_display\");\n this.scope.activeUsersById = groupBy(this.scope.activeUsers, function(e) {\n return e.id;\n });\n this.scope.users = _.sortBy(users, \"full_name_display\");\n this.scope.usersById = groupBy(this.scope.users, function(e) {\n return e.id;\n });\n this.scope.roles = _.sortBy(roles, \"order\");\n availableRoles = _(this.scope.project.memberships).map(\"role\").uniq().value();\n return this.scope.computableRoles = _(roles).filter(\"computable\").filter(function(x) {\n return _.contains(availableRoles, x.id);\n }).value();\n };\n\n PageMixin.prototype.loadUsersAndRoles = function() {\n var promise;\n promise = this.q.all([this.rs.projects.usersList(this.scope.projectId), this.rs.projects.rolesList(this.scope.projectId)]);\n return promise.then((function(_this) {\n return function(results) {\n var roles, users;\n users = results[0], roles = results[1];\n _this.fillUsersAndRoles(users, roles);\n return results;\n };\n })(this));\n };\n\n return PageMixin;\n\n })();\n\n taiga.PageMixin = PageMixin;\n\n FiltersMixin = (function() {\n function FiltersMixin() {}\n\n FiltersMixin.prototype.selectFilter = function(name, value, load) {\n var existing, location, params;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] !== void 0 && name !== \"page\") {\n existing = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n existing.push(taiga.toString(value));\n existing = _.compact(existing);\n value = joinStr(\",\", _.uniq(existing));\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceFilter = function(name, value, load) {\n var location;\n if (load == null) {\n load = false;\n }\n if (!this.location.isInCurrentRouteParams(name, value)) {\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n }\n };\n\n FiltersMixin.prototype.replaceAllFilters = function(filters, load) {\n var location;\n if (load == null) {\n load = false;\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(filters);\n };\n\n FiltersMixin.prototype.unselectFilter = function(name, value, load) {\n var location, newValues, params, parsedValues;\n if (load == null) {\n load = false;\n }\n params = this.location.search();\n if (params[name] === void 0) {\n return;\n }\n if (value === void 0 || value === null) {\n delete params[name];\n }\n parsedValues = _.map(taiga.toString(params[name]).split(\",\"), function(x) {\n return trim(x);\n });\n newValues = _.reject(parsedValues, function(x) {\n return x === taiga.toString(value);\n });\n newValues = _.compact(newValues);\n if (_.isEmpty(newValues)) {\n value = null;\n } else {\n value = joinStr(\",\", _.uniq(newValues));\n }\n location = load ? this.location : this.location.noreload(this.scope);\n return location.search(name, value);\n };\n\n return FiltersMixin;\n\n })();\n\n taiga.FiltersMixin = FiltersMixin;\n\n}).call(this);\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/admin.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaAdmin\", []);\n\n}).call(this);\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/auth.coffee\n */\n\n(function() {\n var AuthService, CancelAccountDirective, ChangeEmailDirective, ChangePasswordFromRecoveryDirective, ForgotPasswordDirective, InvitationDirective, LoginDirective, PublicRegisterMessageDirective, RegisterDirective, debounce, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAuth\", [\"taigaResources\"]);\n\n AuthService = (function(superClass) {\n extend(AuthService, superClass);\n\n AuthService.$inject = [\"$rootScope\", \"$tgStorage\", \"$tgModel\", \"$tgResources\", \"$tgHttp\", \"$tgUrls\"];\n\n function AuthService(rootscope, storage, model, rs, http, urls) {\n this.rootscope = rootscope;\n this.storage = storage;\n this.model = model;\n this.rs = rs;\n this.http = http;\n this.urls = urls;\n AuthService.__super__.constructor.call(this);\n }\n\n AuthService.prototype.getUser = function() {\n var user, userData;\n if (this.rootscope.user) {\n return this.rootscope.user;\n }\n userData = this.storage.get(\"userInfo\");\n if (userData) {\n user = this.model.make_model(\"users\", userData);\n this.rootscope.user = user;\n return user;\n }\n return null;\n };\n\n AuthService.prototype.setUser = function(user) {\n this.rootscope.auth = user;\n this.rootscope.$broadcast(\"i18n:change\", user.default_language);\n this.storage.set(\"userInfo\", user.getAttrs());\n return this.rootscope.user = user;\n };\n\n AuthService.prototype.clear = function() {\n this.rootscope.auth = null;\n this.rootscope.user = null;\n return this.storage.remove(\"userInfo\");\n };\n\n AuthService.prototype.setToken = function(token) {\n return this.storage.set(\"token\", token);\n };\n\n AuthService.prototype.getToken = function() {\n return this.storage.get(\"token\");\n };\n\n AuthService.prototype.removeToken = function() {\n return this.storage.remove(\"token\");\n };\n\n AuthService.prototype.isAuthenticated = function() {\n if (this.getUser() !== null) {\n return true;\n }\n return false;\n };\n\n AuthService.prototype.login = function(data, type) {\n var url;\n url = this.urls.resolve(\"auth\");\n data = _.clone(data, false);\n data.type = type ? type : \"normal\";\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(data, status) {\n var user;\n user = _this.model.make_model(\"users\", data.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.logout = function() {\n this.removeToken();\n return this.clear();\n };\n\n AuthService.prototype.register = function(data, type, existing) {\n var url;\n url = this.urls.resolve(\"auth-register\");\n data = _.clone(data, false);\n data.type = type ? type : \"public\";\n if (type === \"private\") {\n data.existing = existing ? existing : false;\n }\n this.removeToken();\n return this.http.post(url, data).then((function(_this) {\n return function(response) {\n var user;\n user = _this.model.make_model(\"users\", response.data);\n _this.setToken(user.auth_token);\n _this.setUser(user);\n return user;\n };\n })(this));\n };\n\n AuthService.prototype.getInvitation = function(token) {\n return this.rs.invitations.get(token);\n };\n\n AuthService.prototype.acceptInvitiationWithNewUser = function(data) {\n return this.register(data, \"private\", false);\n };\n\n AuthService.prototype.acceptInvitiationWithExistingUser = function(data) {\n return this.register(data, \"private\", true);\n };\n\n AuthService.prototype.forgotPassword = function(data) {\n var url;\n url = this.urls.resolve(\"users-password-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changePasswordFromRecovery = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-password-from-recovery\");\n data = _.clone(data, false);\n this.removeToken();\n return this.http.post(url, data);\n };\n\n AuthService.prototype.changeEmail = function(data) {\n var url;\n url = this.urls.resolve(\"users-change-email\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n AuthService.prototype.cancelAccount = function(data) {\n var url;\n url = this.urls.resolve(\"users-cancel-account\");\n data = _.clone(data, false);\n return this.http.post(url, data);\n };\n\n return AuthService;\n\n })(taiga.Service);\n\n module.service(\"$tgAuth\", AuthService);\n\n PublicRegisterMessageDirective = function($config, $navUrls, templates) {\n var template, templateFn;\n template = templates.get(\"auth/login-text.html\", true);\n templateFn = function() {\n var publicRegisterEnabled;\n publicRegisterEnabled = $config.get(\"publicRegisterEnabled\");\n if (!publicRegisterEnabled) {\n return \"\";\n }\n return template({\n url: $navUrls.resolve(\"register\")\n });\n };\n return {\n restrict: \"AE\",\n scope: {},\n template: templateFn\n };\n };\n\n module.directive(\"tgPublicRegisterMessage\", [\"$tgConfig\", \"$tgNavUrls\", \"$tgTemplate\", PublicRegisterMessageDirective]);\n\n LoginDirective = function($auth, $confirm, $location, $config, $routeParams, $navUrls, $events) {\n var link;\n link = function($scope, $el, $attrs) {\n var onError, onSuccess, submit;\n onSuccess = function(response) {\n var nextUrl;\n if ($routeParams['next'] && $routeParams['next'] !== $navUrls.resolve(\"login\")) {\n nextUrl = $routeParams['next'];\n } else {\n nextUrl = $navUrls.resolve(\"home\");\n }\n $events.setupConnection();\n return $location.path(nextUrl);\n };\n onError = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your username/email or password are incorrect.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var data, form, loginFormType, promise;\n event.preventDefault();\n form = new checksley.Form($el.find(\"form.login-form\"));\n if (!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 loginFormType = $config.get(\"loginFormType\", \"normal\");\n promise = $auth.login(data, loginFormType);\n return promise.then(onSuccess, onError);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLogin\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgConfig\", \"$routeParams\", \"$tgNavUrls\", \"$tgEvents\", LoginDirective]);\n\n RegisterDirective = function($auth, $confirm, $location, $navUrls, $config, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n if (!$config.get(\"publicRegisterEnabled\")) {\n $location.path($navUrls.resolve(\"not-found\"));\n $location.replace();\n }\n $scope.data = {};\n form = $el.find(\"form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmit = function(response) {\n $analytics.trackEvent(\"auth\", \"register\", \"user registration\", 1);\n $confirm.notify(\"success\", \"Our Oompa Loompas are happy, welcome to Taiga.\");\n return $location.path($navUrls.resolve(\"home\"));\n };\n onErrorSubmit = function(response) {\n if (response.data._error_message != null) {\n $confirm.notify(\"light-error\", \"According to our Oompa Loompas there was an error. \" + response.data._error_message);\n }\n return form.setErrors(response.data);\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.register($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRegister\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", \"$tgConfig\", \"$tgAnalytics\", RegisterDirective]);\n\n ForgotPasswordDirective = function($auth, $confirm, $location, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Check your inbox!
We have sent you an email with the instructions to set a new password\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your are not registered yet.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.forgotPassword($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgForgotPassword\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$tgNavUrls\", ForgotPasswordDirective]);\n\n ChangePasswordFromRecoveryDirective = function($auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n if ($params.token != null) {\n $scope.tokenInParams = true;\n $scope.data.token = $params.token;\n } else {\n $scope.tokenInParams = false;\n }\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Our Oompa Loompas saved your new password.
Try to sign in with it.\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"light-error\", \"One of our Oompa Loompas say '\" + response.data._error_message + \"'.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.changePasswordFromRecovery($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangePasswordFromRecovery\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", ChangePasswordFromRecoveryDirective]);\n\n InvitationDirective = function($auth, $confirm, $location, $params, $navUrls, $analytics) {\n var link;\n link = function($scope, $el, $attrs) {\n var loginForm, onErrorSubmitLogin, onErrorSubmitRegister, onSuccessSubmitLogin, onSuccessSubmitRegister, promise, registerForm, submitLogin, submitRegister, token;\n token = $params.token;\n promise = $auth.getInvitation(token);\n promise.then(function(invitation) {\n return $scope.invitation = invitation;\n });\n promise.then(null, function(response) {\n $location.path($navUrls.resolve(\"login\"));\n return $confirm.success(\"Ooops, we have a problem
Our Oompa Loompas can't find your invitation.\");\n });\n $scope.dataLogin = {\n token: token\n };\n loginForm = $el.find(\"form.login-form\").checksley({\n onlyOneErrorElement: true\n });\n onSuccessSubmitLogin = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with existing user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitLogin = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, your are not registered yet or typed an invalid password.\");\n };\n submitLogin = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!loginForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithExistingUser($scope.dataLogin);\n return promise.then(onSuccessSubmitLogin, onErrorSubmitLogin);\n };\n })(this));\n $el.on(\"submit\", \"form.login-form\", submitLogin);\n $el.on(\"click\", \".button-login\", submitLogin);\n $scope.dataRegister = {\n token: token\n };\n registerForm = $el.find(\"form.register-form\").checksley();\n onSuccessSubmitRegister = function(response) {\n $analytics.trackEvent(\"auth\", \"invitationAccept\", \"invitation accept with new user\", 1);\n $location.path($navUrls.resolve(\"project\", {\n project: $scope.invitation.project_slug\n }));\n return $confirm.notify(\"success\", \"You've successfully joined this project\", \"Welcome to \" + (_.escape($scope.invitation.project_name)));\n };\n onErrorSubmitRegister = function(response) {\n return $confirm.notify(\"light-error\", \"According to our Oompa Loompas, that username or email is already in use.\");\n };\n submitRegister = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n if (!registerForm.validate()) {\n return;\n }\n promise = $auth.acceptInvitiationWithNewUser($scope.dataRegister);\n return promise.then(onSuccessSubmitRegister, onErrorSubmitRegister);\n };\n })(this));\n $el.on(\"submit\", \"form.register-form\", submitRegister);\n return $el.on(\"click\", \".button-register\", submitRegister);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgInvitation\", [\"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", \"$tgAnalytics\", InvitationDirective]);\n\n ChangeEmailDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.email_token = $params.email_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n return $repo.queryOne(\"users\", $auth.getUser().id).then((function(_this) {\n return function(data) {\n $auth.setUser(data);\n $location.path($navUrls.resolve(\"home\"));\n return $confirm.success(\"Our Oompa Loompas updated your email\");\n };\n })(this));\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"error\", \"One of our Oompa Loompas says '\" + response.data._error_message + \"'.\");\n };\n submit = function() {\n var promise;\n if (!form.validate()) {\n return;\n }\n promise = $auth.changeEmail($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n $el.on(\"submit\", function(event) {\n event.preventDefault();\n return submit();\n });\n return $el.on(\"click\", \"a.button-change-email\", function(event) {\n event.preventDefault();\n return submit();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgChangeEmail\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", ChangeEmailDirective]);\n\n CancelAccountDirective = function($repo, $model, $auth, $confirm, $location, $params, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, onErrorSubmit, onSuccessSubmit, submit;\n $scope.data = {};\n $scope.data.cancel_token = $params.cancel_token;\n form = $el.find(\"form\").checksley();\n onSuccessSubmit = function(response) {\n $auth.logout();\n $location.path($navUrls.resolve(\"home\"));\n return $confirm.success(\"Our Oompa Loompas removed your account\");\n };\n onErrorSubmit = function(response) {\n return $confirm.notify(\"error\", \"One of our Oompa Loompas says '\" + response.data._error_message + \"'.\");\n };\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n promise = $auth.cancelAccount($scope.data);\n return promise.then(onSuccessSubmit, onErrorSubmit);\n };\n })(this));\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCancelAccount\", [\"$tgRepo\", \"$tgModel\", \"$tgAuth\", \"$tgConfirm\", \"$tgLocation\", \"$routeParams\", \"$tgNavUrls\", CancelAccountDirective]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaBacklog\", []);\n\n}).call(this);\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/base.coffee\n */\n\n(function() {\n var TaigaMainDirective, bindOnce, groupBy, init, module, taiga, urls;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\", [\"taigaLocales\"]);\n\n TaigaMainDirective = function($rootscope, $window) {\n var link;\n link = function($scope, $el, $attrs) {\n return $window.onresize = function() {\n return $rootscope.$broadcast(\"resize\");\n };\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMain\", [\"$rootScope\", \"$window\", TaigaMainDirective]);\n\n urls = {\n \"home\": \"/\",\n \"error\": \"/error\",\n \"not-found\": \"/not-found\",\n \"permission-denied\": \"/permission-denied\",\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 \"profile\": \"/:user\",\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 \"project-userstories-detail\": \"/project/:project/us/:ref\",\n \"project-tasks-detail\": \"/project/:project/task/:ref\",\n \"project-issues-detail\": \"/project/:project/issue/:ref\",\n \"project-wiki\": \"/project/:project/wiki\",\n \"project-wiki-page\": \"/project/:project/wiki/:slug\",\n \"project-team\": \"/project/:project/team\",\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 \"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 \"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 \"user-settings-user-profile\": \"/project/:project/user-settings/user-profile\",\n \"user-settings-user-change-password\": \"/project/:project/user-settings/user-change-password\",\n \"user-settings-user-avatar\": \"/project/:project/user-settings/user-avatar\",\n \"user-settings-mail-notifications\": \"/project/:project/user-settings/mail-notifications\"\n };\n\n init = function($log, $navurls) {\n $log.debug(\"Initialize navigation urls\");\n return $navurls.update(urls);\n };\n\n module.run([\"$log\", \"$tgNavUrls\", init]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var AnimationFrame, AppTitle, CheckPermissionDirective, ClassPermissionDirective, LimitLineLengthDirective, ProjectUrl, Qqueue, SelectedText, Template, ToggleCommentDirective, module, taiga,\n slice = [].slice;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\", []);\n\n SelectedText = function($window, $document) {\n var get;\n get = function() {\n if ($window.getSelection) {\n return $window.getSelection().toString();\n } else if ($document.selection) {\n return $document.selection.createRange().text;\n }\n return \"\";\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$selectedText\", [\"$window\", \"$document\", SelectedText]);\n\n CheckPermissionDirective = function() {\n var link, render;\n render = function($el, project, permission) {\n if (project.my_permissions.indexOf(permission) > -1) {\n return $el.removeClass('hidden');\n }\n };\n link = function($scope, $el, $attrs) {\n var permission;\n $el.addClass('hidden');\n permission = $attrs.tgCheckPermission;\n $scope.$watch(\"project\", function(project) {\n if (project != null) {\n return render($el, project, permission);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgCheckPermission\", CheckPermissionDirective);\n\n ClassPermissionDirective = function() {\n var link, name;\n name = \"tgClassPermission\";\n link = function($scope, $el, $attrs) {\n var checkPermissions, tgClassPermissionWatchAction, unbindWatcher;\n checkPermissions = function(project, className, permission) {\n var negation;\n negation = permission[0] === \"!\";\n if (negation) {\n permission = permission.slice(1);\n }\n if (negation && project.my_permissions.indexOf(permission) === -1) {\n return $el.addClass(className);\n } else if (!negation && project.my_permissions.indexOf(permission) !== -1) {\n return $el.addClass(className);\n } else {\n return $el.removeClass(className);\n }\n };\n tgClassPermissionWatchAction = function(project) {\n var className, classes, permission, results;\n if (project) {\n unbindWatcher();\n classes = $scope.$eval($attrs[name]);\n results = [];\n for (className in classes) {\n permission = classes[className];\n results.push(checkPermissions(project, className, permission));\n }\n return results;\n }\n };\n return unbindWatcher = $scope.$watch(\"project\", tgClassPermissionWatchAction);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgClassPermission\", ClassPermissionDirective);\n\n AnimationFrame = function() {\n var add, animationFrame, performAnimation, tail;\n animationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n performAnimation = (function(_this) {\n return function(time) {\n var fn;\n fn = tail.shift();\n fn();\n if (tail.length) {\n return animationFrame(performAnimation);\n }\n };\n })(this);\n tail = [];\n add = function() {\n var fn, i, len, results;\n results = [];\n for (i = 0, len = arguments.length; i < len; i++) {\n fn = arguments[i];\n tail.push(fn);\n if (tail.length === 1) {\n results.push(animationFrame(performAnimation));\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n return {\n add: add\n };\n };\n\n module.factory(\"animationFrame\", AnimationFrame);\n\n ToggleCommentDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.find(\"textarea\").on(\"focus\", function() {\n return $el.addClass(\"active\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgToggleComment\", ToggleCommentDirective);\n\n AppTitle = function() {\n var set;\n set = function(text) {\n return $(\"title\").text(text);\n };\n return {\n set: set\n };\n };\n\n module.factory(\"$appTitle\", AppTitle);\n\n ProjectUrl = function($navurls) {\n var get;\n get = function(project) {\n var ctx;\n ctx = {\n project: project.slug\n };\n if (project.is_backlog_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-backlog\", ctx);\n }\n if (project.is_kanban_activated && project.my_permissions.indexOf(\"view_us\") > -1) {\n return $navurls.resolve(\"project-kanban\", ctx);\n }\n if (project.is_wiki_activated && project.my_permissions.indexOf(\"view_wiki_pages\") > -1) {\n return $navurls.resolve(\"project-wiki\", ctx);\n }\n if (project.is_issues_activated && project.my_permissions.indexOf(\"view_issues\") > -1) {\n return $navurls.resolve(\"project-issues\", ctx);\n }\n return $navurls.resolve(\"project\", ctx);\n };\n return {\n get: get\n };\n };\n\n module.factory(\"$projectUrl\", [\"$tgNavUrls\", ProjectUrl]);\n\n LimitLineLengthDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var maxColsPerLine;\n maxColsPerLine = parseInt($el.attr(\"cols\"));\n return $el.on(\"keyup\", function(event) {\n var code, lines;\n code = event.keyCode;\n lines = $el.val().split(\"\\n\");\n _.each(lines, function(line, index) {\n return lines[index] = line.substring(0, maxColsPerLine - 2);\n });\n return $el.val(lines.join(\"\\n\"));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLimitLineLength\", LimitLineLengthDirective);\n\n Qqueue = function($q) {\n var deferred, lastPromise, qqueue;\n deferred = $q.defer();\n deferred.resolve();\n lastPromise = deferred.promise;\n qqueue = {\n bindAdd: (function(_this) {\n return function(fn) {\n return function() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return lastPromise = lastPromise.then(function() {\n return fn.apply(_this, args);\n });\n };\n return qqueue;\n };\n })(this),\n add: (function(_this) {\n return function(fn) {\n if (!lastPromise) {\n lastPromise = fn();\n } else {\n lastPromise = lastPromise.then(fn);\n }\n return qqueue;\n };\n })(this)\n };\n return qqueue;\n };\n\n module.factory(\"$tgQqueue\", [\"$q\", Qqueue]);\n\n Template = function($templateCache) {\n return {\n get: (function(_this) {\n return function(name, lodash) {\n var tmp;\n if (lodash == null) {\n lodash = false;\n }\n tmp = $templateCache.get(name);\n if (lodash) {\n tmp = _.template(tmp);\n }\n return tmp;\n };\n })(this)\n };\n };\n\n module.factory(\"$tgTemplate\", [\"$templateCache\", Template]);\n\n}).call(this);\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/events.coffee\n */\n\n(function() {\n var EventsProvider, EventsService, bindMethods, module, startswith, taiga;\n\n taiga = this.taiga;\n\n startswith = this.taiga.startswith;\n\n bindMethods = this.taiga.bindMethods;\n\n module = angular.module(\"taigaEvents\", []);\n\n EventsService = (function() {\n function EventsService(win, log, config, auth) {\n this.win = win;\n this.log = log;\n this.config = config;\n this.auth = auth;\n bindMethods(this);\n }\n\n EventsService.prototype.initialize = function(sessionId) {\n this.sessionId = sessionId;\n this.subscriptions = {};\n this.connected = false;\n this.error = false;\n this.pendingMessages = [];\n if (this.win.WebSocket === void 0) {\n return this.log.info(\"WebSockets not supported on your browser\");\n }\n };\n\n EventsService.prototype.setupConnection = function() {\n var loc, path, scheme, url;\n this.stopExistingConnection();\n url = this.config.get(\"eventsUrl\");\n if (!url) {\n return;\n }\n if (!startswith(url, \"ws:\") && !startswith(url, \"wss:\")) {\n loc = this.win.location;\n scheme = loc.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n path = _.str.ltrim(url, \"/\");\n url = scheme + \"//\" + loc.host + \"/\" + path;\n }\n this.ws = new this.win.WebSocket(url);\n this.ws.addEventListener(\"open\", this.onOpen);\n this.ws.addEventListener(\"message\", this.onMessage);\n this.ws.addEventListener(\"error\", this.onError);\n return this.ws.addEventListener(\"close\", this.onClose);\n };\n\n EventsService.prototype.stopExistingConnection = function() {\n if (this.ws === void 0) {\n return;\n }\n this.ws.removeEventListener(\"open\", this.onOpen);\n this.ws.removeEventListener(\"close\", this.onClose);\n this.ws.removeEventListener(\"error\", this.onError);\n this.ws.removeEventListener(\"message\", this.onMessage);\n this.ws.close();\n return delete this.ws;\n };\n\n EventsService.prototype.serialize = function(message) {\n if (_.isObject(message)) {\n return JSON.stringify(message);\n }\n return message;\n };\n\n EventsService.prototype.sendMessage = function(message) {\n var i, len, messages, msg, results;\n this.pendingMessages.push(message);\n if (!this.connected) {\n return;\n }\n messages = _.map(this.pendingMessages, this.serialize);\n this.pendingMessages = [];\n results = [];\n for (i = 0, len = messages.length; i < len; i++) {\n msg = messages[i];\n results.push(this.ws.send(msg));\n }\n return results;\n };\n\n EventsService.prototype.subscribe = function(scope, routingKey, callback) {\n var message, subscription;\n if (this.error) {\n return;\n }\n this.log.debug(\"Subscribe to: \" + routingKey);\n subscription = {\n scope: scope,\n routingKey: routingKey,\n callback: _.debounce(callback, 500, {\n \"leading\": true,\n \"trailing\": false\n })\n };\n message = {\n \"cmd\": \"subscribe\",\n \"routing_key\": routingKey\n };\n this.subscriptions[routingKey] = subscription;\n this.sendMessage(message);\n return scope.$on(\"$destroy\", (function(_this) {\n return function() {\n return _this.unsubscribe(routingKey);\n };\n })(this));\n };\n\n EventsService.prototype.unsubscribe = function(routingKey) {\n var message;\n if (this.error) {\n return;\n }\n this.log.debug(\"Unsubscribe from: \" + routingKey);\n message = {\n \"cmd\": \"unsubscribe\",\n \"routing_key\": routingKey\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onOpen = function() {\n var message, token;\n this.connected = true;\n this.log.debug(\"WebSocket connection opened\");\n token = this.auth.getToken();\n message = {\n cmd: \"auth\",\n data: {\n token: token,\n sessionId: this.sessionId\n }\n };\n return this.sendMessage(message);\n };\n\n EventsService.prototype.onMessage = function(event) {\n var data, routingKey, subscription;\n this.log.debug(\"WebSocket message received: \" + event.data);\n data = JSON.parse(event.data);\n routingKey = data.routing_key;\n if (this.subscriptions[routingKey] == null) {\n return;\n }\n subscription = this.subscriptions[routingKey];\n return subscription.scope.$apply(function() {\n return subscription.callback(data.data);\n });\n };\n\n EventsService.prototype.onError = function(error) {\n this.log.error(\"WebSocket error: \" + error);\n return this.error = true;\n };\n\n EventsService.prototype.onClose = function() {\n this.log.debug(\"WebSocket closed.\");\n return this.connected = false;\n };\n\n return EventsService;\n\n })();\n\n EventsProvider = (function() {\n function EventsProvider() {}\n\n EventsProvider.prototype.setSessionId = function(sessionId) {\n return this.sessionId = sessionId;\n };\n\n EventsProvider.prototype.$get = function($win, $log, $conf, $auth) {\n var service;\n service = new EventsService($win, $log, $conf, $auth);\n service.initialize(this.sessionId);\n return service;\n };\n\n EventsProvider.prototype.$get.$inject = [\"$window\", \"$log\", \"$tgConfig\", \"$tgAuth\"];\n\n return EventsProvider;\n\n })();\n\n module.provider(\"$tgEvents\", EventsProvider);\n\n}).call(this);\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/feedback.coffee\n */\n\n(function() {\n var FeedbackDirective, bindOnce, debounce, groupBy, mixOf, module, taiga, trim;\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n trim = this.taiga.trim;\n\n module = angular.module(\"taigaFeedback\", []);\n\n FeedbackDirective = function($lightboxService, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley();\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.create(\"feedback\", $scope.feedback);\n promise.then(function(data) {\n $loading.finish(submitButton);\n $lightboxService.close($el);\n return $confirm.notify(\"success\", \"\\\\o/ we'll be happy to read your\");\n });\n return promise.then(null, function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n $scope.$on(\"feedback:show\", function() {\n $scope.$apply(function() {\n return $scope.feedback = {};\n });\n $lightboxService.open($el);\n return $el.find(\"textarea\").focus();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLbFeedback\", [\"lightboxService\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", FeedbackDirective]);\n\n}).call(this);\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/integrations.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaIntegrations\", []);\n\n}).call(this);\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/issues.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage, $q) {\n var filtersHashSuffix, hashSuffix, myFiltersHashSuffix, service;\n service = {};\n hashSuffix = \"issues-queryparams\";\n filtersHashSuffix = \"issues-filters\";\n myFiltersHashSuffix = \"issues-my-filters\";\n service.get = function(projectId, issueId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"issues\", issueId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"issues\", \"by_ref\", params);\n };\n service.list = function(projectId, filters, options) {\n var params;\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryPaginated(\"issues\", params, options);\n };\n service.bulkCreate = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-issues\");\n params = {\n project_id: projectId,\n bulk_issues: data\n };\n return $http.post(url, params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issues_stats\");\n };\n service.filtersData = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/issue_filters_data\");\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeFilters = function(projectSlug, params) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = generateHash([projectSlug, ns]);\n return $storage.set(hash, params);\n };\n service.getFilters = function(projectSlug) {\n var hash, ns;\n ns = projectSlug + \":\" + filtersHashSuffix;\n hash = generateHash([projectSlug, ns]);\n return $storage.get(hash) || {};\n };\n service.storeMyFilters = function(projectId, myFilters) {\n var deferred, hash, ns, promise, url;\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, {\n key: hash,\n value: myFilters\n });\n promise.then(function() {\n return deferred.resolve();\n });\n promise.then(null, function() {\n return deferred.reject();\n });\n } else {\n promise = $http.put(url + \"/\" + hash, {\n key: hash,\n value: myFilters\n });\n promise.then(function(data) {\n return deferred.resolve();\n });\n promise.then(null, function(data) {\n var innerPromise;\n innerPromise = $http.post(\"\" + url, {\n key: hash,\n value: myFilters\n });\n innerPromise.then(function() {\n return deferred.resolve();\n });\n return innerPromise.then(null, function() {\n return deferred.reject();\n });\n });\n }\n return deferred.promise;\n };\n service.getMyFilters = function(projectId) {\n var deferred, hash, ns, promise, url;\n deferred = $q.defer();\n url = $urls.resolve(\"user-storage\");\n ns = projectId + \":\" + myFiltersHashSuffix;\n hash = generateHash([projectId, ns]);\n promise = $http.get(url + \"/\" + hash);\n promise.then(function(data) {\n return deferred.resolve(data.data.value);\n });\n promise.then(null, function(data) {\n return deferred.resolve({});\n });\n return deferred.promise;\n };\n return function(instance) {\n return instance.issues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgIssuesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", \"$q\", resourceProvider]);\n\n}).call(this);\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/kanban.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($storage) {\n var hashSuffixStatusColumnModes, hashSuffixStatusViewModes, service;\n service = {};\n hashSuffixStatusViewModes = \"kanban-statusviewmodels\";\n hashSuffixStatusColumnModes = \"kanban-statuscolumnmodels\";\n service.storeStatusViewModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusViewModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusViewModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusViewModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.kanban = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgKanbanResourcesProvider\", [\"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/locales.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaLocales\", []);\n\n}).call(this);\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/user-settings/nav.coffee\n */\n\n(function() {\n var UserSettingsNavigationDirective, module;\n\n UserSettingsNavigationDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var section;\n section = $attrs.tgUserSettingsNavigation;\n $el.find(\".active\").removeClass(\"active\");\n $el.find(\"#usersettingsmenu-\" + section + \" a\").addClass(\"active\");\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaUserSettings\");\n\n module.directive(\"tgUserSettingsNavigation\", UserSettingsNavigationDirective);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $auth, $q, $rootScope) {\n var service;\n service = {};\n service.get = function(projectId) {\n return $repo.queryOne(\"projects\", projectId);\n };\n service.getBySlug = function(projectSlug) {\n return $repo.queryOne(\"projects\", \"by_slug?slug=\" + projectSlug);\n };\n service.list = function() {\n return $repo.queryMany(\"projects\");\n };\n service.listByMember = function(memberId) {\n var params;\n params = {\n \"member\": memberId\n };\n return $repo.queryMany(\"projects\", params);\n };\n service.templates = function() {\n return $repo.queryMany(\"project-templates\");\n };\n service.usersList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"users\", params);\n };\n service.rolesList = function(projectId) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(\"roles\", params);\n };\n service.stats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/stats\");\n };\n service.regenerate_userstories_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_userstories_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_issues_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_issues_csv_uuid\";\n return $http.post(url);\n };\n service.regenerate_tasks_csv_uuid = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/regenerate_tasks_csv_uuid\";\n return $http.post(url);\n };\n service.leave = function(projectId) {\n var url;\n url = ($urls.resolve(\"projects\")) + \"/\" + projectId + \"/leave\";\n return $http.post(url);\n };\n service.memberStats = function(projectId) {\n return $repo.queryOneRaw(\"projects\", projectId + \"/member_stats\");\n };\n service.tagsColors = function(projectId) {\n return $repo.queryOne(\"projects\", projectId + \"/tags_colors\");\n };\n service[\"export\"] = function(projectId) {\n var url;\n url = ($urls.resolve(\"exporter\")) + \"/\" + projectId;\n return $http.get(url);\n };\n service[\"import\"] = function(file, statusUpdater) {\n var complete, data, defered, failed, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n var message, percent;\n percent = Math.round((evt.loaded / evt.total) * 100);\n message = \"Uloaded \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return statusUpdater(\"in-progress\", null, message, percent);\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return statusUpdater(\"done\", \"Importing Project\", \"This process can take a while, please keep the window open.\");\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return statusUpdater(\"error\");\n };\n })(this);\n complete = (function(_this) {\n return function(evt) {\n var ref;\n response = {};\n try {\n response.data = JSON.parse(evt.target.responseText);\n } catch (_error) {\n response.data = {};\n }\n response.status = evt.target.status;\n if ((ref = response.status) === 201 || ref === 202) {\n defered.resolve(response);\n }\n return defered.reject(response);\n };\n })(this);\n failed = (function(_this) {\n return function(evt) {\n return defered.reject(\"fail\");\n };\n })(this);\n data = new FormData();\n data.append('dump', file);\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 xhr.open(\"POST\", $urls.resolve(\"importer\"));\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" + ($auth.getToken()));\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send(data);\n return defered.promise;\n };\n return function(instance) {\n return instance.projects = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgProjectsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgAuth\", \"$q\", resourceProvider]);\n\n}).call(this);\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/related-tasks.coffee\n */\n\n(function() {\n var RelatedTaskAssignedToInlineEditionDirective, RelatedTaskCreateButtonDirective, RelatedTaskCreateFormDirective, RelatedTaskRowDirective, RelatedTasksDirective, debounce, module, taiga, trim;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaRelatedTasks\", []);\n\n RelatedTaskRowDirective = function($repo, $compile, $confirm, $rootscope, $loading, $template) {\n var link, templateEdit, templateView;\n templateView = $template.get(\"task/related-task-row.html\", true);\n templateEdit = $template.get(\"task/related-task-row-edit.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var renderEdit, renderView, saveTask;\n saveTask = debounce(2000, function(task) {\n var promise;\n task.subject = $el.find('input').val();\n $loading.start($el.find('.task-name'));\n promise = $repo.save(task);\n promise.then((function(_this) {\n return function() {\n $loading.finish($el.find('.task-name'));\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"related-tasks:update\");\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n $loading.finish($el.find('.task-name'));\n $el.find('input').val(task.subject);\n return $confirm.notify(\"error\");\n };\n })(this));\n return promise;\n });\n renderEdit = function(task) {\n $el.html($compile(templateEdit({\n task: task\n }))($scope));\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n } else if (event.keyCode === 27) {\n return renderView($model.$modelValue);\n }\n });\n $el.on(\"click\", \".icon-floppy\", function(event) {\n return saveTask($model.$modelValue).then(function() {\n return renderView($model.$modelValue);\n });\n });\n return $el.on(\"click\", \".cancel-edit\", function(event) {\n return renderView($model.$modelValue);\n });\n };\n renderView = function(task) {\n var perms;\n $el.off();\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 $el.html($compile(templateView({\n task: task,\n perms: perms\n }))($scope));\n $el.on(\"click\", \".icon-edit\", function() {\n renderEdit($model.$modelValue);\n return $el.find('input').focus().select();\n });\n return $el.on(\"click\", \".delete-task\", function(event) {\n var message, title;\n task = $model.$modelValue;\n title = \"Delete Task\";\n message = task.subject;\n return $confirm.askOnDelete(title, message).then(function(finish) {\n var promise;\n promise = $repo.remove(task);\n promise.then(function() {\n finish();\n $confirm.notify(\"success\");\n return $scope.$emit(\"related-tasks:delete\");\n });\n return promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n });\n });\n };\n $scope.$watch($attrs.ngModel, function(val) {\n if (!val) {\n return;\n }\n return renderView(val);\n });\n $scope.$on(\"related-tasks:assigned-to-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n $scope.$on(\"related-tasks:status-changed\", function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgRelatedTaskRow\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$rootScope\", \"$tgLoading\", \"$tgTemplate\", RelatedTaskRowDirective]);\n\n RelatedTaskCreateFormDirective = function($repo, $compile, $confirm, $tgmodel, $loading, $analytics, $template) {\n var link, newTask, template;\n template = $template.get(\"task/related-task-create-form.html\", true);\n newTask = {\n subject: \"\",\n assigned_to: null\n };\n link = function($scope, $el, $attrs) {\n var createTask, render;\n createTask = debounce(2000, function(task) {\n var promise;\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 $loading.start($el.find('.task-name'));\n promise = $repo.create(\"tasks\", task);\n promise.then(function() {\n $analytics.trackEvent(\"task\", \"create\", \"create task on userstory\", 1);\n $loading.finish($el.find('.task-name'));\n $scope.$emit(\"related-tasks:add\");\n return $confirm.notify(\"success\");\n });\n promise.then(null, function() {\n $el.find('input').val(task.subject);\n $loading.finish($el.find('.task-name'));\n return $confirm.notify(\"error\");\n });\n return promise;\n });\n render = function() {\n $el.off();\n $el.html($compile(template())($scope));\n $el.find('input').focus().select();\n $el.addClass('active');\n $el.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return createTask(newTask).then(function() {\n return render();\n });\n } else if (event.keyCode === 27) {\n return $el.html(\"\");\n }\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n return $el.html(\"\");\n });\n return $el.on(\"click\", \".icon-floppy\", function(event) {\n return createTask(newTask).then(function() {\n return $el.html(\"\");\n });\n });\n };\n taiga.bindOnce($scope, \"us\", function(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 return $el.html(\"\");\n });\n $scope.$on(\"related-tasks:show-form\", function() {\n return render();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateForm\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", \"$tgLoading\", \"$tgAnalytics\", \"$tgTemplate\", RelatedTaskCreateFormDirective]);\n\n RelatedTaskCreateButtonDirective = function($repo, $compile, $confirm, $tgmodel) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs) {\n $scope.$watch(\"project\", function(val) {\n if (!val) {\n return;\n }\n $el.off();\n if ($scope.project.my_permissions.indexOf(\"add_task\") !== -1) {\n $el.html(template());\n } else {\n $el.html(\"\");\n }\n return $el.on(\"click\", \".icon\", function(event) {\n return $scope.$emit(\"related-tasks:add-new-clicked\");\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskCreateButton\", [\"$tgRepo\", \"$compile\", \"$tgConfirm\", \"$tgModel\", RelatedTaskCreateButtonDirective]);\n\n RelatedTasksDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n var loadTasks;\n loadTasks = function() {\n return $rs.tasks.list($scope.projectId, null, $scope.usId).then((function(_this) {\n return function(tasks) {\n $scope.tasks = tasks;\n return tasks;\n };\n })(this));\n };\n $scope.$on(\"related-tasks:add\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:delete\", function() {\n return loadTasks().then(function() {\n return $rootscope.$broadcast(\"related-tasks:update\");\n });\n });\n $scope.$on(\"related-tasks:add-new-clicked\", function() {\n return $scope.$broadcast(\"related-tasks:show-form\");\n });\n taiga.bindOnce($scope, \"us\", function(val) {\n return loadTasks();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTasks\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", RelatedTasksDirective]);\n\n RelatedTaskAssignedToInlineEditionDirective = function($repo, $rootscope, popoverService) {\n var link, template;\n template = _.template(\"\\\" alt=\\\"<%- name %>\\\"/>\\n
<%- name %>
\");\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task, updateRelatedTask;\n updateRelatedTask = function(task) {\n var ctx, member;\n ctx = {\n name: \"Unassigned\",\n imgurl: \"/images/unnamed.png\"\n };\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 return $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 updateRelatedTask(task);\n $el.on(\"click\", \".task-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", task);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", debounce(2000, (function(_this) {\n return function(ctx, userId, updatedRelatedTask) {\n if (updatedRelatedTask.id === task.id) {\n updatedRelatedTask.assigned_to = userId;\n if (autoSave) {\n $repo.save(updatedRelatedTask).then(function() {\n return $scope.$emit(\"related-tasks:assigned-to-changed\");\n });\n }\n return updateRelatedTask(updatedRelatedTask);\n }\n };\n })(this)));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", RelatedTaskAssignedToInlineEditionDirective]);\n\n}).call(this);\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.coffee\n */\n\n(function() {\n var ResourcesService, initResources, initUrls, module, taiga, urls,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n ResourcesService = (function(superClass) {\n extend(ResourcesService, superClass);\n\n function ResourcesService() {\n return ResourcesService.__super__.constructor.apply(this, arguments);\n }\n\n return ResourcesService;\n\n })(taiga.Service);\n\n urls = {\n \"auth\": \"/auth\",\n \"auth-register\": \"/auth/register\",\n \"invitations\": \"/invitations\",\n \"permissions\": \"/permissions\",\n \"roles\": \"/roles\",\n \"projects\": \"/projects\",\n \"memberships\": \"/memberships\",\n \"notify-policies\": \"/notify-policies\",\n \"bulk-create-memberships\": \"/memberships/bulk_create\",\n \"milestones\": \"/milestones\",\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 \"userstories-restore\": \"/userstories/%s/restore\",\n \"tasks\": \"/tasks\",\n \"bulk-create-tasks\": \"/tasks/bulk_create\",\n \"bulk-update-task-taskboard-order\": \"/tasks/bulk_update_taskboard_order\",\n \"tasks-restore\": \"/tasks/%s/restore\",\n \"issues\": \"/issues\",\n \"bulk-create-issues\": \"/issues/bulk_create\",\n \"issues-restore\": \"/issues/%s/restore\",\n \"wiki\": \"/wiki\",\n \"wiki-restore\": \"/wiki/%s/restore\",\n \"wiki-links\": \"/wiki-links\",\n \"choices/userstory-statuses\": \"/userstory-statuses\",\n \"choices/userstory-statuses/bulk-update-order\": \"/userstory-statuses/bulk_update_order\",\n \"choices/points\": \"/points\",\n \"choices/points/bulk-update-order\": \"/points/bulk_update_order\",\n \"choices/task-statuses\": \"/task-statuses\",\n \"choices/task-statuses/bulk-update-order\": \"/task-statuses/bulk_update_order\",\n \"choices/issue-statuses\": \"/issue-statuses\",\n \"choices/issue-statuses/bulk-update-order\": \"/issue-statuses/bulk_update_order\",\n \"choices/issue-types\": \"/issue-types\",\n \"choices/issue-types/bulk-update-order\": \"/issue-types/bulk_update_order\",\n \"choices/priorities\": \"/priorities\",\n \"choices/priorities/bulk-update-order\": \"/priorities/bulk_update_order\",\n \"choices/severities\": \"/severities\",\n \"choices/severities/bulk-update-order\": \"/severities/bulk_update_order\",\n \"search\": \"/search\",\n \"sites\": \"/sites\",\n \"project-templates\": \"/project-templates\",\n \"site-members\": \"/site-members\",\n \"site-projects\": \"/site-projects\",\n \"users\": \"/users\",\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 \"user-storage\": \"/user-storage\",\n \"resolver\": \"/resolver\",\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 \"project-modules\": \"/projects/%s/modules\",\n \"webhooks\": \"/webhooks\",\n \"webhooks-test\": \"/webhooks/%s/test\",\n \"webhooklogs\": \"/webhooklogs\",\n \"webhooklogs-resend\": \"/webhooklogs/%s/resend\",\n \"history/us\": \"/history/userstory\",\n \"history/issue\": \"/history/issue\",\n \"history/task\": \"/history/task\",\n \"history/wiki\": \"/history/wiki\",\n \"attachments/us\": \"/userstories/attachments\",\n \"attachments/issue\": \"/issues/attachments\",\n \"attachments/task\": \"/tasks/attachments\",\n \"attachments/wiki_page\": \"/wiki/attachments\",\n \"custom-attributes/userstory\": \"/userstory-custom-attributes\",\n \"custom-attributes/issue\": \"/issue-custom-attributes\",\n \"custom-attributes/task\": \"/task-custom-attributes\",\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 \"feedback\": \"/feedback\",\n \"exporter\": \"/exporter\",\n \"importer\": \"/importer/load_dump\",\n \"userstories-csv\": \"/userstories/csv?uuid=%s\",\n \"tasks-csv\": \"/tasks/csv?uuid=%s\",\n \"issues-csv\": \"/issues/csv?uuid=%s\"\n };\n\n initUrls = function($log, $urls) {\n $log.debug(\"Initialize api urls\");\n return $urls.update(urls);\n };\n\n initResources = function($log, $rs) {\n var i, len, provider, providers, results;\n $log.debug(\"Initialize resources\");\n providers = _.toArray(arguments).slice(2);\n results = [];\n for (i = 0, len = providers.length; i < len; i++) {\n provider = providers[i];\n results.push(provider($rs));\n }\n return results;\n };\n\n module = angular.module(\"taigaResources\", [\"taigaBase\"]);\n\n module.service(\"$tgResources\", ResourcesService);\n\n module.run([\"$log\", \"$tgUrls\", initUrls]);\n\n module.run([\"$log\", \"$tgResources\", \"$tgProjectsResourcesProvider\", \"$tgCustomAttributesResourcesProvider\", \"$tgCustomAttributesValuesResourcesProvider\", \"$tgMembershipsResourcesProvider\", \"$tgNotifyPoliciesResourcesProvider\", \"$tgInvitationsResourcesProvider\", \"$tgRolesResourcesProvider\", \"$tgUserSettingsResourcesProvider\", \"$tgSprintsResourcesProvider\", \"$tgUserstoriesResourcesProvider\", \"$tgTasksResourcesProvider\", \"$tgIssuesResourcesProvider\", \"$tgWikiResourcesProvider\", \"$tgSearchResourcesProvider\", \"$tgAttachmentsResourcesProvider\", \"$tgMdRenderResourcesProvider\", \"$tgHistoryResourcesProvider\", \"$tgKanbanResourcesProvider\", \"$tgModulesResourcesProvider\", \"$tgWebhooksResourcesProvider\", \"$tgWebhookLogsResourcesProvider\", initResources]);\n\n}).call(this);\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/search.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service[\"do\"] = function(projectId, term) {\n var params, url;\n url = $urls.resolve(\"search\");\n params = {\n project: projectId,\n text: term,\n get_all: false\n };\n return $http.get(url, params).then(function(data) {\n return data.data;\n });\n };\n return function(instance) {\n return instance.search = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSearchResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\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\n(function() {\n var module;\n\n module = angular.module(\"taigaTaskboard\", []);\n\n}).call(this);\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/tasks.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, hashSuffixStatusColumnModes, hashSuffixUsRowModes, service;\n service = {};\n hashSuffix = \"tasks-queryparams\";\n hashSuffixStatusColumnModes = \"tasks-statuscolumnmodels\";\n hashSuffixUsRowModes = \"tasks-usrowmodels\";\n service.get = function(projectId, taskId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"tasks\", taskId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"tasks\", \"by_ref\", params);\n };\n service.list = function(projectId, sprintId, userStoryId) {\n var params;\n if (sprintId == null) {\n sprintId = null;\n }\n if (userStoryId == null) {\n userStoryId = null;\n }\n params = {\n project: projectId\n };\n if (sprintId) {\n params.milestone = sprintId;\n }\n if (userStoryId) {\n params.user_story = userStoryId;\n }\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"tasks\", params);\n };\n service.bulkCreate = function(projectId, sprintId, usId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-create-tasks\");\n params = {\n project_id: projectId,\n sprint_id: sprintId,\n us_id: usId,\n bulk_tasks: data\n };\n return $http.post(url, params).then(function(result) {\n return result.data;\n });\n };\n service.bulkUpdateTaskTaskboardOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-task-taskboard-order\");\n params = {\n project_id: projectId,\n bulk_tasks: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeStatusColumnModes = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getStatusColumnModes = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixStatusColumnModes;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeUsRowModes = function(projectId, sprintId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.set(hash, params);\n };\n service.getUsRowModes = function(projectId, sprintId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUsRowModes;\n hash = generateHash([projectId, sprintId, ns]);\n return $storage.get(hash) || {};\n };\n return function(instance) {\n return instance.tasks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgTasksResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/team.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaTeam\", []);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($config, $repo, $http, $urls, $q) {\n var service;\n service = {};\n service.changeAvatar = function(file) {\n var data, defered, maxFileSize, options, response, url;\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\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: {\n 'Content-Type': void 0\n }\n };\n url = ($urls.resolve(\"users\")) + \"/change_avatar\";\n return $http.post(url, data, {}, options);\n };\n service.removeAvatar = function() {\n var url;\n url = ($urls.resolve(\"users\")) + \"/remove_avatar\";\n return $http.post(url);\n };\n service.changePassword = function(currentPassword, newPassword) {\n var data, url;\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 function(instance) {\n return instance.userSettings = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserSettingsResourcesProvider\", [\"$tgConfig\", \"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$q\", resourceProvider]);\n\n}).call(this);\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/userstories.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $http, $urls, $storage) {\n var hashSuffix, service;\n service = {};\n hashSuffix = \"userstories-queryparams\";\n service.get = function(projectId, usId) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n return $repo.queryOne(\"userstories\", usId, params);\n };\n service.getByRef = function(projectId, ref) {\n var params;\n params = service.getQueryParams(projectId);\n params.project = projectId;\n params.ref = ref;\n return $repo.queryOne(\"userstories\", \"by_ref\", params);\n };\n service.listUnassigned = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId,\n \"milestone\": \"null\"\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.listAll = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(\"userstories\", params);\n };\n service.bulkCreate = function(projectId, status, bulk) {\n var data, url;\n data = {\n project_id: projectId,\n status_id: status,\n bulk_stories: bulk\n };\n url = $urls.resolve(\"bulk-create-us\");\n return $http.post(url, data);\n };\n service.bulkUpdateBacklogOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-backlog-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateSprintOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-sprint-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.bulkUpdateKanbanOrder = function(projectId, data) {\n var params, url;\n url = $urls.resolve(\"bulk-update-us-kanban-order\");\n params = {\n project_id: projectId,\n bulk_stories: data\n };\n return $http.post(url, params);\n };\n service.listValues = function(projectId, type) {\n var params;\n params = {\n \"project\": projectId\n };\n service.storeQueryParams(projectId, params);\n return $repo.queryMany(type, params);\n };\n service.storeQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n service.getQueryParams = function(projectId) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffix;\n hash = generateHash([projectId, ns]);\n return $storage.get(hash) || {};\n };\n service.storeShowTags = function(projectId, showTags) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.set(hash, showTags);\n };\n service.getShowTags = function(projectId) {\n var hash;\n hash = generateHash([projectId, 'showTags']);\n return $storage.get(hash) || null;\n };\n return function(instance) {\n return instance.userstories = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgUserstoriesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/wikis.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(wikiId) {\n return $repo.queryOne(\"wiki\", wikiId);\n };\n service.getBySlug = function(projectId, slug) {\n return $repo.queryOne(\"wiki\", \"by_slug?project=\" + projectId + \"&slug=\" + slug);\n };\n service.listLinks = function(projectId) {\n return $repo.queryMany(\"wiki-links\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.wiki = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWikiResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/analytics.coffee\n */\n\n(function() {\n var AnalyticsService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n AnalyticsService = (function(superClass) {\n extend(AnalyticsService, superClass);\n\n AnalyticsService.$inject = [\"$rootScope\", \"$log\", \"$tgConfig\", \"$window\", \"$document\", \"$location\"];\n\n function AnalyticsService(rootscope, log, config, win, doc, location) {\n var conf;\n this.rootscope = rootscope;\n this.log = log;\n this.config = config;\n this.win = win;\n this.doc = doc;\n this.location = location;\n this.initialized = false;\n conf = this.config.get(\"analytics\", {});\n this.accountId = conf.accountId;\n this.pageEvent = conf.pageEvent || \"$routeChangeSuccess\";\n this.trackRoutes = conf.trackRoutes || true;\n this.ignoreFirstPageLoad = conf.ignoreFirstPageLoad || false;\n }\n\n AnalyticsService.prototype.initialize = function() {\n if (!this.accountId) {\n this.log.debug(\"Analytics: no acount id provided. Disabling.\");\n return;\n }\n this.injectAnalytics();\n this.win.ga(\"create\", this.accountId, \"auto\");\n this.win.ga(\"require\", \"displayfeatures\");\n if (this.trackRoutes && (!this.ignoreFirstPageLoad)) {\n this.win.ga(\"send\", \"pageview\", this.getUrl());\n }\n if (this.trackRoutes) {\n this.rootscope.$on(this.pageEvent, (function(_this) {\n return function() {\n return _this.trackPage(_this.getUrl(), \"Taiga\");\n };\n })(this));\n }\n return this.initialized = true;\n };\n\n AnalyticsService.prototype.getUrl = function() {\n return this.location.path();\n };\n\n AnalyticsService.prototype.injectAnalytics = function() {\n var fn;\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 return fn(window, document, \"script\", \"//www.google-analytics.com/analytics.js\", \"ga\");\n };\n\n AnalyticsService.prototype.trackPage = function(url, title) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n title = title || this.doc[0].title;\n return this.win.ga(\"send\", \"pageview\", {\n \"page\": url,\n \"title\": title\n });\n };\n\n AnalyticsService.prototype.trackEvent = function(category, action, label, value) {\n if (!this.initialized) {\n return;\n }\n if (!this.win.ga) {\n return;\n }\n return this.win.ga(\"send\", \"event\", category, action, label, value);\n };\n\n return AnalyticsService;\n\n })(taiga.Service);\n\n module.service(\"$tgAnalytics\", AnalyticsService);\n\n}).call(this);\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/attachments.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($rootScope, $config, $urls, $model, $repo, $auth, $q) {\n var service;\n service = {};\n service.list = function(urlName, objectId, projectId) {\n var params;\n params = {\n object_id: objectId,\n project: projectId\n };\n return $repo.queryMany(urlName, params);\n };\n service.create = function(urlName, projectId, objectId, file) {\n var data, defered, maxFileSize, response, uploadComplete, uploadFailed, uploadProgress, xhr;\n defered = $q.defer();\n if (file === void 0) {\n defered.reject(null);\n return defered.promise;\n }\n maxFileSize = $config.get(\"maxUploadFileSize\", null);\n if (maxFileSize && file.size > maxFileSize) {\n response = {\n status: 413,\n data: {\n _error_message: \"'\" + file.name + \"' (\" + (sizeFormat(file.size)) + \") is too heavy for our oompa loompas, try it with a smaller than (\" + (sizeFormat(maxFileSize)) + \")\"\n }\n };\n defered.reject(response);\n return defered.promise;\n }\n uploadProgress = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"in-progress\";\n file.size = sizeFormat(evt.total);\n file.progressMessage = \"upload \" + (sizeFormat(evt.loaded)) + \" of \" + (sizeFormat(evt.total));\n return file.progressPercent = (Math.round((evt.loaded / evt.total) * 100)) + \"%\";\n });\n };\n })(this);\n uploadComplete = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n var data, model;\n file.status = \"done\";\n try {\n data = JSON.parse(evt.target.responseText);\n } catch (_error) {\n data = {};\n }\n model = $model.make_model(urlName, data);\n return defered.resolve(model);\n });\n };\n })(this);\n uploadFailed = (function(_this) {\n return function(evt) {\n return $rootScope.$apply(function() {\n file.status = \"error\";\n return defered.reject(\"fail\");\n });\n };\n })(this);\n data = new FormData();\n data.append(\"project\", projectId);\n data.append(\"object_id\", objectId);\n data.append(\"attached_file\", file);\n xhr = new XMLHttpRequest();\n xhr.upload.addEventListener(\"progress\", uploadProgress, false);\n xhr.addEventListener(\"load\", uploadComplete, false);\n xhr.addEventListener(\"error\", uploadFailed, false);\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 return defered.promise;\n };\n return function(instance) {\n return instance.attachments = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgAttachmentsResourcesProvider\", [\"$rootScope\", \"$tgConfig\", \"$tgUrls\", \"$tgModel\", \"$tgRepo\", \"$tgAuth\", \"$q\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var BindScope, module;\n\n module = angular.module(\"taigaCommon\");\n\n BindScope = function(config) {\n var link;\n if (!config.debugInfo) {\n jQuery.fn.scope = function() {\n return this.data('scope');\n };\n }\n link = function($scope, $el) {\n if (!config.debugInfo) {\n return $el.data('scope', $scope).addClass('tg-scope');\n }\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBindScope\", [\"$tgConfig\", BindScope]);\n\n}).call(this);\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/components.coffee\n */\n\n(function() {\n var AssignedToDirective, BlockButtonDirective, CreatedByDisplayDirective, DateRangeDirective, DateSelectorDirective, DeleteButtonDirective, EditableDescriptionDirective, EditableSubjectDirective, ListItemAssignedtoDirective, ListItemIssueStatusDirective, ListItemPriorityDirective, ListItemSeverityDirective, ListItemTaskStatusDirective, ListItemTypeDirective, ListItemUsStatusDirective, SprintProgressBarDirective, TgMainTitleDirective, TgProgressBarDirective, WatchersDirective, bindOnce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n DateRangeDirective = function() {\n var link, renderRange;\n renderRange = function($el, first, second) {\n var endDate, initDate;\n initDate = moment(first).format(\"DD MMM YYYY\");\n endDate = moment(second).format(\"DD MMM YYYY\");\n return $el.html(initDate + \"-\" + endDate);\n };\n link = function($scope, $el, $attrs) {\n var first, ref, second;\n ref = $attrs.tgDateRange.split(\",\"), first = ref[0], second = ref[1];\n return bindOnce($scope, first, function(valFirst) {\n return bindOnce($scope, second, function(valSecond) {\n return renderRange($el, valFirst, valSecond);\n });\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgDateRange\", DateRangeDirective);\n\n DateSelectorDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var selectedDate;\n selectedDate = null;\n $el.picker = new Pikaday({\n field: $el[0],\n format: \"DD MMM YYYY\",\n onSelect: (function(_this) {\n return function(date) {\n return selectedDate = date;\n };\n })(this),\n onOpen: (function(_this) {\n return function() {\n if (selectedDate != null) {\n return $el.picker.setDate(selectedDate);\n }\n };\n })(this)\n });\n return $scope.$watch($attrs.ngModel, function(val) {\n if (val != null) {\n return $el.picker.setDate(val);\n }\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgDateSelector\", DateSelectorDirective);\n\n SprintProgressBarDirective = function() {\n var link, renderProgress;\n renderProgress = function($el, percentage, visual_percentage) {\n if ($el.hasClass(\".current-progress\")) {\n return $el.css(\"width\", percentage + \"%\");\n } else {\n $el.find(\".current-progress\").css(\"width\", visual_percentage + \"%\");\n return $el.find(\".number\").html(percentage + \" %\");\n }\n };\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgSprintProgressbar, function(sprint) {\n var closedPoints, percentage, totalPoints, visual_percentage;\n closedPoints = sprint.closed_points;\n totalPoints = sprint.total_points;\n percentage = 0;\n if (totalPoints !== 0) {\n percentage = Math.round(100 * (closedPoints / totalPoints));\n }\n visual_percentage = 0;\n if (totalPoints !== 0) {\n visual_percentage = Math.round(98 * (closedPoints / totalPoints));\n }\n return renderProgress($el, percentage, visual_percentage);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintProgressbar\", SprintProgressBarDirective);\n\n CreatedByDisplayDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/created-by.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(model) {\n var html, owner, ref;\n owner = ((ref = $scope.usersById) != null ? ref[model.owner] : void 0) || {\n full_name_display: \"external user\",\n photo: \"/images/unnamed.png\"\n };\n html = template({\n owner: owner,\n date: moment(model.created_date).format(\"DD MMM YYYY HH:mm\")\n });\n return $el.html(html);\n };\n bindOnce($scope, $attrs.ngModel, function(model) {\n if (model != null) {\n return render(model);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgCreatedByDisplay\", [\"$tgTemplate\", CreatedByDisplayDirective]);\n\n WatchersDirective = function($rootscope, $confirm, $repo, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/watchers.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var deleteWatcher, isEditable, renderWatchers, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(watchers) {\n var item, promise;\n item = $model.$modelValue.clone();\n item.watchers = watchers;\n $model.$setViewValue(item);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n watchers = _.map(watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"history:reload\");\n });\n return promise.then(null, function() {\n return $model.$modelValue.revert();\n });\n };\n })(this));\n deleteWatcher = $qqueue.bindAdd((function(_this) {\n return function(watcherIds) {\n var item, promise;\n item = $model.$modelValue.clone();\n item.watchers = watcherIds;\n $model.$setViewValue(item);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n var watchers;\n $confirm.notify(\"success\");\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n renderWatchers(watchers);\n return $rootscope.$broadcast(\"history:reload\");\n });\n return promise.then(null, function() {\n item.revert();\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n renderWatchers = function(watchers) {\n var ctx, html;\n ctx = {\n watchers: watchers,\n isEditable: isEditable()\n };\n html = template(ctx);\n $el.html(html);\n if (isEditable() && watchers.length === 0) {\n $el.find(\".title\").text(\"Add watchers\");\n return $el.find(\".watchers-header\").addClass(\"no-watchers\");\n }\n };\n $el.on(\"click\", \".icon-delete\", function(event) {\n var message, target, title, watcherId;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n watcherId = target.data(\"watcher-id\");\n title = \"Delete watcher\";\n message = $scope.usersById[watcherId].full_name_display;\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(finish) {\n var watcherIds;\n finish();\n watcherIds = _.clone($model.$modelValue.watchers, false);\n watcherIds = _.pull(watcherIds, watcherId);\n return deleteWatcher(watcherIds);\n };\n })(this));\n });\n $el.on(\"click\", \".add-watcher\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"watcher:add\", $model.$modelValue);\n });\n });\n $scope.$on(\"watcher:added\", function(ctx, watcherId) {\n var watchers;\n watchers = _.clone($model.$modelValue.watchers, false);\n watchers.push(watcherId);\n watchers = _.uniq(watchers);\n return save(watchers);\n });\n $scope.$watch($attrs.ngModel, function(item) {\n var watchers;\n if (item == null) {\n return;\n }\n watchers = _.map(item.watchers, function(watcherId) {\n return $scope.usersById[watcherId];\n });\n return renderWatchers(watchers);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgWatchers\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgQqueue\", \"$tgTemplate\", WatchersDirective]);\n\n AssignedToDirective = function($rootscope, $confirm, $repo, $loading, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/assigned-to.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var isEditable, renderAssignedTo, save;\n isEditable = function() {\n var ref, ref1;\n return ((ref = $scope.project) != null ? (ref1 = ref.my_permissions) != null ? ref1.indexOf($attrs.requiredPerm) : void 0 : void 0) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(userId) {\n var promise;\n $model.$modelValue.assigned_to = userId;\n $loading.start($el);\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $loading.finish($el);\n $confirm.notify(\"success\");\n renderAssignedTo($model.$modelValue);\n return $rootscope.$broadcast(\"history:reload\");\n });\n promise.then(null, function() {\n $model.$modelValue.revert();\n $confirm.notify(\"error\");\n return $loading.finish($el);\n });\n return promise;\n };\n })(this));\n renderAssignedTo = function(issue) {\n var assignedTo, assignedToId, ctx, html;\n assignedToId = issue != null ? issue.assigned_to : void 0;\n assignedTo = assignedToId != null ? $scope.usersById[assignedToId] : null;\n ctx = {\n assignedTo: assignedTo,\n isEditable: isEditable()\n };\n html = template(ctx);\n return $el.html(html);\n };\n $el.on(\"click\", \".user-assigned\", function(event) {\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n return $scope.$apply(function() {\n return $rootscope.$broadcast(\"assigned-to:add\", $model.$modelValue);\n });\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var title;\n event.preventDefault();\n if (!isEditable()) {\n return;\n }\n title = \"Are you sure you want to leave it unassigned?\";\n return $confirm.ask(title).then((function(_this) {\n return function(finish) {\n finish();\n $model.$modelValue.assigned_to = null;\n return save(null);\n };\n })(this));\n });\n $scope.$on(\"assigned-to:added\", function(ctx, userId, item) {\n if (item.id !== $model.$modelValue.id) {\n return;\n }\n return save(userId);\n });\n $scope.$watch($attrs.ngModel, function(instance) {\n return renderAssignedTo(instance);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgAssignedTo\", [\"$rootScope\", \"$tgConfirm\", \"$tgRepo\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", AssignedToDirective]);\n\n BlockButtonDirective = function($rootscope, $loading, $template) {\n var link, template;\n template = $template.get(\"common/components/block-button.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_us\") !== -1;\n };\n $scope.$watch($attrs.ngModel, function(item) {\n if (!item) {\n return;\n }\n if (isEditable()) {\n $el.find('.item-block').addClass('editable');\n }\n if (item.is_blocked) {\n $el.find('.item-block').hide();\n return $el.find('.item-unblock').show();\n } else {\n $el.find('.item-block').show();\n return $el.find('.item-unblock').hide();\n }\n });\n $el.on(\"click\", \".item-block\", function(event) {\n event.preventDefault();\n return $rootscope.$broadcast(\"block\", $model.$modelValue);\n });\n $el.on(\"click\", \".item-unblock\", function(event) {\n var finish;\n event.preventDefault();\n $loading.start($el.find(\".item-unblock\"));\n finish = function() {\n return $loading.finish($el.find(\".item-unblock\"));\n };\n return $rootscope.$broadcast(\"unblock\", $model.$modelValue, finish);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgBlockButton\", [\"$rootScope\", \"$tgLoading\", \"$tgTemplate\", BlockButtonDirective]);\n\n DeleteButtonDirective = function($log, $repo, $confirm, $location, $template) {\n var link, template;\n template = $template.get(\"common/components/delete-button.html\");\n link = function($scope, $el, $attrs, $model) {\n if (!$attrs.onDeleteGoToUrl) {\n return $log.error(\"DeleteButtonDirective requires on-delete-go-to-url set in scope.\");\n }\n if (!$attrs.onDeleteTitle) {\n return $log.error(\"DeleteButtonDirective requires on-delete-title set in scope.\");\n }\n $el.on(\"click\", \".button\", function(event) {\n var subtitle, title;\n title = $scope.$eval($attrs.onDeleteTitle);\n subtitle = $model.$modelValue.subject;\n return $confirm.askOnDelete(title, subtitle).then((function(_this) {\n return function(finish) {\n var promise;\n promise = $repo.remove($model.$modelValue);\n promise.then(function() {\n var url;\n finish();\n url = $scope.$eval($attrs.onDeleteGoToUrl);\n return $location.path(url);\n });\n return promise.then(null, function() {\n finish(false);\n return $confirm.notify(\"error\");\n });\n };\n })(this));\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgDeleteButton\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"$tgTemplate\", DeleteButtonDirective]);\n\n EditableSubjectDirective = function($rootscope, $repo, $confirm, $loading, $qqueue, $template) {\n var link, template;\n template = $template.get(\"common/components/editable-subject.html\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(subject) {\n var promise;\n $model.$modelValue.subject = subject;\n $loading.start($el.find('.save-container'));\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"history:reload\");\n $el.find('.edit-subject').hide();\n return $el.find('.view-subject').show();\n });\n promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n promise[\"finally\"](function() {\n return $loading.finish($el.find('.save-container'));\n });\n return promise;\n };\n })(this));\n $el.click(function() {\n if (!isEditable()) {\n return;\n }\n $el.find('.edit-subject').show();\n $el.find('.view-subject').hide();\n return $el.find('input').focus();\n });\n $el.on(\"click\", \".save\", function() {\n var subject;\n subject = $scope.item.subject;\n return save(subject);\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var subject;\n if (event.keyCode === 13) {\n subject = $scope.item.subject;\n return save(subject);\n } else if (event.keyCode === 27) {\n $scope.$apply((function(_this) {\n return function() {\n return $model.$modelValue.revert();\n };\n })(this));\n $el.find('div.edit-subject').hide();\n return $el.find('div.view-subject').show();\n }\n });\n $el.find('div.edit-subject').hide();\n $el.find('div.view-subject span.edit').hide();\n $scope.$watch($attrs.ngModel, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n if (!isEditable()) {\n return $el.find('.view-subject .edit').remove();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgEditableSubject\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", \"$tgTemplate\", EditableSubjectDirective]);\n\n EditableDescriptionDirective = function($rootscope, $repo, $confirm, $compile, $loading, $selectedText, $qqueue, $template) {\n var link, noDescriptionMegEditMode, noDescriptionMegReadMode, 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 link = function($scope, $el, $attrs, $model) {\n var isEditable, save;\n $el.find('.edit-description').hide();\n $el.find('.view-description .edit').hide();\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(description) {\n var promise;\n $model.$modelValue.description = description;\n $loading.start($el.find('.save-container'));\n promise = $repo.save($model.$modelValue);\n promise.then(function() {\n $confirm.notify(\"success\");\n $rootscope.$broadcast(\"history:reload\");\n $el.find('.edit-description').hide();\n return $el.find('.view-description').show();\n });\n promise.then(null, function() {\n return $confirm.notify(\"error\");\n });\n return promise[\"finally\"](function() {\n return $loading.finish($el.find('.save-container'));\n });\n };\n })(this));\n $el.on(\"mouseup\", \".view-description\", function(event) {\n var target;\n target = angular.element(event.target);\n if (!isEditable()) {\n return;\n }\n if (target.is('a')) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n $el.find('.edit-description').show();\n $el.find('.view-description').hide();\n return $el.find('textarea').focus();\n });\n $el.on(\"click\", \".save\", function(e) {\n var description;\n e.preventDefault();\n description = $scope.item.description;\n return save(description);\n });\n $el.on(\"keydown\", \"textarea\", function(event) {\n if (event.keyCode === 27) {\n $scope.$apply((function(_this) {\n return function() {\n return $scope.item.revert();\n };\n })(this));\n $el.find('.edit-description').hide();\n return $el.find('.view-description').show();\n }\n });\n $scope.$watch($attrs.ngModel, function(value) {\n if (!value) {\n return;\n }\n $scope.item = value;\n if (isEditable()) {\n $el.find('.view-description .edit').show();\n $el.find('.view-description .us-content').addClass('editable');\n return $scope.noDescriptionMsg = noDescriptionMegEditMode;\n } else {\n return $scope.noDescriptionMsg = noDescriptionMegReadMode;\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\",\n template: template\n };\n };\n\n module.directive(\"tgEditableDescription\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$compile\", \"$tgLoading\", \"$selectedText\", \"$tgQqueue\", \"$tgTemplate\", EditableDescriptionDirective]);\n\n ListItemIssueStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemIssueStatus);\n return bindOnce($scope, \"issueStatusById\", function(issueStatusById) {\n return $el.html(issueStatusById[issue.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemTaskStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var task;\n task = $scope.$eval($attrs.tgListitemTaskStatus);\n return bindOnce($scope, \"taskStatusById\", function(taskStatusById) {\n return $el.html(taskStatusById[task.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemUsStatusDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var us;\n us = $scope.$eval($attrs.tgListitemUsStatus);\n return bindOnce($scope, \"usStatusById\", function(usStatusById) {\n return $el.html(usStatusById[us.status].name);\n });\n };\n return {\n link: link\n };\n };\n\n ListItemAssignedtoDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/list-item-assigned-to-avatar.html\", true);\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, \"membersById\", function(membersById) {\n var ctx, item, member;\n item = $scope.$eval($attrs.tgListitemAssignedto);\n ctx = {\n name: \"Unassigned\",\n 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 return $el.html(template(ctx));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgListitemAssignedto\", [\"$tgTemplate\", ListItemAssignedtoDirective]);\n\n ListItemPriorityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(priorityById, issue) {\n var domNode, priority;\n priority = priorityById[issue.priority];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", priority.color);\n return domNode.attr(\"title\", priority.name);\n };\n bindOnce($scope, \"priorityById\", function(priorityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemPriority);\n return render(priorityById, issue);\n });\n return $scope.$watch($attrs.tgListitemPriority, function(issue) {\n return render($scope.priorityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n module.directive(\"tgListitemPriority\", ListItemPriorityDirective);\n\n ListItemSeverityDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(severityById, issue) {\n var domNode, severity;\n severity = severityById[issue.severity];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", severity.color);\n return domNode.attr(\"title\", severity.name);\n };\n bindOnce($scope, \"severityById\", function(severityById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemSeverity);\n return render(severityById, issue);\n });\n return $scope.$watch($attrs.tgListitemSeverity, function(issue) {\n return render($scope.severityById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n ListItemTypeDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n var render;\n render = function(issueTypeById, issue) {\n var domNode, type;\n type = issueTypeById[issue.type];\n domNode = $el.find(\".level\");\n domNode.css(\"background-color\", type.color);\n return domNode.attr(\"title\", type.name);\n };\n bindOnce($scope, \"issueTypeById\", function(issueTypeById) {\n var issue;\n issue = $scope.$eval($attrs.tgListitemType);\n return render(issueTypeById, issue);\n });\n return $scope.$watch($attrs.tgListitemType, function(issue) {\n return render($scope.issueTypeById, issue);\n });\n };\n return {\n link: link,\n templateUrl: \"common/components/level.html\"\n };\n };\n\n TgProgressBarDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/progress-bar.html\", true);\n render = function(el, percentage) {\n return el.html(template({\n percentage: percentage\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch($attrs.tgProgressBar, function(percentage) {\n percentage = _.max([0, percentage]);\n percentage = _.min([100, percentage]);\n return render($el, percentage);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProgressBar\", [\"$tgTemplate\", TgProgressBarDirective]);\n\n TgMainTitleDirective = function($template) {\n var link, render, template;\n template = $template.get(\"common/components/main-title.html\", true);\n render = function(el, projectName, sectionName) {\n return el.html(template({\n projectName: projectName,\n sectionName: sectionName\n }));\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$watch(\"project\", function(project) {\n if (project) {\n return render($el, project.name, $scope.sectionName);\n }\n });\n $scope.$on(\"project:loaded\", (function(_this) {\n return function(ctx, project) {\n return render($el, project.name, $scope.sectionName);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgMainTitle\", [\"$tgTemplate\", TgMainTitleDirective]);\n\n module.directive(\"tgListitemType\", ListItemTypeDirective);\n\n module.directive(\"tgListitemIssueStatus\", ListItemIssueStatusDirective);\n\n module.directive(\"tgListitemSeverity\", ListItemSeverityDirective);\n\n module.directive(\"tgListitemTaskStatus\", ListItemTaskStatusDirective);\n\n module.directive(\"tgListitemUsStatus\", ListItemUsStatusDirective);\n\n}).call(this);\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/base/confirm.coffee\n */\n\n(function() {\n var ConfirmService, NOTIFICATION_MSG, bindMethods, cancelTimeout, debounce, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n timeout = this.taiga.timeout;\n\n cancelTimeout = this.taiga.cancelTimeout;\n\n debounce = this.taiga.debounce;\n\n bindMethods = this.taiga.bindMethods;\n\n NOTIFICATION_MSG = {\n \"success\": {\n title: \"Everything is ok\",\n message: \"Our Oompa Loompas saved all your changes!\"\n },\n \"error\": {\n title: \"Oops, something happened...\",\n message: \"Our Oompa Loompas are sad, your changes were not saved!\"\n },\n \"light-error\": {\n title: \"Oops, something happened...\",\n message: \"Our Oompa Loompas are sad, your changes were not saved!\"\n }\n };\n\n ConfirmService = (function(superClass) {\n extend(ConfirmService, superClass);\n\n ConfirmService.$inject = [\"$q\", \"lightboxService\", \"$tgLoading\"];\n\n function ConfirmService(q, lightboxService, loading) {\n this.q = q;\n this.lightboxService = lightboxService;\n this.loading = loading;\n bindMethods(this);\n }\n\n ConfirmService.prototype.hide = function(el) {\n if (el) {\n this.lightboxService.close(el);\n return el.off(\".confirm-dialog\");\n }\n };\n\n ConfirmService.prototype.ask = function(title, subtitle, message, lightboxSelector) {\n var defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-generic-ask\";\n }\n el = angular.element(lightboxSelector);\n el.find(\"h2.title\").html(title);\n el.find(\"span.subtitle\").html(subtitle);\n el.find(\"span.message\").html(message);\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n _this.loading.start(target);\n return defered.resolve(function(ok) {\n if (ok == null) {\n ok = true;\n }\n _this.loading.finish(target);\n if (ok) {\n return _this.hide(el);\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \"a.button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.askOnDelete = function(title, message) {\n return this.ask(title, \"Are you sure you want to delete?\", message);\n };\n\n ConfirmService.prototype.askChoice = function(title, subtitle, choices, replacement, warning, lightboxSelector) {\n var choicesField, defered, el;\n if (lightboxSelector == null) {\n lightboxSelector = \".lightbox-ask-choice\";\n }\n el = angular.element(lightboxSelector);\n el.find(\".title\").html(title);\n el.find(\".subtitle\").html(subtitle);\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, function(value, key) {\n return choicesField.append(angular.element(\"\"));\n });\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", debounce(2000, (function(_this) {\n return function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n _this.loading.start(target);\n return defered.resolve({\n selected: choicesField.val(),\n finish: function() {\n _this.loading.finish(target);\n return _this.hide(el);\n }\n });\n };\n })(this)));\n el.on(\"click.confirm-dialog\", \"a.button-red\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.reject();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.error = function(message) {\n var defered, el;\n el = angular.element(\".lightbox-generic-error\");\n el.find(\"h2.title\").html(message);\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \"a.close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.success = function(title, message) {\n var defered, el;\n el = angular.element(\".lightbox-generic-success\");\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(message);\n }\n defered = this.q.defer();\n el.on(\"click.confirm-dialog\", \"a.button-green\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n el.on(\"click.confirm-dialog\", \"a.close\", (function(_this) {\n return function(event) {\n event.preventDefault();\n defered.resolve();\n return _this.hide(el);\n };\n })(this));\n this.lightboxService.open(el);\n return defered.promise;\n };\n\n ConfirmService.prototype.loader = function(title, message) {\n var el;\n el = angular.element(\".lightbox-generic-loading\");\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(message);\n }\n return {\n start: (function(_this) {\n return function() {\n return _this.lightboxService.open(el);\n };\n })(this),\n stop: (function(_this) {\n return function() {\n return _this.lightboxService.close(el);\n };\n })(this),\n update: (function(_this) {\n return function(status, title, message, percent) {\n if (title) {\n el.find(\"h2.title\").html(title);\n }\n if (message) {\n el.find(\"p.message\").html(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 return el.find(\".progress-bar-wrapper > span\").html(percent + '%').css('left', (percent - 9) + '%');\n } else {\n el.find(\".spin\").removeClass(\"hidden\");\n return el.find(\".progress-bar-wrapper\").addClass(\"hidden\");\n }\n };\n })(this)\n };\n };\n\n ConfirmService.prototype.notify = function(type, message, title, time) {\n var body, el, selector;\n selector = \".notification-message-\" + type;\n el = angular.element(selector);\n if (el.hasClass(\"active\")) {\n return;\n }\n if (title) {\n el.find(\"h4\").html(title);\n } else {\n el.find(\"h4\").html(NOTIFICATION_MSG[type].title);\n }\n if (message) {\n el.find(\"p\").html(message);\n } else {\n el.find(\"p\").html(NOTIFICATION_MSG[type].message);\n }\n body = angular.element(\"body\");\n body.find(\".notification-message .notification-light\").removeClass('active').addClass('inactive');\n body.find(selector).removeClass('inactive').addClass('active');\n if (this.tsem) {\n cancelTimeout(this.tsem);\n }\n if (!time) {\n time = type === 'error' || type === 'light-error' ? 3500 : 1500;\n }\n this.tsem = timeout(time, (function(_this) {\n return function() {\n body.find(selector).removeClass('active').addClass('inactive');\n return delete _this.tsem;\n };\n })(this));\n return el.on(\"click\", \".icon-delete\", (function(_this) {\n return function(event) {\n return body.find(selector).removeClass('active').addClass('inactive');\n };\n })(this));\n };\n\n return ConfirmService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaCommon\");\n\n module.service(\"$tgConfirm\", ConfirmService);\n\n}).call(this);\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/custom-field-values.coffee\n */\n\n(function() {\n var CustomAttributeValueDirective, CustomAttributesValuesController, CustomAttributesValuesDirective, bindMethods, bindOnce, debounce, generateHash, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindMethods = this.taiga.bindMethods;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n generateHash = taiga.generateHash;\n\n module = angular.module(\"taigaCommon\");\n\n CustomAttributesValuesController = (function(superClass) {\n extend(CustomAttributesValuesController, superClass);\n\n CustomAttributesValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$q\"];\n\n function CustomAttributesValuesController(scope, rootscope, repo, rs, confirm, q) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.q = q;\n bindMethods(this);\n this.type = null;\n this.objectId = null;\n this.projectId = null;\n this.customAttributes = [];\n this.customAttributesValues = null;\n }\n\n CustomAttributesValuesController.prototype.initialize = function(type, objectId) {\n this.project = this.scope.project;\n this.type = type;\n this.objectId = objectId;\n return this.projectId = this.scope.projectId;\n };\n\n CustomAttributesValuesController.prototype.loadCustomAttributesValues = function() {\n if (!this.objectId) {\n return this.customAttributesValues;\n }\n return this.rs.customAttributesValues[this.type].get(this.objectId).then((function(_this) {\n return function(customAttributesValues) {\n _this.customAttributes = _this.project[_this.type + \"_custom_attributes\"];\n _this.customAttributesValues = customAttributesValues;\n return customAttributesValues;\n };\n })(this));\n };\n\n CustomAttributesValuesController.prototype.getAttributeValue = function(attribute) {\n var attributeValue;\n attributeValue = _.clone(attribute, false);\n attributeValue.value = this.customAttributesValues.attributes_values[attribute.id];\n return attributeValue;\n };\n\n CustomAttributesValuesController.prototype.updateAttributeValue = function(attributeValue) {\n var attributesValues, onError, onSuccess;\n onSuccess = (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"custom-attributes-values:edit\");\n };\n })(this);\n onError = (function(_this) {\n return function(response) {\n _this.confirm.notify(\"error\");\n return _this.q.reject();\n };\n })(this);\n attributesValues = _.clone(this.customAttributesValues.attributes_values, true);\n attributesValues[attributeValue.id] = attributeValue.value;\n this.customAttributesValues.attributes_values = attributesValues;\n this.customAttributesValues.id = this.objectId;\n return this.repo.save(this.customAttributesValues).then(onSuccess, onError);\n };\n\n return CustomAttributesValuesController;\n\n })(taiga.Controller);\n\n CustomAttributesValuesDirective = function($templates, $storage) {\n var collapsedHash, link, template, templateFn;\n template = $templates.get(\"custom-attributes/custom-attributes-values.html\", true);\n collapsedHash = function(type) {\n return generateHash([\"custom-attributes-collapsed\", type]);\n };\n link = function($scope, $el, $attrs, $ctrls) {\n var $ctrl, $model;\n $ctrl = $ctrls[0];\n $model = $ctrls[1];\n bindOnce($scope, $attrs.ngModel, function(value) {\n $ctrl.initialize($attrs.type, value.id);\n return $ctrl.loadCustomAttributesValues();\n });\n $el.on(\"click\", \".custom-fields-header a\", function() {\n var collapsed, hash;\n hash = collapsedHash($attrs.type);\n collapsed = !($storage.get(hash) || false);\n $storage.set(hash, collapsed);\n if (collapsed) {\n $el.find(\".custom-fields-header a\").removeClass(\"open\");\n return $el.find(\".custom-fields-body\").removeClass(\"open\");\n } else {\n $el.find(\".custom-fields-header a\").addClass(\"open\");\n return $el.find(\".custom-fields-body\").addClass(\"open\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n templateFn = function($el, $attrs) {\n var collapsed;\n collapsed = $storage.get(collapsedHash($attrs.type)) || false;\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 };\n\n module.directive(\"tgCustomAttributesValues\", [\"$tgTemplate\", \"$tgStorage\", CustomAttributesValuesDirective]);\n\n CustomAttributeValueDirective = function($template, $selectedText) {\n var link, template, templateEdit;\n template = $template.get(\"custom-attributes/custom-attribute-value.html\", true);\n templateEdit = $template.get(\"custom-attributes/custom-attribute-value-edit.html\", true);\n link = function($scope, $el, $attrs, $ctrl) {\n var attributeValue, isEditable, render, saveAttributeValue, submit;\n render = function(attributeValue, edit) {\n var ctx, editable, html, value;\n if (edit == null) {\n edit = false;\n }\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 if (editable && (edit || !value)) {\n html = templateEdit(ctx);\n } else {\n html = template(ctx);\n }\n return $el.html(html);\n };\n isEditable = function() {\n var permissions, requiredEditionPerm;\n permissions = $scope.project.my_permissions;\n requiredEditionPerm = $attrs.requiredEditionPerm;\n return permissions.indexOf(requiredEditionPerm) > -1;\n };\n saveAttributeValue = function() {\n attributeValue.value = $el.find(\"input\").val();\n return $scope.$apply(function() {\n return $ctrl.updateAttributeValue(attributeValue).then(function() {\n return render(attributeValue, false);\n });\n });\n };\n $el.on(\"keyup\", \"input[name=description]\", function(event) {\n if (event.keyCode === 13) {\n return submit(event);\n } else if (event.keyCode === 27) {\n return render(attributeValue, false);\n }\n });\n $el.on(\"click\", \".custom-field-value.read-mode\", function() {\n if (!isEditable()) {\n return;\n }\n if ($selectedText.get().length) {\n return;\n }\n render(attributeValue, true);\n return $el.find(\"input[name='description']\").focus().select();\n });\n $el.on(\"click\", \"a.icon-edit\", function(event) {\n event.preventDefault();\n render(attributeValue, true);\n return $el.find(\"input[name='description']\").focus().select();\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n event.preventDefault();\n return saveAttributeValue();\n };\n })(this));\n $el.on(\"submit\", \"form\", submit);\n $el.on(\"click\", \"a.icon-floppy\", submit);\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n attributeValue = $scope.$eval($attrs.tgCustomAttributeValue);\n return render(attributeValue);\n };\n return {\n link: link,\n require: \"^tgCustomAttributesValues\",\n restrict: \"AE\"\n };\n };\n\n module.directive(\"tgCustomAttributeValue\", [\"$tgTemplate\", \"$selectedText\", CustomAttributeValueDirective]);\n\n}).call(this);\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/estimation.coffee\n */\n\n(function() {\n var EstimationsService, LbUsEstimationDirective, UsEstimationDirective, groupBy, module, taiga,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaCommon\");\n\n LbUsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $confirm, $template) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId) {\n return $scope.$apply(function() {\n return $model.$setViewValue(us);\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgLbUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgTemplate\", LbUsEstimationDirective]);\n\n UsEstimationDirective = function($tgEstimationsService, $rootScope, $repo, $confirm, $qqueue, $template) {\n var link;\n link = function($scope, $el, $attrs, $model) {\n $scope.$watch($attrs.ngModel, function(us) {\n var estimationProcess;\n if (us) {\n estimationProcess = $tgEstimationsService.create($el, us, $scope.project);\n estimationProcess.onSelectedPointForRole = function(roleId, pointId) {\n return this.save(roleId, pointId).then(function() {\n return $rootScope.$broadcast(\"history:reload\");\n });\n };\n estimationProcess.render = function() {\n var ctx, html, mainTemplate, template;\n ctx = {\n totalPoints: this.calculateTotalPoints(),\n roles: this.calculateRoles(),\n editable: this.isEditable\n };\n mainTemplate = \"common/estimation/us-estimation-points-per-role.html\";\n template = $template.get(mainTemplate, true);\n html = template(ctx);\n return this.$el.html(html);\n };\n return estimationProcess.render();\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgUsEstimation\", [\"$tgEstimationsService\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", UsEstimationDirective]);\n\n EstimationsService = function($template, $qqueue, $repo, $confirm, $q) {\n var EstimationProcess, create, pointsTemplate;\n pointsTemplate = $template.get(\"common/estimation/us-estimation-points.html\", true);\n EstimationProcess = (function() {\n function EstimationProcess($el1, us1, project1) {\n this.$el = $el1;\n this.us = us1;\n this.project = project1;\n this.bindClickEvents = bind(this.bindClickEvents, this);\n this.isEditable = this.project.my_permissions.indexOf(\"modify_us\") !== -1;\n this.roles = this.project.roles;\n this.points = this.project.points;\n this.pointsById = groupBy(this.points, function(x) {\n return x.id;\n });\n this.onSelectedPointForRole = function(roleId, pointId) {};\n this.render = function() {};\n }\n\n EstimationProcess.prototype.save = function(roleId, pointId) {\n var deferred;\n deferred = $q.defer();\n $qqueue.add((function(_this) {\n return function() {\n var onError, onSuccess;\n onSuccess = function() {\n deferred.resolve();\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n _this.us.revert();\n _this.render();\n return deferred.reject();\n };\n return $repo.save(_this.us).then(onSuccess, onError);\n };\n })(this));\n return deferred.promise;\n };\n\n EstimationProcess.prototype.calculateTotalPoints = function() {\n var notNullValues, values;\n values = _.map(this.us.points, (function(_this) {\n return function(v, k) {\n var ref;\n return (ref = _this.pointsById[v]) != null ? ref.value : void 0;\n };\n })(this));\n if (values.length === 0) {\n return \"0\";\n }\n notNullValues = _.filter(values, function(v) {\n return v != null;\n });\n if (notNullValues.length === 0) {\n return \"?\";\n }\n return _.reduce(notNullValues, function(acc, num) {\n return acc + num;\n });\n };\n\n EstimationProcess.prototype.calculateRoles = function() {\n var computableRoles, roles;\n computableRoles = _.filter(this.project.roles, \"computable\");\n roles = _.map(computableRoles, (function(_this) {\n return function(role) {\n var pointId, pointObj;\n pointId = _this.us.points[role.id];\n pointObj = _this.pointsById[pointId];\n role = _.clone(role, true);\n role.points = (pointObj != null) && (pointObj.name != null) ? pointObj.name : \"?\";\n return role;\n };\n })(this));\n return roles;\n };\n\n EstimationProcess.prototype.bindClickEvents = function() {\n this.$el.on(\"click\", \".total.clickable\", (function(_this) {\n return function(event) {\n var roleId, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n roleId = target.data(\"role-id\");\n _this.renderPointsSelector(roleId, target);\n target.siblings().removeClass('active');\n return target.addClass('active');\n };\n })(this));\n return this.$el.on(\"click\", \".point\", (function(_this) {\n return function(event) {\n var pointId, points, roleId, target;\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 _this.$el.find(\".popover\").popover().close();\n points = _.clone(_this.us.points, true);\n points[roleId] = pointId;\n _this.us.points = points;\n _this.render();\n return _this.onSelectedPointForRole(roleId, pointId);\n };\n })(this));\n };\n\n EstimationProcess.prototype.renderPointsSelector = function(roleId, target) {\n var horizontalList, html, maxPointLength, points;\n points = _.map(this.points, (function(_this) {\n return function(point) {\n point = _.clone(point, true);\n point.selected = _this.us.points[roleId] === point.id ? false : true;\n return point;\n };\n })(this));\n maxPointLength = 5;\n horizontalList = _.some(points, (function(_this) {\n return function(point) {\n return point.name.length > maxPointLength;\n };\n })(this));\n html = pointsTemplate({\n \"points\": points,\n roleId: roleId,\n horizontal: horizontalList\n });\n this.$el.find(\".popover\").popover().close();\n this.$el.find(\".pop-points-open\").remove();\n if (target != null) {\n this.$el.find(target).append(html);\n } else {\n this.$el.append(html);\n }\n this.$el.find(\".pop-points-open\").popover().open(function() {\n return $(this).removeClass(\"active\").closest(\"li\").removeClass(\"active\");\n });\n return this.$el.find(\".pop-points-open\").show();\n };\n\n return EstimationProcess;\n\n })();\n create = function($el, us, project) {\n var estimationProcess;\n $el.unbind(\"click\");\n estimationProcess = new EstimationProcess($el, us, project);\n if (estimationProcess.isEditable) {\n estimationProcess.bindClickEvents();\n }\n return estimationProcess;\n };\n return {\n create: create\n };\n };\n\n module.factory(\"$tgEstimationsService\", [\"$tgTemplate\", \"$tgQqueue\", \"$tgRepo\", \"$tgConfirm\", \"$q\", EstimationsService]);\n\n}).call(this);\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/base/filters.coffee\n */\n\n(function() {\n var FiltersStorageService, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n FiltersStorageService = (function(superClass) {\n extend(FiltersStorageService, superClass);\n\n FiltersStorageService.$inject = [\"$tgStorage\", \"$routeParams\"];\n\n function FiltersStorageService(storage, params) {\n this.storage = storage;\n this.params = params;\n }\n\n FiltersStorageService.prototype.generateHash = function(components) {\n if (components == null) {\n components = [];\n }\n components = _.map(components, function(x) {\n return JSON.stringify(x);\n });\n return hex_sha1(components.join(\":\"));\n };\n\n return FiltersStorageService;\n\n })(taiga.Service);\n\n}).call(this);\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/history.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(type, objectId) {\n return $repo.queryOneRaw(\"history/\" + type, objectId);\n };\n service.deleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/delete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n service.undeleteComment = function(type, objectId, activityId) {\n var params, url;\n url = $urls.resolve(\"history/\" + type);\n url = url + \"/\" + objectId + \"/undelete_comment\";\n params = {\n id: activityId\n };\n return $http.post(url, null, params).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.history = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgHistoryResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/importer.coffee\n */\n\n(function() {\n var ImportProjectButtonDirective, module;\n\n module = angular.module(\"taigaCommon\");\n\n ImportProjectButtonDirective = function($rs, $confirm, $location, $navUrls) {\n var link;\n link = function($scope, $el, $attrs) {\n $el.on(\"click\", \".import-project-button\", function(event) {\n event.preventDefault();\n $el.find(\"input.import-file\").val(\"\");\n return $el.find(\"input.import-file\").trigger(\"click\");\n });\n return $el.on(\"change\", \"input.import-file\", function(event) {\n var file, loader, onError, onSuccess;\n event.preventDefault();\n file = event.target.files[0];\n if (!file) {\n return;\n }\n loader = $confirm.loader(\"Uploading dump file\");\n onSuccess = function(result) {\n var ctx, message, title;\n loader.stop();\n if (result.status === 202) {\n title = \"Our Oompa Loompas are importing your project\";\n message = \"This process could take a few minutes
We will send you an email when ready\";\n return $confirm.success(title, message);\n } else {\n ctx = {\n project: result.data.slug\n };\n $location.path($navUrls.resolve(\"project-admin-project-profile-details\", ctx));\n return $confirm.notify(\"success\", \"Your project has been imported successfuly.\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n loader.stop();\n console.log(\"Error\", result);\n errorMsg = \"Our oompa loompas have some problems importing your dump data. Please try again. \";\n if (result.status === 429) {\n errorMsg = \"Sorry, our oompa loompas are very busy right now. Please try again in a few minutes. \";\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = \"Our oompa loompas have some problems importing your dump data: \" + result.data._error_message;\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n loader.start();\n return $rs.projects[\"import\"](file, loader.update).then(onSuccess, onError);\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgImportProjectButton\", [\"$tgResources\", \"$tgConfirm\", \"$location\", \"$tgNavUrls\", ImportProjectButtonDirective]);\n\n}).call(this);\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/lightboxes.coffee\n */\n\n(function() {\n var DeleteUserDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n DeleteUserDirective = function($repo, $rootscope, $auth, $location, $navUrls, lightboxService) {\n var link;\n link = function($scope, $el, $attrs) {\n var submit;\n $scope.$on(\"deletelightbox:new\", function(ctx, user) {\n return lightboxService.open($el);\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n submit = function() {\n var promise;\n promise = $repo.remove($scope.user);\n promise.then(function(data) {\n lightboxService.close($el);\n $auth.logout();\n return $location.path($navUrls.resolve(\"login\"));\n });\n return promise.then(null, function() {\n return console.log(\"FAIL\");\n });\n };\n $el.on(\"click\", \".button-red\", function(event) {\n event.preventDefault();\n return lightboxService.close($el);\n });\n return $el.on(\"click\", \".button-green\", debounce(2000, function(event) {\n event.preventDefault();\n return submit();\n }));\n };\n return {\n link: link,\n templateUrl: \"user/lightbox/lightbox-delete-account.html\"\n };\n };\n\n module.directive(\"tgLbDeleteUser\", [\"$tgRepo\", \"$rootScope\", \"$tgAuth\", \"$tgLocation\", \"$tgNavUrls\", \"lightboxService\", DeleteUserDirective]);\n\n}).call(this);\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 * 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(function() {\n var Loader, LoaderDirective, module, sizeFormat, taiga, timeout;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaCommon\");\n\n LoaderDirective = function(tgLoader, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n tgLoader.onStart(function() {\n $(document.body).addClass(\"loader-active\");\n return $el.addClass(\"active\");\n });\n tgLoader.onEnd(function() {\n $(document.body).removeClass(\"loader-active\");\n return $el.removeClass(\"active\");\n });\n $rootscope.$on(\"$routeChangeSuccess\", function(e) {\n return tgLoader.startCurrentPageLoader();\n });\n return $rootscope.$on(\"$locationChangeSuccess\", function(e) {\n return tgLoader.reset();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgLoader\", [\"tgLoader\", \"$rootScope\", LoaderDirective]);\n\n Loader = function() {\n var config, defaultConfig, forceDisabled;\n forceDisabled = false;\n defaultConfig = {\n enabled: false,\n minTime: 300\n };\n config = _.merge({}, defaultConfig);\n this.add = function() {\n return function() {\n if (!forceDisabled) {\n return config.enabled = true;\n }\n };\n };\n this.$get = [\n \"$rootScope\", function($rootscope) {\n var pageLoaded, reset, start, startLoadTime;\n startLoadTime = 0;\n reset = function() {\n return config = _.merge({}, defaultConfig);\n };\n pageLoaded = function(force) {\n var diff, endTime, timeoutValue;\n if (force == null) {\n force = false;\n }\n if (startLoadTime) {\n timeoutValue = 0;\n if (!force) {\n endTime = new Date().getTime();\n diff = endTime - startLoadTime;\n if (diff < config.minTime) {\n timeoutValue = config.minTime - diff;\n }\n }\n return timeout(timeoutValue, function() {\n return $rootscope.$broadcast(\"loader:end\");\n });\n }\n };\n start = function() {\n startLoadTime = new Date().getTime();\n return $rootscope.$broadcast(\"loader:start\");\n };\n return {\n reset: reset,\n pageLoaded: pageLoaded,\n start: start,\n startCurrentPageLoader: function() {\n if (config.enabled) {\n return start();\n }\n },\n onStart: function(fn) {\n return $rootscope.$on(\"loader:start\", fn);\n },\n onEnd: function(fn) {\n return $rootscope.$on(\"loader:end\", fn);\n },\n preventLoading: function() {\n return forceDisabled = true;\n },\n disablePreventLoading: function() {\n return forceDisabled = false;\n }\n };\n }\n ];\n };\n\n module.provider(\"tgLoader\", [Loader]);\n\n}).call(this);\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/lightboxes.coffee\n */\n\n(function() {\n var TgLoadingService, module,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n module = angular.module(\"taigaCommon\");\n\n TgLoadingService = (function(superClass) {\n extend(TgLoadingService, superClass);\n\n function TgLoadingService() {\n return TgLoadingService.__super__.constructor.apply(this, arguments);\n }\n\n TgLoadingService.prototype.start = function(target) {\n if (!target.hasClass('loading')) {\n target.data('loading-old-content', target.html());\n target.addClass('loading');\n return target.html(\"loading...\");\n }\n };\n\n TgLoadingService.prototype.finish = function(target) {\n var oldContent;\n if (target.hasClass('loading')) {\n oldContent = target.data('loading-old-content');\n target.data('loading-old-content', null);\n target.html(oldContent);\n return target.removeClass('loading');\n }\n };\n\n return TgLoadingService;\n\n })(taiga.Service);\n\n module.service(\"$tgLoading\", TgLoadingService);\n\n}).call(this);\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/popovers.coffee\n */\n\n(function() {\n var RelatedTaskStatusDirective, UsStatusDirective, bindOnce, debounce, module, taiga;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaCommon\");\n\n UsStatusDirective = function($repo, $template) {\n\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 var link, template;\n template = $template.get(\"common/popover/popover-us-status.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, render, us;\n $ctrl = $el.controller();\n render = function(us) {\n var usStatusById, usStatusDom, usStatusDomParent;\n usStatusDomParent = $el.find(\".us-status\");\n usStatusDom = $el.find(\".us-status .us-status-bind\");\n usStatusById = $scope.usStatusById;\n if (usStatusById[us.status]) {\n usStatusDom.text(usStatusById[us.status].name);\n return usStatusDomParent.css(\"color\", usStatusById[us.status].color);\n }\n };\n $el.on(\"click\", \".us-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target, us;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n us = $scope.$eval($attrs.tgUsStatus);\n us.status = target.data(\"status-id\");\n render(us);\n $el.find(\".pop-status\").popover().close();\n return $scope.$apply(function() {\n return $repo.save(us).then(function() {\n return $scope.$eval($attrs.onUpdate);\n });\n });\n }));\n $scope.$on(\"userstories:loaded\", function() {\n return render($scope.$eval($attrs.tgUsStatus));\n });\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n us = $scope.$eval($attrs.tgUsStatus);\n render(us);\n return bindOnce($scope, \"project\", function(project) {\n var html;\n html = template({\n \"statuses\": project.us_statuses\n });\n $el.append(html);\n if ($scope.project.my_permissions.indexOf(\"modify_us\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUsStatus\", [\"$tgRepo\", \"$tgTemplate\", UsStatusDirective]);\n\n RelatedTaskStatusDirective = function($repo, $template) {\n\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 var link, selectionTemplate, updateTaskStatus;\n selectionTemplate = $template.get(\"common/popover/popover-related-task-status.html\", true);\n updateTaskStatus = function($el, task, taskStatusById) {\n var taskStatusDom, taskStatusDomParent;\n taskStatusDomParent = $el.find(\".us-status\");\n taskStatusDom = $el.find(\".task-status .task-status-bind\");\n if (taskStatusById[task.status]) {\n taskStatusDom.text(taskStatusById[task.status].name);\n return taskStatusDomParent.css('color', taskStatusById[task.status].color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, autoSave, notAutoSave, task;\n $ctrl = $el.controller();\n task = $scope.$eval($attrs.tgRelatedTaskStatus);\n notAutoSave = $scope.$eval($attrs.notAutoSave);\n autoSave = !notAutoSave;\n $el.on(\"click\", \".task-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", debounce(2000, function(event) {\n var target;\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 if (autoSave) {\n return $scope.$apply(function() {\n return $repo.save(task).then(function() {\n $scope.$eval($attrs.onUpdate);\n return $scope.$emit(\"related-tasks:status-changed\");\n });\n });\n }\n }));\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.task_statuses\n }));\n updateTaskStatus($el, task, $scope.taskStatusById);\n if (project.my_permissions.indexOf(\"modify_task\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgRelatedTaskStatus\", [\"$tgRepo\", \"$tgTemplate\", RelatedTaskStatusDirective]);\n\n $.fn.popover = function() {\n var $el, close, closeAll, closePopover, isVisible, open;\n $el = this;\n isVisible = (function(_this) {\n return function() {\n var docViewBottom, docViewLeft, docViewRight, docViewTop, docViewWidth, elemBottom, elemLeft, elemRight, elemTop, elemWidth;\n $el.css({\n \"display\": \"block\",\n \"visibility\": \"hidden\"\n });\n docViewTop = $(window).scrollTop();\n docViewBottom = docViewTop + $(window).height();\n docViewWidth = $(window).width();\n docViewRight = docViewWidth;\n docViewLeft = 0;\n elemTop = $el.offset().top;\n elemBottom = elemTop + $el.height();\n elemWidth = $el.width();\n elemLeft = $el.offset().left;\n elemRight = $el.offset().left + elemWidth;\n $el.css({\n \"display\": \"none\",\n \"visibility\": \"visible\"\n });\n return (elemBottom <= docViewBottom) && (elemTop >= docViewTop) && (elemLeft >= docViewLeft) && (elemRight <= docViewRight);\n };\n })(this);\n closePopover = (function(_this) {\n return function(onClose) {\n if (onClose) {\n onClose.call($el);\n }\n $el.fadeOut(function() {\n return $el.removeClass(\"active\").removeClass(\"fix\");\n });\n return $el.off(\"popup:close\");\n };\n })(this);\n closeAll = (function(_this) {\n return function() {\n return $(\".popover.active\").each(function() {\n return $(this).trigger(\"popup:close\");\n });\n };\n })(this);\n open = (function(_this) {\n return function(onClose) {\n if ($el.hasClass(\"active\")) {\n return close();\n } else {\n closeAll();\n if (!isVisible()) {\n $el.addClass(\"fix\");\n }\n $el.fadeIn(function() {\n $el.addClass(\"active\");\n $(document.body).off(\"popover\");\n return $(document.body).one(\"click.popover\", function() {\n return closeAll();\n });\n });\n return $el.on(\"popup:close\", function(e) {\n return closePopover(onClose);\n });\n }\n };\n })(this);\n close = (function(_this) {\n return function() {\n return $el.trigger(\"popup:close\");\n };\n })(this);\n return {\n open: open,\n close: close,\n closeAll: closeAll\n };\n };\n\n}).call(this);\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/raven-logger.coffee\n */\n\n(function() {\n var ExceptionHandlerFactory, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaCommon\");\n\n ExceptionHandlerFactory = function($log, config) {\n var ravenConfig;\n this.config = config;\n ravenConfig = this.config.get(\"ravenConfig\", null);\n if (ravenConfig) {\n $log.debug(\"Using the RavenJS exception handler.\");\n Raven.config(ravenConfig).install();\n return function(exception, cause) {\n $log.error.apply($log, arguments);\n return Raven.captureException(exception);\n };\n } else {\n $log.debug(\"Using the default logging exception handler.\");\n return function(exception, cause) {\n return $log.error.apply($log, arguments);\n };\n }\n };\n\n module.factory(\"$exceptionHandler\", [\"$log\", \"$tgConfig\", ExceptionHandlerFactory]);\n\n}).call(this);\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/tags.coffee\n */\n\n(function() {\n var ColorizeTagsDirective, LbTagLineDirective, TagLineDirective, TagsDirective, bindOnce, module, taiga, trim,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n TagsDirective = function() {\n var formatter, link, parser;\n formatter = function(v) {\n if (_.isArray(v)) {\n return v.join(\", \");\n }\n return \"\";\n };\n parser = function(v) {\n var result;\n if (!v) {\n return [];\n }\n result = _(v.split(\",\")).map(function(x) {\n return _.str.trim(x);\n });\n return result.value();\n };\n link = function($scope, $el, $attrs, $ctrl) {\n $ctrl.$formatters.push(formatter);\n $ctrl.$parsers.push(parser);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n require: \"ngModel\",\n link: link\n };\n };\n\n module.directive(\"tgTags\", TagsDirective);\n\n ColorizeTagsDirective = function() {\n var link, templates;\n templates = {\n backlog: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\"><%- tag.name %>\\n<% }) %>\"),\n kanban: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\" title=\\\"<%- tag.name %>\\\" />\\n<% }) %>\"),\n taskboard: _.template(\"<% _.each(tags, function(tag) { %>\\n \\\" title=\\\"<%- tag.name %>\\\" />\\n<% }) %>\")\n };\n link = function($scope, $el, $attrs, $ctrl) {\n var render;\n render = function(srcTags) {\n var html, tags, template;\n template = templates[$attrs.tgColorizeTagsType];\n srcTags.sort();\n tags = _.map(srcTags, function(tag) {\n var color;\n color = $scope.project.tags_colors[tag];\n return {\n name: tag,\n color: color\n };\n });\n html = template({\n tags: tags\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.tgColorizeTags, function(tags) {\n if (tags != null) {\n return render(tags);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgColorizeTags\", ColorizeTagsDirective);\n\n LbTagLineDirective = function($rs, $template) {\n var COMMA_KEY, ENTER_KEY, link, templateTags;\n ENTER_KEY = 13;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/lb-tag-line-tags.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideSaveButton, removeInputLastCharacter, renderTags, resetInput, saveInputTag, showSaveButton;\n renderTags = function(tags, tagsColors) {\n var ctx, html;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n color: tagsColors[t]\n };\n })\n };\n _.map(ctx.tags, (function(_this) {\n return function(tag) {\n if (tag.color) {\n return tag.style = \"border-left: 5px solid \" + tag.color;\n }\n };\n })(this));\n html = templateTags(ctx);\n return $el.find(\"div.tags-container\").html(html);\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return $el.find(\"input\").autocomplete(\"close\");\n };\n addValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n return hideSaveButton();\n };\n deleteValue = function(value) {\n var tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue, false);\n tags = _.pull(tags, value);\n return $scope.$apply(function() {\n return $model.$setViewValue(tags);\n });\n };\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n removeInputLastCharacter = (function(_this) {\n return function(input) {\n var inputValue;\n inputValue = input.val();\n return input.val(inputValue.substring(0, inputValue.length - 1));\n };\n })(this);\n $el.on(\"keypress\", \"input\", function(event) {\n if (event.keyCode !== ENTER_KEY) {\n return;\n }\n return event.preventDefault();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n return saveInputTag();\n } else if (event.keyCode === COMMA_KEY) {\n removeInputLastCharacter(target);\n return saveInputTag();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var positioningFunction;\n positioningFunction = function(position, elements) {\n var menu;\n menu = elements.element.element;\n menu.css(\"width\", elements.target.width);\n menu.css(\"top\", position.top);\n return menu.css(\"left\", position.left);\n };\n return $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors),\n position: {\n my: \"left top\",\n using: positioningFunction\n },\n select: function(event, ui) {\n addValue(ui.item.value);\n return ui.item.value = \"\";\n }\n });\n });\n $scope.$watch($attrs.ngModel, function(tags) {\n var ref, tagsColors;\n tagsColors = ((ref = $scope.project) != null ? ref.tags_colors : void 0) || [];\n return renderTags(tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/lb-tag-line.html\"\n };\n };\n\n module.directive(\"tgLbTagLine\", [\"$tgResources\", \"$tgTemplate\", LbTagLineDirective]);\n\n TagLineDirective = function($rootScope, $repo, $rs, $confirm, $qqueue, $template) {\n var COMMA_KEY, ENTER_KEY, ESC_KEY, link, templateTags;\n ENTER_KEY = 13;\n ESC_KEY = 27;\n COMMA_KEY = 188;\n templateTags = $template.get(\"common/tag/tags-line-tags.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addValue, deleteValue, hideAddTagButton, hideAddTagButtonText, hideInput, hideSaveButton, isEditable, removeInputLastCharacter, renderInReadModeOnly, renderTags, resetInput, saveInputTag, showAddTagButton, showAddTagButtonText, showInput, showSaveButton;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf($attrs.requiredPerm) !== -1;\n };\n renderTags = function(tags, tagsColors) {\n var ctx, html;\n ctx = {\n tags: _.map(tags, function(t) {\n return {\n name: t,\n color: tagsColors[t]\n };\n }),\n isEditable: isEditable()\n };\n html = templateTags(ctx);\n return $el.find(\"div.tags-container\").html(html);\n };\n renderInReadModeOnly = function() {\n $el.find(\".add-tag\").remove();\n $el.find(\"input\").remove();\n return $el.find(\".save\").remove();\n };\n showAddTagButton = function() {\n return $el.find(\".add-tag\").removeClass(\"hidden\");\n };\n hideAddTagButton = function() {\n return $el.find(\".add-tag\").addClass(\"hidden\");\n };\n showAddTagButtonText = function() {\n return $el.find(\".add-tag-text\").removeClass(\"hidden\");\n };\n hideAddTagButtonText = function() {\n return $el.find(\".add-tag-text\").addClass(\"hidden\");\n };\n showSaveButton = function() {\n return $el.find(\".save\").removeClass(\"hidden\");\n };\n hideSaveButton = function() {\n return $el.find(\".save\").addClass(\"hidden\");\n };\n showInput = function() {\n return $el.find(\"input\").removeClass(\"hidden\").focus();\n };\n hideInput = function() {\n return $el.find(\"input\").addClass(\"hidden\").blur();\n };\n resetInput = function() {\n $el.find(\"input\").val(\"\");\n return $el.find(\"input\").autocomplete(\"close\");\n };\n addValue = $qqueue.bindAdd(function(value) {\n var model, onError, onSuccess, tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue.tags, false);\n if (tags == null) {\n tags = [];\n }\n if (indexOf.call(tags, value) < 0) {\n tags.push(value);\n }\n model = $model.$modelValue.clone();\n model.tags = tags;\n $model.$setViewValue(model);\n onSuccess = function() {\n return $rootScope.$broadcast(\"history:reload\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n model.revert();\n return $model.$setViewValue(model);\n };\n $repo.save(model).then(onSuccess, onError);\n return hideSaveButton();\n });\n deleteValue = $qqueue.bindAdd(function(value) {\n var model, onError, onSuccess, tags;\n value = trim(value.toLowerCase());\n if (value.length === 0) {\n return;\n }\n tags = _.clone($model.$modelValue.tags, false);\n tags = _.pull(tags, value);\n model = $model.$modelValue.clone();\n model.tags = tags;\n $model.$setViewValue(model);\n onSuccess = function() {\n return $rootScope.$broadcast(\"history:reload\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n model.revert();\n return $model.$setViewValue(model);\n };\n return $repo.save(model).then(onSuccess, onError);\n });\n saveInputTag = function() {\n var value;\n value = $el.find(\"input\").val();\n addValue(value);\n return resetInput();\n };\n removeInputLastCharacter = (function(_this) {\n return function(input) {\n var inputValue;\n inputValue = input.val();\n return input.val(inputValue.substring(0, inputValue.length - 1));\n };\n })(this);\n $el.on(\"keypress\", \"input\", function(event) {\n var ref;\n if ((ref = event.keyCode) !== ENTER_KEY && ref !== ESC_KEY) {\n return;\n }\n return event.preventDefault();\n });\n $el.on(\"keyup\", \"input\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if (event.keyCode === ENTER_KEY) {\n return saveInputTag();\n } else if (event.keyCode === COMMA_KEY) {\n removeInputLastCharacter(target);\n return saveInputTag();\n } else if (event.keyCode === ESC_KEY) {\n resetInput();\n hideInput();\n hideSaveButton();\n return showAddTagButton();\n } else {\n if (target.val().length) {\n return showSaveButton();\n } else {\n return hideSaveButton();\n }\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n event.preventDefault();\n return saveInputTag();\n });\n $el.on(\"click\", \".add-tag\", function(event) {\n event.preventDefault();\n hideAddTagButton();\n return showInput();\n });\n $el.on(\"click\", \".icon-delete\", function(event) {\n var target, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n value = target.siblings(\".tag-name\").text();\n return deleteValue(value);\n });\n bindOnce($scope, \"project\", function(project) {\n var positioningFunction;\n if (!isEditable()) {\n renderInReadModeOnly();\n return;\n }\n showAddTagButton();\n positioningFunction = function(position, elements) {\n var menu;\n menu = elements.element.element;\n menu.css(\"width\", elements.target.width);\n menu.css(\"top\", position.top);\n return menu.css(\"left\", position.left);\n };\n return $el.find(\"input\").autocomplete({\n source: _.keys(project.tags_colors),\n position: {\n my: \"left top\",\n using: positioningFunction\n },\n select: function(event, ui) {\n addValue(ui.item.value);\n return ui.item.value = \"\";\n }\n });\n });\n $scope.$watch($attrs.ngModel, function(model) {\n var ref, ref1, tagsColors;\n if (!model) {\n return;\n }\n if ((ref = model.tags) != null ? ref.length : void 0) {\n hideAddTagButtonText();\n } else {\n showAddTagButtonText();\n }\n tagsColors = ((ref1 = $scope.project) != null ? ref1.tags_colors : void 0) || [];\n return renderTags(model.tags, tagsColors);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\",\n templateUrl: \"common/tag/tag-line.html\"\n };\n };\n\n module.directive(\"tgTagLine\", [\"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$tgQqueue\", \"$tgTemplate\", TagLineDirective]);\n\n}).call(this);\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/wisiwyg.coffee\n */\n\n(function() {\n var bindOnce, module, taiga, tgMarkitupDirective,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaCommon\");\n\n tgMarkitupDirective = function($rootscope, $rs, $tr, $selectedText, $template) {\n var link, previewTemplate;\n previewTemplate = $template.get(\"common/wysiwyg/wysiwyg-markitup-preview.html\", true);\n link = function($scope, $el, $attrs, $model) {\n var addLine, closePreviewMode, element, markdownSettings, markdownTitle, prepareUrlFormatting, preview, previewDomNode, setCaretPosition, urlFormatting;\n element = angular.element($el);\n previewDomNode = $(\"
\", {\n \"class\": \"preview\"\n });\n closePreviewMode = function() {\n element.parents(\".markdown\").find(\".preview\").remove();\n return element.parents(\".markItUp\").show();\n };\n $scope.$on(\"markdown-editor:submit\", function() {\n return closePreviewMode();\n });\n preview = function() {\n var markItUpDomNode, markdownDomNode;\n markdownDomNode = element.parents(\".markdown\");\n markItUpDomNode = element.parents(\".markItUp\");\n return $rs.mdrender.render($scope.projectId, $model.$modelValue).then(function(data) {\n var markdown;\n markdownDomNode.append(previewTemplate({\n data: data.data\n }));\n markItUpDomNode.hide();\n markdown = element.closest(\".markdown\");\n return markdown.on(\"mouseup.preview\", \".preview\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.target);\n if (!target.is('a') && $selectedText.get().length) {\n return;\n }\n markdown.off(\".preview\");\n return closePreviewMode();\n });\n });\n };\n setCaretPosition = function(textarea, caretPosition) {\n var line, range, scrollRelation, totalLines;\n if (textarea.createTextRange) {\n range = textarea.createTextRange();\n range.move(\"character\", caretPosition);\n range.select();\n } else if (textarea.selectionStart) {\n textarea.focus();\n textarea.setSelectionRange(caretPosition, caretPosition);\n }\n totalLines = textarea.value.split(\"\\n\").length;\n line = textarea.value.slice(0, +(caretPosition - 1) + 1 || 9e9).split(\"\\n\").length;\n scrollRelation = line / totalLines;\n return $el.scrollTop((scrollRelation * $el[0].scrollHeight) - ($el.height() / 2));\n };\n addLine = function(textarea, nline, replace) {\n var cursorPosition, j, key, len, line, lines;\n lines = textarea.value.split(\"\\n\");\n if (replace) {\n lines[nline] = replace + lines[nline];\n } else {\n lines[nline] = \"\";\n }\n cursorPosition = 0;\n for (key = j = 0, len = lines.length; j < len; key = ++j) {\n line = lines[key];\n cursorPosition += line.length + 1 || 1;\n if (key === nline) {\n break;\n }\n }\n textarea.value = lines.join(\"\\n\");\n if (replace) {\n return cursorPosition - lines[nline].length + replace.length - 1;\n } else {\n return cursorPosition;\n }\n };\n markdownSettings = {\n nameSpace: \"markdown\",\n onShiftEnter: {\n keepDefault: false,\n openWith: \"\\n\\n\"\n },\n onEnter: {\n keepDefault: false,\n replaceWith: function() {\n return \"\\n\";\n },\n afterInsert: function(data) {\n var cursorLine, emptyListItem, lastLine, lines, markdownCaretPositon, match, newLineContent;\n lines = data.textarea.value.split(\"\\n\");\n cursorLine = data.textarea.value.slice(0, +(data.caretPosition - 1) + 1 || 9e9).split(\"\\n\").length;\n newLineContent = data.textarea.value.slice(data.caretPosition).split(\"\\n\")[0];\n lastLine = lines[cursorLine - 1];\n match = lastLine.match(/^(\\s*- ).*/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*)\\-\\s$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, \"\" + match[1]);\n }\n }\n match = lastLine.match(/^(\\s*\\* ).*/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*\\* )$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, \"\" + match[1]);\n }\n }\n match = lastLine.match(/^(\\s*)(\\d+)\\.\\s/);\n if (match) {\n emptyListItem = lastLine.match(/^(\\s*)(\\d+)\\.\\s$/);\n if (emptyListItem) {\n markdownCaretPositon = addLine(data.textarea, cursorLine - 1);\n } else {\n markdownCaretPositon = addLine(data.textarea, cursorLine, (match[1] + (parseInt(match[2], 10) + 1)) + \". \");\n }\n }\n if (markdownCaretPositon) {\n return setCaretPosition(data.textarea, markdownCaretPositon);\n }\n }\n },\n markupSet: [\n {\n name: $tr.t(\"markdown-editor.heading-1\"),\n key: \"1\",\n placeHolder: $tr.t(\"markdown-editor.placeholder\"),\n closeWith: function(markItUp) {\n return markdownTitle(markItUp, \"=\");\n }\n }, {\n name: $tr.t(\"markdown-editor.heading-2\"),\n key: \"2\",\n placeHolder: $tr.t(\"markdown-editor.placeholder\"),\n closeWith: function(markItUp) {\n return markdownTitle(markItUp, \"-\");\n }\n }, {\n name: $tr.t(\"markdown-editor.heading-3\"),\n key: \"3\",\n openWith: \"### \",\n placeHolder: $tr.t(\"markdown-editor.placeholder\")\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.bold\"),\n key: \"B\",\n openWith: \"**\",\n closeWith: \"**\"\n }, {\n name: $tr.t(\"markdown-editor.italic\"),\n key: \"I\",\n openWith: \"_\",\n closeWith: \"_\"\n }, {\n name: $tr.t(\"markdown-editor.strike\"),\n key: \"S\",\n openWith: \"~~\",\n closeWith: \"~~\"\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.bulleted-list\"),\n openWith: \"- \"\n }, {\n name: $tr.t(\"markdown-editor.numeric-list\"),\n openWith: function(markItUp) {\n return markItUp.line + \". \";\n }\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.picture\"),\n key: \"P\",\n replaceWith: '![[![Alternative text]!]](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")',\n beforeInsert: function(markItUp) {\n return prepareUrlFormatting(markItUp);\n },\n afterInsert: function(markItUp) {\n return urlFormatting(markItUp);\n }\n }, {\n name: $tr.t(\"markdown-editor.link\"),\n key: \"L\",\n openWith: \"[\",\n closeWith: '](<<<[![Url:!:http://]!]>>> \"[![Title]!]\")',\n placeHolder: $tr.t(\"markdown-editor.link-placeholder\"),\n beforeInsert: function(markItUp) {\n return prepareUrlFormatting(markItUp);\n },\n afterInsert: function(markItUp) {\n return urlFormatting(markItUp);\n }\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.quotes\"),\n openWith: \"> \"\n }, {\n name: $tr.t(\"markdown-editor.code-block\"),\n openWith: \"```\\n\",\n closeWith: \"\\n```\"\n }, {\n separator: \"---------------\"\n }, {\n name: $tr.t(\"markdown-editor.preview\"),\n call: preview,\n className: \"preview-icon\"\n }\n ],\n afterInsert: function(event) {\n var target;\n target = angular.element(event.textarea);\n return $model.$setViewValue(target.val());\n }\n };\n prepareUrlFormatting = function(markItUp) {\n var indices, regex, result;\n console.log(markItUp);\n regex = /(<<<|>>>)/gi;\n result = 0;\n indices = [];\n while ((result = regex.exec(markItUp.textarea.value))) {\n indices.push(result.index);\n }\n markItUp.donotparse = indices;\n return console.log(indices);\n };\n urlFormatting = function(markItUp) {\n var endIndex, ref, ref1, regex, result, startIndex, url, value;\n console.log(markItUp.donotparse);\n regex = /<<>>/gi;\n endIndex = 0;\n while (true) {\n result = regex.exec(markItUp.textarea.value);\n if (!result) {\n break;\n }\n if (ref1 = result.index, indexOf.call(markItUp.donotparse, ref1) < 0) {\n endIndex = result.index;\n break;\n }\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 return markItUp.donotparse = void 0;\n };\n markdownTitle = function(markItUp, char) {\n var heading, i, j, n, ref;\n heading = \"\";\n n = $.trim(markItUp.selection || markItUp.placeHolder).length;\n for (i = j = 0, ref = n - 1; 0 <= ref ? j <= ref : j >= ref; i = 0 <= ref ? ++j : --j) {\n heading += char;\n }\n return \"\\n\" + heading + \"\\n\";\n };\n element.markItUp(markdownSettings);\n element.on(\"keypress\", function(event) {\n return $scope.$apply();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgMarkitup\", [\"$rootScope\", \"$tgResources\", \"$tgI18n\", \"$selectedText\", \"$tgTemplate\", tgMarkitupDirective]);\n\n}).call(this);\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: pluggins/main.coffee\n */\n\n(function() {\n var module;\n\n module = angular.module(\"taigaPlugins\", [\"ngRoute\"]);\n\n}).call(this);\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/sortable.coffee\n */\n\n(function() {\n var KanbanSortableDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaKanban\");\n\n KanbanSortableDirective = function($repo, $rs, $rootscope) {\n var link;\n link = function($scope, $el, $attrs) {\n bindOnce($scope, \"project\", function(project) {\n var deleteElement, itemEl, newParentScope, oldParentScope, tdom;\n if (!(project.my_permissions.indexOf(\"modify_us\") > -1)) {\n return;\n }\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el;\n deleteElement = function(itemEl) {\n itemEl.scope().$destroy();\n itemEl.off();\n return itemEl.remove();\n };\n tdom.sortable({\n handle: \".kanban-task-inner\",\n dropOnEmpty: true,\n connectWith: \".kanban-uses-box\",\n revert: 400\n });\n tdom.on(\"sortstop\", function(event, ui) {\n var itemIndex, itemUs, newStatusId, oldStatusId, parentEl;\n parentEl = ui.item.parent();\n itemEl = ui.item;\n itemUs = itemEl.scope().us;\n itemIndex = itemEl.index();\n newParentScope = parentEl.scope();\n newStatusId = newParentScope.s.id;\n oldStatusId = oldParentScope.s.id;\n if (newStatusId !== oldStatusId) {\n deleteElement(itemEl);\n }\n $scope.$apply(function() {\n return $rootscope.$broadcast(\"kanban:us:move\", itemUs, itemUs.status, newStatusId, itemIndex);\n });\n return ui.item.find('a').removeClass('noclick');\n });\n return tdom.on(\"sortstart\", function(event, ui) {\n oldParentScope = ui.item.parent().scope();\n return ui.item.find('a').addClass('noclick');\n });\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgKanbanSortable\", [\"$tgRepo\", \"$tgResources\", \"$rootScope\", KanbanSortableDirective]);\n\n}).call(this);\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/sprints.coffee\n */\n\n(function() {\n var generateHash, module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n generateHash = taiga.generateHash;\n\n resourceProvider = function($repo, $model, $storage) {\n var hashSuffixUserstories, service;\n service = {};\n hashSuffixUserstories = \"userstories-queryparams\";\n service.get = function(projectId, sprintId) {\n return $repo.queryOne(\"milestones\", sprintId).then(function(sprint) {\n var uses;\n service.storeUserstoriesQueryParams(projectId, {\n \"milestone\": sprintId\n });\n uses = sprint.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n sprint._attrs.user_stories = uses;\n return sprint;\n });\n };\n service.stats = function(projectId, sprintId) {\n return $repo.queryOneRaw(\"milestones\", sprintId + \"/stats\");\n };\n service.list = function(projectId, filters) {\n var params;\n params = {\n \"project\": projectId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"milestones\", params).then((function(_this) {\n return function(milestones) {\n var i, len, m, uses;\n for (i = 0, len = milestones.length; i < len; i++) {\n m = milestones[i];\n uses = m.user_stories;\n uses = _.map(uses, function(u) {\n return $model.make_model(\"userstories\", u);\n });\n m._attrs.user_stories = uses;\n }\n return milestones;\n };\n })(this));\n };\n service.storeUserstoriesQueryParams = function(projectId, params) {\n var hash, ns;\n ns = projectId + \":\" + hashSuffixUserstories;\n hash = generateHash([projectId, ns]);\n return $storage.set(hash, params);\n };\n return function(instance) {\n return instance.sprints = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgSprintsResourcesProvider\", [\"$tgRepo\", \"$tgModel\", \"$tgStorage\", resourceProvider]);\n\n}).call(this);\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/charts.coffee\n */\n\n(function() {\n var SprintGraphDirective, bindOnce, groupBy, mixOf, module, scopeDefer, taiga, timeout, toggleText;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n toggleText = this.taiga.toggleText;\n\n scopeDefer = this.taiga.scopeDefer;\n\n bindOnce = this.taiga.bindOnce;\n\n groupBy = this.taiga.groupBy;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaTaskboard\");\n\n SprintGraphDirective = function() {\n var link, redrawChart;\n redrawChart = function(element, dataToDraw) {\n var data, days, options, width;\n width = element.width();\n element.height(240);\n days = _.map(dataToDraw, function(x) {\n return moment(x.day);\n });\n data = [];\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.optimal_points;\n })),\n lines: {\n fillColor: \"rgba(120,120,120,0.2)\"\n }\n });\n data.unshift({\n data: _.zip(days, _.map(dataToDraw, function(d) {\n return d.open_points;\n })),\n lines: {\n fillColor: \"rgba(102,153,51,0.3)\"\n }\n });\n options = {\n grid: {\n borderWidth: {\n top: 0,\n right: 1,\n left: 0,\n bottom: 0\n },\n borderColor: '#ccc',\n hoverable: true\n },\n xaxis: {\n tickSize: [1, \"day\"],\n min: days[0],\n max: _.last(days),\n mode: \"time\",\n daysNames: days,\n axisLabel: 'Day',\n axisLabelUseCanvas: true,\n axisLabelFontSizePixels: 12,\n axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',\n axisLabelPadding: 5\n },\n yaxis: {\n min: 0\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: [\"rgba(102,153,51,1)\", \"rgba(120,120,120,0.2)\"],\n tooltip: true,\n tooltipOpts: {\n content: function(label, xval, yval, flotItem) {\n var formattedDate, roundedValue;\n formattedDate = moment(xval).format(\"DD MMM\");\n roundedValue = Math.round(yval);\n if (flotItem.seriesIndex === 1) {\n return \"Optimal pending points for day \" + formattedDate + \" should be \" + roundedValue;\n } else {\n return \"Real pending points for day \" + formattedDate + \" is \" + roundedValue;\n }\n }\n }\n };\n element.empty();\n return element.plot(data, options).data(\"plot\");\n };\n link = function($scope, $el, $attrs) {\n var element;\n element = angular.element($el);\n $scope.$on(\"resize\", function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n $scope.$on(\"taskboard:graph:toggle-visibility\", function() {\n $el.parent().toggleClass('open');\n return timeout(100, function() {\n if ($scope.stats) {\n return redrawChart(element, $scope.stats.days);\n }\n });\n });\n $scope.$watch('stats', function(value) {\n if ($scope.stats == null) {\n return;\n }\n return redrawChart(element, $scope.stats.days);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSprintGraph\", SprintGraphDirective);\n\n}).call(this);\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/tasks/detail.coffee\n */\n\n(function() {\n var TaskDetailController, TaskIsIocaineButtonDirective, TaskStatusButtonDirective, TaskStatusDisplayDirective, groupBy, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n groupBy = this.taiga.groupBy;\n\n module = angular.module(\"taigaTasks\");\n\n TaskDetailController = (function(superClass) {\n extend(TaskDetailController, superClass);\n\n TaskDetailController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$log\", \"$appTitle\", \"$tgNavUrls\", \"$tgAnalytics\", \"tgLoader\"];\n\n function TaskDetailController(scope, rootscope, repo, confirm, rs, params, q, location, log, appTitle, navUrls, analytics, tgLoader) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.log = log;\n this.appTitle = appTitle;\n this.navUrls = navUrls;\n this.analytics = analytics;\n this.scope.taskRef = this.params.taskref;\n this.scope.sectionName = \"Task Details\";\n this.initializeEventHandlers();\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n _this.appTitle.set(_this.scope.task.subject + \" - \" + _this.scope.project.name);\n return _this.initializeOnDeleteGoToUrl();\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n promise[\"finally\"](tgLoader.pageLoaded);\n }\n\n TaskDetailController.prototype.initializeEventHandlers = function() {\n this.scope.$on(\"attachment:create\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"attachment\", \"create\", \"create attachment on task\", 1);\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n this.scope.$on(\"attachment:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n this.scope.$on(\"attachment:delete\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n return this.scope.$on(\"custom-attributes-values:edit\", (function(_this) {\n return function() {\n return _this.rootscope.$broadcast(\"history:reload\");\n };\n })(this));\n };\n\n TaskDetailController.prototype.initializeOnDeleteGoToUrl = function() {\n var ctx;\n ctx = {\n project: this.scope.project.slug\n };\n this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project\", ctx);\n if (this.scope.project.is_backlog_activated) {\n if (this.scope.task.milestone) {\n ctx.sprint = this.scope.sprint.slug;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-taskboard\", ctx);\n } else if (this.scope.task.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n } else if (this.scope.project.is_kanban_activated) {\n if (this.scope.us) {\n ctx.ref = this.scope.us.ref;\n return this.scope.onDeleteGoToUrl = this.navUrls.resolve(\"project-userstories-detail\", ctx);\n }\n }\n };\n\n TaskDetailController.prototype.loadProject = function() {\n return this.rs.projects.getBySlug(this.params.pslug).then((function(_this) {\n return function(project) {\n _this.scope.projectId = project.id;\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.statusList = project.task_statuses;\n _this.scope.statusById = groupBy(project.task_statuses, function(x) {\n return x.id;\n });\n _this.scope.membersById = groupBy(project.memberships, function(x) {\n return x.user;\n });\n return project;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadTask = function() {\n return this.rs.tasks.getByRef(this.scope.projectId, this.params.taskref).then((function(_this) {\n return function(task) {\n var ctx;\n _this.scope.task = task;\n _this.scope.taskId = task.id;\n _this.scope.commentModel = task;\n if (_this.scope.task.neighbors.previous.ref != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.previous.ref\n };\n _this.scope.previousUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n if (_this.scope.task.neighbors.next.ref != null) {\n ctx = {\n project: _this.scope.project.slug,\n ref: _this.scope.task.neighbors.next.ref\n };\n _this.scope.nextUrl = _this.navUrls.resolve(\"project-tasks-detail\", ctx);\n }\n return task;\n };\n })(this));\n };\n\n TaskDetailController.prototype.loadSprint = function() {\n if (this.scope.task.milestone) {\n return this.rs.sprints.get(this.scope.task.project, this.scope.task.milestone).then((function(_this) {\n return function(sprint) {\n _this.scope.sprint = sprint;\n return sprint;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadUserStory = function() {\n if (this.scope.task.user_story) {\n return this.rs.userstories.get(this.scope.task.project, this.scope.task.user_story).then((function(_this) {\n return function(us) {\n _this.scope.us = us;\n return us;\n };\n })(this));\n }\n };\n\n TaskDetailController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise.then((function(_this) {\n return function(project) {\n _this.fillUsersAndRoles(project.users, project.roles);\n return _this.loadTask().then(function() {\n return _this.q.all([_this.loadSprint(), _this.loadUserStory()]);\n });\n };\n })(this));\n };\n\n return TaskDetailController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"TaskDetailController\", TaskDetailController);\n\n TaskStatusDisplayDirective = function($template) {\n var link, template;\n template = $template.get(\"common/components/status-display.html\", true);\n link = function($scope, $el, $attrs) {\n var render;\n render = function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n is_closed: status.is_closed,\n status: status\n });\n return $el.html(html);\n };\n $scope.$watch($attrs.ngModel, function(task) {\n if (task != null) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusDisplay\", [\"$tgTemplate\", TaskStatusDisplayDirective]);\n\n TaskStatusButtonDirective = function($rootScope, $repo, $confirm, $loading, $qqueue) {\n var link, template;\n template = _.template(\"\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = (function(_this) {\n return function(task) {\n var html, status;\n status = $scope.statusById[task.status];\n html = template({\n status: status,\n statuses: $scope.statusList,\n editable: isEditable()\n });\n return $el.html(html);\n };\n })(this);\n save = $qqueue.bindAdd((function(_this) {\n return function(status) {\n var onError, onSuccess, task;\n task = $model.$modelValue.clone();\n task.status = status;\n $model.$setViewValue(task);\n onSuccess = function() {\n $confirm.notify(\"success\");\n $rootScope.$broadcast(\"history:reload\");\n return $loading.finish($el.find(\".level-name\"));\n };\n onError = function() {\n $confirm.notify(\"error\");\n task.revert();\n $model.$setViewValue(task);\n return $loading.finish($el.find(\".level-name\"));\n };\n $loading.start($el.find(\".level-name\"));\n return $repo.save($model.$modelValue).then(onSuccess, onError);\n };\n })(this));\n $el.on(\"click\", \".status-data\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var target;\n event.preventDefault();\n event.stopPropagation();\n if (!isEditable()) {\n return;\n }\n target = angular.element(event.currentTarget);\n $.fn.popover().closeAll();\n return save(target.data(\"status-id\"));\n });\n $scope.$watch($attrs.ngModel, function(task) {\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskStatusButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", TaskStatusButtonDirective]);\n\n TaskIsIocaineButtonDirective = function($rootscope, $tgrepo, $confirm, $loading, $qqueue) {\n var link, template;\n template = _.template(\"
\\n \\n \\n
\");\n link = function($scope, $el, $attrs, $model) {\n var isEditable, render, save;\n isEditable = function() {\n return $scope.project.my_permissions.indexOf(\"modify_task\") !== -1;\n };\n render = function(task) {\n var ctx, html;\n if (!isEditable() && !task.is_iocaine) {\n $el.html(\"\");\n return;\n }\n ctx = {\n isIocaine: task.is_iocaine,\n isEditable: isEditable()\n };\n html = template(ctx);\n return $el.html(html);\n };\n save = $qqueue.bindAdd((function(_this) {\n return function(is_iocaine) {\n var promise, task;\n task = $model.$modelValue.clone();\n task.is_iocaine = is_iocaine;\n $model.$setViewValue(task);\n $loading.start($el.find('label'));\n promise = $tgrepo.save(task);\n promise.then(function() {\n $confirm.notify(\"success\");\n return $rootscope.$broadcast(\"history:reload\");\n });\n promise.then(null, function() {\n task.revert();\n $model.$setViewValue(task);\n return $confirm.notify(\"error\");\n });\n return promise[\"finally\"](function() {\n return $loading.finish($el.find('label'));\n });\n };\n })(this));\n $el.on(\"click\", \".is-iocaine\", function(event) {\n var is_iocaine;\n if (!isEditable()) {\n return;\n }\n is_iocaine = !$model.$modelValue.is_iocaine;\n return save(is_iocaine);\n });\n $scope.$watch($attrs.ngModel, function(task) {\n if (task) {\n return render(task);\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgTaskIsIocaineButton\", [\"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgQqueue\", TaskIsIocaineButtonDirective]);\n\n}).call(this);\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/list.coffee\n */\n\n(function() {\n var IssueAssignedToInlineEditionDirective, IssueStatusInlineEditionDirective, IssuesController, IssuesDirective, IssuesFiltersDirective, bindOnce, debounceLeading, groupBy, joinStr, mixOf, module, startswith, taiga, toString, trim,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounceLeading = this.taiga.debounceLeading;\n\n startswith = this.taiga.startswith;\n\n module = angular.module(\"taigaIssues\");\n\n IssuesController = (function(superClass) {\n extend(IssuesController, superClass);\n\n IssuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$tgUrls\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$appTitle\", \"$tgNavUrls\", \"$tgEvents\", \"$tgAnalytics\", \"tgLoader\"];\n\n function IssuesController(scope, rootscope, repo, confirm, rs, urls, params, q, location, appTitle, navUrls, events, analytics, tgLoader) {\n var filters, promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.urls = urls;\n this.params = params;\n this.q = q;\n this.location = location;\n this.appTitle = appTitle;\n this.navUrls = navUrls;\n this.events = events;\n this.analytics = analytics;\n this.loadIssues = bind(this.loadIssues, this);\n this.scope.sectionName = \"Issues\";\n this.scope.filters = {};\n if (_.isEmpty(this.location.search())) {\n filters = this.rs.issues.getFilters(this.params.pslug);\n filters.page = 1;\n this.location.search(filters);\n this.location.replace();\n return;\n }\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Issues - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n promise[\"finally\"](tgLoader.pageLoaded);\n this.scope.$on(\"issueform:new:success\", (function(_this) {\n return function() {\n _this.analytics.trackEvent(\"issue\", \"create\", \"create issue on issues list\", 1);\n _this.loadIssues();\n return _this.loadFilters();\n };\n })(this));\n }\n\n IssuesController.prototype.initializeSubscription = function() {\n var routingKey;\n routingKey = \"changes.project.\" + this.scope.projectId + \".issues\";\n return this.events.subscribe(this.scope, routingKey, (function(_this) {\n return function(message) {\n return _this.loadIssues();\n };\n })(this));\n };\n\n IssuesController.prototype.storeFilters = function() {\n return this.rs.issues.storeFilters(this.params.pslug, this.location.search());\n };\n\n IssuesController.prototype.loadProject = function() {\n return this.rs.projects.getBySlug(this.params.pslug).then((function(_this) {\n return function(project) {\n if (!project.is_issues_activated) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.projectId = project.id;\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.issueStatusById = groupBy(project.issue_statuses, function(x) {\n return x.id;\n });\n _this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n _this.scope.severityById = groupBy(project.severities, function(x) {\n return x.id;\n });\n _this.scope.severityList = _.sortBy(project.severities, \"order\");\n _this.scope.priorityById = groupBy(project.priorities, function(x) {\n return x.id;\n });\n _this.scope.priorityList = _.sortBy(project.priorities, \"order\");\n _this.scope.issueTypes = _.sortBy(project.issue_types, \"order\");\n _this.scope.issueTypeById = groupBy(project.issue_types, function(x) {\n return x.id;\n });\n _this.scope.membersById = groupBy(project.memberships, function(x) {\n return x.user;\n });\n return project;\n };\n })(this));\n };\n\n IssuesController.prototype.getUrlFilters = function() {\n var filters;\n filters = _.pick(this.location.search(), \"page\", \"tags\", \"statuses\", \"types\", \"q\", \"severities\", \"priorities\", \"assignedTo\", \"createdBy\", \"orderBy\");\n if (!filters.page) {\n filters.page = 1;\n }\n return filters;\n };\n\n IssuesController.prototype.getUrlFilter = function(name) {\n var filters;\n filters = _.pick(this.location.search(), name);\n return filters[name];\n };\n\n IssuesController.prototype.loadMyFilters = function() {\n return this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n return _.map(filters, function(value, key) {\n return {\n id: key,\n name: key,\n type: \"myFilters\",\n selected: false\n };\n });\n };\n })(this));\n };\n\n IssuesController.prototype.removeNotExistingFiltersFromUrl = function() {\n var currentSearch, existingValues, filterName, filterValue, splittedValues, urlfilters;\n currentSearch = this.location.search();\n urlfilters = this.getUrlFilters();\n for (filterName in urlfilters) {\n filterValue = urlfilters[filterName];\n if (filterName === \"page\" || filterName === \"orderBy\" || filterName === \"q\") {\n continue;\n }\n if (filterName === \"tags\") {\n splittedValues = _.map((\"\" + filterValue).split(\",\"));\n } else {\n splittedValues = _.map((\"\" + filterValue).split(\",\"), function(x) {\n if (x === \"null\") {\n return null;\n } else {\n return parseInt(x);\n }\n });\n }\n existingValues = _.intersection(splittedValues, _.map(this.scope.filters[filterName], \"id\"));\n if (splittedValues.length !== existingValues.length) {\n this.location.search(filterName, existingValues.join());\n }\n }\n if (currentSearch !== this.location.search()) {\n return this.location.replace();\n }\n };\n\n IssuesController.prototype.markSelectedFilters = function(filters, urlfilters) {\n var isSelected, j, key, len, name, obj, ref, ref1, results, searchdata, val, value;\n searchdata = {};\n ref = _.omit(urlfilters, \"page\", \"orderBy\");\n for (name in ref) {\n value = ref[name];\n if (searchdata[name] == null) {\n searchdata[name] = {};\n }\n ref1 = (\"\" + value).split(\",\");\n for (j = 0, len = ref1.length; j < len; j++) {\n val = ref1[j];\n searchdata[name][val] = true;\n }\n }\n isSelected = function(type, id) {\n if ((searchdata[type] != null) && searchdata[type][id]) {\n return true;\n }\n return false;\n };\n results = [];\n for (key in filters) {\n value = filters[key];\n results.push((function() {\n var k, len1, results1;\n results1 = [];\n for (k = 0, len1 = value.length; k < len1; k++) {\n obj = value[k];\n results1.push(obj.selected = isSelected(obj.type, obj.id) ? true : void 0);\n }\n return results1;\n })());\n }\n return results;\n };\n\n IssuesController.prototype.loadFilters = function() {\n var promise, urlfilters;\n urlfilters = this.getUrlFilters();\n if (urlfilters.q) {\n this.scope.filtersQ = urlfilters.q;\n }\n promise = this.loadMyFilters().then((function(_this) {\n return function(myFilters) {\n _this.scope.filters.myFilters = myFilters;\n return myFilters;\n };\n })(this));\n promise = promise.then((function(_this) {\n return function() {\n return _this.rs.issues.filtersData(_this.scope.projectId);\n };\n })(this));\n return promise.then((function(_this) {\n return function(data) {\n var choicesFiltersFormat, tagsFilterFormat, usersFiltersFormat;\n usersFiltersFormat = function(users, type, unknownOption) {\n var reformatedUsers, unknownItem;\n reformatedUsers = _.map(users, function(t) {\n return {\n id: t[0],\n count: t[1],\n type: type,\n name: t[0] ? _this.scope.usersById[t[0]].full_name_display : unknownOption\n };\n });\n unknownItem = _.remove(reformatedUsers, function(u) {\n return !u.id;\n });\n reformatedUsers = _.sortBy(reformatedUsers, function(u) {\n return u.name.toUpperCase();\n });\n if (unknownItem.length > 0) {\n reformatedUsers.unshift(unknownItem[0]);\n }\n return reformatedUsers;\n };\n choicesFiltersFormat = function(choices, type, byIdObject) {\n return _.map(choices, function(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 });\n };\n tagsFilterFormat = function(tags) {\n return _.map(tags, function(t) {\n return {\n id: t[0],\n name: t[0],\n color: _this.scope.project.tags_colors[t[0]],\n count: t[1],\n type: \"tags\"\n };\n });\n };\n _this.scope.filters.statuses = choicesFiltersFormat(data.statuses, \"statuses\", _this.scope.issueStatusById);\n _this.scope.filters.severities = choicesFiltersFormat(data.severities, \"severities\", _this.scope.severityById);\n _this.scope.filters.priorities = choicesFiltersFormat(data.priorities, \"priorities\", _this.scope.priorityById);\n _this.scope.filters.assignedTo = usersFiltersFormat(data.assigned_to, \"assignedTo\", \"Unassigned\");\n _this.scope.filters.createdBy = usersFiltersFormat(data.created_by, \"createdBy\", \"Unknown\");\n _this.scope.filters.types = choicesFiltersFormat(data.types, \"types\", _this.scope.issueTypeById);\n _this.scope.filters.tags = tagsFilterFormat(data.tags);\n _this.removeNotExistingFiltersFromUrl();\n _this.markSelectedFilters(_this.scope.filters, urlfilters);\n return _this.rootscope.$broadcast(\"filters:loaded\", _this.scope.filters);\n };\n })(this));\n };\n\n IssuesController.prototype.loadIssuesRequests = 0;\n\n IssuesController.prototype.loadIssues = function() {\n var name, promise, ref, values;\n this.scope.urlFilters = this.getUrlFilters();\n this.scope.httpParams = {};\n ref = this.scope.urlFilters;\n for (name in ref) {\n values = ref[name];\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 }\n this.scope.httpParams[name] = values;\n }\n promise = this.rs.issues.list(this.scope.projectId, this.scope.httpParams);\n this.loadIssuesRequests += 1;\n promise.index = this.loadIssuesRequests;\n return promise.then((function(_this) {\n return function(data) {\n if (promise.index === _this.loadIssuesRequests) {\n _this.scope.issues = data.models;\n _this.scope.page = data.current;\n _this.scope.count = data.count;\n _this.scope.paginatedBy = data.paginatedBy;\n }\n return data;\n };\n })(this));\n };\n\n IssuesController.prototype.loadInitialData = function() {\n var promise;\n promise = this.loadProject();\n return promise.then((function(_this) {\n return function(project) {\n _this.fillUsersAndRoles(project.users, project.roles);\n _this.initializeSubscription();\n return _this.q.all([_this.loadFilters(), _this.loadIssues()]);\n };\n })(this));\n };\n\n IssuesController.prototype.saveCurrentFiltersTo = function(newFilter) {\n var deferred;\n deferred = this.q.defer();\n this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n filters[newFilter] = _this.location.search();\n return _this.rs.issues.storeMyFilters(_this.scope.projectId, filters).then(function() {\n return deferred.resolve();\n });\n };\n })(this));\n return deferred.promise;\n };\n\n IssuesController.prototype.deleteMyFilter = function(filter) {\n var deferred;\n deferred = this.q.defer();\n this.rs.issues.getMyFilters(this.scope.projectId).then((function(_this) {\n return function(filters) {\n delete filters[filter];\n return _this.rs.issues.storeMyFilters(_this.scope.projectId, filters).then(function() {\n return deferred.resolve();\n });\n };\n })(this));\n return deferred.promise;\n };\n\n IssuesController.prototype.addNewIssue = function() {\n return this.rootscope.$broadcast(\"issueform:new\", this.scope.project);\n };\n\n IssuesController.prototype.addIssuesInBulk = function() {\n return this.rootscope.$broadcast(\"issueform:bulk\", this.scope.projectId);\n };\n\n return IssuesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"IssuesController\", IssuesController);\n\n IssuesDirective = function($log, $location, $template) {\n var link, linkOrdering, linkPagination, template;\n template = $template.get(\"issue/issue-paginator.html\", true);\n linkPagination = function($scope, $el, $attrs, $ctrl) {\n var $pagEl, afterCurrent, atBegin, atEnd, beforeCurrent, getNumPages, renderPagination;\n afterCurrent = 2;\n beforeCurrent = 4;\n atBegin = 2;\n atEnd = 2;\n $pagEl = $el.find(\".issues-paginator\");\n getNumPages = function() {\n var numPages;\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 = function() {\n var cpage, i, j, numPages, options, pages, ref;\n numPages = getNumPages();\n if (numPages <= 1) {\n $pagEl.hide();\n return;\n }\n $pagEl.show();\n pages = [];\n options = {};\n options.pages = pages;\n options.showPrevious = $scope.page > 1;\n options.showNext = !($scope.page === numPages);\n cpage = $scope.page;\n for (i = j = 1, ref = numPages; 1 <= ref ? j <= ref : j >= ref; i = 1 <= ref ? ++j : --j) {\n if (i === (cpage + afterCurrent) && numPages > (cpage + afterCurrent + atEnd)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i === (cpage - beforeCurrent) && cpage > (atBegin + beforeCurrent)) {\n pages.push({\n classes: \"dots\",\n type: \"dots\"\n });\n } else if (i > (cpage + afterCurrent) && i <= (numPages - atEnd)) {\n\n } else if (i < (cpage - beforeCurrent) && i > atBegin) {\n\n } else if (i === cpage) {\n pages.push({\n classes: \"active\",\n num: i,\n type: \"page-active\"\n });\n } else {\n pages.push({\n classes: \"page\",\n num: i,\n type: \"page\"\n });\n }\n }\n return $pagEl.html(template(options));\n };\n $scope.$watch(\"issues\", function(value) {\n if (!value) {\n return;\n }\n return renderPagination();\n });\n $el.on(\"click\", \".issues-paginator a.next\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page + 1);\n return $ctrl.loadIssues();\n });\n });\n $el.on(\"click\", \".issues-paginator a.previous\", function(event) {\n event.preventDefault();\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", $scope.page - 1);\n return $ctrl.loadIssues();\n });\n });\n return $el.on(\"click\", \".issues-paginator li.page > a\", function(event) {\n var pagenum, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n pagenum = target.data(\"pagenum\");\n return $scope.$apply(function() {\n $ctrl.selectFilter(\"page\", pagenum);\n return $ctrl.loadIssues();\n });\n });\n };\n linkOrdering = function($scope, $el, $attrs, $ctrl) {\n var colHeadElement, currentOrder, icon;\n currentOrder = $ctrl.getUrlFilter(\"orderBy\") || \"created_date\";\n if (currentOrder) {\n icon = startswith(currentOrder, \"-\") ? \"icon-caret-up\" : \"icon-caret-down\";\n colHeadElement = $el.find(\".row.title > div[data-fieldname='\" + (trim(currentOrder, \"-\")) + \"']\");\n colHeadElement.html((colHeadElement.html()) + \"\");\n }\n return $el.on(\"click\", \".row.title > div\", function(event) {\n var finalOrder, newOrder, target;\n target = angular.element(event.currentTarget);\n currentOrder = $ctrl.getUrlFilter(\"orderBy\");\n newOrder = target.data(\"fieldname\");\n finalOrder = currentOrder === newOrder ? \"-\" + newOrder : newOrder;\n return $scope.$apply(function() {\n $ctrl.replaceFilter(\"orderBy\", finalOrder);\n $ctrl.storeFilters();\n return $ctrl.loadIssues().then(function() {\n $el.find(\".row.title > div > span.icon\").remove();\n icon = startswith(finalOrder, \"-\") ? \"icon-caret-up\" : \"icon-caret-down\";\n return target.html((target.html()) + \"\");\n });\n });\n });\n };\n link = function($scope, $el, $attrs) {\n var $ctrl;\n $ctrl = $el.controller();\n linkOrdering($scope, $el, $attrs, $ctrl);\n linkPagination($scope, $el, $attrs, $ctrl);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssues\", [\"$log\", \"$tgLocation\", \"$tgTemplate\", IssuesDirective]);\n\n IssuesFiltersDirective = function($log, $location, $rs, $confirm, $loading, $template) {\n var link, template, templateSelected;\n template = $template.get(\"issue/issues-filters.html\", true);\n templateSelected = $template.get(\"issue/issues-filters-selected.html\", true);\n link = function($scope, $el, $attrs) {\n var $ctrl, initializeSelectedFilters, renderFilters, renderSelectedFilters, selectQFilter, selectedFilters, showCategories, showFilters, toggleFilterSelection;\n $ctrl = $el.closest(\".wrapper\").controller();\n selectedFilters = [];\n showFilters = function(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 return $el.find(\"h2 a.subfilter span.title\").prop(\"data-type\", type);\n };\n showCategories = function() {\n $el.find(\".filters-cats\").show();\n $el.find(\".filter-list\").addClass(\"hidden\");\n return $el.find(\"h2.breadcrumb\").addClass(\"hidden\");\n };\n initializeSelectedFilters = function(filters) {\n var j, len, name, val, values;\n selectedFilters = [];\n for (name in filters) {\n values = filters[name];\n for (j = 0, len = values.length; j < len; j++) {\n val = values[j];\n if (val.selected) {\n selectedFilters.push(val);\n }\n }\n }\n return renderSelectedFilters(selectedFilters);\n };\n renderSelectedFilters = function(selectedFilters) {\n var html;\n _.filter(selectedFilters, (function(_this) {\n return function(f) {\n if (f.color) {\n return f.style = \"border-left: 3px solid \" + f.color;\n }\n };\n })(this));\n html = templateSelected({\n filters: selectedFilters\n });\n $el.find(\".filters-applied\").html(html);\n if (selectedFilters.length > 0) {\n return $el.find(\".save-filters\").show();\n } else {\n return $el.find(\".save-filters\").hide();\n }\n };\n renderFilters = function(filters) {\n var html;\n _.filter(filters, (function(_this) {\n return function(f) {\n if (f.color) {\n return f.style = \"border-left: 3px solid \" + f.color;\n }\n };\n })(this));\n html = template({\n filters: filters\n });\n return $el.find(\".filter-list\").html(html);\n };\n toggleFilterSelection = function(type, id) {\n var currentFiltersType, filter, filterId, filters;\n if (type === \"myFilters\") {\n $rs.issues.getMyFilters($scope.projectId).then(function(data) {\n var filters, myFilters;\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 return initializeSelectedFilters($scope.filters);\n });\n return null;\n }\n filters = $scope.filters[type];\n filterId = type === 'tags' ? taiga.toString(id) : id;\n filter = _.find(filters, {\n id: filterId\n });\n filter.selected = !filter.selected;\n if (id === null) {\n id = \"null\";\n }\n if (filter.selected) {\n selectedFilters.push(filter);\n $scope.$apply(function() {\n $ctrl.selectFilter(type, id);\n $ctrl.selectFilter(\"page\", 1);\n $ctrl.storeFilters();\n return $ctrl.loadIssues();\n });\n } else {\n selectedFilters = _.reject(selectedFilters, filter);\n $scope.$apply(function() {\n $ctrl.unselectFilter(type, id);\n $ctrl.selectFilter(\"page\", 1);\n $ctrl.storeFilters();\n return $ctrl.loadIssues();\n });\n }\n renderSelectedFilters(selectedFilters);\n currentFiltersType = $el.find(\"h2 a.subfilter span.title\").prop('data-type');\n if (type === currentFiltersType) {\n return renderFilters(_.reject(filters, \"selected\"));\n }\n };\n $scope.$on(\"filters:loaded\", function(ctx, filters) {\n return initializeSelectedFilters(filters);\n });\n $scope.$on(\"filters:issueupdate\", function(ctx, filters) {\n var html;\n html = template({\n filters: filters.statuses\n });\n return $el.find(\".filter-list\").html(html);\n });\n selectQFilter = debounceLeading(100, function(value) {\n if (value === void 0) {\n return;\n }\n $ctrl.replaceFilter(\"page\", null);\n if (value.length === 0) {\n $ctrl.replaceFilter(\"q\", null);\n $ctrl.storeFilters();\n } else {\n $ctrl.replaceFilter(\"q\", value);\n $ctrl.storeFilters();\n }\n return $ctrl.loadIssues();\n });\n $scope.$watch(\"filtersQ\", selectQFilter);\n $el.on(\"click\", \".filters-cats > ul > li > a\", function(event) {\n var tags, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n tags = $scope.filters[target.data(\"type\")];\n renderFilters(_.reject(tags, \"selected\"));\n return showFilters(target.attr(\"title\"), target.data(\"type\"));\n });\n $el.on(\"click\", \".filters-inner > .filters-step-cat > .breadcrumb > .back\", function(event) {\n event.preventDefault();\n return showCategories($el);\n });\n $el.on(\"click\", \".filters-applied a\", function(event) {\n var id, target, type;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n id = target.data(\"id\") || null;\n type = target.data(\"type\");\n return toggleFilterSelection(type, id);\n });\n $el.on(\"click\", \".filter-list .single-filter\", function(event) {\n var id, target, type;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n target.toggleClass(\"active\");\n id = target.data(\"id\") || null;\n type = target.data(\"type\");\n if (type === \"myFilters\") {\n target.removeClass(\"active\");\n }\n return toggleFilterSelection(type, id);\n });\n $el.on(\"click\", \".filter-list .single-filter .icon-delete\", function(event) {\n var customFilterName, message, target, title;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n customFilterName = target.parent().data('id');\n title = \"Delete custom filter\";\n message = \"the custom filter '\" + customFilterName + \"'\";\n return $confirm.askOnDelete(title, message).then(function(finish) {\n var promise;\n promise = $ctrl.deleteMyFilter(customFilterName);\n promise.then(function() {\n promise = $ctrl.loadMyFilters();\n promise.then(function(filters) {\n finish();\n $scope.filters.myFilters = filters;\n return renderFilters($scope.filters.myFilters);\n });\n return promise.then(null, function() {\n return finish();\n });\n });\n return promise.then(null, function() {\n finish(false);\n return $confirm.notify(\"error\");\n });\n });\n });\n $el.on(\"click\", \".save-filters\", function(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 return $el.find('.my-filter-name').focus();\n });\n return $el.on(\"keyup\", \".my-filter-name\", function(event) {\n var newFilter, promise, target;\n event.preventDefault();\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n newFilter = target.val();\n $loading.start($el.find(\".new\"));\n promise = $ctrl.saveCurrentFiltersTo(newFilter);\n promise.then(function() {\n var loadPromise;\n loadPromise = $ctrl.loadMyFilters();\n loadPromise.then(function(filters) {\n var currentfilterstype;\n $loading.finish($el.find(\".new\"));\n $scope.filters.myFilters = filters;\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 return $el.find('.save-filters').show();\n });\n return loadPromise.then(null, function() {\n $loading.finish($el.find(\".new\"));\n return $confirm.notify(\"error\", \"Error loading custom filters\");\n });\n });\n return promise.then(null, function() {\n $loading.finish($el.find(\".new\"));\n $el.find(\".my-filter-name\").val(newFilter).focus().select();\n return $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 return $el.find('.save-filters').show();\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssuesFilters\", [\"$log\", \"$tgLocation\", \"$tgResources\", \"$tgConfirm\", \"$tgLoading\", \"$tgTemplate\", IssuesFiltersDirective]);\n\n IssueStatusInlineEditionDirective = function($repo, $template, $rootscope) {\n\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 var link, selectionTemplate, updateIssueStatus;\n selectionTemplate = $template.get(\"issue/issue-status-inline-edition-selection.html\", true);\n updateIssueStatus = function($el, issue, issueStatusById) {\n var issueStatusDom, issueStatusDomParent, status;\n issueStatusDomParent = $el.find(\".issue-status\");\n issueStatusDom = $el.find(\".issue-status .issue-status-bind\");\n status = issueStatusById[issue.status];\n if (status) {\n issueStatusDom.text(status.name);\n issueStatusDom.prop(\"title\", status.name);\n return issueStatusDomParent.css('color', status.color);\n }\n };\n link = function($scope, $el, $attrs) {\n var $ctrl, issue;\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueStatusInlineEdition);\n $el.on(\"click\", \".issue-status\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n return $el.find(\".pop-status\").popover().open();\n });\n $el.on(\"click\", \".status\", function(event) {\n var filter, j, len, ref, target;\n event.preventDefault();\n event.stopPropagation();\n target = angular.element(event.currentTarget);\n ref = $scope.filters.statuses;\n for (j = 0, len = ref.length; j < len; j++) {\n filter = ref[j];\n if (filter.id === issue.status) {\n filter.count--;\n }\n }\n issue.status = target.data(\"status-id\");\n $el.find(\".pop-status\").popover().close();\n updateIssueStatus($el, issue, $scope.issueStatusById);\n return $scope.$apply(function() {\n var k, len1, ref1;\n $repo.save(issue).then;\n ref1 = $scope.filters.statuses;\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n filter = ref1[k];\n if (filter.id === issue.status) {\n filter.count++;\n }\n }\n return $rootscope.$broadcast(\"filters:issueupdate\", $scope.filters);\n });\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n $el.append(selectionTemplate({\n 'statuses': project.issue_statuses\n }));\n updateIssueStatus($el, issue, $scope.issueStatusById);\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$watch($attrs.tgIssueStatusInlineEdition, (function(_this) {\n return function(val) {\n return updateIssueStatus($el, val, $scope.issueStatusById);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueStatusInlineEdition\", [\"$tgRepo\", \"$tgTemplate\", \"$rootScope\", IssueStatusInlineEditionDirective]);\n\n IssueAssignedToInlineEditionDirective = function($repo, $rootscope, popoverService) {\n var link, template;\n template = _.template(\"\\\" alt=\\\"<%- name %>\\\"/>\\n
<%- name %>
\");\n link = function($scope, $el, $attrs) {\n var $ctrl, issue, updateIssue;\n updateIssue = function(issue) {\n var ctx, member;\n ctx = {\n name: \"Unassigned\",\n imgurl: \"/images/unnamed.png\"\n };\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 return $el.find(\".issue-assignedto\").attr('title', ctx.name);\n };\n $ctrl = $el.controller();\n issue = $scope.$eval($attrs.tgIssueAssignedToInlineEdition);\n updateIssue(issue);\n $el.on(\"click\", \".issue-assignedto\", function(event) {\n return $rootscope.$broadcast(\"assigned-to:add\", issue);\n });\n taiga.bindOnce($scope, \"project\", function(project) {\n if (project.my_permissions.indexOf(\"modify_issue\") === -1) {\n $el.unbind(\"click\");\n return $el.find(\"a\").addClass(\"not-clickable\");\n }\n });\n $scope.$on(\"assigned-to:added\", (function(_this) {\n return function(ctx, userId, updatedIssue) {\n if (updatedIssue.id === issue.id) {\n updatedIssue.assigned_to = userId;\n $repo.save(updatedIssue);\n return updateIssue(updatedIssue);\n }\n };\n })(this));\n $scope.$watch($attrs.tgIssueAssignedToInlineEdition, (function(_this) {\n return function(val) {\n return updateIssue(val);\n };\n })(this));\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgIssueAssignedToInlineEdition\", [\"$tgRepo\", \"$rootScope\", IssueAssignedToInlineEditionDirective]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"memberships\", id);\n };\n service.list = function(projectId, filters, enablePagination) {\n var options, params;\n if (enablePagination == null) {\n enablePagination = true;\n }\n params = {\n project: projectId\n };\n params = _.extend({}, params, filters || {});\n if (enablePagination) {\n return $repo.queryPaginated(\"memberships\", params);\n }\n return $repo.queryMany(\"memberships\", params, options = {\n enablePagination: enablePagination\n });\n };\n service.listByUser = function(userId, filters) {\n var params;\n params = {\n user: userId\n };\n params = _.extend({}, params, filters || {});\n return $repo.queryPaginated(\"memberships\", params);\n };\n service.resendInvitation = function(id) {\n var url;\n url = $urls.resolve(\"memberships\");\n return $http.post(url + \"/\" + id + \"/resend_invitation\", {});\n };\n service.bulkCreateMemberships = function(projectId, data, invitation_extra_text) {\n var params, url;\n url = $urls.resolve(\"bulk-create-memberships\");\n params = {\n project_id: projectId,\n bulk_memberships: data,\n invitation_extra_text: invitation_extra_text\n };\n return $http.post(url, params);\n };\n return function(instance) {\n return instance.memberships = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMembershipsResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/admin/project-profile.coffee\n */\n\n(function() {\n var CsvExporterController, CsvExporterIssuesController, CsvExporterTasksController, CsvExporterUserstoriesController, ProjectDefaultValuesDirective, ProjectExportDirective, ProjectModulesDirective, ProjectProfileController, ProjectProfileDirective, bindOnce, debounce, groupBy, joinStr, mixOf, module, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectProfileController = (function(superClass) {\n extend(ProjectProfileController, superClass);\n\n ProjectProfileController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectProfileController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Project profile - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:loaded\", (function(_this) {\n return function() {\n return _this.appTitle.set(\"Project profile - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n }\n\n ProjectProfileController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.pointsList = _.sortBy(project.points, \"order\");\n _this.scope.usStatusList = _.sortBy(project.us_statuses, \"order\");\n _this.scope.taskStatusList = _.sortBy(project.task_statuses, \"order\");\n _this.scope.prioritiesList = _.sortBy(project.priorities, \"order\");\n _this.scope.severitiesList = _.sortBy(project.severities, \"order\");\n _this.scope.issueTypesList = _.sortBy(project.issue_types, \"order\");\n _this.scope.issueStatusList = _.sortBy(project.issue_statuses, \"order\");\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ProjectProfileController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n ProjectProfileController.prototype.openDeleteLightbox = function() {\n return this.rootscope.$broadcast(\"deletelightbox:new\", this.scope.project);\n };\n\n return ProjectProfileController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectProfileController\", ProjectProfileController);\n\n ProjectProfileDirective = function($repo, $confirm, $loading, $navurls, $location) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.save($scope.project);\n promise.then(function() {\n var newUrl;\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n newUrl = $navurls.resolve(\"project-admin-project-profile-details\", {\n project: $scope.project.slug\n });\n $location.path(newUrl);\n return $scope.$emit(\"project:loaded\", $scope.project);\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectProfile\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", \"$tgNavUrls\", \"$tgLocation\", ProjectProfileDirective]);\n\n ProjectDefaultValuesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.save($scope.project);\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectDefaultValues\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectDefaultValuesDirective]);\n\n ProjectModulesDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit;\n form = $el.find(\"form\").checksley();\n submit = (function(_this) {\n return function() {\n var promise, target;\n if (!form.validate()) {\n return;\n }\n target = angular.element(\".admin-functionalities a.button-green\");\n $loading.start(target);\n promise = $repo.save($scope.project);\n promise.then(function() {\n $loading.finish(target);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:loaded\", $scope.project);\n });\n return promise.then(null, function(data) {\n $loading.finish(target);\n return $confirm.notify(\"error\", data._error_message);\n });\n };\n })(this);\n $el.on(\"submit\", \"form\", function(event) {\n event.preventDefault();\n return submit();\n });\n $el.on(\"click\", \".admin-functionalities a.button-green\", function(event) {\n event.preventDefault();\n return submit();\n });\n $scope.$watch(\"isVideoconferenceActivated\", function(isVideoconferenceActivated) {\n if (isVideoconferenceActivated) {\n return $el.find(\".videoconference-attributes\").removeClass(\"hidden\");\n } else {\n $el.find(\".videoconference-attributes\").addClass(\"hidden\");\n $scope.project.videoconferences = null;\n return $scope.project.videoconferences_salt = \"\";\n }\n });\n return $scope.$watch(\"project\", function(project) {\n if (project.videoconferences != null) {\n return $scope.isVideoconferenceActivated = true;\n } else {\n return $scope.isVideoconferenceActivated = false;\n }\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectModules\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", ProjectModulesDirective]);\n\n ProjectExportDirective = function($window, $rs, $confirm) {\n var link;\n link = function($scope, $el, $attrs) {\n var buttonsEl, hideButtons, hideResult, hideSpinner, resultEl, resultMessageEl, resultTitleEl, setAsyncMessage, setAsyncTitle, setLoadingMessage, setLoadingTitle, setSyncMessage, setSyncTitle, showButtons, showErrorMode, showExportResultAsyncMode, showExportResultSyncMode, showLoadingMode, showResult, showSpinner, spinnerEl;\n buttonsEl = $el.find(\".admin-project-export-buttons\");\n showButtons = function() {\n return buttonsEl.removeClass(\"hidden\");\n };\n hideButtons = function() {\n return buttonsEl.addClass(\"hidden\");\n };\n resultEl = $el.find(\".admin-project-export-result\");\n showResult = function() {\n return resultEl.removeClass(\"hidden\");\n };\n hideResult = function() {\n return resultEl.addClass(\"hidden\");\n };\n spinnerEl = $el.find(\".spin\");\n showSpinner = function() {\n return spinnerEl.removeClass(\"hidden\");\n };\n hideSpinner = function() {\n return spinnerEl.addClass(\"hidden\");\n };\n resultTitleEl = $el.find(\".result-title\");\n setLoadingTitle = function() {\n return resultTitleEl.html(\"We are generating your dump file\");\n };\n setAsyncTitle = function() {\n return resultTitleEl.html(\"We are generating your dump file\");\n };\n setSyncTitle = function() {\n return resultTitleEl.html(\"Your dump file is ready!\");\n };\n resultMessageEl = $el.find(\".result-message \");\n setLoadingMessage = function() {\n return resultMessageEl.html(\"Please don't close this page.\");\n };\n setAsyncMessage = function() {\n return resultMessageEl.html(\"We will send you an email when ready.\");\n };\n setSyncMessage = function(url) {\n return resultMessageEl.html(\"If the download doesn't start automatically click here.\");\n };\n showLoadingMode = function() {\n showSpinner();\n setLoadingTitle();\n setLoadingMessage();\n hideButtons();\n return showResult();\n };\n showExportResultAsyncMode = function() {\n hideSpinner();\n setAsyncTitle();\n return setAsyncMessage();\n };\n showExportResultSyncMode = function(url) {\n hideSpinner();\n setSyncTitle();\n return setSyncMessage(url);\n };\n showErrorMode = function() {\n hideSpinner();\n hideResult();\n return showButtons();\n };\n return $el.on(\"click\", \"a.button-export\", debounce(2000, (function(_this) {\n return function(event) {\n var onError, onSuccess;\n event.preventDefault();\n onSuccess = function(result) {\n var dumpUrl;\n if (result.status === 202) {\n return showExportResultAsyncMode();\n } else {\n dumpUrl = result.data.url;\n showExportResultSyncMode(dumpUrl);\n return $window.open(dumpUrl, \"_blank\");\n }\n };\n onError = function(result) {\n var errorMsg, ref;\n showErrorMode();\n errorMsg = \"Our oompa loompas have some problems generasting your dump. Please try again. \";\n if (result.status === 429) {\n errorMsg = \"Sorry, our oompa loompas are very busy right now. Please try again in a few minutes. \";\n } else if ((ref = result.data) != null ? ref._error_message : void 0) {\n errorMsg = \"Our oompa loompas have some problems generasting your dump: \" + result.data._error_message;\n }\n return $confirm.notify(\"error\", errorMsg);\n };\n showLoadingMode();\n return $rs.projects[\"export\"]($scope.projectId).then(onSuccess, onError);\n };\n })(this)));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectExport\", [\"$window\", \"$tgResources\", \"$tgConfirm\", ProjectExportDirective]);\n\n CsvExporterController = (function(superClass) {\n extend(CsvExporterController, superClass);\n\n CsvExporterController.$inject = [\"$scope\", \"$rootScope\", \"$tgUrls\", \"$tgConfirm\", \"$tgResources\"];\n\n function CsvExporterController(scope, rootscope, urls, confirm, rs) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.urls = urls;\n this.confirm = confirm;\n this.rs = rs;\n this._generateUuid = bind(this._generateUuid, this);\n this.setCsvUuid = bind(this.setCsvUuid, this);\n this.rootscope.$on(\"project:loaded\", this.setCsvUuid);\n this.scope.$watch(\"csvUuid\", (function(_this) {\n return function(value) {\n if (value) {\n return _this.scope.csvUrl = _this.urls.resolveAbsolute(_this.type + \"-csv\", value);\n } else {\n return _this.scope.csvUrl = \"\";\n }\n };\n })(this));\n }\n\n CsvExporterController.prototype.setCsvUuid = function() {\n return this.scope.csvUuid = this.scope.project[this.type + \"_csv_uuid\"];\n };\n\n CsvExporterController.prototype._generateUuid = function(finish) {\n var promise;\n promise = this.rs.projects[\"regenerate_\" + this.type + \"_csv_uuid\"](this.scope.projectId);\n promise.then((function(_this) {\n return function(data) {\n var ref;\n return _this.scope.csvUuid = (ref = data.data) != null ? ref.uuid : void 0;\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n promise[\"finally\"](function() {\n return finish();\n });\n return promise;\n };\n\n CsvExporterController.prototype.regenerateUuid = function() {\n var subtitle, title;\n if (this.scope.csvUuid) {\n title = \"Change URL\";\n subtitle = \"You going to change the CSV data access url. The previous url will be disabled. Are you sure?\";\n return this.confirm.ask(title, subtitle).then(this._generateUuid);\n } else {\n return this._generateUuid(_.identity);\n }\n };\n\n return CsvExporterController;\n\n })(taiga.Controller);\n\n CsvExporterUserstoriesController = (function(superClass) {\n extend(CsvExporterUserstoriesController, superClass);\n\n function CsvExporterUserstoriesController() {\n return CsvExporterUserstoriesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterUserstoriesController.prototype.type = \"userstories\";\n\n return CsvExporterUserstoriesController;\n\n })(CsvExporterController);\n\n CsvExporterTasksController = (function(superClass) {\n extend(CsvExporterTasksController, superClass);\n\n function CsvExporterTasksController() {\n return CsvExporterTasksController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterTasksController.prototype.type = \"tasks\";\n\n return CsvExporterTasksController;\n\n })(CsvExporterController);\n\n CsvExporterIssuesController = (function(superClass) {\n extend(CsvExporterIssuesController, superClass);\n\n function CsvExporterIssuesController() {\n return CsvExporterIssuesController.__super__.constructor.apply(this, arguments);\n }\n\n CsvExporterIssuesController.prototype.type = \"issues\";\n\n return CsvExporterIssuesController;\n\n })(CsvExporterController);\n\n module.controller(\"CsvExporterUserstoriesController\", CsvExporterUserstoriesController);\n\n module.controller(\"CsvExporterTasksController\", CsvExporterTasksController);\n\n module.controller(\"CsvExporterIssuesController\", CsvExporterIssuesController);\n\n}).call(this);\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/admin/project-profile.coffee\n */\n\n(function() {\n var ColorSelectionDirective, ProjectCustomAttributesController, ProjectCustomAttributesDirective, ProjectValuesController, ProjectValuesDirective, ProjectValuesSectionController, bindOnce, debounce, groupBy, joinStr, mixOf, module, taiga, toString, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n trim = this.taiga.trim;\n\n toString = this.taiga.toString;\n\n joinStr = this.taiga.joinStr;\n\n groupBy = this.taiga.groupBy;\n\n bindOnce = this.taiga.bindOnce;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaAdmin\");\n\n ProjectValuesSectionController = (function(superClass) {\n extend(ProjectValuesSectionController, superClass);\n\n ProjectValuesSectionController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectValuesSectionController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Project values - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n ProjectValuesSectionController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ProjectValuesSectionController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return ProjectValuesSectionController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectValuesSectionController\", ProjectValuesSectionController);\n\n ProjectValuesController = (function(superClass) {\n extend(ProjectValuesController, superClass);\n\n ProjectValuesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\"];\n\n function ProjectValuesController(scope, rootscope, repo, confirm, rs) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.moveValue = bind(this.moveValue, this);\n this.loadValues = bind(this.loadValues, this);\n this.scope.$on(\"admin:project-values:move\", this.moveValue);\n this.rootscope.$on(\"project:loaded\", this.loadValues);\n }\n\n ProjectValuesController.prototype.loadValues = function() {\n return this.rs[this.scope.resource].listValues(this.scope.projectId, this.scope.type).then((function(_this) {\n return function(values) {\n _this.scope.values = values;\n _this.scope.maxValueOrder = _.max(values, \"order\").order;\n return values;\n };\n })(this));\n };\n\n ProjectValuesController.prototype.moveValue = function(ctx, itemValue, itemIndex) {\n var r, values;\n values = this.scope.values;\n r = values.indexOf(itemValue);\n values.splice(r, 1);\n values.splice(itemIndex, 0, itemValue);\n _.each(values, function(value, index) {\n return value.order = index;\n });\n return this.repo.saveAll(values);\n };\n\n return ProjectValuesController;\n\n })(taiga.Controller);\n\n module.controller(\"ProjectValuesController\", ProjectValuesController);\n\n ProjectValuesDirective = function($log, $repo, $confirm, $location, animationFrame) {\n var link, linkDragAndDrop, linkValue;\n linkDragAndDrop = function($scope, $el, $attrs) {\n var itemEl, newParentScope, oldParentScope, tdom;\n oldParentScope = null;\n newParentScope = null;\n itemEl = null;\n tdom = $el.find(\".sortable\");\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 tdom.on(\"sortstop\", function(event, ui) {\n var itemIndex, itemValue;\n itemEl = ui.item;\n itemValue = itemEl.scope().value;\n itemIndex = itemEl.index();\n return $scope.$broadcast(\"admin:project-values:move\", itemValue, itemIndex);\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n linkValue = function($scope, $el, $attrs) {\n var $ctrl, cancel, goToBottomList, initializeNewValue, saveNewValue, saveValue, valueType;\n $ctrl = $el.controller();\n valueType = $attrs.type;\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"is_closed\": false,\n \"is_archived\": false\n };\n };\n initializeNewValue();\n goToBottomList = (function(_this) {\n return function(focus) {\n var table;\n if (focus == null) {\n focus = false;\n }\n table = $el.find(\".table-main\");\n $(document.body).scrollTop(table.offset().top + table.height());\n if (focus) {\n return $el.find(\".new-value input:visible\").first().focus();\n }\n };\n })(this);\n saveValue = function(target) {\n var form, formEl, promise, value;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n value = formEl.scope().value;\n promise = $repo.save(value);\n promise.then((function(_this) {\n return function() {\n var row;\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n return row.siblings(\".visualization\").removeClass('hidden');\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n saveNewValue = function(target) {\n var form, formEl, promise;\n formEl = target.parents(\"form\");\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n $scope.newValue.order = $scope.maxValueOrder ? $scope.maxValueOrder + 1 : 1;\n promise = $repo.create(valueType, $scope.newValue);\n promise.then((function(_this) {\n return function(data) {\n target.addClass(\"hidden\");\n $scope.values.push(data);\n $scope.maxValueOrder = data.order;\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n return form.setErrors(data);\n });\n };\n cancel = function(target) {\n var formEl, row, value;\n row = target.parents(\".row.table-main\");\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n return $scope.$apply(function() {\n row.addClass(\"hidden\");\n value.revert();\n return row.siblings(\".visualization\").removeClass('hidden');\n });\n };\n $el.on(\"click\", \".show-add-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").removeClass('hidden');\n return goToBottomList(true);\n });\n $el.on(\"click\", \".add-new\", debounce(2000, function(event) {\n var target;\n event.preventDefault();\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n }));\n $el.on(\"click\", \".delete-new\", function(event) {\n event.preventDefault();\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n });\n $el.on(\"click\", \".edit-value\", function(event) {\n var editionRow, row, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n row = target.parents(\".row.table-main\");\n row.addClass(\"hidden\");\n editionRow = row.siblings(\".edition\");\n editionRow.removeClass('hidden');\n return editionRow.find('input:visible').first().focus().select();\n });\n $el.on(\"keyup\", \".edition input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return saveValue(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"keyup\", \".new-value input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = $el.find(\".new-value\");\n return saveNewValue(target);\n } else if (event.keyCode === 27) {\n $el.find(\".new-value\").addClass(\"hidden\");\n return initializeNewValue();\n }\n });\n $el.on(\"click\", \".save\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return saveValue(target);\n });\n $el.on(\"click\", \".cancel\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return cancel(target);\n });\n return $el.on(\"click\", \".delete-value\", function(event) {\n var choices, formEl, replacement, subtitle, target, title, value;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.parents(\"form\");\n value = formEl.scope().value;\n choices = {};\n _.each($scope.values, function(option) {\n if (value.id !== option.id) {\n return choices[option.id] = option.name;\n }\n });\n title = \"Delete value\";\n subtitle = value.name;\n replacement = \"All items with this value will be changed to\";\n if (_.keys(choices).length === 0) {\n return $confirm.error(\"You can't delete all values.\");\n }\n return $confirm.askChoice(title, subtitle, choices, replacement).then(function(response) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadValues()[\"finally\"](function() {\n return response.finish();\n });\n };\n onError = function() {\n return $confirm.notify(\"error\");\n };\n return $repo.remove(value, {\n \"moveTo\": response.selected\n }).then(onSucces, onError);\n });\n });\n };\n link = function($scope, $el, $attrs) {\n linkDragAndDrop($scope, $el, $attrs);\n linkValue($scope, $el, $attrs);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectValues\", [\"$log\", \"$tgRepo\", \"$tgConfirm\", \"$tgLocation\", \"animationFrame\", ProjectValuesDirective]);\n\n ColorSelectionDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $model) {\n var $ctrl;\n $ctrl = $el.controller();\n $scope.$watch($attrs.ngModel, function(element) {\n return $scope.color = element.color;\n });\n $el.on(\"click\", \".current-color\", function(event) {\n var body, target;\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 body = angular.element(\"body\");\n return body.on(\"click\", (function(_this) {\n return function(event) {\n if (angular.element(event.target).parent(\".select-color\").length === 0) {\n $el.find(\".select-color\").hide();\n return body.unbind(\"click\");\n }\n };\n })(this));\n });\n $el.on(\"click\", \".select-color .color\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n $scope.$apply(function() {\n return $model.$modelValue.color = target.data(\"color\");\n });\n return $el.find(\".select-color\").hide();\n });\n $el.on(\"click\", \".select-color .selected-color\", function(event) {\n event.preventDefault();\n $scope.$apply(function() {\n return $model.$modelValue.color = $scope.color;\n });\n return $el.find(\".select-color\").hide();\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link,\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgColorSelection\", ColorSelectionDirective);\n\n ProjectCustomAttributesController = (function(superClass) {\n extend(ProjectCustomAttributesController, superClass);\n\n ProjectCustomAttributesController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function ProjectCustomAttributesController(scope, rootscope, repo, rs, params, q, location, navUrls, appTitle) {\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n this.moveCustomAttributes = bind(this.moveCustomAttributes, this);\n this.deleteCustomAttribute = bind(this.deleteCustomAttribute, this);\n this.saveCustomAttribute = bind(this.saveCustomAttribute, this);\n this.createCustomAttribute = bind(this.createCustomAttribute, this);\n this.loadCustomAttributes = bind(this.loadCustomAttributes, this);\n this.scope.project = {};\n this.rootscope.$on(\"project:loaded\", (function(_this) {\n return function() {\n _this.loadCustomAttributes();\n return _this.appTitle.set(\"Project Custom Attributes - \" + _this.scope.sectionName + \" - \" + _this.scope.project.name);\n };\n })(this));\n }\n\n ProjectCustomAttributesController.prototype.loadCustomAttributes = function() {\n return this.rs.customAttributes[this.scope.type].list(this.scope.projectId).then((function(_this) {\n return function(customAttributes) {\n _this.scope.customAttributes = customAttributes;\n _this.scope.maxOrder = _.max(customAttributes, \"order\").order;\n return customAttributes;\n };\n })(this));\n };\n\n ProjectCustomAttributesController.prototype.createCustomAttribute = function(attrValues) {\n return this.repo.create(\"custom-attributes/\" + this.scope.type, attrValues);\n };\n\n ProjectCustomAttributesController.prototype.saveCustomAttribute = function(attrModel) {\n return this.repo.save(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.deleteCustomAttribute = function(attrModel) {\n return this.repo.remove(attrModel);\n };\n\n ProjectCustomAttributesController.prototype.moveCustomAttributes = function(attrModel, newIndex) {\n var customAttributes, r;\n customAttributes = this.scope.customAttributes;\n r = customAttributes.indexOf(attrModel);\n customAttributes.splice(r, 1);\n customAttributes.splice(newIndex, 0, attrModel);\n _.each(customAttributes, function(val, idx) {\n return val.order = idx;\n });\n return this.repo.saveAll(customAttributes);\n };\n\n return ProjectCustomAttributesController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"ProjectCustomAttributesController\", ProjectCustomAttributesController);\n\n ProjectCustomAttributesDirective = function($log, $confirm, animationFrame) {\n var link;\n link = function($scope, $el, $attrs) {\n var $ctrl, cancelCreate, cancelUpdate, create, deleteCustomAttribute, hideAddButton, hideCancelButton, hideCreateForm, hideEditForm, resetNewAttr, revertChangesInCustomAttribute, showAddButton, showCancelButton, showCreateForm, showEditForm, sortableEl, update;\n $ctrl = $el.controller();\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n sortableEl = $el.find(\".js-sortable\");\n sortableEl.sortable({\n handle: \".js-view-custom-field\",\n dropOnEmpty: true,\n revert: 400,\n axis: \"y\"\n });\n sortableEl.on(\"sortstop\", function(event, ui) {\n var itemAttr, itemEl, itemIndex;\n itemEl = ui.item;\n itemAttr = itemEl.scope().attr;\n itemIndex = itemEl.index();\n return $ctrl.moveCustomAttributes(itemAttr, itemIndex);\n });\n showCreateForm = function() {\n $el.find(\".js-new-custom-field\").removeClass(\"hidden\");\n return $el.find(\".js-new-custom-field input:visible\").first().focus();\n };\n hideCreateForm = function() {\n return $el.find(\".js-new-custom-field\").addClass(\"hidden\");\n };\n showAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").removeClass(\"hidden\");\n };\n hideAddButton = function() {\n return $el.find(\".js-add-custom-field-button\").addClass(\"hidden\");\n };\n showCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").removeClass(\"hidden\");\n };\n hideCancelButton = function() {\n return $el.find(\".js-cancel-new-custom-field-button\").addClass(\"hidden\");\n };\n resetNewAttr = function() {\n return $scope.newAttr = {};\n };\n create = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideCreateForm();\n resetNewAttr();\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = $scope.newAttr;\n attr.project = $scope.projectId;\n attr.order = $scope.maxOrder ? $scope.maxOrder + 1 : 1;\n return $ctrl.createCustomAttribute(attr).then(onSucces, onError);\n };\n cancelCreate = function() {\n hideCreateForm();\n return resetNewAttr();\n };\n $scope.$watch(\"customAttributes\", function(customAttributes) {\n if (!customAttributes) {\n return;\n }\n if (customAttributes.length === 0) {\n hideCancelButton();\n hideAddButton();\n return showCreateForm();\n } else {\n hideCreateForm();\n showAddButton();\n return showCancelButton();\n }\n });\n $el.on(\"click\", \".js-add-custom-field-button\", function(event) {\n event.preventDefault();\n return showCreateForm();\n });\n $el.on(\"click\", \".js-create-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n }));\n $el.on(\"click\", \".js-cancel-new-custom-field-button\", function(event) {\n event.preventDefault();\n return cancelCreate();\n });\n $el.on(\"keyup\", \".js-new-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return create(formEl);\n } else if (event.keyCode === 27) {\n return cancelCreate();\n }\n });\n showEditForm = function(formEl) {\n formEl.find(\".js-view-custom-field\").addClass(\"hidden\");\n formEl.find(\".js-edit-custom-field\").removeClass(\"hidden\");\n return formEl.find(\".js-edit-custom-field input:visible\").first().focus().select();\n };\n hideEditForm = function(formEl) {\n formEl.find(\".js-edit-custom-field\").addClass(\"hidden\");\n return formEl.find(\".js-view-custom-field\").removeClass(\"hidden\");\n };\n revertChangesInCustomAttribute = function(formEl) {\n return $scope.$apply(function() {\n return formEl.scope().attr.revert();\n });\n };\n update = function(formEl) {\n var attr, form, onError, onSucces;\n form = formEl.checksley();\n if (!form.validate()) {\n return;\n }\n onSucces = (function(_this) {\n return function() {\n $ctrl.loadCustomAttributes();\n hideEditForm(formEl);\n return $confirm.notify(\"success\");\n };\n })(this);\n onError = (function(_this) {\n return function(data) {\n return form.setErrors(data);\n };\n })(this);\n attr = formEl.scope().attr;\n return $ctrl.saveCustomAttribute(attr).then(onSucces, onError);\n };\n cancelUpdate = function(formEl) {\n hideEditForm(formEl);\n return revertChangesInCustomAttribute(formEl);\n };\n $el.on(\"click\", \".js-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return showEditForm(formEl);\n });\n $el.on(\"click\", \".js-update-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n }));\n $el.on(\"click\", \".js-cancel-edit-custom-field-button\", function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n });\n $el.on(\"keyup\", \".js-edit-custom-field input\", function(event) {\n var formEl, target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return update(formEl);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return cancelUpdate(formEl);\n }\n });\n deleteCustomAttribute = function(formEl) {\n var attr, message, subtitle, title;\n attr = formEl.scope().attr;\n title = \"Delete custom attribute\";\n subtitle = \"Remeber that all values in this custom field will be deleted.
Are you sure you want to continue?\";\n message = attr.name;\n return $confirm.ask(title, subtitle, message).then(function(finish) {\n var onError, onSucces;\n onSucces = function() {\n return $ctrl.loadCustomAttributes()[\"finally\"](function() {\n return finish();\n });\n };\n onError = function() {\n finish(false);\n return $confirm.notify(\"error\", null, \"We have not been able to delete '\" + message + \"'.\");\n };\n return $ctrl.deleteCustomAttribute(attr).then(onSucces, onError);\n });\n };\n return $el.on(\"click\", \".js-delete-custom-field-button\", debounce(2000, function(event) {\n var formEl, target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n formEl = target.closest(\"form\");\n return deleteCustomAttribute(formEl);\n }));\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgProjectCustomAttributes\", [\"$log\", \"$tgConfirm\", \"animationFrame\", ProjectCustomAttributesDirective]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"roles\", id);\n };\n service.list = function(projectId) {\n return $repo.queryMany(\"roles\", {\n project: projectId\n });\n };\n return function(instance) {\n return instance.roles = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgRolesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\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/admin/third-parties.coffee\n */\n\n(function() {\n var BitbucketController, BitbucketWebhooksDirective, GithubController, GithubWebhooksDirective, GitlabController, GitlabWebhooksDirective, NewWebhookDirective, SelectInputText, ValidOriginIpsDirective, WebhookDirective, WebhooksController, bindMethods, debounce, mixOf, module, taiga, timeout,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindMethods = this.taiga.bindMethods;\n\n debounce = this.taiga.debounce;\n\n timeout = this.taiga.timeout;\n\n module = angular.module(\"taigaAdmin\");\n\n WebhooksController = (function(superClass) {\n extend(WebhooksController, superClass);\n\n WebhooksController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$tgLocation\", \"$tgNavUrls\", \"$appTitle\"];\n\n function WebhooksController(scope, repo, rs, params, location, navUrls, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.location = location;\n this.navUrls = navUrls;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Webhooks\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Webhooks - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"webhooks:reload\", this.loadWebhooks);\n }\n\n WebhooksController.prototype.loadWebhooks = function() {\n return this.rs.webhooks.list(this.scope.projectId).then((function(_this) {\n return function(webhooks) {\n return _this.scope.webhooks = webhooks;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n if (!project.i_am_owner) {\n _this.location.path(_this.navUrls.resolve(\"permission-denied\"));\n }\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n WebhooksController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadWebhooks();\n };\n })(this));\n };\n\n return WebhooksController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"WebhooksController\", WebhooksController);\n\n WebhookDirective = function($rs, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var cancel, openHistory, save, showEditMode, showVisualizationMode, updateLogs, updateShowHideHistoryText, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n updateLogs = function() {\n return $rs.webhooklogs.list(webhook.id).then((function(_this) {\n return function(webhooklogs) {\n var i, len, log, ref;\n for (i = 0, len = webhooklogs.length; i < len; i++) {\n log = webhooklogs[i];\n log.validStatus = (200 <= (ref = log.status) && ref < 300);\n log.prettySentHeaders = _.map(_.pairs(log.request_headers), function(arg) {\n var header, value;\n header = arg[0], value = arg[1];\n return header + \": \" + value;\n }).join(\"\\n\");\n log.prettySentData = JSON.stringify(log.request_data);\n log.prettyDate = moment(log.created).format(\"DD MMM YYYY [at] hh:mm:ss\");\n }\n webhook.logs_counter = webhooklogs.length;\n webhook.logs = webhooklogs;\n return updateShowHideHistoryText();\n };\n })(this));\n };\n updateShowHideHistoryText = function() {\n var historyElement, textElement;\n textElement = $el.find(\".toggle-history\");\n historyElement = textElement.parents(\".single-webhook-wrapper\").find(\".webhooks-history\");\n if (historyElement.hasClass(\"open\")) {\n return textElement.text(\"(Hide history)\");\n } else {\n return textElement.text(\"(Show history)\");\n }\n };\n showVisualizationMode = function() {\n $el.find(\".edition-mode\").addClass(\"hidden\");\n return $el.find(\".visualization-mode\").removeClass(\"hidden\");\n };\n showEditMode = function() {\n $el.find(\".visualization-mode\").addClass(\"hidden\");\n return $el.find(\".edition-mode\").removeClass(\"hidden\");\n };\n openHistory = function() {\n return $el.find(\".webhooks-history\").addClass(\"open\");\n };\n cancel = function() {\n showVisualizationMode();\n return $scope.$apply(function() {\n return webhook.revert();\n });\n };\n save = debounce(2000, function(target) {\n var form, promise;\n form = target.parents(\"form\").checksley();\n if (!form.validate()) {\n return;\n }\n promise = $repo.save(webhook);\n promise.then((function(_this) {\n return function() {\n return showVisualizationMode();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n $el.on(\"click\", \".test-webhook\", function() {\n openHistory();\n return $rs.webhooks.test(webhook.id).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n $el.on(\"click\", \".edit-webhook\", function() {\n return showEditMode();\n });\n $el.on(\"click\", \".cancel-existing\", function() {\n return cancel();\n });\n $el.on(\"click\", \".edit-existing\", function(event) {\n var target;\n event.preventDefault();\n target = angular.element(event.currentTarget);\n return save(target);\n });\n $el.on(\"keyup\", \".edition-mode input\", function(event) {\n var target;\n if (event.keyCode === 13) {\n target = angular.element(event.currentTarget);\n return save(target);\n } else if (event.keyCode === 27) {\n target = angular.element(event.currentTarget);\n return cancel(target);\n }\n });\n $el.on(\"click\", \".delete-webhook\", function() {\n var message, title;\n title = \"Delete webhook\";\n message = \"Webhook '\" + webhook.name + \"'\";\n return $confirm.askOnDelete(title, message).then((function(_this) {\n return function(finish) {\n var onError, onSucces;\n onSucces = function() {\n finish();\n return $scope.$emit(\"webhooks:reload\");\n };\n onError = function() {\n finish(false);\n return $confirm.notify(\"error\");\n };\n return $repo.remove(webhook).then(onSucces, onError);\n };\n })(this));\n });\n $el.on(\"click\", \".toggle-history\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n if ((webhook.logs == null) || webhook.logs.length === 0) {\n return updateLogs().then(function() {\n return timeout(0, function() {\n $el.find(\".webhooks-history\").toggleClass(\"open\");\n return updateShowHideHistoryText();\n });\n });\n } else {\n $el.find(\".webhooks-history\").toggleClass(\"open\");\n return $scope.$apply(function() {\n return updateShowHideHistoryText();\n });\n }\n });\n $el.on(\"click\", \".history-single\", function(event) {\n var target;\n target = angular.element(event.currentTarget);\n target.toggleClass(\"history-single-open\");\n return target.siblings(\".history-single-response\").toggleClass(\"open\");\n });\n return $el.on(\"click\", \".resend-request\", function(event) {\n var log, target;\n target = angular.element(event.currentTarget);\n log = target.data(\"log\");\n return $rs.webhooklogs.resend(log).then((function(_this) {\n return function() {\n return updateLogs();\n };\n })(this));\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", WebhookDirective]);\n\n NewWebhookDirective = function($rs, $repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var addWebhookDOMNode, formDOMNode, initializeNewValue, save, webhook;\n webhook = $scope.$eval($attrs.tgWebhook);\n formDOMNode = $el.find(\".new-webhook-form\");\n addWebhookDOMNode = $el.find(\".add-webhook\");\n initializeNewValue = function() {\n return $scope.newValue = {\n \"name\": \"\",\n \"url\": \"\",\n \"key\": \"\"\n };\n };\n initializeNewValue();\n $scope.$watch(\"webhooks\", function(webhooks) {\n if (webhooks != null) {\n if (webhooks.length === 0) {\n formDOMNode.removeClass(\"hidden\");\n addWebhookDOMNode.addClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n } else {\n formDOMNode.addClass(\"hidden\");\n return addWebhookDOMNode.removeClass(\"hidden\");\n }\n }\n });\n save = debounce(2000, function() {\n var form, promise;\n form = formDOMNode.checksley();\n if (!form.validate()) {\n return;\n }\n $scope.newValue.project = $scope.project.id;\n promise = $repo.create(\"webhooks\", $scope.newValue);\n promise.then((function(_this) {\n return function() {\n $scope.$emit(\"webhooks:reload\");\n return initializeNewValue();\n };\n })(this));\n return promise.then(null, function(data) {\n $confirm.notify(\"error\");\n return form.setErrors(data);\n });\n });\n formDOMNode.on(\"click\", \".add-new\", function(event) {\n event.preventDefault();\n return save();\n });\n formDOMNode.on(\"keyup\", \"input\", function(event) {\n if (event.keyCode === 13) {\n return save();\n }\n });\n formDOMNode.on(\"click\", \".cancel-new\", function(event) {\n return $scope.$apply(function() {\n return initializeNewValue();\n });\n });\n return addWebhookDOMNode.on(\"click\", function(event) {\n formDOMNode.removeClass(\"hidden\");\n return formDOMNode.find(\"input\")[0].focus();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNewWebhook\", [\"$tgResources\", \"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", NewWebhookDirective]);\n\n GithubController = (function(superClass) {\n extend(GithubController, superClass);\n\n GithubController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function GithubController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Github\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Github - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n GithubController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"github\").then((function(_this) {\n return function(github) {\n return _this.scope.github = github;\n };\n })(this));\n };\n\n GithubController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n GithubController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return GithubController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GithubController\", GithubController);\n\n GitlabController = (function(superClass) {\n extend(GitlabController, superClass);\n\n GitlabController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function GitlabController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Gitlab\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Gitlab - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n GitlabController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"gitlab\").then((function(_this) {\n return function(gitlab) {\n return _this.scope.gitlab = gitlab;\n };\n })(this));\n };\n\n GitlabController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n GitlabController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return GitlabController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"GitlabController\", GitlabController);\n\n BitbucketController = (function(superClass) {\n extend(BitbucketController, superClass);\n\n BitbucketController.$inject = [\"$scope\", \"$tgRepo\", \"$tgResources\", \"$routeParams\", \"$appTitle\"];\n\n function BitbucketController(scope, repo, rs, params, appTitle) {\n var promise;\n this.scope = scope;\n this.repo = repo;\n this.rs = rs;\n this.params = params;\n this.appTitle = appTitle;\n bindMethods(this);\n this.scope.sectionName = \"Bitbucket\";\n this.scope.project = {};\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(\"Bitbucket - \" + _this.scope.project.name);\n };\n })(this));\n promise.then(null, this.onInitialDataError.bind(this));\n this.scope.$on(\"project:modules:reload\", (function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n }\n\n BitbucketController.prototype.loadModules = function() {\n return this.rs.modules.list(this.scope.projectId, \"bitbucket\").then((function(_this) {\n return function(bitbucket) {\n return _this.scope.bitbucket = bitbucket;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n BitbucketController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadModules();\n };\n })(this));\n };\n\n return BitbucketController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin, taiga.FiltersMixin));\n\n module.controller(\"BitbucketController\", BitbucketController);\n\n SelectInputText = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $el.on(\"click\", \".select-input-content\", function() {\n $el.find(\"input\").select();\n return $el.find(\".help-copy\").addClass(\"visible\");\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgSelectInputText\", SelectInputText);\n\n GithubWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.github, \"github\");\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify(\"success\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGithubWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GithubWebhooksDirective]);\n\n GitlabWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.gitlab, \"gitlab\");\n promise.then(function() {\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgGitlabWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", GitlabWebhooksDirective]);\n\n BitbucketWebhooksDirective = function($repo, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs) {\n var form, submit, submitButton;\n form = $el.find(\"form\").checksley({\n \"onlyOneErrorElement\": true\n });\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if (!form.validate()) {\n return;\n }\n $loading.start(submitButton);\n promise = $repo.saveAttribute($scope.bitbucket, \"bitbucket\");\n promise.then(function() {\n $loading.finish(submitButton);\n $confirm.notify(\"success\");\n return $scope.$emit(\"project:modules:reload\");\n });\n return promise.then(null, function(data) {\n $loading.finish(submitButton);\n form.setErrors(data);\n if (data._error_message) {\n return $confirm.notify(\"error\", data._error_message);\n }\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n return $el.on(\"submit\", \"form\", submit);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgBitbucketWebhooks\", [\"$tgRepo\", \"$tgConfirm\", \"$tgLoading\", BitbucketWebhooksDirective]);\n\n ValidOriginIpsDirective = function() {\n var link;\n link = function($scope, $el, $attrs, $ngModel) {\n return $ngModel.$parsers.push(function(value) {\n value = $.trim(value);\n if (value === \"\") {\n return [];\n }\n return value.split(\",\");\n });\n };\n return {\n link: link,\n restrict: \"EA\",\n require: \"ngModel\"\n };\n };\n\n module.directive(\"tgValidOriginIps\", ValidOriginIpsDirective);\n\n}).call(this);\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/base/bind.coffee\n */\n\n(function() {\n var BindHtmlDirective, BindOnceAltDirective, BindOnceBindDirective, BindOnceHrefDirective, BindOnceHtmlDirective, BindOnceRefDirective, BindOnceSrcDirective, BindOnceTitleDirective, BindTitleDirective, bindOnce, module;\n\n bindOnce = this.taiga.bindOnce;\n\n BindOnceBindDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoBind, function(val) {\n return $el.text(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHtml, function(val) {\n return $el.html(val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceRefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoRef, function(val) {\n return $el.html(\"#\" + val + \" \");\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceSrcDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoSrc, function(val) {\n return $el.attr(\"src\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceHrefDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoHref, function(val) {\n return $el.attr(\"href\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceAltDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoAlt, function(val) {\n return $el.attr(\"alt\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindOnceTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return bindOnce($scope, $attrs.tgBoTitle, function(val) {\n return $el.attr(\"title\", val);\n });\n };\n return {\n link: link\n };\n };\n\n BindTitleDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgTitleHtml, function(val) {\n if (val != null) {\n return $el.attr(\"title\", val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n BindHtmlDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$watch($attrs.tgBindHtml, function(val) {\n if (val != null) {\n return $el.html(val);\n }\n });\n };\n return {\n link: link\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.directive(\"tgBoBind\", BindOnceBindDirective);\n\n module.directive(\"tgBoHtml\", BindOnceHtmlDirective);\n\n module.directive(\"tgBoRef\", BindOnceRefDirective);\n\n module.directive(\"tgBoSrc\", BindOnceSrcDirective);\n\n module.directive(\"tgBoHref\", BindOnceHrefDirective);\n\n module.directive(\"tgBoAlt\", BindOnceAltDirective);\n\n module.directive(\"tgBoTitle\", BindOnceTitleDirective);\n\n module.directive(\"tgBindTitle\", BindTitleDirective);\n\n module.directive(\"tgBindHtml\", BindHtmlDirective);\n\n}).call(this);\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/base/conf.coffee\n */\n\n(function() {\n var ConfigurationService, module;\n\n ConfigurationService = (function() {\n function ConfigurationService() {\n this.config = window.taigaConfig;\n }\n\n ConfigurationService.prototype.get = function(key, defaultValue) {\n if (defaultValue == null) {\n defaultValue = null;\n }\n if (_.has(this.config, key)) {\n return this.config[key];\n }\n return defaultValue;\n };\n\n return ConfigurationService;\n\n })();\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgConfig\", ConfigurationService);\n\n}).call(this);\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/base/contrib.coffee\n */\n\n(function() {\n var ContribController, module, taigaContribPlugins,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taigaContribPlugins = this.taigaContribPlugins = this.taigaContribPlugins || [];\n\n ContribController = (function(superClass) {\n extend(ContribController, superClass);\n\n ContribController.$inject = [\"$rootScope\", \"$scope\", \"$routeParams\", \"$tgRepo\", \"$tgResources\", \"$tgConfirm\", \"$appTitle\"];\n\n function ContribController(rootScope, scope, params, repo, rs, confirm, appTitle) {\n var promise;\n this.rootScope = rootScope;\n this.scope = scope;\n this.params = params;\n this.repo = repo;\n this.rs = rs;\n this.confirm = confirm;\n this.appTitle = appTitle;\n this.scope.adminPlugins = _.where(this.rootScope.contribPlugins, {\n \"type\": \"admin\"\n });\n this.scope.currentPlugin = _.first(_.where(this.scope.adminPlugins, {\n \"slug\": this.params.plugin\n }));\n this.scope.pluginTemplate = \"contrib/\" + this.scope.currentPlugin.slug;\n this.scope.projectSlug = this.params.pslug;\n promise = this.loadInitialData();\n promise.then((function(_this) {\n return function() {\n return _this.appTitle.set(_this.scope.project.name);\n };\n })(this));\n promise.then(null, (function(_this) {\n return function() {\n return _this.confirm.notify(\"error\");\n };\n })(this));\n }\n\n ContribController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n _this.scope.$broadcast('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n ContribController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return ContribController;\n\n })(taiga.Controller);\n\n module = angular.module(\"taigaBase\");\n\n module.controller(\"ContribController\", ContribController);\n\n}).call(this);\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/base/http.coffee\n */\n\n(function() {\n var HttpService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n HttpService = (function(superClass) {\n extend(HttpService, superClass);\n\n HttpService.$inject = [\"$http\", \"$q\", \"$tgStorage\"];\n\n HttpService.prototype.headers = function() {\n var token;\n token = this.storage.get('token');\n if (token) {\n return {\n \"Authorization\": \"Bearer \" + token\n };\n }\n return {};\n };\n\n function HttpService(http, q, storage) {\n this.http = http;\n this.q = q;\n this.storage = storage;\n HttpService.__super__.constructor.call(this);\n }\n\n HttpService.prototype.request = function(options) {\n options.headers = _.merge({}, options.headers || {}, this.headers());\n if (_.isPlainObject(options.data)) {\n options.data = JSON.stringify(options.data);\n }\n return this.http(options);\n };\n\n HttpService.prototype.get = function(url, params, options) {\n options = _.merge({\n method: \"GET\",\n url: url\n }, options);\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.post = function(url, data, params, options) {\n options = _.merge({\n method: \"POST\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.put = function(url, data, params, options) {\n options = _.merge({\n method: \"PUT\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype.patch = function(url, data, params, options) {\n options = _.merge({\n method: \"PATCH\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n HttpService.prototype[\"delete\"] = function(url, data, params, options) {\n options = _.merge({\n method: \"DELETE\",\n url: url\n }, options);\n if (data) {\n options.data = data;\n }\n if (params) {\n options.params = params;\n }\n return this.request(options);\n };\n\n return HttpService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgHttp\", HttpService);\n\n}).call(this);\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/base/i18n.coffee\n */\n\n(function() {\n var I18nDirective, I18nService, bindOnce, defaults, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n bindOnce = this.taiga.bindOnce;\n\n defaults = {\n ns: \"app\",\n fallbackLng: \"en\",\n async: false,\n lng: \"en\"\n };\n\n I18nService = (function(superClass) {\n extend(I18nService, superClass);\n\n function I18nService(rootscope, localesEn) {\n this.rootscope = rootscope;\n this.options = _.clone(defaults, true);\n this.options.resStore = {\n en: {\n app: localesEn\n }\n };\n }\n\n I18nService.prototype.setLanguage = function(language) {\n i18n.setLng(language);\n this.rootscope.currentLang = language;\n return this.rootscope.$broadcast(\"i18n:changeLang\", language);\n };\n\n I18nService.prototype.initialize = function() {\n i18n.init(this.options);\n return this.rootscope.t = i18n.t;\n };\n\n I18nService.prototype.t = function(path, opts) {\n return i18n.t(path, opts);\n };\n\n return I18nService;\n\n })(taiga.Service);\n\n I18nDirective = function($rootscope, $i18n) {\n var link;\n link = function($scope, $el, $attrs) {\n var i, len, ns, options, opts, ref, results, v, values;\n values = $attrs.tr.split(\",\");\n options = $attrs.trOpts || '{}';\n opts = $scope.$eval(options);\n results = [];\n for (i = 0, len = values.length; i < len; i++) {\n v = values[i];\n if (v.indexOf(\":\") === -1) {\n results.push($el.html(_.escape($i18n.t(v, opts))));\n } else {\n ref = v.split(\":\"), ns = ref[0], v = ref[1];\n results.push($el.attr(ns, _.escape($i18n.t(v, opts))));\n }\n }\n return results;\n };\n return {\n link: link,\n restrict: \"A\",\n scope: false\n };\n };\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgI18n\", [\"$rootScope\", \"localesEn\", I18nService]);\n\n module.directive(\"tr\", [\"$rootScope\", \"$tgI18n\", I18nDirective]);\n\n}).call(this);\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/base/location.coffee\n */\n\n(function() {\n var locationFactory, module;\n\n locationFactory = function($location, $route, $rootscope) {\n $location.noreload = function(scope) {\n var lastRoute, un;\n lastRoute = $route.current;\n un = scope.$on(\"$locationChangeSuccess\", function() {\n $route.current = lastRoute;\n return un();\n });\n return $location;\n };\n $location.isInCurrentRouteParams = function(name, value) {\n var params;\n params = _.merge($route.current.params, $location.search());\n return params[name] === value;\n };\n return $location;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgLocation\", [\"$location\", \"$route\", \"$rootScope\", locationFactory]);\n\n}).call(this);\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/base/model.coffee\n */\n\n(function() {\n var Model, ModelService, module, provider, taiga,\n indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n Model = (function() {\n function Model(name, data, dataTypes) {\n this._attrs = data;\n this._name = name;\n this._dataTypes = dataTypes;\n this.setAttrs(data);\n this.initialize();\n }\n\n Model.prototype.clone = function() {\n var instance;\n instance = new Model(this._name, this._attrs, this._dataTypes);\n instance._modifiedAttrs = this._modifiedAttrs;\n instance._isModified = this._isModified;\n return instance;\n };\n\n Model.prototype.applyCasts = function() {\n var attrName, castMethod, castName, ref, results;\n ref = this._dataTypes;\n results = [];\n for (attrName in ref) {\n castName = ref[attrName];\n castMethod = service.casts[castName];\n if (!castMethod) {\n continue;\n }\n results.push(this._attrs[attrName] = castMethod(this._attrs[attrName]));\n }\n return results;\n };\n\n Model.prototype.getIdAttrName = function() {\n return \"id\";\n };\n\n Model.prototype.getName = function() {\n return this._name;\n };\n\n Model.prototype.getAttrs = function(patch) {\n if (patch == null) {\n patch = false;\n }\n if (this._attrs.version != null) {\n this._modifiedAttrs.version = this._attrs.version;\n }\n if (patch) {\n return _.extend({}, this._modifiedAttrs);\n }\n return _.extend({}, this._attrs, this._modifiedAttrs);\n };\n\n Model.prototype.setAttrs = function(attrs) {\n this._attrs = attrs;\n this._modifiedAttrs = {};\n this.applyCasts();\n return this._isModified = false;\n };\n\n Model.prototype.setAttr = function(name, value) {\n this._modifiedAttrs[name] = value;\n return this._isModified = true;\n };\n\n Model.prototype.initialize = function() {\n var getter, self, setter;\n self = this;\n getter = function(name) {\n return function() {\n if (typeof name === 'string' && name.substr(0, 2) === \"__\") {\n return self[name];\n }\n if (indexOf.call(_.keys(self._modifiedAttrs), name) < 0) {\n return self._attrs[name];\n }\n return self._modifiedAttrs[name];\n };\n };\n setter = function(name) {\n return function(value) {\n if (typeof name === 'string' && 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 };\n };\n return _.each(this._attrs, function(value, name) {\n var options;\n options = {\n get: getter(name),\n set: setter(name),\n enumerable: true,\n configurable: true\n };\n return Object.defineProperty(self, name, options);\n });\n };\n\n Model.prototype.serialize = function() {\n var data;\n data = {\n \"data\": _.clone(this._attrs),\n \"name\": this._name\n };\n return JSON.stringify(data);\n };\n\n Model.prototype.isModified = function() {\n return this._isModified;\n };\n\n Model.prototype.isAttributeModified = function(attribute) {\n return this._modifiedAttrs[attribute] != null;\n };\n\n Model.prototype.markSaved = function() {\n this._isModified = false;\n this._attrs = this.getAttrs();\n return this._modifiedAttrs = {};\n };\n\n Model.prototype.revert = function() {\n this._modifiedAttrs = {};\n return this._isModified = false;\n };\n\n Model.desSerialize = function(sdata) {\n var ddata, model;\n ddata = JSON.parse(sdata);\n model = new Model(ddata.url, ddata.data);\n return model;\n };\n\n return Model;\n\n })();\n\n taiga = this.taiga;\n\n ModelService = (function(superClass) {\n extend(ModelService, superClass);\n\n ModelService.$inject = [\"$q\", \"$tgUrls\", \"$tgStorage\", \"$tgHttp\"];\n\n function ModelService(q, urls, storage, http) {\n this.q = q;\n this.urls = urls;\n this.storage = storage;\n this.http = http;\n ModelService.__super__.constructor.call(this);\n }\n\n return ModelService;\n\n })(taiga.Service);\n\n provider = function($q, $http, $gmUrls, $gmStorage) {\n var service;\n service = {};\n service.make_model = function(name, data, cls, dataTypes) {\n if (cls == null) {\n cls = Model;\n }\n if (dataTypes == null) {\n dataTypes = {};\n }\n return new cls(name, data, dataTypes);\n };\n service.cls = Model;\n service.casts = {\n int: function(value) {\n return parseInt(value, 10);\n },\n float: function(value) {\n return parseFloat(value, 10);\n }\n };\n return service;\n };\n\n module = angular.module(\"taigaBase\");\n\n module.factory(\"$tgModel\", [\"$q\", \"$http\", \"$tgUrls\", \"$tgStorage\", provider]);\n\n}).call(this);\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/base/navurl.coffee\n */\n\n(function() {\n var NavigationUrlsDirective, NavigationUrlsService, bindOnce, module, taiga, trim,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n trim = this.taiga.trim;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaBase\");\n\n NavigationUrlsService = (function(superClass) {\n extend(NavigationUrlsService, superClass);\n\n function NavigationUrlsService() {\n this.urls = {};\n }\n\n NavigationUrlsService.prototype.update = function(urls) {\n return this.urls = _.merge({}, this.urls, urls || {});\n };\n\n NavigationUrlsService.prototype.formatUrl = function(url, ctx) {\n var replacer;\n if (ctx == null) {\n ctx = {};\n }\n replacer = function(match) {\n match = trim(match, \":\");\n return ctx[match] || \"undefined\";\n };\n return url.replace(/(:\\w+)/g, replacer);\n };\n\n NavigationUrlsService.prototype.resolve = function(name, ctx) {\n var url;\n url = this.urls[name];\n if (!url) {\n return \"\";\n }\n if (ctx) {\n return this.formatUrl(url, ctx);\n }\n return url;\n };\n\n return NavigationUrlsService;\n\n })(taiga.Service);\n\n module.service(\"$tgNavUrls\", NavigationUrlsService);\n\n NavigationUrlsDirective = function($navurls, $auth, $q, $location) {\n var bindOnceP, link, parseNav;\n bindOnceP = function($scope, attr) {\n var defered;\n defered = $q.defer();\n bindOnce($scope, attr, function(v) {\n return defered.resolve(v);\n });\n return defered.promise;\n };\n parseNav = function(data, $scope) {\n var name, params, promises, ref, values;\n ref = _.map(data.split(\":\"), trim), name = ref[0], params = ref[1];\n if (params) {\n params = _.map(params.split(\",\"), trim);\n } else {\n params = [];\n }\n values = _.map(params, function(x) {\n return trim(x.split(\"=\")[1]);\n });\n promises = _.map(values, function(x) {\n return bindOnceP($scope, x);\n });\n return $q.all(promises).then(function() {\n var i, item, key, len, options, ref1, value;\n options = {};\n for (i = 0, len = params.length; i < len; i++) {\n item = params[i];\n ref1 = _.map(item.split(\"=\"), trim), key = ref1[0], value = ref1[1];\n options[key] = $scope.$eval(value);\n }\n return [name, options];\n });\n };\n link = function($scope, $el, $attrs) {\n if ($el.is(\"a\")) {\n $el.attr(\"href\", \"#\");\n }\n $el.on(\"mouseenter\", function(event) {\n var target;\n target = $(event.currentTarget);\n if (!target.data(\"fullUrl\")) {\n return parseNav($attrs.tgNav, $scope).then(function(result) {\n var fullUrl, name, options, url, user;\n name = result[0], options = result[1];\n user = $auth.getUser();\n if (user) {\n options.user = user.username;\n }\n url = $navurls.resolve(name);\n fullUrl = $navurls.formatUrl(url, options);\n target.data(\"fullUrl\", fullUrl);\n if (target.is(\"a\")) {\n target.attr(\"href\", fullUrl);\n }\n return $el.on(\"click\", function(event) {\n event.preventDefault();\n target = $(event.currentTarget);\n if (target.hasClass('noclick')) {\n return;\n }\n fullUrl = target.data(\"fullUrl\");\n switch (event.which) {\n case 1:\n $location.url(fullUrl);\n return $scope.$apply();\n case 2:\n return window.open(fullUrl);\n }\n });\n });\n }\n });\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgNav\", [\"$tgNavUrls\", \"$tgAuth\", \"$q\", \"$tgLocation\", NavigationUrlsDirective]);\n\n}).call(this);\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/base/repository.coffee\n */\n\n(function() {\n var RepositoryService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n RepositoryService = (function(superClass) {\n extend(RepositoryService, superClass);\n\n RepositoryService.$inject = [\"$q\", \"$tgModel\", \"$tgStorage\", \"$tgHttp\", \"$tgUrls\"];\n\n function RepositoryService(q, model1, storage, http, urls) {\n this.q = q;\n this.model = model1;\n this.storage = storage;\n this.http = http;\n this.urls = urls;\n RepositoryService.__super__.constructor.call(this);\n }\n\n RepositoryService.prototype.resolveUrlForModel = function(model) {\n var idAttrName;\n idAttrName = model.getIdAttrName();\n return (this.urls.resolve(model.getName())) + \"/\" + model[idAttrName];\n };\n\n RepositoryService.prototype.resolveUrlForAttributeModel = function(model) {\n return this.urls.resolve(model.getName(), model.parent);\n };\n\n RepositoryService.prototype.create = function(name, data, dataTypes, extraParams) {\n var defered, promise, url;\n if (dataTypes == null) {\n dataTypes = {};\n }\n if (extraParams == null) {\n extraParams = {};\n }\n defered = this.q.defer();\n url = this.urls.resolve(name);\n promise = this.http.post(url, JSON.stringify(data));\n promise.success((function(_this) {\n return function(_data, _status) {\n return defered.resolve(_this.model.make_model(name, _data, null, dataTypes));\n };\n })(this));\n promise.error((function(_this) {\n return function(data, status) {\n return defered.reject(data);\n };\n })(this));\n return defered.promise;\n };\n\n RepositoryService.prototype.remove = function(model, params) {\n var defered, promise, url;\n if (params == null) {\n params = {};\n }\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http[\"delete\"](url, {}, params);\n promise.success(function(data, status) {\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(model);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAll = function(models, patch) {\n var promises;\n if (patch == null) {\n patch = true;\n }\n promises = _.map(models, (function(_this) {\n return function(x) {\n return _this.save(x, true);\n };\n })(this));\n return this.q.all(promises);\n };\n\n RepositoryService.prototype.save = function(model, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForModel(model);\n data = JSON.stringify(model.getAttrs(patch));\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.saveAttribute = function(model, attribute, patch) {\n var data, defered, promise, url;\n if (patch == null) {\n patch = true;\n }\n defered = this.q.defer();\n if (!model.isModified() && patch) {\n defered.resolve(model);\n return defered.promise;\n }\n url = this.resolveUrlForAttributeModel(model);\n data = {};\n data[attribute] = model.getAttrs();\n if (patch) {\n promise = this.http.patch(url, data);\n } else {\n promise = this.http.put(url, data);\n }\n promise.success((function(_this) {\n return function(data, status) {\n model._isModified = false;\n model._attrs = _.extend(model.getAttrs(), data);\n model._modifiedAttrs = {};\n model.applyCasts();\n return defered.resolve(model);\n };\n })(this));\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.refresh = function(model) {\n var defered, promise, url;\n defered = this.q.defer();\n url = this.resolveUrlForModel(model);\n promise = this.http.get(url);\n promise.success(function(data, status) {\n model._modifiedAttrs = {};\n model._attrs = data;\n model._isModified = false;\n model.applyCasts();\n return defered.resolve(model);\n });\n promise.error(function(data, status) {\n return defered.reject(data);\n });\n return defered.promise;\n };\n\n RepositoryService.prototype.queryMany = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneAttribute = function(name, id, attribute, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name, id);\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var model;\n model = _this.model.make_model(name, data.data[attribute]);\n model.parent = id;\n return model;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOne = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = {\n headers: {}\n };\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return _this.model.make_model(name, data.data);\n };\n })(this));\n };\n\n RepositoryService.prototype.queryOneRaw = function(name, id, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n if (id) {\n url = url + \"/\" + id;\n }\n httpOptions = _.merge({\n headers: {}\n }, options);\n if (!options.enablePagination) {\n httpOptions.headers[\"x-disable-pagination\"] = \"1\";\n }\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n\n RepositoryService.prototype.queryPaginated = function(name, params, options) {\n var httpOptions, url;\n if (options == null) {\n options = {};\n }\n url = this.urls.resolve(name);\n httpOptions = _.merge({\n headers: {}\n }, options);\n return this.http.get(url, params, httpOptions).then((function(_this) {\n return function(data) {\n var headers, result;\n headers = data.headers();\n result = {};\n result.models = _.map(data.data, function(x) {\n return _this.model.make_model(name, x);\n });\n result.count = parseInt(headers[\"x-pagination-count\"], 10);\n result.current = parseInt(headers[\"x-pagination-current\"] || 1, 10);\n result.paginatedBy = parseInt(headers[\"x-paginated-by\"], 10);\n return result;\n };\n })(this));\n };\n\n RepositoryService.prototype.resolve = function(options) {\n var cache, params;\n params = {};\n if (options.pslug != null) {\n params.project = options.pslug;\n }\n if (options.usref != null) {\n params.us = options.usref;\n }\n if (options.taskref != null) {\n params.task = options.taskref;\n }\n if (options.issueref != null) {\n params.issue = options.issueref;\n }\n if (options.sslug != null) {\n params.milestone = options.sslug;\n }\n if (options.wikipage != null) {\n params.wikipage = options.wikipage;\n }\n cache = !(options.wikipage || options.sslug);\n return this.queryOneRaw(\"resolver\", null, params, {\n cache: cache\n });\n };\n\n return RepositoryService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgRepo\", RepositoryService);\n\n}).call(this);\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/base/storage.coffee\n */\n\n(function() {\n var StorageService, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n StorageService = (function(superClass) {\n extend(StorageService, superClass);\n\n StorageService.$inject = [\"$rootScope\"];\n\n function StorageService($rootScope) {\n StorageService.__super__.constructor.call(this);\n }\n\n StorageService.prototype.get = function(key, _default) {\n var serializedValue;\n serializedValue = localStorage.getItem(key);\n if (serializedValue === null) {\n return _default || null;\n }\n return JSON.parse(serializedValue);\n };\n\n StorageService.prototype.set = function(key, val) {\n if (_.isObject(key)) {\n return _.each(key, (function(_this) {\n return function(val, key) {\n return _this.set(key, val);\n };\n })(this));\n } else {\n return localStorage.setItem(key, JSON.stringify(val));\n }\n };\n\n StorageService.prototype.contains = function(key) {\n var value;\n value = this.get(key);\n return value !== null;\n };\n\n StorageService.prototype.remove = function(key) {\n return localStorage.removeItem(key);\n };\n\n StorageService.prototype.clear = function() {\n return localStorage.clear();\n };\n\n return StorageService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service(\"$tgStorage\", StorageService);\n\n}).call(this);\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/base/http.coffee\n */\n\n(function() {\n var UrlsService, format, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n format = function(fmt, obj) {\n obj = _.clone(obj);\n return fmt.replace(/%s/g, function(match) {\n return String(obj.shift());\n });\n };\n\n taiga = this.taiga;\n\n UrlsService = (function(superClass) {\n extend(UrlsService, superClass);\n\n UrlsService.$inject = [\"$tgConfig\"];\n\n function UrlsService(config) {\n this.config = config;\n this.urls = {};\n this.mainUrl = this.config.get(\"api\");\n }\n\n UrlsService.prototype.update = function(urls) {\n return this.urls = _.merge(this.urls, urls);\n };\n\n UrlsService.prototype.resolve = function() {\n var args, name, url;\n args = _.toArray(arguments);\n if (args.length === 0) {\n throw Error(\"wrong arguments to setUrls\");\n }\n name = args.slice(0, 1)[0];\n url = format(this.urls[name], args.slice(1));\n return format(\"%s/%s\", [_.str.rtrim(this.mainUrl, \"/\"), _.str.ltrim(url, \"/\")]);\n };\n\n UrlsService.prototype.resolveAbsolute = function() {\n var url;\n url = this.resolve.apply(this, arguments);\n if (/^https?:\\/\\//i.test(url)) {\n return url;\n }\n if (/^\\//.test(url)) {\n return window.location.protocol + \"//\" + window.location.host + url;\n }\n return window.location.protocol + \"//\" + window.location.host + \"/\" + url;\n };\n\n return UrlsService;\n\n })(taiga.Service);\n\n module = angular.module(\"taigaBase\");\n\n module.service('$tgUrls', UrlsService);\n\n}).call(this);\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/custom-field-values.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var _get, service;\n _get = function(objectId, resource) {\n return $repo.queryOne(resource, objectId);\n };\n service = {\n userstory: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/userstory\");\n }\n },\n task: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/task\");\n }\n },\n issue: {\n get: function(objectId) {\n return _get(objectId, \"custom-attributes-values/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributesValues = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesValuesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, sizeFormat, taiga;\n\n taiga = this.taiga;\n\n sizeFormat = this.taiga.sizeFormat;\n\n resourceProvider = function($repo) {\n var _list, service;\n _list = function(projectId, resource) {\n return $repo.queryMany(resource, {\n project: projectId\n });\n };\n service = {\n userstory: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/userstory\");\n }\n },\n task: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/task\");\n }\n },\n issue: {\n list: function(projectId) {\n return _list(projectId, \"custom-attributes/issue\");\n }\n }\n };\n return function(instance) {\n return instance.customAttributes = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgCustomAttributesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/projects.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.get = function(token) {\n return $repo.queryOne(\"invitations\", token);\n };\n return function(instance) {\n return instance.invitations = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgInvitationsResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.render = function(projectId, content) {\n var params, url;\n if ((content == null) || content === \"\") {\n 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((function(_this) {\n return function(data) {\n return data.data;\n };\n })(this));\n };\n return function(instance) {\n return instance.mdrender = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgMdRenderResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo) {\n var service;\n service = {};\n service.list = function(projectId, module) {\n return $repo.queryOneAttribute(\"project-modules\", projectId, module);\n };\n return function(instance) {\n return instance.modules = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgModulesResourcesProvider\", [\"$tgRepo\", resourceProvider]);\n\n}).call(this);\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/memberships.coffee\n */\n\n(function() {\n var module, resourceProvider, taiga;\n\n taiga = this.taiga;\n\n resourceProvider = function($repo, $http, $urls) {\n var service;\n service = {};\n service.get = function(id) {\n return $repo.queryOne(\"notify-policies\", id);\n };\n service.list = function(filters) {\n var params;\n params = _.extend({}, params, filters || {});\n return $repo.queryMany(\"notify-policies\", params);\n };\n return function(instance) {\n return instance.notifyPolicies = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgNotifyPoliciesResourcesProvider\", [\"$tgRepo\", \"$tgHttp\", \"$tgUrls\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(webhookId) {\n var params;\n params = {\n webhook: webhookId\n };\n return $repo.queryMany(\"webhooklogs\", params);\n };\n service.resend = function(webhooklogId) {\n var url;\n url = $urls.resolve(\"webhooklogs-resend\", webhooklogId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooklogs = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhookLogsResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\n","(function() {\n var module, resourceProvider;\n\n resourceProvider = function($repo, $urls, $http) {\n var service;\n service = {};\n service.list = function(projectId) {\n var params;\n params = {\n project: projectId\n };\n return $repo.queryMany(\"webhooks\", params);\n };\n service.test = function(webhookId) {\n var url;\n url = $urls.resolve(\"webhooks-test\", webhookId);\n return $http.post(url);\n };\n return function(instance) {\n return instance.webhooks = service;\n };\n };\n\n module = angular.module(\"taigaResources\");\n\n module.factory(\"$tgWebhooksResourcesProvider\", [\"$tgRepo\", \"$tgUrls\", \"$tgHttp\", resourceProvider]);\n\n}).call(this);\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/user-settings/main.coffee\n */\n\n(function() {\n var UserChangePasswordController, UserChangePasswordDirective, debounce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n debounce = this.taiga.debounce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserChangePasswordController = (function(superClass) {\n extend(UserChangePasswordController, superClass);\n\n UserChangePasswordController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\"];\n\n function UserChangePasswordController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.scope.sectionName = \"Change Password\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserChangePasswordController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n UserChangePasswordController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this));\n };\n\n return UserChangePasswordController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserChangePasswordController\", UserChangePasswordController);\n\n UserChangePasswordDirective = function($rs, $confirm, $loading) {\n var link;\n link = function($scope, $el, $attrs, ctrl) {\n var submit, submitButton;\n submit = debounce(2000, (function(_this) {\n return function(event) {\n var promise;\n event.preventDefault();\n if ($scope.newPassword1 !== $scope.newPassword2) {\n $confirm.notify('error', \"The passwords dosn't match\");\n return;\n }\n $loading.start(submitButton);\n promise = $rs.userSettings.changePassword($scope.currentPassword, $scope.newPassword1);\n promise.then(function() {\n $loading.finish(submitButton);\n return $confirm.notify('success');\n });\n return promise.then(null, function(response) {\n $loading.finish(submitButton);\n return $confirm.notify('error', response.data._error_message);\n });\n };\n })(this));\n submitButton = $el.find(\".submit-button\");\n $el.on(\"submit\", \"form\", submit);\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserChangePassword\", [\"$tgResources\", \"$tgConfirm\", \"$tgLoading\", UserChangePasswordDirective]);\n\n}).call(this);\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/user-settings/notifications.coffee\n */\n\n(function() {\n var UserNotificationsController, UserNotificationsDirective, UserNotificationsListDirective, bindOnce, mixOf, module, taiga,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n taiga = this.taiga;\n\n mixOf = this.taiga.mixOf;\n\n bindOnce = this.taiga.bindOnce;\n\n module = angular.module(\"taigaUserSettings\");\n\n UserNotificationsController = (function(superClass) {\n extend(UserNotificationsController, superClass);\n\n UserNotificationsController.$inject = [\"$scope\", \"$rootScope\", \"$tgRepo\", \"$tgConfirm\", \"$tgResources\", \"$routeParams\", \"$q\", \"$tgLocation\", \"$tgNavUrls\", \"$tgAuth\"];\n\n function UserNotificationsController(scope, rootscope, repo, confirm, rs, params, q, location, navUrls, auth) {\n var promise;\n this.scope = scope;\n this.rootscope = rootscope;\n this.repo = repo;\n this.confirm = confirm;\n this.rs = rs;\n this.params = params;\n this.q = q;\n this.location = location;\n this.navUrls = navUrls;\n this.auth = auth;\n this.scope.sectionName = \"Email Notifications\";\n this.scope.project = {};\n this.scope.user = this.auth.getUser();\n promise = this.loadInitialData();\n promise.then(null, this.onInitialDataError.bind(this));\n }\n\n UserNotificationsController.prototype.loadProject = function() {\n return this.rs.projects.get(this.scope.projectId).then((function(_this) {\n return function(project) {\n _this.scope.project = project;\n _this.scope.$emit('project:loaded', project);\n return project;\n };\n })(this));\n };\n\n UserNotificationsController.prototype.loadNotifyPolicies = function() {\n return this.rs.notifyPolicies.list().then((function(_this) {\n return function(notifyPolicies) {\n _this.scope.notifyPolicies = notifyPolicies;\n return notifyPolicies;\n };\n })(this));\n };\n\n UserNotificationsController.prototype.loadInitialData = function() {\n var promise;\n promise = this.repo.resolve({\n pslug: this.params.pslug\n }).then((function(_this) {\n return function(data) {\n _this.scope.projectId = data.project;\n return data;\n };\n })(this));\n return promise.then((function(_this) {\n return function() {\n return _this.loadProject();\n };\n })(this)).then((function(_this) {\n return function() {\n return _this.loadNotifyPolicies();\n };\n })(this));\n };\n\n return UserNotificationsController;\n\n })(mixOf(taiga.Controller, taiga.PageMixin));\n\n module.controller(\"UserNotificationsController\", UserNotificationsController);\n\n UserNotificationsDirective = function() {\n var link;\n link = function($scope, $el, $attrs) {\n return $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotifications\", UserNotificationsDirective);\n\n UserNotificationsListDirective = function($repo, $confirm) {\n var link, template;\n template = _.template(\"<% _.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 link = function($scope, $el, $attrs) {\n var render;\n render = function() {\n $el.off();\n $el.html(template({\n notifyPolicies: $scope.notifyPolicies\n }));\n return $el.on(\"change\", \"input[type=radio]\", function(event) {\n var onError, onSuccess, policy, policyIndex, prev_level, target;\n target = angular.element(event.currentTarget);\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 onSuccess = function() {\n return $confirm.notify(\"success\");\n };\n onError = function() {\n $confirm.notify(\"error\");\n return target.parents(\".policy-table-row\").find(\"input[value=\" + prev_level + \"]\").prop(\"checked\", true);\n };\n return $repo.save(policy).then(onSuccess, onError);\n });\n };\n $scope.$on(\"$destroy\", function() {\n return $el.off();\n });\n return bindOnce($scope, $attrs.ngModel, render);\n };\n return {\n link: link\n };\n };\n\n module.directive(\"tgUserNotificationsList\", [\"$tgRepo\", \"$tgConfirm\", UserNotificationsListDirective]);\n\n}).call(this);\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: plugins/humanshtml/humanshtml.coffee\n */\n\n(function() {\n var configure, module, taiga;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaPlugins\");\n\n configure = function($routeProvider) {\n return $routeProvider.when(\"/humans.html\", {\n \"templateUrl\": \"/plugins/humanshtml/templates/humans.html\"\n });\n };\n\n module.config([\"$routeProvider\", configure]);\n\n}).call(this);\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: plugins/terms/terms.coffee\n */\n\n(function() {\n var TermsNoticeDirective, module, taiga, template;\n\n taiga = this.taiga;\n\n module = angular.module(\"taigaPlugins\");\n\n template = _.template(\"

\\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 TermsNoticeDirective = function($config) {\n var privacyPolicyUrl, templateFn, termsOfServiceUrl;\n privacyPolicyUrl = $config.get(\"privacyPolicyUrl\");\n termsOfServiceUrl = $config.get(\"termsOfServiceUrl\");\n templateFn = function() {\n var ctx;\n if (!(privacyPolicyUrl && termsOfServiceUrl)) {\n return \"\";\n }\n ctx = {\n termsUrl: termsOfServiceUrl,\n privacyUrl: privacyPolicyUrl\n };\n return template(ctx);\n };\n return {\n scope: {},\n restrict: \"AE\",\n template: templateFn\n };\n };\n\n module.directive(\"tgTermsNotice\", [\"$tgConfig\", TermsNoticeDirective]);\n\n}).call(this);\n","angular.module('taigaBase').value('localesEn', {\n \"checksley\": {\n \"defaultMessage\": \"This value seems to be invalid.\",\n \"type-email\": \"This value should be a valid email.\",\n \"type-url\": \"This value should be a valid url.\",\n \"type-urlstrict\": \"This value should be a valid url.\",\n \"type-number\": \"This value should be a valid number.\",\n \"type-digits\": \"This value should be digits.\",\n \"type-dateIso\": \"This value should be a valid date (YYYY-MM-DD).\",\n \"type-alphanum\": \"This value should be alphanumeric.\",\n \"type-phone\": \"This value should be a valid phone number.\",\n \"notnull\": \"This value should not be null.\",\n \"notblank\": \"This value should not be blank.\",\n \"required\": \"This value is required.\",\n \"regexp\": \"This value seems to be invalid.\",\n \"min\": \"This value should be greater than or equal to %s.\",\n \"max\": \"This value should be lower than or equal to %s.\",\n \"range\": \"This value should be between %s and %s.\",\n \"minlength\": \"This value is too short. It should have %s characters or more.\",\n \"maxlength\": \"This value is too long. It should have %s characters or less.\",\n \"rangelength\": \"This value length is invalid. It should be between %s and %s characters long.\",\n \"mincheck\": \"You must select at least %s choices.\",\n \"maxcheck\": \"You must select %s choices or less.\",\n \"rangecheck\": \"You must select between %s and %s choices.\",\n \"equalto\": \"This value should be the same.\"\n },\n \"common\": {\n \"subject\": \"Subject\",\n \"save\": \"Save\",\n \"blocked\": \"Blocked\",\n \"cancel\": \"Cancel\",\n \"status\": \"Status\",\n \"new-bulk\": \"New bulk insert\",\n \"one-item-line\": \"One item per line...\"\n },\n \"pagination\": {\n \"next\": \"Next\",\n \"prev\": \"Previous\"\n },\n \"markdown-editor\": {\n \"heading-1\": \"First Level Heading\",\n \"heading-2\": \"Second Level Heading\",\n \"heading-3\": \"Third Level Heading\",\n \"bold\": \"Bold\",\n \"italic\": \"Italic\",\n \"strike\": \"Strike\",\n \"bulleted-list\": \"Bulleted List\",\n \"numeric-list\": \"Numeric List\",\n \"picture\": \"Picture\",\n \"link\": \"Link\",\n \"quotes\": \"Quotes\",\n \"code-block\": \"Code Block / Code\",\n \"preview\": \"Preview\",\n \"help\": \"Help\",\n \"placeholder\": \"Your title here...\",\n \"link-placeholder\": \"Your text to link here...\"\n },\n \"us\": {\n \"title-new\": \"New User Story\",\n \"team-requirement\": \"Team Requirement\",\n \"client-requirement\": \"Client Requirement\"\n }\n}\n);"],"sourceRoot":"/source/"} \ No newline at end of file