diff --git a/.travis.yml b/.travis.yml index 4a94cfaa..197e476d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,8 @@ addons: before_script: - psql -c 'create database taiga;' -U postgres install: - - pip install -r requirements-devel.txt + - travis_retry pip install -r requirements-devel.txt script: - - coverage run --source=taiga --omit='*tests*,*commands*,*migrations*,*admin*,*.jinja,*dashboard*,*settings*,*wsgi*,*questions*,*documents*' -m py.test -v --tb=native + - travis_retry coverage run --source=taiga --omit='*tests*,*commands*,*migrations*,*admin*,*.jinja,*dashboard*,*settings*,*wsgi*,*questions*,*documents*' -m py.test -v --tb=native after_success: - coveralls diff --git a/AUTHORS.rst b/AUTHORS.rst index 7242d6b1..54224670 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -15,6 +15,7 @@ people who have submitted patches, reported bugs, added translations, helped answer newbie questions, and generally made taiga that much better: - Alejandro Gómez +- Allister Antosik - Alonso Torres - Andrea Stagi - Andrés Moya diff --git a/CHANGELOG.md b/CHANGELOG.md index 396bd18f..a605221f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,23 @@ # Changelog # -## 1.9.0 Abies Siberica (2015-11-XX) +## 1.9.1 Taiga Tribe (2016-01-05) + +### Features +- [CSV Reports] Add fields "created_date", "modified_date", "finished_date" to issues CSV report. +- [Attachment] Generate 'card-image' size (300x200) thumbnails for attached image files. + +### Misc +- Improve login and forgot password: allow username or email case-insensitive if the query only + match with one user. +- Improve the django admin panel, now it is more usable and all the selector fields works properly. +- [API] Add tribe_gig field to user stories (improve integration between Taiga and Taiga Tribe). +- [API] Performance improvements for project stats. +- [Events] Add command to send an instant notifications to all the currently online users. +- Lots of small and not so small bugfixes. + + +## 1.9.0 Abies Siberica (2015-11-02) ### Features @@ -9,7 +25,8 @@ - US, tasks and Issues can be upvoted or downvoted and the voters list can be obtained. - Now users can watch public issues, tasks and user stories. - Add endpoints to show the watchers list for issues, tasks and user stories. -- Add a "field type" property for custom fields: 'text', 'multiline text' and 'date' right now (thanks to [@artlepool](https://github.com/artlepool)). +- Add a "field type" property for custom fields: 'text', 'multiline text' and 'date' right nowi + (thanks to [@artlepool](https://github.com/artlepool)). - Allow multiple actions in the commit messages. - Now every user that coments USs, Issues or Tasks will be involved in it (add author to the watchers list). - Now profile timelines only show content about the objects (US/Tasks/Issues/Wiki pages) you are involved. @@ -35,7 +52,8 @@ - API: Improve and fix some errors in issues/filters_data and userstories/filters_data. - API: resolver suport ref GET param and return a story, task or issue. - Webhooks: Add deleted datetime to webhooks responses when isues, tasks or USs are deleted. -- Add headers to allow threading for notification emails about changes to issues, tasks, user stories, and wiki pages. (thanks to [@brett](https://github.com/brettp)). +- Add headers to allow threading for notification emails about changes to issues, tasks, user stories, + and wiki pages. (thanks to [@brett](https://github.com/brettp)). - Lots of small and not so small bugfixes. diff --git a/README.md b/README.md index 5aa5093e..2ef73e3a 100644 --- a/README.md +++ b/README.md @@ -25,30 +25,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-back/blob/master/LICENSE) and ask us if you have any questions. +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-back/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: @@ -59,14 +59,14 @@ 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 trasnlatecontent")** #### Code patches #### 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 #### @@ -75,10 +75,11 @@ Taiga is made for developers and designers. We care enormously about UI because 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. + ## Setup development environment ## Just execute these commands in your virtualenv(wrapper): diff --git a/doc/.gitignore b/doc/.gitignore deleted file mode 100755 index 378eac25..00000000 --- a/doc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100755 index d7e64f5f..00000000 --- a/doc/Makefile +++ /dev/null @@ -1,153 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Green-Mine.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Green-Mine.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/Green-Mine" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Green-Mine" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/doc/source/_templates/layout.html b/doc/source/_templates/layout.html deleted file mode 100755 index 276e8956..00000000 --- a/doc/source/_templates/layout.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "!layout.html" %} - -{% block body %} -
- - {% if version == "0.7" or version == "0.8" %} -

- This document is for Celery's development version, which can be - significantly different from previous releases. Get old docs here: - - 2.5. -

- {% else %} -

- This document describes stdnet {{ version }}. For development docs, - go here. -

- {% endif %} - -
- {{ body }} -{% endblock %} - -{% block footer %} -{{ super() }} - -{% endblock %} \ No newline at end of file diff --git a/doc/source/_templates/sidebarintro.html b/doc/source/_templates/sidebarintro.html deleted file mode 100755 index f4cdf0fe..00000000 --- a/doc/source/_templates/sidebarintro.html +++ /dev/null @@ -1,9 +0,0 @@ -

Green-Mine

-

- Green-Mine is a project managment web application - build on top of django (1.4). -

-

Useful Links

- diff --git a/doc/source/_templates/sidebarlogo.html b/doc/source/_templates/sidebarlogo.html deleted file mode 100755 index 77a3eb09..00000000 --- a/doc/source/_templates/sidebarlogo.html +++ /dev/null @@ -1,5 +0,0 @@ - \ No newline at end of file diff --git a/doc/source/_theme/celery/static/celery.css_t b/doc/source/_theme/celery/static/celery.css_t deleted file mode 100755 index 4151fe6b..00000000 --- a/doc/source/_theme/celery/static/celery.css_t +++ /dev/null @@ -1,394 +0,0 @@ -/* - * celery.css_t - * ~~~~~~~~~~~~ - * - * :copyright: Copyright 2010 by Armin Ronacher. - * :license: BSD, see LICENSE for details. - */ - -{% set page_width = 940 %} -{% set sidebar_width = 220 %} -{% set body_font_stack = 'Optima, Segoe, "Segoe UI", Candara, Calibri, Arial, sans-serif' %} -{% set headline_font_stack = 'Futura, "Trebuchet MS", Arial, sans-serif' %} -{% set code_font_stack = "'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace" %} - -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -body { - font-family: {{ body_font_stack }}; - font-size: 17px; - background-color: white; - color: #000; - margin: 30px 0 0 0; - padding: 0; -} - -div.document { - width: {{ page_width }}px; - margin: 0 auto; -} - -div.related { - width: {{ page_width - 20 }}px; - padding: 5px 10px; - background: #F2FCEE; - margin: 15px auto 15px auto; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 {{ sidebar_width }}px; -} - -div.sphinxsidebar { - width: {{ sidebar_width }}px; -} - -hr { - border: 1px solid #B1B4B6; -} - -div.body { - background-color: #ffffff; - color: #3E4349; - padding: 0 30px 0 30px; -} - -img.celerylogo { - padding: 0 0 10px 10px; - float: right; -} - -div.footer { - width: {{ page_width - 15 }}px; - margin: 10px auto 30px auto; - padding-right: 15px; - font-size: 14px; - color: #888; - text-align: right; -} - -div.footer a { - color: #888; -} - -div.sphinxsidebar a { - color: #444; - text-decoration: none; - border-bottom: 1px dashed #DCF0D5; -} - -div.sphinxsidebar a:hover { - border-bottom: 1px solid #999; -} - -div.sphinxsidebar { - font-size: 14px; - line-height: 1.5; -} - -div.sphinxsidebarwrapper { - padding: 7px 10px; -} - -div.sphinxsidebarwrapper p.logo { - padding: 0 0 20px 0; - margin: 0; -} - -div.sphinxsidebar h3, -div.sphinxsidebar h4 { - font-family: {{ headline_font_stack }}; - color: #444; - font-size: 24px; - font-weight: normal; - margin: 0 0 5px 0; - padding: 0; -} - -div.sphinxsidebar h4 { - font-size: 20px; -} - -div.sphinxsidebar h3 a { - color: #444; -} - -div.sphinxsidebar p.logo a, -div.sphinxsidebar h3 a, -div.sphinxsidebar p.logo a:hover, -div.sphinxsidebar h3 a:hover { - border: none; -} - -div.sphinxsidebar p { - color: #555; - margin: 10px 0; -} - -div.sphinxsidebar ul { - margin: 10px 0; - padding: 0; - color: #000; -} - -div.sphinxsidebar input { - border: 1px solid #ccc; - font-family: {{ body_font_stack }}; - font-size: 1em; -} - -/* -- body styles ----------------------------------------------------------- */ - -a { - color: #348613; - text-decoration: underline; -} - -a:hover { - color: #59B833; - text-decoration: underline; -} - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: {{ headline_font_stack }}; - font-weight: normal; - margin: 30px 0px 10px 0px; - padding: 0; -} - -div.body h1 { margin-top: 0; padding-top: 0; font-size: 200%; } -div.body h2 { font-size: 180%; } -div.body h3 { font-size: 150%; } -div.body h4 { font-size: 130%; } -div.body h5 { font-size: 100%; } -div.body h6 { font-size: 100%; } - -div.body h1 a.toc-backref, -div.body h2 a.toc-backref, -div.body h3 a.toc-backref, -div.body h4 a.toc-backref, -div.body h5 a.toc-backref, -div.body h6 a.toc-backref { - color: inherit!important; - text-decoration: none; -} - -a.headerlink { - color: #ddd; - padding: 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - color: #444; - background: #eaeaea; -} - -div.body p, div.body dd, div.body li { - line-height: 1.4em; -} - -div.admonition { - background: #fafafa; - margin: 20px -30px; - padding: 10px 30px; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} - -div.admonition p.admonition-title { - font-family: {{ headline_font_stack }}; - font-weight: normal; - font-size: 24px; - margin: 0 0 10px 0; - padding: 0; - line-height: 1; -} - -div.admonition p.last { - margin-bottom: 0; -} - -div.highlight{ - background-color: white; -} - -dt:target, .highlight { - background: #FAF3E8; -} - -div.note { - background-color: #eee; - border: 1px solid #ccc; -} - -div.seealso { - background-color: #ffc; - border: 1px solid #ff6; -} - -div.topic { - background-color: #eee; -} - -div.warning { - background-color: #ffe4e4; - border: 1px solid #f66; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre, tt { - font-family: {{ code_font_stack }}; - font-size: 0.9em; -} - -img.screenshot { -} - -tt.descname, tt.descclassname { - font-size: 0.95em; -} - -tt.descname { - padding-right: 0.08em; -} - -img.screenshot { - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils { - border: 1px solid #888; - -moz-box-shadow: 2px 2px 4px #eee; - -webkit-box-shadow: 2px 2px 4px #eee; - box-shadow: 2px 2px 4px #eee; -} - -table.docutils td, table.docutils th { - border: 1px solid #888; - padding: 0.25em 0.7em; -} - -table.field-list, table.footnote { - border: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -table.footnote { - margin: 15px 0; - width: 100%; - border: 1px solid #eee; - background: #fdfdfd; - font-size: 0.9em; -} - -table.footnote + table.footnote { - margin-top: -15px; - border-top: none; -} - -table.field-list th { - padding: 0 0.8em 0 0; -} - -table.field-list td { - padding: 0; -} - -table.footnote td.label { - width: 0px; - padding: 0.3em 0 0.3em 0.5em; -} - -table.footnote td { - padding: 0.3em 0.5em; -} - -dl { - margin: 0; - padding: 0; -} - -dl dd { - margin-left: 30px; -} - -blockquote { - margin: 0 0 0 30px; - padding: 0; -} - -ul { - margin: 10px 0 10px 30px; - padding: 0; -} - -pre { - background: #F0FFEB; - padding: 7px 10px; - margin: 15px 0; - border: 1px solid #C7ECB8; - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - line-height: 1.3em; -} - -tt { - background: #F0FFEB; - color: #222; - /* padding: 1px 2px; */ -} - -tt.xref, a tt { - background: #F0FFEB; - border-bottom: 1px solid white; -} - -a.reference { - text-decoration: none; - border-bottom: 1px dashed #DCF0D5; -} - -a.reference:hover { - border-bottom: 1px solid #6D4100; -} - -a.footnote-reference { - text-decoration: none; - font-size: 0.7em; - vertical-align: top; - border-bottom: 1px dashed #DCF0D5; -} - -a.footnote-reference:hover { - border-bottom: 1px solid #6D4100; -} - -a:hover tt { - background: #EEE; -} - diff --git a/doc/source/_theme/celery/theme.conf b/doc/source/_theme/celery/theme.conf deleted file mode 100755 index 537f3779..00000000 --- a/doc/source/_theme/celery/theme.conf +++ /dev/null @@ -1,5 +0,0 @@ -[theme] -inherit = basic -stylesheet = celery.css - -[options] \ No newline at end of file diff --git a/doc/source/coding_rules.rst b/doc/source/coding_rules.rst deleted file mode 100644 index 421a8d79..00000000 --- a/doc/source/coding_rules.rst +++ /dev/null @@ -1,57 +0,0 @@ - -============ -Coding rules -============ - -Django models -============= - -* All model names in singular an CamelCase. - -* All models have a **Meta** with at least: - - - **verbose_name** and **verbose_name_plural**: unicode strings, lowercase, with spaces. - - **ordering**: return a consistent order, using pk if no other unique field or combination exists. - -* All models have **__unicode__** method, returning a human-readable, descriptive, short text. - -* All fields have **verbose_name**. Also **help_text** if needed to fully explain the field meaning. - -* All fields have explicit **blank** and **null** parameters. Use only those combinations, unless - there a documented need of other thing: - - Normal fields (IntegerField, DateField, ForeignKey, FileField...) - - (optional) **null = True**, **blank = True** - - (required) **null = False**, **blank = False** - - Text fields (CharField, TextField, URLField...) - - (optional) **null = False**, **blank = True** - - (required) **null = False**, **blank = False** - - Boolean fields: - - (two values, T/F) **null = False**, **blank = True** - - (three values, T/F/Null) **null = False**, **blank = True** - -* Don't create text fields with **null = True**, unless you need to distinguish between empty string and None. - -* Don't create boolean fields with **blank = False**, otherwise they could only be True. - -Example:: - - class SomeClass(models.Model): - name = models.CharField(max_length=100, null = False, blank = False, unique=True, - verbose_name = _(u'name')) - slug = models.SlugField(max_length=100, null = False, blank = False, unique=True, - verbose_name = _(u'slug'), - help_text = (u'Identifier of this object. Only letters, digits and underscore "_" allowed.')) - text = models.TextField(null = False, blank = True, - verbose_name = _(u'text')) - - class Meta: - verbose_name = _(u'some class') - verbose_name_plural = _(u'some classes') - ordering = ['name'] - - def __unicode__(self): - return self.name - diff --git a/doc/source/conf.py b/doc/source/conf.py deleted file mode 100755 index 46770d5c..00000000 --- a/doc/source/conf.py +++ /dev/null @@ -1,255 +0,0 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'taiga' -copyright = u'2012, Andrei Antoukh' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.0.10' -# The full version, including alpha/beta/rc tags. -release = '0.0.10' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' -html_theme = 'celery' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] -html_theme_path = ["_theme"] - - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} -html_sidebars = { - 'index': ['sidebarlogo.html', 'sidebarintro.html', - 'sourcelink.html', 'searchbox.html'], - '**': ['sidebarlogo.html', 'localtoc.html', 'relations.html', - 'sourcelink.html', 'searchbox.html'], -} - - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'taigadoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'taiga.tex', u'taiga documentation', - u'Andrei Antoukh', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'green-mine', u'taiga documentation', - [u'Andrei Antoukh'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'taiga', u'taiga documentation', - u'Andrei Antoukh', 'taiga', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' diff --git a/doc/source/index.rst b/doc/source/index.rst deleted file mode 100755 index 16d33901..00000000 --- a/doc/source/index.rst +++ /dev/null @@ -1,43 +0,0 @@ -========== -Green-Mine -========== - -.. rubric:: Project management web application build on top of Django. - -Currently there is no stable version, but the project is already usable. All contributions and bug fixes is welcome. - - -First steps -=========== - -**From scratch:** -:ref:`Overview and Installation ` - -**Tutorials:** TODO - -**Miscellaneous:** -:ref:`Contributing ` | -:ref:`Tests ` | -:ref:`Changelog ` | -:ref:`License ` - - -Contents: -========= - -.. toctree:: - :maxdepth: 1 - - overview.rst - settings.rst - coding_rules.rst - - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - diff --git a/doc/source/overview.rst b/doc/source/overview.rst deleted file mode 100755 index 0a2db96b..00000000 --- a/doc/source/overview.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. _intro-overview: - -======== -Overview -======== - -Requirements -============ - -* python 2.6 or 2.7 -* django-superview >= 0.2 -* psycopg2 >= 2.4 (if postgresql is used) -* pyzmq >= 2.2 (for async mailserver) -* sphinx >= 1.1.3 (for build this documentation) -* django >= 1.4 (builtin) -* markdown >= 2.1 (for markdown wiki) -* docutils >= 0.7 (for restructuredtext wiki) - -Philosophy -========== - -TODO - -Installing -========== - -TODO - -Version Check -============= - -TODO - -.. _runtests: - -Running tests -============= - -Requirements for running tests: same as standard requierements. - -To run tests, open a shell on a package directory and type:: - - python manage.py test -v2 taiga - -To access coverage of tests you need to install the coverage_ package and run the tests using:: - - coverage run --omit=extern manage.py test -v2 taiga - -and to check out the coverage report:: - - coverage html - - -.. _contributing: - -Contributing -============ - -Develpment of Green-Mine happens at github: https://github.com/niwibe/Green-Mine - -We very much welcome your contribution of course. To do so, simply follow these guidelines: - -1. Fork ``taiga`` on github. -2. Create feature branch. Example: ``git checkout -b my_new_feature`` -3. Push your changes. Example: ``git push -u origin my_new_feature`` -4. Send me a pull-request. - -.. _license: - -License -======= - -This software is licensed under the `GNU Affero General Public License`_, Version -3. See the LICENSE file in the top distribution directory for the full license -text. - -.. _coverage: http://nedbatchelder.com/code/coverage/ -.. _`GNU Affero General Public License`: http://www.gnu.org/licenses/agpl.html diff --git a/doc/source/settings.rst b/doc/source/settings.rst deleted file mode 100755 index 873b0cb2..00000000 --- a/doc/source/settings.rst +++ /dev/null @@ -1,22 +0,0 @@ -Settings introduced by taiga. -============================= - -Default settings ----------------- - -The setting instance contains few default parameters used in throughout -the library. This parameters can be changed by the user by simply -overriding them. - -.. attribute:: settings.HOST - - Set a full host name, this is used for making urls for email - notifications. In the future, it will be automatic. - - Default: ``"http://localhost:8000"`` (ready for developers) - -.. attribute:: settings.DISABLE_REGISTRATION - - Set this, disables user registration. - - Default: ``False`` diff --git a/requirements-devel.txt b/requirements-devel.txt index cccd2a5e..da4f0eb9 100644 --- a/requirements-devel.txt +++ b/requirements-devel.txt @@ -1,12 +1,12 @@ -r requirements.txt factory_boy==2.6.0 -py==1.4.30 -pytest==2.8.2 +py==1.4.31 +pytest==2.8.5 pytest-django==2.9.1 pytest-pythonpath==0.7 -coverage==4.0.1 +coverage==4.0.3 coveralls==1.1 django-slowdown==0.0.1 diff --git a/requirements.txt b/requirements.txt index 304b5e8e..8b54d05a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,25 +11,25 @@ amqp==1.4.7 djmail==0.11 django-pgjson==0.3.1 djorm-pgarray==1.2 -django-jinja==1.4.1 +django-jinja==2.1.1 jinja2==2.8 pygments==2.0.2 django-sites==0.8 -Markdown==2.6.4 +Markdown==2.6.5 fn==0.4.3 diff-match-patch==20121119 requests==2.8.1 django-sr==0.0.4 easy-thumbnails==2.2.1 celery==3.1.19 -redis==2.10.3 +redis==2.10.5 Unidecode==0.04.18 -raven==5.8.1 +raven==5.9.2 bleach==1.4.2 django-ipware==1.1.2 premailer==2.9.6 cssutils==1.0.1 # Compatible with python 3.5 django-transactional-cleanup==0.1.15 -lxml==3.5.0b1 +lxml==3.5.0 git+https://github.com/Xof/django-pglocks.git@dbb8d7375066859f897604132bd437832d2014ea -pyjwkest==1.0.7 +pyjwkest==1.0.9 diff --git a/settings/__init__.py b/settings/__init__.py index fb18d127..d7cec60a 100644 --- a/settings/__init__.py +++ b/settings/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/celery.py b/settings/celery.py index 70cd1095..e157da58 100644 --- a/settings/celery.py +++ b/settings/celery.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/common.py b/settings/common.py index 355a6597..b937b7e1 100644 --- a/settings/common.py +++ b/settings/common.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -448,12 +448,15 @@ SOUTH_MIGRATION_MODULES = { DEFAULT_AVATAR_SIZE = 80 # 80x80 pixels DEFAULT_BIG_AVATAR_SIZE = 300 # 300x300 pixels DEFAULT_TIMELINE_IMAGE_SIZE = 640 # 640x??? pixels +DEFAUL_CARD_IMAGE_WIDTH = 300 # 300 pixels +DEFAUL_CARD_IMAGE_HEIGHT = 200 # 200 pixels THUMBNAIL_ALIASES = { '': { 'avatar': {'size': (DEFAULT_AVATAR_SIZE, DEFAULT_AVATAR_SIZE), 'crop': True}, 'big-avatar': {'size': (DEFAULT_BIG_AVATAR_SIZE, DEFAULT_BIG_AVATAR_SIZE), 'crop': True}, 'timeline-image': {'size': (DEFAULT_TIMELINE_IMAGE_SIZE, 0), 'crop': True}, + 'card-image': {'size': (DEFAUL_CARD_IMAGE_WIDTH, DEFAUL_CARD_IMAGE_HEIGHT), 'crop': True}, }, } diff --git a/settings/development.py b/settings/development.py index 1a77df9d..8eb52f12 100644 --- a/settings/development.py +++ b/settings/development.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/local.py.example b/settings/local.py.example index b6bcf2b9..2a6ce20a 100644 --- a/settings/local.py.example +++ b/settings/local.py.example @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/sr.py b/settings/sr.py index 9c523878..f0a04360 100644 --- a/settings/sr.py +++ b/settings/sr.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/testing.py b/settings/testing.py index 01eff7c5..ee648e05 100644 --- a/settings/testing.py +++ b/settings/testing.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/settings/travis.py b/settings/travis.py index 20920546..9b041643 100644 --- a/settings/travis.py +++ b/settings/travis.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/__init__.py b/taiga/__init__.py index 721fcd42..8cca4ea3 100644 --- a/taiga/__init__.py +++ b/taiga/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/api.py b/taiga/auth/api.py index c70e7e7f..03994310 100644 --- a/taiga/auth/api.py +++ b/taiga/auth/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/backends.py b/taiga/auth/backends.py index d2f71553..3bf9b971 100644 --- a/taiga/auth/backends.py +++ b/taiga/auth/backends.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/permissions.py b/taiga/auth/permissions.py index 7fe0d452..38ef4662 100644 --- a/taiga/auth/permissions.py +++ b/taiga/auth/permissions.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 Andrey Antukh # Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh # Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/serializers.py b/taiga/auth/serializers.py index 42b077e7..7a33e7ea 100644 --- a/taiga/auth/serializers.py +++ b/taiga/auth/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/services.py b/taiga/auth/services.py index 73b65b5d..70da5281 100644 --- a/taiga/auth/services.py +++ b/taiga/auth/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/signals.py b/taiga/auth/signals.py index 2f674fe1..90cba30f 100644 --- a/taiga/auth/signals.py +++ b/taiga/auth/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/auth/tokens.py b/taiga/auth/tokens.py index a24b91e4..b35fb771 100644 --- a/taiga/auth/tokens.py +++ b/taiga/auth/tokens.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/__init__.py b/taiga/base/__init__.py index 6aa21c11..9ad96b3a 100644 --- a/taiga/base/__init__.py +++ b/taiga/base/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/__init__.py b/taiga/base/api/__init__.py index f8457cd1..c377aeef 100644 --- a/taiga/base/api/__init__.py +++ b/taiga/base/api/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/authentication.py b/taiga/base/api/authentication.py index ad83bdbf..693b17c8 100644 --- a/taiga/base/api/authentication.py +++ b/taiga/base/api/authentication.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/fields.py b/taiga/base/api/fields.py index ad05e422..465fbf8e 100644 --- a/taiga/base/api/fields.py +++ b/taiga/base/api/fields.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/generics.py b/taiga/base/api/generics.py index 2315bfc1..db1e0e0b 100644 --- a/taiga/base/api/generics.py +++ b/taiga/base/api/generics.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/mixins.py b/taiga/base/api/mixins.py index 371b44c7..d8a32342 100644 --- a/taiga/base/api/mixins.py +++ b/taiga/base/api/mixins.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/negotiation.py b/taiga/base/api/negotiation.py index f4984a11..7749d48e 100644 --- a/taiga/base/api/negotiation.py +++ b/taiga/base/api/negotiation.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/pagination.py b/taiga/base/api/pagination.py index e501ec9c..19d58f97 100644 --- a/taiga/base/api/pagination.py +++ b/taiga/base/api/pagination.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/parsers.py b/taiga/base/api/parsers.py index 3b254633..6799ce13 100644 --- a/taiga/base/api/parsers.py +++ b/taiga/base/api/parsers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/permissions.py b/taiga/base/api/permissions.py index 54e3be02..fabf161e 100644 --- a/taiga/base/api/permissions.py +++ b/taiga/base/api/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -16,6 +16,8 @@ import abc +from functools import reduce + from taiga.base.utils import sequence as sq from taiga.permissions.service import user_has_perm, is_project_owner from django.apps import apps diff --git a/taiga/base/api/relations.py b/taiga/base/api/relations.py index 4c02ec91..8215ff34 100644 --- a/taiga/base/api/relations.py +++ b/taiga/base/api/relations.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/renderers.py b/taiga/base/api/renderers.py index c30cb074..951d2dd1 100644 --- a/taiga/base/api/renderers.py +++ b/taiga/base/api/renderers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/request.py b/taiga/base/api/request.py index 0e5fe48a..9cf69817 100644 --- a/taiga/base/api/request.py +++ b/taiga/base/api/request.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/reverse.py b/taiga/base/api/reverse.py index 1049388f..8c79494d 100644 --- a/taiga/base/api/reverse.py +++ b/taiga/base/api/reverse.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/serializers.py b/taiga/base/api/serializers.py index 3f33e180..10b677ea 100644 --- a/taiga/base/api/serializers.py +++ b/taiga/base/api/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -15,7 +15,7 @@ # along with this program. If not, see . # This code is partially taken from django-rest-framework: -# Copyright (c) 2011-2015, Tom Christie +# Copyright (c) 2011-2016, Tom Christie """ diff --git a/taiga/base/api/settings.py b/taiga/base/api/settings.py index 5eda4866..42f2fce9 100644 --- a/taiga/base/api/settings.py +++ b/taiga/base/api/settings.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -15,7 +15,7 @@ # along with this program. If not, see . # This code is partially taken from django-rest-framework: -# Copyright (c) 2011-2015, Tom Christie +# Copyright (c) 2011-2016, Tom Christie """ diff --git a/taiga/base/api/static/api/css/bootstrap-tweaks.css b/taiga/base/api/static/api/css/bootstrap-tweaks.css index 98b0348f..6b30f2d1 100644 --- a/taiga/base/api/static/api/css/bootstrap-tweaks.css +++ b/taiga/base/api/static/api/css/bootstrap-tweaks.css @@ -1,7 +1,7 @@ /* - * Copyright (C) 2014-2015 Andrey Antukh - * Copyright (C) 2014-2015 Jesús Espino - * Copyright (C) 2014-2015 David Barragán + * Copyright (C) 2014-2016 Andrey Antukh + * Copyright (C) 2014-2016 Jesús Espino + * Copyright (C) 2014-2016 David Barragán * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/static/api/css/default.css b/taiga/base/api/static/api/css/default.css index cbd7191c..f9a400d0 100644 --- a/taiga/base/api/static/api/css/default.css +++ b/taiga/base/api/static/api/css/default.css @@ -1,7 +1,7 @@ /* - * Copyright (C) 2014-2015 Andrey Antukh - * Copyright (C) 2014-2015 Jesús Espino - * Copyright (C) 2014-2015 David Barragán + * Copyright (C) 2014-2016 Andrey Antukh + * Copyright (C) 2014-2016 Jesús Espino + * Copyright (C) 2014-2016 David Barragán * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/static/api/css/prettify.css b/taiga/base/api/static/api/css/prettify.css index 1511794c..598734e2 100644 --- a/taiga/base/api/static/api/css/prettify.css +++ b/taiga/base/api/static/api/css/prettify.css @@ -1,7 +1,7 @@ /* - * Copyright (C) 2014-2015 Andrey Antukh - * Copyright (C) 2014-2015 Jesús Espino - * Copyright (C) 2014-2015 David Barragán + * Copyright (C) 2014-2016 Andrey Antukh + * Copyright (C) 2014-2016 Jesús Espino + * Copyright (C) 2014-2016 David Barragán * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/static/api/js/default.js b/taiga/base/api/static/api/js/default.js index fc8563d2..8996f763 100644 --- a/taiga/base/api/static/api/js/default.js +++ b/taiga/base/api/static/api/js/default.js @@ -1,7 +1,7 @@ /* - * Copyright (C) 2014-2015 Andrey Antukh - * Copyright (C) 2014-2015 Jesús Espino - * Copyright (C) 2014-2015 David Barragán + * Copyright (C) 2014-2016 Andrey Antukh + * Copyright (C) 2014-2016 Jesús Espino + * Copyright (C) 2014-2016 David Barragán * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/static/api/js/prettify-min.js b/taiga/base/api/static/api/js/prettify-min.js index c225269f..7c37d5c3 100644 --- a/taiga/base/api/static/api/js/prettify-min.js +++ b/taiga/base/api/static/api/js/prettify-min.js @@ -1,7 +1,7 @@ /* - * Copyright (C) 2014-2015 Andrey Antukh - * Copyright (C) 2014-2015 Jesús Espino - * Copyright (C) 2014-2015 David Barragán + * Copyright (C) 2014-2016 Andrey Antukh + * Copyright (C) 2014-2016 Jesús Espino + * Copyright (C) 2014-2016 David Barragán * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/templatetags/api.py b/taiga/base/api/templatetags/api.py index 642b476d..5f097b60 100644 --- a/taiga/base/api/templatetags/api.py +++ b/taiga/base/api/templatetags/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/throttling.py b/taiga/base/api/throttling.py index 89cf4c7d..5f8c74d8 100644 --- a/taiga/base/api/throttling.py +++ b/taiga/base/api/throttling.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/urlpatterns.py b/taiga/base/api/urlpatterns.py index 4c67ad23..249017ae 100644 --- a/taiga/base/api/urlpatterns.py +++ b/taiga/base/api/urlpatterns.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/urls.py b/taiga/base/api/urls.py index e7e4af2b..ba7eb521 100644 --- a/taiga/base/api/urls.py +++ b/taiga/base/api/urls.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils.py b/taiga/base/api/utils.py index 8f803b0a..b5a8b960 100644 --- a/taiga/base/api/utils.py +++ b/taiga/base/api/utils.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils/__init__.py b/taiga/base/api/utils/__init__.py index a555ba83..61a219d5 100644 --- a/taiga/base/api/utils/__init__.py +++ b/taiga/base/api/utils/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils/breadcrumbs.py b/taiga/base/api/utils/breadcrumbs.py index 950fe710..d0ff8c7b 100644 --- a/taiga/base/api/utils/breadcrumbs.py +++ b/taiga/base/api/utils/breadcrumbs.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils/encoders.py b/taiga/base/api/utils/encoders.py index cc998d24..f87a77b6 100644 --- a/taiga/base/api/utils/encoders.py +++ b/taiga/base/api/utils/encoders.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils/formatting.py b/taiga/base/api/utils/formatting.py index c8a1781e..44d89218 100644 --- a/taiga/base/api/utils/formatting.py +++ b/taiga/base/api/utils/formatting.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/utils/mediatypes.py b/taiga/base/api/utils/mediatypes.py index b049f166..90e53bdf 100644 --- a/taiga/base/api/utils/mediatypes.py +++ b/taiga/base/api/utils/mediatypes.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/views.py b/taiga/base/api/views.py index 0d5a60da..a718893d 100644 --- a/taiga/base/api/views.py +++ b/taiga/base/api/views.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/api/viewsets.py b/taiga/base/api/viewsets.py index 9122972a..714172e3 100644 --- a/taiga/base/api/viewsets.py +++ b/taiga/base/api/viewsets.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/apps.py b/taiga/base/apps.py index 32ef371c..04c717fd 100644 --- a/taiga/base/apps.py +++ b/taiga/base/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/connectors/exceptions.py b/taiga/base/connectors/exceptions.py index 7173c757..839037e8 100644 --- a/taiga/base/connectors/exceptions.py +++ b/taiga/base/connectors/exceptions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/decorators.py b/taiga/base/decorators.py index 37912397..62b405cf 100644 --- a/taiga/base/decorators.py +++ b/taiga/base/decorators.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/exceptions.py b/taiga/base/exceptions.py index a6e3850f..a4c9d661 100644 --- a/taiga/base/exceptions.py +++ b/taiga/base/exceptions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -15,7 +15,7 @@ # along with this program. If not, see . # This code is partially taken from django-rest-framework: -# Copyright (c) 2011-2015, Tom Christie +# Copyright (c) 2011-2016, Tom Christie """ diff --git a/taiga/base/fields.py b/taiga/base/fields.py index 28c04a11..0fc5316c 100644 --- a/taiga/base/fields.py +++ b/taiga/base/fields.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/filters.py b/taiga/base/filters.py index a6cf64e3..f8901b17 100644 --- a/taiga/base/filters.py +++ b/taiga/base/filters.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -13,8 +13,6 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import operator -from functools import reduce import logging from django.apps import apps diff --git a/taiga/base/formats/en/formats.py b/taiga/base/formats/en/formats.py index 6f5a83d4..3f949e39 100644 --- a/taiga/base/formats/en/formats.py +++ b/taiga/base/formats/en/formats.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/formats/es/formats.py b/taiga/base/formats/es/formats.py index a6c8e8f5..d36c3090 100644 --- a/taiga/base/formats/es/formats.py +++ b/taiga/base/formats/es/formats.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/mails.py b/taiga/base/mails.py index ac0517e0..6ab29280 100644 --- a/taiga/base/mails.py +++ b/taiga/base/mails.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/management/commands/test_emails.py b/taiga/base/management/commands/test_emails.py index c6d20a7d..f29621e1 100644 --- a/taiga/base/management/commands/test_emails.py +++ b/taiga/base/management/commands/test_emails.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/middleware/cors.py b/taiga/base/middleware/cors.py index a27ada91..1bdb3342 100644 --- a/taiga/base/middleware/cors.py +++ b/taiga/base/middleware/cors.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/neighbors.py b/taiga/base/neighbors.py index 3a7c0d44..a1edbef3 100644 --- a/taiga/base/neighbors.py +++ b/taiga/base/neighbors.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/response.py b/taiga/base/response.py index 458411c7..da665972 100644 --- a/taiga/base/response.py +++ b/taiga/base/response.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/routers.py b/taiga/base/routers.py index 6b72826c..996276ff 100644 --- a/taiga/base/routers.py +++ b/taiga/base/routers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/static/emails/logo-color.png b/taiga/base/static/emails/logo-color.png index 49888fa4..7a1e3a9c 100644 Binary files a/taiga/base/static/emails/logo-color.png and b/taiga/base/static/emails/logo-color.png differ diff --git a/taiga/base/status.py b/taiga/base/status.py index 0000145c..f717f8c8 100644 --- a/taiga/base/status.py +++ b/taiga/base/status.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -15,7 +15,7 @@ # along with this program. If not, see . # This code is partially taken from django-rest-framework: -# Copyright (c) 2011-2015, Tom Christie +# Copyright (c) 2011-2016, Tom Christie """ diff --git a/taiga/base/storage.py b/taiga/base/storage.py index ad79c9fd..88edb6d1 100644 --- a/taiga/base/storage.py +++ b/taiga/base/storage.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/tags.py b/taiga/base/tags.py index 9af3cfe6..8e59ce7d 100644 --- a/taiga/base/tags.py +++ b/taiga/base/tags.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/throttling.py b/taiga/base/throttling.py index edc1fa14..b13915e3 100644 --- a/taiga/base/throttling.py +++ b/taiga/base/throttling.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/contenttypes.py b/taiga/base/utils/contenttypes.py index a475b352..9f9c14cc 100644 --- a/taiga/base/utils/contenttypes.py +++ b/taiga/base/utils/contenttypes.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/db.py b/taiga/base/utils/db.py index 82694014..f9fd4b9d 100644 --- a/taiga/base/utils/db.py +++ b/taiga/base/utils/db.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -208,10 +208,11 @@ def to_tsquery(term): if not bit: continue - if bit.startswith('"') and bit.endswith('"'): + if bit.startswith('"') and bit.endswith('"') and len(bit)>2: res.append(bit.replace('"', "'")) else: res.append("'%s':*" %(bit.replace("'", ""), )) + res.append("&") while res and res[-1] in magic_values: diff --git a/taiga/base/utils/dicts.py b/taiga/base/utils/dicts.py index 4a3c1ce6..10a477b6 100644 --- a/taiga/base/utils/dicts.py +++ b/taiga/base/utils/dicts.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/diff.py b/taiga/base/utils/diff.py index 27f1281e..8c7c4f0d 100644 --- a/taiga/base/utils/diff.py +++ b/taiga/base/utils/diff.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/functions.py b/taiga/base/utils/functions.py index 3570a59a..560fc1c8 100644 --- a/taiga/base/utils/functions.py +++ b/taiga/base/utils/functions.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/iterators.py b/taiga/base/utils/iterators.py index f7249112..8be43791 100644 --- a/taiga/base/utils/iterators.py +++ b/taiga/base/utils/iterators.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/json.py b/taiga/base/utils/json.py index d9e54132..d9293519 100644 --- a/taiga/base/utils/json.py +++ b/taiga/base/utils/json.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/sequence.py b/taiga/base/utils/sequence.py index da50953a..77ac2ca6 100644 --- a/taiga/base/utils/sequence.py +++ b/taiga/base/utils/sequence.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/signals.py b/taiga/base/utils/signals.py index d2700790..cc4fff9b 100644 --- a/taiga/base/utils/signals.py +++ b/taiga/base/utils/signals.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/slug.py b/taiga/base/utils/slug.py index 48776ac3..83943f09 100644 --- a/taiga/base/utils/slug.py +++ b/taiga/base/utils/slug.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/text.py b/taiga/base/utils/text.py index b8de6aef..7338974e 100644 --- a/taiga/base/utils/text.py +++ b/taiga/base/utils/text.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/base/utils/urls.py b/taiga/base/utils/urls.py index e13d783e..bd3fe96c 100644 --- a/taiga/base/utils/urls.py +++ b/taiga/base/utils/urls.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/celery.py b/taiga/celery.py index 8084290b..f03594b4 100644 --- a/taiga/celery.py +++ b/taiga/celery.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/contrib_routers.py b/taiga/contrib_routers.py index 129d56b6..ea1cdc2f 100644 --- a/taiga/contrib_routers.py +++ b/taiga/contrib_routers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/deferred.py b/taiga/deferred.py index 084a16f0..8788ed00 100644 --- a/taiga/deferred.py +++ b/taiga/deferred.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/__init__.py b/taiga/events/__init__.py index b2d6c236..35f5be4a 100644 --- a/taiga/events/__init__.py +++ b/taiga/events/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/apps.py b/taiga/events/apps.py index 1081d6db..385b4bf4 100644 --- a/taiga/events/apps.py +++ b/taiga/events/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/backends/__init__.py b/taiga/events/backends/__init__.py index da0d1ba3..bdd3825e 100644 --- a/taiga/events/backends/__init__.py +++ b/taiga/events/backends/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/backends/base.py b/taiga/events/backends/base.py index 16189070..9ff0a9b2 100644 --- a/taiga/events/backends/base.py +++ b/taiga/events/backends/base.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/backends/postgresql.py b/taiga/events/backends/postgresql.py index beaf04ee..57ae500c 100644 --- a/taiga/events/backends/postgresql.py +++ b/taiga/events/backends/postgresql.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/backends/rabbitmq.py b/taiga/events/backends/rabbitmq.py index 18b573b1..3702d47d 100644 --- a/taiga/events/backends/rabbitmq.py +++ b/taiga/events/backends/rabbitmq.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/events.py b/taiga/events/events.py index 3bd29173..1e7aa64c 100644 --- a/taiga/events/events.py +++ b/taiga/events/events.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/management/__init__.py b/taiga/events/management/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/taiga/events/management/commands/emit_notification_message.py b/taiga/events/management/commands/emit_notification_message.py new file mode 100644 index 00000000..4d075e92 --- /dev/null +++ b/taiga/events/management/commands/emit_notification_message.py @@ -0,0 +1,34 @@ +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from django.core.management.base import BaseCommand + +from taiga.events.events import emit_event + +class Command(BaseCommand): + help = 'Send a notification message to the current users' + + def add_arguments(self, parser): + parser.add_argument("title", help="The title of the message.") + parser.add_argument("description", help="The description of the message.") + + def handle(self, **options): + data = { + "title": options["title"], + "desc": options["description"], + } + routing_key = "notifications" + emit_event(data, routing_key) diff --git a/taiga/events/middleware.py b/taiga/events/middleware.py index 6fdbe3ef..669d6167 100644 --- a/taiga/events/middleware.py +++ b/taiga/events/middleware.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/events/signal_handlers.py b/taiga/events/signal_handlers.py index e50b0f4c..f2db51a8 100644 --- a/taiga/events/signal_handlers.py +++ b/taiga/events/signal_handlers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/api.py b/taiga/export_import/api.py index 12f0470d..6bc0d1b4 100644 --- a/taiga/export_import/api.py +++ b/taiga/export_import/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/dump_service.py b/taiga/export_import/dump_service.py index e09783a9..7508dd7c 100644 --- a/taiga/export_import/dump_service.py +++ b/taiga/export_import/dump_service.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/management/commands/dump_project.py b/taiga/export_import/management/commands/dump_project.py index 6126a04a..5db2319d 100644 --- a/taiga/export_import/management/commands/dump_project.py +++ b/taiga/export_import/management/commands/dump_project.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/management/commands/load_dump.py b/taiga/export_import/management/commands/load_dump.py index 5afee1b8..6e2680d2 100644 --- a/taiga/export_import/management/commands/load_dump.py +++ b/taiga/export_import/management/commands/load_dump.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/mixins.py b/taiga/export_import/mixins.py index 89a625e6..c05c6154 100644 --- a/taiga/export_import/mixins.py +++ b/taiga/export_import/mixins.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/permissions.py b/taiga/export_import/permissions.py index 23516de9..15d7209d 100644 --- a/taiga/export_import/permissions.py +++ b/taiga/export_import/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/renderers.py b/taiga/export_import/renderers.py index 7f7a2a28..b1ac06fb 100644 --- a/taiga/export_import/renderers.py +++ b/taiga/export_import/renderers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/serializers.py b/taiga/export_import/serializers.py index 86d84018..6d5a6138 100644 --- a/taiga/export_import/serializers.py +++ b/taiga/export_import/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/service.py b/taiga/export_import/service.py index 5e45a6e4..f61ced4a 100644 --- a/taiga/export_import/service.py +++ b/taiga/export_import/service.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/tasks.py b/taiga/export_import/tasks.py index a33d2518..73c66c96 100644 --- a/taiga/export_import/tasks.py +++ b/taiga/export_import/tasks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/export_import/throttling.py b/taiga/export_import/throttling.py index 8a772520..a05e4cf2 100644 --- a/taiga/export_import/throttling.py +++ b/taiga/export_import/throttling.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/admin.py b/taiga/external_apps/admin.py index c1efa854..ea098236 100644 --- a/taiga/external_apps/admin.py +++ b/taiga/external_apps/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/api.py b/taiga/external_apps/api.py index 8da1ca9a..407b0c88 100644 --- a/taiga/external_apps/api.py +++ b/taiga/external_apps/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/auth_backends.py b/taiga/external_apps/auth_backends.py index 6ab025bd..13ce1e5d 100644 --- a/taiga/external_apps/auth_backends.py +++ b/taiga/external_apps/auth_backends.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/encryption.py b/taiga/external_apps/encryption.py index 523c49d1..9693ac4c 100644 --- a/taiga/external_apps/encryption.py +++ b/taiga/external_apps/encryption.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/models.py b/taiga/external_apps/models.py index b1ffed26..a2496c4a 100644 --- a/taiga/external_apps/models.py +++ b/taiga/external_apps/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/permissions.py b/taiga/external_apps/permissions.py index 2132ea2a..8bb0f9e9 100644 --- a/taiga/external_apps/permissions.py +++ b/taiga/external_apps/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/serializers.py b/taiga/external_apps/serializers.py index bc3cc0fc..a4c83e71 100644 --- a/taiga/external_apps/serializers.py +++ b/taiga/external_apps/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/external_apps/services.py b/taiga/external_apps/services.py index 7e1f78a4..1794cb6c 100644 --- a/taiga/external_apps/services.py +++ b/taiga/external_apps/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/__init__.py b/taiga/feedback/__init__.py index 69fa6d10..2b68fc6e 100644 --- a/taiga/feedback/__init__.py +++ b/taiga/feedback/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/admin.py b/taiga/feedback/admin.py index 0c6f5e0c..2eac4260 100644 --- a/taiga/feedback/admin.py +++ b/taiga/feedback/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/api.py b/taiga/feedback/api.py index 46dc31bd..ae529102 100644 --- a/taiga/feedback/api.py +++ b/taiga/feedback/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/apps.py b/taiga/feedback/apps.py index 8d8ec510..dae893ec 100644 --- a/taiga/feedback/apps.py +++ b/taiga/feedback/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/models.py b/taiga/feedback/models.py index f60aee92..f291006e 100644 --- a/taiga/feedback/models.py +++ b/taiga/feedback/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/permissions.py b/taiga/feedback/permissions.py index bbb53bdb..ead7f1d3 100644 --- a/taiga/feedback/permissions.py +++ b/taiga/feedback/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/routers.py b/taiga/feedback/routers.py index 06d8988b..ac7cd1fc 100644 --- a/taiga/feedback/routers.py +++ b/taiga/feedback/routers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/serializers.py b/taiga/feedback/serializers.py index 647c0e96..bd42472d 100644 --- a/taiga/feedback/serializers.py +++ b/taiga/feedback/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/feedback/services.py b/taiga/feedback/services.py index 6fee5c79..80421fea 100644 --- a/taiga/feedback/services.py +++ b/taiga/feedback/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/front/sitemaps/__init__.py b/taiga/front/sitemaps/__init__.py index e07dd928..cf638d3d 100644 --- a/taiga/front/sitemaps/__init__.py +++ b/taiga/front/sitemaps/__init__.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/base.py b/taiga/front/sitemaps/base.py index 418ed739..084d4474 100644 --- a/taiga/front/sitemaps/base.py +++ b/taiga/front/sitemaps/base.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/generics.py b/taiga/front/sitemaps/generics.py index 41479a61..2a4bb3ee 100644 --- a/taiga/front/sitemaps/generics.py +++ b/taiga/front/sitemaps/generics.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/issues.py b/taiga/front/sitemaps/issues.py index 912712fc..c30d74f2 100644 --- a/taiga/front/sitemaps/issues.py +++ b/taiga/front/sitemaps/issues.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/milestones.py b/taiga/front/sitemaps/milestones.py index 049d3c9c..f11dead8 100644 --- a/taiga/front/sitemaps/milestones.py +++ b/taiga/front/sitemaps/milestones.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/projects.py b/taiga/front/sitemaps/projects.py index fc56adca..89cc8340 100644 --- a/taiga/front/sitemaps/projects.py +++ b/taiga/front/sitemaps/projects.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/tasks.py b/taiga/front/sitemaps/tasks.py index fa066a3b..d3b53886 100644 --- a/taiga/front/sitemaps/tasks.py +++ b/taiga/front/sitemaps/tasks.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/users.py b/taiga/front/sitemaps/users.py index 0cd2c2ed..2c2df8d3 100644 --- a/taiga/front/sitemaps/users.py +++ b/taiga/front/sitemaps/users.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/userstories.py b/taiga/front/sitemaps/userstories.py index 669db7ed..3240229f 100644 --- a/taiga/front/sitemaps/userstories.py +++ b/taiga/front/sitemaps/userstories.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/sitemaps/wiki.py b/taiga/front/sitemaps/wiki.py index 33c0cf0e..669c6a75 100644 --- a/taiga/front/sitemaps/wiki.py +++ b/taiga/front/sitemaps/wiki.py @@ -1,5 +1,5 @@ -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Taiga Agile LLC # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as diff --git a/taiga/front/templatetags/functions.py b/taiga/front/templatetags/functions.py index 1c2fdaea..411a7146 100644 --- a/taiga/front/templatetags/functions.py +++ b/taiga/front/templatetags/functions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/front/urls.py b/taiga/front/urls.py index 5987e5af..4e85a885 100644 --- a/taiga/front/urls.py +++ b/taiga/front/urls.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/api.py b/taiga/hooks/api.py index d807f19d..0a2f9cc9 100644 --- a/taiga/hooks/api.py +++ b/taiga/hooks/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/bitbucket/api.py b/taiga/hooks/bitbucket/api.py index 781eca96..49b3284e 100644 --- a/taiga/hooks/bitbucket/api.py +++ b/taiga/hooks/bitbucket/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/bitbucket/event_hooks.py b/taiga/hooks/bitbucket/event_hooks.py index 3ee7c92b..7d26f72b 100644 --- a/taiga/hooks/bitbucket/event_hooks.py +++ b/taiga/hooks/bitbucket/event_hooks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/bitbucket/services.py b/taiga/hooks/bitbucket/services.py index ff39d083..30772f89 100644 --- a/taiga/hooks/bitbucket/services.py +++ b/taiga/hooks/bitbucket/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/event_hooks.py b/taiga/hooks/event_hooks.py index eebc45a0..1614e2f4 100644 --- a/taiga/hooks/event_hooks.py +++ b/taiga/hooks/event_hooks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/exceptions.py b/taiga/hooks/exceptions.py index 1a214ab0..6847ba6d 100644 --- a/taiga/hooks/exceptions.py +++ b/taiga/hooks/exceptions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/github/api.py b/taiga/hooks/github/api.py index 9082a2e6..b3437d1a 100644 --- a/taiga/hooks/github/api.py +++ b/taiga/hooks/github/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/github/event_hooks.py b/taiga/hooks/github/event_hooks.py index 20bbf11c..47f5b47a 100644 --- a/taiga/hooks/github/event_hooks.py +++ b/taiga/hooks/github/event_hooks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/github/services.py b/taiga/hooks/github/services.py index 31a4f063..0f37b4fa 100644 --- a/taiga/hooks/github/services.py +++ b/taiga/hooks/github/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/gitlab/api.py b/taiga/hooks/gitlab/api.py index 4cc71fd9..fe33df65 100644 --- a/taiga/hooks/gitlab/api.py +++ b/taiga/hooks/gitlab/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/gitlab/event_hooks.py b/taiga/hooks/gitlab/event_hooks.py index 4c1f7dd3..5324f2fb 100644 --- a/taiga/hooks/gitlab/event_hooks.py +++ b/taiga/hooks/gitlab/event_hooks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/hooks/gitlab/services.py b/taiga/hooks/gitlab/services.py index a441c0dc..32e77e13 100644 --- a/taiga/hooks/gitlab/services.py +++ b/taiga/hooks/gitlab/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/locale/api.py b/taiga/locale/api.py index 03f11d56..3cacf7d9 100644 --- a/taiga/locale/api.py +++ b/taiga/locale/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/locale/ca/LC_MESSAGES/django.po b/taiga/locale/ca/LC_MESSAGES/django.po index 27b52fd7..063a8865 100644 --- a/taiga/locale/ca/LC_MESSAGES/django.po +++ b/taiga/locale/ca/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 13:35+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Catalan (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -182,16 +182,16 @@ msgstr "" "Puja una imatge vàlida. El fitxer que has pujat no ès una imatge o el fitxer " "està corrupte." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "La página no es 'last' ni pot ser convertida a un 'int'" -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Pàgina invàlida (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "" @@ -330,12 +330,12 @@ msgstr "Error d'integritat per argument invàlid o erroni." msgid "Precondition error" msgstr "Precondició errònia." -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "" -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "" @@ -537,7 +537,7 @@ msgid "It contain invalid custom fields." msgstr "Conté camps personalitzats invàlids." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -705,12 +705,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "Nom" @@ -726,8 +726,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "Descripció" @@ -748,11 +748,11 @@ msgstr "" msgid "application" msgstr "" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "Nom complet" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "Adreça d'email" @@ -763,9 +763,9 @@ msgstr "Comentari" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -836,7 +836,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "El payload no és un arxiu json vàlid" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "El projecte no existeix" @@ -1143,11 +1143,11 @@ msgstr "" msgid "Not valid template description" msgstr "" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Al menys un del usuaris ha de ser administrador" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "No tens permisos per a veure açò." @@ -1160,24 +1160,24 @@ msgid "Project ID not matches between object and project" msgstr "" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "Amo" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "Projecte" @@ -1191,9 +1191,9 @@ msgstr "Id d'objecte" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "Data de modificació" @@ -1212,11 +1212,11 @@ msgstr "està obsolet " #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "Ordre" @@ -1258,7 +1258,7 @@ msgid "values" msgstr "" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "història d'usuari" @@ -1294,102 +1294,102 @@ msgstr "Crea" msgid "Delete" msgstr "Borra" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s punts de rol" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "De" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "a" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Afegir nou arxiu" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Arxiu actualitzat" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "Obsolet" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "No obsolet" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Arxiu borrat" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "Afegit" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "Borrat" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Sense assignar" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-borrat-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "a:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "desde:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Afegit" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Canviat" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Borrat" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "afegit:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "borrat:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Desde:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "A:" @@ -1407,33 +1407,33 @@ msgstr "nota de bloqueig" msgid "sprint" msgstr "" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "No tens permissos per a ficar aquest sprint a aquesta incidència" -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "No tens permissos per a ficar aquest status a aquesta tasca" -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "No tens permissos per a ficar aquesta severitat a aquesta tasca" -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "No tens permissos per a ficar aquesta prioritat a aquesta incidència" -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "No tens permissos per a ficar aquest tipus a aquesta incidència" #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "estatus" @@ -1446,7 +1446,7 @@ msgid "priority" msgstr "prioritat" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "fita" @@ -1455,17 +1455,17 @@ msgid "finished date" msgstr "Data de finalització" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "tema" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "assignada a" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "referència externa" @@ -1482,31 +1482,31 @@ msgstr "" msgid "Like" msgstr "M'agrada" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "Data estimada d'inici" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "Data estimada de finalització" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "està tancat" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibilitat" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "" @@ -1535,7 +1535,7 @@ msgstr "email" msgid "create at" msgstr "" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1591,27 +1591,27 @@ msgstr "total de fites" msgid "total story points" msgstr "total de punts d'història" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "activa panell de backlog" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "activa panell de kanban" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "activa panell de wiki" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "activa panell d'incidències" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "sistema de videoconferència" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "" @@ -1635,67 +1635,67 @@ msgstr "es privat" msgid "tags colors" msgstr "colors de tags" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "configuració de mòdules" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "està arxivat" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "color" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "limit de treball en progrés" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "valor" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "rol d'amo per defecte" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "opcions per defecte" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "status d'històries d'usuari" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "punts" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "status de tasques" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "status d'incidències" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "tipus d'incidències" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "prioritats" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "severitats" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "rols" @@ -2286,23 +2286,23 @@ msgstr "Severitats" msgid "Roles" msgstr "Rols" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -2680,45 +2680,45 @@ msgstr "" msgid "Stakeholder" msgstr "" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rol" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "ordre de backlog" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "ordre d'sprint" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "data de finalització" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "requeriment de client" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "requeriment d'equip" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "generat desde incidéncia" @@ -2787,57 +2787,57 @@ msgstr "Email duplicat" msgid "Not valid email" msgstr "Email no vàlid" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Nom d'usuari o email invàlid" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Correu enviat satisfactòriament" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Token invàlid" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Paràmetre de password actual requerit" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Paràmetre de password requerit" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Password invàlid, al menys 6 caràcters requerits" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Password actual invàlid" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Arguments incomplets." -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Format d'image invàlid" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Invàlid. Estás segur que el token es correcte i que no l'has usat abans?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Invàlid. Estás segur que el token es correcte?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "estatus de superusuari" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -2845,24 +2845,24 @@ msgstr "" "Designa que aquest usuari te tots els permisos sense asignarli-los " "explícitament." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "mot d'usuari" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Requerit. 30 caràcters o menys. Lletres, nombres i caràcters /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Introdueix un nom d'usuari vàlid" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "actiu" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -2870,43 +2870,43 @@ msgstr "" "Designa si aquest usuari ha de se tractac com actiu. Deselecciona açó en " "lloc de borrar el compte." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "foto" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "data d'unió" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "llenguatge per defecte" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "zona horaria per defecte" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "coloritza tags" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "token de correu" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nova adreça de correu" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "permissos" @@ -2918,7 +2918,7 @@ msgstr "invàlid" msgid "Invalid username. Try with a different one." msgstr "Nom d'usuari invàlid" -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "" diff --git a/taiga/locale/de/LC_MESSAGES/django.po b/taiga/locale/de/LC_MESSAGES/django.po index 40f4231c..92c3539e 100644 --- a/taiga/locale/de/LC_MESSAGES/django.po +++ b/taiga/locale/de/LC_MESSAGES/django.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-11 09:45+0000\n" "Last-Translator: Guido Brand\n" "Language-Team: German (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -212,16 +212,16 @@ msgstr "" "Bitte laden Sie ein gültiges Bild hoch. Die Datei, die Sie hochgeladen " "haben, ist entweder kein Bild oder defekt." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Seite ist nicht 'letzte', noch kann diese konvertiert werden." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Ungültige Seite (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Ungültige Berechtigungsdefinition" @@ -362,12 +362,12 @@ msgstr "Integritätsfehler wegen falscher oder ungültiger Argumente" msgid "Precondition error" msgstr "Voraussetzungsfehler" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Fehler in Filter Parameter Typen." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' muss ein Integer-Wert sein." @@ -592,7 +592,7 @@ msgid "It contain invalid custom fields." msgstr "Enthält ungültige Benutzerfelder." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -853,12 +853,12 @@ msgstr "Authentifizierung erforderlich" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "Name" @@ -874,8 +874,8 @@ msgstr "Web" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "Beschreibung" @@ -896,11 +896,11 @@ msgstr "Benutzer" msgid "application" msgstr "Applikation" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "vollständiger Name" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "E-Mail Adresse" @@ -911,9 +911,9 @@ msgstr "Kommentar" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -984,7 +984,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "Die Nutzlast ist kein gültiges json" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Das Projekt existiert nicht" @@ -1333,11 +1333,11 @@ msgstr "Unglültiger Templatename" msgid "Not valid template description" msgstr "Ungültige Templatebeschreibung" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Mindestens ein Benutzer muss ein aktiver Administrator sein. " -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Sie haben keine Berechtigungen für diese Ansicht" @@ -1350,24 +1350,24 @@ msgid "Project ID not matches between object and project" msgstr "Nr. unterschreidet sich zwischen dem Objekt und dem Projekt" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "Besitzer" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "Projekt" @@ -1381,9 +1381,9 @@ msgstr "Objekt Nr." #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "Zeitpunkt der Änderung" @@ -1402,11 +1402,11 @@ msgstr "wurde verworfen" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "Reihenfolge" @@ -1448,7 +1448,7 @@ msgid "values" msgstr "Werte" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "User-Story" @@ -1484,102 +1484,102 @@ msgstr "Erzeugen" msgid "Delete" msgstr "Löschen" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s Rollenpunkte " -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "Von" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "An" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Neuen Anhang hinzugefügt" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Anhang aktualisiert" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "verworfen" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "nicht verworfen" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Gelöschter Anhang" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "hinzugefügt" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "entfernt" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Nicht zugewiesen" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-gelöscht-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "An:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "Von:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Hinzugefügt" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Geändert" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Gelöscht" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "hinzugefügt:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "entfernt:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Von:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "An:" @@ -1597,37 +1597,37 @@ msgstr "Blockierungsgrund" msgid "sprint" msgstr "Sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diesen Sprint zu setzen." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diesen Status zu setzen. " -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diese Gewichtung zu setzen." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "" "Sie haben nicht die Berechtigung, das Ticket auf diese Priorität zu setzen. " -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Sie haben nicht die Berechtigung, das Ticket auf diese Art zu setzen." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "Status" @@ -1640,7 +1640,7 @@ msgid "priority" msgstr "Priorität" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "Meilenstein" @@ -1649,17 +1649,17 @@ msgid "finished date" msgstr "Datum der Fertigstellung" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "Betreff" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "zugewiesen an" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "externe Referenz" @@ -1676,31 +1676,31 @@ msgstr "Likes" msgid "Like" msgstr "Like" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "Slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "geschätzter Starttermin" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "geschätzter Endtermin" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "ist geschlossen" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "Verfügbarkeit" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "Der erwartete Beginn muss vor dem erwarteten Ende liegen. " @@ -1729,7 +1729,7 @@ msgstr "E-Mail" msgid "create at" msgstr "erstellt am " -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "Token" @@ -1785,27 +1785,27 @@ msgstr "Meilensteine Gesamt" msgid "total story points" msgstr "Story Punkte insgesamt" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "aktives Backlog Panel" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "aktives Kanban Panel" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "aktives Wiki Panel" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "aktives Tickets Panel" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "Videokonferenzsystem" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "Zusatzdaten Videokonferenz" @@ -1829,67 +1829,67 @@ msgstr "ist privat" msgid "tags colors" msgstr "Tag Farben" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "Module konfigurieren" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "ist archiviert" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "Farbe" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "Ausführungslimit" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "Wert" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "voreingestellte Besitzerrolle" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "Vorgabe Optionen" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "User-Story Status " -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "Punkte" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "Aufgaben Status" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "Ticket Status" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "Ticket Arten" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "Prioritäten" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "Gewichtung" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "Rollen" @@ -2760,26 +2760,26 @@ msgstr "Gewichtung" msgid "Roles" msgstr "Rollen" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Zukünftiger Sprint" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Projektende" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" "Sie haben nicht die Berechtigung, diesen Sprint auf diese Aufgabe zu setzen" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" "Sie haben nicht die Berechtigung, diese User-Story auf diese Aufgabe zu " "setzen" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" "Sie haben nicht die Berechtigung, diesen Status auf diese Aufgabe zu setzen." @@ -3201,49 +3201,49 @@ msgstr "Projekteigentümer " msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Sie haben nicht die Berechtigung, diesen Sprint auf diese User-Story zu " "setzen." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" "Sie haben nicht die Berechtigung, diesen Status auf diese User-Story zu " "setzen." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Erstelle die User-Story #{ref} - {subject}" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "Rolle" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "Backlog Befehl " -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "Sprintreihenfolge" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "Endtermin" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "ist Kundenanforderung" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "ist Teamanforderung" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "erzeugt von Ticket" @@ -3312,58 +3312,58 @@ msgstr "Doppelte E-Mail" msgid "Not valid email" msgstr "Ungültige E-Mail" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Ungültiger Benutzername oder E-Mail" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "E-Mail erfolgreich gesendet." -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Token ist ungültig" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Aktueller Passwort Parameter wird benötigt" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Neuer Passwort Parameter benötigt" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Ungültige Passwortlänge, mindestens 6 Zeichen erforderlich" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Ungültiges aktuelles Passwort" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Unvollständige Argumente" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Ungültiges Bildformat" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Ungültig. Sind Sie sicher, dass das Token korrekt ist und Sie es nicht " "bereits verwendet haben?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Ungültig. Sind Sie sicher, dass das Token korrekt ist?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "Superuser Status" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -3371,25 +3371,25 @@ msgstr "" "Dieser Benutzer soll alle Berechtigungen erhalten, ohne dass diese zuvor " "zugewiesen werden müssen. " -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "Benutzername" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Benötigt. 30 Zeichen oder weniger.. Buchstaben, Zahlen und /./-/_ Zeichen" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Geben Sie einen gültigen Benuzternamen ein." -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "aktiv" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3397,43 +3397,43 @@ msgstr "" "Kennzeichnet den Benutzer als aktiv. Deaktiviere die Option anstelle einen " "Benutzer zu löschen." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "Über mich" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "Foto" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "Beitrittsdatum" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "Vorgegebene Sprache" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "Standard-Theme" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "Vorgegebene Zeitzone" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "Tag-Farben" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "E-Mail Token" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "neue E-Mail Adresse" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "Berechtigungen" @@ -3445,7 +3445,7 @@ msgstr "ungültig" msgid "Invalid username. Try with a different one." msgstr "Ungültiger Benutzername. Versuchen Sie es mit einem anderen." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Benutzername oder Passwort stimmen mit keinem Benutzer überein." diff --git a/taiga/locale/en/LC_MESSAGES/django.po b/taiga/locale/en/LC_MESSAGES/django.po index 51d53df2..f54add46 100644 --- a/taiga/locale/en/LC_MESSAGES/django.po +++ b/taiga/locale/en/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-03-25 20:09+0100\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Taiga Dev Team \n" @@ -174,16 +174,16 @@ msgid "" "corrupted image." msgstr "" -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "" -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "" @@ -322,12 +322,12 @@ msgstr "" msgid "Precondition error" msgstr "" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "" -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "" @@ -526,7 +526,7 @@ msgid "It contain invalid custom fields." msgstr "" #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -694,12 +694,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "" @@ -715,8 +715,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "" @@ -737,11 +737,11 @@ msgstr "" msgid "application" msgstr "" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "" @@ -752,9 +752,9 @@ msgstr "" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -809,7 +809,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "" @@ -1116,11 +1116,11 @@ msgstr "" msgid "Not valid template description" msgstr "" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "" @@ -1133,24 +1133,24 @@ msgid "Project ID not matches between object and project" msgstr "" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "" @@ -1164,9 +1164,9 @@ msgstr "" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "" @@ -1185,11 +1185,11 @@ msgstr "" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "" @@ -1231,7 +1231,7 @@ msgid "values" msgstr "" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "" @@ -1267,102 +1267,102 @@ msgstr "" msgid "Delete" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 -msgid "From:" -msgstr "" - #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 #: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +msgid "From:" +msgstr "" + +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "" @@ -1380,33 +1380,33 @@ msgstr "" msgid "sprint" msgstr "" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "" -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "" -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "" -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "" -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "" #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "" @@ -1419,7 +1419,7 @@ msgid "priority" msgstr "" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "" @@ -1428,17 +1428,17 @@ msgid "finished date" msgstr "" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "" @@ -1455,31 +1455,31 @@ msgstr "" msgid "Like" msgstr "" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "" @@ -1508,7 +1508,7 @@ msgstr "" msgid "create at" msgstr "" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "" @@ -1564,27 +1564,27 @@ msgstr "" msgid "total story points" msgstr "" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "" @@ -1608,67 +1608,67 @@ msgstr "" msgid "tags colors" msgstr "" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "" @@ -2253,23 +2253,23 @@ msgstr "" msgid "Roles" msgstr "" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -2629,45 +2629,45 @@ msgstr "" msgid "Stakeholder" msgstr "" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "" @@ -2736,121 +2736,121 @@ msgstr "" msgid "Not valid email" msgstr "" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "" @@ -2862,7 +2862,7 @@ msgstr "" msgid "Invalid username. Try with a different one." msgstr "" -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "" diff --git a/taiga/locale/es/LC_MESSAGES/django.po b/taiga/locale/es/LC_MESSAGES/django.po index 56a107ca..c04a0dd3 100644 --- a/taiga/locale/es/LC_MESSAGES/django.po +++ b/taiga/locale/es/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 21:24+0000\n" "Last-Translator: Jesus Marin \n" "Language-Team: Spanish (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -196,16 +196,16 @@ msgid "" "corrupted image." msgstr "Adjunta una imagen válida. El fichero no es una imagen o está dañada." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "La página no es 'last' o no es un número." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Página no válida (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Definición de permiso inválida." @@ -347,12 +347,12 @@ msgstr "Error de integridad por argumentos incorrectos o inválidos" msgid "Precondition error" msgstr "Error por incumplimiento de precondición" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Error en los típos de parámetros de filtrado" -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' debe ser un valor entero." @@ -576,7 +576,7 @@ msgid "It contain invalid custom fields." msgstr "Contiene attributos personalizados inválidos." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -832,12 +832,12 @@ msgstr "Se requiere autenticación" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "nombre" @@ -853,8 +853,8 @@ msgstr "web" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "descripción" @@ -875,11 +875,11 @@ msgstr "usuario" msgid "application" msgstr "aplicación" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "nombre completo" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "dirección de email" @@ -890,9 +890,9 @@ msgstr "comentario" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -962,7 +962,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "El payload no es un json válido" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "El proyecto no existe" @@ -1310,11 +1310,11 @@ msgstr "Nombre de plantilla invalido" msgid "Not valid template description" msgstr "Descripción de plantilla invalida" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Al menos uno de los usuario debe ser un administrador." -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "No tienes suficientes permisos para ver esto." @@ -1327,24 +1327,24 @@ msgid "Project ID not matches between object and project" msgstr "El ID de proyecto no coincide entre el adjunto y un proyecto" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "Dueño" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "Proyecto" @@ -1358,9 +1358,9 @@ msgstr "id de objeto" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "fecha modificada" @@ -1379,11 +1379,11 @@ msgstr "está desactualizado" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "orden" @@ -1425,7 +1425,7 @@ msgid "values" msgstr "valores" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "historia de usuario" @@ -1461,102 +1461,102 @@ msgstr "Crear" msgid "Delete" msgstr "Borrar" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "pntos del rol %(role)s" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "de" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "a" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Nuevo adjunto añadido" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Adjunto actualizado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "obsoleto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "no obsoleto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Adjunto borrado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "añadido" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "borrado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "No asignado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-borrado-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "a:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "de:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Añadido" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Cambiado" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Borrado" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "añadido:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "borrado:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "De:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "A:" @@ -1574,33 +1574,33 @@ msgstr "nota de bloqueo" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "No tienes permisos para asignar un sprint a esta petición." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "No tienes permisos para asignar un estado a esta petición." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "No tienes permisos para establecer la gravedad de esta petición." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "No tienes permiso para establecer la prioridad de esta petición." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "No tienes permiso para establecer el tipo de esta petición." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "estado" @@ -1613,7 +1613,7 @@ msgid "priority" msgstr "prioridad" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "sprint" @@ -1622,17 +1622,17 @@ msgid "finished date" msgstr "fecha de finalización" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "asunto" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "asignado a" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "referencia externa" @@ -1649,31 +1649,31 @@ msgstr "Likes" msgid "Like" msgstr "Like" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "fecha estimada de comienzo" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "fecha estimada de finalización" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "está cerrada" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibilidad" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "" "La fecha de inicio estimada debe ser previa a la fecha de finalización " @@ -1704,7 +1704,7 @@ msgstr "email" msgid "create at" msgstr "creado el" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1760,27 +1760,27 @@ msgstr "total de sprints" msgid "total story points" msgstr "puntos de historia totales" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "panel de backlog activado" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "panel de kanban activado" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "panel de wiki activo" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "panel de peticiones activo" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "sistema de videoconferencia" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "datos extra de videoconferencia" @@ -1804,67 +1804,67 @@ msgstr "privado" msgid "tags colors" msgstr "colores de etiquetas" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "configuración de modulos" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "archivado" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "color" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "limite del trabajo en progreso" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "valor" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "rol por defecto para el propietario" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "opciones por defecto" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "estatuas de historias" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "puntos" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "estatus de tareas" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "estados de petición" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "tipos de petición" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "prioridades" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "gravedades" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "roles" @@ -2687,23 +2687,23 @@ msgstr "Gravedades" msgid "Roles" msgstr "Roles" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Sprint futuro" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Final de proyecto" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "No tienes permisos para asignar este sprint a esta tarea." -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "No tienes permisos para asignar esta historia a esta tarea." -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "No tienes permisos para asignar este estado a esta tarea." @@ -3115,47 +3115,47 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "No tienes permisos para asignar este sprint a esta historia de usuario." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" "No tienes permisos para asignar este estado a esta historia de usuario." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Generada la historia de usuario #{ref} - {subject}" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rol" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "orden en el backlog" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "orden en el sprint" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "fecha de finalización" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "requerido por el cliente" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "requerido por el equipo" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "generada desde una petición" @@ -3224,57 +3224,57 @@ msgstr "Email duplicado" msgid "Not valid email" msgstr "Email no válido" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Nombre de usuario o email no válidos" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "¡Correo enviado con éxito!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "token inválido" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "La contraseña actual es obligatoria." -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "La nueva contraseña es obligatoria" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "La longitud de la contraseña debe de ser de al menos 6 caracteres" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Contraseña actual inválida" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Argumentos incompletos" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Formato de imagen no válido" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Invalido, ¿estás seguro de que el token es correcto y no se ha usado antes?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Inválido, ¿estás seguro de que el token es correcto?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "es superusuario" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -3282,24 +3282,24 @@ msgstr "" "Otorga todos los permisos a este usuario sin necesidad de hacerlo " "explicitamente." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "nombre de usuario" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Obligatorio. 30 caracteres o menos. Letras, números y /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Introduce un nombre de usuario válido" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "activo" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3307,43 +3307,43 @@ msgstr "" "Denota a los usuarios activos. Desmárcalo para dar de baja/borrar a un " "usuario." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografía" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "foto" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "fecha de registro" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "idioma por defecto" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "tema por defecto" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "zona horaria por defecto" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "añade color a las etiquetas" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "token de email" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nueva dirección de email" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "permisos" @@ -3355,7 +3355,7 @@ msgstr "no válido" msgid "Invalid username. Try with a different one." msgstr "Nombre de usuario inválido. Prueba con otro." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Nombre de usuario o contraseña inválidos." diff --git a/taiga/locale/fi/LC_MESSAGES/django.po b/taiga/locale/fi/LC_MESSAGES/django.po index 28672246..ebc557e3 100644 --- a/taiga/locale/fi/LC_MESSAGES/django.po +++ b/taiga/locale/fi/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 08:25+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Finnish (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -184,16 +184,16 @@ msgstr "" "Anna kelvollinen kuva. Annettu ei ollut tunnistettava kuva tai se oli " "vioittunut." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Sivu ei ole 'viimeinen', ekä sitä pystytä muuntamaan numeroksi." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Virheellinen sivu (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Virheellinen oikeuksien määrittely." @@ -332,12 +332,12 @@ msgstr "Integrity Error for wrong or invalid arguments" msgid "Precondition error" msgstr "Precondition error" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Error in filter params types." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' must be an integer value." @@ -562,7 +562,7 @@ msgid "It contain invalid custom fields." msgstr "Sisältää vieheellisiä omia kenttiä." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -815,12 +815,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "nimi" @@ -836,8 +836,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "kuvaus" @@ -858,11 +858,11 @@ msgstr "" msgid "application" msgstr "" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "koko nimi" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "sähköpostiosoite" @@ -873,9 +873,9 @@ msgstr "kommentti" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -947,7 +947,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "The payload is not a valid json" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Projektia ei löydy" @@ -1272,11 +1272,11 @@ msgstr "Virheellinen mallipohjan nimi" msgid "Not valid template description" msgstr "Virheellinen mallipohjan kuvaus" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Vähintään yhden käyttäjän pitää olla aktiivinen ylläpitäjä" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Sinulla ei ole oikeuksia nähdä tätä." @@ -1289,24 +1289,24 @@ msgid "Project ID not matches between object and project" msgstr "Projekti ID ei vastaa kohdetta ja projektia" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "omistaja" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "projekti" @@ -1320,9 +1320,9 @@ msgstr "objekti ID" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "muokkauspvm" @@ -1341,11 +1341,11 @@ msgstr "on poistettu" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "order" @@ -1387,7 +1387,7 @@ msgid "values" msgstr "arvot" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "käyttäjätarina" @@ -1423,102 +1423,102 @@ msgstr "Luo" msgid "Delete" msgstr "Poista" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s roolipistettä" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "keneltä" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "kenelle" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Liitä tiedosto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Päivitä tiedosto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "poistettu" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "ei poistettu" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Poista liite" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "lisätty" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "poistettu" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Tekijä puuttuu" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-poistettu-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "kenelle:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "keneltä:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Lisätty" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Muutettu" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Poistettu" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "lisätty:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "poistettu:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Keneltä:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "Kenelle:" @@ -1536,33 +1536,33 @@ msgstr "suljettu muistiinpano" msgid "sprint" msgstr "" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Sinulla ei ole oikeuksia laittaa kierrosta tälle pyynnölle." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Sinulla ei ole oikeutta asettaa statusta tälle pyyntö." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "Sinulla ei ole oikeutta asettaa vakavuutta tälle pyynnölle." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "Sinulla ei ole oikeutta asettaa kiireellisyyttä tälle pyynnölle." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Sinulla ei ole oikeutta asettaa tyyppiä tälle pyyntö." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "viittaus" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "tila" @@ -1575,7 +1575,7 @@ msgid "priority" msgstr "kiireellisyys" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "virstapylväs" @@ -1584,17 +1584,17 @@ msgid "finished date" msgstr "loppupvm" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "aihe" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "tekijä" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "ulkoinen viittaus" @@ -1611,31 +1611,31 @@ msgstr "" msgid "Like" msgstr "" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "hukka-aika" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "arvioitu alkupvm" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "arvioitu loppupvm" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "on suljettu" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibility" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "Alkuajan pitää olla ennen loppuaikaa." @@ -1664,7 +1664,7 @@ msgstr "sähköposti" msgid "create at" msgstr "luo täällä" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "tunniste" @@ -1720,27 +1720,27 @@ msgstr "virstapyväitä yhteensä" msgid "total story points" msgstr "käyttäjätarinan yhteispisteet" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "aktiivinen odottavien paneeli" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "aktiivinen kanban-paneeli" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "aktiivinen wiki-paneeli" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "aktiivinen pyyntöpaneeli" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "videokokous järjestelmä" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "" @@ -1764,67 +1764,67 @@ msgstr "on yksityinen" msgid "tags colors" msgstr "avainsanojen värit" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "moduulien asetukset" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "on arkistoitu" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "väri" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "työn alla olevien max" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "arvo" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "oletus omistajan rooli" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "oletus optiot" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "kt tilat" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "pisteet" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "tehtävän tilat" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "pyyntöjen tilat" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "pyyntötyypit" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "kiireellisyydet" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "vakavuudet" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "roolit" @@ -2655,23 +2655,23 @@ msgstr "Vakavuudet" msgid "Roles" msgstr "Roolit" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Tuleva kierros" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Projektin loppu" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -3080,45 +3080,45 @@ msgstr "Tuoteomistaja" msgid "Stakeholder" msgstr "Sidosryhmä" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rooli" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "odottavien listan järjestys" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "kierros järjestys" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "loppupvm" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "on asiakkaan vaatimus" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "on tiimin vaatimus" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "luotu pyynnöstä" @@ -3187,127 +3187,127 @@ msgstr "Sähköposti on jo olemassa" msgid "Not valid email" msgstr "Virheellinen sähköposti" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Tuntematon käyttäjänimi tai sähköposti" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Sähköposti lähetetty." -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Tunniste on virheellinen" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Nykyinen salasanaparametri tarvitaan" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Uusi salasanaparametri tarvitaan" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Salasanan pitää olla vähintään 6 merkkiä pitkä" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Virheellinen nykyinen salasana" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Puutteelliset argumentit" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Väärä kuvaformaatti" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Virheellinen. Oletko varma, että tunniste on oikea ja et ole jo käyttänyt " "sitä?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Virheellinen, oletko varma että tunniste on oikea?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "pääkäyttäjän status" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "" "Kertoo että käyttäjä saa tehdä kaiken ilman erikseen annettuja oiekuksia." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "käyttäjänimi" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Vaaditaan. Korkeintaan 30merkkiä. Kirjaimet, numerot ja merkit /./-/_ " "sallittuja" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Anna olemassa oleva käyttäjänimi." -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "aktiivinen" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "" "Käyttäjä on aktiivinen. Poista aktiivisuus käyttäjän poistamisen sijaan." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "kuva" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "liittymispvm" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "oletuskieli" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "oletus aikavyöhyke" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "väritä avainsanat" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "sähköpostitunniste" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "uusi sähköpostiosoite" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "oikeudet" @@ -3319,7 +3319,7 @@ msgstr "virheellinen" msgid "Invalid username. Try with a different one." msgstr "Tuntematon käyttäjänimi, yritä uudelleen." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Käyttäjätunnus tai salasana eivät ole oikein." diff --git a/taiga/locale/fr/LC_MESSAGES/django.po b/taiga/locale/fr/LC_MESSAGES/django.po index fabaa4d3..43a5dc7f 100644 --- a/taiga/locale/fr/LC_MESSAGES/django.po +++ b/taiga/locale/fr/LC_MESSAGES/django.po @@ -11,15 +11,16 @@ # Matthieu Durocher , 2015 # naekos , 2015 # Nlko , 2015 +# Regis TEDONE , 2015 # Stéphane Mor , 2015 # William Godin , 2015 msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" -"PO-Revision-Date: 2015-11-02 16:16+0000\n" -"Last-Translator: Taiga Dev Team \n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" +"PO-Revision-Date: 2015-11-17 20:48+0000\n" +"Last-Translator: Regis TEDONE \n" "Language-Team: French (http://www.transifex.com/taiga-agile-llc/taiga-back/" "language/fr/)\n" "MIME-Version: 1.0\n" @@ -203,18 +204,18 @@ msgstr "" "Envoyez une image valide. Le fichier que vous avez envoyé n'était pas une " "image ou était une image corrompue." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "" "La page n'est pas la \"dernière\", et ne peut pas non plus être convertie en " "entier." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Page invalide (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Définition de permission invalide." @@ -355,12 +356,12 @@ msgstr "Erreur d'intégrité ou arguments invalides" msgid "Precondition error" msgstr "Erreur de précondition" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Erreur dans les types de paramètres de filtres" -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' doit être une valeur entière." @@ -592,7 +593,7 @@ msgid "It contain invalid custom fields." msgstr "Contient des champs personnalisés non valides." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -804,12 +805,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "nom" @@ -825,8 +826,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "description" @@ -845,13 +846,13 @@ msgstr "utilisateur" #: taiga/external_apps/models.py:59 msgid "application" -msgstr "" +msgstr "application" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "Nom complet" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "Adresse email" @@ -862,9 +863,9 @@ msgstr "Commentaire" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -934,7 +935,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "Le payload n'est pas un json valide" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Le projet n'existe pas" @@ -1244,11 +1245,11 @@ msgstr "Nom de modèle non valide" msgid "Not valid template description" msgstr "Description du modèle non valide" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Au moins un utilisateur doit être un administrateur actif" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Vous n'avez pas les permissions pour consulter cet élément" @@ -1261,24 +1262,24 @@ msgid "Project ID not matches between object and project" msgstr "L'identifiant du projet de correspond pas entre l'objet et le projet" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "propriétaire" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "projet" @@ -1292,9 +1293,9 @@ msgstr "identifiant de l'objet" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "état modifié" @@ -1313,11 +1314,11 @@ msgstr "est obsolète" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "ordre" @@ -1359,7 +1360,7 @@ msgid "values" msgstr "valeurs" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "histoire utilisateur" @@ -1395,102 +1396,102 @@ msgstr "Créer" msgid "Delete" msgstr "Supprimer" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s points de rôle" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "de" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "à" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Ajouter une pièce jointe" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Pièces jointes mises à jour" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "obsolète" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "non obsolète" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Pièce jointe supprimée" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "ajouté" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "supprimé" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Non assigné" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-supprimé-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "à :" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "de :" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Ajouté" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Modifié" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Supprimé" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "ajouté :" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "supprimé :" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "De :" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "A :" @@ -1508,33 +1509,33 @@ msgstr "note bloquée" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Vous n'avez pas la permission d'affecter ce sprint à ce problème." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Vous n'avez pas la permission d'affecter ce statut à ce problème." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "Vous n'avez pas la permission d'affecter cette sévérité à ce problème." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "Vous n'avez pas la permission d'affecter cette priorité à ce problème." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Vous n'avez pas la permission d'affecter ce type à ce problème." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "réf" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "état" @@ -1547,7 +1548,7 @@ msgid "priority" msgstr "priorité" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "jalon" @@ -1556,17 +1557,17 @@ msgid "finished date" msgstr "date de fin" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "sujet" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "assigné à" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "référence externe" @@ -1583,31 +1584,31 @@ msgstr "Aime" msgid "Like" msgstr "Aimer" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "date de démarrage estimée" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "date de fin estimée" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "est fermé" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibilité" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "La date de démarrage doit être antérieure à la de fin prévisionnelle" @@ -1636,7 +1637,7 @@ msgstr "email" msgid "create at" msgstr "Créé le" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "jeton" @@ -1692,27 +1693,27 @@ msgstr "total des jalons" msgid "total story points" msgstr "total des points d'histoire" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "panneau backlog actif" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "panneau kanban actif" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "panneau wiki actif" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "panneau problèmes actif" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "plateforme de vidéoconférence" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "" @@ -1736,67 +1737,67 @@ msgstr "est privé" msgid "tags colors" msgstr "couleurs des tags" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "Configurations des modules" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "est archivé" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "couleur" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "limite de travail en cours" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "valeur" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "rôle par défaut du propriétaire" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "options par défaut" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "statuts des us" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "points" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "états des tâches" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "statuts des problèmes" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "types de problèmes" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "priorités" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "sévérités" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "rôles" @@ -2400,23 +2401,23 @@ msgstr "Sévérités" msgid "Roles" msgstr "Rôles" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Sprint futurs" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Fin du projet" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -2813,45 +2814,45 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Participant" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rôle" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "order du backlog" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "ordre du sprint" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "date de fin" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "est un requis client" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "est un requis de l'équipe" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "généré depuis un problème" @@ -2920,58 +2921,58 @@ msgstr "Email dupliquée" msgid "Not valid email" msgstr "Email non valide" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Nom d'utilisateur ou email non valide" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Mail envoyé avec succès!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Jeton invalide" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Paramètre 'mot de passe actuel' requis" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Paramètre 'nouveau mot de passe' requis" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Le mot de passe doit être d'au moins 6 caractères" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Mot de passe actuel incorrect" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "arguments manquants" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "format de l'image non valide" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Invalide, êtes-vous sûre que le jeton est correct et qu'il n'a pas déjà été " "utilisé ?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Invalide, êtes-vous sûre que le jeton est correct ?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "statut superutilisateur" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -2979,25 +2980,25 @@ msgstr "" "Indique que l'utilisateur a toutes les permissions sans avoir à lui les " "donner explicitement" -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "nom d'utilisateur" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Obligatoire. 30 caractères maximum. Lettres, nombres et les caractères /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Entrez un nom d'utilisateur valide" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "actif" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3005,43 +3006,43 @@ msgstr "" "Indique qu'un utilisateur est considéré ou non comme actif. Désélectionnez " "cette option au lieu de supprimer le compte utilisateur." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biographie" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "photo" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "date d'inscription" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "langage par défaut" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "thème par défaut" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "Fuseau horaire par défaut" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "changer la couleur des tags" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "jeton email" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nouvelle adresse email" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "permissions" @@ -3053,7 +3054,7 @@ msgstr "invalide" msgid "Invalid username. Try with a different one." msgstr "Nom d'utilisateur invalide. Essayez avec un autre nom." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Aucun utilisateur avec ce nom ou ce mot de passe." diff --git a/taiga/locale/it/LC_MESSAGES/django.po b/taiga/locale/it/LC_MESSAGES/django.po index c6df2414..be121f5c 100644 --- a/taiga/locale/it/LC_MESSAGES/django.po +++ b/taiga/locale/it/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-10 14:10+0000\n" "Last-Translator: Andrea Raimondi \n" "Language-Team: Italian (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -192,16 +192,16 @@ msgstr "" "Carica un'immagina valida. Il file caricato potrebbe non essere un'immagine " "o l'immagine potrebbe essere corrotta. " -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "La pagina non è 'last', né può essere convertita come int." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Pagina (%(page_number)s) invalida: %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Definizione di permesso non valida." @@ -343,12 +343,12 @@ msgstr "Errore di integrità causato da un argomento invalido o sbagliato" msgid "Precondition error" msgstr "Errore di precondizione" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Errore nel filtro del tipo di parametri." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'Progetto' deve essere un valore intero." @@ -586,7 +586,7 @@ msgid "It contain invalid custom fields." msgstr "Contiene campi personalizzati invalidi." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -901,12 +901,12 @@ msgstr "E' richiesta l'autenticazione" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "nome" @@ -922,8 +922,8 @@ msgstr "web" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "descrizione" @@ -944,11 +944,11 @@ msgstr "utente" msgid "application" msgstr "applicazione" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "Nome completo" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "Inserisci un indirizzo e-mail valido." @@ -959,9 +959,9 @@ msgstr "Commento" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -1037,7 +1037,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "Il carico non è un json valido" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Il progetto non esiste" @@ -1405,11 +1405,11 @@ msgstr "Il nome del template non è valido" msgid "Not valid template description" msgstr "La descrizione del template non è valida" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Almeno uno degli utenti deve essere attivo come amministratore" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Non hai il permesso di vedere questo elemento." @@ -1422,24 +1422,24 @@ msgid "Project ID not matches between object and project" msgstr "L'ID di progetto non corrisponde tra oggetto e progetto" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "proprietario" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "progetto" @@ -1453,9 +1453,9 @@ msgstr "ID dell'oggetto" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "data modificata" @@ -1474,11 +1474,11 @@ msgstr "non approvato" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "ordine" @@ -1520,7 +1520,7 @@ msgid "values" msgstr "valori" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "storia utente" @@ -1556,102 +1556,102 @@ msgstr "Creato" msgid "Delete" msgstr "Eliminato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s punti del ruolo" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "da" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "a" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Aggiunto un nuovo allegato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Allegato aggiornato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "non approvato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "accettato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Allegato eliminato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "aggiunto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "rimosso" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Non assegnato" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-eliminato-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "a:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "da:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Aggiunto" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Modificato" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Eliminato" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "aggiunto:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "rimosso:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Da:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "A:" @@ -1669,33 +1669,33 @@ msgstr "nota bloccata" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Non hai i permessi per aggiungere questo sprint a questo problema" -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Non hai i permessi per aggiungere questo stato a questo problema" -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "Non hai i permessi per aggiungere questa criticità a questo problema" -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "Non hai i permessi per aggiungere questa priorità a questo problema." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Non hai i permessi per aggiungere questa tipologia a questo problema" #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "referenza" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "stato" @@ -1708,7 +1708,7 @@ msgid "priority" msgstr "priorità" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "tappa" @@ -1717,17 +1717,17 @@ msgid "finished date" msgstr "data di conclusione" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "soggeto" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "assegnato a" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "referenza esterna" @@ -1744,31 +1744,31 @@ msgstr "Piaciuto" msgid "Like" msgstr "Like" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "lumaca" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "data stimata di inizio" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "data stimata di fine" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "è concluso" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibilità" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "" "La data stimata di inizio deve essere precedente alla data stimata di fine." @@ -1798,7 +1798,7 @@ msgstr "email" msgid "create at" msgstr "creato a " -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1854,27 +1854,27 @@ msgstr "tappe totali" msgid "total story points" msgstr "punti totali della storia" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "pannello di backlog attivo" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "pannello kanban attivo" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "pannello wiki attivo" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "pannello dei problemi attivo" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "sistema di videoconferenza" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "ulteriori dati di videoconferenza " @@ -1898,67 +1898,67 @@ msgstr "è privato" msgid "tags colors" msgstr "colori dei tag" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "configurazione dei moduli" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "è archivitato" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "colore" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "limite dei lavori in corso" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "valore" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "ruolo proprietario predefinito" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "opzioni predefinite " -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "stati della storia utente" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "punti" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "stati del compito" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "stati del probema" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "tipologie del problema" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "priorità" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "criticità " -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "ruoli" @@ -2929,24 +2929,24 @@ msgstr "Criticità" msgid "Roles" msgstr "Ruoli" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Sprint futuri" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Termine di progetto" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "Non hai i permessi per aggiungere questo sprint a questo compito." -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" "Non hai i permessi per aggiungere questa storia utente a questo compito." -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "Non hai i permessi per aggiungere questo stato a questo compito." @@ -3376,46 +3376,46 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Non hai i permessi per aggiungere questo sprint a questa storia utente." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "Non hai i permessi per aggiungere questo stato a questa storia utente." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Stiamo generando la storia utente #{ref} - {subject}" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "ruolo" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "ordine del backlog" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "ordine dello sprint" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "data di termine" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "é un requisito del cliente " -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "é una richiesta del team" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "generato da un problema" @@ -3484,58 +3484,58 @@ msgstr "E-mail duplicata" msgid "Not valid email" msgstr "E-mail non valida" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Username o e-mail non validi" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Mail inviata con successo!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Token non valido" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "E' necessario il parametro della password corrente" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "E' necessario il parametro della nuovo password" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Lunghezza della password non valida, sono necessari almeno 6 caratteri" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Password corrente non valida" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Argomento non valido" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Formato dell'immagine non valido" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Non valido. Sei sicuro che il token sia corretto e che tu non l'abbia già " "usato in precedenza?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Non valido. Sicuro che il token sia corretto?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "Stato del super-utente" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -3543,26 +3543,26 @@ msgstr "" "Definisce che questo utente ha tutti i permessi senza assegnarglieli " "esplicitamente." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "nome utente" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "" "Richiede 30 caratteri o meno. Deve comprendere: lettere, numeri e caratteri " "come /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Inserisci un nome utente valido." -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "attivo" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3570,43 +3570,43 @@ msgstr "" "Definisce se questo utente debba essere trattato come attivo. Deseleziona " "questo invece di eliminare gli account." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "fotografia" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "data di inizio partecipazione" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "lingua predefinita" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "tema predefinito" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "timezone predefinita" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "colora i tag" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "token e-mail" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nuovo indirizzo e-mail" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "permessi" @@ -3618,7 +3618,7 @@ msgstr "non valido" msgid "Invalid username. Try with a different one." msgstr "Nome utente non valido. Provane uno diverso." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Il nome utente o la password non corrispondono all'utente." diff --git a/taiga/locale/nl/LC_MESSAGES/django.po b/taiga/locale/nl/LC_MESSAGES/django.po index 9b922f7a..a9f6772b 100644 --- a/taiga/locale/nl/LC_MESSAGES/django.po +++ b/taiga/locale/nl/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 13:41+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Dutch (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -193,16 +193,16 @@ msgstr "" "Upload een geldige afbeelding. Het bestand dat je hebt geuploadet was ofwel " "een afbeelding ofwel een corrupte afbeelding." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Pagina is niet 'last', noch kan het omgezet worden naar een int." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Ongeldige pagina (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Ongeldige definitie van permissie." @@ -342,12 +342,12 @@ msgstr "Integriteitsfout voor verkeerde of ongeldige argumenten" msgid "Precondition error" msgstr "Preconditie fout" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Fout in filter params types." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' moet een integer waarde zijn." @@ -575,7 +575,7 @@ msgid "It contain invalid custom fields." msgstr "Het bevat ongeldige eigen velden:" #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -765,12 +765,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "naam" @@ -786,8 +786,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "omschrijving" @@ -808,11 +808,11 @@ msgstr "" msgid "application" msgstr "" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "volledige naam" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "e-mail adres" @@ -823,9 +823,9 @@ msgstr "commentaar" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -896,7 +896,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "De payload is geen geldige json" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Het project bestaat niet" @@ -1206,11 +1206,11 @@ msgstr "Ongeldige template naam" msgid "Not valid template description" msgstr "Ongeldige template omschrijving" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Minstens één van de gebruikers moet een active admin zijn" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Je hebt geen toestamming om dat te bekijken." @@ -1223,24 +1223,24 @@ msgid "Project ID not matches between object and project" msgstr "Project ID van object is niet gelijk aan die van het project" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "eigenaar" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "project" @@ -1254,9 +1254,9 @@ msgstr "object id" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "gemodifieerde datum" @@ -1275,11 +1275,11 @@ msgstr "is verouderd" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "volgorde" @@ -1321,7 +1321,7 @@ msgid "values" msgstr "waarden" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "user story" @@ -1357,102 +1357,102 @@ msgstr "Creëer" msgid "Delete" msgstr "Verwijder" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s rol punten" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "van" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "naar" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Nieuwe bijlage toegevoegd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Bijlage bijgewerkt" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "verouderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "niet verouderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Bijlage verwijderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "toegevoegd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "verwijderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Niet toegewezen" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-verwijderd-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "naar:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "van:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Toegevoegd" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Veranderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Verwijderd" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "toegevoegd:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "verwijderd:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Van:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "Naar:" @@ -1470,35 +1470,35 @@ msgstr "geblokkeerde notitie" msgid "sprint" msgstr "" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Je hebt geen toestemming om deze sprint op deze issue te zetten." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Je hebt geen toestemming om deze status toe te kennen aan dze issue." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "" "Je hebt geen toestemming om dit ernstniveau toe te kennen aan deze issue." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "" "Je hebt geen toestemming om deze prioriteit toe te kennen aan deze issue." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Je hebt geen toestemming om dit type toe te kennen aan deze issue." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "status" @@ -1511,7 +1511,7 @@ msgid "priority" msgstr "prioriteit" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "milestone" @@ -1520,17 +1520,17 @@ msgid "finished date" msgstr "datum van afwerking" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "onderwerp" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "toegewezen aan" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "externe referentie" @@ -1547,31 +1547,31 @@ msgstr "Personen die dit leuk vinden" msgid "Like" msgstr "Vind ik leuk" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "geschatte start datum" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "geschatte datum van afwerking" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "is gesloten" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "beschikbaarheid" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "The geschatte start moet vroeger zijn dan het geschatte einde." @@ -1600,7 +1600,7 @@ msgstr "e-mail" msgid "create at" msgstr "aangemaakt op" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1656,27 +1656,27 @@ msgstr "totaal van de milestones" msgid "total story points" msgstr "totaal story points" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "actief backlog paneel" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "actief kanban paneel" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "actief wiki paneel" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "actief issues paneel" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "videoconference systeem" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "" @@ -1700,67 +1700,67 @@ msgstr "is privé" msgid "tags colors" msgstr "tag kleuren" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "module config" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "is gearchiveerd" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "kleur" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "work in progress limiet" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "waarde" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "standaard rol eigenaar" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "standaard instellingen" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "us statussen" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "punten" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "taak statussen" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "issue statussen" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "issue types" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "prioriteiten" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "ernstniveaus" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "rollen" @@ -2375,23 +2375,23 @@ msgstr "Ernstniveaus" msgid "Roles" msgstr "Rollen" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Toekomstige sprint" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Project einde" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "" @@ -2775,45 +2775,45 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rol" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "backlog volgorde" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "sprint volgorde" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "afwerkdatum" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "is requirement van de klant" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "is requirement van het team" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "gegenereerd van issue" @@ -2882,56 +2882,56 @@ msgstr "Gedupliceerde e-mail" msgid "Not valid email" msgstr "Ongeldige e-mail" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Ongeldige gebruikersnaam of e-mail" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Mail met succes verzonden!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Token is ongeldig" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Huidig wachtwoord parameter vereist" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Nieuw wachtwoord parameter vereist" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Ongeldige lengte van wachtwoord, minstens 6 tekens vereist" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Ongeldig huidig wachtwoord" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Onvolledige argumenten" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Ongeldig afbeelding formaat" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "Ongeldig, weet je zeker dat het token correct en ongebruikt is?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Ongeldig, weet je zeker dat het token correct is?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "superuser status" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -2939,24 +2939,24 @@ msgstr "" "Beduidt dat deze gebruik alle toestemmingen heeft zonder deze expliciet toe " "te wijzen." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "gebruikersnaam" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Vereist. 30 of minder karakters. Letters, nummers en /./-/_ karakters" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Geef een geldige gebruikersnaam in" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "actief" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -2964,43 +2964,43 @@ msgstr "" "Beduidt of deze gebruiker als actief moet behandeld worden. Deselecteer dit " "i.p.v. accounts te verwijderen." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografie" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "foto" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "toetrededatum" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "standaard taal" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "standaard tijdzone" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "kleur tags" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "e-mail token" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nieuw e-mail adres" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "toestemmingen" @@ -3012,7 +3012,7 @@ msgstr "ongeldig" msgid "Invalid username. Try with a different one." msgstr "Ongeldige gebruikersnaam. Probeer met een andere." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Gebruikersnaam of wachtwoord stemt niet overeen met gebruiker." diff --git a/taiga/locale/permissions.py b/taiga/locale/permissions.py index 1c14c352..2ce79d8e 100644 --- a/taiga/locale/permissions.py +++ b/taiga/locale/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/locale/pl/LC_MESSAGES/django.po b/taiga/locale/pl/LC_MESSAGES/django.po index d81c422a..52b696ff 100644 --- a/taiga/locale/pl/LC_MESSAGES/django.po +++ b/taiga/locale/pl/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 08:25+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Polish (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -187,16 +187,16 @@ msgstr "" "Prześlij właściwy obraz. Plik który próbujesz przesłać nie jest obrazem lub " "jest uszkodzony." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Strona nie jest ostatnią i nie może zostać zmieniona na int." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Niewłaściwa strona (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Nieprawidłowa definicja uprawnień." @@ -337,12 +337,12 @@ msgstr "Błąd integralności dla błędnych lub nieprawidłowych argumentów" msgid "Precondition error" msgstr "Błąd warunków wstępnych" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Błąd w parametrach typów filtrów." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' musi być wartością typu int." @@ -576,7 +576,7 @@ msgid "It contain invalid custom fields." msgstr "Zawiera niewłaściwe pola niestandardowe." #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -833,12 +833,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "nazwa" @@ -854,8 +854,8 @@ msgstr "web" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "opis" @@ -876,11 +876,11 @@ msgstr "użytkownik" msgid "application" msgstr "aplikacja" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "Imię i Nazwisko" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "adres e-mail" @@ -891,9 +891,9 @@ msgstr "komentarz" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -964,7 +964,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "Źródło nie jest prawidłowym plikiem json" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Projekt nie istnieje" @@ -1314,11 +1314,11 @@ msgstr "Nieprawidłowa nazwa szablonu" msgid "Not valid template description" msgstr "Nieprawidłowy opis szablonu" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Przynajmniej jeden użytkownik musi być aktywnym Administratorem" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Nie masz uprawnień by to zobaczyć." @@ -1331,24 +1331,24 @@ msgid "Project ID not matches between object and project" msgstr "ID nie pasuje pomiędzy obiektem a projektem" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "właściciel" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "projekt" @@ -1362,9 +1362,9 @@ msgstr "id obiektu" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "data modyfikacji" @@ -1383,11 +1383,11 @@ msgstr "jest przestarzałe" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "kolejność" @@ -1429,7 +1429,7 @@ msgid "values" msgstr "wartości" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "historyjka użytkownika" @@ -1465,102 +1465,102 @@ msgstr "Utwórz" msgid "Delete" msgstr "Usuń" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s punkty roli" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "od" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "do" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Dodano nowy załącznik" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Zaktualizowany załącznik" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "przestarzałe" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "nie przestarzałe" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Usuń załącznik" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "dodane" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "usuniete" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Nieprzypisane" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-usunięte-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "do:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "od:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Dodane" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Zmienione" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Usunięte" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "dodane:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "usunięte:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "Od:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "Do:" @@ -1578,33 +1578,33 @@ msgstr "zaglokowana notatka" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Nie masz uprawnień do połączenia tego zgłoszenia ze sprintem." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Nie masz uprawnień do ustawienia statusu dla tego zgłoszenia." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "Nie masz uprawnień do ustawienia ważności dla tego zgłoszenia." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "Nie masz uprawnień do ustawienia priorytetu dla tego zgłoszenia." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Nie masz uprawnień do ustawienia typu dla tego zgłoszenia." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "status" @@ -1617,7 +1617,7 @@ msgid "priority" msgstr "priorytet" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "kamień milowy" @@ -1626,17 +1626,17 @@ msgid "finished date" msgstr "data zakończenia" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "temat" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "przypisane do" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "źródło zgłoszenia" @@ -1653,31 +1653,31 @@ msgstr "" msgid "Like" msgstr "" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "szacowana data rozpoczecia" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "szacowana data zakończenia" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "jest zamknięte" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "dostępność" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "Szacowana data rozpoczęcia musi być wcześniejsza niż data zakończenia." @@ -1706,7 +1706,7 @@ msgstr "e-mail" msgid "create at" msgstr "utwórz na" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1762,27 +1762,27 @@ msgstr "wszystkich kamieni milowych" msgid "total story points" msgstr "wszystkich punktów " -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "aktywny panel backlog" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "aktywny panel Kanban" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "aktywny panel Wiki" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "aktywny panel zgłoszeń " -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "system wideokonferencji" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "dodatkowe dane dla wideokonferencji" @@ -1806,67 +1806,67 @@ msgstr "jest prywatna" msgid "tags colors" msgstr "kolory tagów" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "konfiguracja modułów" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "zarchiwizowane" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "kolor" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "limit postępu prac" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "wartość" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "domyśla rola właściciela" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "domyślne opcje" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "statusy HU" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "pinkty" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "statusy zadań" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "statusy zgłoszeń" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "typy zgłoszeń" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "priorytety" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "ważność" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "role" @@ -2712,24 +2712,24 @@ msgstr "Ważność" msgid "Roles" msgstr "Role" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Przyszły sprint" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Zakończenie projektu" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "Nie masz uprawnień do ustawiania sprintu dla tego zadania." -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" "Nie masz uprawnień do ustawiania historyjki użytkownika dla tego zadania" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "Nie masz uprawnień do ustawiania statusu dla tego zadania" @@ -3140,47 +3140,47 @@ msgstr "Właściciel produktu" msgid "Stakeholder" msgstr "Interesariusz" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "Nie masz uprawnień do ustawiania sprintu dla tej historyjki użytkownika." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" "Nie masz uprawnień do ustawiania statusu do tej historyjki użytkownika." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "rola" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "Kolejność backlogu" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "kolejność sprintu" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "data zakończenia" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "wymaganie klienta" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "wymaganie zespołu" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "wygenerowane ze zgłoszenia" @@ -3249,60 +3249,60 @@ msgstr "Zduplikowany adres e-mail" msgid "Not valid email" msgstr "Niepoprawny adres e-mail" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Nieprawidłowa nazwa użytkownika lub adrs e-mail" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "E-mail wysłany poprawnie!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Nieprawidłowy token." -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Należy podać bieżące hasło" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Należy podać nowe hasło" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "" "Nieprawidłowa długość hasła - wymagane jest co najmniej 6 znaków" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Podałeś nieprawidłowe bieżące hasło" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Pola niekompletne" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Niepoprawny format obrazka" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Niepoprawne, jesteś pewien, że token jest poprawny i nie używałeś go " "wcześniej? " -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Niepoprawne, jesteś pewien, że token jest poprawny?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "status SUPERUSER" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -3310,24 +3310,24 @@ msgstr "" "Oznacza, że ten użytkownik posiada wszystkie uprawnienia bez konieczności " "ich przydzielania." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "nazwa użytkownika" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Wymagane. 30 znaków. Liter, cyfr i znaków /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Wprowadź poprawną nazwę użytkownika" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "aktywny" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3335,43 +3335,43 @@ msgstr "" "Oznacza, że ten użytkownik ma być traktowany jako aktywny. Możesz to " "odznaczyć zamiast usuwać konto." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "zdjęcie" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "data dołączenia" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "domyślny język Taiga" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "domyślny szablon Taiga" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "domyśla strefa czasowa" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "kolory tagów" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "tokem e-mail" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "nowy adres e-mail" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "uprawnienia" @@ -3383,7 +3383,7 @@ msgstr "Niepoprawne" msgid "Invalid username. Try with a different one." msgstr "Niepoprawna nazwa użytkownika. Spróbuj podać inną." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Nazwa użytkownika lub hasło są nieprawidłowe" diff --git a/taiga/locale/pt_BR/LC_MESSAGES/django.po b/taiga/locale/pt_BR/LC_MESSAGES/django.po index 7743f261..21b3b2b5 100644 --- a/taiga/locale/pt_BR/LC_MESSAGES/django.po +++ b/taiga/locale/pt_BR/LC_MESSAGES/django.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 08:25+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/taiga-agile-llc/" @@ -193,16 +193,16 @@ msgstr "" "Envie uma imagem válida. O arquivo que você mandou ou não era uma imagem ou " "está corrompido." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Página não é \"última\", nem pode ser convertída para um inteiro." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Página inválida (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Definição de permissão inválida." @@ -343,12 +343,12 @@ msgstr "Erro de Integridade para argumentos inválidos ou errados" msgid "Precondition error" msgstr "Erro de pré-condição" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Erro nos tipos de parâmetros do filtro." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'projeto' deve ser um valor inteiro." @@ -583,7 +583,7 @@ msgid "It contain invalid custom fields." msgstr "Contém campos personalizados inválidos" #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -839,12 +839,12 @@ msgstr "Autenticação necessária" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "Nome" @@ -860,8 +860,8 @@ msgstr "web" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "descrição" @@ -882,11 +882,11 @@ msgstr "usuário" msgid "application" msgstr "aplicação" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "nome completo" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "endereço de e-mail" @@ -897,9 +897,9 @@ msgstr "comentário" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -970,7 +970,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "A carga não é um json válido" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "O projeto não existe" @@ -1319,11 +1319,11 @@ msgstr "Nome de template inválido" msgid "Not valid template description" msgstr "Descrição de template inválida" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "Pelo menos one dos usuários deve ser um administrador ativo" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "Você não tem permissão para ver isso" @@ -1336,24 +1336,24 @@ msgid "Project ID not matches between object and project" msgstr "ID do projeto não combina entre objeto e projeto" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "dono" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "projeto" @@ -1367,9 +1367,9 @@ msgstr "identidade de objeto" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "data modificação" @@ -1388,11 +1388,11 @@ msgstr "está obsoleto" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "ordem" @@ -1434,7 +1434,7 @@ msgid "values" msgstr "valores" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "user story" @@ -1470,102 +1470,102 @@ msgstr "Criar" msgid "Delete" msgstr "Apagar" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s pontos de função" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "de" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "para" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Adicionar novos anexos" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Atualizar anexo" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "obsoleto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "não-obsoleto" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Anexo apagado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "adicionado" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "removido" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Não-atribuído" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-apagado-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "para:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "de:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Adicionado" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Alterado" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Apagado" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "acrescentado:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "removido:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "De:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "Para:" @@ -1583,33 +1583,33 @@ msgstr "nota bloqueada" msgid "sprint" msgstr "sprint" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "Você não tem permissão para colocar esse sprint para esse caso." -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "Você não tem permissão para colocar esse status para esse caso." -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "Você não tem permissão para colocar essa severidade para esse caso." -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "Você não tem permissão para colocar essa prioridade para esse caso." -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "Você não tem permissão para colocar esse tipo para esse caso." #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "status" @@ -1622,7 +1622,7 @@ msgid "priority" msgstr "prioridade" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "marco de progresso" @@ -1631,17 +1631,17 @@ msgid "finished date" msgstr "data de término" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "assunto" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "assinado a" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "referência externa" @@ -1658,31 +1658,31 @@ msgstr "Curtidas" msgid "Like" msgstr "Curtir" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "slug" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "data de início estimada" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "data de encerramento estimada" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "está fechado" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibilidade" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "A estimativa de inicio deve ser anterior a estimativa de encerramento" @@ -1711,7 +1711,7 @@ msgstr "email" msgid "create at" msgstr "criado em" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "token" @@ -1767,27 +1767,27 @@ msgstr "total de marcos de progresso" msgid "total story points" msgstr "pontos totais de US" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "painel de backlog ativo" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "painel de kanban ativo" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "painel de wiki ativo" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "painel de casos ativo" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "sistema de vídeo conferência" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "informação extra de vídeo conferência" @@ -1811,67 +1811,67 @@ msgstr "é privado" msgid "tags colors" msgstr "cores de tags" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "configurações de módulos" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "está arquivado" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "cor" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "trabalho no limite de progresso" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "valor" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "função padrão para dono " -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "opções padrão" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "status de US" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "pontos" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "status de tarefa" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "status de casos" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "tipos de caso" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "prioridades" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "severidades" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "funções" @@ -2695,23 +2695,23 @@ msgstr "Severidades" msgid "Roles" msgstr "Funções" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Sprint futuro" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Fim do projeto" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "Você não tem permissão para colocar esse sprint para essa tarefa." -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "Você não tem permissão para colocar essa user story para essa tarefa." -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "Você não tem permissão para colocar esse status para essa tarefa." @@ -3122,45 +3122,45 @@ msgstr "Product Owner" msgid "Stakeholder" msgstr "Stakeholder" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "Você não tem permissão para colocar esse sprint para essa user story." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "Você não tem permissão para colocar esse status para essa user story." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "função" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "ordem do backlog" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "ordem do sprint" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "data de término" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "É requerimento do cliente" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "É requerimento do time" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "Gerado do caso" @@ -3229,58 +3229,58 @@ msgstr "E-mail duplicado" msgid "Not valid email" msgstr "Não é um e-mail válido" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Usuário ou e-mail inválido" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "E-mail enviado com sucesso" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Token é inválido" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Parâmetro de senha atual necessário" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Parâmetro de nova senha necessário" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Comprimento de senha inválido, pelo menos 6 caracteres necessários" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Senha atual inválida" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Argumentos incompletos" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Formato de imagem inválida" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "" "Inválido, você está certo que o token está correto e não foi usado " "anteriormente?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Inválido, tem certeza que o token está correto?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "status de superuser" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." @@ -3288,24 +3288,24 @@ msgstr "" "Designa que esse usuário tem todas as permissões sem explicitamente assiná-" "las" -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "usuário" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Requerido. 30 caracteres ou menos. Letras, números e caracteres /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Digite um usuário válido" -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "ativo" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -3313,43 +3313,43 @@ msgstr "" "Designa quando esse usuário deve ser tratado como ativo. desmarque isso em " "vez de deletar contas." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "biografia" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "foto" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "data ingressado" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "lingua padrão" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "tema padrão" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "fuso horário padrão" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "tags coloridas" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "token de e-mail" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "novo endereço de email" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "permissões" @@ -3361,7 +3361,7 @@ msgstr "inválido" msgid "Invalid username. Try with a different one." msgstr "Usuário inválido. Tente com um diferente." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Usuário ou senha não correspondem ao usuário" diff --git a/taiga/locale/ru/LC_MESSAGES/django.po b/taiga/locale/ru/LC_MESSAGES/django.po index 4c9cf68f..451c5c66 100644 --- a/taiga/locale/ru/LC_MESSAGES/django.po +++ b/taiga/locale/ru/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-07 12:59+0000\n" "Last-Translator: Dmitriy Volkov \n" "Language-Team: Russian (http://www.transifex.com/taiga-agile-llc/taiga-back/" @@ -194,16 +194,16 @@ msgstr "" "Загрузите корректное изображение. Файл, который вы загрузили - либо не " "изображение, либо не корректное изображение." -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "Страница не является 'последней' и не может быть приведена к int." -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "Неправильная страница (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "Неправильное определение разрешения" @@ -343,12 +343,12 @@ msgstr "Ошибка целостности из-за неправильных msgid "Precondition error" msgstr "Ошибка предусловия" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "Ошибка в типах фильтров для параметров." -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "'project' должно быть целым значением." @@ -583,7 +583,7 @@ msgid "It contain invalid custom fields." msgstr "Содержит неверные специальные поля" #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -837,12 +837,12 @@ msgstr "Необходима аутентификация" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "имя" @@ -858,8 +858,8 @@ msgstr "веб" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "описание" @@ -880,11 +880,11 @@ msgstr "пользователь" msgid "application" msgstr "приложение" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "полное имя" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "адрес email" @@ -895,9 +895,9 @@ msgstr "комментарий" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -968,7 +968,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "Нагрузочный файл не является правильным json-файлом" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "Проект не существует" @@ -1318,12 +1318,12 @@ msgstr "Неверное название шаблона" msgid "Not valid template description" msgstr "Неверное описание шаблона" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "" "По крайней мере один пользователь должен быть активным администратором." -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "У вас нет разрешения на просмотр." @@ -1336,24 +1336,24 @@ msgid "Project ID not matches between object and project" msgstr "Идентификатор проекта не подходит к этому объекту" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "владелец" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "проект" @@ -1367,9 +1367,9 @@ msgstr "идентификатор объекта" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "изменённая дата" @@ -1388,11 +1388,11 @@ msgstr "устаревшее" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "порядок" @@ -1434,7 +1434,7 @@ msgid "values" msgstr "значения" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "пользовательская история" @@ -1470,102 +1470,102 @@ msgstr "Создать" msgid "Delete" msgstr "Удалить" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "очки для роли %(role)s" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "от" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "кому" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "Добавлено новое вложение" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "Вложение обновлено" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "устаревшее" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "не устаревшее" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "Удалённое вложение" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "добавлено" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "удалено" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "Не назначено" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-удалено-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "кому:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "от:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "Добавлено" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "Изменено" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "Удалено" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "добавлено:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "удалено:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "От:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "Кому:" @@ -1583,37 +1583,37 @@ msgstr "Заметка о блокировке" msgid "sprint" msgstr "спринт" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "" "У вас нет прав для того чтобы установить такой спринт для этого запроса" -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "" "У вас нет прав для того чтобы установить такой статус для этого запроса" -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "" "У вас нет прав для того чтобы установить такую важность для этого запроса" -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "" "У вас нет прав для того чтобы установить такой приоритет для этого запроса" -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "У вас нет прав для того чтобы установить такой тип для этого запроса" #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "Ссылка" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "cтатус" @@ -1626,7 +1626,7 @@ msgid "priority" msgstr "приоритет" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "веха" @@ -1635,17 +1635,17 @@ msgid "finished date" msgstr "дата завершения" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "тема" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "назначено" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "внешняя ссылка" @@ -1662,31 +1662,31 @@ msgstr "Лайки" msgid "Like" msgstr "Лайк" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "ссылочное имя" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "предполагаемая дата начала" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "предполагаемая дата завершения" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "закрыто" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "доступность" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "" "Предполагаемая дата начала должна предшествовать предполагаемой дате " @@ -1717,7 +1717,7 @@ msgstr "электронная почта" msgid "create at" msgstr "создано" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "идентификатор" @@ -1773,27 +1773,27 @@ msgstr "общее количество вех" msgid "total story points" msgstr "очки истории" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "активная панель списка задач" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "активная панель kanban" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "активная wiki-панель" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "панель активных запросов" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "система видеоконференций" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "дополнительные данные системы видеоконференций" @@ -1817,67 +1817,67 @@ msgstr "личное" msgid "tags colors" msgstr "цвета тэгов" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "конфигурация модулей" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "архивировано" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "цвет" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "ограничение на активную работу" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "значение" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "роль владельца по умолчанию" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "параметры по умолчанию" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "статусы ПИ" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "очки" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "статусы задач" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "статусы запросов" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "типы запросов" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "приоритеты" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "степени важности" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "роли" @@ -2709,24 +2709,24 @@ msgstr "Степени важности" msgid "Roles" msgstr "Роли" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "Будущий спринт" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "Окончание проекта" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "У вас нет прав, чтобы назначить этот спринт для этой задачи." -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "" "У вас нет прав, чтобы назначить эту историю от пользователя этой задаче." -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "У вас нет прав, чтобы установить этот статус для этой задачи." @@ -3140,47 +3140,47 @@ msgstr "Владелец продукта" msgid "Stakeholder" msgstr "Заинтересованная сторона" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "" "У вас нет прав чтобы установить спринт для этой пользовательской истории." -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "" "У вас нет прав чтобы установить статус для этой пользовательской истории." -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "Генерируется пользовательская история #{ref} - {subject}" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "роль" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "порядок списка задач" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "порядок спринтов" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "дата окончания" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "является требованием клиента" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "является требованием команды" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "создано из запроса" @@ -3249,121 +3249,121 @@ msgstr "Этот email уже используется" msgid "Not valid email" msgstr "Невалидный email" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "Неверное имя пользователя или e-mail" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "Письмо успешно отправлено!" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "Неверный токен" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "Поле \"текущий пароль\" является обязательным" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "Поле \"новый пароль\" является обязательным" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "Неверная длина пароля, требуется как минимум 6 символов" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "Неверно указан текущий пароль" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "Список аргументов неполон" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "Неправильный формат изображения" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "Неверно, вы уверены что токен правильный и не использовался ранее?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "Неверно, вы уверены что токен правильный?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "статус суперпользователя" -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "Выбранный пользователь имеет все разрешения, ему не чего назначит." -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "имя пользователя" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "Обязательно. 30 символов или меньше. Буквы, числа и символы /./-/_" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "Введите корректное имя пользователя." -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "активный" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "Выбранный пользователь активен. Отменить выбор для удаления аккаунта." -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "биография" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "фотография" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "когда присоединился" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "язык по умолчанию" -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "тема по умолчанию" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "временная зона по умолчанию" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "установить цвета для тэгов" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "email токен" -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "новый email адрес" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "разрешения" @@ -3375,7 +3375,7 @@ msgstr "невалидный" msgid "Invalid username. Try with a different one." msgstr "Неверное имя пользователя. Попробуйте другое." -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "Имя пользователя или пароль не соответствуют пользователю." diff --git a/taiga/locale/zh-Hant/LC_MESSAGES/django.po b/taiga/locale/zh-Hant/LC_MESSAGES/django.po index 939e0e36..e871dced 100644 --- a/taiga/locale/zh-Hant/LC_MESSAGES/django.po +++ b/taiga/locale/zh-Hant/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: taiga-back\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-11-11 16:03+0100\n" +"POT-Creation-Date: 2016-01-05 11:11+0100\n" "PO-Revision-Date: 2015-11-02 08:25+0000\n" "Last-Translator: Taiga Dev Team \n" "Language-Team: Chinese Traditional (http://www.transifex.com/taiga-agile-llc/" @@ -180,16 +180,16 @@ msgid "" "corrupted image." msgstr "上傳有效圖片,你所上傳的檔案非圖檔或已損壞" -#: taiga/base/api/pagination.py:115 +#: taiga/base/api/pagination.py:212 msgid "Page is not 'last', nor can it be converted to an int." msgstr "頁數不是最後,或者它無法轉成整數 " -#: taiga/base/api/pagination.py:119 +#: taiga/base/api/pagination.py:216 #, python-format msgid "Invalid page (%(page_number)s): %(message)s" msgstr "無效頁面I (%(page_number)s): %(message)s" -#: taiga/base/api/permissions.py:61 +#: taiga/base/api/permissions.py:63 msgid "Invalid permission definition." msgstr "無效的權限定義 " @@ -328,12 +328,12 @@ msgstr "因錯誤或無效參數,一致性出錯" msgid "Precondition error" msgstr "前提出錯" -#: taiga/base/filters.py:80 +#: taiga/base/filters.py:78 msgid "Error in filter params types." msgstr "過濾參數類型出錯" -#: taiga/base/filters.py:134 taiga/base/filters.py:223 -#: taiga/base/filters.py:272 +#: taiga/base/filters.py:132 taiga/base/filters.py:221 +#: taiga/base/filters.py:270 msgid "'project' must be an integer value." msgstr "專案須為整數值" @@ -567,7 +567,7 @@ msgid "It contain invalid custom fields." msgstr "包括無效慣例欄位" #: taiga/export_import/serializers.py:527 -#: taiga/projects/milestones/serializers.py:64 taiga/projects/serializers.py:70 +#: taiga/projects/milestones/serializers.py:56 taiga/projects/serializers.py:70 #: taiga/projects/serializers.py:96 taiga/projects/serializers.py:127 #: taiga/projects/serializers.py:170 msgid "Name duplicated for the project" @@ -820,12 +820,12 @@ msgstr "" #: taiga/external_apps/models.py:33 #: taiga/projects/custom_attributes/models.py:34 -#: taiga/projects/milestones/models.py:34 taiga/projects/models.py:134 -#: taiga/projects/models.py:394 taiga/projects/models.py:433 -#: taiga/projects/models.py:458 taiga/projects/models.py:495 -#: taiga/projects/models.py:518 taiga/projects/models.py:541 -#: taiga/projects/models.py:576 taiga/projects/models.py:599 -#: taiga/users/models.py:198 taiga/webhooks/models.py:27 +#: taiga/projects/milestones/models.py:36 taiga/projects/models.py:134 +#: taiga/projects/models.py:351 taiga/projects/models.py:390 +#: taiga/projects/models.py:415 taiga/projects/models.py:452 +#: taiga/projects/models.py:475 taiga/projects/models.py:498 +#: taiga/projects/models.py:533 taiga/projects/models.py:556 +#: taiga/users/models.py:262 taiga/webhooks/models.py:27 msgid "name" msgstr "姓名" @@ -841,8 +841,8 @@ msgstr "" #: taiga/projects/custom_attributes/models.py:35 #: taiga/projects/history/templatetags/functions.py:23 #: taiga/projects/issues/models.py:61 taiga/projects/models.py:138 -#: taiga/projects/models.py:603 taiga/projects/tasks/models.py:60 -#: taiga/projects/userstories/models.py:90 +#: taiga/projects/models.py:560 taiga/projects/tasks/models.py:60 +#: taiga/projects/userstories/models.py:91 msgid "description" msgstr "描述" @@ -863,11 +863,11 @@ msgstr "" msgid "application" msgstr "" -#: taiga/feedback/models.py:23 taiga/users/models.py:113 +#: taiga/feedback/models.py:23 taiga/users/models.py:116 msgid "full name" msgstr "全名" -#: taiga/feedback/models.py:25 taiga/users/models.py:108 +#: taiga/feedback/models.py:25 taiga/users/models.py:111 msgid "email address" msgstr "電子郵件" @@ -878,9 +878,9 @@ msgstr "評論" #: taiga/feedback/models.py:29 taiga/projects/attachments/models.py:61 #: taiga/projects/custom_attributes/models.py:44 #: taiga/projects/issues/models.py:53 taiga/projects/likes/models.py:52 -#: taiga/projects/milestones/models.py:45 taiga/projects/models.py:140 -#: taiga/projects/models.py:605 taiga/projects/notifications/models.py:86 -#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:82 +#: taiga/projects/milestones/models.py:47 taiga/projects/models.py:140 +#: taiga/projects/models.py:562 taiga/projects/notifications/models.py:86 +#: taiga/projects/tasks/models.py:46 taiga/projects/userstories/models.py:83 #: taiga/projects/votes/models.py:52 taiga/projects/wiki/models.py:39 #: taiga/userstorage/models.py:27 msgid "created date" @@ -948,7 +948,7 @@ msgstr "" msgid "The payload is not a valid json" msgstr "載荷為無效json" -#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:140 +#: taiga/hooks/api.py:61 taiga/projects/issues/api.py:141 #: taiga/projects/tasks/api.py:84 taiga/projects/userstories/api.py:109 msgid "The project doesn't exist" msgstr "專案不存在" @@ -1294,11 +1294,11 @@ msgstr "非有效樣板名稱 " msgid "Not valid template description" msgstr "無效樣板描述" -#: taiga/projects/api.py:481 taiga/projects/serializers.py:264 +#: taiga/projects/api.py:458 taiga/projects/serializers.py:264 msgid "At least one of the user must be an active admin" msgstr "至少需有一位使用者擔任管理員" -#: taiga/projects/api.py:511 +#: taiga/projects/api.py:488 msgid "You don't have permisions to see that." msgstr "您無觀看權限" @@ -1311,24 +1311,24 @@ msgid "Project ID not matches between object and project" msgstr "專案ID不符合物件與專案" #: taiga/projects/attachments/models.py:52 taiga/projects/issues/models.py:38 -#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:145 +#: taiga/projects/milestones/models.py:41 taiga/projects/models.py:145 #: taiga/projects/notifications/models.py:59 taiga/projects/tasks/models.py:37 -#: taiga/projects/userstories/models.py:64 taiga/projects/wiki/models.py:35 +#: taiga/projects/userstories/models.py:65 taiga/projects/wiki/models.py:35 #: taiga/userstorage/models.py:25 msgid "owner" msgstr "所有者" #: taiga/projects/attachments/models.py:54 #: taiga/projects/custom_attributes/models.py:41 -#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:41 -#: taiga/projects/models.py:382 taiga/projects/models.py:408 -#: taiga/projects/models.py:439 taiga/projects/models.py:468 -#: taiga/projects/models.py:501 taiga/projects/models.py:524 -#: taiga/projects/models.py:551 taiga/projects/models.py:582 +#: taiga/projects/issues/models.py:51 taiga/projects/milestones/models.py:43 +#: taiga/projects/models.py:339 taiga/projects/models.py:365 +#: taiga/projects/models.py:396 taiga/projects/models.py:425 +#: taiga/projects/models.py:458 taiga/projects/models.py:481 +#: taiga/projects/models.py:508 taiga/projects/models.py:539 #: taiga/projects/notifications/models.py:71 #: taiga/projects/notifications/models.py:88 taiga/projects/tasks/models.py:41 -#: taiga/projects/userstories/models.py:62 taiga/projects/wiki/models.py:29 -#: taiga/projects/wiki/models.py:67 taiga/users/models.py:211 +#: taiga/projects/userstories/models.py:63 taiga/projects/wiki/models.py:29 +#: taiga/projects/wiki/models.py:67 taiga/users/models.py:275 msgid "project" msgstr "專案" @@ -1342,9 +1342,9 @@ msgstr "物件ID" #: taiga/projects/attachments/models.py:64 #: taiga/projects/custom_attributes/models.py:46 -#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:48 -#: taiga/projects/models.py:143 taiga/projects/models.py:608 -#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:85 +#: taiga/projects/issues/models.py:56 taiga/projects/milestones/models.py:50 +#: taiga/projects/models.py:143 taiga/projects/models.py:565 +#: taiga/projects/tasks/models.py:49 taiga/projects/userstories/models.py:86 #: taiga/projects/wiki/models.py:42 taiga/userstorage/models.py:29 msgid "modified date" msgstr "修改日期" @@ -1363,11 +1363,11 @@ msgstr "棄用" #: taiga/projects/attachments/models.py:75 #: taiga/projects/custom_attributes/models.py:39 -#: taiga/projects/milestones/models.py:54 taiga/projects/models.py:398 -#: taiga/projects/models.py:435 taiga/projects/models.py:462 -#: taiga/projects/models.py:497 taiga/projects/models.py:520 -#: taiga/projects/models.py:545 taiga/projects/models.py:578 -#: taiga/projects/wiki/models.py:72 taiga/users/models.py:206 +#: taiga/projects/milestones/models.py:56 taiga/projects/models.py:355 +#: taiga/projects/models.py:392 taiga/projects/models.py:419 +#: taiga/projects/models.py:454 taiga/projects/models.py:477 +#: taiga/projects/models.py:502 taiga/projects/models.py:535 +#: taiga/projects/wiki/models.py:72 taiga/users/models.py:270 msgid "order" msgstr "次序" @@ -1409,7 +1409,7 @@ msgid "values" msgstr "價值" #: taiga/projects/custom_attributes/models.py:97 -#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:34 +#: taiga/projects/tasks/models.py:33 taiga/projects/userstories/models.py:35 msgid "user story" msgstr "使用者故事" @@ -1445,102 +1445,102 @@ msgstr "創建" msgid "Delete" msgstr "刪除 " -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:22 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:23 #, python-format msgid "%(role)s role points" msgstr "%(role)s 角色點數" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:25 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:130 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:133 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:156 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:193 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:131 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:157 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:194 msgid "from" msgstr "來自" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:31 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:141 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:144 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:162 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:179 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:199 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:32 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:142 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:163 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:180 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:200 msgid "to" msgstr "給" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:43 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:44 msgid "Added new attachment" msgstr "新增附件" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:61 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:62 msgid "Updated attachment" msgstr "更新附件" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:67 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:68 msgid "deprecated" msgstr "棄用" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:69 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:70 msgid "not deprecated" msgstr "不棄用" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:85 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:86 msgid "Deleted attachment" msgstr "刪除附件" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:104 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:105 msgid "added" msgstr "新增" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:109 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:110 msgid "removed" msgstr "移除 " -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:134 -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:145 -#: taiga/projects/services/stats.py:138 taiga/projects/services/stats.py:139 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:135 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:146 +#: taiga/projects/services/stats.py:55 taiga/projects/services/stats.py:56 msgid "Unassigned" msgstr "無指定" -#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:211 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:86 +#: taiga/projects/history/templates/emails/includes/fields_diff-html.jinja:212 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:87 msgid "-deleted-" msgstr "-刪除-" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "to:" msgstr "給:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:20 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:21 msgid "from:" msgstr "from:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:26 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:27 msgid "Added" msgstr "新增的" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:33 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:34 msgid "Changed" msgstr "改變的" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:40 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:41 msgid "Deleted" msgstr "刪除的:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:54 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:55 msgid "added:" msgstr "新增的:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:57 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:58 msgid "removed:" msgstr "移除的:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:62 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:79 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 msgid "From:" msgstr "來自:" -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:63 -#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:80 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:64 +#: taiga/projects/history/templates/emails/includes/fields_diff-text.jinja:81 msgid "To:" msgstr "給:" @@ -1558,33 +1558,33 @@ msgstr "封鎖筆記" msgid "sprint" msgstr "衝刺任務" -#: taiga/projects/issues/api.py:160 +#: taiga/projects/issues/api.py:162 msgid "You don't have permissions to set this sprint to this issue." msgstr "您無權限設定此問題的衝刺任務" -#: taiga/projects/issues/api.py:164 +#: taiga/projects/issues/api.py:166 msgid "You don't have permissions to set this status to this issue." msgstr "您無權限設定此問題的狀態" -#: taiga/projects/issues/api.py:168 +#: taiga/projects/issues/api.py:170 msgid "You don't have permissions to set this severity to this issue." msgstr "您無權限設定此問題的嚴重性" -#: taiga/projects/issues/api.py:172 +#: taiga/projects/issues/api.py:174 msgid "You don't have permissions to set this priority to this issue." msgstr "您無權限設定此問題的優先性" -#: taiga/projects/issues/api.py:176 +#: taiga/projects/issues/api.py:178 msgid "You don't have permissions to set this type to this issue." msgstr "您無權限設定此問題的類型" #: taiga/projects/issues/models.py:36 taiga/projects/tasks/models.py:35 -#: taiga/projects/userstories/models.py:57 +#: taiga/projects/userstories/models.py:58 msgid "ref" msgstr "ref" #: taiga/projects/issues/models.py:40 taiga/projects/tasks/models.py:39 -#: taiga/projects/userstories/models.py:67 +#: taiga/projects/userstories/models.py:68 msgid "status" msgstr "狀態" @@ -1597,7 +1597,7 @@ msgid "priority" msgstr "優先性" #: taiga/projects/issues/models.py:49 taiga/projects/tasks/models.py:44 -#: taiga/projects/userstories/models.py:60 +#: taiga/projects/userstories/models.py:61 msgid "milestone" msgstr "里程碑" @@ -1606,17 +1606,17 @@ msgid "finished date" msgstr "完成日期" #: taiga/projects/issues/models.py:60 taiga/projects/tasks/models.py:53 -#: taiga/projects/userstories/models.py:89 +#: taiga/projects/userstories/models.py:90 msgid "subject" msgstr "主旨" #: taiga/projects/issues/models.py:64 taiga/projects/tasks/models.py:63 -#: taiga/projects/userstories/models.py:93 +#: taiga/projects/userstories/models.py:94 msgid "assigned to" msgstr "指派給" #: taiga/projects/issues/models.py:66 taiga/projects/tasks/models.py:67 -#: taiga/projects/userstories/models.py:103 +#: taiga/projects/userstories/models.py:104 msgid "external reference" msgstr "外部參考" @@ -1633,31 +1633,31 @@ msgstr "" msgid "Like" msgstr "" -#: taiga/projects/milestones/models.py:37 taiga/projects/models.py:136 -#: taiga/projects/models.py:396 taiga/projects/models.py:460 -#: taiga/projects/models.py:543 taiga/projects/models.py:601 -#: taiga/projects/wiki/models.py:31 taiga/users/models.py:200 +#: taiga/projects/milestones/models.py:39 taiga/projects/models.py:136 +#: taiga/projects/models.py:353 taiga/projects/models.py:417 +#: taiga/projects/models.py:500 taiga/projects/models.py:558 +#: taiga/projects/wiki/models.py:31 taiga/users/models.py:264 msgid "slug" msgstr "代稱" -#: taiga/projects/milestones/models.py:42 +#: taiga/projects/milestones/models.py:44 msgid "estimated start date" msgstr "预計開始日期" -#: taiga/projects/milestones/models.py:43 +#: taiga/projects/milestones/models.py:45 msgid "estimated finish date" msgstr "預計完成日期" -#: taiga/projects/milestones/models.py:50 taiga/projects/models.py:400 -#: taiga/projects/models.py:464 taiga/projects/models.py:547 +#: taiga/projects/milestones/models.py:52 taiga/projects/models.py:357 +#: taiga/projects/models.py:421 taiga/projects/models.py:504 msgid "is closed" msgstr "被關閉" -#: taiga/projects/milestones/models.py:52 +#: taiga/projects/milestones/models.py:54 msgid "disponibility" msgstr "disponibility" -#: taiga/projects/milestones/models.py:75 +#: taiga/projects/milestones/models.py:79 msgid "The estimated start must be previous to the estimated finish." msgstr "預估開始必須在預估結束之前" @@ -1686,7 +1686,7 @@ msgstr "電子郵件" msgid "create at" msgstr "創建於" -#: taiga/projects/models.py:70 taiga/users/models.py:130 +#: taiga/projects/models.py:70 taiga/users/models.py:133 msgid "token" msgstr "代號" @@ -1742,27 +1742,27 @@ msgstr "全部里程碑" msgid "total story points" msgstr "全部故事點數" -#: taiga/projects/models.py:154 taiga/projects/models.py:614 +#: taiga/projects/models.py:154 taiga/projects/models.py:571 msgid "active backlog panel" msgstr "活躍的待辦任務優先表面板" -#: taiga/projects/models.py:156 taiga/projects/models.py:616 +#: taiga/projects/models.py:156 taiga/projects/models.py:573 msgid "active kanban panel" msgstr "活躍的看板式面板" -#: taiga/projects/models.py:158 taiga/projects/models.py:618 +#: taiga/projects/models.py:158 taiga/projects/models.py:575 msgid "active wiki panel" msgstr "活躍的維基面板" -#: taiga/projects/models.py:160 taiga/projects/models.py:620 +#: taiga/projects/models.py:160 taiga/projects/models.py:577 msgid "active issues panel" msgstr "活躍的問題面板" -#: taiga/projects/models.py:163 taiga/projects/models.py:623 +#: taiga/projects/models.py:163 taiga/projects/models.py:580 msgid "videoconference system" msgstr "視訊會議系統" -#: taiga/projects/models.py:165 taiga/projects/models.py:625 +#: taiga/projects/models.py:165 taiga/projects/models.py:582 msgid "videoconference extra data" msgstr "視訊會議額外資料" @@ -1786,67 +1786,67 @@ msgstr "私密" msgid "tags colors" msgstr "標籤顏色" -#: taiga/projects/models.py:383 +#: taiga/projects/models.py:340 msgid "modules config" msgstr "模組設定" -#: taiga/projects/models.py:402 +#: taiga/projects/models.py:359 msgid "is archived" msgstr "已歸檔" -#: taiga/projects/models.py:404 taiga/projects/models.py:466 -#: taiga/projects/models.py:499 taiga/projects/models.py:522 -#: taiga/projects/models.py:549 taiga/projects/models.py:580 -#: taiga/users/models.py:115 +#: taiga/projects/models.py:361 taiga/projects/models.py:423 +#: taiga/projects/models.py:456 taiga/projects/models.py:479 +#: taiga/projects/models.py:506 taiga/projects/models.py:537 +#: taiga/users/models.py:118 msgid "color" msgstr "顏色" -#: taiga/projects/models.py:406 +#: taiga/projects/models.py:363 msgid "work in progress limit" msgstr "工作進度限制" -#: taiga/projects/models.py:437 taiga/userstorage/models.py:31 +#: taiga/projects/models.py:394 taiga/userstorage/models.py:31 msgid "value" msgstr "價值" -#: taiga/projects/models.py:611 +#: taiga/projects/models.py:568 msgid "default owner's role" msgstr "預設所有者角色" -#: taiga/projects/models.py:627 +#: taiga/projects/models.py:584 msgid "default options" msgstr "預設選項" -#: taiga/projects/models.py:628 +#: taiga/projects/models.py:585 msgid "us statuses" msgstr "我們狀況" -#: taiga/projects/models.py:629 taiga/projects/userstories/models.py:40 -#: taiga/projects/userstories/models.py:72 +#: taiga/projects/models.py:586 taiga/projects/userstories/models.py:41 +#: taiga/projects/userstories/models.py:73 msgid "points" msgstr "點數" -#: taiga/projects/models.py:630 +#: taiga/projects/models.py:587 msgid "task statuses" msgstr "任務狀況" -#: taiga/projects/models.py:631 +#: taiga/projects/models.py:588 msgid "issue statuses" msgstr "問題狀況" -#: taiga/projects/models.py:632 +#: taiga/projects/models.py:589 msgid "issue types" msgstr "問題類型" -#: taiga/projects/models.py:633 +#: taiga/projects/models.py:590 msgid "priorities" msgstr "優先性" -#: taiga/projects/models.py:634 +#: taiga/projects/models.py:591 msgid "severities" msgstr "嚴重性" -#: taiga/projects/models.py:635 +#: taiga/projects/models.py:592 msgid "roles" msgstr "角色" @@ -2681,23 +2681,23 @@ msgstr "嚴重性" msgid "Roles" msgstr "角色" -#: taiga/projects/services/stats.py:85 +#: taiga/projects/services/stats.py:197 msgid "Future sprint" msgstr "未來之衝刺" -#: taiga/projects/services/stats.py:102 +#: taiga/projects/services/stats.py:215 msgid "Project End" msgstr "專案結束" -#: taiga/projects/tasks/api.py:104 taiga/projects/tasks/api.py:113 +#: taiga/projects/tasks/api.py:111 taiga/projects/tasks/api.py:120 msgid "You don't have permissions to set this sprint to this task." msgstr "無權限更動此任務下的衝刺任務" -#: taiga/projects/tasks/api.py:107 +#: taiga/projects/tasks/api.py:114 msgid "You don't have permissions to set this user story to this task." msgstr "無權限更動此務下的使用者故事" -#: taiga/projects/tasks/api.py:110 +#: taiga/projects/tasks/api.py:117 msgid "You don't have permissions to set this status to this task." msgstr "無權限更動此任務下的狀態" @@ -3099,45 +3099,45 @@ msgstr "產品所有人" msgid "Stakeholder" msgstr "利害關係人" -#: taiga/projects/userstories/api.py:156 +#: taiga/projects/userstories/api.py:161 msgid "You don't have permissions to set this sprint to this user story." msgstr "無權限更動使用者故事的衝刺任務" -#: taiga/projects/userstories/api.py:160 +#: taiga/projects/userstories/api.py:165 msgid "You don't have permissions to set this status to this user story." msgstr "無權限更動此使用者故事的狀態" -#: taiga/projects/userstories/api.py:254 +#: taiga/projects/userstories/api.py:259 #, python-brace-format msgid "Generating the user story #{ref} - {subject}" msgstr "" -#: taiga/projects/userstories/models.py:37 +#: taiga/projects/userstories/models.py:38 msgid "role" msgstr "角色" -#: taiga/projects/userstories/models.py:75 +#: taiga/projects/userstories/models.py:76 msgid "backlog order" msgstr "待辦任務先後次序" -#: taiga/projects/userstories/models.py:77 -#: taiga/projects/userstories/models.py:79 +#: taiga/projects/userstories/models.py:78 +#: taiga/projects/userstories/models.py:80 msgid "sprint order" msgstr "衝刺次序" -#: taiga/projects/userstories/models.py:87 +#: taiga/projects/userstories/models.py:88 msgid "finish date" msgstr "完成日期" -#: taiga/projects/userstories/models.py:95 +#: taiga/projects/userstories/models.py:96 msgid "is client requirement" msgstr "客戶要求" -#: taiga/projects/userstories/models.py:97 +#: taiga/projects/userstories/models.py:98 msgid "is team requirement" msgstr "團隊要求" -#: taiga/projects/userstories/models.py:102 +#: taiga/projects/userstories/models.py:103 msgid "generated from issue" msgstr "産生自問題 " @@ -3206,121 +3206,121 @@ msgstr "複製電子郵件" msgid "Not valid email" msgstr "非有效電子郵性" -#: taiga/users/api.py:146 taiga/users/api.py:153 +#: taiga/users/api.py:146 msgid "Invalid username or email" msgstr "無效使用者或郵件" -#: taiga/users/api.py:161 +#: taiga/users/api.py:155 msgid "Mail sended successful!" msgstr "成功送出郵件" -#: taiga/users/api.py:173 taiga/users/api.py:178 +#: taiga/users/api.py:167 taiga/users/api.py:172 msgid "Token is invalid" msgstr "代號無效" -#: taiga/users/api.py:199 +#: taiga/users/api.py:193 msgid "Current password parameter needed" msgstr "需要目前密碼之參數" -#: taiga/users/api.py:202 +#: taiga/users/api.py:196 msgid "New password parameter needed" msgstr "需要新密碼參數" -#: taiga/users/api.py:205 +#: taiga/users/api.py:199 msgid "Invalid password length at least 6 charaters needed" msgstr "無效密碼長度,至少需6個字元" -#: taiga/users/api.py:208 +#: taiga/users/api.py:202 msgid "Invalid current password" msgstr "無效密碼" -#: taiga/users/api.py:224 +#: taiga/users/api.py:218 msgid "Incomplete arguments" msgstr "不完整參數" -#: taiga/users/api.py:229 +#: taiga/users/api.py:223 msgid "Invalid image format" msgstr "無效的圖片檔案" -#: taiga/users/api.py:256 taiga/users/api.py:262 +#: taiga/users/api.py:250 taiga/users/api.py:256 msgid "" "Invalid, are you sure the token is correct and you didn't use it before?" msgstr "無效,請確認代號正確,之前是否曾使用過?" -#: taiga/users/api.py:289 taiga/users/api.py:297 taiga/users/api.py:300 +#: taiga/users/api.py:283 taiga/users/api.py:291 taiga/users/api.py:294 msgid "Invalid, are you sure the token is correct?" msgstr "無效,請確認代號是否正確?" -#: taiga/users/models.py:71 +#: taiga/users/models.py:74 msgid "superuser status" msgstr "超級使用者狀態 " -#: taiga/users/models.py:72 +#: taiga/users/models.py:75 msgid "" "Designates that this user has all permissions without explicitly assigning " "them." msgstr "無經明確分派,即賦予該使用者所有權限," -#: taiga/users/models.py:102 +#: taiga/users/models.py:105 msgid "username" msgstr "使用者名稱" -#: taiga/users/models.py:103 +#: taiga/users/models.py:106 msgid "" "Required. 30 characters or fewer. Letters, numbers and /./-/_ characters" msgstr "必填。最多30字元(可為數字,字母,符號....)" -#: taiga/users/models.py:106 +#: taiga/users/models.py:109 msgid "Enter a valid username." msgstr "輸入有效的使用者名稱 " -#: taiga/users/models.py:109 +#: taiga/users/models.py:112 msgid "active" msgstr "活躍" -#: taiga/users/models.py:110 +#: taiga/users/models.py:113 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." msgstr "賦予該使用者活躍角色,以不選擇取代刪除帳戶功能。" -#: taiga/users/models.py:116 +#: taiga/users/models.py:119 msgid "biography" msgstr "自傳" -#: taiga/users/models.py:119 +#: taiga/users/models.py:122 msgid "photo" msgstr "照片" -#: taiga/users/models.py:120 +#: taiga/users/models.py:123 msgid "date joined" msgstr "加入日期" -#: taiga/users/models.py:122 +#: taiga/users/models.py:125 msgid "default language" msgstr "預設語言 " -#: taiga/users/models.py:124 +#: taiga/users/models.py:127 msgid "default theme" msgstr "預設主題" -#: taiga/users/models.py:126 +#: taiga/users/models.py:129 msgid "default timezone" msgstr "預設時區" -#: taiga/users/models.py:128 +#: taiga/users/models.py:131 msgid "colorize tags" msgstr "顏色標籤" -#: taiga/users/models.py:133 +#: taiga/users/models.py:136 msgid "email token" msgstr "電子郵件符號 " -#: taiga/users/models.py:135 +#: taiga/users/models.py:138 msgid "new email address" msgstr "新電子郵件地址" -#: taiga/users/models.py:203 +#: taiga/users/models.py:267 msgid "permissions" msgstr "許可" @@ -3332,7 +3332,7 @@ msgstr "無效" msgid "Invalid username. Try with a different one." msgstr "無效使用者名稱,請重試其它名稱 " -#: taiga/users/services.py:53 taiga/users/services.py:57 +#: taiga/users/services.py:51 taiga/users/services.py:69 msgid "Username or password does not matches user." msgstr "用戶名稱與密碼不符" diff --git a/taiga/mdrender/__init__.py b/taiga/mdrender/__init__.py index abec3c69..0a4dc435 100644 --- a/taiga/mdrender/__init__.py +++ b/taiga/mdrender/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/mdrender/extensions/target_link.py b/taiga/mdrender/extensions/target_link.py index 7754d94b..0e183c3f 100644 --- a/taiga/mdrender/extensions/target_link.py +++ b/taiga/mdrender/extensions/target_link.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Alejandro Alonso +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Alejandro Alonso # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/mdrender/extensions/wikilinks.py b/taiga/mdrender/extensions/wikilinks.py index 9d106d82..aacadf38 100644 --- a/taiga/mdrender/extensions/wikilinks.py +++ b/taiga/mdrender/extensions/wikilinks.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/mdrender/service.py b/taiga/mdrender/service.py index 326f4b2c..24d64638 100644 --- a/taiga/mdrender/service.py +++ b/taiga/mdrender/service.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/mdrender/templatetags/functions.py b/taiga/mdrender/templatetags/functions.py index fc15c39f..853ca1cf 100644 --- a/taiga/mdrender/templatetags/functions.py +++ b/taiga/mdrender/templatetags/functions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/permissions/permissions.py b/taiga/permissions/permissions.py index 7761abbf..8cb72868 100644 --- a/taiga/permissions/permissions.py +++ b/taiga/permissions/permissions.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/permissions/service.py b/taiga/permissions/service.py index 0048fc26..da47a8aa 100644 --- a/taiga/permissions/service.py +++ b/taiga/permissions/service.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/__init__.py b/taiga/projects/__init__.py index c8c59bf3..c5859639 100644 --- a/taiga/projects/__init__.py +++ b/taiga/projects/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/admin.py b/taiga/projects/admin.py index 184fbcf1..632f0f79 100644 --- a/taiga/projects/admin.py +++ b/taiga/projects/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -98,6 +98,9 @@ class ProjectAdmin(admin.ModelAdmin): memberships__project=self.obj) return super().formfield_for_manytomany(db_field, request, **kwargs) + def delete_model(self, request, obj): + obj.delete_related_content() + super().delete_model(request, obj) # User Stories common admins diff --git a/taiga/projects/api.py b/taiga/projects/api.py index fa473d50..fb333cb0 100644 --- a/taiga/projects/api.py +++ b/taiga/projects/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -253,36 +253,13 @@ class ProjectViewSet(LikedResourceMixin, HistoryResourceMixin, ModelCrudViewSet) super().pre_save(obj) def destroy(self, request, *args, **kwargs): - from taiga.events.apps import connect_events_signals, disconnect_events_signals - from taiga.projects.tasks.apps import connect_all_tasks_signals, disconnect_all_tasks_signals - from taiga.projects.userstories.apps import connect_all_userstories_signals, disconnect_all_userstories_signals - from taiga.projects.issues.apps import connect_all_issues_signals, disconnect_all_issues_signals - from taiga.projects.apps import connect_memberships_signals, disconnect_memberships_signals - obj = self.get_object_or_none() self.check_permissions(request, 'destroy', obj) if obj is None: raise Http404 - disconnect_events_signals() - disconnect_all_issues_signals() - disconnect_all_tasks_signals() - disconnect_all_userstories_signals() - disconnect_memberships_signals() - - try: - obj.tasks.all().delete() - obj.user_stories.all().delete() - obj.issues.all().delete() - obj.memberships.all().delete() - obj.roles.all().delete() - finally: - connect_events_signals() - connect_all_issues_signals() - connect_all_tasks_signals() - connect_all_userstories_signals() - connect_memberships_signals() + obj.delete_related_content() self.pre_delete(obj) self.pre_conditions_on_delete(obj) diff --git a/taiga/projects/apps.py b/taiga/projects/apps.py index 07938210..3eb2749b 100644 --- a/taiga/projects/apps.py +++ b/taiga/projects/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/__init__.py b/taiga/projects/attachments/__init__.py index 17882254..28c3b166 100644 --- a/taiga/projects/attachments/__init__.py +++ b/taiga/projects/attachments/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/admin.py b/taiga/projects/attachments/admin.py index 9f1d5eb3..b725aa60 100644 --- a/taiga/projects/attachments/admin.py +++ b/taiga/projects/attachments/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/api.py b/taiga/projects/attachments/api.py index 0a40f8b7..d2936a4f 100644 --- a/taiga/projects/attachments/api.py +++ b/taiga/projects/attachments/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/apps.py b/taiga/projects/attachments/apps.py index c52458b9..ceed72de 100644 --- a/taiga/projects/attachments/apps.py +++ b/taiga/projects/attachments/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/models.py b/taiga/projects/attachments/models.py index f5c089fa..2a0cfe8d 100644 --- a/taiga/projects/attachments/models.py +++ b/taiga/projects/attachments/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/permissions.py b/taiga/projects/attachments/permissions.py index 603d4f98..4ec542d5 100644 --- a/taiga/projects/attachments/permissions.py +++ b/taiga/projects/attachments/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/attachments/serializers.py b/taiga/projects/attachments/serializers.py index 549acabd..b9ba6aad 100644 --- a/taiga/projects/attachments/serializers.py +++ b/taiga/projects/attachments/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -14,28 +14,26 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from os import path -import hashlib - -from django.conf import settings - from taiga.base.api import serializers -from taiga.base.utils.urls import reverse - +from . import services from . import models class AttachmentSerializer(serializers.ModelSerializer): url = serializers.SerializerMethodField("get_url") + thumbnail_card_url = serializers.SerializerMethodField("get_thumbnail_card_url") attached_file = serializers.FileField(required=True) class Meta: model = models.Attachment - fields = ("id", "project", "owner", "name", "attached_file", "size", "url", - "description", "is_deprecated", "created_date", "modified_date", - "object_id", "order", "sha1") + fields = ("id", "project", "owner", "name", "attached_file", "size", + "url", "thumbnail_card_url", "description", "is_deprecated", + "created_date", "modified_date", "object_id", "order", "sha1") read_only_fields = ("owner", "created_date", "modified_date", "sha1") def get_url(self, obj): - return obj.attached_file.url \ No newline at end of file + return obj.attached_file.url + + def get_thumbnail_card_url(self, obj): + return services.get_card_image_thumbnailer_url(obj) diff --git a/taiga/projects/attachments/services.py b/taiga/projects/attachments/services.py new file mode 100644 index 00000000..99c0d57a --- /dev/null +++ b/taiga/projects/attachments/services.py @@ -0,0 +1,36 @@ +# Copyright (C) 2014-2016 Taiga Agile LLC +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from taiga.base.utils.urls import get_absolute_url + +from easy_thumbnails.files import get_thumbnailer +from easy_thumbnails.exceptions import InvalidImageFormatError + + +def _get_attachment_thumbnailer_url(attachment, thumbnailer_size): + try: + thumb_url = get_thumbnailer(attachment.attached_file)[thumbnailer_size].url + thumb_url = get_absolute_url(thumb_url) + except InvalidImageFormatError: + thumb_url = None + + return thumb_url + + +def get_timeline_image_thumbnailer_url(attachment): + return _get_attachment_thumbnailer_url(attachment, "timeline-image") + + +def get_card_image_thumbnailer_url(attachment): + return _get_attachment_thumbnailer_url(attachment, "card-image") diff --git a/taiga/projects/choices.py b/taiga/projects/choices.py index 0e443847..1bae9ac6 100644 --- a/taiga/projects/choices.py +++ b/taiga/projects/choices.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/admin.py b/taiga/projects/custom_attributes/admin.py index 3f67ffaf..56d7bb90 100644 --- a/taiga/projects/custom_attributes/admin.py +++ b/taiga/projects/custom_attributes/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/api.py b/taiga/projects/custom_attributes/api.py index bb490d4e..486344ba 100644 --- a/taiga/projects/custom_attributes/api.py +++ b/taiga/projects/custom_attributes/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/choices.py b/taiga/projects/custom_attributes/choices.py index 9c3e8468..88bc1177 100644 --- a/taiga/projects/custom_attributes/choices.py +++ b/taiga/projects/custom_attributes/choices.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/models.py b/taiga/projects/custom_attributes/models.py index 51c81db6..3f4af228 100644 --- a/taiga/projects/custom_attributes/models.py +++ b/taiga/projects/custom_attributes/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/permissions.py b/taiga/projects/custom_attributes/permissions.py index 7a780a57..43460ad9 100644 --- a/taiga/projects/custom_attributes/permissions.py +++ b/taiga/projects/custom_attributes/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/serializers.py b/taiga/projects/custom_attributes/serializers.py index 4b82a189..760c8604 100644 --- a/taiga/projects/custom_attributes/serializers.py +++ b/taiga/projects/custom_attributes/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/services.py b/taiga/projects/custom_attributes/services.py index 1e5795cb..cd371cf1 100644 --- a/taiga/projects/custom_attributes/services.py +++ b/taiga/projects/custom_attributes/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/custom_attributes/signals.py b/taiga/projects/custom_attributes/signals.py index 1e0e96e3..1f6c4671 100644 --- a/taiga/projects/custom_attributes/signals.py +++ b/taiga/projects/custom_attributes/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/api.py b/taiga/projects/history/api.py index 9e7bef23..c6af2880 100644 --- a/taiga/projects/history/api.py +++ b/taiga/projects/history/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/choices.py b/taiga/projects/history/choices.py index 1c38af8f..c4a6af78 100644 --- a/taiga/projects/history/choices.py +++ b/taiga/projects/history/choices.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/freeze_impl.py b/taiga/projects/history/freeze_impl.py index aba3de6e..0a68806e 100644 --- a/taiga/projects/history/freeze_impl.py +++ b/taiga/projects/history/freeze_impl.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -21,14 +21,13 @@ from django.apps import apps from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ObjectDoesNotExist -from easy_thumbnails.files import get_thumbnailer -from easy_thumbnails.exceptions import InvalidImageFormatError - from taiga.base.utils.urls import get_absolute_url from taiga.base.utils.iterators import as_tuple from taiga.base.utils.iterators import as_dict from taiga.mdrender.service import render as mdrender +from taiga.projects.attachments.services import get_timeline_image_thumbnailer_url + import os #################### @@ -178,11 +177,7 @@ def _generic_extract(obj:object, fields:list, default=None) -> dict: @as_tuple def extract_attachments(obj) -> list: for attach in obj.attachments.all(): - try: - thumb_url = get_thumbnailer(attach.attached_file)['timeline-image'].url - thumb_url = get_absolute_url(thumb_url) - except InvalidImageFormatError as e: - thumb_url = None + thumb_url = get_timeline_image_thumbnailer_url(attach) yield {"id": attach.id, "filename": os.path.basename(attach.attached_file.name), diff --git a/taiga/projects/history/mixins.py b/taiga/projects/history/mixins.py index 27fa7632..faec3b00 100644 --- a/taiga/projects/history/mixins.py +++ b/taiga/projects/history/mixins.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/models.py b/taiga/projects/history/models.py index cea42ae4..2663bf2c 100644 --- a/taiga/projects/history/models.py +++ b/taiga/projects/history/models.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/permissions.py b/taiga/projects/history/permissions.py index 636fe6a9..5f8c1f04 100644 --- a/taiga/projects/history/permissions.py +++ b/taiga/projects/history/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/serializers.py b/taiga/projects/history/serializers.py index eab06fa7..5caad806 100644 --- a/taiga/projects/history/serializers.py +++ b/taiga/projects/history/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/services.py b/taiga/projects/history/services.py index a199f7ad..9f520812 100644 --- a/taiga/projects/history/services.py +++ b/taiga/projects/history/services.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Andrey Antukh +# Copyright (C) 2014-2016 Andrey Antukh # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/history/templatetags/functions.py b/taiga/projects/history/templatetags/functions.py index 3c3ce143..35236fc6 100644 --- a/taiga/projects/history/templatetags/functions.py +++ b/taiga/projects/history/templatetags/functions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/__init__.py b/taiga/projects/issues/__init__.py index b6be563e..b511b6e7 100644 --- a/taiga/projects/issues/__init__.py +++ b/taiga/projects/issues/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/admin.py b/taiga/projects/issues/admin.py index a11f1d21..a1e0ecfe 100644 --- a/taiga/projects/issues/admin.py +++ b/taiga/projects/issues/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/api.py b/taiga/projects/issues/api.py index f38bfb2e..60633f58 100644 --- a/taiga/projects/issues/api.py +++ b/taiga/projects/issues/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/apps.py b/taiga/projects/issues/apps.py index 485513f0..27fd6e82 100644 --- a/taiga/projects/issues/apps.py +++ b/taiga/projects/issues/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/models.py b/taiga/projects/issues/models.py index 81745d4a..84840ebd 100644 --- a/taiga/projects/issues/models.py +++ b/taiga/projects/issues/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/permissions.py b/taiga/projects/issues/permissions.py index 8c8ddd4d..6684f144 100644 --- a/taiga/projects/issues/permissions.py +++ b/taiga/projects/issues/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/issues/serializers.py b/taiga/projects/issues/serializers.py index cfc10feb..d5f3af66 100644 --- a/taiga/projects/issues/serializers.py +++ b/taiga/projects/issues/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -81,7 +81,9 @@ class IssueListSerializer(IssueSerializer): class IssueNeighborsSerializer(NeighborsSerializerMixin, IssueSerializer): def serialize_neighbor(self, neighbor): - return NeighborIssueSerializer(neighbor).data + if neighbor: + return NeighborIssueSerializer(neighbor).data + return None class NeighborIssueSerializer(serializers.ModelSerializer): diff --git a/taiga/projects/issues/services.py b/taiga/projects/issues/services.py index 11967a75..08d76051 100644 --- a/taiga/projects/issues/services.py +++ b/taiga/projects/issues/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -98,8 +98,8 @@ def issues_to_csv(project, queryset): "subject": issue.subject, "description": issue.description, "milestone": issue.milestone.name if issue.milestone else None, - "owner": issue.owner.username, - "owner_full_name": issue.owner.get_full_name(), + "owner": issue.owner.username if issue.owner else None, + "owner_full_name": issue.owner.get_full_name() if issue.owner else None, "assigned_to": issue.assigned_to.username if issue.assigned_to else None, "assigned_to_full_name": issue.assigned_to.get_full_name() if issue.assigned_to else None, "status": issue.status.name, diff --git a/taiga/projects/issues/signals.py b/taiga/projects/issues/signals.py index 1a50a911..17bc0c2b 100644 --- a/taiga/projects/issues/signals.py +++ b/taiga/projects/issues/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/admin.py b/taiga/projects/likes/admin.py index b48f2385..a1d7fc8a 100644 --- a/taiga/projects/likes/admin.py +++ b/taiga/projects/likes/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/mixins/serializers.py b/taiga/projects/likes/mixins/serializers.py index a4875b86..faf8d278 100644 --- a/taiga/projects/likes/mixins/serializers.py +++ b/taiga/projects/likes/mixins/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/mixins/viewsets.py b/taiga/projects/likes/mixins/viewsets.py index b3d9b2e1..f552d2e6 100644 --- a/taiga/projects/likes/mixins/viewsets.py +++ b/taiga/projects/likes/mixins/viewsets.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/models.py b/taiga/projects/likes/models.py index 9b56f923..c87e45f7 100644 --- a/taiga/projects/likes/models.py +++ b/taiga/projects/likes/models.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/serializers.py b/taiga/projects/likes/serializers.py index c507166e..93119a41 100644 --- a/taiga/projects/likes/serializers.py +++ b/taiga/projects/likes/serializers.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/services.py b/taiga/projects/likes/services.py index f9b94a7a..78a44a01 100644 --- a/taiga/projects/likes/services.py +++ b/taiga/projects/likes/services.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/likes/utils.py b/taiga/projects/likes/utils.py index 44035d47..e519d774 100644 --- a/taiga/projects/likes/utils.py +++ b/taiga/projects/likes/utils.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/management/commands/sample_data.py b/taiga/projects/management/commands/sample_data.py index 7d18b9f0..01db5dbe 100644 --- a/taiga/projects/management/commands/sample_data.py +++ b/taiga/projects/management/commands/sample_data.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -43,6 +43,7 @@ from taiga.projects.history.services import take_snapshot from taiga.projects.likes.services import add_like from taiga.projects.votes.services import add_vote from taiga.events.apps import disconnect_events_signals +from taiga.projects.services.stats import get_stats_for_project ATTACHMENT_SAMPLE_DATA = [ @@ -221,8 +222,9 @@ class Command(BaseCommand): wiki_page = self.create_wiki(project, "home") # Set a value to total_story_points to show the deadline in the backlog - get_stats_for_project(project) - project.total_story_points = int(project._defined_points * self.sd.int(5,12) / 10) + project_stats = get_stats_for_project(project) + defined_points = project_stats["defined_points"] + project.total_story_points = int(defined_points * self.sd.int(5,12) / 10) project.save() self.create_likes(project) @@ -500,4 +502,3 @@ class Command(BaseCommand): obj.add_watcher(user) else: obj.add_watcher(user, notify_level) - diff --git a/taiga/projects/milestones/admin.py b/taiga/projects/milestones/admin.py index 86676373..95519eb9 100644 --- a/taiga/projects/milestones/admin.py +++ b/taiga/projects/milestones/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/milestones/api.py b/taiga/projects/milestones/api.py index 94cb04ec..aca1ab24 100644 --- a/taiga/projects/milestones/api.py +++ b/taiga/projects/milestones/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -113,10 +113,10 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin, ModelCrudView 'estimated_finish': milestone.estimated_finish, 'total_points': total_points, 'completed_points': milestone.closed_points.values(), - 'total_userstories': milestone.user_stories.count(), - 'completed_userstories': len([us for us in milestone.user_stories.all() if us.is_closed]), - 'total_tasks': milestone.tasks.all().count(), - 'completed_tasks': milestone.tasks.all().filter(status__is_closed=True).count(), + 'total_userstories': milestone.get_cached_user_stories().count(), + 'completed_userstories': milestone.get_cached_user_stories().filter(is_closed=True).count(), + 'total_tasks': milestone.tasks.count(), + 'completed_tasks': milestone.tasks.filter(status__is_closed=True).count(), 'iocaine_doses': milestone.tasks.filter(is_iocaine=True).count(), 'days': [] } @@ -125,11 +125,12 @@ class MilestoneViewSet(HistoryResourceMixin, WatchedResourceMixin, ModelCrudView optimal_points = sumTotalPoints milestone_days = (milestone.estimated_finish - milestone.estimated_start).days optimal_points_per_day = sumTotalPoints / milestone_days if milestone_days else 0 + while current_date <= milestone.estimated_finish: milestone_stats['days'].append({ 'day': current_date, 'name': current_date.day, - 'open_points': sumTotalPoints - sum(milestone.closed_points_by_date(current_date).values()), + 'open_points': sumTotalPoints - milestone.total_closed_points_by_date(current_date), 'optimal_points': optimal_points, }) current_date = current_date + datetime.timedelta(days=1) diff --git a/taiga/projects/milestones/models.py b/taiga/projects/milestones/models.py index 0e380c9b..30936e9a 100644 --- a/taiga/projects/milestones/models.py +++ b/taiga/projects/milestones/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -14,7 +14,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from django.apps import apps from django.db import models +from django.db.models import Prefetch, Count from django.conf import settings from django.utils.translation import ugettext_lazy as _ from django.utils import timezone @@ -53,6 +55,8 @@ class Milestone(WatchedModelMixin, models.Model): order = models.PositiveSmallIntegerField(default=1, null=False, blank=False, verbose_name=_("order")) _importing = None + _total_closed_points_by_date = None + _cached_user_stories = None class Meta: verbose_name = "milestone" @@ -82,6 +86,14 @@ class Milestone(WatchedModelMixin, models.Model): super().save(*args, **kwargs) + def get_cached_user_stories(self): + if self._cached_user_stories is None: + self._cached_user_stories = self.user_stories.\ + prefetch_related("role_points", "role_points__points").\ + annotate(num_tasks=Count("tasks")) + + return self._cached_user_stories + def _get_user_stories_points(self, user_stories): role_points = [us.role_points.all() for us in user_stories] flat_role_points = itertools.chain(*role_points) @@ -91,13 +103,13 @@ class Milestone(WatchedModelMixin, models.Model): @property def total_points(self): return self._get_user_stories_points( - [us for us in self.user_stories.all()] + [us for us in self.get_cached_user_stories()] ) @property def closed_points(self): return self._get_user_stories_points( - [us for us in self.user_stories.all() if us.is_closed] + [us for us in self.get_cached_user_stories() if us.is_closed] ) def _get_increment_points(self): @@ -148,9 +160,51 @@ class Milestone(WatchedModelMixin, models.Model): def shared_increment_points(self): return self._get_increment_points()["shared_increment"] - def closed_points_by_date(self, date): - return self._get_user_stories_points([ - us for us in self.user_stories.filter( - finish_date__lt=date + datetime.timedelta(days=1) - ).prefetch_related('role_points', 'role_points__points') if us.is_closed - ]) + def total_closed_points_by_date(self, date): + # Milestone instance will keep a cache of the total closed points by date + if self._total_closed_points_by_date is None: + self._total_closed_points_by_date = {} + + # We need to keep the milestone user stories indexed by id in a dict + user_stories = {} + for us in self.get_cached_user_stories(): + us._total_us_points = sum(self._get_user_stories_points([us]).values()) + user_stories[us.id] = us + + tasks = self.tasks.\ + select_related("user_story").\ + exclude(finished_date__isnull=True).\ + exclude(user_story__isnull=True) + + # For each finished task we try to know the proporional part of points + # it represetnts from the user story and add it to the closed points + # for that date + # This calulation is the total user story points divided by its number of tasks + for task in tasks: + user_story = user_stories[task.user_story.id] + total_us_points = user_story._total_us_points + us_tasks_counter = user_story.num_tasks + + # If the task was finished before starting the sprint it needs + # to be included + finished_date = task.finished_date.date() + if finished_date < self.estimated_start: + finished_date = self.estimated_start + + points_by_date = self._total_closed_points_by_date.get(finished_date, 0) + points_by_date += total_us_points / us_tasks_counter + self._total_closed_points_by_date[finished_date] = points_by_date + + # At this point self._total_closed_points_by_date keeps a dict where the + # finished date of the task is the key and the value is the increment of points + # We are transforming this dict of increments in an acumulation one including + # all the dates from the sprint + + acumulated_date_points = 0 + current_date = self.estimated_start + while current_date <= self.estimated_finish: + acumulated_date_points += self._total_closed_points_by_date.get(current_date, 0) + self._total_closed_points_by_date[current_date] = acumulated_date_points + current_date = current_date + datetime.timedelta(days=1) + + return self._total_closed_points_by_date.get(date, 0) diff --git a/taiga/projects/milestones/permissions.py b/taiga/projects/milestones/permissions.py index c088d9a9..ac459755 100644 --- a/taiga/projects/milestones/permissions.py +++ b/taiga/projects/milestones/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/milestones/serializers.py b/taiga/projects/milestones/serializers.py index 5d3ddf7b..964c1e1b 100644 --- a/taiga/projects/milestones/serializers.py +++ b/taiga/projects/milestones/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/milestones/services.py b/taiga/projects/milestones/services.py index f852403f..2599db35 100644 --- a/taiga/projects/milestones/services.py +++ b/taiga/projects/milestones/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/mixins/blocked.py b/taiga/projects/mixins/blocked.py index 34db95b1..2d5a4fa0 100644 --- a/taiga/projects/mixins/blocked.py +++ b/taiga/projects/mixins/blocked.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/mixins/on_destroy.py b/taiga/projects/mixins/on_destroy.py index 6ba1c40f..a46977c9 100644 --- a/taiga/projects/mixins/on_destroy.py +++ b/taiga/projects/mixins/on_destroy.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/mixins/ordering.py b/taiga/projects/mixins/ordering.py index 29723fd3..d9e6c5ee 100644 --- a/taiga/projects/mixins/ordering.py +++ b/taiga/projects/mixins/ordering.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/models.py b/taiga/projects/models.py index d7f77a10..95fbdd8c 100644 --- a/taiga/projects/models.py +++ b/taiga/projects/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -275,10 +275,6 @@ class Project(ProjectDefaults, TaggedMixin, models.Model): def project(self): return self - @property - def project(self): - return self - def _get_q_watchers(self): return Q(notify_policies__project_id=self.id) & ~Q(notify_policies__notify_level=NotifyLevel.none) @@ -312,6 +308,31 @@ class Project(ProjectDefaults, TaggedMixin, models.Model): notify_policy = get_notify_policy(self, user) set_notify_policy_level_to_ignore(notify_policy) + def delete_related_content(self): + from taiga.events.apps import connect_events_signals, disconnect_events_signals + from taiga.projects.tasks.apps import connect_all_tasks_signals, disconnect_all_tasks_signals + from taiga.projects.userstories.apps import connect_all_userstories_signals, disconnect_all_userstories_signals + from taiga.projects.issues.apps import connect_all_issues_signals, disconnect_all_issues_signals + from taiga.projects.apps import connect_memberships_signals, disconnect_memberships_signals + + disconnect_events_signals() + disconnect_all_issues_signals() + disconnect_all_tasks_signals() + disconnect_all_userstories_signals() + disconnect_memberships_signals() + + try: + self.tasks.all().delete() + self.user_stories.all().delete() + self.issues.all().delete() + self.memberships.all().delete() + self.roles.all().delete() + finally: + connect_events_signals() + connect_all_issues_signals() + connect_all_tasks_signals() + connect_all_userstories_signals() + connect_memberships_signals() class ProjectModulesConfig(models.Model): project = models.OneToOneField("Project", null=False, blank=False, diff --git a/taiga/projects/notifications/admin.py b/taiga/projects/notifications/admin.py index 4036f787..2b4cd930 100644 --- a/taiga/projects/notifications/admin.py +++ b/taiga/projects/notifications/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/api.py b/taiga/projects/notifications/api.py index 26b8440f..8be8ab5c 100644 --- a/taiga/projects/notifications/api.py +++ b/taiga/projects/notifications/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/choices.py b/taiga/projects/notifications/choices.py index e42d9c91..f9eac02f 100644 --- a/taiga/projects/notifications/choices.py +++ b/taiga/projects/notifications/choices.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/management/commands/send_notifications.py b/taiga/projects/notifications/management/commands/send_notifications.py index 5aac7558..c2034895 100644 --- a/taiga/projects/notifications/management/commands/send_notifications.py +++ b/taiga/projects/notifications/management/commands/send_notifications.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/mixins.py b/taiga/projects/notifications/mixins.py index 26726703..bb90d113 100644 --- a/taiga/projects/notifications/mixins.py +++ b/taiga/projects/notifications/mixins.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/models.py b/taiga/projects/notifications/models.py index 6ce2356b..ae0c897f 100644 --- a/taiga/projects/notifications/models.py +++ b/taiga/projects/notifications/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/permissions.py b/taiga/projects/notifications/permissions.py index 699e0a4a..1ea57b4d 100644 --- a/taiga/projects/notifications/permissions.py +++ b/taiga/projects/notifications/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/serializers.py b/taiga/projects/notifications/serializers.py index e0c988b5..42c4cb18 100644 --- a/taiga/projects/notifications/serializers.py +++ b/taiga/projects/notifications/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/services.py b/taiga/projects/notifications/services.py index bbfc9dd5..b77efe73 100644 --- a/taiga/projects/notifications/services.py +++ b/taiga/projects/notifications/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/utils.py b/taiga/projects/notifications/utils.py index b8138e0a..b4257669 100644 --- a/taiga/projects/notifications/utils.py +++ b/taiga/projects/notifications/utils.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/notifications/validators.py b/taiga/projects/notifications/validators.py index 1330a09a..7870e263 100644 --- a/taiga/projects/notifications/validators.py +++ b/taiga/projects/notifications/validators.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/occ/__init__.py b/taiga/projects/occ/__init__.py index a25f77db..0786ec9e 100644 --- a/taiga/projects/occ/__init__.py +++ b/taiga/projects/occ/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/occ/mixins.py b/taiga/projects/occ/mixins.py index b473eb2b..789c7599 100644 --- a/taiga/projects/occ/mixins.py +++ b/taiga/projects/occ/mixins.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/permissions.py b/taiga/projects/permissions.py index 0925ce8a..1c839d3b 100644 --- a/taiga/projects/permissions.py +++ b/taiga/projects/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/api.py b/taiga/projects/references/api.py index 4b8027cb..60559931 100644 --- a/taiga/projects/references/api.py +++ b/taiga/projects/references/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/models.py b/taiga/projects/references/models.py index 6e141c8d..e6fd734d 100644 --- a/taiga/projects/references/models.py +++ b/taiga/projects/references/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/permissions.py b/taiga/projects/references/permissions.py index aa818c49..0708321e 100644 --- a/taiga/projects/references/permissions.py +++ b/taiga/projects/references/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/sequences.py b/taiga/projects/references/sequences.py index ca6a4f62..c9bf9af2 100644 --- a/taiga/projects/references/sequences.py +++ b/taiga/projects/references/sequences.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/serializers.py b/taiga/projects/references/serializers.py index 4755a897..6b2ff303 100644 --- a/taiga/projects/references/serializers.py +++ b/taiga/projects/references/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/references/services.py b/taiga/projects/references/services.py index 203cd4e2..d1059b71 100644 --- a/taiga/projects/references/services.py +++ b/taiga/projects/references/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/serializers.py b/taiga/projects/serializers.py index 21347615..752d494b 100644 --- a/taiga/projects/serializers.py +++ b/taiga/projects/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/__init__.py b/taiga/projects/services/__init__.py index d63cbe79..11d9ab78 100644 --- a/taiga/projects/services/__init__.py +++ b/taiga/projects/services/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/bulk_update_order.py b/taiga/projects/services/bulk_update_order.py index 83b38a90..de359991 100644 --- a/taiga/projects/services/bulk_update_order.py +++ b/taiga/projects/services/bulk_update_order.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/filters.py b/taiga/projects/services/filters.py index e9c3f28e..bcca6ca5 100644 --- a/taiga/projects/services/filters.py +++ b/taiga/projects/services/filters.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/modules_config.py b/taiga/projects/services/modules_config.py index c0b92d77..31925f2e 100644 --- a/taiga/projects/services/modules_config.py +++ b/taiga/projects/services/modules_config.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/stats.py b/taiga/projects/services/stats.py index 7f915a31..dca20819 100644 --- a/taiga/projects/services/stats.py +++ b/taiga/projects/services/stats.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/services/tags_colors.py b/taiga/projects/services/tags_colors.py index 14d1dbce..fb9a99b0 100644 --- a/taiga/projects/services/tags_colors.py +++ b/taiga/projects/services/tags_colors.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/signals.py b/taiga/projects/signals.py index b4652a8b..622d5727 100644 --- a/taiga/projects/signals.py +++ b/taiga/projects/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/__init__.py b/taiga/projects/tasks/__init__.py index 6e63190e..83ace66e 100644 --- a/taiga/projects/tasks/__init__.py +++ b/taiga/projects/tasks/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/admin.py b/taiga/projects/tasks/admin.py index a9cbd823..fc6c4435 100644 --- a/taiga/projects/tasks/admin.py +++ b/taiga/projects/tasks/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/api.py b/taiga/projects/tasks/api.py index afd7d619..8a9c401b 100644 --- a/taiga/projects/tasks/api.py +++ b/taiga/projects/tasks/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/apps.py b/taiga/projects/tasks/apps.py index a38947e6..5415c3c2 100644 --- a/taiga/projects/tasks/apps.py +++ b/taiga/projects/tasks/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/models.py b/taiga/projects/tasks/models.py index c43869cb..369fab0a 100644 --- a/taiga/projects/tasks/models.py +++ b/taiga/projects/tasks/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/permissions.py b/taiga/projects/tasks/permissions.py index 7a12cd13..7591e346 100644 --- a/taiga/projects/tasks/permissions.py +++ b/taiga/projects/tasks/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/tasks/serializers.py b/taiga/projects/tasks/serializers.py index deb9af68..09a42763 100644 --- a/taiga/projects/tasks/serializers.py +++ b/taiga/projects/tasks/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -79,7 +79,9 @@ class TaskListSerializer(TaskSerializer): class TaskNeighborsSerializer(NeighborsSerializerMixin, TaskSerializer): def serialize_neighbor(self, neighbor): - return NeighborTaskSerializer(neighbor).data + if neighbor: + return NeighborTaskSerializer(neighbor).data + return None class NeighborTaskSerializer(serializers.ModelSerializer): diff --git a/taiga/projects/tasks/services.py b/taiga/projects/tasks/services.py index 46cbedfd..8bd22993 100644 --- a/taiga/projects/tasks/services.py +++ b/taiga/projects/tasks/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -110,8 +110,8 @@ def tasks_to_csv(project, queryset): "description": task.description, "user_story": task.user_story.ref if task.user_story else None, "milestone": task.milestone.name if task.milestone else None, - "owner": task.owner.username, - "owner_full_name": task.owner.get_full_name(), + "owner": task.owner.username if task.owner else None, + "owner_full_name": task.owner.get_full_name() if task.owner else None, "assigned_to": task.assigned_to.username if task.assigned_to else None, "assigned_to_full_name": task.assigned_to.get_full_name() if task.assigned_to else None, "status": task.status.name, diff --git a/taiga/projects/tasks/signals.py b/taiga/projects/tasks/signals.py index f45de621..f12c7671 100644 --- a/taiga/projects/tasks/signals.py +++ b/taiga/projects/tasks/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/translations.py b/taiga/projects/translations.py index b0b32671..193ed97f 100644 --- a/taiga/projects/translations.py +++ b/taiga/projects/translations.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/__init__.py b/taiga/projects/userstories/__init__.py index 13d664b6..01da2fe5 100644 --- a/taiga/projects/userstories/__init__.py +++ b/taiga/projects/userstories/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/admin.py b/taiga/projects/userstories/admin.py index f1772320..9fd7a72d 100644 --- a/taiga/projects/userstories/admin.py +++ b/taiga/projects/userstories/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/api.py b/taiga/projects/userstories/api.py index 6e8d747c..e2a2f066 100644 --- a/taiga/projects/userstories/api.py +++ b/taiga/projects/userstories/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/apps.py b/taiga/projects/userstories/apps.py index 240e0375..53515191 100644 --- a/taiga/projects/userstories/apps.py +++ b/taiga/projects/userstories/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/models.py b/taiga/projects/userstories/models.py index 6b49654e..ce734d1e 100644 --- a/taiga/projects/userstories/models.py +++ b/taiga/projects/userstories/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/permissions.py b/taiga/projects/userstories/permissions.py index 95a8e622..c5cb7eb2 100644 --- a/taiga/projects/userstories/permissions.py +++ b/taiga/projects/userstories/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/serializers.py b/taiga/projects/userstories/serializers.py index 98cc2bb4..5e761d14 100644 --- a/taiga/projects/userstories/serializers.py +++ b/taiga/projects/userstories/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -113,7 +113,9 @@ class UserStoryListSerializer(UserStorySerializer): class UserStoryNeighborsSerializer(NeighborsSerializerMixin, UserStorySerializer): def serialize_neighbor(self, neighbor): - return NeighborUserStorySerializer(neighbor).data + if neighbor: + return NeighborUserStorySerializer(neighbor).data + return None class NeighborUserStorySerializer(serializers.ModelSerializer): diff --git a/taiga/projects/userstories/services.py b/taiga/projects/userstories/services.py index 0be25688..9ca9ce8b 100644 --- a/taiga/projects/userstories/services.py +++ b/taiga/projects/userstories/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -153,8 +153,8 @@ def userstories_to_csv(project,queryset): "subject": us.subject, "description": us.description, "milestone": us.milestone.name if us.milestone else None, - "owner": us.owner.username, - "owner_full_name": us.owner.get_full_name(), + "owner": us.owner.username if us.owner else None, + "owner_full_name": us.owner.get_full_name() if us.owner else None, "assigned_to": us.assigned_to.username if us.assigned_to else None, "assigned_to_full_name": us.assigned_to.get_full_name() if us.assigned_to else None, "status": us.status.name, diff --git a/taiga/projects/userstories/signals.py b/taiga/projects/userstories/signals.py index ce452992..33039926 100644 --- a/taiga/projects/userstories/signals.py +++ b/taiga/projects/userstories/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/userstories/validators.py b/taiga/projects/userstories/validators.py index f8e2440d..21464ded 100644 --- a/taiga/projects/userstories/validators.py +++ b/taiga/projects/userstories/validators.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/validators.py b/taiga/projects/validators.py index 11cd9f38..c2368030 100644 --- a/taiga/projects/validators.py +++ b/taiga/projects/validators.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/admin.py b/taiga/projects/votes/admin.py index d0e0a74e..3e0dc590 100644 --- a/taiga/projects/votes/admin.py +++ b/taiga/projects/votes/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/mixins/serializers.py b/taiga/projects/votes/mixins/serializers.py index 73e1799b..9147af78 100644 --- a/taiga/projects/votes/mixins/serializers.py +++ b/taiga/projects/votes/mixins/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/mixins/viewsets.py b/taiga/projects/votes/mixins/viewsets.py index aa2100a0..3495e7a8 100644 --- a/taiga/projects/votes/mixins/viewsets.py +++ b/taiga/projects/votes/mixins/viewsets.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/models.py b/taiga/projects/votes/models.py index 6f5abbe5..e4e592c1 100644 --- a/taiga/projects/votes/models.py +++ b/taiga/projects/votes/models.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/serializers.py b/taiga/projects/votes/serializers.py index 210c6057..9dbb7af8 100644 --- a/taiga/projects/votes/serializers.py +++ b/taiga/projects/votes/serializers.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/services.py b/taiga/projects/votes/services.py index 093b685e..2ddbdbcf 100644 --- a/taiga/projects/votes/services.py +++ b/taiga/projects/votes/services.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/votes/utils.py b/taiga/projects/votes/utils.py index dd703bcf..2b38c79e 100644 --- a/taiga/projects/votes/utils.py +++ b/taiga/projects/votes/utils.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/wiki/admin.py b/taiga/projects/wiki/admin.py index f6ffcf20..7ea2e979 100644 --- a/taiga/projects/wiki/admin.py +++ b/taiga/projects/wiki/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/wiki/api.py b/taiga/projects/wiki/api.py index 60cfe8c0..27a5ea7b 100644 --- a/taiga/projects/wiki/api.py +++ b/taiga/projects/wiki/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/wiki/models.py b/taiga/projects/wiki/models.py index de3cb25c..067c65b4 100644 --- a/taiga/projects/wiki/models.py +++ b/taiga/projects/wiki/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/wiki/permissions.py b/taiga/projects/wiki/permissions.py index c1dd1e74..a0365645 100644 --- a/taiga/projects/wiki/permissions.py +++ b/taiga/projects/wiki/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/projects/wiki/serializers.py b/taiga/projects/wiki/serializers.py index d1dfc938..84cc7c07 100644 --- a/taiga/projects/wiki/serializers.py +++ b/taiga/projects/wiki/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/routers.py b/taiga/routers.py index 5e972b83..999a948b 100644 --- a/taiga/routers.py +++ b/taiga/routers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/searches/api.py b/taiga/searches/api.py index 5a985664..206dcb13 100644 --- a/taiga/searches/api.py +++ b/taiga/searches/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/searches/serializers.py b/taiga/searches/serializers.py index 3ec5f289..de409ba0 100644 --- a/taiga/searches/serializers.py +++ b/taiga/searches/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/searches/services.py b/taiga/searches/services.py index d2f84798..82acdf18 100644 --- a/taiga/searches/services.py +++ b/taiga/searches/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/__init__.py b/taiga/stats/__init__.py index 28eceffa..c472cad5 100644 --- a/taiga/stats/__init__.py +++ b/taiga/stats/__init__.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/api.py b/taiga/stats/api.py index ab765ed9..0afefeb8 100644 --- a/taiga/stats/api.py +++ b/taiga/stats/api.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/apps.py b/taiga/stats/apps.py index dc893e5c..4adcc38a 100644 --- a/taiga/stats/apps.py +++ b/taiga/stats/apps.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/permissions.py b/taiga/stats/permissions.py index 16fb72a8..db48b945 100644 --- a/taiga/stats/permissions.py +++ b/taiga/stats/permissions.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/routers.py b/taiga/stats/routers.py index dcab7819..e082567f 100644 --- a/taiga/stats/routers.py +++ b/taiga/stats/routers.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/stats/services.py b/taiga/stats/services.py index a0d65c45..9d196094 100644 --- a/taiga/stats/services.py +++ b/taiga/stats/services.py @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2015 Taiga Agile LLC +# Copyright (C) 2014-2016 Taiga Agile LLC # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/__init__.py b/taiga/timeline/__init__.py index 21c6a821..937a3b98 100644 --- a/taiga/timeline/__init__.py +++ b/taiga/timeline/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/api.py b/taiga/timeline/api.py index e940e019..5545f467 100644 --- a/taiga/timeline/api.py +++ b/taiga/timeline/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/apps.py b/taiga/timeline/apps.py index 7b926f9e..83119502 100644 --- a/taiga/timeline/apps.py +++ b/taiga/timeline/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/management/commands/_clear_unnecessary_new_membership_entries.py b/taiga/timeline/management/commands/_clear_unnecessary_new_membership_entries.py index b4233923..23ce6ce0 100644 --- a/taiga/timeline/management/commands/_clear_unnecessary_new_membership_entries.py +++ b/taiga/timeline/management/commands/_clear_unnecessary_new_membership_entries.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/management/commands/_rebuild_timeline_for_user_creation.py b/taiga/timeline/management/commands/_rebuild_timeline_for_user_creation.py index bac46080..f1b763fa 100644 --- a/taiga/timeline/management/commands/_rebuild_timeline_for_user_creation.py +++ b/taiga/timeline/management/commands/_rebuild_timeline_for_user_creation.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/management/commands/_update_timeline_for_updated_tasks.py b/taiga/timeline/management/commands/_update_timeline_for_updated_tasks.py index ab1e4047..c26b52b3 100644 --- a/taiga/timeline/management/commands/_update_timeline_for_updated_tasks.py +++ b/taiga/timeline/management/commands/_update_timeline_for_updated_tasks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/management/commands/rebuild_timeline.py b/taiga/timeline/management/commands/rebuild_timeline.py index a7a72955..3179a9d6 100644 --- a/taiga/timeline/management/commands/rebuild_timeline.py +++ b/taiga/timeline/management/commands/rebuild_timeline.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/management/commands/rebuild_timeline_iterating_per_projects.py b/taiga/timeline/management/commands/rebuild_timeline_iterating_per_projects.py index 008da7b8..95b4db30 100644 --- a/taiga/timeline/management/commands/rebuild_timeline_iterating_per_projects.py +++ b/taiga/timeline/management/commands/rebuild_timeline_iterating_per_projects.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/models.py b/taiga/timeline/models.py index c92a87c8..b16bfc14 100644 --- a/taiga/timeline/models.py +++ b/taiga/timeline/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/permissions.py b/taiga/timeline/permissions.py index 5aae5df4..9f41c5f3 100644 --- a/taiga/timeline/permissions.py +++ b/taiga/timeline/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/serializers.py b/taiga/timeline/serializers.py index b5af436a..3a6e3d65 100644 --- a/taiga/timeline/serializers.py +++ b/taiga/timeline/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/service.py b/taiga/timeline/service.py index 88c85a9a..9d180885 100644 --- a/taiga/timeline/service.py +++ b/taiga/timeline/service.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/signals.py b/taiga/timeline/signals.py index 0aafb831..b899d6ea 100644 --- a/taiga/timeline/signals.py +++ b/taiga/timeline/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/timeline/timeline_implementations.py b/taiga/timeline/timeline_implementations.py index 8d85652c..f71ee80d 100644 --- a/taiga/timeline/timeline_implementations.py +++ b/taiga/timeline/timeline_implementations.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/urls.py b/taiga/urls.py index 33407f0f..f92cc8a0 100644 --- a/taiga/urls.py +++ b/taiga/urls.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/admin.py b/taiga/users/admin.py index 57055b2c..c5ac01a7 100644 --- a/taiga/users/admin.py +++ b/taiga/users/admin.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/api.py b/taiga/users/api.py index 20031395..387a964a 100644 --- a/taiga/users/api.py +++ b/taiga/users/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/filters.py b/taiga/users/filters.py index 8d2704b3..5858c41a 100644 --- a/taiga/users/filters.py +++ b/taiga/users/filters.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/forms.py b/taiga/users/forms.py index 7d9521a6..7331943f 100644 --- a/taiga/users/forms.py +++ b/taiga/users/forms.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/gravatar.py b/taiga/users/gravatar.py index f26fde9d..70615a00 100644 --- a/taiga/users/gravatar.py +++ b/taiga/users/gravatar.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/models.py b/taiga/users/models.py index 6bbd1ae2..080e897f 100644 --- a/taiga/users/models.py +++ b/taiga/users/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/permissions.py b/taiga/users/permissions.py index de72dd85..ec7761d9 100644 --- a/taiga/users/permissions.py +++ b/taiga/users/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/serializers.py b/taiga/users/serializers.py index 759e5a0f..cb05e2ed 100644 --- a/taiga/users/serializers.py +++ b/taiga/users/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/services.py b/taiga/users/services.py index 5dd8bc0f..91d08582 100644 --- a/taiga/users/services.py +++ b/taiga/users/services.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/signals.py b/taiga/users/signals.py index f1bac392..75fc1587 100644 --- a/taiga/users/signals.py +++ b/taiga/users/signals.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/users/validators.py b/taiga/users/validators.py index bc3a5a0c..ade82141 100644 --- a/taiga/users/validators.py +++ b/taiga/users/validators.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/userstorage/api.py b/taiga/userstorage/api.py index b767e5d9..eea83500 100644 --- a/taiga/userstorage/api.py +++ b/taiga/userstorage/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/userstorage/filters.py b/taiga/userstorage/filters.py index 31e1062c..c183d526 100644 --- a/taiga/userstorage/filters.py +++ b/taiga/userstorage/filters.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/userstorage/models.py b/taiga/userstorage/models.py index 31be0aae..8db16c1a 100644 --- a/taiga/userstorage/models.py +++ b/taiga/userstorage/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/userstorage/permissions.py b/taiga/userstorage/permissions.py index e3a049cb..0d2207b3 100644 --- a/taiga/userstorage/permissions.py +++ b/taiga/userstorage/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/userstorage/serializers.py b/taiga/userstorage/serializers.py index ecbac6a2..5f5d0493 100644 --- a/taiga/userstorage/serializers.py +++ b/taiga/userstorage/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/__init__.py b/taiga/webhooks/__init__.py index 57095ae0..4a91f101 100644 --- a/taiga/webhooks/__init__.py +++ b/taiga/webhooks/__init__.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/api.py b/taiga/webhooks/api.py index 8b254d10..5c8a5766 100644 --- a/taiga/webhooks/api.py +++ b/taiga/webhooks/api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/apps.py b/taiga/webhooks/apps.py index 589afa48..b17a2df0 100644 --- a/taiga/webhooks/apps.py +++ b/taiga/webhooks/apps.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/models.py b/taiga/webhooks/models.py index 94e253aa..df8c4c19 100644 --- a/taiga/webhooks/models.py +++ b/taiga/webhooks/models.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/permissions.py b/taiga/webhooks/permissions.py index a2ef0207..e28f183c 100644 --- a/taiga/webhooks/permissions.py +++ b/taiga/webhooks/permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/serializers.py b/taiga/webhooks/serializers.py index d05b25ca..65847ee9 100644 --- a/taiga/webhooks/serializers.py +++ b/taiga/webhooks/serializers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/signal_handlers.py b/taiga/webhooks/signal_handlers.py index 193b100b..af964b0a 100644 --- a/taiga/webhooks/signal_handlers.py +++ b/taiga/webhooks/signal_handlers.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/taiga/webhooks/tasks.py b/taiga/webhooks/tasks.py index 1933ed63..fd7136c5 100644 --- a/taiga/webhooks/tasks.py +++ b/taiga/webhooks/tasks.py @@ -1,6 +1,6 @@ # Copyright (C) 2013 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/conftest.py b/tests/conftest.py index fa3ae01f..9f83de14 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/factories.py b/tests/factories.py index c44167c5..27a6fa81 100644 --- a/tests/factories.py +++ b/tests/factories.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/fixtures.py b/tests/fixtures.py index 96d6a8fc..f58dbc18 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/resources_permissions/test_issues_custom_attributes_resource.py b/tests/integration/resources_permissions/test_issues_custom_attributes_resource.py index 4dcdfa7f..06135bda 100644 --- a/tests/integration/resources_permissions/test_issues_custom_attributes_resource.py +++ b/tests/integration/resources_permissions/test_issues_custom_attributes_resource.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/resources_permissions/test_tasks_custom_attributes_resource.py b/tests/integration/resources_permissions/test_tasks_custom_attributes_resource.py index da70bd4e..908b2dd9 100644 --- a/tests/integration/resources_permissions/test_tasks_custom_attributes_resource.py +++ b/tests/integration/resources_permissions/test_tasks_custom_attributes_resource.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/resources_permissions/test_userstories_custom_attributes_resource.py b/tests/integration/resources_permissions/test_userstories_custom_attributes_resource.py index 766bae97..c3cc6916 100644 --- a/tests/integration/resources_permissions/test_userstories_custom_attributes_resource.py +++ b/tests/integration/resources_permissions/test_userstories_custom_attributes_resource.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_auth_api.py b/tests/integration/test_auth_api.py index 02df17fa..bc29698c 100644 --- a/tests/integration/test_auth_api.py +++ b/tests/integration/test_auth_api.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_custom_attributes_issues.py b/tests/integration/test_custom_attributes_issues.py index a29c5d45..1726c22e 100644 --- a/tests/integration/test_custom_attributes_issues.py +++ b/tests/integration/test_custom_attributes_issues.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_custom_attributes_tasks.py b/tests/integration/test_custom_attributes_tasks.py index 6ffaf3b5..c3394b85 100644 --- a/tests/integration/test_custom_attributes_tasks.py +++ b/tests/integration/test_custom_attributes_tasks.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_custom_attributes_user_stories.py b/tests/integration/test_custom_attributes_user_stories.py index 4b1f5079..f348fd18 100644 --- a/tests/integration/test_custom_attributes_user_stories.py +++ b/tests/integration/test_custom_attributes_user_stories.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_exporter_api.py b/tests/integration/test_exporter_api.py index d84f29a1..aebc9655 100644 --- a/tests/integration/test_exporter_api.py +++ b/tests/integration/test_exporter_api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_history.py b/tests/integration/test_history.py index 1b5c4f48..127fec05 100644 --- a/tests/integration/test_history.py +++ b/tests/integration/test_history.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_importer_api.py b/tests/integration/test_importer_api.py index aa588bec..a44a5a46 100644 --- a/tests/integration/test_importer_api.py +++ b/tests/integration/test_importer_api.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_mdrender.py b/tests/integration/test_mdrender.py index cd075845..921c03a6 100644 --- a/tests/integration/test_mdrender.py +++ b/tests/integration/test_mdrender.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_milestones.py b/tests/integration/test_milestones.py index d5675399..6f22bd36 100644 --- a/tests/integration/test_milestones.py +++ b/tests/integration/test_milestones.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_neighbors.py b/tests/integration/test_neighbors.py index 92a532dd..afa5c1fe 100644 --- a/tests/integration/test_neighbors.py +++ b/tests/integration/test_neighbors.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_notifications.py b/tests/integration/test_notifications.py index 3e04277c..4e442f21 100644 --- a/tests/integration/test_notifications.py +++ b/tests/integration/test_notifications.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_occ.py b/tests/integration/test_occ.py index 2cbdaced..ba11e8dc 100644 --- a/tests/integration/test_occ.py +++ b/tests/integration/test_occ.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_references_sequences.py b/tests/integration/test_references_sequences.py index 815bf420..67157daf 100644 --- a/tests/integration/test_references_sequences.py +++ b/tests/integration/test_references_sequences.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_roles.py b/tests/integration/test_roles.py index 0bc773e7..157cfbd0 100644 --- a/tests/integration/test_roles.py +++ b/tests/integration/test_roles.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_searches.py b/tests/integration/test_searches.py index c191682f..06c95325 100644 --- a/tests/integration/test_searches.py +++ b/tests/integration/test_searches.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_throwttling.py b/tests/integration/test_throwttling.py index 93c3a26d..9d0b220a 100644 --- a/tests/integration/test_throwttling.py +++ b/tests/integration/test_throwttling.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_timeline.py b/tests/integration/test_timeline.py index c96760e9..7e3f7104 100644 --- a/tests/integration/test_timeline.py +++ b/tests/integration/test_timeline.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_us_autoclosing.py b/tests/integration/test_us_autoclosing.py index a3b43c12..947fc802 100644 --- a/tests/integration/test_us_autoclosing.py +++ b/tests/integration/test_us_autoclosing.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_users.py b/tests/integration/test_users.py index 3b435f0a..0410b579 100644 --- a/tests/integration/test_users.py +++ b/tests/integration/test_users.py @@ -216,7 +216,7 @@ def test_change_avatar_removes_the_old_one(client): thumbnailer = get_thumbnailer(user.photo) original_photo_paths = [user.photo.path] original_photo_paths += [th.path for th in thumbnailer.get_thumbnails()] - assert list(map(os.path.exists, original_photo_paths)) == [True, True, True, True] + assert list(map(os.path.exists, original_photo_paths)) == [True, True, True, True, True] client.login(user) avatar.write(DUMMY_BMP_DATA) @@ -225,7 +225,7 @@ def test_change_avatar_removes_the_old_one(client): response = client.post(url, post_data) assert response.status_code == 200 - assert list(map(os.path.exists, original_photo_paths)) == [False, False, False, False] + assert list(map(os.path.exists, original_photo_paths)) == [False, False, False, False, False] def test_remove_avatar(client): @@ -242,13 +242,13 @@ def test_remove_avatar(client): thumbnailer = get_thumbnailer(user.photo) original_photo_paths = [user.photo.path] original_photo_paths += [th.path for th in thumbnailer.get_thumbnails()] - assert list(map(os.path.exists, original_photo_paths)) == [True, True, True, True] + assert list(map(os.path.exists, original_photo_paths)) == [True, True, True, True, True] client.login(user) response = client.post(url) assert response.status_code == 200 - assert list(map(os.path.exists, original_photo_paths)) == [False, False, False, False] + assert list(map(os.path.exists, original_photo_paths)) == [False, False, False, False, False] def test_list_contacts_private_projects(client): diff --git a/tests/integration/test_userstorage_api.py b/tests/integration/test_userstorage_api.py index d4050232..60900a06 100644 --- a/tests/integration/test_userstorage_api.py +++ b/tests/integration/test_userstorage_api.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_vote_issues.py b/tests/integration/test_vote_issues.py index 9b880d36..fbd2cdff 100644 --- a/tests/integration/test_vote_issues.py +++ b/tests/integration/test_vote_issues.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_vote_tasks.py b/tests/integration/test_vote_tasks.py index 8b1a3605..ce6b8c40 100644 --- a/tests/integration/test_vote_tasks.py +++ b/tests/integration/test_vote_tasks.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_vote_userstories.py b/tests/integration/test_vote_userstories.py index ae118db1..a1626e59 100644 --- a/tests/integration/test_vote_userstories.py +++ b/tests/integration/test_vote_userstories.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_votes.py b/tests/integration/test_votes.py index 0408529e..d192ffed 100644 --- a/tests/integration/test_votes.py +++ b/tests/integration/test_votes.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_issues.py b/tests/integration/test_watch_issues.py index 36ac157e..6c9f2c8f 100644 --- a/tests/integration/test_watch_issues.py +++ b/tests/integration/test_watch_issues.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_milestones.py b/tests/integration/test_watch_milestones.py index acbbe85a..409ade56 100644 --- a/tests/integration/test_watch_milestones.py +++ b/tests/integration/test_watch_milestones.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_projects.py b/tests/integration/test_watch_projects.py index fd1c9560..5ea1dd2f 100644 --- a/tests/integration/test_watch_projects.py +++ b/tests/integration/test_watch_projects.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_tasks.py b/tests/integration/test_watch_tasks.py index 03b70190..88abfb57 100644 --- a/tests/integration/test_watch_tasks.py +++ b/tests/integration/test_watch_tasks.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_userstories.py b/tests/integration/test_watch_userstories.py index aaf797b8..7a1b05ec 100644 --- a/tests/integration/test_watch_userstories.py +++ b/tests/integration/test_watch_userstories.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_watch_wikipages.py b/tests/integration/test_watch_wikipages.py index e90e2cd1..6565f27f 100644 --- a/tests/integration/test_watch_wikipages.py +++ b/tests/integration/test_watch_wikipages.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/integration/test_webhooks.py b/tests/integration/test_webhooks.py index 4e33b919..cf698bc8 100644 --- a/tests/integration/test_webhooks.py +++ b/tests/integration/test_webhooks.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/models.py b/tests/models.py index 87c667dc..0610c340 100644 --- a/tests/models.py +++ b/tests/models.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index ac4f395d..da106fd8 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_base_api_permissions.py b/tests/unit/test_base_api_permissions.py index e0fc748c..fe5bc6a7 100644 --- a/tests/unit/test_base_api_permissions.py +++ b/tests/unit/test_base_api_permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_deferred.py b/tests/unit/test_deferred.py index 46afe862..dc97fa83 100644 --- a/tests/unit/test_deferred.py +++ b/tests/unit/test_deferred.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_export.py b/tests/unit/test_export.py index 17564fa7..a2c39a12 100644 --- a/tests/unit/test_export.py +++ b/tests/unit/test_export.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_gravatar.py b/tests/unit/test_gravatar.py index ba1d18be..ef303b22 100644 --- a/tests/unit/test_gravatar.py +++ b/tests/unit/test_gravatar.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_mdrender.py b/tests/unit/test_mdrender.py index a58e5cca..6de7aa4f 100644 --- a/tests/unit/test_mdrender.py +++ b/tests/unit/test_mdrender.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_permissions.py b/tests/unit/test_permissions.py index b4c0ae45..f35784c7 100644 --- a/tests/unit/test_permissions.py +++ b/tests/unit/test_permissions.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_slug.py b/tests/unit/test_slug.py index 65fb4cf0..e53946d4 100644 --- a/tests/unit/test_slug.py +++ b/tests/unit/test_slug.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_timeline.py b/tests/unit/test_timeline.py index 7e8ff24b..2e0b6374 100644 --- a/tests/unit/test_timeline.py +++ b/tests/unit/test_timeline.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_tokens.py b/tests/unit/test_tokens.py index ca2b09b2..666fa5e2 100644 --- a/tests/unit/test_tokens.py +++ b/tests/unit/test_tokens.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index ff6889ab..483f2528 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -1,6 +1,6 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the @@ -108,6 +108,9 @@ TS_QUERY_TRANSFORMATIONS = [ ("(1)", "( 1 )"), ("1((", "1"), ("test\\", "'test':*"), + ('"', "'\"':*"), + ('""', "'\"\"':*"), + ('"""', "'\"\"':* & '\"':*"), ] def test_to_tsquery(): for (input, expected) in TS_QUERY_TRANSFORMATIONS: diff --git a/tests/utils.py b/tests/utils.py index 389d9c59..6f83d418 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,7 +1,7 @@ -# Copyright (C) 2014-2015 Andrey Antukh -# Copyright (C) 2014-2015 Jesús Espino -# Copyright (C) 2014-2015 David Barragán -# Copyright (C) 2014-2015 Anler Hernández +# Copyright (C) 2014-2016 Andrey Antukh +# Copyright (C) 2014-2016 Jesús Espino +# Copyright (C) 2014-2016 David Barragán +# Copyright (C) 2014-2016 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the