Compare commits

...
172 Commits
Author SHA1 Message Date
Lauri Ojansivu c437c2048d v5.35 2021-06-14 15:35:23 +03:00
Lauri Ojansivu f80fcfd7c0 Updated dependencies.
Thanks to developers of dependencies !
2021-06-14 15:31:06 +03:00
Lauri Ojansivu e9670aa5cb Updated ChangeLog. 2021-06-14 15:14:39 +03:00
Lauri Ojansivu 164b6e9070 Part 2: Allow board members to use more of API. Please add issue (or pull request) if this allows too much.
Thanks to JayVii and xet7 !

Fixes #3862
2021-06-14 15:13:15 +03:00
Lauri Ojansivu 5af18809a7 Updated ChangeLog. 2021-06-14 15:04:55 +03:00
Lauri Ojansivu a719e8fda1 Allow board members to use more of API. Please add issue (or pull request) if this allows too much.
Thanks to JayVii and xet7 !

Fixes #3862
2021-06-14 15:01:37 +03:00
Lauri Ojansivu 50fa8a0743 Updated translations. 2021-06-14 14:31:27 +03:00
Lauri Ojansivu 9e160d2431 Updated ChangeLog. 2021-06-14 13:04:19 +03:00
Lauri Ojansivu 77cff95c07 Merge pull request #3863 from mfilser/card_details_maximize_fixes
Card details maximize fixes
2021-06-14 13:01:41 +03:00
Martin Filser b98a46b78c forms.styl, wrong indentation 2021-06-14 11:05:37 +02:00
Martin Filser 49e31707e5 Card Details, minicard is now hidden 2021-06-14 11:05:46 +02:00
Martin Filser 92122e1fdd Card Details, maximize and minimize of card works now 2021-06-14 11:05:42 +02:00
Martin Filser 7238a65a6f Card Details, more space at maximize icon 2021-06-14 11:05:37 +02:00
Martin Filser e68ccf8532 Card Details, maximize and minimize of icon works
- Card isn't maximized yet
2021-06-14 11:05:37 +02:00
Lauri Ojansivu 362fd86dbf Updated translations. 2021-06-13 17:56:30 +03:00
Lauri Ojansivu 8aba58188d Updated ChangeLog. 2021-06-13 15:51:49 +03:00
Lauri Ojansivu 41848dd99e Merge pull request #3861 from mfilser/manual_sort_number_0_accepted
Manuel sort number 0 accepted
2021-06-13 15:49:34 +03:00
Martin Filser f2fcfd6a47 Manuel sort number 0 accepted
Fixes: #3859
2021-06-13 10:39:44 +02:00
Lauri Ojansivu 33cdb906e2 Updated translations. 2021-06-13 08:49:08 +03:00
Lauri Ojansivu 19e73009b1 Updated ChangeLog. 2021-06-13 00:17:23 +03:00
Lauri Ojansivu 401e256d84 Updated translations. 2021-06-12 23:49:49 +03:00
Lauri Ojansivu e1cd87433a Updated ChangeLog. 2021-06-12 23:37:24 +03:00
Lauri Ojansivu 23e5e1e3bd Reduced Wekan bundle size from 636 MB to 467 MB by deleting all
dependencies of lucasantoniassi:accounts-lockout and including
only required 10 files.

Thank to xet7 !
2021-06-12 23:28:57 +03:00
Lauri Ojansivu 8f19f043a1 Updated translations. 2021-06-12 15:19:20 +03:00
Lauri Ojansivu b1f07149c0 Updated ChangeLog. 2021-06-12 15:16:38 +03:00
Lauri Ojansivu 17acf18848 Export card to PDF. Part 2.
Thanks to xet7 !
2021-06-12 15:15:36 +03:00
Lauri Ojansivu f52f589f7d Updated translations. 2021-06-12 15:01:48 +03:00
Lauri Ojansivu e3e25bc233 Updated ChangeLog. 2021-06-12 14:52:43 +03:00
Lauri Ojansivu a2f2ce1135 Export Card to PDF. In Progress.
Thanks to xet7 !
2021-06-12 14:50:18 +03:00
Lauri Ojansivu 90152ab9f5 Updated ChangeLog. 2021-06-12 13:07:27 +03:00
Lauri Ojansivu 7a25f542e8 Updated translations. 2021-06-12 12:58:53 +03:00
Lauri Ojansivu 8c57250243 Maximize Card. In Progress.
Thanks to xet7 !

Related #1574
2021-06-12 12:48:12 +03:00
Lauri Ojansivu 2e1eb1e224 Add border and update label colors for better visibility.
Thanks to xet7 !
2021-06-12 12:46:30 +03:00
Lauri Ojansivu b9a15e68de Updated translations. 2021-06-12 08:53:19 +03:00
Lauri Ojansivu a9d2e03b65 Updated translations. 2021-06-11 21:01:38 +03:00
Lauri Ojansivu d84b04dc35 Updated ChangeLog. 2021-06-11 20:56:23 +03:00
Lauri Ojansivu 7f3f082557 Added more translations for Wait Spinners.
Thanks to xet7 !
2021-06-11 20:54:52 +03:00
Lauri Ojansivu c810c68923 Updated translations. 2021-06-11 20:49:55 +03:00
Lauri Ojansivu 865a585c7f Updated ChangeLog. 2021-06-11 20:38:24 +03:00
Lauri Ojansivu 8703dd4229 Wait Spinners can now be translated. Added Wait Spinners docs:
https://github.com/wekan/wekan/wiki/Wait-Spinners

Thanks to xet7 !
2021-06-11 20:35:27 +03:00
Lauri Ojansivu d0c417b17d v5.34 2021-06-11 15:35:13 +03:00
Lauri Ojansivu d09151d8f3 Updated translations. 2021-06-11 15:22:55 +03:00
Lauri Ojansivu 01a28860fe Updated ChangeLog. 2021-06-11 15:19:45 +03:00
Lauri Ojansivu 488b765f95 Added remaining WAIT_SPINNER settings.
Thanks to xet7 !

Related https://github.com/wekan/wekan/pull/3858
2021-06-11 15:17:43 +03:00
Lauri Ojansivu 8a21b69fb0 Updated translations. 2021-06-11 14:52:31 +03:00
Lauri Ojansivu eda3ed59df Updated ChangeLog. 2021-06-11 14:48:09 +03:00
Lauri Ojansivu 611ac0ab57 Merge pull request #3858 from mfilser/more_spinners_and_configureable_in_admin_panel
More spinners + configureable in admin panel
2021-06-11 14:42:38 +03:00
Martin Filser d485154a12 Spinner Double-Bounce now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser 0caff7d5d5 Spinner Cube-Grid now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser 6df7657c8e Spinner Scaleout now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser 55d0f0bacd Spinner Rotateplane now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser a74fac4cbf Spinner Dot now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser 8aa58c0b11 Spinner Cube now available
Spinner from: https://tobiasahlin.com/spinkit/
2021-06-11 13:34:33 +02:00
Martin Filser 4b9f8ab2b1 Adding DEFAULT_WAIT_SPINNER to all environments 2021-06-11 13:34:33 +02:00
Martin Filser ba41533128 Default Spinner can be configured through environment variables 2021-06-11 13:34:33 +02:00
Martin Filser 38069c6d63 Spinner description insert in translation 2021-06-11 13:34:33 +02:00
Martin Filser 1d66058240 Spinner class in own .js library file 2021-06-11 13:34:33 +02:00
Martin Filser 43ac328e8a Spinner config is now reactive
- changed at boards as soon as changed in the settings
2021-06-11 13:34:33 +02:00
Martin Filser 7519abf3fe Spinner now configureable in the Settings 2021-06-11 13:34:33 +02:00
Martin Filser 849deae11e Spinners needs  
- it's not formatted by Meteor well, \n is missing in the generated
  Javascript code, so i insert   in the template
2021-06-11 13:34:33 +02:00
Martin Filser 06a2b08780 Spinner configureable in the source code 2021-06-11 13:34:33 +02:00
Martin Filser 4f9d3d8be5 List infinite scroll now always works
- before sometimes list scrolling stopped even the spinner was visible
  and scrolling was at the end of the list
2021-06-11 13:34:33 +02:00
Lauri Ojansivu ac3d658cb1 Merge pull request #3857 from mfilser/view_and_change_card_sort_number
View and change card sort number
2021-06-11 14:33:43 +03:00
Lauri Ojansivu 8f00191617 Updated ChangeLog. 2021-06-11 14:30:19 +03:00
Lauri Ojansivu 762391965e Try to fix BUG: Database error attempting to change a account.
Thanks to bbyszio and xet7 !

Fixes #3855
2021-06-11 14:28:25 +03:00
Lauri Ojansivu 0fa3a2729d Updated ChangeLog. 2021-06-11 13:55:33 +03:00
Martin Filser 54640bb125 Minicard, show sorting number if board config is enabled 2021-06-11 12:35:57 +02:00
Martin Filser 57d35a294d CardDetails sorting, only float number input possible (only working in an extra handler)
- defining in events() doesn't handle the return value and is ignored,
  maybe a bug in Blaze / Meteor.?
2021-06-11 12:35:57 +02:00
Martin Filser 39069b322d CardDetails sorting, only float number input possible 2021-06-11 12:35:57 +02:00
Martin Filser 540ce3a6ed CardDetails sorting number is displayed at card and can be modified (if configured) 2021-06-11 12:35:57 +02:00
Lauri Ojansivu ab22fb27ce Updated ChangeLog. 2021-06-11 13:35:06 +03:00
Lauri Ojansivu 0f564365f4 Merge pull request #3856 from mfilser/custom_fields_missing_after_adding_first_card
CustomFields were not created after adding 1 card
2021-06-11 13:33:26 +03:00
Lauri Ojansivu cccb7e4a39 Updated ChangeLog. 2021-06-11 13:16:20 +03:00
Lauri Ojansivu 1e837dec11 Fix Google SSO to access Wekan has not been working
by reverting Wekan v5.31 not-working fixes to OAUTH2_LOGIN_STYLE=redirect Has No Effect.

Thanks to unpokitodxfavor and xet7 !

Fixes #3854,
opens #3845
2021-06-11 13:08:23 +03:00
Martin Filser be3325ce35 CustomFields were not created after adding 1 card 2021-06-11 12:03:29 +02:00
Lauri Ojansivu c042d54714 Updated ChangeLog. 2021-06-11 12:59:20 +03:00
Lauri Ojansivu 77e2f95c66 Merge pull request #3852 from mfilser/development_in_docker_container
Development in docker container
2021-06-11 12:57:49 +03:00
Martin Filser 403b416b2a Development volumes now in the same folder
- It's easier for the development to have the files in the same folder
  than in an extra volume
2021-06-11 11:36:55 +02:00
Martin Filser b0901ccd01 Development uses now the same Mongo Version (4.4) 2021-06-11 11:36:55 +02:00
Martin Filser 6d2f8a97af Base Image of Development and Build are now the same
- libarchive-tools contains bsdtar. bsdtar is needed for meteor
  installation, it doesn't / or didn't work with docker and overlayfs.

  see also here:

  https://github.com/jshimko/meteor-launchpad/issues/39
  https://github.com/anchore/anchore-engine/issues/106
  https://github.com/coreos/bugs/issues/1095
2021-06-11 11:36:55 +02:00
Martin Filser bbd3324b79 ignore .git directory at docker build
- COPY copies the .git directory to the image. The docker build then
  stops with this error:

=> Errors while initializing project:

While building package wekan-cfs-data-man:
error: couldn't install npm package request@https://github.com/wekan/request:
Command failed:
/home/wekan/.meteor/packages/meteor-tool/.2.2.0.1j8auib.qcbe++os.linux.x86_64+web.browser+web.browser.legacy+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/npm
install https://github.com/wekan/request
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/wekan/request.git
npm ERR!
npm ERR! fatal: not a git repository: /home/wekan/app/../.git/modules/src
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/wekan/.npm/_logs/2021-06-10T12_54_02_777Z-debug.log
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://github.com/wekan/request.git
npm ERR!
npm ERR! fatal: not a git repository: /home/wekan/app/../.git/modules/src
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/wekan/.npm/_logs/2021-06-10T12_54_02_777Z-debug.log
2021-06-11 11:36:54 +02:00
Martin Filser 5697b89817 .devcontainer now ready for Wekan Development in Docker Container
Check .devcontainer/docker-compose.yml to fit your environment

Enter this commands to start Wekan Development:

$ cd .devcontainer
$ docker-compose build
$ docker-compose up -d

Visit localhost:3000 or whatever you entered in ROOT_URL

Code changes triggers a rebuild / redeploy
2021-06-11 11:36:40 +02:00
Lauri Ojansivu 6bf6bcb192 Revert upgrading Dockerfile to hirsute, because of bug:
https://github.com/wekan/wekan/pull/3852#issuecomment-859095850

Thanks to xet7 !
2021-06-11 00:43:45 +03:00
Lauri Ojansivu df74b31541 Try different gpg package for Docker and Hirsute.
Thanks to xet7 !
2021-06-11 00:34:27 +03:00
Lauri Ojansivu 0b34bcdfa8 Updated Dockerfile gpg to gpgv2, that package is in hirsute.
Thanks to xet7 !
2021-06-11 00:26:47 +03:00
Lauri Ojansivu 09a060a57b Updated ChangeLog. 2021-06-10 23:31:59 +03:00
Lauri Ojansivu 2a5147a0c1 Updated Docker Ubuntu base image to newest hirsute.
Thanks to xet7 !
2021-06-10 23:30:13 +03:00
Lauri Ojansivu 4caa0e2f2e Updated ChangeLog. 2021-06-10 23:06:49 +03:00
Lauri Ojansivu 8f5c0af88e Merge pull request #3851 from mfilser/card_description_same_color_editing
Card Description has now the same color on editing
2021-06-10 23:04:46 +03:00
Martin Filser 665d7eb831 Card Description has now the same color on editing 2021-06-10 21:57:10 +02:00
Lauri Ojansivu d08b208bc6 v5.33 2021-06-10 22:10:34 +03:00
Lauri Ojansivu c5d8117052 Updated translations. 2021-06-10 22:03:45 +03:00
Lauri Ojansivu b769d18f73 Updated ChangeLog. 2021-06-10 22:01:14 +03:00
Lauri Ojansivu b17760d228 Merge branch 'Emile840-master' 2021-06-10 21:56:33 +03:00
Lauri Ojansivu 2983c51db1 Merge branch 'master' of https://github.com/Emile840/wekan into Emile840-master 2021-06-10 21:54:41 +03:00
Lauri Ojansivu d6e11940cc Updated ChangeLog. 2021-06-10 21:52:05 +03:00
Lauri Ojansivu 17f15f546f Merge pull request #3849 from mfilser/custom-field-stringtemplate_autofocus
custom fields stringtemplate, autofocus the last input box
2021-06-10 21:49:48 +03:00
Emile NDAGIJIMANA c5df78fd8b Addressed one of the point cited in issue #802 'Assigning a user to a team or an organization' 2021-06-10 16:38:28 +02:00
Martin Filser 62bd96e06e custom fields stringtemplate, autofocus the last input box 2021-06-09 21:25:49 +02:00
Lauri Ojansivu 399fd098b8 v5.32 2021-06-09 20:30:02 +03:00
Lauri Ojansivu f9c21a9b52 Updated translations. 2021-06-09 20:23:38 +03:00
Lauri Ojansivu 41893cf06a Updated ChangeLog. 2021-06-09 20:15:46 +03:00
Lauri Ojansivu 83a8d4c14f Updated ChangeLog. 2021-06-09 20:13:19 +03:00
Lauri Ojansivu 6ce5ab40a7 Moved many button texts etc to tooltips. Added more tooltips.
Thanks to xet7 !

Fixes #3848
2021-06-09 20:08:42 +03:00
Lauri Ojansivu 328fa194a0 v5.31 2021-06-09 01:45:05 +03:00
Lauri Ojansivu 482b9c9333 Updated ChangeLog. 2021-06-09 01:40:39 +03:00
Lauri Ojansivu 122757ca9c Updated dependencies.
Thanks to developers of dependencies !
2021-06-09 01:39:16 +03:00
Lauri Ojansivu 49dd2204f4 Updated ChangeLog. 2021-06-09 01:16:38 +03:00
Lauri Ojansivu 07a3a0b388 Gantt: Retain links created between tasks. Part 1: Database changes, not active in MIT Wekan.
Thanks to benjaminhrivera !

Related https://github.com/wekan/wekan/issues/2870#issuecomment-857115753
2021-06-09 01:12:23 +03:00
Lauri Ojansivu 56efbf1de7 Updated ChangeLog. 2021-06-09 00:57:27 +03:00
Lauri Ojansivu 57f31d443f Partial Fix: Vote and Planning Poker: Setting date and time now works
for some languages that have ascii characters in date format.

Thanks to xet7 !

Related #3837
2021-06-09 00:51:52 +03:00
Lauri Ojansivu 65f308434a Updated ChangeLog. 2021-06-08 17:02:25 +03:00
Lauri Ojansivu 007e0f1c16 Try to fix: Wekan UI fails to finish import of closed Trello boards.
Thanks to berezovskyi and xet7 !

Fixes #3840
2021-06-08 17:00:53 +03:00
Lauri Ojansivu c249a2d187 Updated ChangeLog. 2021-06-08 16:53:06 +03:00
Lauri Ojansivu 78324263c1 Try to fix OAUTH2_LOGIN_STYLE=redirect Has No Effect.
Thanks to xet7 !

Fixes #3845
2021-06-08 16:50:48 +03:00
Lauri Ojansivu c20229b56a Updated translations. 2021-06-08 16:50:29 +03:00
Lauri Ojansivu 1fd10771b0 Updated ChangeLog. 2021-06-08 16:41:14 +03:00
Lauri Ojansivu 1637920170 Admin Panel Organizations/Teams: Show confirm text above delete button.
Thanks to xet7 !

Related #802
2021-06-08 16:38:21 +03:00
Lauri Ojansivu 87ba966db8 Updated translations. 2021-06-08 05:25:01 +03:00
Lauri Ojansivu 258391cd8c Updated ChangeLog. 2021-06-08 05:15:25 +03:00
Lauri Ojansivu 481404e8d7 Now new boards do not have any labels added by default.
Thanks to tedkoch and xet7 !

Related https://github.com/wekan/wekan/discussions/3835#discussioncomment-836223 Issue 7.
2021-06-08 05:07:32 +03:00
Lauri Ojansivu 48737dcd01 Updated ChangeLog. 2021-06-08 04:54:42 +03:00
Lauri Ojansivu b95585b0f6 Updated ChangeLog. 2021-06-08 04:44:59 +03:00
Lauri Ojansivu 14b2c1309f Delete Organizations and Teams.
Thanks to xet7 !

Related #802
2021-06-08 04:38:47 +03:00
Lauri Ojansivu 7e036b9df3 Merge branch 'Emile840-master' 2021-06-08 01:24:54 +03:00
Lauri Ojansivu 72fa32151d Merge branch 'master' of https://github.com/Emile840/wekan into Emile840-master 2021-06-08 01:24:25 +03:00
Emile NDAGIJIMANA f5dbe8c6f6 Addressed one of the bugs cited in issue #802 'bug when creating and modifying organization and team' 2021-06-07 11:03:49 +02:00
Lauri Ojansivu 93950a3b2e Updated translations. 2021-06-05 16:02:59 +03:00
Lauri Ojansivu eec818f9fd Updated translations. 2021-06-04 12:52:54 +03:00
Lauri Ojansivu a6f15af270 Updated ChangeLog. 2021-06-04 12:48:03 +03:00
Lauri Ojansivu 646497c3f0 Removed extra package.
Thanks to xet7 !
2021-06-04 12:46:21 +03:00
Lauri Ojansivu 2342c27ced v5.30 2021-06-03 23:29:01 +03:00
Lauri Ojansivu 80f6004404 Updated translations. 2021-06-03 23:20:51 +03:00
Lauri Ojansivu a94946c77c Updated ChangeLog. 2021-06-03 23:18:12 +03:00
Lauri Ojansivu 659a65b8b9 Moved Keyboard Shortcuts from bottom to top of sidebar.
Thanks to ClaudiaK21 and xet7 !
2021-06-03 23:15:13 +03:00
Lauri Ojansivu c4b55e862f Updated ChangeLog. 2021-06-03 22:33:04 +03:00
Lauri Ojansivu f8a75930b3 Updated ChangeLog. 2021-06-03 22:09:05 +03:00
Lauri Ojansivu 3a04b1b787 Updated ChangeLog. 2021-06-03 21:49:13 +03:00
Lauri Ojansivu ad61a15611 Updated translations. 2021-06-03 21:47:52 +03:00
Lauri Ojansivu d21bc0c277 Merge branch 'helioguardabaxo-master' 2021-06-03 21:26:55 +03:00
helioguardabaxo fa3d117372 Add Feature: Planning Poker 2021-06-03 12:01:15 -03:00
Lauri Ojansivu 26249f5928 Updated ChangeLog. 2021-06-01 18:55:25 +03:00
Lauri Ojansivu b7e6600e88 Merge pull request #3833 from Emile840/master
Fix bug #3832 'Default language is still used although this one has b…
2021-06-01 18:53:25 +03:00
Emile NDAGIJIMANA 6e46cad56c Fix bug #3832 'Default language is still used although this one has been modified previously' 2021-06-01 15:55:42 +02:00
Lauri Ojansivu e7340c5021 Reverted PR https://github.com/wekan/wekan/pull/3831
The default wekan logo appears briefly before displaying the custom logo

Thanks to xet7 !

Related #3832
2021-06-01 16:44:23 +03:00
Lauri Ojansivu 05d6c5f15a Updated translations. 2021-06-01 16:28:49 +03:00
Lauri Ojansivu 428442b310 Updated ChangeLog. 2021-06-01 16:20:52 +03:00
Lauri Ojansivu 753d247cf6 Merge pull request #3831 from Emile840/master
Fix bug #3830 '[Login page] The default wekan logo appears briefly before d…
2021-06-01 16:16:04 +03:00
Lauri Ojansivu 802f544cd5 Updated ChangeLog. 2021-06-01 12:46:35 +03:00
Lauri Ojansivu bf62a947fb Fixed Python API example: Edit card, etc.
Thanks to Lucky-Shi and xet7 !

Fixes #3767
2021-06-01 12:41:54 +03:00
Emile NDAGIJIMANA 5b08ae12a6 Fix bug '[Login page] The default wekan logo appears briefly before displaying the custom logo #3830' 2021-05-31 15:36:57 +02:00
Lauri Ojansivu 46e881bea3 v5.29 2021-05-29 01:06:44 +03:00
Lauri Ojansivu 5d1714dbd5 Updated ChangeLog. 2021-05-29 00:56:24 +03:00
Lauri Ojansivu bd1de94312 Fixed Importing JSON exports fails.
Thanks to KeptnArgo and xet7 !

Fixes #3742
2021-05-29 00:52:36 +03:00
Lauri Ojansivu 06937d0aa0 Updated translations. 2021-05-29 00:29:03 +03:00
Lauri Ojansivu 9e39731133 Updated ChangeLog. 2021-05-29 00:26:09 +03:00
Lauri Ojansivu 3908cd5413 Fix: Impersonate user can now export Excel/CSV/TSV/JSON.
Impersonate user and export Excel/CSV/TSV/JSON is now logged into
database table impersonatedUsers.

Thanks to xet7 !

Fixes #3827,
fixes #3284
2021-05-29 00:19:12 +03:00
Lauri Ojansivu 6be1a33093 Updated dependencies.
Thanks to developers of dependencies!
2021-05-29 00:15:42 +03:00
Lauri Ojansivu c656cbf6ae Updated translations. 2021-05-25 17:42:28 +03:00
Lauri Ojansivu 83045a6512 Updated ChangeLog. 2021-05-18 12:59:07 +03:00
Lauri Ojansivu 199485640f Merge pull request #3813 from spasche/typos
Fix typos
2021-05-18 12:43:18 +03:00
Sylvain Pasche 2e41ff1121 Fix typos. 2021-05-17 23:41:36 +02:00
Lauri Ojansivu 487c6fae8d Updated ChangeLog. 2021-05-16 17:10:34 +03:00
Lauri Ojansivu ea64b17b82 Reworded issue template about can not login.
Thanks to xet7 !
2021-05-16 13:34:49 +03:00
Lauri Ojansivu 6d0578fd5a Added Forgot Password page to GitHub issue template.
Thanks to xet7 !
2021-05-16 13:27:56 +03:00
Lauri Ojansivu 76a4deda78 Updated ChangeLog. 2021-05-12 19:33:05 +03:00
Lauri Ojansivu 595abd303c Merge pull request #3799 from Enishowk/feature/excel_parentNameExport
Feature/excel parent card name export
2021-05-12 19:30:43 +03:00
Lauri Ojansivu 5dd6466c0a Removed not working GitHub workflow.
Thanks to xet7 !
2021-05-10 20:26:23 +03:00
Lauri Ojansivu 38655ee478 Merge branch 'master' of github.com:wekan/wekan 2021-05-09 07:53:08 +03:00
Lauri Ojansivu 23ca25a1ca Updated translations. 2021-05-09 07:52:45 +03:00
Enishowk 120cb4820e fix: typo 2021-05-07 18:58:24 +02:00
Enishowk 3ee0add6f6 feat: add parent name column in excel export 2021-05-07 18:54:59 +02:00
177 changed files with 28064 additions and 19340 deletions

No files matched your search

+63 -18
View File
@@ -1,11 +1,7 @@
FROM quay.io/wekan/ubuntu:groovy-20201125.2
FROM quay.io/wekan/ubuntu:groovy-20210115
LABEL maintainer="sgr"
# 2020-12-03:
# - Above Ubuntu base image copied from Docker Hub ubuntu:groovy-20201125.2
# to Quay to avoid Docker Hub rate limits.
ENV BUILD_DEPS="gnupg gosu bsdtar wget curl bzip2 g++ build-essential python git ca-certificates iproute2"
ENV BUILD_DEPS="gnupg gosu libarchive-tools wget curl bzip2 g++ build-essential python git ca-certificates iproute2"
ENV DEBIAN_FRONTEND=noninteractive
ENV \
@@ -134,23 +130,24 @@ ENV \
SAML_PUBLIC_CERTFILE="" \
SAML_IDENTIFIER_FORMAT="" \
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
SAML_ATTRIBUTES=""
SAML_ATTRIBUTES="" \
DEFAULT_WAIT_SPINNER=""
# Install OS
RUN set -o xtrace \
&& useradd --user-group -m --system --home-dir /home/wekan wekan \
&& apt-get update \
&& apt-get install --assume-yes --no-install-recommends apt-utils apt-transport-https ca-certificates 2>&1 \
&& apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
&& apt-get install --assume-yes --no-install-recommends apt-utils apt-transport-https ca-certificates 2>&1 \
&& apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
# Install NodeJS
RUN set -o xtrace \
&& cd /tmp \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" \
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& grep " node-v$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \
&& tar -xJf "node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-v$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt.asc \
&& curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \
&& curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \
&& grep " node-$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \
&& tar -xJf "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt.asc \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
&& mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
&& npm install -g npm@${NPM_VERSION} \
@@ -172,17 +169,65 @@ RUN set -o xtrace \
ENV PATH=$PATH:/home/wekan/.meteor/
# Copy source dir
USER root
RUN echo "export PATH=$PATH" >> /etc/environment
RUN set -o xtrace \
&& mkdir /home/wekan/app
USER wekan
COPY ${SRC_PATH} /home/wekan/app/
# Copy source dir
RUN set -o xtrace \
&& mkdir -p /home/wekan/app/.meteor \
&& mkdir -p /home/wekan/app/packages
COPY \
.meteor/.finished-upgraders \
.meteor/.id \
.meteor/cordova-plugins \
.meteor/packages \
.meteor/platforms \
.meteor/release \
.meteor/versions \
/home/wekan/app/.meteor/
COPY \
package.json \
settings.json \
/home/wekan/app/
COPY \
packages \
/home/wekan/app/packages/
USER root
RUN set -o xtrace \
&& chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor
USER wekan
RUN \
set -o xtrace && \
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
cd /home/wekan/.meteor && \
/home/wekan/.meteor/meteor -- help;
RUN \
set -o xtrace && \
# Build app
cd /home/wekan/app && \
/home/wekan/.meteor/meteor add standard-minifier-js && \
/home/wekan/.meteor/meteor npm install && \
/home/wekan/.meteor/meteor build --directory /home/wekan/app_build
RUN \
set -o xtrace && \
cd /home/wekan/app_build/bundle/programs/server/ && \
chmod u+w package.json npm-shrinkwrap.json && \
npm install
ENV PORT=3000
EXPOSE $PORT
WORKDIR /home/wekan/app
CMD ["/home/wekan/.meteor/meteor", "run", "--verbose", "--settings", "settings.json"]
+12 -7
View File
@@ -3,17 +3,18 @@ version: '3.7'
services:
wekandb-dev:
image: mongo:4.0.12
image: mongo:4.4
container_name: wekan-dev-db
restart: unless-stopped
command: mongod --smallfiles --oplogSize 128
command: mongod --oplogSize 128
networks:
- wekan-dev-tier
expose:
- 27017
volumes:
- wekan-dev-db:/data/db
- wekan-dev-db-dump:/dump
- ./volumes/wekan-db:/data/db
- ./volumes/wekan-db-dump:/dump
- /etc/localtime:/etc/localtime:ro
wekan-dev:
container_name: wekan-dev-app
@@ -35,9 +36,13 @@ services:
depends_on:
- wekandb-dev
volumes:
- ..:/app:delegated
command:
sleep infinity
- ../client:/home/wekan/app/client
- ../models:/home/wekan/app/models
- ../config:/home/wekan/app/config
- ../i18n:/home/wekan/app/i18n
- ../server:/home/wekan/app/server
- ../public:/home/wekan/app/public
- /etc/localtime:/etc/localtime:ro
volumes:
wekan-dev-db:
+36
View File
@@ -0,0 +1,36 @@
*~
*.swp
.meteor-spk
*.sublime-workspace
tmp/
node_modules/
npm-debug.log
.gitmodules
.vscode/
.idea/
.build/*
**/parts/
**/stage
**/prime
**/*.snap
snap/.snapcraft/
.idea
.DS_Store
.DS_Store?
.build*
*.browserify.js.cached
*.browserify.js.map
.build*
versions.json
.versions
.npm
.build*
._*
.Trashes
Thumbs.db
ehthumbs.db
.eslintcache
.meteor/local
.devcontainer/docker-compose.extend.yml
.devcontainer/volumes*/
.git
+3
View File
@@ -1,5 +1,8 @@
## Issue
If you can not login for any reason:
- https://github.com/wekan/wekan/wiki/Forgot-Password
Email settings:
- https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
-12
View File
@@ -1,12 +0,0 @@
on: [push]
jobs:
zap_scan:
runs-on: ubuntu-latest
name: Scan the webapplication
steps:
- name: OWASP ZAP Scan
runs-on: ubuntu-latest
uses: zaproxy/action-baseline@v0.4.0
with:
target: 'https://boards.wekan.team/sign-in'
+1
View File
@@ -32,3 +32,4 @@ ehthumbs.db
.eslintcache
.meteor/local
.devcontainer/docker-compose.extend.yml
.devcontainer/volumes*/
+2 -2
View File
@@ -83,7 +83,6 @@ mquandalle:moment
msavin:usercache
# Keep stylus in 1.1.0, because building v2 takes extra 52 minutes.
coagmano:stylus@1.1.0!
lucasantoniassi:accounts-lockout
meteorhacks:subs-manager
meteorhacks:picker
lamhieu:unblock
@@ -92,7 +91,6 @@ wekan-markdown
konecty:mongo-counter
percolate:synced-cron
wekan-cfs-filesystem
tmeasday:check-npm-versions
steffo:meteor-accounts-saml
rajit:bootstrap3-datepicker-fi
rajit:bootstrap3-datepicker-ar
@@ -145,3 +143,5 @@ rajit:bootstrap3-datepicker-zh-tw
staringatlights:fast-render
spacebars
easylogic:summernote
pascoual:pdfkit
wekan-accounts-lockout
+17 -17
View File
@@ -15,8 +15,8 @@ babel-compiler@7.6.1
babel-runtime@1.5.0
base64@1.0.12
binary-heap@1.0.11
blaze@2.4.0
blaze-tools@1.1.1
blaze@2.5.0
blaze-tools@1.1.2
boilerplate-generator@1.7.1
browser-policy-common@1.0.11
browser-policy-framing@1.1.0
@@ -42,8 +42,8 @@ dynamic-import@0.6.0
easylogic:summernote@0.8.8
ecmascript@0.15.1
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.11.0
ecmascript-runtime-server@0.10.0
ecmascript-runtime-client@0.11.1
ecmascript-runtime-server@0.10.1
ejson@1.1.1
email@2.0.0
es5-shim@4.8.0
@@ -53,10 +53,10 @@ fortawesome:fontawesome@4.7.0
geojson-utils@1.0.10
horka:swipebox@1.0.2
hot-code-push@1.0.4
html-tools@1.1.1
htmljs@1.1.0
http@1.4.3
id-map@1.1.0
html-tools@1.1.2
htmljs@1.1.1
http@1.4.4
id-map@1.1.1
idmontie:migrations@1.0.3
inter-process-messaging@0.1.1
jquery@1.11.11
@@ -71,7 +71,6 @@ launch-screen@1.2.1
livedata@1.0.18
localstorage@1.2.0
logging@1.2.0
lucasantoniassi:accounts-lockout@1.0.0
matb33:collection-hooks@0.9.1
matteodem:easy-search@1.6.4
mdg:validation-error@0.5.1
@@ -95,7 +94,7 @@ momentjs:moment@2.29.1
mongo@1.11.1
mongo-decimal@0.1.2
mongo-dev-server@1.1.0
mongo-id@1.0.7
mongo-id@1.0.8
mongo-livedata@1.0.12
mousetrap:mousetrap@1.4.6_1
mquandalle:autofocus@1.0.0
@@ -107,13 +106,14 @@ mquandalle:jquery-ui-drag-drop-sort@0.2.0
mquandalle:moment@1.0.1
mquandalle:mousetrap-bindglobal@0.0.1
msavin:usercache@1.8.0
npm-bcrypt@0.9.3
npm-bcrypt@0.9.4
npm-mongo@3.9.0
oauth@1.3.2
oauth2@1.3.0
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.1.0
pascoual:pdfkit@1.0.7
peerlibrary:assert@0.3.0
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
@@ -174,7 +174,7 @@ rajit:bootstrap3-datepicker-zh-cn@1.7.1
rajit:bootstrap3-datepicker-zh-tw@1.7.1
random@1.2.0
rate-limit@1.0.9
react-fast-refresh@0.1.0
react-fast-refresh@0.1.1
reactive-dict@1.3.0
reactive-var@1.0.11
reload@1.3.1
@@ -191,9 +191,9 @@ simple:json-routes@2.1.0
simple:rest-accounts-password@1.1.2
simple:rest-bearer-token-parser@1.0.1
simple:rest-json-error-handler@1.0.1
socket-stream-client@0.3.2
socket-stream-client@0.3.3
softwarerero:accounts-t9n@1.3.11
spacebars@1.1.0
spacebars@1.2.0
spacebars-compiler@1.2.1
srp@1.1.0
standard-minifier-css@1.7.2
@@ -204,15 +204,14 @@ steffo:meteor-accounts-saml@0.0.18
tap:i18n@1.8.2
templates:tabs@2.3.0
templating@1.4.0
templating-compiler@1.4.0
templating-compiler@1.4.1
templating-runtime@1.4.0
templating-tools@1.2.0
tmeasday:check-npm-versions@0.3.2
tracker@1.2.0
twbs:bootstrap@3.3.6
ui@1.0.13
underscore@1.0.10
url@1.3.1
url@1.3.2
useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
@@ -220,6 +219,7 @@ verron:autosize@3.0.8
webapp@1.10.1
webapp-hashing@1.1.0
wekan-accounts-cas@0.1.0
wekan-accounts-lockout@1.0.0
wekan-accounts-oidc@1.0.10
wekan-cfs-access-point@0.1.50
wekan-cfs-base-package@0.0.30
+191
View File
@@ -1,3 +1,194 @@
[Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
# v5.35 2021-06-14 Wekan release
This release adds the following new features:
- Wait Spinners can now be translated
[Part 1](https://github.com/wekan/wekan/commit/8703dd42296d531450eb21a3d3adea17558a8500),
[Part 1](https://github.com/wekan/wekan/commit/7f3f0825573b1f8a7b0388e4bacbb0bd2525e886).
Added Wait Spinners docs: https://github.com/wekan/wekan/wiki/Wait-Spinners .
Thanks to xet7.
- Maximize Card.
[Part 1](https://github.com/wekan/wekan/commit/8c572502436a2eb22bd1eb1e4069c1c9145e2070),
[Part 2](https://github.com/wekan/wekan/pull/3863).
Thanks to mfilser and xet7.
- Export Card to PDF. In Progress, does not work yet.
[Part 1](https://github.com/wekan/wekan/commit/a2f2ce11354a8dbfdd6759e3b65797e4be4cc6ec),
[Part 2](https://github.com/wekan/wekan/commit/17acf1884850d8d95ae79493289adf18966df652).
Thanks to xet7.
and removes some not needed files:
- [Reduced Wekan bundle size from 636 MB to 467 MB by deleting all dependencies of lucasantoniassi:accounts-lockout and including
only required 10 files](https://github.com/wekan/wekan/commit/23e5e1e3bd081699ce39ce5887db7e612616014d).
Wekan Docker image size changed from 269.6 MB to 165.1 MB.
Thanks to xet7.
and adds the following improvements:
- [Add border and update label colors for better visibility](https://github.com/wekan/wekan/commit/2e1eb1e224c83f16a384316626d7a4183639d4cd).
Thanks to xet7.
and adds the following updates:
- [Updated dependencies](https://github.com/wekan/wekan/commit/f80fcfd7c0a83f4181c7a0b8beb52da9ba1446d3).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Manual sort number 0 accepted](https://github.com/wekan/wekan/pull/3861).
Thanks to mfilser.
- Allow board members to use more of API. Please add issue (or pull request) if this allows too much.
[Part 1](https://github.com/wekan/wekan/commit/a719e8fda1f78bcbf9af6e7b4341f8be1d141e90),
[Part 2](https://github.com/wekan/wekan/commit/164b6e9070199dca36d12fa3048d6b22bf6850b0).
Thanks to JayVii and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.34 2021-06-11 Wekan release
This release adds the following new features:
- [View and change card sort number](https://github.com/wekan/wekan/pull/3857).
Thanks to mfilser.
- [More spinners + configureable in admin panel](https://github.com/wekan/wekan/pull/3858).
Thanks to mfilser.
- [Added remaining spinner settings](https://github.com/wekan/wekan/commit/488b765f95ad67b19630cd125543836c04eaa24f).
Thanks to xet7.
and adds the following new improvements:
- [Card Description has now the same color on view and editing](https://github.com/wekan/wekan/pull/3851).
Thanks to mfilser.
- [Development in docker container](https://github.com/wekan/wekan/pull/3852).
Thanks to mfilser.
and fixes the following bugs:
- [Fix Google SSO to access Wekan has not been working by reverting Wekan v5.31 not-working fixes
to OAUTH2_LOGIN_STYLE=redirect Has No Effect](https://github.com/wekan/wekan/commit/1e837dec11dc5cb266b83efcff4f462aa02d733d).
Thanks to unpokitodxfavor and xet7.
- [CustomFields were not created after adding 1 card](https://github.com/wekan/wekan/pull/3856).
Thanks to mfilser.
- [Try to fix BUG: Database error attempting to change a account](https://github.com/wekan/wekan/commit/762391965e6ae3cd5682d5b164131500e7d92338).
Thanks to bbyszio and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.33 2021-06-10 Wekan release
This release adds the following new features:
- [Assigning a user to a team or an organization](https://github.com/wekan/wekan/pull/3850).
Thanks to Emile840.
and adds the following new improvements:
- [Custom Fields stringtemplate, autofocus the last input box](https://github.com/wekan/wekan/pull/3849).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.32 2021-06-09 Wekan release
This release adds the following new features:
- [Moved many button texts etc to tooltips. Added more tooltips](https://github.com/wekan/wekan/commit/6ce5ab40a7dc013247717b5107a306eb0402cd63).
Thanks to JFa-Orkis and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.31 2021-06-09 Wekan release
This release adds the following new features:
- [Admin Panel: Edit Organizations and Teams](https://github.com/wekan/wekan/issues/802).
Thanks to Emile840.
- [Admin Panel: Delete Organizations and Teams](https://github.com/wekan/wekan/commit/14b2c1309f0f910c1e46b5681d3612d7ff0cbf81).
Thanks to xet7.
- [Admin Panel Organizations/Teams: Show confirm text above delete button](https://github.com/wekan/wekan/commit/16379201704ea1a43ce14859633ffb1b9fae6710).
Thanks to xet7.
- [Gantt: Retain links created between tasks. Part 1: Database changes, not active in
MIT Wekan](https://github.com/wekan/wekan/commit/07a3a0b3882147effac890514b19ff84f1d76bdb).
Thanks to benjaminhrivera.
and adds the following updates:
- [Removed extra package](https://github.com/wekan/wekan/commit/646497c3f041e2f562d032fe28ef29169f671ac1).
Thanks to xet7.
- [Updated dependencies](https://github.com/wekan/wekan/commit/122757ca9c091e98b31d34c3abc25caa295dbdc0).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Now new boards do not have any labels added by default](https://github.com/wekan/wekan/commit/481404e8d7bad7799c2ad34d6a94eaf5e87602c2).
Thanks to tedkoch and xet7.
- [Try to fix OAUTH2_LOGIN_STYLE=redirect Has No Effect](https://github.com/wekan/wekan/commit/78324263c1c78e7e9e99f153e3158e39f564b67a).
Thanks to 1ubuntuuser and xet7.
- [Try to fix: Wekan UI fails to finish import of closed Trello boards](https://github.com/wekan/wekan/commit/007e0f1c16c935ce580093a6aec31305c75d1e45).
Thanks to berezovskyi and xet7.
- [Partial Fix: Vote and Planning Poker: Setting date and time now works for some languages that have
ascii characters in date format](https://github.com/wekan/wekan/commit/57f31d443faaa32d6c7b53d81af3be133af5f040).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.30 2021-06-03 Wekan release
This release adds the following new features:
- [Planning Poker / Scrum Poker](https://github.com/wekan/wekan/pull/3836),
see https://github.com/wekan/wekan/wiki/Planning-Poker .
Thanks to helioguardabaxo.
and fixes the following bugs:
- [Fixed Python API example: Edit card, etc](https://github.com/wekan/wekan/commit/bf62a947fbfa7d387074550288376e682fd6ad47).
Thanks to Lucky-Shi and xet7.
- [Default language is still used although this one has been modified previously](https://github.com/wekan/wekan/pull/3833).
Thanks to Emile840.
- [Moved Keyboard Shortcuts from bottom to top of Sidebar](https://github.com/wekan/wekan/commit/659a65b8b919a49ba0beef5cc53d8e61e0f794aa).
Thanks to ClaudiaK21 and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.29 2021-05-29 Wekan release
This release adds the following new features:
- [Excel parent card name export](https://github.com/wekan/wekan/pull/3799).
Thanks to marcungeschikts and Enishowk.
and adds the following updates:
- Updated dependencies
[Part 1](https://github.com/wekan/wekan/commit/62150ce6c406359fba068552b4526c60faf392bb),
[Part 2](https://github.com/wekan/wekan/commit/1d9346513e4f378379b9f5192e8dad5535287f8a),
[Part 3](https://github.com/wekan/wekan/commit/6be1a330936c89fcf478efe98dd15244a98d266d).
Thanks to developers of dependencies.
- Added updated `Forgot Password` page to GitHub issue template
[Part 1](https://github.com/wekan/wekan/commit/6d0578fd5ad5f13f5ff9a285577e35fd62bba95f),
[Part 2](https://github.com/wekan/wekan/commit/ea64b17b82cd52320c0495e16385f11031dfbe3a).
Thanks to xet7.
and fixes the following bugs:
- [Try to fix Snap: Removed linting packages](https://github.com/wekan/wekan/commit/8911fe5c8de941808585a7d3462305d5b3d2763d).
Thanks to xet7.
- [Removed not working GitHub workflow](https://github.com/wekan/wekan/commit/5dd6466c0aa7479015c72519f36c2485b16e3341).
Thanks to xet7.
- [Fix typos](https://github.com/wekan/wekan/pull/3813).
Thanks to spasche.
- [Fix: Impersonate user can now export Excel/CSV/TSV/JSON.
Impersonate user and export Excel/CSV/TSV/JSON is now logged into database table
impersonatedUsers](https://github.com/wekan/wekan/commit/3908cd5413b775d1ee549f0a95304cf9998d3855).
Thanks to xet7.
- [Fixed Importing JSON exports fails](https://github.com/wekan/wekan/commit/bd1de94312e428e56d6cf5f343098475573cba0b).
Thanks to KeptnArgo and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.28 2021-05-07 Wekan release
This release adds the following new features:
+2 -1
View File
@@ -137,7 +137,8 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
SAML_IDENTIFIER_FORMAT="" \
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
SAML_ATTRIBUTES="" \
ORACLE_OIM_ENABLED=false
ORACLE_OIM_ENABLED=false \
WAIT_SPINNER=""
# Copy the app to the image
COPY ${SRC_PATH} /home/wekan/app
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v5.28.0"
appVersion: "v5.35.0"
files:
userUploads:
- README.md
+48 -8
View File
@@ -28,12 +28,16 @@ if arguments == 0:
print(" python3 api.py board BOARDID # Info of BOARDID")
print(" python3 api.py swimlanes BOARDID # Swimlanes of BOARDID")
print(" python3 api.py lists BOARDID # Lists of BOARDID")
print(" python3 api.py list BOARDID LISTID # Info of LISTID")
print(" python3 api.py createlist BOARDID LISTTITLE # Create list")
print(" python3 api.py addcard AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION")
print(" python3 api.py editcard BOARDID LISTID CARDID NEWCARDTITLE NEWCARDDESCRIPTION")
print(" python3 api.py listattachments BOARDID # List attachments")
# TODO:
# print(" python3 api.py attachmentdownload BOARDID ATTACHMENTID # One attachment as file")
# print(" python3 api.py attachmentsdownload BOARDID # All attachments as files")
# print(" python3 api.py attachmentjson BOARDID ATTACHMENTID # One attachment as JSON base64")
# print(" python3 api.py attachmentbinary BOARDID ATTACHMENTID # One attachment as binary file")
# print(" python3 api.py attachmentdownload BOARDID ATTACHMENTID # One attachment as file")
# print(" python3 api.py attachmentsdownload BOARDID # All attachments as files")
exit
# ------- SETTINGS START -------------
@@ -61,13 +65,15 @@ chmod +x api.py
=== Wekan API Python CLI: Shows IDs for addcard ===
AUTHORID is USERID that writes card.
Syntax:
python3 api.py users # All users
python3 api.py boards USERID # Boards of USERID
python3 api.py board BOARDID # Info of BOARDID
python3 api.py swimlanes BOARDID # Swimlanes of BOARDID
python3 api.py lists BOARDID # Lists of BOARDID
python3 api.py users # All users
python3 api.py boards USERID # Boards of USERID
python3 api.py board BOARDID # Info of BOARDID
python3 api.py swimlanes BOARDID # Swimlanes of BOARDID
python3 api.py lists BOARDID # Lists of BOARDID
python3 api.py list BOARDID LISTID # Info of LISTID
python3 api.py createlist BOARDID LISTTITLE # Create list
python3 api.py addcard AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION
python3 api.py editcard BOARDID LISTID CARDID NEWCARDTITLE NEWCARDDESCRIPTION
python3 api.py listattachments BOARDID # List attachments
python3 api.py attachmentjson BOARDID ATTACHMENTID # One attachment as JSON base64
python3 api.py attachmentbinary BOARDID ATTACHMENTID # One attachment as binary file
@@ -162,6 +168,27 @@ if arguments == 7:
print(body.text)
# ------- WRITE TO CARD END -----------
if arguments == 6:
if sys.argv[1] == 'editcard':
# ------- LIST OF BOARD START -----------
boardid = sys.argv[2]
listid = sys.argv[3]
cardid = sys.argv[4]
newcardtitle = sys.argv[5]
newcarddescription = sys.argv[6]
edcard = wekanurl + apiboards + boardid + s + l + s + listid + s + cs + s + cardid
print(edcard)
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
put_data = {'title': '{}'.format(newcardtitle), 'description': '{}'.format(newcarddescription)}
body = requests.put(edcard, data=put_data, headers=headers)
print("=== EDIT CARD ===\n")
body = requests.get(edcard, headers=headers)
data2 = body.text.replace('}',"}\n")
print(data2)
# ------- LISTS OF BOARD END -----------
if arguments == 3:
if sys.argv[1] == 'createlist':
@@ -177,6 +204,19 @@ if arguments == 3:
print(body.text)
# ------- CREATE LIST END -----------
if sys.argv[1] == 'list':
# ------- LIST OF BOARD START -----------
boardid = sys.argv[2]
listid = sys.argv[3]
listone = wekanurl + apiboards + boardid + s + l + s + listid
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
print("=== INFO OF ONE LIST ===\n")
body = requests.get(listone, headers=headers)
data2 = body.text.replace('}',"}\n")
print(data2)
# ------- LISTS OF BOARD END -----------
if arguments == 2:
# ------- BOARDS LIST START -----------
@@ -217,7 +257,7 @@ if arguments == 2:
# ------- LISTS OF BOARD START -----------
boardid = sys.argv[2]
attachments = wekanurl + apiboards + boardid
lists = wekanurl + apiboards + boardid + s + l
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
print("=== LISTS ===\n")
body = requests.get(lists, headers=headers)
+1 -1
View File
@@ -131,7 +131,7 @@ template(name="boardHeaderBar")
i.fa.fa-times-thin
.separator
a.board-header-btn.js-toggle-sidebar
a.board-header-btn.js-toggle-sidebar(title="{{_ 'sidebar-open'}} {{_ 'or'}} {{_ 'sidebar-close'}}")
i.fa.fa-navicon
template(name="boardVisibilityList")
+3 -2
View File
@@ -2,7 +2,8 @@ template(name="boardList")
.wrapper
ul.board-list.clearfix.js-boards
li.js-add-board
a.board-list-item.label {{_ 'add-board'}}
a.board-list-item.label(title="{{_ 'add-board'}}")
| {{_ 'add-board'}}
each boards
li(class="{{#if isStarred}}starred{{/if}}" class=colorClass).js-board
if isInvited
@@ -18,7 +19,7 @@ template(name="boardList")
else
a.js-open-board.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
span.details
span.board-list-item-name
span.board-list-item-name(title="{{_ 'board-drag-drop-reorder-or-click-open'}}")
+viewer
= title
i.fa.js-star-board(
+9
View File
@@ -22,6 +22,15 @@ Template.boardListHeaderBar.helpers({
BlazeComponent.extendComponent({
onCreated() {
Meteor.subscribe('setting');
let currUser = Meteor.user();
let userLanguage;
if(currUser && currUser.profile){
userLanguage = currUser.profile.language
}
if (userLanguage) {
TAPi18n.setLanguage(userLanguage);
T9n.setLanguage(userLanguage);
}
},
onRendered() {
+1 -2
View File
@@ -55,6 +55,5 @@ template(name="attachmentsGalery")
unless currentUser.isCommentOnly
unless currentUser.isWorker
//li.attachment-item.add-attachment
a.js-add-attachment
a.js-add-attachment(title="{{_ 'add-attachment' }}")
i.fa.fa-plus
| {{_ 'add-attachment' }}
@@ -125,7 +125,7 @@ template(name="cardCustomField-stringtemplate")
+inlinedForm(classNames="js-card-customfield-stringtemplate")
each item in stringtemplateItems.get
input.js-card-customfield-stringtemplate-item(type="text" value=item placeholder="")
input.js-card-customfield-stringtemplate-item.last(type="text" value="" placeholder="{{_ 'custom-field-stringtemplate-item-placeholder'}}")
input.js-card-customfield-stringtemplate-item.last(type="text" value="" placeholder="{{_ 'custom-field-stringtemplate-item-placeholder'}}" autofocus)
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
+27
View File
@@ -354,3 +354,30 @@ class VoteEndDate extends CardDate {
}
}
VoteEndDate.register('voteEndDate');
class PokerEndDate extends CardDate {
onCreated() {
super.onCreated();
const self = this;
self.autorun(() => {
self.date.set(moment(self.data().getPokerEnd()));
});
}
classes() {
const classes = 'end-date' + ' ';
return classes;
}
showDate() {
return this.date.get().format('l LT');
}
showTitle() {
return `${TAPi18n.__('card-end-on')} ${this.date.get().format('LLLL')}`;
}
events() {
return super.events().concat({
'click .js-edit-date': Popup.open('editPokerEndDate'),
});
}
}
PokerEndDate.register('pokerEndDate');
@@ -23,7 +23,6 @@
background-color: #fff
border: 0
box-shadow: 0 1px 2px rgba(0, 0, 0, .23)
color: #8c8c8c
height: 36px
margin: 4px 4px 6px 0
padding: 9px 11px
+571 -303
View File
@@ -1,22 +1,26 @@
template(name="cardDetails")
section.card-details.js-card-details: .card-details-canvas
section.card-details.js-card-details(class='{{#if cardMaximized}}card-details-maximized{{/if}}'): .card-details-canvas
.card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}')
+inlinedForm(classNames="js-card-details-title")
+editCardTitleForm
else
unless isMiniScreen
a.fa.fa-times-thin.close-card-details.js-close-card-details
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
unless cardMaximized
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
if cardMaximized
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
if currentUser.isBoardMember
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
input.inline-input(type="text" id="cardURL_copy" value="{{ originRelativeUrl }}")
a.fa.fa-link.card-copy-button.js-copy-link(
class="fa-link"
title="{{_ 'copy-card-link-to-clipboard'}}"
)
if isMiniScreen
a.fa.fa-times-thin.close-card-details-mobile-web.js-close-card-details
a.fa.fa-times-thin.close-card-details-mobile-web.js-close-card-details(title="{{_ 'close-card'}}")
if currentUser.isBoardMember
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
a.fa.fa-link.card-copy-mobile-button
h2.card-details-title.js-card-title(
class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
@@ -41,286 +45,501 @@ template(name="cardDetails")
else
p.warning {{_ 'card-archived'}}
.card-details-items
if currentBoard.allowsLabels
.card-details-item.card-details-item-labels
h3.card-details-item-title
i.fa.fa-tags
| {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
.card-details-left
.card-details-items
if currentBoard.allowsLabels
.card-details-item.card-details-item-labels
h3.card-details-item-title
i.fa.fa-tags
| {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
if currentBoard.allowsReceivedDate
hr
.card-details-item.card-details-item-received
h3.card-details-item-title
i.fa.fa-sign-out
| {{_ 'card-received'}}
if getReceived
+cardReceivedDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-received-date
i.fa.fa-plus
if currentBoard.allowsStartDate
.card-details-item.card-details-item-start
h3.card-details-item-title
i.fa.fa-hourglass-start
| {{_ 'card-start'}}
if getStart
+cardStartDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-start-date
i.fa.fa-plus
if currentBoard.allowsDueDate
.card-details-item.card-details-item-due
h3.card-details-item-title
i.fa.fa-sign-in
| {{_ 'card-due'}}
if getDue
+cardDueDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-due-date
i.fa.fa-plus
if currentBoard.allowsEndDate
.card-details-item.card-details-item-end
h3.card-details-item-title
i.fa.fa-hourglass-end
| {{_ 'card-end'}}
if getEnd
+cardEndDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-end-date
i.fa.fa-plus
if currentBoard.allowsReceivedDate
hr
.card-details-item.card-details-item-received
h3.card-details-item-title
i.fa.fa-sign-out
| {{_ 'card-received'}}
if getReceived
+cardReceivedDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-received-date
i.fa.fa-plus
if currentBoard.allowsCreator
.card-details-item.card-details-item-creator
h3.card-details-item-title
i.fa.fa-user
| {{_ 'creator'}}
if currentBoard.allowsStartDate
.card-details-item.card-details-item-start
h3.card-details-item-title
i.fa.fa-hourglass-start
| {{_ 'card-start'}}
if getStart
+cardStartDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-start-date
i.fa.fa-plus
if currentBoard.allowsDueDate
.card-details-item.card-details-item-due
h3.card-details-item-title
i.fa.fa-sign-in
| {{_ 'card-due'}}
if getDue
+cardDueDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-due-date
i.fa.fa-plus
if currentBoard.allowsEndDate
.card-details-item.card-details-item-end
h3.card-details-item-title
i.fa.fa-hourglass-end
| {{_ 'card-end'}}
if getEnd
+cardEndDate
else
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-end-date
i.fa.fa-plus
hr
if currentBoard.allowsCreator
.card-details-item.card-details-item-creator
h3.card-details-item-title
i.fa.fa-user
| {{_ 'creator'}}
+userAvatar(userId=userId noRemove=true)
| {{! XXX Hack to hide syntaxic coloration /// }}
//.card-details-items
if currentBoard.allowsMembers
.card-details-item.card-details-item-members
h3.card-details-item-title
i.fa.fa-users
| {{_ 'members'}}
each userId in getMembers
+userAvatar(userId=userId cardId=_id)
+userAvatar(userId=userId noRemove=true)
| {{! XXX Hack to hide syntaxic coloration /// }}
if canModifyCard
unless currentUser.isWorker
a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}")
i.fa.fa-plus
//if assigneeSelected
if currentBoard.allowsAssignee
.card-details-item.card-details-item-assignees
h3.card-details-item-title
i.fa.fa-user
| {{_ 'assignee'}}
each userId in getAssignees
+userAvatar(userId=userId cardId=_id assignee=true)
| {{! XXX Hack to hide syntaxic coloration /// }}
if canModifyCard
a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}")
i.fa.fa-plus
if currentUser.isWorker
unless assigneeSelected
//.card-details-items
if currentBoard.allowsMembers
.card-details-item.card-details-item-members
h3.card-details-item-title
i.fa.fa-users
| {{_ 'members'}}
each userId in getMembers
+userAvatar(userId=userId cardId=_id)
| {{! XXX Hack to hide syntaxic coloration /// }}
if canModifyCard
unless currentUser.isWorker
a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}")
i.fa.fa-plus
//if assigneeSelected
if currentBoard.allowsAssignee
.card-details-item.card-details-item-assignees
h3.card-details-item-title
i.fa.fa-user
| {{_ 'assignee'}}
each userId in getAssignees
+userAvatar(userId=userId cardId=_id assignee=true)
| {{! XXX Hack to hide syntaxic coloration /// }}
if canModifyCard
a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}")
i.fa.fa-plus
if currentUser.isWorker
unless assigneeSelected
a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}")
i.fa.fa-plus
//.card-details-items
if getSpentTime
.card-details-item.card-details-item-spent
if getIsOvertime
h3.card-details-item-title
| {{_ 'overtime-hours'}}
else
h3.card-details-item-title
| {{_ 'spent-time-hours'}}
+cardSpentTime
//.card-details-items
if getSpentTime
.card-details-item.card-details-item-spent
if getIsOvertime
h3.card-details-item-title
| {{_ 'overtime-hours'}}
else
h3.card-details-item-title
| {{_ 'spent-time-hours'}}
+cardSpentTime
//.card-details-items
if currentBoard.allowsRequestedBy
.card-details-item.card-details-item-name
h3.card-details-item-title
i.fa.fa-shopping-cart
| {{_ 'requested-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-requester")
+editCardRequesterForm
//.card-details-items
if currentBoard.allowsRequestedBy
.card-details-item.card-details-item-name
h3.card-details-item-title
i.fa.fa-shopping-cart
| {{_ 'requested-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-requester")
+editCardRequesterForm
else
a.js-open-inlined-form
if getRequestedBy
+viewer
= getRequestedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getRequestedBy
if currentBoard.allowsAssignedBy
.card-details-item.card-details-item-name
h3.card-details-item-title
i.fa.fa-user-plus
| {{_ 'assigned-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-assigner")
+editCardAssignerForm
else
a.js-open-inlined-form
if getAssignedBy
+viewer
= getAssignedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getAssignedBy
if currentBoard.allowsCardSortingByNumber
.card-details-item.card-details-sort-order
h3.card-details-item-title
i.fa.fa-sort
| {{_ 'sort'}}
if canModifyCard
+inlinedForm(classNames="js-card-details-sort")
+editCardSortOrderForm
else
a.js-open-inlined-form
if getRequestedBy
+viewer
= getRequestedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getRequestedBy
+viewer
= sort
if currentBoard.allowsAssignedBy
.card-details-item.card-details-item-name
h3.card-details-item-title
i.fa.fa-user-plus
| {{_ 'assigned-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-assigner")
+editCardAssignerForm
else
a.js-open-inlined-form
if getAssignedBy
+viewer
= getAssignedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getAssignedBy
//.card-details-items
if customFieldsWD
hr
each customFieldsWD
.card-details-item.card-details-item-customfield
h3.card-details-item-title
i.fa.fa-list-alt
= definition.name
+cardCustomField
//.card-details-items
if customFieldsWD
if getVoteQuestion
hr
each customFieldsWD
.card-details-item.card-details-item-customfield
.vote-title
div.flex
h3
i.fa.fa-thumbs-up
| {{_ 'vote-question'}}
if getVoteEnd
+voteEndDate
.vote-result
if votePublic
a.card-label.card-label-green.js-show-positive-votes {{ voteCountPositive }}
a.card-label.card-label-red.js-show-negative-votes {{ voteCountNegative }}
else
.card-label.card-label-green {{ voteCountPositive }}
.card-label.card-label-red {{ voteCountNegative }}
unless ($and currentBoard.isPublic voteAllowNonBoardMembers )
.card-label.card-label-gray {{ voteCount }} {{_ 'r-of' }} {{ currentBoard.activeMembers.length }}
+viewer
= getVoteQuestion
if showVotingButtons
button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}")
if voteState
i.fa.fa-thumbs-up
| {{_ 'vote-for-it'}}
button.card-details-red.js-vote.js-vote-negative(class="{{#if $eq voteState false}}voted{{/if}}")
if $eq voteState false
i.fa.fa-thumbs-down
| {{_ 'vote-against'}}
if getPokerQuestion
hr
.poker-title
div.flex
h3
i.fa.fa-thumbs-up
| {{_ 'poker-question'}}
if getPokerEnd
+pokerEndDate
div.flex
.poker-result
if expiredPoker
unless ($and currentBoard.isPublic pokerAllowNonBoardMembers )
.card-label.card-label-gray {{ pokerCount }} {{_ 'r-of' }} {{ currentBoard.activeMembers.length }}
if showPlanningPokerButtons
.poker-result
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-one(class="{{#if $eq pokerState 'one'}}poker-voted{{/if}}") {{_ 'poker-one'}}
if $eq pokerState "one"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-two(class="{{#if $eq pokerState 'two'}}poker-voted{{/if}}") {{_ 'poker-two'}}
if $eq pokerState "two"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-three(class="{{#if $eq pokerState 'three'}}poker-voted{{/if}}") {{_ 'poker-three'}}
if $eq pokerState "three"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-five(class="{{#if $eq pokerState 'five'}}poker-voted{{/if}}") {{_ 'poker-five'}}
if $eq pokerState "five"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-eight(class="{{#if $eq pokerState 'eight'}}poker-voted{{/if}}") {{_ 'poker-eight'}}
if $eq pokerState "eight"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-thirteen(class="{{#if $eq pokerState 'thirteen'}}poker-voted{{/if}}") {{_ 'poker-thirteen'}}
if $eq pokerState "thirteen"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-twenty(class="{{#if $eq pokerState 'twenty'}}poker-voted{{/if}}") {{_ 'poker-twenty'}}
if $eq pokerState "twenty"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-forty(class="{{#if $eq pokerState 'forty'}}poker-voted{{/if}}") {{_ 'poker-forty'}}
if $eq pokerState "forty"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-one-hundred(class="{{#if $eq pokerState 'oneHundred'}}poker-voted{{/if}}") {{_ 'poker-oneHundred'}}
if $eq pokerState "oneHundred"
i.fa.fa-check
.poker-deck
.poker-card
span.inner.js-poker.js-poker-vote-unsure(class="{{#if $eq pokerState 'unsure'}}poker-voted{{/if}}") {{_ 'poker-unsure'}}
if $eq pokerState "unsure"
i.fa.fa-check
if currentUser.isBoardAdmin
button.card-details-blue.js-poker-finish(class="{{#if $eq voteState false}}poker-voted{{/if}}") {{_ 'poker-finish'}}
if expiredPoker
.poker-table
.poker-table-side-left
.poker-table-heading-left
.poker-table-row
.poker-table-cell
.poker-table-cell
| {{_ 'poker-result-votes' }}
.poker-table-cell.poker-table-cell-who
| {{_ 'poker-result-who' }}
.poker-table-body
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 1}}winner{{else}}loser{{/if}}") {{_ 'poker-one'}}
.poker-table-cell {{ pokerCountOne }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberOne
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 2}}winner{{else}}loser{{/if}}") {{_ 'poker-two'}}
.poker-table-cell {{ pokerCountTwo }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberTwo
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 3}}winner{{else}}loser{{/if}}") {{_ 'poker-three'}}
.poker-table-cell {{ pokerCountThree }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberThree
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 5}}winner{{else}}loser{{/if}}") {{_ 'poker-five'}}
.poker-table-cell {{ pokerCountFive }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberFive
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 8}}winner{{else}}loser{{/if}}") {{_ 'poker-eight'}}
.poker-table-cell {{ pokerCountEight }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberEight
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-side-right
.poker-table-heading-right
.poker-table-row
.poker-table-cell
.poker-table-cell
| {{_ 'poker-result-votes' }}
.poker-table-cell.poker-table-cell-who
| {{_ 'poker-result-who' }}
.poker-table-body
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 13}}winner{{else}}loser{{/if}}") {{_ 'poker-thirteen'}}
.poker-table-cell {{ pokerCountThirteen }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberThirteen
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 20}}winner{{else}}loser{{/if}}") {{_ 'poker-twenty'}}
.poker-table-cell {{ pokerCountTwenty }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberTwenty
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 40}}winner{{else}}loser{{/if}}") {{_ 'poker-forty'}}
.poker-table-cell {{ pokerCountForty }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberForty
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 100}}winner{{else}}loser{{/if}}") {{_ 'poker-oneHundred'}}
.poker-table-cell {{ pokerCountOneHundred }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberOneHundred
a.name
+userAvatar(userId=m._id noRemove=true)
.poker-table-row
.poker-table-cell
button.card-details-gray.js-poker.poker-card-result(class="{{#if $eq pokerWinner 'unsure'}}winner{{else}}loser{{/if}}") {{_ 'poker-unsure'}}
.poker-table-cell {{ pokerCountUnsure }}
.poker-table-cell.poker-table-cell-who
.poker-result
each m in pokerMemberUnsure
a.name
+userAvatar(userId=m._id noRemove=true)
if currentUser.isBoardAdmin
div.estimation-add
button.card-details-red.js-poker-replay(class="{{#if $eq voteState false}}voted{{/if}}") {{_ 'poker-replay'}}
div.estimation-add
button.js-poker-estimation
i.fa.fa-plus
| {{_ 'set-estimation'}}
input(type=text,autofocus value=getPokerEstimation,id="pokerEstimation")
//- XXX We should use "editable" to avoid repetiting ourselves
if canModifyCard
unless currentUser.isWorker
if currentBoard.allowsDescriptionTitle
hr
h3.card-details-item-title
i.fa.fa-list-alt
= definition.name
+cardCustomField
if getVoteQuestion
hr
.vote-title
div.flex
h3
i.fa.fa-thumbs-up
| {{_ 'vote-question'}}
if getVoteEnd
+voteEndDate
.vote-result
if votePublic
a.card-label.card-label-green.js-show-positive-votes {{ voteCountPositive }}
a.card-label.card-label-red.js-show-negative-votes {{ voteCountNegative }}
else
.card-label.card-label-green {{ voteCountPositive }}
.card-label.card-label-red {{ voteCountNegative }}
unless ($and currentBoard.isPublic voteAllowNonBoardMembers )
.card-label.card-label-gray {{ voteCount }} {{_ 'r-of' }} {{ currentBoard.activeMembers.length }}
+viewer
= getVoteQuestion
if showVotingButtons
button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}")
if voteState
i.fa.fa-thumbs-up
| {{_ 'vote-for-it'}}
button.card-details-red.js-vote.js-vote-negative(class="{{#if $eq voteState false}}voted{{/if}}")
if $eq voteState false
i.fa.fa-thumbs-down
| {{_ 'vote-against'}}
//- XXX We should use "editable" to avoid repetiting ourselves
if canModifyCard
unless currentUser.isWorker
i.fa.fa-align-left
| {{_ 'description'}}
if currentBoard.allowsDescriptionText
+inlinedCardDescription(classNames="card-description js-card-description")
+descriptionForm
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
else
if currentBoard.allowsDescriptionText
a.js-open-inlined-form
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
a.js-open-inlined-form {{_ 'view-it'}}
= ' - '
a.js-close-inlined-form {{_ 'discard'}}
else if getDescription
if currentBoard.allowsDescriptionTitle
hr
h3.card-details-item-title
i.fa.fa-align-left
| {{_ 'description'}}
h3.card-details-item-title {{_ 'description'}}
if currentBoard.allowsDescriptionText
+inlinedCardDescription(classNames="card-description js-card-description")
+descriptionForm
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
else
if currentBoard.allowsDescriptionText
a.js-open-inlined-form
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
a.js-open-inlined-form {{_ 'view-it'}}
= ' - '
a.js-close-inlined-form {{_ 'discard'}}
else if getDescription
if currentBoard.allowsDescriptionTitle
hr
h3.card-details-item-title {{_ 'description'}}
if currentBoard.allowsDescriptionText
+viewer
= getDescription
+viewer
= getDescription
.card-checklist-attachmentGalerys
.card-checklist-attachmentGalery.card-checklists
if currentBoard.allowsChecklists
.card-checklist-attachmentGalerys
.card-checklist-attachmentGalery.card-checklists
if currentBoard.allowsChecklists
hr
+checklists(cardId = _id)
if currentBoard.allowsSubtasks
hr
+subtasks(cardId = _id)
if currentBoard.allowsAttachments
hr
+checklists(cardId = _id)
if currentBoard.allowsSubtasks
hr
+subtasks(cardId = _id)
if currentBoard.allowsAttachments
hr
h3.card-details-item-title
i.fa.fa-paperclip
| {{_ 'attachments'}}
.card-checklist-attachmentGalery.card-attachmentGalery
+attachmentsGalery
h3.card-details-item-title
i.fa.fa-paperclip
| {{_ 'attachments'}}
.card-checklist-attachmentGalery.card-attachmentGalery
+attachmentsGalery
hr
unless currentUser.isNoComments
.activity-title
h3.card-details-item-title
i.fa.fa-history
| {{ _ 'activity'}}
.card-details-right
unless currentUser.isNoComments
.activity-title
h3.card-details-item-title
i.fa.fa-history
| {{ _ 'activity'}}
if currentUser.isBoardMember
.material-toggle-switch(title="{{_ 'hide-system-messages'}}")
//span.toggle-switch-title
if hiddenSystemMessages
input.toggle-switch(type="checkbox" id="toggleButton" checked="checked")
else
input.toggle-switch(type="checkbox" id="toggleButton")
label.toggle-label(for="toggleButton")
if currentBoard.allowsComments
if currentUser.isBoardMember
.material-toggle-switch
span.toggle-switch-title {{_ 'hide-system-messages'}}
if hiddenSystemMessages
input.toggle-switch(type="checkbox" id="toggleButton" checked="checked")
else
input.toggle-switch(type="checkbox" id="toggleButton")
label.toggle-label(for="toggleButton")
if currentBoard.allowsComments
if currentUser.isBoardMember
unless currentUser.isNoComments
+commentForm
unless currentUser.isNoComments
if isLoaded.get
if isLinkedCard
+activities(card=this mode="linkedcard")
else if isLinkedBoard
+activities(card=this mode="linkedboard")
else
+activities(card=this mode="card")
unless currentUser.isNoComments
+commentForm
unless currentUser.isNoComments
if isLoaded.get
if isLinkedCard
+activities(card=this mode="linkedcard")
else if isLinkedBoard
+activities(card=this mode="linkedboard")
else
+activities(card=this mode="card")
template(name="editCardTitleForm")
textarea.js-edit-card-title(rows='1' autofocus dir="auto")
@@ -341,6 +560,12 @@ template(name="editCardAssignerForm")
button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
template(name="editCardSortOrderForm")
input.js-edit-card-sort(type='text' autofocus value=sort dir="auto")
.edit-controls.clearfix
button.primary.confirm.js-submit-edit-card-sort-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
template(name="cardDetailsActionsPopup")
ul.pop-over-list
li
@@ -351,9 +576,9 @@ template(name="cardDetailsActionsPopup")
else
i.fa.fa-eye-slash
| {{_ 'watch'}}
hr
if canModifyCard
unless currentUser.isWorker
hr
ul.pop-over-list
//li: a.js-members {{_ 'card-edit-members'}}
//li: a.js-labels {{_ 'card-edit-labels'}}
@@ -362,6 +587,10 @@ template(name="cardDetailsActionsPopup")
a.js-start-voting
i.fa.fa-thumbs-up
| {{_ 'card-edit-voting'}}
li
a.js-start-planning-poker
i.fa.fa-thumbs-up
| {{_ 'card-edit-planning-poker'}}
if currentUser.isBoardAdmin
li
a.js-custom-fields
@@ -379,50 +608,63 @@ template(name="cardDetailsActionsPopup")
a.js-set-card-color
i.fa.fa-paint-brush
| {{_ 'setCardColorPopup-title'}}
hr
ul.pop-over-list
hr
ul.pop-over-list
li
a.js-export-card
i.fa.fa-share-alt
| {{_ 'export-card'}}
hr
ul.pop-over-list
li
a.js-move-card-to-top
i.fa.fa-arrow-up
| {{_ 'moveCardToTop-title'}}
li
a.js-move-card-to-bottom
i.fa.fa-arrow-down
| {{_ 'moveCardToBottom-title'}}
hr
ul.pop-over-list
if currentUser.isBoardAdmin
li
a.js-move-card-to-top
i.fa.fa-arrow-up
| {{_ 'moveCardToTop-title'}}
li
a.js-move-card-to-bottom
i.fa.fa-arrow-down
| {{_ 'moveCardToBottom-title'}}
hr
ul.pop-over-list
if currentUser.isBoardAdmin
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
unless currentUser.isWorker
li
a.js-copy-card
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
unless currentUser.isWorker
li
a.js-copy-card
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
a.js-copy-checklist-cards
i.fa.fa-list
i.fa.fa-copy
| {{_ 'copyChecklistToManyCardsPopup-title'}}
unless archived
hr
ul.pop-over-list
li
a.js-copy-checklist-cards
i.fa.fa-list
i.fa.fa-copy
| {{_ 'copyChecklistToManyCardsPopup-title'}}
unless archived
hr
ul.pop-over-list
li
a.js-archive
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-card'}}
hr
ul.pop-over-list
li
a.js-more
i.fa.fa-link
| {{_ 'cardMorePopup-title'}}
a.js-archive
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-card'}}
hr
ul.pop-over-list
li
a.js-more
i.fa.fa-link
| {{_ 'cardMorePopup-title'}}
template(name="exportCardPopup")
ul.pop-over-list
li
a(href="{{exportUrlCardPDF}}",, download="{{exportFilenameCardPDF}}")
i.fa.fa-share-alt
| {{_ 'export-card-pdf'}}
template(name="moveCardPopup")
+boardsAndLists
@@ -621,3 +863,29 @@ template(name="negativeVoteMembersPopup")
span.full-name
= m.profile.fullname
| (<span class="username">{{ m.username }}</span>)
template(name="deletePokerPopup")
p {{_ "poker-delete-pop"}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
template(name="cardStartPlanningPokerPopup")
form.edit-poker-question
.fields
.check-div
a.flex(class="{{#if getPokerQuestion}}is-disabled{{else}}js-toggle-poker-allow-non-members{{/if}}")
.materialCheckBox#poker-allow-non-members(name="poker-allow-non-members" class="{{#if pokerAllowNonBoardMembers}}is-checked{{/if}}")
span {{_ 'allowNonBoardMembers'}}
.check-div.flex
i.fa.fa-hourglass-end
a.js-end-date
span
| {{_ 'card-end'}}
unless getPokerEnd
i.fa.fa-plus
if getPokerEnd
+pokerEndDate
button.primary.js-submit {{_ 'save'}}
if getPokerQuestion
if currentUser.isBoardAdmin
button.js-remove-poker.negate.wide.right {{_ 'delete'}}
+590 -26
View File
@@ -54,6 +54,10 @@ BlazeComponent.extendComponent({
return Meteor.user().hasHiddenSystemMessages();
},
cardMaximized() {
return Meteor.user().hasCardMaximized();
},
canModifyCard() {
return (
Meteor.user() &&
@@ -140,6 +144,15 @@ BlazeComponent.extendComponent({
);
},
showPlanningPokerButtons() {
const card = this.currentData();
return (
(currentUser.isBoardMember() ||
(currentUser && card.pokerAllowNonBoardMembers())) &&
!card.expiredPoker()
);
},
onRendered() {
if (Meteor.settings.public.CARD_OPENED_WEBHOOK_ENABLED) {
// Send Webhook but not create Activities records ---
@@ -161,7 +174,7 @@ BlazeComponent.extendComponent({
}).fetch();
if (integrations.length > 0) {
integrations.forEach(integration => {
integrations.forEach((integration) => {
Meteor.call(
'outgoingWebhooks',
integration,
@@ -327,9 +340,7 @@ BlazeComponent.extendComponent({
},
'submit .js-card-details-title'(event) {
event.preventDefault();
const title = this.currentComponent()
.getValue()
.trim();
const title = this.currentComponent().getValue().trim();
if (title) {
this.data().setTitle(title);
} else {
@@ -338,9 +349,7 @@ BlazeComponent.extendComponent({
},
'submit .js-card-details-assigner'(event) {
event.preventDefault();
const assigner = this.currentComponent()
.getValue()
.trim();
const assigner = this.currentComponent().getValue().trim();
if (assigner) {
this.data().setAssignedBy(assigner);
} else {
@@ -349,15 +358,23 @@ BlazeComponent.extendComponent({
},
'submit .js-card-details-requester'(event) {
event.preventDefault();
const requester = this.currentComponent()
.getValue()
.trim();
const requester = this.currentComponent().getValue().trim();
if (requester) {
this.data().setRequestedBy(requester);
} else {
this.data().setRequestedBy('');
}
},
'submit .js-card-details-sort'(event) {
event.preventDefault();
const sort = parseFloat(this.currentComponent()
.getValue()
.trim());
if (!Number.isNaN(sort)) {
let card = this.data();
card.move(card.boardId, card.swimlaneId, card.listId, sort);
}
},
'click .js-go-to-linked-card'() {
Utils.goCardId(this.data().linkedId);
},
@@ -395,6 +412,14 @@ BlazeComponent.extendComponent({
'click #toggleButton'() {
Meteor.call('toggleSystemMessages');
},
'click .js-maximize-card-details'() {
Meteor.call('toggleCardMaximized');
autosize($('.card-details'));
},
'click .js-minimize-card-details'() {
Meteor.call('toggleCardMaximized');
autosize($('.card-details'));
},
'click .js-vote'(e) {
const forIt = $(e.target).hasClass('js-vote-positive');
let newState = null;
@@ -407,11 +432,126 @@ BlazeComponent.extendComponent({
}
this.data().setVote(Meteor.userId(), newState);
},
'click .js-poker'(e) {
let newState = null;
if ($(e.target).hasClass('js-poker-vote-one')) {
newState = 'one';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-two')) {
newState = 'two';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-three')) {
newState = 'three';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-five')) {
newState = 'five';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-eight')) {
newState = 'eight';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-thirteen')) {
newState = 'thirteen';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-twenty')) {
newState = 'twenty';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-forty')) {
newState = 'forty';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-one-hundred')) {
newState = 'oneHundred';
this.data().setPoker(Meteor.userId(), newState);
}
if ($(e.target).hasClass('js-poker-vote-unsure')) {
newState = 'unsure';
this.data().setPoker(Meteor.userId(), newState);
}
},
'click .js-poker-finish'(e) {
if ($(e.target).hasClass('js-poker-finish')) {
e.preventDefault();
const now = moment().format('YYYY-MM-DD HH:mm');
this.data().setPokerEnd(now);
}
},
'click .js-poker-replay'(e) {
if ($(e.target).hasClass('js-poker-replay')) {
e.preventDefault();
this.currentCard = this.currentData();
this.currentCard.replayPoker();
this.data().unsetPokerEnd();
this.data().unsetPokerEstimation();
}
},
'click .js-poker-estimation'(event) {
event.preventDefault();
const ruleTitle = this.find('#pokerEstimation').value;
if (ruleTitle !== undefined && ruleTitle !== '') {
this.find('#pokerEstimation').value = '';
if (ruleTitle) {
this.data().setPokerEstimation(parseInt(ruleTitle, 10));
} else {
this.data().setPokerEstimation('');
}
}
},
},
];
},
}).register('cardDetails');
BlazeComponent.extendComponent({
template() {
return 'exportCard';
},
withApi() {
return Template.instance().apiEnabled.get();
},
exportUrlCardPDF() {
const params = {
boardId: Session.get('currentBoard'),
listId: this.listId,
cardId: this.cardId,
};
const queryParams = {
authToken: Accounts._storedLoginToken(),
};
return FlowRouter.path(
'/api/boards/:boardId/lists/:listId/cards/:cardId/exportPDF',
params,
queryParams,
);
},
exportFilenameCardPDF() {
//const boardId = Session.get('currentBoard');
//return `export-card-pdf-${boardId}.xlsx`;
return `export-card.pdf`;
},
}).register('exportCardPopup');
// only allow number input
Template.editCardSortOrderForm.onRendered(function() {
this.$('input').on("keypress paste", function(event) {
let keyCode = event.keyCode;
let charCode = String.fromCharCode(keyCode);
let regex = new RegExp('[-0-9.]');
let ret = regex.test(charCode);
// only working here, defining in events() doesn't handle the return value correctly
return ret;
});
});
// We extends the normal InlinedForm component to support UnsavedEdits draft
// feature.
(class extends InlinedForm {
@@ -472,11 +612,13 @@ Template.cardDetailsActionsPopup.helpers({
});
Template.cardDetailsActionsPopup.events({
'click .js-export-card': Popup.open('exportCard'),
'click .js-members': Popup.open('cardMembers'),
'click .js-assignees': Popup.open('cardAssignees'),
'click .js-labels': Popup.open('cardLabels'),
'click .js-attachments': Popup.open('cardAttachments'),
'click .js-start-voting': Popup.open('cardStartVoting'),
'click .js-start-planning-poker': Popup.open('cardStartPlanningPoker'),
'click .js-custom-fields': Popup.open('cardCustomFields'),
'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-start-date': Popup.open('editCardStartDate'),
@@ -492,7 +634,7 @@ Template.cardDetailsActionsPopup.events({
const minOrder = _.min(
this.list()
.cards(this.swimlaneId)
.map(c => c.sort),
.map((c) => c.sort),
);
this.move(this.boardId, this.swimlaneId, this.listId, minOrder - 1);
},
@@ -501,7 +643,7 @@ Template.cardDetailsActionsPopup.events({
const maxOrder = _.max(
this.list()
.cards(this.swimlaneId)
.map(c => c.sort),
.map((c) => c.sort),
);
this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1);
},
@@ -520,7 +662,7 @@ Template.cardDetailsActionsPopup.events({
},
});
Template.editCardTitleForm.onRendered(function() {
Template.editCardTitleForm.onRendered(function () {
autosize(this.$('.js-edit-card-title'));
});
@@ -534,7 +676,7 @@ Template.editCardTitleForm.events({
},
});
Template.editCardRequesterForm.onRendered(function() {
Template.editCardRequesterForm.onRendered(function () {
autosize(this.$('.js-edit-card-requester'));
});
@@ -547,7 +689,7 @@ Template.editCardRequesterForm.events({
},
});
Template.editCardAssignerForm.onRendered(function() {
Template.editCardAssignerForm.onRendered(function () {
autosize(this.$('.js-edit-card-assigner'));
});
@@ -632,9 +774,7 @@ Template.copyCardPopup.events({
const textarea = $('#copy-card-title');
const title = textarea.val().trim();
// insert new card to the bottom of new list
card.sort = Lists.findOne(card.listId)
.cards()
.count();
card.sort = Lists.findOne(card.listId).cards().count();
if (title) {
card.title = title;
@@ -665,9 +805,7 @@ Template.copyChecklistToManyCardsPopup.events({
const textarea = $('#copy-card-title');
const titleEntry = textarea.val().trim();
// insert new card to the bottom of new list
card.sort = Lists.findOne(card.listId)
.cards()
.count();
card.sort = Lists.findOne(card.listId).cards().count();
if (titleEntry) {
const titleList = JSON.parse(titleEntry);
@@ -684,13 +822,13 @@ Template.copyChecklistToManyCardsPopup.events({
Filter.addException(_id);
// copy checklists
Checklists.find({ cardId: oldId }).forEach(ch => {
Checklists.find({ cardId: oldId }).forEach((ch) => {
ch.copy(_id);
});
// copy subtasks
const cursor = Cards.find({ parentId: oldId });
cursor.forEach(function() {
cursor.forEach(function () {
'use strict';
const subtask = arguments[0];
subtask.parentId = _id;
@@ -699,7 +837,7 @@ Template.copyChecklistToManyCardsPopup.events({
});
// copy card comments
CardComments.find({ cardId: oldId }).forEach(cmt => {
CardComments.find({ cardId: oldId }).forEach((cmt) => {
cmt.copy(_id);
});
}
@@ -715,7 +853,7 @@ BlazeComponent.extendComponent({
},
colors() {
return ALLOWED_COLORS.map(color => ({ color, name: '' }));
return ALLOWED_COLORS.map((color) => ({ color, name: '' }));
},
isSelected(color) {
@@ -838,7 +976,7 @@ BlazeComponent.extendComponent({
}
}
},
'click .js-delete': Popup.afterConfirm('cardDelete', function() {
'click .js-delete': Popup.afterConfirm('cardDelete', function () {
Popup.close();
// verify that there are no linked cards
if (Cards.find({ linkedId: this._id }).count() === 0) {
@@ -945,6 +1083,8 @@ BlazeComponent.extendComponent({
moment(new Date().setHours(12, 0, 0)).format('LT');
const dateString = `${evt.target.date.value} ${time}`;
/*
const newDate = moment(dateString, 'L LT', true);
if (newDate.isValid()) {
// if active vote - store it
@@ -955,6 +1095,159 @@ BlazeComponent.extendComponent({
this.currentData().vote = { end: newDate.toDate() }; // set vote end temp
Popup.back();
}
*/
// Try to parse different date formats of all languages.
// This code is same for vote and planning poker.
const usaDate = moment(dateString, 'L LT', true);
const euroAmDate = moment(dateString, 'DD.MM.YYYY LT', true);
const euro24hDate = moment(dateString, 'DD.MM.YYYY HH.mm', true);
const eurodotDate = moment(dateString, 'DD.MM.YYYY HH:mm', true);
const minusDate = moment(dateString, 'YYYY-MM-DD HH:mm', true);
const slashDate = moment(dateString, 'DD/MM/YYYY HH.mm', true);
const dotDate = moment(dateString, 'DD/MM/YYYY HH:mm', true);
const brezhonegDate = moment(dateString, 'DD/MM/YYYY h[e]mm A', true);
const hrvatskiDate = moment(dateString, 'DD. MM. YYYY H:mm', true);
const latviaDate = moment(dateString, 'YYYY.MM.DD. H:mm', true);
const nederlandsDate = moment(dateString, 'DD-MM-YYYY HH:mm', true);
// greekDate does not work: el Greek Ελληνικά ,
// it has date format DD/MM/YYYY h:mm MM like 20/06/2021 11:15 MM
// where MM is maybe some text like AM/PM ?
// Also some other languages that have non-ascii characters in dates
// do not work.
const greekDate = moment(dateString, 'DD/MM/YYYY h:mm A', true);
const macedonianDate = moment(dateString, 'D.MM.YYYY H:mm', true);
if (usaDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(usaDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: usaDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (euroAmDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(euroAmDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: euroAmDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (euro24hDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(euro24hDate.toDate());
this.card.setPokerEnd(euro24hDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: euro24hDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (eurodotDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(eurodotDate.toDate());
this.card.setPokerEnd(eurodotDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: eurodotDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (minusDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(minusDate.toDate());
this.card.setPokerEnd(minusDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: minusDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (slashDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(slashDate.toDate());
this.card.setPokerEnd(slashDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: slashDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (dotDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(dotDate.toDate());
this.card.setPokerEnd(dotDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: dotDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (brezhonegDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(brezhonegDate.toDate());
this.card.setPokerEnd(brezhonegDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: brezhonegDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (hrvatskiDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(hrvatskiDate.toDate());
this.card.setPokerEnd(hrvatskiDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: hrvatskiDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (latviaDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(latviaDate.toDate());
this.card.setPokerEnd(latviaDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: latviaDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (nederlandsDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(nederlandsDate.toDate());
this.card.setPokerEnd(nederlandsDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: nederlandsDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (greekDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(greekDate.toDate());
this.card.setPokerEnd(greekDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: greekDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (macedonianDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(macedonianDate.toDate());
this.card.setPokerEnd(macedonianDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: macedonianDate.toDate() }; // set poker end temp
Popup.back();
}
} else {
this.error.set('invalid-date');
evt.target.date.focus();
@@ -976,6 +1269,277 @@ BlazeComponent.extendComponent({
}
}.register('editVoteEndDatePopup'));
BlazeComponent.extendComponent({
onCreated() {
this.currentCard = this.currentData();
this.pokerQuestion = new ReactiveVar(this.currentCard.pokerQuestion);
},
events() {
return [
{
'click .js-end-date': Popup.open('editPokerEndDate'),
'submit .edit-poker-question'(evt) {
evt.preventDefault();
const pokerQuestion = true;
const allowNonBoardMembers = $('#poker-allow-non-members').hasClass(
'is-checked',
);
const endString = this.currentCard.getPokerEnd();
this.currentCard.setPokerQuestion(
pokerQuestion,
allowNonBoardMembers,
);
if (endString) {
this.currentCard.setPokerEnd(endString);
}
Popup.close();
},
'click .js-remove-poker': Popup.afterConfirm('deletePoker', (event) => {
event.preventDefault();
this.currentCard.unsetPoker();
Popup.close();
}),
'click a.js-toggle-poker-allow-non-members'(event) {
event.preventDefault();
$('#poker-allow-non-members').toggleClass('is-checked');
},
},
];
},
}).register('cardStartPlanningPokerPopup');
// editPokerEndDatePopup
(class extends DatePicker {
onCreated() {
super.onCreated(moment().format('YYYY-MM-DD HH:mm'));
this.data().getPokerEnd() &&
this.date.set(moment(this.data().getPokerEnd()));
}
/*
Tried to use dateFormat and timeFormat from client/components/lib/datepicker.js
to make detecting all date formats not necessary,
but got error "language mk does not exist".
Maybe client/components/lib/datepicker.jade could have hidden input field for
datepicker format that could be used to detect date format?
dateFormat() {
return moment.localeData().longDateFormat('L');
}
timeFormat() {
return moment.localeData().longDateFormat('LT');
}
const newDate = moment(dateString, dateformat() + ' ' + timeformat(), true);
*/
events() {
return [
{
'submit .edit-date'(evt) {
evt.preventDefault();
// if no time was given, init with 12:00
const time =
evt.target.time.value ||
moment(new Date().setHours(12, 0, 0)).format('LT');
const dateString = `${evt.target.date.value} ${time}`;
/*
Tried to use dateFormat and timeFormat from client/components/lib/datepicker.js
to make detecting all date formats not necessary,
but got error "language mk does not exist".
Maybe client/components/lib/datepicker.jade could have hidden input field for
datepicker format that could be used to detect date format?
const newDate = moment(dateString, dateformat() + ' ' + timeformat(), true);
if (newDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(newDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: newDate.toDate() }; // set poker end temp
Popup.back();
}
*/
// Try to parse different date formats of all languages.
// This code is same for vote and planning poker.
const usaDate = moment(dateString, 'L LT', true);
const euroAmDate = moment(dateString, 'DD.MM.YYYY LT', true);
const euro24hDate = moment(dateString, 'DD.MM.YYYY HH.mm', true);
const eurodotDate = moment(dateString, 'DD.MM.YYYY HH:mm', true);
const minusDate = moment(dateString, 'YYYY-MM-DD HH:mm', true);
const slashDate = moment(dateString, 'DD/MM/YYYY HH.mm', true);
const dotDate = moment(dateString, 'DD/MM/YYYY HH:mm', true);
const brezhonegDate = moment(dateString, 'DD/MM/YYYY h[e]mm A', true);
const hrvatskiDate = moment(dateString, 'DD. MM. YYYY H:mm', true);
const latviaDate = moment(dateString, 'YYYY.MM.DD. H:mm', true);
const nederlandsDate = moment(dateString, 'DD-MM-YYYY HH:mm', true);
// greekDate does not work: el Greek Ελληνικά ,
// it has date format DD/MM/YYYY h:mm MM like 20/06/2021 11:15 MM
// where MM is maybe some text like AM/PM ?
// Also some other languages that have non-ascii characters in dates
// do not work.
const greekDate = moment(dateString, 'DD/MM/YYYY h:mm A', true);
const macedonianDate = moment(dateString, 'D.MM.YYYY H:mm', true);
if (usaDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(usaDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: usaDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (euroAmDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(euroAmDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: euroAmDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (euro24hDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(euro24hDate.toDate());
this.card.setPokerEnd(euro24hDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: euro24hDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (eurodotDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(eurodotDate.toDate());
this.card.setPokerEnd(eurodotDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: eurodotDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (minusDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(minusDate.toDate());
this.card.setPokerEnd(minusDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: minusDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (slashDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(slashDate.toDate());
this.card.setPokerEnd(slashDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: slashDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (dotDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(dotDate.toDate());
this.card.setPokerEnd(dotDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: dotDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (brezhonegDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(brezhonegDate.toDate());
this.card.setPokerEnd(brezhonegDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: brezhonegDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (hrvatskiDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(hrvatskiDate.toDate());
this.card.setPokerEnd(hrvatskiDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: hrvatskiDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (latviaDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(latviaDate.toDate());
this.card.setPokerEnd(latviaDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: latviaDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (nederlandsDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(nederlandsDate.toDate());
this.card.setPokerEnd(nederlandsDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: nederlandsDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (greekDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(greekDate.toDate());
this.card.setPokerEnd(greekDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: greekDate.toDate() }; // set poker end temp
Popup.back();
}
} else if (macedonianDate.isValid()) {
// if active poker - store it
if (this.currentData().getPokerQuestion()) {
this._storeDate(macedonianDate.toDate());
this.card.setPokerEnd(macedonianDate.toDate());
Popup.close();
} else {
this.currentData().poker = { end: macedonianDate.toDate() }; // set poker end temp
Popup.back();
}
} else {
// this.error.set('invalid-date);
this.error.set('invalid-date' + ' ' + dateString);
evt.target.date.focus();
}
},
'click .js-delete-date'(evt) {
evt.preventDefault();
this._deleteDate();
Popup.close();
},
},
];
}
_storeDate(newDate) {
this.card.setPokerEnd(newDate);
}
_deleteDate() {
this.card.unsetPokerEnd();
}
}.register('editPokerEndDatePopup'));
// Close the card details pane by pressing escape
EscapeActions.register(
'detailsPane',
+179 -4
View File
@@ -110,11 +110,13 @@ avatar-radius = 50%
.card-details-header
margin: 0 -20px 5px
padding 7px 20px
padding: 7px 20px
background: darken(white, 7%)
border-bottom: 1px solid darken(white, 14%)
.close-card-details,
.maximize-card-details,
.minimize-card-details,
.card-details-menu,
.card-copy-button,
.card-copy-mobile-button,
@@ -122,9 +124,11 @@ avatar-radius = 50%
.card-details-menu-mobile-web
float: right
.close-card-details
.close-card-details,
.maximize-card-details,
.minimize-card-details
font-size: 24px
padding: 5px
padding: 5px 10px 5px 10px
margin-right: -8px
.close-card-details-mobile-web
@@ -233,6 +237,43 @@ avatar-radius = 50%
.activities
padding-top: 10px
.card-details-maximized
padding: 0
flex-shrink: 0
flex-basis: calc(100% - 20px)
will-change: flex-basis
overflow-y: scroll
overflow-x: scroll
background: darken(white, 3%)
border-radius: bottom 3px
z-index: 1000 !important
animation: flexGrowIn 0.1s
box-shadow: 0 0 7px 0 darken(white, 30%)
transition: flex-basis 0.1s
box-sizing: border-box
position: absolute
top: 0
left: 0
height: calc(100% - 20px)
width: calc(100% - 20px)
float: left
.card-details-left
position: absolute
float: left
top: 60px
left: 20px
width: 47%
.card-details-right
position: absolute
float: right
top: 20px
left: 50%
.card-details-header
width: 47%
input[type="text"].attachment-add-link-input
float: left
margin: 0 0 8px
@@ -260,7 +301,13 @@ input[type="submit"].attachment-add-link-submit
margin-right: 0px
.card-details-menu
margin-right: 10px
margin-right: 40px
.maximize-card-details
margin-right: 40px
.minimize-card-details
margin-right: 40px
card-details-color(background, color...)
background: background !important
@@ -357,3 +404,131 @@ card-details-color(background, color...)
display: flex
.js-show-positive-votes
cursor: pointer
.poker-voted
opacity: .7
.poker-title
display: flex
justify-content: space-between
.js-edit-date
align-self: baseline
margin-left: 5px
.poker-result
display: flex
flex-flow: row wrap
.js-show-positive-poker-votes
cursor: pointer
.poker-deck
display: grid
flex-direction: column
text-align: center
.poker-card-result
width: 32px
font-size: 1em
font-weight: bold
padding: 4px 2px 4px 2px
cursor: default
.winner
font-weight: bold
outline: #2d2d2d solid 2px
.loser
opacity: .5
.responsive-table
overflow-x: auto
.poker-table
display: table
width: 100%
padding-top: 10px
.poker-table-row
display: table-row
.poker-table-heading
background-color: #EEE
display: table-header-group
.poker-table-cell
display: table-cell
padding: 0 0 5px 2px
border-bottom: 1px solid #d2d0d0
text-align: center
min-width: 45px
.poker-table-cell-who
width: 150px
vertical-align: middle
.poker-table-heading-left,
.poker-table-heading-right
display: table-header-group
font-weight: bold
border-top: 1px solid #808080
@media (max-width: 400px)
.poker-table-heading-right
display: none
.poker-table-body
display: table-row-group
.poker-table-side-left,
.poker-table-side-right
display: inline-block
.poker-table-side-right
padding-left: 10px
@media (max-width: 400px)
.poker-table-side-right
padding-left: 0px
.estimation-add
display: block
overflow: auto
margin-top: 15px
margin-bottom: 5px
input
display: inline-block
float: right
margin: auto
margin-right: 10px
width: 100px
button
display: inline-block
float: right
margin: auto
.poker-card
width:48px
height:72px
float:left
background:#fff
border-radius:5px
display:table
box-sizing:border-box
padding:5px
margin:3px
font-size:20px
font-weight: bold
text-shadow: #2d2d2d 1px 1px 0
box-shadow:0 0 5px #aaaaaa
text-align:center
position:relative
cursor: pointer
.inner
display:table-cell
vertical-align:middle
border-radius:5px
overflow:hidden
background-color: #cecece
+4 -6
View File
@@ -4,8 +4,8 @@ template(name="checklists")
i.fa.fa-check
| {{_ 'checklists'}}
if currentUser.isBoardMember
.material-toggle-switch
span.toggle-switch-title {{_ 'hide-checked-items'}}
.material-toggle-switch(title="{{_ 'hide-checked-items'}}")
//span.toggle-switch-title
if hideCheckedItems
input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton" checked="checked")
else
@@ -25,9 +25,8 @@ template(name="checklists")
+inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
+addChecklistItemForm
else
a.js-open-inlined-form
a.js-open-inlined-form(title="{{_ 'add-checklist'}}")
i.fa.fa-plus
| {{_ 'add-checklist'}}...
template(name="checklistDetail")
.js-checklist.checklist
@@ -93,9 +92,8 @@ template(name="checklistItems")
+inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist)
+addChecklistItemForm
else
a.add-checklist-item.js-open-inlined-form
a.add-checklist-item.js-open-inlined-form(title="{{_ 'add-checklist-item'}}")
i.fa.fa-plus
| {{_ 'add-checklist-item'}}...
template(name='checklistItemDetail')
.js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if hideCheckedItems}} invisible{{/if}}{{/if}}")
+11
View File
@@ -44,9 +44,20 @@
align-items: center
justify-content: center
.card-label-white
background-color: #ffffff
color: #000000 //Black text for better visibility
border: 1px solid #c0c0c0
.card-label-white:hover
color: #aaaaaa //grey text for better visibility
.card-label-green
background-color: #3cb500
.card-label-green:hover
color: #000000 //Black hover text for better visibility
.card-label-yellow
background-color: #fad900
color: #000000 //Black text for better visibility
+9
View File
@@ -121,6 +121,11 @@ template(name="minicard")
span.badge-text {{ voteCountPositive }}
span.badge-icon.fa.fa-thumbs-down(class="{{#if $eq voteState false}}text-red{{/if}}")
span.badge-text {{ voteCountNegative }}
if getPokerQuestion
.badge.badge-state-image-only(title=getPokerQuestion)
span.badge-icon.fa.fa-check(class="{{#if pokerState}}text-green{{/if}}")
if expiredPoker
span.badge-text {{ getPokerEstimation }}
if attachments.count
.badge
span.badge-icon.fa.fa-paperclip
@@ -134,3 +139,7 @@ template(name="minicard")
span.badge-icon.fa.fa-sitemap
span.badge-text.check-list-text {{subtasksFinishedCount}}/{{allSubtasksCount}}
//{{subtasksFinishedCount}}/{{subtasksCount}} does not work because when a subtaks is archived, the count goes down
if currentBoard.allowsCardSortingByNumber
.badge
span.badge-icon.fa.fa-sort
span.badge-text {{ sort }}
+1 -2
View File
@@ -15,9 +15,8 @@ template(name="subtasks")
+inlinedForm(autoclose=false classNames="js-add-subtask" cardId = cardId)
+addSubtaskItemForm
else
a.js-open-inlined-form
a.js-open-inlined-form(title="{{_ 'add-subtask'}}")
i.fa.fa-plus
| {{_ 'add-subtask'}}...
template(name="subtaskDetail")
.js-subtasks.subtask
+1 -1
View File
@@ -86,7 +86,7 @@ select
margin-bottom: 8px
&.inline
width: 100%
width: 100%
option[disabled]
color: #8c8c8c
+4 -9
View File
@@ -19,19 +19,14 @@ template(name="listBody")
+inlinedForm(autoclose=false position="bottom")
+addCardForm(listId=_id position="bottom")
else
a.open-minicard-composer.js-card-composer.js-open-inlined-form
a.open-minicard-composer.js-card-composer.js-open-inlined-form(title="{{_ 'add-card-to-bottom-of-list'}}")
i.fa.fa-plus
| {{_ 'add-card'}}
template(name="spinnerList")
.sk-spinner.sk-spinner-wave.sk-spinner-list(
class=currentBoard.colorClass
.sk-spinner.sk-spinner-list(
class="{{currentBoard.colorClass}} {{getSkSpinnerName}}"
id="showMoreResults")
.sk-rect1
.sk-rect2
.sk-rect3
.sk-rect4
.sk-rect5
+spinnerRaw
template(name="addCardForm")
.minicard.minicard-composer.js-composer
+40 -29
View File
@@ -1,3 +1,5 @@
import { Spinner } from '/client/lib/spinner';
const subManager = new SubsManager();
const InfiniteScrollIter = 10;
@@ -116,8 +118,6 @@ BlazeComponent.extendComponent({
if (position === 'bottom') {
this.scrollToBottom();
}
formComponent.reset();
}
},
@@ -698,7 +698,7 @@ BlazeComponent.extendComponent({
},
}).register('searchElementPopup');
BlazeComponent.extendComponent({
(class extends Spinner {
onCreated() {
this.cardlimit = this.parentComponent().cardlimit;
@@ -726,7 +726,7 @@ BlazeComponent.extendComponent({
.parentComponent()
.data()._id;
}
},
}
onRendered() {
this.spinner = this.find('.sk-spinner-list');
@@ -741,47 +741,58 @@ BlazeComponent.extendComponent({
);
this.updateList();
},
}
onDestroyed() {
$(this.container).off(`scroll.spinner_${this.swimlaneId}_${this.listId}`);
$(window).off(`resize.spinner_${this.swimlaneId}_${this.listId}`);
},
}
checkIdleTime() {
return window.requestIdleCallback ||
function(handler) {
const startTime = Date.now();
return setTimeout(function() {
handler({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50.0 - (Date.now() - startTime));
},
});
}, 1);
};
}
updateList() {
// Use fallback when requestIdleCallback is not available on iOS and Safari
// https://www.afasterweb.com/2017/11/20/utilizing-idle-moments/
checkIdleTime =
window.requestIdleCallback ||
function(handler) {
const startTime = Date.now();
return setTimeout(function() {
handler({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50.0 - (Date.now() - startTime));
},
});
}, 1);
};
if (this.spinnerInView()) {
this.cardlimit.set(this.cardlimit.get() + InfiniteScrollIter);
checkIdleTime(() => this.updateList());
this.checkIdleTime(() => this.updateList());
}
},
}
spinnerInView() {
const parentViewHeight = this.container.clientHeight;
const bottomViewPosition = this.container.scrollTop + parentViewHeight;
const threshold = this.spinner.offsetTop;
// spinner deleted
if (!this.spinner.offsetTop) {
return false;
}
return bottomViewPosition > threshold;
},
}).register('spinnerList');
const parentViewHeight = this.container.clientHeight;
const bottomViewPosition = this.container.scrollTop + parentViewHeight;
let spinnerOffsetTop = this.spinner.offsetTop;
const addCard = $(this.container).find("a.open-minicard-composer").first()[0];
if (addCard !== undefined) {
spinnerOffsetTop -= addCard.clientHeight;
}
return bottomViewPosition > spinnerOffsetTop;
}
getSkSpinnerName() {
return "sk-spinner-" + super.getSpinnerName().toLowerCase();
}
}.register('spinnerList'));
+4 -4
View File
@@ -28,8 +28,8 @@ template(name="listHeader")
div.list-header-menu
unless currentUser.isCommentOnly
if canSeeAddCard
a.js-add-card.fa.fa-plus.list-header-plus-icon
a.fa.fa-navicon.js-open-list-menu
a.js-add-card.fa.fa-plus.list-header-plus-icon(title="{{_ 'add-card-to-top-of-list'}}")
a.fa.fa-navicon.js-open-list-menu(title="{{_ 'listActionPopup-title'}}")
else
a.list-header-menu-icon.fa.fa-angle-right.js-select-list
a.list-header-handle.handle.fa.fa-arrows.js-list-handle
@@ -41,8 +41,8 @@ template(name="listHeader")
//if isBoardAdmin
// a.fa.js-list-star.list-header-plus-icon(class="fa-star{{#unless starred}}-o{{/unless}}")
if canSeeAddCard
a.js-add-card.fa.fa-plus.list-header-plus-icon
a.fa.fa-navicon.js-open-list-menu
a.js-add-card.fa.fa-plus.list-header-plus-icon(title="{{_ 'add-card-to-top-of-list'}}")
a.fa.fa-navicon.js-open-list-menu(title="{{_ 'listActionPopup-title'}}")
if currentUser.isBoardAdmin
if showDesktopDragHandles
a.list-header-handle.handle.fa.fa-arrows.js-list-handle
+3 -3
View File
@@ -31,12 +31,12 @@ template(name="header")
unless currentSetting.hideLogo
if currentSetting.customTopLeftCornerLogoImageUrl
if currentSetting.customTopLeftCornerLogoLinkUrl
a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoLinkUrl
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}")
unless currentSetting.customTopLeftCornerLogoImageUrl
img(src="{{pathFor '/logo-header.png'}}" alt="")
img(src="{{pathFor '/logo-header.png'}}" alt="{{currentSetting.productName}}" title="{{currentSetting.productName}}")
span.allBoards
a(href="{{pathFor 'home'}}")
span.fa.fa-home
+5
View File
@@ -0,0 +1,5 @@
template(name="spinner")
+Template.dynamic(template=getSpinnerTemplate)
template(name="spinnerRaw")
+Template.dynamic(template=getSpinnerTemplateRaw)
+11
View File
@@ -0,0 +1,11 @@
import { Spinner } from '/client/lib/spinner';
(class extends Spinner {
}.register('spinner'));
(class extends Spinner {
getSpinnerTemplateRaw() {
let ret = super.getSpinnerTemplate() + 'Raw';
return ret;
}
}.register('spinnerRaw'));
-6
View File
@@ -1,6 +0,0 @@
.sk-spinner.sk-spinner-wave(class=currentBoard.colorClass)
.sk-rect1
.sk-rect2
.sk-rect3
.sk-rect4
.sk-rect5
@@ -0,0 +1,11 @@
template(name="spinnerBounce")
.sk-spinner.sk-spinner-bounce(class=currentBoard.colorClass)
+spinnerBounceRaw
template(name="spinnerBounceRaw")
.sk-bounce1
| &nbsp;
.sk-bounce2
| &nbsp;
.sk-bounce3
| &nbsp;
@@ -0,0 +1,44 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-bounce {
margin: 100px auto 0;
width: 70px;
text-align: center;
div {
width: 18px;
height: 18px;
background-color: #333;
border-radius: 100%;
display: inline-block;
-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}
.sk-bounce1 {
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
}
.sk-bounce2 {
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
}
}
@-webkit-keyframes sk-bouncedelay {
0%, 80%, 100% { -webkit-transform: scale(0) }
40% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bouncedelay {
0%, 80%, 100% {
-webkit-transform: scale(0);
transform: scale(0);
} 40% {
-webkit-transform: scale(1.0);
transform: scale(1.0);
}
}
+8
View File
@@ -0,0 +1,8 @@
template(name="spinnerCube")
.sk-spinner.sk-spinner-cube(class=currentBoard.colorClass)
+spinnerCubeRaw
template(name="spinnerCubeRaw")
.sk-cube1
.sk-cube2
.sk-cube3
+52
View File
@@ -0,0 +1,52 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-cube {
margin: 100px auto;
width: 40px;
height: 40px;
position: relative;
}
.sk-cube1, .sk-cube2 {
background-color: #333;
width: 15px;
height: 15px;
position: absolute;
top: 0;
left: 0;
-webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
animation: sk-cubemove 1.8s infinite ease-in-out;
}
.sk-cube2 {
-webkit-animation-delay: -0.9s;
animation-delay: -0.9s;
}
@-webkit-keyframes sk-cubemove {
25% { -webkit-transform: translateX(35px) rotate(-90deg) scale(0.5) }
50% { -webkit-transform: translateX(35px) translateY(35px) rotate(-180deg) }
75% { -webkit-transform: translateX(0px) translateY(35px) rotate(-270deg) scale(0.5) }
100% { -webkit-transform: rotate(-360deg) }
}
@keyframes sk-cubemove {
25% {
transform: translateX(35px) rotate(-90deg) scale(0.5);
-webkit-transform: translateX(35px) rotate(-90deg) scale(0.5);
} 50% {
transform: translateX(35px) translateY(35px) rotate(-179deg);
-webkit-transform: translateX(35px) translateY(35px) rotate(-179deg);
} 50.1% {
transform: translateX(35px) translateY(35px) rotate(-180deg);
-webkit-transform: translateX(35px) translateY(35px) rotate(-180deg);
} 75% {
transform: translateX(0px) translateY(35px) rotate(-270deg) scale(0.5);
-webkit-transform: translateX(0px) translateY(35px) rotate(-270deg) scale(0.5);
} 100% {
transform: rotate(-360deg);
-webkit-transform: rotate(-360deg);
}
}
@@ -0,0 +1,14 @@
template(name="spinnerCubeGrid")
.sk-spinner.sk-spinner-cube-grid(class=currentBoard.colorClass)
+spinnerCubeGridRaw
template(name="spinnerCubeGridRaw")
.sk-cube-grid.sk-cube-grid1
.sk-cube-grid.sk-cube-grid2
.sk-cube-grid.sk-cube-grid3
.sk-cube-grid.sk-cube-grid4
.sk-cube-grid.sk-cube-grid5
.sk-cube-grid.sk-cube-grid6
.sk-cube-grid.sk-cube-grid7
.sk-cube-grid.sk-cube-grid8
.sk-cube-grid.sk-cube-grid9
@@ -0,0 +1,64 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-cube-grid {
width: 40px;
height: 40px;
margin: 100px auto;
}
.sk-spinner-cube-grid .sk-cube-grid {
width: 33%;
height: 33%;
background-color: #333;
float: left;
-webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}
.sk-spinner-cube-grid .sk-cube-grid1 {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
.sk-spinner-cube-grid .sk-cube-grid2 {
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s; }
.sk-spinner-cube-grid .sk-cube-grid3 {
-webkit-animation-delay: 0.4s;
animation-delay: 0.4s; }
.sk-spinner-cube-grid .sk-cube-grid4 {
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s; }
.sk-spinner-cube-grid .sk-cube-grid5 {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
.sk-spinner-cube-grid .sk-cube-grid6 {
-webkit-animation-delay: 0.3s;
animation-delay: 0.3s; }
.sk-spinner-cube-grid .sk-cube-grid7 {
-webkit-animation-delay: 0s;
animation-delay: 0s; }
.sk-spinner-cube-grid .sk-cube-grid8 {
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s; }
.sk-spinner-cube-grid .sk-cube-grid9 {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s; }
@-webkit-keyframes sk-cubeGridScaleDelay {
0%, 70%, 100% {
-webkit-transform: scale3D(1, 1, 1);
transform: scale3D(1, 1, 1);
} 35% {
-webkit-transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
}
}
@keyframes sk-cubeGridScaleDelay {
0%, 70%, 100% {
-webkit-transform: scale3D(1, 1, 1);
transform: scale3D(1, 1, 1);
} 35% {
-webkit-transform: scale3D(0, 0, 1);
transform: scale3D(0, 0, 1);
}
}
+7
View File
@@ -0,0 +1,7 @@
template(name="spinnerDot")
.sk-spinner.sk-spinner-dot(class=currentBoard.colorClass)
+spinnerDotRaw
template(name="spinnerDotRaw")
.sk-dot1
.sk-dot2
+51
View File
@@ -0,0 +1,51 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-dot {
margin: 100px auto;
width: 40px;
height: 40px;
position: relative;
text-align: center;
-webkit-animation: sk-rotate 2.0s infinite linear;
animation: sk-rotate 2.0s infinite linear;
}
.sk-dot1, .sk-dot2 {
width: 40%;
height: 40%;
display: inline-block;
position: absolute;
top: 0;
background-color: #333;
border-radius: 100%;
-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
animation: sk-bounce 2.0s infinite ease-in-out;
}
.sk-dot2 {
top: auto;
bottom: 0;
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes sk-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes sk-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
@-webkit-keyframes sk-bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
@@ -0,0 +1,7 @@
template(name="spinnerDoubleBounce")
.sk-spinner.sk-spinner-double-bounce(class=currentBoard.colorClass)
+spinnerDoubleBounceRaw
template(name="spinnerDoubleBounceRaw")
.sk-double-bounce1
.sk-double-bounce2
@@ -0,0 +1,44 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-double-bounce {
width: 40px;
height: 40px;
position: relative;
margin: 100px auto;
}
.sk-double-bounce1, .sk-double-bounce2 {
width: 100%;
height: 100%;
border-radius: 50%;
background-color: #333;
opacity: 0.6;
position: absolute;
top: 0;
left: 0;
-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
animation: sk-bounce 2.0s infinite ease-in-out;
}
.sk-double-bounce2 {
-webkit-animation-delay: -1.0s;
animation-delay: -1.0s;
}
@-webkit-keyframes sk-bounce {
0%, 100% { -webkit-transform: scale(0.0) }
50% { -webkit-transform: scale(1.0) }
}
@keyframes sk-bounce {
0%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 50% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
@@ -0,0 +1,6 @@
template(name="spinnerRotateplane")
.sk-spinner.sk-spinner-rotateplane(class=currentBoard.colorClass)
+spinnerRotateplaneRaw
template(name="spinnerRotateplaneRaw")
.sk-rotateplane1
@@ -0,0 +1,38 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-rotateplane {
width: 40px;
height: 40px;
text-align: center;
margin: 100px auto;
-webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
animation: sk-rotateplane 1.2s infinite ease-in-out;
div {
background-color: #333;
height: 100%;
width: 100%;
display: inline-block;
}
}
@-webkit-keyframes sk-rotateplane {
0% { -webkit-transform: perspective(120px) }
50% { -webkit-transform: perspective(120px) rotateY(180deg) }
100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) }
}
@keyframes sk-rotateplane {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
} 50% {
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
} 100% {
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
@@ -0,0 +1,6 @@
template(name="spinnerScaleout")
.sk-spinner.sk-spinner-scaleout(class=currentBoard.colorClass)
+spinnerScaleoutRaw
template(name="spinnerScaleoutRaw")
.sk-scaleout1
@@ -0,0 +1,40 @@
@import 'nib'
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-scaleout {
width: 40px;
height: 40px;
text-align: center;
margin: 100px auto;
border-radius: 100%;
-webkit-animation: sk-scaleout 1.0s infinite ease-in-out;
animation: sk-scaleout 1.0s infinite ease-in-out;
div {
background-color: #333;
height: 100%;
width: 100%;
display: inline-block;
}
}
@-webkit-keyframes sk-scaleout {
0% { -webkit-transform: scale(0) }
100% {
-webkit-transform: scale(1.0);
opacity: 0;
}
}
@keyframes sk-scaleout {
0% {
-webkit-transform: scale(0);
transform: scale(0);
} 100% {
-webkit-transform: scale(1.0);
transform: scale(1.0);
opacity: 0;
}
}
+15
View File
@@ -0,0 +1,15 @@
template(name="spinnerWave")
.sk-spinner.sk-spinner-wave(class=currentBoard.colorClass)
+spinnerWaveRaw
template(name="spinnerWaveRaw")
.sk-rect1
| &nbsp;
.sk-rect2
| &nbsp;
.sk-rect3
| &nbsp;
.sk-rect4
| &nbsp;
.sk-rect5
| &nbsp;
@@ -1,21 +1,7 @@
@import 'nib'
/*
* From https://github.com/tobiasahlin/SpinKit
*
* Usage:
*
* <div class="sk-spinner sk-spinner-wave">
* <div class="sk-rect1"></div>
* <div class="sk-rect2"></div>
* <div class="sk-rect3"></div>
* <div class="sk-rect4"></div>
* <div class="sk-rect5"></div>
* </div>
*
*/
.sk-spinner {
// From https://github.com/tobiasahlin/SpinKit
.sk-spinner-wave {
width: 50px;
height: 50px;
margin: auto;
@@ -1,5 +1,5 @@
template(name='notifications')
#notifications.board-header-btns.right
a.notifications-drawer-toggle.fa.fa-bell(class="{{#if $gt unreadNotifications 0}}alert{{/if}}")
a.notifications-drawer-toggle.fa.fa-bell(class="{{#if $gt unreadNotifications 0}}alert{{/if}}" title="{{_ 'notifications'}}")
if $.Session.get 'showNotificationsDrawer'
+notificationsDrawer(unreadNotifications=unreadNotifications)
+107 -51
View File
@@ -110,6 +110,8 @@ template(name="peopleGeneral")
th {{_ 'active'}}
th {{_ 'authentication-method'}}
th {{_ 'import-usernames'}}
th {{_ 'organizations'}}
th {{_ 'teams'}}
th
+newUserRow
each user in peopleList
@@ -132,28 +134,28 @@ template(name="newUserRow")
template(name="orgRow")
tr
if orgData.loginDisabled
if orgData.orgIsActive
td <s>{{ orgData.orgDisplayName }}</s>
else
td {{ orgData.orgDisplayName }}
if orgData.loginDisabled
if orgData.orgIsActive
td <s>{{ orgData.orgDesc }}</s>
else
td {{ orgData.orgDesc }}
if orgData.loginDisabled
td <s>{{ orgData.orgName }}</s>
if orgData.orgIsActive
td <s>{{ orgData.orgShortName }}</s>
else
td {{ orgData.orgName }}
if orgData.loginDisabled
td {{ orgData.orgShortName }}
if orgData.orgIsActive
td <s>{{ orgData.orgWebsite }}</s>
else
td {{ orgData.orgWebsite }}
if orgData.loginDisabled
if orgData.orgIsActive
td <s>{{ moment orgData.createdAt 'LLL' }}</s>
else
td {{ moment orgData.createdAt 'LLL' }}
td
if orgData.loginDisabled
if orgData.orgIsActive
| {{_ 'no'}}
else
| {{_ 'yes'}}
@@ -166,28 +168,28 @@ template(name="orgRow")
template(name="teamRow")
tr
if teamData.loginDisabled
if teamData.teamIsActive
td <s>{{ teamData.teamDisplayName }}</s>
else
td {{ teamData.teamDisplayName }}
if teamData.loginDisabled
if teamData.teamIsActive
td <s>{{ teamData.teamDesc }}</s>
else
td {{ teamData.teamDesc }}
if teamData.loginDisabled
td <s>{{ teamData.teamName }}</s>
if teamData.teamIsActive
td <s>{{ teamData.teamShortName }}</s>
else
td {{ teamData.teamName }}
if teamData.loginDisabled
td {{ teamData.teamShortName }}
if teamData.teamIsActive
td <s>{{ teamData.teamWebsite }}</s>
else
td {{ teamData.teamWebsite }}
if orgData.loginDisabled
if teamData.teamIsActive
td <s>{{ moment teamData.createdAt 'LLL' }}</s>
else
td {{ moment teamData.createdAt 'LLL' }}
td
if teamData.loginDisabled
if teamData.teamIsActive
| {{_ 'no'}}
else
| {{_ 'yes'}}
@@ -257,6 +259,14 @@ template(name="peopleRow")
td <s>{{ userData.importUsernamesString }}</s>
else
td {{ userData.importUsernamesString }}
if userData.loginDisabled
td <s>{{ userData.orgsUserBelongs }}</s>
else
td {{ userData.orgsUserBelongs }}
if userData.loginDisabled
td <s>{{ userData.teamsUserBelongs }}</s>
else
td {{ userData.teamsUserBelongs }}
td
a.edit-user
i.fa.fa-edit
@@ -269,7 +279,7 @@ template(name="editOrgPopup")
label.hide.orgId(type="text" value=org._id)
label
| {{_ 'displayName'}}
input.js-orgDisplayName(type="text" value=org.displayName required)
input.js-orgDisplayName(type="text" value=org.orgDisplayName required)
span.error.hide.orgname-taken
| {{_ 'error-orgname-taken'}}
label
@@ -285,7 +295,7 @@ template(name="editOrgPopup")
| {{_ 'active'}}
select.select-active.js-org-isactive
option(value="false") {{_ 'yes'}}
option(value="true" selected="{{org.loginDisabled}}") {{_ 'no'}}
option(value="true" selected="{{org.orgIsActive}}") {{_ 'no'}}
hr
div.buttonsContainer
input.primary.wide(type="submit" value="{{_ 'save'}}")
@@ -311,7 +321,7 @@ template(name="editTeamPopup")
| {{_ 'active'}}
select.select-active.js-team-isactive
option(value="false") {{_ 'yes'}}
option(value="true" selected="{{team.loginDisabled}}") {{_ 'no'}}
option(value="true" selected="{{team.teamIsActive}}") {{_ 'no'}}
hr
div.buttonsContainer
input.primary.wide(type="submit" value="{{_ 'save'}}")
@@ -367,6 +377,27 @@ template(name="editUserPopup")
option(value="{{value}}" selected) {{_ value}}
else
option(value="{{value}}") {{_ value}}
label
| {{_ 'organizations'}}
i.fa.fa-plus-square#addUserOrg
i.fa.fa-minus-square#removeUserOrg
select.js-orgs#jsOrgs
option(value="-1") {{_ 'organizations'}} :
each value in orgsDatas
option(value="{{value._id}}") {{_ value.orgDisplayName}}
input#jsUserOrgsInPut.js-userOrgs(type="text" value=user.orgsUserBelongs, disabled)
input#jsUserOrgIdsInPut.js-userOrgIds.hide(type="text" value=user.orgIdsUserBelongs)
label
| {{_ 'teams'}}
i.fa.fa-plus-square#addUserTeam
i.fa.fa-minus-square#removeUserTeam
select.js-teams#jsTeams
option(value="-1") {{_ 'teams'}} :
each value in teamsDatas
option(value="{{value._id}}") {{_ value.teamDisplayName}}
input#jsUserTeamsInPut.js-userteams(type="text" value=user.teamsUserBelongs, disabled)
input#jsUserTeamIdsInPut.js-userteamIds.hide(type="text" value=user.teamIdsUserBelongs)
hr
label
| {{_ 'password'}}
@@ -385,7 +416,7 @@ template(name="newOrgPopup")
input.js-orgDesc(type="text" value="" required)
label
| {{_ 'shortName'}}
input.js-orgName(type="text" value="" required)
input.js-orgShortName(type="text" value="" required)
label
| {{_ 'website'}}
input.js-orgWebsite(type="text" value="" required)
@@ -409,7 +440,7 @@ template(name="newTeamPopup")
input.js-teamDesc(type="text" value="" required)
label
| {{_ 'shortName'}}
input.js-teamName(type="text" value="" required)
input.js-teamShortName(type="text" value="" required)
label
| {{_ 'website'}}
input.js-teamWebsite(type="text" value="" required)
@@ -468,6 +499,27 @@ template(name="newUserPopup")
option(value="{{value}}" selected) {{_ value}}
else
option(value="{{value}}") {{_ value}}
label
| {{_ 'organizations'}}
i.fa.fa-plus-square#addUserOrgNewUser
i.fa.fa-minus-square#removeUserOrgNewUser
select.js-orgsNewUser#jsOrgsNewUser
option(value="-1") {{_ 'organizations'}} :
each value in orgsDatas
option(value="{{value._id}}") {{_ value.orgDisplayName}}
input#jsUserOrgsInPutNewUser.js-userOrgsNewUser(type="text" value=user.orgsUserBelongs, disabled)
input#jsUserOrgIdsInPutNewUser.js-userOrgIdsNewUser.hide(type="text" value=user.orgIdsUserBelongs)
label
| {{_ 'teams'}}
i.fa.fa-plus-square#addUserTeamNewUser
i.fa.fa-minus-square#removeUserTeamNewUser
select.js-teamsNewUser#jsTeamsNewUser
option(value="-1") {{_ 'teams'}} :
each value in teamsDatas
option(value="{{value._id}}") {{_ value.teamDisplayName}}
input#jsUserTeamsInPutNewUser.js-userteamsNewUser(type="text" value=user.teamsUserBelongs, disabled)
input#jsUserTeamIdsInPutNewUser.js-userteamIdsNewUser.hide(type="text" value=user.teamIdsUserBelongs)
hr
label
| {{_ 'password'}}
@@ -478,27 +530,34 @@ template(name="newUserPopup")
template(name="settingsOrgPopup")
ul.pop-over-list
li
a.impersonate-org
i.fa.fa-user
| {{_ 'impersonate-org'}}
// Delete is not enabled yet, because it does leave empty user avatars
// to boards: boards members, card members and assignees have
// empty users. See:
// - wekan/client/components/settings/peopleBody.jade deleteButton
// - wekan/client/components/settings/peopleBody.js deleteButton
// - wekan/client/components/sidebar/sidebar.js Popup.afterConfirm('removeMember'
// that does now remove member from board, card members and assignees correctly,
// but that should be used to remove user from all boards similarly
// - wekan/models/users.js Delete is not enabled
//li
// br
// br
// hr
//li
// form
// label.hide.userId(type="text" value=user._id)
// div.buttonsContainer
// input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
form
label
| {{_ 'delete-org-confirm-popup'}}
br
label.hide.orgId(type="text" value=org._id)
labeldelete-org-confirm-popup
div.buttonsContainer
input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
// It's not yet possible to impersonate organization. Only impersonate user,
// because that changes current user ID. What would it mean in practice
// to impersonate organization?
// li
// a.impersonate-org
// i.fa.fa-user
// | {{_ 'impersonate-org'}}
//
//
template(name="settingsTeamPopup")
ul.pop-over-list
li
form
label
| {{_ 'delete-team-confirm-popup'}}
br
label.hide.teamId(type="text" value=team._id)
div.buttonsContainer
input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
template(name="settingsUserPopup")
ul.pop-over-list
@@ -506,6 +565,12 @@ template(name="settingsUserPopup")
a.impersonate-user
i.fa.fa-user
| {{_ 'impersonate-user'}}
//hr
//li
// form
// label.hide.userId(type="text" value=user._id)
// div.buttonsContainer
// input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
// Delete is not enabled yet, because it does leave empty user avatars
// to boards: boards members, card members and assignees have
// empty users. See:
@@ -515,12 +580,3 @@ template(name="settingsUserPopup")
// that does now remove member from board, card members and assignees correctly,
// but that should be used to remove user from all boards similarly
// - wekan/models/users.js Delete is not enabled
//li
// br
// br
// hr
//li
// form
// label.hide.userId(type="text" value=user._id)
// div.buttonsContainer
// input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
+317 -92
View File
@@ -1,6 +1,7 @@
const orgsPerPage = 25;
const teamsPerPage = 25;
const usersPerPage = 25;
let userOrgsTeamsAction = ""; //poosible actions 'addOrg', 'addTeam', 'removeOrg' or 'removeTeam' when adding or modifying a user
BlazeComponent.extendComponent({
mixins() {
@@ -101,9 +102,7 @@ BlazeComponent.extendComponent({
];
},
filterPeople() {
const value = $('#searchInput')
.first()
.val();
const value = $('#searchInput').first().val();
if (value === '') {
this.findUsersOptions.set({});
} else {
@@ -150,7 +149,7 @@ BlazeComponent.extendComponent({
const teams = Team.find(this.findTeamsOptions.get(), {
fields: { _id: true },
});
this.numberTeams.set(team.count(false));
this.numberTeams.set(teams.count(false));
return teams;
},
peopleList() {
@@ -203,7 +202,7 @@ Template.peopleRow.helpers({
},
});
Template.editUserPopup.onCreated(function() {
Template.editUserPopup.onCreated(function () {
this.authenticationMethods = new ReactiveVar([]);
this.errorMessage = new ReactiveVar('');
@@ -215,8 +214,8 @@ Template.editUserPopup.onCreated(function() {
{ value: 'password' },
// Gets only the authentication methods availables
...Object.entries(result)
.filter(e => e[1])
.map(e => ({ value: e[0] })),
.filter((e) => e[1])
.map((e) => ({ value: e[0] })),
]);
}
});
@@ -247,6 +246,12 @@ Template.editUserPopup.helpers({
authentications() {
return Template.instance().authenticationMethods.get();
},
orgsDatas() {
return Org.find({}, {sort: { createdAt: -1 }});
},
teamsDatas() {
return Team.find({}, {sort: { createdAt: -1 }});
},
isSelected(match) {
const userId = Template.instance().data.userId;
const selected = Users.findOne(userId).authenticationMethod;
@@ -262,15 +267,15 @@ Template.editUserPopup.helpers({
},
});
Template.newOrgPopup.onCreated(function() {
Template.newOrgPopup.onCreated(function () {
this.errorMessage = new ReactiveVar('');
});
Template.newTeamPopup.onCreated(function() {
Template.newTeamPopup.onCreated(function () {
this.errorMessage = new ReactiveVar('');
});
Template.newUserPopup.onCreated(function() {
Template.newUserPopup.onCreated(function () {
this.authenticationMethods = new ReactiveVar([]);
this.errorMessage = new ReactiveVar('');
@@ -282,8 +287,8 @@ Template.newUserPopup.onCreated(function() {
{ value: 'password' },
// Gets only the authentication methods availables
...Object.entries(result)
.filter(e => e[1])
.map(e => ({ value: e[0] })),
.filter((e) => e[1])
.map((e) => ({ value: e[0] })),
]);
}
});
@@ -314,10 +319,21 @@ Template.newUserPopup.helpers({
authentications() {
return Template.instance().authenticationMethods.get();
},
orgsDatas() {
return Org.find({}, {sort: { createdAt: -1 }});
},
teamsDatas() {
return Team.find({}, {sort: { createdAt: -1 }});
},
isSelected(match) {
const userId = Template.instance().data.userId;
const selected = Users.findOne(userId).authenticationMethod;
return selected === match;
if(userId){
const selected = Users.findOne(userId).authenticationMethod;
return selected === match;
}
else{
false;
}
},
isLdap() {
const userId = Template.instance().data.userId;
@@ -407,7 +423,7 @@ BlazeComponent.extendComponent({
Template.editOrgPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const org = Orgs.findOne(this.orgId);
const org = Org.findOne(this.orgId);
const orgDisplayName = templateInstance
.find('.js-orgDisplayName')
@@ -415,7 +431,8 @@ Template.editOrgPopup.events({
const orgDesc = templateInstance.find('.js-orgDesc').value.trim();
const orgShortName = templateInstance.find('.js-orgShortName').value.trim();
const orgWebsite = templateInstance.find('.js-orgWebsite').value.trim();
const orgIsActive = templateInstance.find('.js-org-isactive').value.trim();
const orgIsActive =
templateInstance.find('.js-org-isactive').value.trim() == 'true';
const isChangeOrgDisplayName = orgDisplayName !== org.orgDisplayName;
const isChangeOrgDesc = orgDesc !== org.orgDesc;
@@ -423,20 +440,22 @@ Template.editOrgPopup.events({
const isChangeOrgWebsite = orgWebsite !== org.orgWebsite;
const isChangeOrgIsActive = orgIsActive !== org.orgIsActive;
if (isChangeOrgDisplayName) {
Meteor.call('setOrgDisplayName', org, orgDisplayName);
}
if (isChangeOrgDesc) {
Meteor.call('setOrgDesc', org, orgDesc);
}
if (isChangeOrgShortName) {
Meteor.call('setOrgShortName', org, orgShortName);
}
if (isChangeOrgIsActive) {
Meteor.call('setOrgIsActive', org, orgIsActive);
if (
isChangeOrgDisplayName ||
isChangeOrgDesc ||
isChangeOrgShortName ||
isChangeOrgWebsite ||
isChangeOrgIsActive
) {
Meteor.call(
'setOrgAllFields',
org,
orgDisplayName,
orgDesc,
orgShortName,
orgWebsite,
orgIsActive,
);
}
Popup.close();
@@ -446,7 +465,7 @@ Template.editOrgPopup.events({
Template.editTeamPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const team = Teams.findOne(this.teamId);
const team = Team.findOne(this.teamId);
const teamDisplayName = templateInstance
.find('.js-teamDisplayName')
@@ -456,9 +475,8 @@ Template.editTeamPopup.events({
.find('.js-teamShortName')
.value.trim();
const teamWebsite = templateInstance.find('.js-teamWebsite').value.trim();
const teamIsActive = templateInstance
.find('.js-team-isactive')
.value.trim();
const teamIsActive =
templateInstance.find('.js-team-isactive').value.trim() == 'true';
const isChangeTeamDisplayName = teamDisplayName !== team.teamDisplayName;
const isChangeTeamDesc = teamDesc !== team.teamDesc;
@@ -466,20 +484,22 @@ Template.editTeamPopup.events({
const isChangeTeamWebsite = teamWebsite !== team.teamWebsite;
const isChangeTeamIsActive = teamIsActive !== team.teamIsActive;
if (isChangeTeamDisplayName) {
Meteor.call('setTeamDisplayName', team, teamDisplayName);
}
if (isChangeTeamDesc) {
Meteor.call('setTeamDesc', team, teamDesc);
}
if (isChangeTeamShortName) {
Meteor.call('setTeamShortName', team, teamShortName);
}
if (isChangeTeamIsActive) {
Meteor.call('setTeamIsActive', team, teamIsActive);
if (
isChangeTeamDisplayName ||
isChangeTeamDesc ||
isChangeTeamShortName ||
isChangeTeamWebsite ||
isChangeTeamIsActive
) {
Meteor.call(
'setTeamAllFields',
team,
teamDisplayName,
teamDesc,
teamShortName,
teamWebsite,
teamIsActive,
);
}
Popup.close();
@@ -497,15 +517,13 @@ Template.editUserPopup.events({
const isAdmin = templateInstance.find('.js-profile-isadmin').value.trim();
const isActive = templateInstance.find('.js-profile-isactive').value.trim();
const email = templateInstance.find('.js-profile-email').value.trim();
const verified = templateInstance
.find('.js-profile-email-verified')
.value.trim();
const authentication = templateInstance
.find('.js-authenticationMethod')
.value.trim();
const importUsernames = templateInstance
.find('.js-import-usernames')
.value.trim();
const verified = templateInstance.find('.js-profile-email-verified').value.trim();
const authentication = templateInstance.find('.js-authenticationMethod').value.trim();
const importUsernames = templateInstance.find('.js-import-usernames').value.trim();
const userOrgs = templateInstance.find('.js-userOrgs').value.trim();
const userOrgsIds = templateInstance.find('.js-userOrgIds').value.trim();
const userTeams = templateInstance.find('.js-userteams').value.trim();
const userTeamsIds = templateInstance.find('.js-userteamIds').value.trim();
const isChangePassword = password.length > 0;
const isChangeUserName = username !== user.username;
@@ -530,6 +548,36 @@ Template.editUserPopup.events({
},
});
let userTeamsList = userTeams.split(",");
let userTeamsIdsList = userTeamsIds.split(",");
let userTms = [];
for(let i = 0; i < userTeamsList.length; i++){
userTms.push({
"teamId": userTeamsIdsList[i],
"teamDisplayName": userTeamsList[i],
})
}
Users.update(this.userId, {
$set:{
teams: userTms
}
});
let userOrgsList = userOrgs.split(",");
let userOrgsIdsList = userOrgsIds.split(",");
let userOrganizations = [];
for(let i = 0; i < userOrgsList.length; i++){
userOrganizations.push({
"orgId": userOrgsIdsList[i],
"orgDisplayName": userOrgsList[i],
})
}
Users.update(this.userId, {
$set:{
orgs: userOrganizations
}
});
if (isChangePassword) {
Meteor.call('setPassword', password, this.userId);
}
@@ -548,7 +596,7 @@ Template.editUserPopup.events({
username,
email.toLowerCase(),
this.userId,
function(error) {
function (error) {
const usernameMessageElement = templateInstance.$('.username-taken');
const emailMessageElement = templateInstance.$('.email-taken');
if (error) {
@@ -568,7 +616,7 @@ Template.editUserPopup.events({
},
);
} else if (isChangeUserName) {
Meteor.call('setUsername', username, this.userId, function(error) {
Meteor.call('setUsername', username, this.userId, function (error) {
const usernameMessageElement = templateInstance.$('.username-taken');
if (error) {
const errorElement = error.error;
@@ -581,24 +629,138 @@ Template.editUserPopup.events({
}
});
} else if (isChangeEmail) {
Meteor.call('setEmail', email.toLowerCase(), this.userId, function(
error,
) {
const emailMessageElement = templateInstance.$('.email-taken');
if (error) {
const errorElement = error.error;
if (errorElement === 'email-already-taken') {
emailMessageElement.show();
Meteor.call(
'setEmail',
email.toLowerCase(),
this.userId,
function (error) {
const emailMessageElement = templateInstance.$('.email-taken');
if (error) {
const errorElement = error.error;
if (errorElement === 'email-already-taken') {
emailMessageElement.show();
}
} else {
emailMessageElement.hide();
Popup.close();
}
} else {
emailMessageElement.hide();
Popup.close();
}
});
},
);
} else Popup.close();
},
'click #addUserOrg'(event) {
event.preventDefault();
userOrgsTeamsAction = "addOrg";
document.getElementById("jsOrgs").style.display = 'block';
document.getElementById("jsTeams").style.display = 'none';
},
'click #removeUserOrg'(event) {
event.preventDefault();
userOrgsTeamsAction = "removeOrg";
document.getElementById("jsOrgs").style.display = 'block';
document.getElementById("jsTeams").style.display = 'none';
},
'click #addUserTeam'(event) {
event.preventDefault();
userOrgsTeamsAction = "addTeam";
document.getElementById("jsTeams").style.display = 'block';
document.getElementById("jsOrgs").style.display = 'none';
},
'click #removeUserTeam'(event) {
event.preventDefault();
userOrgsTeamsAction = "removeTeam";
document.getElementById("jsTeams").style.display = 'block';
document.getElementById("jsOrgs").style.display = 'none';
},
'change #jsOrgs'(event) {
event.preventDefault();
UpdateUserOrgsOrTeamsElement();
},
'change #jsTeams'(event) {
event.preventDefault();
UpdateUserOrgsOrTeamsElement();
},
});
UpdateUserOrgsOrTeamsElement = function(isNewUser = false){
let selectedElt;
let selectedEltValue;
let selectedEltValueId;
let inputElt;
let inputEltId;
let lstInputValues = [];
let lstInputValuesIds = [];
let index;
let indexId;
switch(userOrgsTeamsAction)
{
case "addOrg":
case "removeOrg":
inputElt = !isNewUser ? document.getElementById("jsUserOrgsInPut") : document.getElementById("jsUserOrgsInPutNewUser");
inputEltId = !isNewUser ? document.getElementById("jsUserOrgIdsInPut") : document.getElementById("jsUserOrgIdsInPutNewUser");
selectedElt = !isNewUser ? document.getElementById("jsOrgs") : document.getElementById("jsOrgsNewUser");
break;
case "addTeam":
case "removeTeam":
inputElt = !isNewUser ? document.getElementById("jsUserTeamsInPut") : document.getElementById("jsUserTeamsInPutNewUser");
inputEltId = !isNewUser ? document.getElementById("jsUserTeamIdsInPut") : document.getElementById("jsUserTeamIdsInPutNewUser");
selectedElt = !isNewUser ? document.getElementById("jsTeams") : document.getElementById("jsTeamsNewUser");
break;
default:
break;
}
selectedEltValue = selectedElt.options[selectedElt.selectedIndex].text;
selectedEltValueId = selectedElt.options[selectedElt.selectedIndex].value;
lstInputValues = inputElt.value.trim().split(",");
if(lstInputValues.length == 1 && lstInputValues[0] == ''){
lstInputValues = [];
}
lstInputValuesIds = inputEltId.value.trim().split(",");
if(lstInputValuesIds.length == 1 && lstInputValuesIds[0] == ''){
lstInputValuesIds = [];
}
index = lstInputValues.indexOf(selectedEltValue);
indexId = lstInputValuesIds.indexOf(selectedEltValue);
if(userOrgsTeamsAction == "addOrg" || userOrgsTeamsAction == "addTeam"){
if(index <= -1 && selectedEltValueId != "-1"){
lstInputValues.push(selectedEltValue);
}
if(indexId <= -1 && selectedEltValueId != "-1"){
lstInputValuesIds.push(selectedEltValueId);
}
}
else{
if(index > -1 && selectedEltValueId != "-1"){
lstInputValues.splice(index, 1);
}
if(indexId > -1 && selectedEltValueId != "-1"){
lstInputValuesIds.splice(indexId, 1);
}
}
if(lstInputValues.length > 0){
inputElt.value = lstInputValues.join(",");
}
else{
inputElt.value = "";
}
if(lstInputValuesIds.length > 0){
inputEltId.value = lstInputValuesIds.join(",");
}
else{
inputEltId.value = "";
}
selectedElt.value = "-1";
selectedElt.style.display = "none";
}
Template.newOrgPopup.events({
submit(event, templateInstance) {
event.preventDefault();
@@ -608,7 +770,8 @@ Template.newOrgPopup.events({
const orgDesc = templateInstance.find('.js-orgDesc').value.trim();
const orgShortName = templateInstance.find('.js-orgShortName').value.trim();
const orgWebsite = templateInstance.find('.js-orgWebsite').value.trim();
const orgIsActive = templateInstance.find('.js-org-isactive').value.trim();
const orgIsActive =
templateInstance.find('.js-org-isactive').value.trim() == 'true';
Meteor.call(
'setCreateOrg',
@@ -633,9 +796,8 @@ Template.newTeamPopup.events({
.find('.js-teamShortName')
.value.trim();
const teamWebsite = templateInstance.find('.js-teamWebsite').value.trim();
const teamIsActive = templateInstance
.find('.js-team-isactive')
.value.trim();
const teamIsActive =
templateInstance.find('.js-team-isactive').value.trim() == 'true';
Meteor.call(
'setCreateTeam',
@@ -662,6 +824,30 @@ Template.newUserPopup.events({
const importUsernames = Users.parseImportUsernames(
templateInstance.find('.js-import-usernames').value,
);
const userOrgs = templateInstance.find('.js-userOrgsNewUser').value.trim();
const userOrgsIds = templateInstance.find('.js-userOrgIdsNewUser').value.trim();
const userTeams = templateInstance.find('.js-userteamsNewUser').value.trim();
const userTeamsIds = templateInstance.find('.js-userteamIdsNewUser').value.trim();
let userTeamsList = userTeams.split(",");
let userTeamsIdsList = userTeamsIds.split(",");
let userTms = [];
for(let i = 0; i < userTeamsList.length; i++){
userTms.push({
"teamId": userTeamsIdsList[i],
"teamDisplayName": userTeamsList[i],
})
}
let userOrgsList = userOrgs.split(",");
let userOrgsIdsList = userOrgsIds.split(",");
let userOrganizations = [];
for(let i = 0; i < userOrgsList.length; i++){
userOrganizations.push({
"orgId": userOrgsIdsList[i],
"orgDisplayName": userOrgsList[i],
})
}
Meteor.call(
'setCreateUser',
@@ -673,6 +859,8 @@ Template.newUserPopup.events({
isActive,
email.toLowerCase(),
importUsernames,
userOrganizations,
userTms,
function(error) {
const usernameMessageElement = templateInstance.$('.username-taken');
const emailMessageElement = templateInstance.$('.email-taken');
@@ -694,13 +882,65 @@ Template.newUserPopup.events({
);
Popup.close();
},
'click #addUserOrgNewUser'(event) {
event.preventDefault();
userOrgsTeamsAction = "addOrg";
document.getElementById("jsOrgsNewUser").style.display = 'block';
document.getElementById("jsTeamsNewUser").style.display = 'none';
},
'click #removeUserOrgNewUser'(event) {
event.preventDefault();
userOrgsTeamsAction = "removeOrg";
document.getElementById("jsOrgsNewUser").style.display = 'block';
document.getElementById("jsTeamsNewUser").style.display = 'none';
},
'click #addUserTeamNewUser'(event) {
event.preventDefault();
userOrgsTeamsAction = "addTeam";
document.getElementById("jsTeamsNewUser").style.display = 'block';
document.getElementById("jsOrgsNewUser").style.display = 'none';
},
'click #removeUserTeamNewUser'(event) {
event.preventDefault();
userOrgsTeamsAction = "removeTeam";
document.getElementById("jsTeamsNewUser").style.display = 'block';
document.getElementById("jsOrgsNewUser").style.display = 'none';
},
'change #jsOrgsNewUser'(event) {
event.preventDefault();
UpdateUserOrgsOrTeamsElement(true);
},
'change #jsTeamsNewUser'(event) {
event.preventDefault();
UpdateUserOrgsOrTeamsElement(true);
},
});
Template.settingsOrgPopup.events({
'click #deleteButton'(event) {
event.preventDefault();
Org.remove(this.orgId);
Popup.close();
}
});
Template.settingsTeamPopup.events({
'click #deleteButton'(event) {
event.preventDefault();
Team.remove(this.teamId);
Popup.close();
}
});
Template.settingsUserPopup.events({
'click .impersonate-user'(event) {
event.preventDefault();
Meteor.call('impersonate', this.userId, err => {
Meteor.call('impersonate', this.userId, (err) => {
if (!err) {
FlowRouter.go('/');
Meteor.connection.setUserId(this.userId);
@@ -720,21 +960,6 @@ Template.settingsUserPopup.events({
// but that should be used to remove user from all boards similarly
// - wekan/models/users.js Delete is not enabled
//
//console.log('user id: ' + this.userId);
//Popup.afterConfirm('userDelete', function(event) {
//Boards.find({ members: this.userId }).forEach(board => {
// console.log('board id: ' + board._id);
//Cards.find({ boardId: board._id, members: this.userId }).forEach(card => {
// card.unassignMember(this.userId);
//});
//Cards.find({ boardId: board._id, members: this.userId }).forEach(card => {
// card.unassignMember(this.userId);
//});
//Cards.find({ boardId: board._id, assignees: this.userId }).forEach(card => {
// card.unassignAssignee(this.userId);
//});
//Boards.findOne({ boardId: board._id }).removeMember(this.userId);
//});
//Users.remove(this.userId);
*/
Popup.close();
@@ -49,3 +49,9 @@ table
.more-settings-user,.more-settings-team,.more-settings-org
margin-left: 10px;
.js-orgs,.js-orgsNewUser
display: none;
.js-teams,.js-teamsNewUser
display: none;
@@ -173,6 +173,9 @@ template(name='layoutSettings')
li.layout-form
.title {{_ 'default-authentication-method'}}
+selectAuthenticationMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
li.layout-form
.title {{_ 'wait-spinner'}}
+selectSpinnerName(spinnerName=currentSetting.spinnerName)
li.layout-form
.title {{_ 'custom-product-name'}}
.form-group
@@ -222,3 +225,11 @@ template(name='selectAuthenticationMethod')
option(value="{{value}}" selected) {{_ value}}
else
option(value="{{value}}") {{_ value}}
template(name='selectSpinnerName')
select#spinnerName
each spinner in spinners
if isSelected spinner
option(value="{{spinner}}" selected) {{_ spinner}}
else
option(value="{{spinner}}") {{_ spinner}}
+14
View File
@@ -1,3 +1,5 @@
import { ALLOWED_WAIT_SPINNERS } from '/config/const';
BlazeComponent.extendComponent({
onCreated() {
this.error = new ReactiveVar('');
@@ -199,6 +201,8 @@ BlazeComponent.extendComponent({
$('input[name=displayAuthenticationMethod]:checked').val() === 'true';
const defaultAuthenticationMethod = $('#defaultAuthenticationMethod').val();
const spinnerName = $('#spinnerName').val();
try {
Settings.update(Settings.findOne()._id, {
$set: {
@@ -213,6 +217,7 @@ BlazeComponent.extendComponent({
displayAuthenticationMethod,
defaultAuthenticationMethod,
automaticLinkedUrlSchemes,
spinnerName,
},
});
} catch (e) {
@@ -384,3 +389,12 @@ Template.selectAuthenticationMethod.helpers({
return Template.instance().data.authenticationMethod === match;
},
});
Template.selectSpinnerName.helpers({
spinners() {
return ALLOWED_WAIT_SPINNERS;
},
isSelected(match) {
return Template.instance().data.spinnerName === match;
},
});
+16 -8
View File
@@ -5,10 +5,6 @@ template(name="sidebar")
// title="{{showTongueTitle}}")
// i.fa.fa-navicon
.sidebar-shadow
.sidebar-content.sidebar-shortcuts
a.board-header-btn.js-shortcuts
i.fa.fa-keyboard-o
span {{_ 'keyboard-shortcuts' }}
.sidebar-content.js-board-sidebar-content
//a.hide-btn.js-hide-sidebar
// i.fa.fa-navicon
@@ -23,7 +19,7 @@ template(name='homeSidebar')
hr
+labelsWidget
ul#cards.label-text-hidden
a.flex.js-toggle-minicard-label-text
a.flex.js-toggle-minicard-label-text(title="{{_ 'hide-minicard-label-text'}}")
span {{_ 'hide-minicard-label-text'}}
b &nbsp;
.materialCheckBox(class="{{#if hiddenMinicardLabelText}}is-checked{{/if}}")
@@ -39,6 +35,12 @@ template(name="membersWidget")
h3
i.fa.fa-users
| {{_ 'members'}}
.sidebar-shortcuts
a.board-header-btn.js-shortcuts(title="{{_ 'keyboard-shortcuts' }}")
i.fa.fa-keyboard-o
span {{_ 'keyboard-shortcuts' }}
unless currentUser.isCommentOnly
unless currentUser.isWorker
a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
@@ -49,10 +51,10 @@ template(name="membersWidget")
+userAvatar(userId=this.userId showStatus=true)
if isSandstorm
if currentUser.isBoardMember
a.member.add-member.sandstorm-powerbox-request-identity
a.member.add-member.sandstorm-powerbox-request-identity(title="{{_ 'add-members'}}")
i.fa.fa-plus
else if currentUser.isBoardAdmin
a.member.add-member.js-manage-board-members
a.member.add-member.js-manage-board-members(title="{{_ 'add-members'}}")
i.fa.fa-plus
.clearfix
if isInvited
@@ -131,6 +133,12 @@ template(name="boardCardSettingsPopup")
span
i.fa.fa-user-plus
| {{_ 'requested-by'}}
div.check-div
a.flex.js-field-has-card-sorting-by-number(class="{{#if allowsCardSortingByNumber}}is-checked{{/if}}")
.materialCheckBox(class="{{#if allowsCardSortingByNumber}}is-checked{{/if}}")
span
i.fa.fa-sort
| {{_ 'card-sorting-by-number'}}
div.check-div
a.flex.js-field-has-labels(class="{{#if allowsLabels}}is-checked{{/if}}")
.materialCheckBox(class="{{#if allowsLabels}}is-checked{{/if}}")
@@ -362,7 +370,7 @@ template(name="labelsWidget")
+viewer
= name
if currentUser.isBoardAdmin
a.card-label.add-label.js-add-label
a.card-label.add-label.js-add-label(title="{{_ 'label-create'}}")
i.fa.fa-plus
template(name="memberPopup")
+20
View File
@@ -754,6 +754,10 @@ BlazeComponent.extendComponent({
return this.currentBoard.allowsRequestedBy;
},
allowsCardSortingByNumber() {
return this.currentBoard.allowsCardSortingByNumber;
},
allowsLabels() {
return this.currentBoard.allowsLabels;
},
@@ -968,6 +972,22 @@ BlazeComponent.extendComponent({
this.currentBoard.allowsRequestedBy,
);
},
'click .js-field-has-card-sorting-by-number'(evt) {
evt.preventDefault();
this.currentBoard.allowsCardSortingByNumber = !this.currentBoard
.allowsCardSortingByNumber;
this.currentBoard.setAllowsCardSortingByNumber(
this.currentBoard.allowsCardSortingByNumber,
);
$(`.js-field-has-card-sorting-by-number ${MCB}`).toggleClass(
CKCLS,
this.currentBoard.allowsCardSortingByNumber,
);
$('.js-field-has-card-sorting-by-number').toggleClass(
CKCLS,
this.currentBoard.allowsCardSortingByNumber,
);
},
'click .js-field-has-labels'(evt) {
evt.preventDefault();
this.currentBoard.allowsLabels = !this.currentBoard.allowsLabels;
+3 -4
View File
@@ -100,13 +100,12 @@
margin-right: 10px
.sidebar-shortcuts
margin: 0
position: absolute
margin-left: 40%
padding: 0
top: auto
text-align: center
top: 7px
font-size: 0.8em
line-height: 1.6em
vertical-align: middle
color: darken(white, 40%)
.board-sidebar
@@ -1,5 +1,5 @@
template(name="swimlaneHeader")
.swimlane-header-wrap.js-swimlane-header(class=colorClass)
.swimlane-header-wrap.js-swimlane-header(class=colorClass title="{{_ 'rename'}}")
if this.isTemplateContainer
+swimlaneFixedHeader(this)
else
@@ -16,8 +16,8 @@ template(name="swimlaneFixedHeader")
.swimlane-header-menu
unless currentUser.isCommentOnly
if currentUser.isBoardAdmin
a.fa.fa-plus.js-open-add-swimlane-menu.swimlane-header-plus-icon
a.fa.fa-navicon.js-open-swimlane-menu
a.fa.fa-plus.js-open-add-swimlane-menu.swimlane-header-plus-icon(title="{{_ 'add-swimlane'}}")
a.fa.fa-navicon.js-open-swimlane-menu(title="{{_ 'swimlaneActionPopup-title'}}")
unless isMiniScreen
if showDesktopDragHandles
a.swimlane-header-handle.handle.fa.fa-arrows.js-swimlane-header-handle
+1 -2
View File
@@ -58,9 +58,8 @@ template(name="addListForm")
| {{_ 'or'}}
a.js-list-template {{_ 'template'}}
else
a.open-list-composer.js-open-inlined-form
a.open-list-composer.js-open-inlined-form(title="{{_ 'add-list'}}")
i.fa.fa-plus
| {{_ 'add-list'}}
template(name="moveSwimlanePopup")
unless currentUser.isWorker
+1 -1
View File
@@ -1,6 +1,6 @@
template(name="headerUserBar")
#header-user-bar
a.header-user-bar-name.js-open-header-member-menu
a.header-user-bar-name.js-open-header-member-menu(title="{{_ 'memberMenuPopup-title'}}")
.header-user-bar-avatar
+userAvatar(userId=currentUser._id)
unless isMiniScreen
+27
View File
@@ -0,0 +1,27 @@
Meteor.subscribe('setting');
import { ALLOWED_WAIT_SPINNERS } from '/config/const';
export class Spinner extends BlazeComponent {
currentSettings() {
return Settings.findOne();
}
getSpinnerName() {
let ret = 'Bounce';
let defaultWaitSpinner = Meteor.settings.public.WAIT_SPINNER;
if (defaultWaitSpinner && ALLOWED_WAIT_SPINNERS.includes(defaultWaitSpinner)) {
ret = defaultWaitSpinner;
}
let settings = this.currentSettings();
if (settings && settings.spinnerName) {
ret = settings.spinnerName;
}
return ret;
}
getSpinnerTemplate() {
return 'spinner' + this.getSpinnerName().replace(/-/, '');
}
}
+10
View File
@@ -49,3 +49,13 @@ export const TYPE_LINKED_BOARD = 'cardType-linkedBoard';
export const TYPE_LINKED_CARD = 'cardType-linkedCard';
export const TYPE_TEMPLATE_BOARD = 'template-board';
export const TYPE_TEMPLATE_CONTAINER = 'template-container';
export const ALLOWED_WAIT_SPINNERS = [
'Bounce',
'Cube',
'Cube-Grid',
'Dot',
'Double-Bounce',
'Rotateplane',
'Scaleout',
'Wave'
];
+8 -5
View File
@@ -68,7 +68,7 @@ version: '2'
# docker exec -it wekan-db bash
# # 3) and data directory
# cd /data
# # 4) Remove previos dump
# # 4) Remove previous dump
# rm -rf dump
# # 5) Exit db container
# exit
@@ -281,7 +281,7 @@ services:
#- NOTIFY_DUE_AT_HOUR_OF_DAY=8
#-----------------------------------------------------------------
# ==== EMAIL NOTIFICATION TIMEOUT, ms =====
# Defaut: 30000 ms = 30s
# Default: 30000 ms = 30s
#- EMAIL_NOTIFICATION_TIMEOUT=30000
#-----------------------------------------------------------------
# ==== CORS =====
@@ -348,7 +348,7 @@ services:
#- OAUTH2_USERNAME_MAP=email
# The claim name you want to map to the full name field:
#- OAUTH2_FULLNAME_MAP=name
# Tthe claim name you want to map to the email field:
# The claim name you want to map to the email field:
#- OAUTH2_EMAIL_MAP=email
#-----------------------------------------------------------------
# ==== OAUTH2 Nextcloud ====
@@ -374,7 +374,7 @@ services:
#- OAUTH2_USERNAME_MAP=id
# The claim name you want to map to the full name field:
#- OAUTH2_FULLNAME_MAP=display-name
# Tthe claim name you want to map to the email field:
# The claim name you want to map to the email field:
#- OAUTH2_EMAIL_MAP=email
#-----------------------------------------------------------------
# ==== OAUTH2 KEYCLOAK ====
@@ -526,7 +526,7 @@ services:
# The attribute inside a group object listing its members. Example: member
#- LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
#
# The format of the value of LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE. Example: 'dn' if the users dn ist saved as value into the attribute.
# The format of the value of LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE. Example: 'dn' if the users dn is saved as value into the attribute.
#- LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
#
# The group name (id) that matches all users.
@@ -618,6 +618,9 @@ services:
#- SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE=
#- SAML_ATTRIBUTES=
#---------------------------------------------------------------------
# Wait spinner to use
# - WAIT_SPINNER=Bounce
#---------------------------------------------------------------------
depends_on:
- wekandb
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Добави прикачен файл",
"add-board": "Добави Табло",
"add-card": "Добави карта",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Добави коридор",
"add-subtask": "Добави подзадача",
"add-checklist": "Добави списък със задачи",
@@ -131,6 +133,7 @@
"board-not-found": "Таблото не е намерено",
"board-private-info": "Това табло ще бъде <strong>лично</strong>",
"board-public-info": "Това табло ще бъде <strong>публично</strong>",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Променете фона на таблото",
"boardChangeTitlePopup-title": "Промени името на Таблото",
"boardChangeVisibilityPopup-title": "Променете видимостта",
@@ -178,6 +181,27 @@
"vote-against": "против",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Желаете да изтриете картата?",
"cardDetailsActionsPopup-title": "Опции",
"cardLabelsPopup-title": "Етикети",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Карти",
"cards-count": "Карти",
"cards-count-one": "Карта",
"casSignIn": "Sign In with CAS",
"cardType-card": "Карта",
"cardType-linkedCard": "Свързана карта",
@@ -208,6 +233,7 @@
"close": "Затвори",
"close-board": "Затвори Таблото",
"close-board-pop": "Ще можете да възстановите Таблото като натиснете на бутона \"Архив\" в началото на хедъра.",
"close-card": "Close Card",
"color-black": "черно",
"color-blue": "синьо",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Експортиране на Табло",
"exportCardPopup-title": "Export card",
"sort": "Сортирай",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Изберете цвят",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "Потребителски настройки",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Импорт на карта от Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Избери цвят",
"assigned-by": "Разпределена от",
"requested-by": "Поискан от",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Изтриването е перманентно. Ще загубите всички списъци, карти и действия асоциирани с тази дъска.",
"delete-board-confirm-popup": "Всички списъци, карти, имена и действия ще бъдат изтрити и няма да можете да възстановите съдържанието на дъската. Няма връщане назад.",
"boardDeletePopup-title": "Изтриване на Таблото?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Diverkañ ar gartenn ?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Kartennoù",
"cards-count": "Kartennoù",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "du",
"color-blue": "glas",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Afegeix adjunt",
"add-board": "Afegeix Tauler",
"add-card": "Afegeix Fitxa",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Afegeix carril de natació",
"add-subtask": "Afegir Subtasca",
"add-checklist": "Afegeix checklist",
@@ -131,6 +133,7 @@
"board-not-found": "No s'ha trobat el tauler",
"board-private-info": "Aquest tauler serà <strong> privat.",
"board-public-info": "Aquest tauler serà <strong> públic.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Canvia fons del tauler",
"boardChangeTitlePopup-title": "Canvia el nom tauler",
"boardChangeVisibilityPopup-title": "Canvia visibilitat",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Esborrar fitxa?",
"cardDetailsActionsPopup-title": "Accions de fitxes",
"cardLabelsPopup-title": "Etiquetes",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Fitxes",
"cards-count": "Fitxes",
"cards-count-one": "Fitxa",
"casSignIn": "Sign In with CAS",
"cardType-card": "Fitxa",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Tanca",
"close-board": "Tanca tauler",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "negre",
"color-blue": "blau",
"color-crimson": "carmesí",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exporta tauler",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "Accions de la llista",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Accions de Carril de Natació",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "importa una fitxa de Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assignat Per",
"requested-by": "Demanat Per",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Tilføj vedhæftning",
"add-board": "Tilføj tavle",
"add-card": "Tilføj kort",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Tilføj svømmebane",
"add-subtask": "Tilføj delopgave",
"add-checklist": "Tilføj tjekliste",
@@ -131,6 +133,7 @@
"board-not-found": "Fandt ikke tavle ",
"board-private-info": "Denne tavle vil være <strong>privat</strong>.",
"board-public-info": "Denne tavle vil være <strong>offentlig</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Skift tavlens baggrund",
"boardChangeTitlePopup-title": "Omdøb tavle",
"boardChangeVisibilityPopup-title": "Tilpas synlighed",
@@ -178,6 +181,27 @@
"vote-against": "går imod",
"deleteVotePopup-title": "Slet afstemning?",
"vote-delete-pop": "Sletning er permanent. Du mister alle handlinger knyttet til denne afstemning.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Slet kort?",
"cardDetailsActionsPopup-title": "Handlinger for kort",
"cardLabelsPopup-title": "Etiketter",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Opret skabelon",
"cards": "Kort",
"cards-count": "Kort",
"cards-count-one": "Kort",
"casSignIn": "Log ind med CAS",
"cardType-card": "Kort",
"cardType-linkedCard": "Sammenkædet kort",
@@ -208,6 +233,7 @@
"close": "Luk",
"close-board": "Luk tavle",
"close-board-pop": "Du har mulighed for at genskabe tavlen ved at klikke på \"Arkiv\"-knappen fra overskriften hjem.",
"close-card": "Close Card",
"color-black": "sort",
"color-blue": "blå",
"color-crimson": "crimsonrød",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Eksportér tavle til HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Eksportér tavle",
"exportCardPopup-title": "Export card",
"sort": "Sortér",
"sort-desc": "Klik for at sortere listen",
"list-sort-by": "Sortér listen efter:",
@@ -421,6 +451,8 @@
"set-color-list": "Angiv farve",
"listActionPopup-title": "Handlinger for liste",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Handlinger for svømmebane",
"swimlaneAddPopup-title": "Tilføj en svømmebane nedenfor",
"listImportCardPopup-title": "Importér et Trello-kort",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Vælg en farve",
"assigned-by": "Tildelt af",
"requested-by": "Anmodet af",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Sletning er permanent. Du vil miste alle lister, kort og handlinger knyttet til denne tavle.",
"delete-board-confirm-popup": "Alle lister, kort, etiketter og aktiviteter vil blive slettet og du får ikke mulighed for at genskabe tavlens indhold. Dette kan ikke fortrydes.",
"boardDeletePopup-title": "Slet tavle?",
@@ -817,6 +850,8 @@
"act-duenow": "påmindede om at aktuelt forfald (__timeValue__) of __card__ er nu",
"act-atUserComment": "Du blev nævnt i [__board__] __list__/__card__",
"delete-user-confirm-popup": "Er du sikker på du vil slette denne konto? Det er ikke muligt at fortryde.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Tillad brugere at slette deres egen konto",
"hide-minicard-label-text": "Skjul etiketteteksten for minikort",
"show-desktop-drag-handles": "Vis trække-håndtag for skrivebord",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Προσθήκη Συνημμένου",
"add-board": "Προσθήκη Πίνακα",
"add-card": "Προσθήκη Κάρτας",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Προσθήκη Λωρίδας",
"add-subtask": "Προσθήκη Υποεργασίας",
"add-checklist": "Προσθήκη Λίστας ελέγχου",
@@ -131,6 +133,7 @@
"board-not-found": "Ο πίνακας δε βρέθηκε",
"board-private-info": "Αυτός ο πίνακας θα είναι <strong>κρυφός</strong>.",
"board-public-info": "Αυτός ο πίνακας θα είναι <strong>δημόσιος</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Αλλαγή Φόντου Πίνακα",
"boardChangeTitlePopup-title": "Μετονομασία Πίνακα",
"boardChangeVisibilityPopup-title": "Αλλαγή Ορατότητας",
@@ -178,6 +181,27 @@
"vote-against": "εναντίον",
"deleteVotePopup-title": "Διαγραφή ψήφου;",
"vote-delete-pop": "Μόνιμη Διαγραφή. Θα χάσετε όλες τις ενέργειες που σχετίζονται με αυτή την ψήφο.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Διαγραφή Κάρτας;",
"cardDetailsActionsPopup-title": "Ενέργειες κάρτας",
"cardLabelsPopup-title": "Ετικέτες",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Δημιουργία προτύπου",
"cards": "Κάρτες",
"cards-count": "Κάρτες",
"cards-count-one": "Κάρτα",
"casSignIn": "Σύνδεση χρήστη με CAS",
"cardType-card": "Κάρτα",
"cardType-linkedCard": "Συνδεδεμένη Κάρτα",
@@ -208,6 +233,7 @@
"close": "Κλείσιμο",
"close-board": "Κλείσιμο Πίνακα",
"close-board-pop": "Μελλοντικά μπορείτε να επαναφέρετε τον πίνακα κάνοντας κλικ στο κουμπί \"Αρχειοθέτηση\" από την αρχική επικεφαλίδα. ",
"close-card": "Close Card",
"color-black": "μαύρο",
"color-blue": "μπλε",
"color-crimson": "βυσσινί",
@@ -332,7 +358,11 @@
"export-board-excel": "Εξαγωγή πίνακα σε Excel",
"user-can-not-export-excel": "Ο χρήστης δε μπορεί να εξάγει σε Excel",
"export-board-html": "Εξαγωγή πίνακα σε HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Εξαγωγή πίνακα",
"exportCardPopup-title": "Export card",
"sort": "Ταξινόμηση",
"sort-desc": "Κάντε κλικ για να ταξινομήστε τη λίστα",
"list-sort-by": "Ταξινόμηση λίστας βάσει:",
@@ -421,6 +451,8 @@
"set-color-list": "Ρύθμιση Χρώματος",
"listActionPopup-title": "Ενέργειες Λίστας",
"settingsUserPopup-title": "Ρυθμίσεις Χρήστη",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Ενέργειες λωρίδας",
"swimlaneAddPopup-title": "Προσθήκη μιας Λωρίδας παρακάτω",
"listImportCardPopup-title": "Εισαγωγή μιας κάρτας Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Επιλέξτε ένα χρώμα",
"assigned-by": "Ανατέθηκε Από",
"requested-by": "Αιτήθηκε Από",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Διαγραφή Πίνακα;",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1007,5 +1042,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Renomi tavolon",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Etikedoj",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Kartoj",
"cards-count": "Kartoj",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Fermi",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "nigra",
"color-blue": "blua",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Agregar Adjunto",
"add-board": "Agregar Tablero",
"add-card": "Agregar Tarjeta",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Agregar Calle",
"add-subtask": "Agregar Subtarea",
"add-checklist": "Agregar Lista de Tareas",
@@ -131,6 +133,7 @@
"board-not-found": "Tablero no encontrado",
"board-private-info": "Este tablero va a ser <strong>privado</strong>.",
"board-public-info": "Este tablero va a ser <strong>público</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Cambiar Fondo del Tablero",
"boardChangeTitlePopup-title": "Renombrar Tablero",
"boardChangeVisibilityPopup-title": "Cambiar Visibilidad",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "¿Borrar Tarjeta?",
"cardDetailsActionsPopup-title": "Acciones de la Tarjeta",
"cardLabelsPopup-title": "Etiquetas",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Crear plantilla",
"cards": "Tarjetas",
"cards-count": "Tarjetas",
"cards-count-one": "Tarjeta",
"casSignIn": "Ingresar con CAS",
"cardType-card": "Tarjeta",
"cardType-linkedCard": "Tarjeta Vinculada",
@@ -208,6 +233,7 @@
"close": "Cerrar",
"close-board": "Cerrar Tablero",
"close-board-pop": "Podrás restaurar el tablero clickeando el \"Archivo\" desde el encabesado de inicio.",
"close-card": "Close Card",
"color-black": "negro",
"color-blue": "azul",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exportar tablero",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "Listar Acciones",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Acciones de la Calle",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Importar una tarjeta Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Añadir adjunto",
"add-board": "Añadir tablero",
"add-card": "Añadir una tarjeta",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Añadir un carril de flujo",
"add-subtask": "Añadir subtarea",
"add-checklist": "Añadir una lista de verificación",
@@ -131,6 +133,7 @@
"board-not-found": "Tablero no encontrado",
"board-private-info": "Este tablero será <strong>privado</strong>.",
"board-public-info": "Este tablero será <strong>público</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Cambiar el fondo del tablero",
"boardChangeTitlePopup-title": "Renombrar el tablero",
"boardChangeVisibilityPopup-title": "Cambiar visibilidad",
@@ -178,6 +181,27 @@
"vote-against": "contrarios",
"deleteVotePopup-title": "¿Borrar voto?",
"vote-delete-pop": "El Borrado es permanente. Perderá todas las acciones asociadas con este voto.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "¿Eliminar la tarjeta?",
"cardDetailsActionsPopup-title": "Acciones de la tarjeta",
"cardLabelsPopup-title": "Etiquetas",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Crear plantilla",
"cards": "Tarjetas",
"cards-count": "Tarjetas",
"cards-count-one": "Tarjeta",
"casSignIn": "Iniciar sesión con CAS",
"cardType-card": "Tarjeta",
"cardType-linkedCard": "Tarjeta enlazada",
@@ -208,6 +233,7 @@
"close": "Cerrar",
"close-board": "Cerrar el tablero",
"close-board-pop": "Podrás restaurar el tablero haciendo clic en el botón \"Archivo\" del encabezado de la pantalla inicial.",
"close-card": "Close Card",
"color-black": "negra",
"color-blue": "azul",
"color-crimson": "carmesí",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exportar el tablero",
"exportCardPopup-title": "Export card",
"sort": "Ordenar",
"sort-desc": "Click para ordenar la lista",
"list-sort-by": "Ordenar la lista por:",
@@ -421,6 +451,8 @@
"set-color-list": "Cambiar el color",
"listActionPopup-title": "Acciones de la lista",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Acciones del carril de flujo",
"swimlaneAddPopup-title": "Añadir un carril de flujo debajo",
"listImportCardPopup-title": "Importar una tarjeta de Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Elegir un color",
"assigned-by": "Asignado por",
"requested-by": "Solicitado por",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Se eliminarán todas las listas, tarjetas y acciones asociadas a este tablero. Esta acción no puede deshacerse.",
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
"boardDeletePopup-title": "¿Eliminar el tablero?",
@@ -817,6 +850,8 @@
"act-duenow": "se ha notificado que el vencimiento actual (__timeValue__) de __card__ es ahora",
"act-atUserComment": "Se te mencionó en [__board__] __list__/__card__",
"delete-user-confirm-popup": "¿Seguro que quieres eliminar esta cuenta? Esta acción no puede deshacerse.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Permitir a los usuarios eliminar su cuenta",
"hide-minicard-label-text": "Ocultar el texto de la etiqueta de la minitarjeta",
"show-desktop-drag-handles": "Mostrar los controles de arrastre del escritorio",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Agregar adjunto",
"add-board": "Agregar tablero",
"add-card": "Agregar una tarjeta",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Agregar un carril «swimlane»",
"add-subtask": "Agregar subtarea",
"add-checklist": "Agregar lista de comprobación",
@@ -131,6 +133,7 @@
"board-not-found": "Tablero no encontrado",
"board-private-info": "Este tablero será <strong>privado</strong>.",
"board-public-info": "Este tablero será <strong>público</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Cambiar el fondo del tablero",
"boardChangeTitlePopup-title": "Renombrar el tablero",
"boardChangeVisibilityPopup-title": "Cambiar visibilidad",
@@ -178,6 +181,27 @@
"vote-against": "contrarios",
"deleteVotePopup-title": "¿Borrar voto?",
"vote-delete-pop": "El borrado es permanente. Perderá todas las acciones asociadas con este voto.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "¿Eliminar la tarjeta?",
"cardDetailsActionsPopup-title": "Acciones de la tarjeta",
"cardLabelsPopup-title": "Etiquetas",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Crear plantilla",
"cards": "Tarjetas",
"cards-count": "Tarjetas",
"cards-count-one": "Tarjeta",
"casSignIn": "Iniciar sesión con CAS",
"cardType-card": "Tarjeta",
"cardType-linkedCard": "Tarjeta enlazada",
@@ -208,6 +233,7 @@
"close": "Cerrar",
"close-board": "Cerrar el tablero",
"close-board-pop": "Podrá restaurar el tablero haciendo clic en el botón «Archivo» de la cabecera de inicio.",
"close-card": "Close Card",
"color-black": "negro",
"color-blue": "azul",
"color-crimson": "carmesí",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Exportar tablero a HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exportar tablero",
"exportCardPopup-title": "Export card",
"sort": "Ordenar",
"sort-desc": "Clic para ordenar lista",
"list-sort-by": "Ordenar la lista por:",
@@ -421,6 +451,8 @@
"set-color-list": "Cambiar el color",
"listActionPopup-title": "Acciones de la lista",
"settingsUserPopup-title": "Configuración de usuario",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Acciones del carril «swimlane»",
"swimlaneAddPopup-title": "Agregar un carril «swimlane» debajo",
"listImportCardPopup-title": "Importar una tarjeta de Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Elegir un color",
"assigned-by": "Asignado por",
"requested-by": "Solicitado por",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Se eliminarán todas las listas, tarjetas y acciones asociadas a este tablero. Esta acción no puede deshacerse.",
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
"boardDeletePopup-title": "¿Eliminar el tablero?",
@@ -817,6 +850,8 @@
"act-duenow": "se ha notificado que el vencimiento actual (__timeValue__) de __card__ es ahora",
"act-atUserComment": "Se le mencionó en [__board__] __list__/__card__",
"delete-user-confirm-popup": "¿Seguro que desea eliminar esta cuenta? Esta acción no puede deshacerse.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Permitir a los usuarios eliminar su cuenta",
"hide-minicard-label-text": "Ocultar el texto de la etiqueta de la minitarjeta",
"show-desktop-drag-handles": "Mostrar los controles de arrastre del escritorio",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Gehitu eranskina",
"add-board": "Gehitu arbela",
"add-card": "Gehitu txartela",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Gehitu egiaztaketa zerrenda",
@@ -131,6 +133,7 @@
"board-not-found": "Ez da arbela aurkitu",
"board-private-info": "Arbel hau <strong>pribatua</strong> izango da.",
"board-public-info": "Arbel hau <strong>publikoa</strong> izango da.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Aldatu arbelaren atzealdea",
"boardChangeTitlePopup-title": "Aldatu izena arbelari",
"boardChangeVisibilityPopup-title": "Aldatu ikusgaitasuna",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Ezabatu txartela?",
"cardDetailsActionsPopup-title": "Txartel-ekintzak",
"cardLabelsPopup-title": "Etiketak",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Txartelak",
"cards-count": "Txartelak",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Itxi",
"close-board": "Itxi arbela",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "beltza",
"color-blue": "urdina",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Esportatu arbela",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "Zerrendaren ekintzak",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Inportatu Trello txartel bat",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+94 -47
View File
@@ -1,51 +1,51 @@
{
"accept": "پذیرش",
"act-activity-notify": "Activity Notification",
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addSubtask": "added subtask __subtask__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addedLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removedLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createBoard": "created board __board__",
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-createCustomField": "created custom field __customField__ at board __board__",
"act-deleteCustomField": "deleted custom field __customField__ at board __board__",
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createList": "added list __list__ to board __board__",
"act-addBoardMember": "added member __member__ to board __board__",
"act-archivedBoard": "Board __board__ moved to Archive",
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
"act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
"act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
"act-importBoard": "imported board __board__",
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
"act-moveCardToOtherBoard": "moved card __card__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-removeBoardMember": "removed member __member__ from board __board__",
"act-restoredCard": "restored card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"accept": "پذیرفتن",
"act-activity-notify": "اعلان فعالیت",
"act-addAttachment": "افزودن پیوست __attachment__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-deleteAttachment": "پاک کردن پیوست __attachment__ از کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addSubtask": "فزودن کار فرعی __subtask__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addLabel": "افزودن برچسب __label__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addedLabel": "برچسب اضافه شده __label__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-removeLabel": "برداشتن برچسب __label__ از کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-removedLabel": "برچسب برداشته شده __label__ از کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addChecklist": "افزودن چک لیست __checklist__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addChecklistItem": "آیتم اضافه شده به چک لیست __checklistItem__ در چک لیست __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-removeChecklist": "حذف چک لیست __checklist__ از کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-removeChecklistItem": "آیتم حذف شده از چک لیست __checklistItem__ در چک لیست __checkList__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-checkedItem": "بررسی شده __checklistItem__ از چک لیست __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-uncheckedItem": "بررسی نشده __checklistItem__ از چک لیست __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-completeChecklist": "چک لیست کامل شده __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-uncompleteChecklist": "چک لیست ناتمام __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-addComment": "افزودن نظر روی کارت __card__: __comment__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-editComment": "اصلاح نظر روی کارت __card__: __comment__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-deleteComment": "حذف نظر از کارت __card__: __comment__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-createBoard": "برد ساخته شده __board__",
"act-createSwimlane": "created swimlane __swimlane__ در برد __board__",
"act-createCard": "ایجاد کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-createCustomField": "ساخت فیلد اختصاصی __customField__ در برد __board__",
"act-deleteCustomField": "حذف فیلد اختصاصی __customField__ در برد __board__",
"act-setCustomField": "اصلاح فیلد اختصاصی __customField__: __customFieldValue__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-createList": "ایجاد لیست __list__ در برد __board__",
"act-addBoardMember": "افزودن عضو __member__ به برد __board__",
"act-archivedBoard": "برد __board__ به آرشیو منتقل شد",
"act-archivedCard": "کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__ به آرشیو منتقل شد",
"act-archivedList": "لیست __list__ at swimlane __swimlane__ در برد __board__ به آرشیو منتقل شد",
"act-archivedSwimlane": "Swimlane __swimlane__ در برد __board__ به آرشیو منتقل شد",
"act-importBoard": "وارد کردن برد __board__",
"act-importCard": "وارد کردن کارت __card__ به لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-importList": "وارد کردن لیست __list__ to swimlane __swimlane__ در برد __board__",
"act-joinMember": "عضو کردن __member__ به کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-moveCard": "انتقال کارت __card__ در برد __board__ از لیست __oldList__ at swimlane __oldSwimlane__ به لیست __list__ at swimlane __swimlane__",
"act-moveCardToOtherBoard": "انتقال کارت به برد دیگر __card__ از لیست __oldList__ at swimlane __oldSwimlane__ در برد __oldBoard__ به لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-removeBoardMember": "حذف عضویت __member__ از برد __board__",
"act-restoredCard": "کارت بازگردانی شده __card__ به لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-unjoinMember": "حذف عضو __member__ از کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Actions",
"activities": "Activities",
"activity": "Activity",
"activity-added": "added %s to %s",
"actions": "اقدامات",
"activities": "فعالیت ها",
"activity": "فعالیت",
"activity-added": "افزودن %s به %s",
"activity-archived": "%s moved to Archive",
"activity-attached": "attached %s to %s",
"activity-created": "created %s",
@@ -71,7 +71,7 @@
"add": "Add",
"activity-checked-item-card": "checked %s in checklist %s",
"activity-unchecked-item-card": "unchecked %s in checklist %s",
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"activity-checklist-completed-card": "completed checklist __checklist__ در کارت __card__ در لیست __list__ at swimlane __swimlane__ در برد __board__",
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
"activity-editComment": "edited comment %s",
"activity-deleteComment": "deleted comment %s",
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Lisää liite",
"add-board": "Lisää taulu",
"add-card": "Lisää kortti",
"add-card-to-top-of-list": "Lisää kortti listan alkuun",
"add-card-to-bottom-of-list": "Lisää kortti listan loppuun",
"add-swimlane": "Lisää Swimlane",
"add-subtask": "Lisää alitehtävä",
"add-checklist": "Lisää tarkistuslista",
@@ -131,6 +133,7 @@
"board-not-found": "Taulua ei löytynyt",
"board-private-info": "Tämä taulu tulee olemaan <strong>yksityinen</strong>.",
"board-public-info": "Tämä taulu tulee olemaan <strong>julkinen</strong>.",
"board-drag-drop-reorder-or-click-open": "Järjestele taulu ikoneita vetämällä ja pudottamalla. Klikkaa taulu ikonia avataksesi taulun.",
"boardChangeColorPopup-title": "Muokkaa taulun taustaa",
"boardChangeTitlePopup-title": "Nimeä taulu uudelleen",
"boardChangeVisibilityPopup-title": "Muokkaa näkyvyyttä",
@@ -178,6 +181,27 @@
"vote-against": "vastaan",
"deleteVotePopup-title": "Poista ääni?",
"vote-delete-pop": "Poistaminen on lopullista. Menetät kaikki tähän äänestykseen liitetyt toimet.",
"cardStartPlanningPokerPopup-title": "Aloita suunnittelupokeri",
"card-edit-planning-poker": "Muokkaa suunnittelupokeria",
"editPokerEndDatePopup-title": "Muuta suunnittelupokerin loppumispäivää",
"poker-question": "Suunnittelupokeri",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Lopeta",
"poker-result-votes": "Äänet",
"poker-result-who": "Kuka",
"poker-replay": "Toista",
"set-estimation": "Aseta arvio",
"deletePokerPopup-title": "Poista suunnittelupokeri?",
"poker-delete-pop": "Poistaminen on lopullista. Menetät kaikki tähän suunnittelupokeriin liitetyt toimet.",
"cardDeletePopup-title": "Poista kortti?",
"cardDetailsActionsPopup-title": "Korttitoimet",
"cardLabelsPopup-title": "Nimilaput",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Luo malli",
"cards": "Kortit",
"cards-count": "korttia",
"cards-count-one": "Kortti",
"casSignIn": "CAS-kirjautuminen",
"cardType-card": "Kortti",
"cardType-linkedCard": "Linkitetty kortti",
@@ -208,6 +233,7 @@
"close": "Sulje",
"close-board": "Sulje taulu",
"close-board-pop": "Voit palauttaa taulun klikkaamalla “Arkisto”-painiketta taululistan yläpalkista.",
"close-card": "Sulje kortti",
"color-black": "musta",
"color-blue": "sininen",
"color-crimson": "karmiininpunainen",
@@ -332,7 +358,11 @@
"export-board-excel": "Vie taulu Excel",
"user-can-not-export-excel": "Käyttäjä ei voi viedä Excel tiedostoon",
"export-board-html": "Vie taulu HTML",
"export-card": "Vie kortti",
"export-card-pdf": "Vie kortti PDF",
"user-can-not-export-card-to-pdf": "Käyttäjä ei voi viedä korttia PDF tiedostoon",
"exportBoardPopup-title": "Vie taulu",
"exportCardPopup-title": "Vie kortti",
"sort": "Lajittele",
"sort-desc": "Klikkaa lajitellaksesi listan",
"list-sort-by": "Lajittele lista:",
@@ -421,6 +451,8 @@
"set-color-list": "Aseta väri",
"listActionPopup-title": "Listatoimet",
"settingsUserPopup-title": "Käyttäjäasetukset",
"settingsTeamPopup-title": "Tiimiasetukset",
"settingsOrgPopup-title": "Organisaatioasetukset",
"swimlaneActionPopup-title": "Swimlane-toimet",
"swimlaneAddPopup-title": "Lisää Swimlane alle",
"listImportCardPopup-title": "Tuo Trello-kortti",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Valitse väri",
"assigned-by": "Tehtävänantaja",
"requested-by": "Pyytäjä",
"card-sorting-by-number": "Korttien lajittelu numeroiden mukaan",
"board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
"delete-board-confirm-popup": "Kaikki listat, kortit, nimilaput ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
"boardDeletePopup-title": "Poista taulu?",
@@ -817,6 +850,8 @@
"act-duenow": "muistutti nykyisen eräajan (__timeValue__) kortilla __card__ olevan nyt",
"act-atUserComment": "Sinut mainittiin [__board__] __list__/__card__",
"delete-user-confirm-popup": "Haluatko varmasti poistaa tämän käyttäjätilin? Tätä ei voi peruuttaa.",
"delete-team-confirm-popup": "Haluatko varmasti poistaa tämän tiimin? Tätä ei voi peruuttaa.",
"delete-org-confirm-popup": "Haluatko varmasti poistaa tämän organisaation? Tätä ei voi peruuttaa.",
"accounts-allowUserDelete": "Salli käyttäjien poistaa tilinsä itse",
"hide-minicard-label-text": "Piilota minikortin nimilappu teksti",
"show-desktop-drag-handles": "Näytä työpöydän vedon kahvat",
@@ -1006,5 +1041,17 @@
"reports": "Raportit",
"rulesReportTitle": "Säännöt raportti",
"copy-swimlane": "Kopioi Swimlane",
"copySwimlanePopup-title": "Kopioi Swimlane"
"copySwimlanePopup-title": "Kopioi Swimlane",
"display-card-creator": "Näytä kortin luoja",
"wait-spinner": "Odotus pyörijä",
"Bounce": "Pomppu odotus pyörijä",
"Cube": "Kuutio odotus pyörijä",
"Cube-Grid": "Kuutio ristikko odotus pyörijä",
"Dot": "Piste odotus pyörijä",
"Double-Bounce": "Tupla pomppu odotus pyörijä",
"Rotateplane": "Pyöritä tasoa odotus pyörijä",
"Scaleout": "Skaalaus ulos odotus pyörijä",
"Wave": "Aalto odotus pyörijä",
"maximize-card": "Suurenna kortti",
"minimize-card": "Pienennä kortti"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Engadir anexo",
"add-board": "Engadir taboleiro",
"add-card": "Engadir tarxeta",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Etiquetas",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Tarxetas",
"cards-count": "Tarxetas",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "negro",
"color-blue": "azul",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exportar taboleiro",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "संलग्न करें",
"add-board": "बोर्ड जोड़ें",
"add-card": "कार्ड जोड़ें",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "तैरन जोड़ें",
"add-subtask": "उप कार्य जोड़ें",
"add-checklist": "चिह्नांकन-सूची जोड़ें",
@@ -131,6 +133,7 @@
"board-not-found": "बोर्ड नहीं मिला",
"board-private-info": "यह बोर्ड हो जाएगा <strong>निजी</strong>.",
"board-public-info": "यह बोर्ड हो जाएगा <strong>सार्वजनिक</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "बोर्ड पृष्ठभूमि बदलें",
"boardChangeTitlePopup-title": "बोर्ड का नाम बदलें",
"boardChangeVisibilityPopup-title": "दृश्यता बदलें",
@@ -178,6 +181,27 @@
"vote-against": "के प्रतिकूल",
"deleteVotePopup-title": "मतदान हटाएं?",
"vote-delete-pop": "हटाना स्थायी है। आप इस मतदान से जुड़े सभी कार्यों को खो देंगे।",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "मिटाएँ कार्ड?",
"cardDetailsActionsPopup-title": "कार्ड क्रियाएँ",
"cardLabelsPopup-title": "नामपत्र",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "खाका बनाएं",
"cards": "कार्ड्स",
"cards-count": "कार्ड्स",
"cards-count-one": "कार्ड",
"casSignIn": "सीएएस के साथ साइन इन करें",
"cardType-card": "कार्ड",
"cardType-linkedCard": "जुड़े हुए कार्ड",
@@ -208,6 +233,7 @@
"close": "बंद करे",
"close-board": "बोर्ड बंद करे",
"close-board-pop": "आप होम हेडर से \"संग्रह\" बटन पर क्लिक करके बोर्ड को पुनर्स्थापित करने में सक्षम होंगे।",
"close-card": "Close Card",
"color-black": "काला",
"color-blue": "नीला",
"color-crimson": "गहरा लाल",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "HTML को निर्यात बोर्ड",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export बोर्ड",
"exportCardPopup-title": "Export card",
"sort": "भांति",
"sort-desc": "क्रमबद्ध सूची पर क्लिक करें",
"list-sort-by": "सूची क्रमबद्ध करें:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "सूची Actions",
"settingsUserPopup-title": "उपयोगकर्ता सेटिंग",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "तैरन Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import एक Trello कार्ड",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose संपूर्ण lists, कार्ड और actions associated साथ में यह बोर्ड.",
"delete-board-confirm-popup": "All lists, कार्ड,नामपत्र , और activities हो जाएगा deleted और you won't be able तक recover the बोर्ड contents. There is no undo.",
"boardDeletePopup-title": "मिटाएँ बोर्ड?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Dodaj privitak",
"add-board": "Dodaj ploču",
"add-card": "Dodaj karticu",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Dodaj traku",
"add-subtask": "Dodaj podzadatak",
"add-checklist": "Dodaj listu provjere",
@@ -131,6 +133,7 @@
"board-not-found": "Ploča nije pronađena",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Preimenuj ploču",
"boardChangeVisibilityPopup-title": "Promijeni vidljivost",
@@ -178,6 +181,27 @@
"vote-against": "je protiv",
"deleteVotePopup-title": "Obrisati glasovanje?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Obrisati karticu?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Oznake",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Dodati predložak",
"cards": "Kartice",
"cards-count": "Kartice",
"cards-count-one": "Kartica",
"casSignIn": "Prijavite se s CAS-om",
"cardType-card": "Kartica",
"cardType-linkedCard": "Povezane kartice",
@@ -208,6 +233,7 @@
"close": "Zatvori",
"close-board": "Zatvori ploču",
"close-board-pop": "Ploču ćete moći vratiti klikom na gumb \"Arhiviraj\" u zaglavlju.",
"close-card": "Close Card",
"color-black": "crna",
"color-blue": "plava",
"color-crimson": "tamnocrvena",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Zadano od",
"requested-by": "Zatraženo od",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Obrisati ploču?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Melléklet hozzáadása",
"add-board": "Tábla hozzáadása",
"add-card": "Kártya hozzáadása",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Úszósáv hozzáadása",
"add-subtask": "Alfeladat hozzáadása",
"add-checklist": "Ellenőrzőlista hozzáadása",
@@ -131,6 +133,7 @@
"board-not-found": "A tábla nem található",
"board-private-info": "Ez a tábla legyen <strong>személyes</strong>.",
"board-public-info": "Ez a tábla legyen <strong>nyilvános</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Tábla hátterének megváltoztatása",
"boardChangeTitlePopup-title": "Tábla átnevezése",
"boardChangeVisibilityPopup-title": "Láthatóság megváltoztatása",
@@ -178,6 +181,27 @@
"vote-against": "ellene",
"deleteVotePopup-title": "Törlöd a szavazást?",
"vote-delete-pop": "A Törlés végleges. Minden eseményt elvesztesz, ami ehhez kapcsolódik.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Törlöd a kártyát?",
"cardDetailsActionsPopup-title": "Kártyaműveletek",
"cardLabelsPopup-title": "Címkék",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Sablon létrehozása",
"cards": "Kártyák",
"cards-count": "Kártyák",
"cards-count-one": "Kártya",
"casSignIn": "Bejelentkezés CAS metódussal",
"cardType-card": "Kártya",
"cardType-linkedCard": "Kapcsolt Kártya",
@@ -208,6 +233,7 @@
"close": "Bezárás",
"close-board": "Tábla bezárása",
"close-board-pop": "Vissza tudod állítani a Táblát, ha az \"Archív\" gombra kattintasz a fejlécnél.",
"close-card": "Close Card",
"color-black": "fekete",
"color-blue": "kék",
"color-crimson": "karmazsin",
@@ -332,7 +358,11 @@
"export-board-excel": "Exportáld a Táblát Excelbe",
"user-can-not-export-excel": "Felhasználó nem tud Excelbe exportálni",
"export-board-html": "Exportáld a táblát HTML (webes) formátumba",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Tábla exportálása",
"exportCardPopup-title": "Export card",
"sort": "Rendezés",
"sort-desc": "Kattints a lista rendezéséhez",
"list-sort-by": "Rendezd a Listát e szerint:",
@@ -421,6 +451,8 @@
"set-color-list": "Szín megadása",
"listActionPopup-title": "Műveletek felsorolása",
"settingsUserPopup-title": "Felhasználói beállítások",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Úszósáv Műveletek",
"swimlaneAddPopup-title": "Új Úszósáv hozzáadása ez alá",
"listImportCardPopup-title": "Trello kártya importálása",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Válassz színt",
"assigned-by": "Hozzárendelte ",
"requested-by": "Igényelte",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "A törlés végleges. Minden Lista, Kártya és kapcsolódó esemény megsemmisül ezen a Táblán.",
"delete-board-confirm-popup": "Minden Lista, Kártya, Címke és Esemény véglegesen törlésre kerül és nincs rá mód, hogy visszanyerd a Tábla tartalmát. Nincs visszavonási lehetőség sem.",
"boardDeletePopup-title": "TÖRLÖD a Táblát?",
@@ -817,6 +850,8 @@
"act-duenow": "emlékeztette, hogy a mostani határidő (__timeValue__) ma van ezen a Kártyán: __card__",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Rejtse el a Címke szövegét a mini Kártyákon",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Panel tidak ditemukan",
"board-private-info": "Panel ini akan jadi <strong>Pribadi<strong>",
"board-public-info": "Panel ini akan jadi <strong>Publik<strong",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Ubah Warna Latar ",
"boardChangeTitlePopup-title": "Ganti Nama Panel",
"boardChangeVisibilityPopup-title": "Ubah Penampakan",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Hapus kartu",
"cardDetailsActionsPopup-title": "Aksi Kartu",
"cardLabelsPopup-title": "Daftar Label",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Daftar Kartu",
"cards-count": "Daftar Kartu",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Tutup",
"close-board": "Tutup Panel",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "hitam",
"color-blue": "biru",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Exspor Panel",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "Daftar Tindakan",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Impor dari Kartu Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Pilih warna",
"assigned-by": "Ditandatangani Oleh",
"requested-by": "Diminta Oleh",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Hapus Papan?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Sembunyikan teks label kartu mini",
"show-desktop-drag-handles": "Tampilkan gagang seret desktop",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+48 -1
View File
@@ -82,6 +82,8 @@
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-card-to-top-of-list": "Add Card to Top of List",
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
@@ -178,6 +181,27 @@
"vote-against": "against",
"deleteVotePopup-title": "Delete vote?",
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Aha",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cards-count-one": "Card",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
@@ -208,6 +233,7 @@
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"close-card": "Close Card",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
@@ -332,7 +358,11 @@
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-html": "Export board to HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Export board",
"exportCardPopup-title": "Export card",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
@@ -421,6 +451,8 @@
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Choose a color",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
@@ -817,6 +850,8 @@
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Allow users to self delete their account",
"hide-minicard-label-text": "Hide minicard label text",
"show-desktop-drag-handles": "Show desktop drag handles",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+54 -7
View File
@@ -82,6 +82,8 @@
"add-attachment": "Aggiungi allegato",
"add-board": "Aggiungi bacheca",
"add-card": "Aggiungi scheda",
"add-card-to-top-of-list": "Aggiungi Scheda in cima alla Lista",
"add-card-to-bottom-of-list": "Aggiungi Scheda in fondo alla Lista",
"add-swimlane": "Aggiungi swimlane",
"add-subtask": "Aggiungi sotto-compito",
"add-checklist": "Aggiungi Checklist",
@@ -131,6 +133,7 @@
"board-not-found": "Bacheca non trovata",
"board-private-info": "Questa bacheca sarà <strong>privata</strong>.",
"board-public-info": "Questa bacheca sarà <strong>pubblica</strong>.",
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
"boardChangeColorPopup-title": "Cambia sfondo della bacheca",
"boardChangeTitlePopup-title": "Rinomina bacheca",
"boardChangeVisibilityPopup-title": "Cambia visibilità",
@@ -178,6 +181,27 @@
"vote-against": "contro",
"deleteVotePopup-title": "Eliminare il voto?",
"vote-delete-pop": "L'eliminazione è permanente. Tutte le azioni associate a questa votazione andranno perse.",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
"poker-five": "5",
"poker-eight": "8",
"poker-thirteen": "13",
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Fine",
"poker-result-votes": "Voti",
"poker-result-who": "Chi",
"poker-replay": "Replay",
"set-estimation": "Imposta la stima",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"cardDeletePopup-title": "Eliminare scheda?",
"cardDetailsActionsPopup-title": "Azioni scheda",
"cardLabelsPopup-title": "Etichette",
@@ -186,6 +210,7 @@
"cardTemplatePopup-title": "Crea un template",
"cards": "Schede",
"cards-count": "Schede",
"cards-count-one": "Scheda",
"casSignIn": "Entra con CAS",
"cardType-card": "Scheda",
"cardType-linkedCard": "Scheda collegata",
@@ -208,6 +233,7 @@
"close": "Chiudi",
"close-board": "Chiudi bacheca",
"close-board-pop": "Potrai ripristinare la bacheca cliccando sul tasto \"Archivio\" presente nell'intestazione della home.",
"close-card": "Chiudi Scheda",
"color-black": "nero",
"color-blue": "blu",
"color-crimson": "Rosso cremisi",
@@ -332,7 +358,11 @@
"export-board-excel": "Esporta bacheca in Excel",
"user-can-not-export-excel": "L'utente non può effettuare l'esportazione in Excel",
"export-board-html": "Esporta bacheca in HTML",
"export-card": "Export card",
"export-card-pdf": "Export card to PDF",
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
"exportBoardPopup-title": "Esporta bacheca",
"exportCardPopup-title": "Export card",
"sort": "Ordina",
"sort-desc": "Clicca per ordinare la lista",
"list-sort-by": "Ordina lista per:",
@@ -344,12 +374,12 @@
"list-label-short-sort": "(M)",
"filter": "Filtra",
"filter-cards": "Filtra schede o liste",
"filter-dates-label": "Filter by date",
"filter-no-due-date": "No due date",
"filter-overdue": "Overdue",
"filter-due-today": "Due today",
"filter-due-this-week": "Due this week",
"filter-due-tomorrow": "Due tomorrow",
"filter-dates-label": "Filtra per data",
"filter-no-due-date": "Senza data scadenza",
"filter-overdue": "Scaduta",
"filter-due-today": "Scade oggi",
"filter-due-this-week": "Scade questa settimana",
"filter-due-tomorrow": "Scade domani",
"list-filter-label": "Filtra lista per titolo",
"filter-clear": "Pulisci filtri",
"filter-labels-label": "Filtra secondo l'etichetta",
@@ -421,6 +451,8 @@
"set-color-list": "Imposta colore",
"listActionPopup-title": "Azioni lista",
"settingsUserPopup-title": "Impostazioni utente",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"swimlaneActionPopup-title": "Azioni swimlane",
"swimlaneAddPopup-title": "Aggiungi swimlane sotto",
"listImportCardPopup-title": "Importa una scheda di Trello",
@@ -636,6 +668,7 @@
"setListColorPopup-title": "Scegli un colore",
"assigned-by": "Assegnato da",
"requested-by": "Richiesto da",
"card-sorting-by-number": "Card sorting by number",
"board-delete-notice": "L'eliminazione è permanente. Tutte le azioni, liste e schede associate a questa bacheca andranno perse.",
"delete-board-confirm-popup": "Tutte le liste, schede, etichette e azioni saranno rimosse e non sarai più in grado di recuperare il contenuto della bacheca. L'azione non è annullabile.",
"boardDeletePopup-title": "Eliminare la bacheca?",
@@ -817,6 +850,8 @@
"act-duenow": "sollecito inviato: la scadenza (__timeValue__) di __card__ è adesso",
"act-atUserComment": "Sei stato menzionato in [__board__] __list__/__card__",
"delete-user-confirm-popup": "Sei sicuro di voler cancellare questo profilo? Non sarà possibile ripristinarlo.",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"accounts-allowUserDelete": "Permetti agli utenti di cancellare il loro profilo",
"hide-minicard-label-text": "Nascondi etichetta minicard",
"show-desktop-drag-handles": "Mostra maniglie di trascinamento del desktop",
@@ -1006,5 +1041,17 @@
"reports": "Reports",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "Copy Swimlane",
"copySwimlanePopup-title": "Copy Swimlane"
"copySwimlanePopup-title": "Copy Swimlane",
"display-card-creator": "Display Card Creator",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
"Cube-Grid": "Cube-Grid Wait Spinner",
"Dot": "Dot Wait Spinner",
"Double-Bounce": "Double Bounce Wait Spinner",
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize Card",
"minimize-card": "Minimize Card"
}
+1056 -1009
View File
File diff suppressed because it is too large. Load diff
Loaded 100 of 177 files, more files were not shown because too many files have changed in this diff. Show more