Merge branch 'master' into stable
commit
e6dfca417a
15
.travis.yml
15
.travis.yml
|
@ -1,16 +1,15 @@
|
|||
sudo: false
|
||||
|
||||
language: node_js
|
||||
node_js:
|
||||
- "4.1"
|
||||
before_install:
|
||||
- export CHROME_BIN=chromium-browser
|
||||
- export DISPLAY=:99.0
|
||||
- sh -e /etc/init.d/xvfb start
|
||||
- npm install -g bower
|
||||
- npm install -g gulp
|
||||
- travis_retry npm install -g bower
|
||||
- travis_retry npm install -g gulp
|
||||
install:
|
||||
- npm install
|
||||
- bower install
|
||||
- travis_retry npm install
|
||||
- travis_retry bower install
|
||||
before_script:
|
||||
- gulp deploy
|
||||
language: node_js
|
||||
node_js:
|
||||
- "4.1"
|
||||
|
|
|
@ -3,7 +3,7 @@ host = https://www.transifex.com
|
|||
lang_map = sr@latin:sr-latn, zh-Hans:zh-hans, zh-Hant:zh-hant, pt_BR:pt-br
|
||||
|
||||
[taiga-front.locale-enjson]
|
||||
file_filter = app/locales/locale-<lang>.json
|
||||
source_file = app/locales/locale-en.json
|
||||
file_filter = app/locales/taiga/locale-<lang>.json
|
||||
source_file = app/locales/taiga/locale-en.json
|
||||
source_lang = en
|
||||
type = KEYVALUEJSON
|
||||
|
|
14
CHANGELOG.md
14
CHANGELOG.md
|
@ -1,7 +1,19 @@
|
|||
# Changelog #
|
||||
|
||||
|
||||
## 1.9.0 Abies Siberica (2015-11-XX)
|
||||
## 1.9.1 Taiga Tribe (2016-01-05)
|
||||
|
||||
- [118n] Now taiga plugins can be translatable.
|
||||
- New Taiga plugins system.
|
||||
- Now superadmins can send notifications (live announcement) to the user (through taiga-events).
|
||||
|
||||
### Misc
|
||||
- Statics folder hash to prevent cache problems when a new version is released.
|
||||
- Implement websockets heartbeat messages system for taiga-events.
|
||||
- Lots of small and not so small bugfixes.
|
||||
|
||||
|
||||
## 1.9.0 Abies Siberica (2015-11-02)
|
||||
|
||||
### Features
|
||||
- Ability to create single-line or multi-line custom fields. (thanks to [@artlepool](https://github.com/artlepool)).
|
||||
|
|
26
README.md
26
README.md
|
@ -30,30 +30,30 @@ Big features are also welcome but if you want to see your contributions included
|
|||
|
||||
#### License ####
|
||||
|
||||
Every code patch accepted in taiga codebase is licensed under [AGPL v3.0](http://www.gnu.org/licenses/agpl-3.0.html). You should must be careful to not include any code that can not be licensed under this license.
|
||||
Every code patch accepted in taiga codebase is licensed under [AGPL v3.0](http://www.gnu.org/licenses/agpl-3.0.html). You must be careful to not include any code that can not be licensed under this license.
|
||||
|
||||
Please read carefully [our license](https://github.com/taigaio/taiga-front/blob/master/LICENSE) and ask us if you have any questions.
|
||||
|
||||
|
||||
#### Bug reports, enhancements and support ####
|
||||
|
||||
If you **nedd help to setup Taiga**, you want to **talk about some cool enhancemnt** or you have **some questions** please write us to our [mailing list](http://groups.google.com/d/forum/taigaio).
|
||||
If you **need help to setup Taiga**, want to **talk about some cool enhancemnt** or you have **some questions**, please write us to our [mailing list](http://groups.google.com/d/forum/taigaio).
|
||||
|
||||
If you **find a bug** in Taiga you can always report it:
|
||||
|
||||
- in our [mailing list](http://groups.google.com/d/forum/taigaio).
|
||||
- in [github issues](https://github.com/taigaio/taiga-front/issues).
|
||||
- in [github issues](https://github.com/taigaio/taiga-front/issues).
|
||||
- send us a mail to support@taiga.io if is a bug related to tree.taiga.io.
|
||||
- send a mail to security@taiga.io if is a **security bug**.
|
||||
|
||||
One of our fellow Taiga developers will search, find and hunt it as soon as possible.
|
||||
|
||||
Please, before reporting an bug write down how can we reproduce it, your operating system, your browser and version, and if it's possible, a screenshot. Sometimes it take less time to fix a bug if the developer know how to find it and we will solve your problem as fast as possible.
|
||||
Please, before reporting a bug write down how can we reproduce it, your operating system, your browser and version, and if it's possible, a screenshot. Sometimes it takes less time to fix a bug if the developer knows how to find it and we will solve your problem as fast as possible.
|
||||
|
||||
|
||||
#### Documentation improvements ####
|
||||
|
||||
We are gathering lots of information from our users to build and enhance our documentation. If you are the documentation to install or develop with Taiga and find any mistakes, omissions or confused sequences, it is enormously helpful to report it. Or better still, if you believe you can author additions, please make a pull-request to taiga project.
|
||||
We are gathering lots of information from our users to build and enhance our documentation. If you use the documentation to install or develop with Taiga and find any mistakes, omissions or confused sequences, it is enormously helpful to report it. Or better still, if you believe you can author additions, please make a pull-request to taiga project.
|
||||
|
||||
Currently, we have authored three main documentation hubs:
|
||||
|
||||
|
@ -64,23 +64,23 @@ Currently, we have authored three main documentation hubs:
|
|||
|
||||
#### Translation ####
|
||||
|
||||
We are ready now to accept your help translating Taiga. It's easy (and fun!) just access to our team of translators with the link below, set up an account in Transifex and start contributing. Join us to make sure your language is covered! **[Help Taiga to trasnlate content](https://www.transifex.com/signup/ "Help Taiga to trasnlatecontent")**
|
||||
We are ready now to accept your help translating Taiga. It's easy (and fun!) just access our team of translators with the link below, set up an account in Transifex and start contributing. Join us to make sure your language is covered! **[Help Taiga to translate content](https://www.transifex.com/signup/ "Help Taiga to translate content")**
|
||||
|
||||
|
||||
#### Code patches ####
|
||||
|
||||
Taiga will always be glad to receive code patches to update, fix or improve its code.
|
||||
Taiga will always be glad to receive code patches to update, fix or improve its code.
|
||||
|
||||
If you know how to improve our code base or you found a bug, a security vulnerabilities a performance issue and you think you can solve, we will be very happy to accept your pull-request. If your code requires considerable changes, we recommend you first talk to us directly. We will find the best way to help.
|
||||
If you know how to improve our code base or you found a bug, a security vulnerability or a performance issue and you think you can solve it, we will be very happy to accept your pull-request. If your code requires considerable changes, we recommend you first talk to us directly. We will find the best way to help.
|
||||
|
||||
|
||||
#### UI enhancements ####
|
||||
|
||||
Taiga is made for developers and designers. We care enormously about UI because usability and design are both critical aspects of the Taiga experience.
|
||||
Taiga is made for developers and designers. We care enormously about UI because usability and design are both critical aspects of the Taiga experience.
|
||||
|
||||
There are two possible ways to contribute to our UI:
|
||||
- **Bugs**: If you find a bug regarding front-end, please report it as previously indicated in the Bug reports section or send a pull-request as indicated in the Code Patches section.
|
||||
- **Enhancements**: If its a design or UX bug or enhancement we will love to receive your feedback. Please send us your enhancement, with the reason and, if it's possible, an example. Our design and UX team will review your enhancement and fix it as soon as possible. We recommend you to use our [mailing list](http://groups.google.co.uk/d/forum/taigaio){target="_blank"} so we can have a lot of different opinions and debate.
|
||||
- **Enhancements**: If its a design or UX bug or enhancement we will love to receive your feedback. Please send us your enhancement, with the reason and, if possible, an example. Our design and UX team will review your enhancement and fix it as soon as possible. We recommend you to use our [mailing list](http://groups.google.co.uk/d/forum/taigaio){target="_blank"} so we can have a lot of different opinions and debate.
|
||||
- **Language Localization**: We are eager to offer localized versions of Taiga. Some members of the community have already volunteered to work to provide a variety of languages. We are working to implement some changes to allow for this and expect to accept these requests in the near future.
|
||||
|
||||
|
||||
|
@ -122,7 +122,7 @@ Complete process for all OS at: http://sass-lang.com/install
|
|||
|
||||
**Node + Bower + Gulp**
|
||||
|
||||
We recommend using [nvm](https://github.com/creationix/nvmv) to manage diferent node versions
|
||||
We recommend using [nvm](https://github.com/creationix/nvm) to manage diferent node versions
|
||||
```
|
||||
npm install -g gulp
|
||||
npm install -g bower
|
||||
|
@ -140,11 +140,13 @@ If you want to run e2e tests
|
|||
```
|
||||
npm install -g protractor
|
||||
npm install -g mocha
|
||||
npm install -g babel
|
||||
npm install -g babel@5
|
||||
|
||||
webdriver-manager update
|
||||
```
|
||||
|
||||
To run a local Selenium Server, you will need to have the Java Development Kit (JDK) installed.
|
||||
|
||||
## Tests ##
|
||||
|
||||
#### Unit tests ####
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
version = ___VERSION___
|
||||
window._version = "___VERSION___"
|
||||
|
||||
window.taigaConfig = {
|
||||
"api": "http://localhost:8000/api/v1/",
|
||||
"eventsUrl": null,
|
||||
"eventsMaxMissedHeartbeats": 5,
|
||||
"eventsHeartbeatIntervalTime": 60000,
|
||||
"debug": true,
|
||||
"defaultLanguage": "en",
|
||||
"themes": ["taiga", "material-design", "high-contrast"],
|
||||
|
@ -14,16 +17,49 @@ window.taigaConfig = {
|
|||
"contribPlugins": []
|
||||
}
|
||||
|
||||
promise = $.getJSON "/js/conf.json"
|
||||
window.taigaContribPlugins = []
|
||||
|
||||
window._decorators = []
|
||||
|
||||
window.addDecorator = (provider, decorator) ->
|
||||
window._decorators.push({provider: provider, decorator: decorator})
|
||||
|
||||
window.getDecorators = ->
|
||||
return window._decorators
|
||||
|
||||
loadStylesheet = (path) ->
|
||||
$('head').append('<link rel="stylesheet" href="' + path + '" type="stylesheet" />')
|
||||
|
||||
loadPlugin = (pluginPath) ->
|
||||
return new Promise (resolve, reject) ->
|
||||
$.getJSON(pluginPath).then (plugin) ->
|
||||
window.taigaContribPlugins.push(plugin)
|
||||
|
||||
if plugin.css
|
||||
loadStylesheet(plugin.css)
|
||||
|
||||
#dont' wait for css
|
||||
if plugin.js
|
||||
ljs.load(plugin.js, resolve)
|
||||
else
|
||||
resolve()
|
||||
|
||||
loadPlugins = (plugins) ->
|
||||
promises = []
|
||||
_.map plugins, (pluginPath) ->
|
||||
promises.push(loadPlugin(pluginPath))
|
||||
|
||||
return Promise.all(promises)
|
||||
|
||||
promise = $.getJSON "/conf.json"
|
||||
promise.done (data) ->
|
||||
window.taigaConfig = _.extend({}, window.taigaConfig, data)
|
||||
|
||||
promise.always ->
|
||||
if window.taigaConfig.contribPlugins.length > 0
|
||||
plugins = _.map(window.taigaConfig.contribPlugins, (plugin) -> "#{plugin}?v=#{version}")
|
||||
ljs.load plugins, ->
|
||||
ljs.load "/js/app.js?v=#{version}", ->
|
||||
loadPlugins(window.taigaConfig.contribPlugins).then () ->
|
||||
ljs.load "/#{window._version}/js/app.js", ->
|
||||
angular.bootstrap(document, ['taiga'])
|
||||
else
|
||||
ljs.load "/js/app.js?v=#{version}", ->
|
||||
ljs.load "/#{window._version}/js/app.js", ->
|
||||
angular.bootstrap(document, ['taiga'])
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -20,7 +20,7 @@
|
|||
###
|
||||
|
||||
@taiga = taiga = {}
|
||||
@.taigaContribPlugins = @.taigaContribPlugins or []
|
||||
@.taigaContribPlugins = @.taigaContribPlugins or window.taigaContribPlugins or []
|
||||
|
||||
# Generic function for generate hash from a arbitrary length
|
||||
# collection of parameters.
|
||||
|
@ -39,7 +39,7 @@ taiga.sessionId = taiga.generateUniqueSessionIdentifier()
|
|||
|
||||
|
||||
configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEventsProvider,
|
||||
$compileProvider, $translateProvider, $animateProvider) ->
|
||||
$compileProvider, $translateProvider, $translatePartialLoaderProvider, $animateProvider) ->
|
||||
|
||||
$animateProvider.classNameFilter(/^(?:(?!ng-animate-disabled).)*$/)
|
||||
|
||||
|
@ -505,10 +505,10 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
# i18n
|
||||
preferedLangCode = userInfo?.lang || window.taigaConfig.defaultLanguage || "en"
|
||||
|
||||
$translatePartialLoaderProvider.addPart('taiga')
|
||||
$translateProvider
|
||||
.useStaticFilesLoader({
|
||||
prefix: "/locales/locale-",
|
||||
suffix: ".json"
|
||||
.useLoader('$translatePartialLoader', {
|
||||
urlTemplate: '/' + window._version + '/locales/{part}/locale-{lang}.json'
|
||||
})
|
||||
.useSanitizeValueStrategy('escapeParameters')
|
||||
.addInterpolation('$translateMessageFormatInterpolation')
|
||||
|
@ -516,17 +516,12 @@ configure = ($routeProvider, $locationProvider, $httpProvider, $provide, $tgEven
|
|||
|
||||
$translateProvider.fallbackLanguage(preferedLangCode)
|
||||
|
||||
# decoratos
|
||||
decorators = _.where(@.taigaContribPlugins, {"type": "decorator"})
|
||||
# decoratos plugins
|
||||
decorators = window.getDecorators()
|
||||
|
||||
_.each decorators, (decorator) ->
|
||||
$provide.decorator decorator.provider, decorator.decorator
|
||||
|
||||
# decoratos
|
||||
decorators = _.where(@.taigaContribPlugins, {"type": "decorator"})
|
||||
|
||||
_.each decorators, (decorator) ->
|
||||
$provide.decorator decorator.provider, decorator.decorator
|
||||
|
||||
i18nInit = (lang, $translate) ->
|
||||
# i18n - moment.js
|
||||
|
@ -578,9 +573,10 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
|
|||
Promise.setScheduler (cb) ->
|
||||
$rootscope.$evalAsync(cb)
|
||||
|
||||
$events.setupConnection()
|
||||
|
||||
# Load user
|
||||
if $auth.isAuthenticated()
|
||||
$events.setupConnection()
|
||||
user = $auth.getUser()
|
||||
|
||||
# Analytics
|
||||
|
@ -690,6 +686,7 @@ module.config([
|
|||
"$tgEventsProvider",
|
||||
"$compileProvider",
|
||||
"$translateProvider",
|
||||
"$translatePartialLoaderProvider",
|
||||
"$animateProvider",
|
||||
configure
|
||||
])
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -219,7 +219,7 @@ MembershipsRowAvatarDirective = ($log, $template, $translate) ->
|
|||
ctx = {
|
||||
full_name: if member.full_name then member.full_name else ""
|
||||
email: if member.user_email then member.user_email else member.email
|
||||
imgurl: if member.photo then member.photo else "/images/unnamed.png"
|
||||
imgurl: if member.photo then member.photo else "/" + window._version + "/images/unnamed.png"
|
||||
pending: if !member.is_user_active then pending else ""
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -44,9 +44,9 @@ class AuthService extends taiga.Service
|
|||
@themeService) ->
|
||||
super()
|
||||
|
||||
@._currentTheme = @config.get("defaultTheme") || "taiga" # load on index.jade
|
||||
|
||||
userModel = @.getUser()
|
||||
@._currentTheme = @._getUserTheme()
|
||||
|
||||
@.setUserdata(userModel)
|
||||
|
||||
setUserdata: (userModel) ->
|
||||
|
@ -57,7 +57,7 @@ class AuthService extends taiga.Service
|
|||
@.userData = null
|
||||
|
||||
_getUserTheme: ->
|
||||
return @rootscope.user?.theme || @config.get("defaultTheme") || "taiga"
|
||||
return @rootscope.user?.theme || @config.get("defaultTheme") || "taiga" # load on index.jade
|
||||
|
||||
_setTheme: ->
|
||||
newTheme = @._getUserTheme()
|
||||
|
@ -84,6 +84,8 @@ class AuthService extends taiga.Service
|
|||
@._setTheme()
|
||||
|
||||
return user
|
||||
else
|
||||
@._setTheme()
|
||||
|
||||
return null
|
||||
|
||||
|
@ -219,6 +221,8 @@ module.directive("tgPublicRegisterMessage", ["$tgConfig", "$tgNavUrls", "$tgTemp
|
|||
|
||||
LoginDirective = ($auth, $confirm, $location, $config, $routeParams, $navUrls, $events, $translate) ->
|
||||
link = ($scope, $el, $attrs) ->
|
||||
form = new checksley.Form($el.find("form.login-form"))
|
||||
|
||||
onSuccess = (response) ->
|
||||
if $routeParams['next'] and $routeParams['next'] != $navUrls.resolve("login")
|
||||
nextUrl = decodeURIComponent($routeParams['next'])
|
||||
|
@ -234,7 +238,6 @@ LoginDirective = ($auth, $confirm, $location, $config, $routeParams, $navUrls, $
|
|||
submit = debounce 2000, (event) =>
|
||||
event.preventDefault()
|
||||
|
||||
form = new checksley.Form($el.find("form.login-form"))
|
||||
if not form.validate()
|
||||
return
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -752,7 +752,7 @@ BacklogDirective = ($repo, $rootscope, $translate) ->
|
|||
hideText = $translate.instant("BACKLOG.FILTERS.HIDE")
|
||||
showText = $translate.instant("BACKLOG.FILTERS.SHOW")
|
||||
|
||||
toggleText(target.find(".text"), [hideText, showText])
|
||||
toggleText(target, [hideText, showText])
|
||||
|
||||
if !sidebar.hasClass("active")
|
||||
$ctrl.resetFilters()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -19,7 +19,8 @@
|
|||
# File: modules/base/contrib.coffee
|
||||
###
|
||||
|
||||
taigaContribPlugins = @.taigaContribPlugins = @.taigaContribPlugins or []
|
||||
module = angular.module("taigaBase")
|
||||
|
||||
|
||||
class ContribController extends taiga.Controller
|
||||
@.$inject = [
|
||||
|
@ -32,9 +33,7 @@ class ContribController extends taiga.Controller
|
|||
]
|
||||
|
||||
constructor: (@rootScope, @scope, @params, @repo, @rs, @confirm) ->
|
||||
@scope.adminPlugins = _.where(@rootScope.contribPlugins, {"type": "admin"})
|
||||
@scope.currentPlugin = _.first(_.where(@scope.adminPlugins, {"slug": @params.plugin}))
|
||||
@scope.pluginTemplate = "contrib/#{@scope.currentPlugin.slug}"
|
||||
@scope.currentPlugin = _.first(_.where(@rootScope.adminPlugins, {"slug": @params.plugin}))
|
||||
@scope.projectSlug = @params.pslug
|
||||
|
||||
promise = @.loadInitialData()
|
||||
|
@ -53,5 +52,4 @@ class ContribController extends taiga.Controller
|
|||
loadInitialData: ->
|
||||
return @.loadProject()
|
||||
|
||||
module = angular.module("taigaBase")
|
||||
module.controller("ContribController", ContribController)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Taiga Agile LLC <taiga@taiga.io>
|
||||
# Copyright (C) 2014-2016 Taiga Agile LLC <taiga@taiga.io>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Taiga Agile LLC <taiga@taiga.io>
|
||||
# Copyright (C) 2014-2016 Taiga Agile LLC <taiga@taiga.io>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -140,7 +140,7 @@ CreatedByDisplayDirective = ($template, $compile, $translate, $navUrls)->
|
|||
if model?
|
||||
$scope.owner = model.owner_extra_info or {
|
||||
full_name_display: $translate.instant("COMMON.EXTERNAL_USER")
|
||||
photo: "/images/user-noimage.png"
|
||||
photo: "/" + window._version + "/images/user-noimage.png"
|
||||
}
|
||||
|
||||
$scope.url = if $scope.owner?.is_active then $navUrls.resolve("user-profile", {username: $scope.owner.username}) else ""
|
||||
|
@ -643,7 +643,7 @@ ListItemAssignedtoDirective = ($template) ->
|
|||
link = ($scope, $el, $attrs) ->
|
||||
bindOnce $scope, "usersById", (usersById) ->
|
||||
item = $scope.$eval($attrs.tgListitemAssignedto)
|
||||
ctx = {name: "Unassigned", imgurl: "/images/unnamed.png"}
|
||||
ctx = {name: "Unassigned", imgurl: "/" + window._version + "/images/unnamed.png"}
|
||||
|
||||
member = usersById[item.assigned_to]
|
||||
if member
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2015 Juan Francisco Alcántara <juanfran.alcantara@kaleidos.net>
|
||||
# Copyright (C) 2014-2015 Alejandro Alonso <alejandro.alonso@kaleidos.net>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Juan Francisco Alcántara <juanfran.alcantara@kaleidos.net>
|
||||
# Copyright (C) 2014-2016 Alejandro Alonso <alejandro.alonso@kaleidos.net>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -22,7 +22,7 @@
|
|||
module = angular.module("taigaCommon")
|
||||
|
||||
TgLoadingService = ($compile) ->
|
||||
spinner = "<img class='loading-spinner' src='/svg/spinner-circle.svg' alt='loading...' />"
|
||||
spinner = "<img class='loading-spinner' src='/" + window._version + "/svg/spinner-circle.svg' alt='loading...' />"
|
||||
|
||||
return () ->
|
||||
service = {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -27,7 +27,7 @@ module = angular.module("taigaEvents", [])
|
|||
|
||||
|
||||
class EventsService
|
||||
constructor: (@win, @log, @config, @auth) ->
|
||||
constructor: (@win, @log, @config, @auth, @liveAnnouncementService, @rootScope) ->
|
||||
bindMethods(@)
|
||||
|
||||
initialize: (sessionId) ->
|
||||
|
@ -37,6 +37,9 @@ class EventsService
|
|||
@.error = false
|
||||
@.pendingMessages = []
|
||||
|
||||
@.missedHeartbeats = 0
|
||||
@.heartbeatInterval = null
|
||||
|
||||
if @win.WebSocket is undefined
|
||||
@log.info "WebSockets not supported on your browser"
|
||||
|
||||
|
@ -70,10 +73,58 @@ class EventsService
|
|||
@.ws.removeEventListener("close", @.onClose)
|
||||
@.ws.removeEventListener("error", @.onError)
|
||||
@.ws.removeEventListener("message", @.onMessage)
|
||||
@.stopHeartBeatMessages()
|
||||
@.ws.close()
|
||||
|
||||
delete @.ws
|
||||
|
||||
notifications: ->
|
||||
@.subscribe null, 'notifications', (data) =>
|
||||
@liveAnnouncementService.show(data.title, data.desc)
|
||||
@rootScope.$digest()
|
||||
|
||||
###########################################
|
||||
# Heartbeat (Ping - Pong)
|
||||
###########################################
|
||||
# See RFC https://tools.ietf.org/html/rfc6455#section-5.5.2
|
||||
# RFC https://tools.ietf.org/html/rfc6455#section-5.5.3
|
||||
startHeartBeatMessages: ->
|
||||
return if @.heartbeatInterval
|
||||
|
||||
maxMissedHeartbeats = @config.get("eventsMaxMissedHeartbeats", 5)
|
||||
heartbeatIntervalTime = @config.get("eventsHeartbeatIntervalTime", 60000)
|
||||
|
||||
@.missedHeartbeats = 0
|
||||
@.heartbeatInterval = setInterval(() =>
|
||||
try
|
||||
if @.missedHeartbeats >= maxMissedHeartbeats
|
||||
throw new Error("Too many missed heartbeats PINGs.")
|
||||
|
||||
@.missedHeartbeats++
|
||||
@.sendMessage({cmd: "ping"})
|
||||
@log.debug("HeartBeat send PING")
|
||||
catch e
|
||||
@log.error("HeartBeat error: " + e.message)
|
||||
@.stopHeartBeatMessages()
|
||||
, heartbeatIntervalTime)
|
||||
|
||||
@log.debug("HeartBeat enabled")
|
||||
|
||||
stopHeartBeatMessages: ->
|
||||
return if not @.heartbeatInterval
|
||||
|
||||
clearInterval(@.heartbeatInterval)
|
||||
@.heartbeatInterval = null
|
||||
|
||||
@log.debug("HeartBeat disabled")
|
||||
|
||||
processHeartBeatPongMessage: (data) ->
|
||||
@.missedHeartbeats = 0
|
||||
@log.debug("HeartBeat recived PONG")
|
||||
|
||||
###########################################
|
||||
# Messages
|
||||
###########################################
|
||||
serialize: (message) ->
|
||||
if _.isObject(message)
|
||||
return JSON.stringify(message)
|
||||
|
@ -91,6 +142,24 @@ class EventsService
|
|||
for msg in messages
|
||||
@.ws.send(msg)
|
||||
|
||||
processMessage: (data) =>
|
||||
routingKey = data.routing_key
|
||||
|
||||
if not @.subscriptions[routingKey]?
|
||||
return
|
||||
|
||||
subscription = @.subscriptions[routingKey]
|
||||
|
||||
if subscription.scope
|
||||
subscription.scope.$apply ->
|
||||
subscription.callback(data.data)
|
||||
|
||||
else
|
||||
subscription.callback(data.data)
|
||||
|
||||
###########################################
|
||||
# Subscribe and Unsubscribe
|
||||
###########################################
|
||||
subscribe: (scope, routingKey, callback) ->
|
||||
if @.error
|
||||
return
|
||||
|
@ -109,7 +178,8 @@ class EventsService
|
|||
|
||||
@.subscriptions[routingKey] = subscription
|
||||
@.sendMessage(message)
|
||||
scope.$on("$destroy", => @.unsubscribe(routingKey))
|
||||
|
||||
scope.$on("$destroy", => @.unsubscribe(routingKey)) if scope
|
||||
|
||||
unsubscribe: (routingKey) ->
|
||||
if @.error
|
||||
|
@ -124,8 +194,13 @@ class EventsService
|
|||
|
||||
@.sendMessage(message)
|
||||
|
||||
###########################################
|
||||
# Event listeners
|
||||
###########################################
|
||||
onOpen: ->
|
||||
@.connected = true
|
||||
@.startHeartBeatMessages()
|
||||
@.notifications()
|
||||
|
||||
@log.debug("WebSocket connection opened")
|
||||
token = @auth.getToken()
|
||||
|
@ -141,14 +216,11 @@ class EventsService
|
|||
@.log.debug "WebSocket message received: #{event.data}"
|
||||
|
||||
data = JSON.parse(event.data)
|
||||
routingKey = data.routing_key
|
||||
|
||||
if not @.subscriptions[routingKey]?
|
||||
return
|
||||
|
||||
subscription = @.subscriptions[routingKey]
|
||||
subscription.scope.$apply ->
|
||||
subscription.callback(data.data)
|
||||
if data.cmd == "pong"
|
||||
@.processHeartBeatPongMessage(data)
|
||||
else
|
||||
@.processMessage(data)
|
||||
|
||||
onError: (error) ->
|
||||
@log.error("WebSocket error: #{error}")
|
||||
|
@ -157,17 +229,25 @@ class EventsService
|
|||
onClose: ->
|
||||
@log.debug("WebSocket closed.")
|
||||
@.connected = false
|
||||
@.stopHeartBeatMessages()
|
||||
|
||||
|
||||
class EventsProvider
|
||||
setSessionId: (sessionId) ->
|
||||
@.sessionId = sessionId
|
||||
|
||||
$get: ($win, $log, $conf, $auth) ->
|
||||
service = new EventsService($win, $log, $conf, $auth)
|
||||
$get: ($win, $log, $conf, $auth, liveAnnouncementService, $rootScope) ->
|
||||
service = new EventsService($win, $log, $conf, $auth, liveAnnouncementService, $rootScope)
|
||||
service.initialize(@.sessionId)
|
||||
return service
|
||||
|
||||
@.prototype.$get.$inject = ["$window", "$log", "$tgConfig", "$tgAuth"]
|
||||
@.prototype.$get.$inject = [
|
||||
"$window",
|
||||
"$log",
|
||||
"$tgConfig",
|
||||
"$tgAuth",
|
||||
"tgLiveAnnouncementService",
|
||||
"$rootScope"
|
||||
]
|
||||
|
||||
module.provider("$tgEvents", EventsProvider)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -127,14 +127,14 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
@scope.issueId = issue.id
|
||||
@scope.commentModel = issue
|
||||
|
||||
if @scope.issue.neighbors.previous.ref?
|
||||
if @scope.issue.neighbors.previous?.ref?
|
||||
ctx = {
|
||||
project: @scope.project.slug
|
||||
ref: @scope.issue.neighbors.previous.ref
|
||||
}
|
||||
@scope.previousUrl = @navUrls.resolve("project-issues-detail", ctx)
|
||||
|
||||
if @scope.issue.neighbors.next.ref?
|
||||
if @scope.issue.neighbors.next?.ref?
|
||||
ctx = {
|
||||
project: @scope.project.slug
|
||||
ref: @scope.issue.neighbors.next.ref
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -783,7 +783,7 @@ IssueAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService) ->
|
|||
|
||||
link = ($scope, $el, $attrs) ->
|
||||
updateIssue = (issue) ->
|
||||
ctx = {name: "Unassigned", imgurl: "/images/unnamed.png"}
|
||||
ctx = {name: "Unassigned", imgurl: "/" + window._version + "/images/unnamed.png"}
|
||||
member = $scope.usersById[issue.assigned_to]
|
||||
if member
|
||||
ctx.imgurl = member.photo
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -132,7 +132,7 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
status__is_archived: false
|
||||
}
|
||||
|
||||
return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>
|
||||
promise = @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>
|
||||
@scope.userstories = userstories
|
||||
|
||||
usByStatus = _.groupBy(userstories, "status")
|
||||
|
@ -166,6 +166,10 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
|
||||
return userstories
|
||||
|
||||
promise.then( => @scope.$broadcast("redraw:wip"))
|
||||
|
||||
return promise
|
||||
|
||||
loadUserStoriesForStatus: (ctx, statusId) ->
|
||||
params = { status: statusId }
|
||||
return @rs.userstories.listAll(@scope.projectId, params).then (userstories) =>
|
||||
|
@ -211,7 +215,7 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi
|
|||
return promise.then (project) =>
|
||||
@.fillUsersAndRoles(project.members, project.roles)
|
||||
@.initializeSubscription()
|
||||
@.loadKanban().then( => @scope.$broadcast("redraw:wip"))
|
||||
@.loadKanban()
|
||||
|
||||
|
||||
## View Mode methods
|
||||
|
@ -547,7 +551,7 @@ KanbanUserDirective = ($log, $compile) ->
|
|||
|
||||
render = (user) ->
|
||||
if user is undefined
|
||||
ctx = {name: "Unassigned", imgurl: "/images/unnamed.png", clickable: clickable}
|
||||
ctx = {name: "Unassigned", imgurl: "/" + window._version + "/images/unnamed.png", clickable: clickable}
|
||||
else
|
||||
ctx = {name: user.full_name_display, imgurl: user.photo, clickable: clickable}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -248,7 +248,7 @@ RelatedTaskAssignedToInlineEditionDirective = ($repo, $rootscope, popoverService
|
|||
|
||||
link = ($scope, $el, $attrs) ->
|
||||
updateRelatedTask = (task) ->
|
||||
ctx = {name: "Unassigned", imgurl: "/images/unnamed.png"}
|
||||
ctx = {name: "Unassigned", imgurl: "/" + window._version + "/images/unnamed.png"}
|
||||
member = $scope.usersById[task.assigned_to]
|
||||
if member
|
||||
ctx.imgurl = member.photo
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Taiga Agile LLC <taiga@taiga.io>
|
||||
# Copyright (C) 2014-2016 Taiga Agile LLC <taiga@taiga.io>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Taiga Agile LLC <taiga@taiga.io>
|
||||
# Copyright (C) 2014-2016 Taiga Agile LLC <taiga@taiga.io>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Taiga Agile LLC <taiga@taiga.io>
|
||||
# Copyright (C) 2014-2016 Taiga Agile LLC <taiga@taiga.io>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -185,7 +185,7 @@ class TaskboardController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
@scope.usTasks[task.user_story][task.status].push(task)
|
||||
|
||||
if tasks.length == 0
|
||||
|
||||
|
||||
if @scope.userstories.length > 0
|
||||
usId = @scope.userstories[0].id
|
||||
else
|
||||
|
@ -442,7 +442,7 @@ TaskboardUserDirective = ($log) ->
|
|||
user = $scope.usersById[assigned_to]
|
||||
|
||||
if user is undefined
|
||||
_.assign($scope, {name: "Unassigned", imgurl: "/images/unnamed.png", clickable: clickable})
|
||||
_.assign($scope, {name: "Unassigned", imgurl: "/" + window._version + "/images/unnamed.png", clickable: clickable})
|
||||
else
|
||||
_.assign($scope, {name: user.full_name_display, imgurl: user.photo, clickable: clickable})
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
###
|
||||
# Copyright (C) 2014-2015 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2015 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2015 David Barragán Merino <bameda@dbarragan.com>
|
||||
# Copyright (C) 2014-2016 Andrey Antukh <niwi@niwi.be>
|
||||
# Copyright (C) 2014-2016 Jesús Espino Garcia <jespinog@gmail.com>
|
||||
# Copyright (C) 2014-2016 David Barragán Merino <bameda@dbarragan.com>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -115,14 +115,14 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
|||
@scope.taskId = task.id
|
||||
@scope.commentModel = task
|
||||
|
||||
if @scope.task.neighbors.previous.ref?
|
||||
if @scope.task.neighbors.previous?.ref?
|
||||
ctx = {
|
||||
project: @scope.project.slug
|
||||
ref: @scope.task.neighbors.previous.ref
|
||||
}
|
||||
@scope.previousUrl = @navUrls.resolve("project-tasks-detail", ctx)
|
||||
|
||||
if @scope.task.neighbors.next.ref?
|
||||
if @scope.task.neighbors.next?.ref?
|
||||
ctx = {
|
||||
project: @scope.project.slug
|
||||
ref: @scope.task.neighbors.next.ref
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue