Compare commits

...
168 Commits
Author SHA1 Message Date
Lauri Ojansivu dec21f34e9 v4.96 2021-02-13 15:06:15 +02:00
Lauri Ojansivu c8605b0cdf Updated translations. 2021-02-13 14:47:57 +02:00
Lauri Ojansivu 3d6d191d59 Updated ChangeLog. 2021-02-13 14:34:10 +02:00
Lauri Ojansivu 8f61278b33 Updated ChangeLog. 2021-02-13 02:43:33 +02:00
Lauri Ojansivu 5723c0c96f Merge pull request #3572 from mfilser/master
Lists, show also 0 cards at column description
2021-02-13 02:42:44 +02:00
Martin Filser 2830bdc075 Lists, show also 0 cards at column description 2021-02-13 01:13:10 +01:00
Lauri Ojansivu 37ab621a7e Updated ChangeLog. 2021-02-12 21:58:09 +02:00
Lauri Ojansivu f9f286e896 Merge pull request #3571 from mfilser/master
Checklist drag handle now at the left side (same place as for the checklist items)
2021-02-12 21:56:58 +02:00
Lauri Ojansivu e47545aa91 Updated ChangeLog. 2021-02-12 21:55:11 +02:00
Lauri Ojansivu 799417e0e8 Merge pull request #3570 from meerkampdvv/master
Helm: Made SecretEnv a secret and added default mongodb name as Wekan
2021-02-12 21:54:44 +02:00
Lauri Ojansivu cea5f0a30c Updated translations. 2021-02-12 21:51:43 +02:00
Lauri Ojansivu ce61e80261 Updated ChangeLog. 2021-02-12 21:46:39 +02:00
Lauri Ojansivu ec23124242 Merge pull request #3569 from helioguardabaxo/master
Modern theme: Remove font color when the card has a color
2021-02-12 21:46:10 +02:00
Lauri Ojansivu 678cc56836 Updated ChangeLog. 2021-02-12 21:44:14 +02:00
Lauri Ojansivu adf94b5e21 Merge pull request #3564 from lindhork/currency_decimal_separator
added replacement from comma to dot
2021-02-12 21:43:47 +02:00
Martin Filser d4e40c376a Checklist drag handle now at the left side (same place as for the checklist items)
- most people scroll with their right thumb, so it happens sometimes
  that they move whole checklists by accident.
- this fixes the problem, and also it looks more clean than a drag
  handle in the middle of the screen
2021-02-12 20:42:58 +01:00
Lauri Ojansivu 3cbf678671 Updated ChangeLog. 2021-02-12 21:42:07 +02:00
Lauri Ojansivu c7ec07ed47 Added ChangeLog update script. 2021-02-12 21:40:16 +02:00
Lauri Ojansivu 754d7d099b Updated ChangeLog. 2021-02-12 21:37:42 +02:00
Lauri Ojansivu c4cc3f176e Merge pull request #3563 from mfilser/master
Mobile View, list header is now always at top and only lists/cards view have a scroll area
2021-02-12 21:36:28 +02:00
Jan Meerkamp 79a2921e1d fixed fail when no secretEnv was defined 2021-02-12 18:54:56 +01:00
Jan Meerkamp d64a61bab9 removed not used var 2021-02-12 18:42:05 +01:00
Jan Meerkamp 0ee78865e1 Helm: Made SecretEnv a secret and added default mongodb name as Wekan 2021-02-12 18:34:55 +01:00
helioguardabaxo 2c29b150c5 Modern theme: Remove font color when the card has a color 2021-02-12 13:56:46 -03:00
lindhork 0801a2fbc4 added explanatory comment 2021-02-12 01:25:14 +01:00
lindhork af7ef25c9d added replacement from comma to dot 2021-02-12 01:17:11 +01:00
Martin Filser f852474b56 Mobile View, list header is now always at top and only lists/cards view have a scroll area 2021-02-12 00:34:50 +01:00
Lauri Ojansivu 54cfe5984b Updated ChangeLog. 2021-02-11 19:10:23 +02:00
Lauri Ojansivu 1bc07b1b4a Teams/Organizations: Added more code to Admin Panel for saving and editing. In Progress.
Thanks to xet7 !

Related #802
2021-02-11 19:07:34 +02:00
Lauri Ojansivu b8d52a5aa8 Updated ChangeLog. 2021-02-11 18:13:37 +02:00
Lauri Ojansivu af58b1039e Merge pull request #3561 from bronger/issue-3133
Changed default behaviour for BIGEVENTS that no activity matches it.
2021-02-11 18:11:47 +02:00
Torsten Bronger a124f1dc38 Changed default behaviour for BIGEVENTS that no activity matches it.
Previously, all changes to due dates notified all board members.  Now, you have
to set the environment variable BIGEVENTS_PATTERN explicitly to "due" to
restore this behaviour.  By default, no activity is considered a "big event".
Fixes <https://github.com/wekan/wekan/issues/3133>.
2021-02-11 16:21:36 +01:00
Lauri Ojansivu fa3e6267fd Updated ChangeLog. 2021-02-11 16:49:15 +02:00
Lauri Ojansivu 011f86f368 Updated Node.js to v12.20.2
Thanks to Node.js developers!
2021-02-11 16:46:40 +02:00
Lauri Ojansivu 0f6edc477e Removed package-lock.json. 2021-02-11 16:29:40 +02:00
Lauri Ojansivu bade652c02 Updated translations. 2021-02-11 16:28:02 +02:00
Lauri Ojansivu 03ab067d3a Updated ChangeLog. 2021-02-11 16:22:46 +02:00
Lauri Ojansivu e3a29ae82f Merge pull request #3559 from lindhork/header_padding
added padding
2021-02-11 16:21:51 +02:00
Lauri Ojansivu 3a9ce0f6ce Updated ChangeLog. 2021-02-11 16:19:07 +02:00
Lauri Ojansivu d6d40b35a5 Merge pull request #3557 from lindhork/master
Added possibility to specify hours in single digits in 24 hour format
2021-02-11 16:18:02 +02:00
Lauri Ojansivu 8baecb5911 Updated ChangeLog. 2021-02-11 16:16:38 +02:00
Lauri Ojansivu 3bb8fe9076 Merge pull request #3560 from mfilser/member_avatar_remove_red_line
Minicard, remove red line below member avatar icon
2021-02-11 16:15:20 +02:00
Lauri Ojansivu b93d66ce0b Updated ChangeLog. 2021-02-11 16:00:28 +02:00
Lauri Ojansivu b71fde7ff3 Merge pull request #3556 from pichouk/master
Add /api/boards_count endpoint for statistics
2021-02-11 15:57:35 +02:00
lindhork 5c7b060f19 moved the house icon slightly right 2021-02-11 13:39:51 +01:00
Martin Filser 1f544fff52 Minicard, remove red line below member avatar icon
- fixes comment at #3515
  https://github.com/wekan/wekan/issues/3515#issuecomment-777312174
2021-02-11 12:04:22 +01:00
lindhork 019520a793 added padding 2021-02-11 04:26:56 +01:00
lindhork 29c22efed0 Error message corrected 2021-02-11 03:55:16 +01:00
lindhork 650519683c Added compatibility for single digit hours in 24 hours format 2021-02-11 03:54:12 +01:00
Kyâne bcf5a586c7 Add /api/boards_count endpoint for statistics 2021-02-11 00:49:34 +01:00
Lauri Ojansivu 5d8f5beb2a Updated translations. 2021-02-10 18:09:22 +02:00
Lauri Ojansivu 7e58627eaf Updated ChangeLog. 2021-02-09 20:37:00 +02:00
Lauri Ojansivu 89be0f80b9 Merge pull request #3551 from mfilser/checklistitems-not_always_insert_at_the_end
Checklistitems are now inserted always at the end of the checklist
2021-02-09 20:35:32 +02:00
Martin Filser e8b6b78dfa Checklistitems are now inserted always at the end of the checklist 2021-02-09 16:08:05 +01:00
Lauri Ojansivu d5ea44a760 v4.95 2021-02-08 23:44:03 +02:00
Lauri Ojansivu 0638d43cae Updated translations. 2021-02-08 23:42:41 +02:00
Lauri Ojansivu c5d133aaff Updated ChangeLog. 2021-02-08 23:39:47 +02:00
Lauri Ojansivu 067c2a6fe0 Merge branch 'mfilser-master' 2021-02-08 23:35:59 +02:00
Lauri Ojansivu 9e73a72b8b Merge branch 'master' of https://github.com/mfilser/wekan into mfilser-master 2021-02-08 23:27:39 +02:00
Lauri Ojansivu ae23b7611d Updated ChangeLog. 2021-02-08 23:04:19 +02:00
Lauri Ojansivu e34a284036 Updated release scripts. 2021-02-08 23:00:35 +02:00
Martin Filser 116aae0828 Deleting a linked card blocked the parent board to load #3540 2021-02-08 21:42:16 +01:00
Lauri Ojansivu f33c31aa83 Removed extra unneeded text from ChangeLog. 2021-02-08 22:30:35 +02:00
Lauri Ojansivu c7a742d1de Updated ChangeLog. 2021-02-08 22:21:52 +02:00
Lauri Ojansivu d0df3a2915 Updated release scripts. 2021-02-08 22:16:55 +02:00
Lauri Ojansivu 1c494803b0 Updated dependencies. 2021-02-08 22:10:30 +02:00
Lauri Ojansivu 0bd0a70564 Fix typo. 2021-02-08 21:56:45 +02:00
Lauri Ojansivu 5cd6470358 v4.94 2021-02-08 21:47:37 +02:00
Lauri Ojansivu a7d0576736 Updated translations. 2021-02-08 21:41:57 +02:00
Lauri Ojansivu 76e9e2076e Updated ChangeLog. 2021-02-08 21:38:57 +02:00
Lauri Ojansivu dcec5b5cb0 Update release scripts.
Thanks to xet7 !
2021-02-08 21:37:04 +02:00
Lauri Ojansivu b4352ada27 Updated dependencies.
Thanks to developers of dependencies !
2021-02-08 21:30:17 +02:00
Lauri Ojansivu 76047e5351 Updated ChangeLog. 2021-02-08 21:12:28 +02:00
Lauri Ojansivu 60fedad3fe Fixed lint.
Thanks to xet7 !
2021-02-08 21:11:13 +02:00
Lauri Ojansivu d57eb6a2fc Fixed Board does not load, by disabling Custom Fields sorting.
Thanks to marcungeschikts, olivierlambert and xet7 !

Fixes #3540
2021-02-08 21:08:36 +02:00
Lauri Ojansivu c33d39f5d0 Updated ChangeLog. 2021-02-08 19:48:07 +02:00
Lauri Ojansivu 81aa17f3f0 Merge pull request #3545 from mfilser/settings-show_cards_count_broken_at_mobile_view
Settings, "Show cards count" now works at mobile view too
2021-02-08 19:45:40 +02:00
Martin Filser 8475201db8 Settings, "Show cards count" now shows also 1 card 2021-02-08 18:22:55 +01:00
Martin Filser 40907ef1d8 Settings, "Show cards count" max value now endless
- there could be users who want to enter moren than 99
2021-02-08 18:22:55 +01:00
Martin Filser b79fc53265 Settings, "Show cards count" keyboard input possible 2021-02-08 18:22:55 +01:00
Lauri Ojansivu 2972351e79 Updated ChangeLog. 2021-02-08 19:03:16 +02:00
Lauri Ojansivu c82de08886 Merge pull request #3544 from jrsupplee/issue-3539
Fix bug in adding new users #3539
2021-02-08 19:01:41 +02:00
Lauri Ojansivu 7806945965 Comment out multi arch. 2021-02-08 18:57:16 +02:00
John R. Supplee 9a6a0b0047 Fix bug in adding new users
New `importUsernames` was not being parsed into an array before
calling `setCreateUser()`

Issue #3539
2021-02-08 18:48:59 +02:00
Lauri Ojansivu e0c94e3cbb Updated translations. 2021-02-08 17:27:03 +02:00
Lauri Ojansivu 9f328bdee3 Removed duplicate words from translations. 2021-02-08 14:24:15 +02:00
Lauri Ojansivu 7a96adf957 Removed duplicate word from translations.
Thanks to translators!
2021-02-06 17:02:56 +02:00
Lauri Ojansivu 2111e19d59 v4.93 2021-02-06 15:34:39 +02:00
Lauri Ojansivu d93cf08a27 Updated translations. 2021-02-06 15:27:31 +02:00
Lauri Ojansivu a24b64f7ca Updated ChangeLog. 2021-02-06 15:24:04 +02:00
Lauri Ojansivu 625577f145 Merge pull request #3533 from mfilser/master
Notifications, enable line wrapping #3527
2021-02-06 15:22:25 +02:00
Martin Filser e13fa0d2d1 Notifications, enable line wrapping #3527 2021-02-06 12:46:06 +01:00
Lauri Ojansivu d470281a5e Updated ChangeLog. 2021-02-06 12:54:00 +02:00
Lauri Ojansivu 6021438e2e Merge pull request #3532 from mfilser/master
Red line below the avatar now correctly on FireFox #3515
2021-02-06 12:52:17 +02:00
Lauri Ojansivu 737b425aca Try to fix Snap. 2021-02-06 12:51:31 +02:00
Martin Filser d2a35453ef Red line below the avatar now correctly on FireFox #3515 2021-02-06 11:26:10 +01:00
Lauri Ojansivu 77160a76e8 Update rebuild-wekan.sh 2021-02-06 11:13:32 +02:00
Lauri Ojansivu f012a67182 Updated dependencies. 2021-02-06 11:03:18 +02:00
Lauri Ojansivu 2c5e4fad79 Try to fix Snap: Added Typescript. 2021-02-06 10:52:58 +02:00
Lauri Ojansivu 1486f5f620 Try to fix Snap. 2021-02-06 10:26:34 +02:00
Lauri Ojansivu eb1209cb00 Updated ChangeLog. 2021-02-06 08:02:31 +02:00
Lauri Ojansivu bcdaf77a9c Updated Ubuntu base image in Dockerfile. 2021-02-06 08:00:28 +02:00
Lauri Ojansivu e8e97838ef Updated translations. 2021-02-06 00:49:09 +02:00
Lauri Ojansivu bec3f309bd Updated ChangeLog. 2021-02-06 00:43:41 +02:00
Lauri Ojansivu 39bfbbbe0a Merge pull request #3530 from messagerie-melanie2/master
Add the ability to call get_user operation with username
2021-02-06 00:41:05 +02:00
Lauri Ojansivu 57a98e7a5d Updated ChangeLog. 2021-02-06 00:24:44 +02:00
Lauri Ojansivu ea697f2238 Fixed file permissions. Thanks to xet7 ! Fixes #3524, fixes meteor/meteor#11314 2021-02-06 00:18:07 +02:00
magicbelette fd20a9218f Add the ability to call get_user operation with username 2021-02-05 19:58:24 +01:00
Lauri Ojansivu b47794cbc1 Try to fix Docker. 2021-02-03 18:56:44 +02:00
Lauri Ojansivu c3ce44562e Try to fix Docker builds by deleting package-lock.json , see
https://stackoverflow.com/questions/53732973/npm-err-404-not-found-har-validator5-1-2

Thanks to xet7 !

Related #3524
2021-02-03 16:26:21 +02:00
Lauri Ojansivu 4f7803c384 Try to fix Docker builds.
Thanks to xet7 !

Related #3524
2021-02-03 16:07:01 +02:00
Lauri Ojansivu 6e313d1760 Merge branch 'master' of github.com:wekan/wekan 2021-02-03 15:47:22 +02:00
Lauri Ojansivu 0f7a8a25ad Updated ChangeLog. 2021-02-03 15:47:05 +02:00
Lauri Ojansivu c692b7847b Merge pull request #3526 from jrsupplee/fix-3
Fix bug in `uniqueTitle`
2021-02-03 15:46:53 +02:00
Lauri Ojansivu 207893fee8 Merge pull request #3525 from jrsupplee/pull-3519
Set the language on `TAPi18n` when user selects language
2021-02-03 15:41:59 +02:00
John R. Supplee 9ec3574ff6 Fix bug in uniqueTitle
`uniqueTitle` was returning a numbered title even when not necessary
2021-02-03 14:03:33 +02:00
John R. Supplee b0522836e6 Set the language on TAPi18n when user selects language
When the `TAPi18n` initialization code was removed from an `autorun()`
it no longer is rerun when a user's profile language is changed.
2021-02-03 12:20:29 +02:00
Lauri Ojansivu c62396e389 v4.92 2021-02-03 02:32:00 +02:00
Lauri Ojansivu d52e85f298 Updated ChangeLog. 2021-02-03 02:27:18 +02:00
Lauri Ojansivu 05ebae7329 Updated dependencies.
Thanks to developers of dependencies !
2021-02-03 02:25:37 +02:00
Lauri Ojansivu b697bb656e Updated ChangeLog. 2021-02-03 01:50:52 +02:00
Lauri Ojansivu 4d7de2adce Merge pull request #3523 from mfilser/notifications_overlap_avatar_mobile_view
Notifications avatar overlaped at mobile view
2021-02-03 01:49:32 +02:00
Lauri Ojansivu 8a9528e787 Updated README 2021-02-03 01:45:52 +02:00
Martin Filser 6c6cba51fa Notification trash link was not visible if actifity text is too long 2021-02-03 00:20:56 +01:00
Martin Filser 28e23f9d87 Notification, each notification has now more space at top 2021-02-02 23:07:28 +01:00
Martin Filser e31192e97e Notification, split line was missing at mobile view 2021-02-02 23:02:45 +01:00
Martin Filser 26b7137b5c Notification, Avatar overlaped at mobile view 2021-02-02 23:02:33 +01:00
Lauri Ojansivu 912200a2ec Updated ChangeLog.
Related https://github.com/wekan/wekan/discussions/3496
2021-02-02 21:12:56 +02:00
Lauri Ojansivu c42d0d7423 Merge branch 'bronger-sorted-archives' 2021-02-02 21:09:41 +02:00
Lauri Ojansivu 3da66a0fe3 Sorted archives Part 2.
Thanks to xet7 !
2021-02-02 21:08:34 +02:00
Lauri Ojansivu 41e1f8fbc3 Merge branch 'sorted-archives' of https://github.com/bronger/wekan into bronger-sorted-archives 2021-02-02 20:56:09 +02:00
Lauri Ojansivu 130ac3c917 Updated ChangeLog. 2021-02-02 20:55:25 +02:00
Lauri Ojansivu 3774060d32 Createtoken API: Added better description and deleted extra file.
Thanks to magicbelette and xet7 !

Fixes #2887
2021-02-02 20:51:41 +02:00
Lauri Ojansivu d8c8856548 Merge pull request #3520 from messagerie-melanie2/master
Add createtoken API
2021-02-02 20:48:00 +02:00
Lauri Ojansivu efec00a550 Updated ChangeLog. 2021-02-02 20:30:22 +02:00
Lauri Ojansivu 3d3cf1d551 Merge pull request #3521 from mfilser/master
Cards, CustomFields sorted alphabetically, fixes #3517
2021-02-02 20:28:35 +02:00
Lauri Ojansivu c52d17b6fb Updated translations. 2021-02-02 18:47:08 +02:00
Martin Filser c0b9ef5990 Cards, CustomFields sorted alphabetically #3517
- last fix didn't work and disabled alphabetic sorting
- also works with linked cards
2021-02-02 17:45:43 +01:00
Lauri Ojansivu e303159b98 Updated ChangeLog. 2021-02-02 18:40:12 +02:00
Lauri Ojansivu f274b3c26b Try fix removed nonexistent document error.
Thanks to xet7 !

Related #3203,
related #3252,
related #2230
related #1629
2021-02-02 18:36:21 +02:00
Lauri Ojansivu 81fdc9a865 Updated ChangeLog. 2021-02-02 18:33:23 +02:00
Lauri Ojansivu f40c9804f8 Disable some console.log code, that is only needed while developing.
Thanks to xet7 !
2021-02-02 18:31:13 +02:00
Lauri Ojansivu 4d13d51038 Updated ChangeLog. 2021-02-02 18:14:18 +02:00
magicbelette 5c4421dc38 Delete test file 2021-02-02 17:12:57 +01:00
Lauri Ojansivu 76ef6a81ab Merge pull request #3519 from jrsupplee/issue-2074
Hopeful fix for i18n not working in `onRendered()`
2021-02-02 18:07:25 +02:00
magicbelette a7b43d5b57 Add createtoken API 2021-02-02 17:06:06 +01:00
John R. Supplee e4f50d4713 Hopeful fix for i18n not working in onRendered()
* Remove the i18n initialization code from an `autorun()` block
* Add some console statements to help with debugging production.
* Add functions to `Boards` for label colors and color mapping
2021-02-02 17:56:18 +02:00
Lauri Ojansivu 1e71237627 Merge pull request #3516 from mfilser/notifications_overlap_avatar
Avatar overlaped notifications
2021-02-02 16:50:24 +02:00
Torsten Bronger 678c8f6bf6 Printed archivedAt under every item in the archive. 2021-02-02 14:52:14 +01:00
Torsten Bronger 786c27bbec Added sorting by archivedAt in the archive.
I use modifiedAt as a fall back for legacy cards which don't have archivedAt
set yet.
2021-02-02 14:52:12 +01:00
Torsten Bronger 710643d8cb Added field archivedAt to cards, lists, swimlanes, and boards. 2021-02-02 14:52:08 +01:00
Martin Filser e595aba189 Minicard, assignee and red line now aligned again 2021-02-02 09:24:26 +01:00
Martin Filser ea67e94c47 Notification, fixed avatar icon (was an ellipse) 2021-02-02 08:45:37 +01:00
Martin Filser b2c2067f7d Avatar overlaped notifications #3515 2021-02-01 18:26:18 +01:00
Lauri Ojansivu 4fc2d7b935 Updated translations. 2021-01-31 01:26:51 +02:00
Lauri Ojansivu b1b9dd208b Updated ChangeLog. 2021-01-30 20:54:54 +02:00
Lauri Ojansivu ee2f7c077f Added badge for CII Best Practices.
Thanks to CII and xet7 !
2021-01-30 20:51:36 +02:00
Lauri Ojansivu a385d6f4fd Added PGP public key for sending security vulnerability reports. 2021-01-30 20:15:52 +02:00
Lauri Ojansivu 7031b7a3c7 Updated security report email address. 2021-01-30 20:07:03 +02:00
Lauri Ojansivu 0f0a5fba1f Merge branch 'master' of github.com:wekan/wekan 2021-01-30 18:23:00 +02:00
Lauri Ojansivu 1d7af3f011 Updated translations. 2021-01-30 18:22:40 +02:00
Lauri Ojansivu 6fd85f97b3 Updated ChangeLog. 2021-01-30 18:18:54 +02:00
Lauri Ojansivu a6d17f3813 Merge pull request #3509 from jrsupplee/fix-2
Don't reload page when returning default sort
2021-01-30 18:17:39 +02:00
Lauri Ojansivu 4e830ea416 Updated ChangeLog. 2021-01-30 18:15:48 +02:00
Lauri Ojansivu fc5c936272 Merge pull request #3510 from jrsupplee/import-user-mapping
Import user mapping
2021-01-30 18:04:30 +02:00
John R. Supplee b2af684c4d JSON import: add note about unmapped members 2021-01-30 11:44:53 +02:00
John R. Supplee 0446999c63 Add new importUsernames field for import user mapping 2021-01-30 02:35:29 +02:00
John R. Supplee 6920c39752 Don't reload page when returning default sort 2021-01-29 21:09:28 +02:00
145 changed files with 70676 additions and 58101 deletions

No files matched your search

+1 -1
View File
@@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
NODE_VERSION=v12.20.1 \
NODE_VERSION=v12.20.2 \
METEOR_RELEASE=1.10.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+1 -1
View File
@@ -81,7 +81,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 12.20.1
node-engine: 12.20.2
node-packages:
- node-gyp
- node-pre-gyp
+1 -1
View File
@@ -83,7 +83,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 12.20.1
node-engine: 12.20.2
node-packages:
- node-gyp
- node-pre-gyp
+1 -1
View File
@@ -52,7 +52,6 @@ mquandalle:autofocus
ongoworks:speakingurl
raix:handlebar-helpers
tap:i18n
http@1.4.2
# UI components
blaze
@@ -145,3 +144,4 @@ rajit:bootstrap3-datepicker-zh-cn
rajit:bootstrap3-datepicker-zh-tw
staringatlights:fast-render
spacebars
jkuester:http
+1
View File
@@ -76,6 +76,7 @@ http@1.4.3
id-map@1.1.0
idmontie:migrations@1.0.3
inter-process-messaging@0.1.1
jkuester:http@2.0.1
jquery@1.11.11
kadira:blaze-layout@2.3.0
kadira:dochead@1.5.0
+1 -1
View File
@@ -3,7 +3,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 12.20.1
TRAVIS_NODE_VERSION: 12.20.2
TRAVIS_NPM_VERSION: latest
before_install:
+166
View File
@@ -1,3 +1,169 @@
# v4.96 2021-02-13 Wekan release
This release adds the following new features:
- [Add /api/boards_count endpoint for statistics](https://github.com/wekan/wekan/pull/3556).
Thanks to pichouk.
- [Added possibility to specify hours in single digits in 24 hour format](https://github.com/wekan/wekan/pull/3557).
Thanks to lindhork.
- [Added replacement from comma to dot](https://github.com/wekan/wekan/pull/3564).
Thanks to lindhork.
and adds the following improvements:
- [Checklistitems are now inserted always at the end of the checklist](https://github.com/wekan/wekan/pull/3551).
Thanks to mfilser.
- [Teams/Organizations: Added more code to Admin Panel for saving and editing. In Progress, does not work yet](https://github.com/wekan/wekan/commit/1bc07b1b4a3e8cd1a177f3f1776ed8e189bc627a).
Thanks to xet7.
- [Mobile View, list header is now always at top and only lists/cards view have a scroll area](https://github.com/wekan/wekan/pull/3563).
Thanks to mfilser.
- [Added ChangeLog update script](https://github.com/wekan/wekan/commit/c7ec07ed4748fe9b00f622af7472fd291cf1a3ce).
Thanks to xet7.
- [Helm: Made SecretEnv a secret and added default mongodb name as Wekan](https://github.com/wekan/wekan/pull/3570).
Thanks to meerkampdvv.
- [Checklist drag handle now at the left side (same place as for the checklist items)](https://github.com/wekan/wekan/pull/3571).
Thanks to mfilser.
- [Lists, show also 0 cards at column description](https://github.com/wekan/wekan/pull/3572).
Thanks to mfilser.
and adds the following updates:
- [Updated Node.js to v12.20.2](https://github.com/wekan/wekan/commit/011f86f368a83c2e70f597c11ec60ec857e0fab0).
Thanks to Node.js developers.
and fixes the following bugs:
- [Minicard, remove red line below member avatar icon](https://github.com/wekan/wekan/pull/3560).
Thanks to mfilser.
- [Added padding](https://github.com/wekan/wekan/pull/3559).
Thanks to lindhork.
- [Changed default behaviour for BIGEVENTS that no activity matches it](https://github.com/wekan/wekan/pull/3561).
Thanks to bronger.
- [Modern theme: Remove font color when the card has a color](https://github.com/wekan/wekan/pull/3569).
Thanks to helioguardabaxo.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.95 2021-02-08 Wekan release
This release adds back the following features:
- [Added back Custom Fields sorting, because it now does not prevent loading boards](https://github.com/wekan/wekan/pull/3547).
Thanks to mfilser.
and adds the following updates:
- [Updated dependencies](https://github.com/wekan/wekan/commit/1c494803b091d987e26ccb783432434e7fee15a5).
Thanks to xet7.
- [Fix typo](https://github.com/wekan/wekan/commit/0bd0a70564d3dda67706deb1bbfbd1d5a96f811f).
Thanks to xet7.
- Updated release scripts
[Part 1](https://github.com/wekan/wekan/commit/d0df3a2915d08b255d7ab92f9bcac195a1e7f442),
[Part 2](https://github.com/wekan/wekan/commit/e34a2840366351c0e069515ac2210db3911dbc0f).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.94 2021-02-08 Wekan release
This release adds the following new features:
- [Settings, "Show cards count" now works at mobile view too](https://github.com/wekan/wekan/pull/3545).
Thanks to mfilser.
and adds the following updates:
- [Updated dependencies](https://github.com/wekan/wekan/commit/b4352ada27545fadc425ca7024532aede3cc1a6f).
Thanks to developers of dependencies.
- [Update release scripts](https://github.com/wekan/wekan/commit/dcec5b5cb05ac9e0dfae8f360def169f5f9b6fa2).
Thanks to xet7.
and fixes the following bugs:
- [Fix bug in adding new users](https://github.com/wekan/wekan/pull/3544).
Thanks to jrsupplee.
- [Fixed Board does not load, by disabling Custom Fields sorting](https://github.com/wekan/wekan/commit/d57eb6a2fc73c7b25c957ad42b5f7a06f680e1a1).
Thanks to marcungeschikts, olivierlambert and xet7.
- [Fixed lint](https://github.com/wekan/wekan/commit/60fedad3fe384a2b0652941e57ecaa5fc4b7897a).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# 4.93 2021-02-06 Wekan release
This release adds the following new features:
- [Add the ability to call get_user operation with username](https://github.com/wekan/wekan/pull/3530).
Thanks to magicbelette.
and adds the following updates:
- [Updated Ubuntu base image in Dockerfile](https://github.com/wekan/wekan/commit/bcdaf77a9c675530cfa21d038e8abd7c62aef70d).
Thanks to Ubuntu and xet7.
and fixes the following bugs:
- [Set the language on `TAPi18n` when user selects language](https://github.com/wekan/wekan/pull/3525).
Thanks to jrsupplee.
- [Fix bug in `uniqueTitle`](https://github.com/wekan/wekan/pull/3526).
Thanks to jrsupplee.
- [Fixed file permissions in build scripts](https://github.com/wekan/wekan/commit/ea697f2238842893953dee76bed03ffd5b4a107e).
Thanks to xet7.
- [Red line below the avatar now correctly on FireFox](https://github.com/wekan/wekan/pull/3532).
Thanks to mfilser.
- [Notifications, enable line wrapping](https://github.com/wekan/wekan/pull/3533).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.92 2021-02-03 Wekan release
This release adds the following improvements:
- [Import user mapping improvements](https://github.com/wekan/wekan/pull/3510).
Thanks to jrsupplee.
- Added Createtoken API.
[Part 1](https://github.com/wekan/wekan/pull/3520),
[Part 2](https://github.com/wekan/wekan/commit/3774060d32abcfee17dc1c31958d4673794d8619).
Thanks to magicbelette and xet7.
- Sorted archives.
[Part 1](https://github.com/wekan/wekan/pull/3518),
[Part 2](https://github.com/wekan/wekan/commit/3da66a0fe30c2b54b63e5d098232b375d899925e).
Thanks to bronger, jrsupplee and xet7.
and adds the following updates:
- [Updated dependencies](https://github.com/wekan/wekan/commit/05ebae7329ba0dd3fe9b04cd63b1f983830cdeee).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Don't reload page when returning default sort](https://github.com/wekan/wekan/pull/3509).
Thanks to jrsupplee.
- [Avatar overlaped notifications](https://github.com/wekan/wekan/pull/3516).
Thanks to mfilser.
- [Hopeful fix for i18n not working in `onRendered()`](https://github.com/wekan/wekan/pull/3519).
Thanks to jrsupplee.
- [Disable some console.log code, that is only needed while developing](https://github.com/wekan/wekan/commit/f40c9804f848fdb91229c5718ad97495337109ba).
Thanks to xet7.
- [Try fix removed nonexistent document error](https://github.com/wekan/wekan/commit/f274b3c26be60813829dcf2b0e68a8dd876ff614).
Thanks to Brulf, TheMasterFX and xet7.
- [Fixed Cards and CustomFields sorted alphabetically](https://github.com/wekan/wekan/pull/3521).
Thanks to mfilser.
- [Notifications avatar overlaped at mobile view](https://github.com/wekan/wekan/pull/3523).
Thanks to mfilser.
and improves some security related info:
- [Added badge for CII Best Practices](https://github.com/wekan/wekan/commit/ee2f7c077fe56d6fedb8b75ae3cba6bab56f9363).
Thanks to CII and xet7.
- [Added PGP public key for sending security vulnerability reports](https://github.com/wekan/wekan/commit/a385d6f4fd76e2bb0f374963848513b9373d6b5a).
Thanks to xet7.
- [Updated security report email address](https://github.com/wekan/wekan/commit/7031b7a3c77acc0ddeabe436572dd4057001e9f5).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.91 2021-01-29 Wekan release
This release fixes the following bugs:
+7 -5
View File
@@ -1,4 +1,4 @@
FROM quay.io/wekan/ubuntu:groovy-20201125.2
FROM quay.io/wekan/ubuntu:groovy-20210115
LABEL maintainer="wekan"
# 2020-12-03:
@@ -12,7 +12,7 @@ ARG DEBIAN_FRONTEND=noninteractive
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v12.20.1 \
NODE_VERSION=v12.20.2 \
METEOR_RELEASE=1.10.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
@@ -274,11 +274,12 @@ RUN \
mkdir -p /home/wekan/.npm && \
chown wekan --recursive /home/wekan/.npm /home/wekan/.config /home/wekan/.meteor && \
#gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \
chmod u+w *.json && \
gosu wekan:wekan npm install && \
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
#cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
#rm /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs && \
chown wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
#chown wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
@@ -291,10 +292,11 @@ RUN \
#find . -name "*phantomjs*" | xargs rm -rf && \
#
cd /home/wekan/app_build/bundle/programs/server/ && \
chmod u+w *.json && \
gosu wekan:wekan npm install && \
#gosu wekan:wekan npm install bcrypt && \
# Remove legacy webbroser bundle, so that Wekan works also at Android Firefox, iOS Safari, etc.
rm -rf /home/wekan/app_build/bundle/programs/web.browser.legacy && \
rm -rf /home/wekan/app_build/bundle/programs/web.browser.legacy && \
mv /home/wekan/app_build/bundle /build && \
\
# Put back the original tar
+2 -2
View File
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
ENV QEMU_VERSION=v4.2.0-6 \
QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v12.20.1 \
NODE_VERSION=v12.20.2 \
WEKAN_VERSION=3.96 \
WEKAN_ARCHITECTURE=arm64
@@ -40,7 +40,7 @@ LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
ENV QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v12.20.1 \
NODE_VERSION=v12.20.2 \
NODE_ENV=production \
NPM_VERSION=latest \
WITH_API=true \
+1
View File
@@ -12,6 +12,7 @@
[![Project Dependencies](https://david-dm.org/wekan/wekan.svg "Project Dependencies")](https://david-dm.org/wekan/wekan)
[![Code analysis at Open Hub](https://img.shields.io/badge/code%20analysis-at%20Open%20Hub-brightgreen.svg "Code analysis at Open Hub")](https://www.openhub.net/p/wekan)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fwekan%2Fwekan.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fwekan%2Fwekan?ref=badge_shield)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4619/badge)](https://bestpractices.coreinfrastructure.org/projects/4619)
## [Translate Wekan at Transifex](https://transifex.com/wekan/wekan)
+3 -3
View File
@@ -1,10 +1,10 @@
Security is very important to us. If you discover any issue regarding security, please disclose
the information responsibly by sending an email to security (at) wekan.team and not by
the information responsibly by sending an email to support (at) wekan.team using
[this PGP public key](support-at-wekan.team_pgp-publickey.asc) and not by
creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
We thank you with a place at our hall of fame page, that is
at https://wekan.github.io/hall-of-fame . Others have just posted public GitHub issue,
so they are not at that hall-of-fame page.
at https://wekan.github.io/hall-of-fame
## How should reports be formatted?
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v4.91.0"
appVersion: "v4.96.0"
files:
userUploads:
- README.md
+1 -1
View File
@@ -11,7 +11,7 @@ BlazeComponent.extendComponent({
return Boards.find(
{ archived: true },
{
sort: { sort: 1 /* boards default sorting */ },
sort: { archivedAt: -1, modifiedAt: -1 },
},
);
},
@@ -654,7 +654,6 @@ setBoardClear(color1,color2)
/* Card changes */
.minicard
background: #FFF
padding: 15px 15px 10px
box-shadow: 0 3px 8px rgba(0,0,0,.05)
+2 -1
View File
@@ -121,7 +121,8 @@ CardCustomField.register('cardCustomField');
{
'submit .js-card-customfield-currency'(event) {
event.preventDefault();
const value = Number(this.find('input').value, 10);
// To allow input separated by comma, the comma is replaced by a period.
const value = Number(this.find('input').value.replace(/,/i, '.'), 10);
this.card.setCustomField(this.customFieldId, value);
},
},
+33 -7
View File
@@ -1,3 +1,11 @@
// Helper function to replace HH with H for 24 hours format, because H allows also single-digit hours
function adjustedTimeFormat() {
return moment
.localeData()
.longDateFormat('LT')
.replace(/HH/i, 'H');
}
// Edit received, start, due & end dates
BlazeComponent.extendComponent({
template() {
@@ -59,7 +67,11 @@ BlazeComponent.extendComponent({
},
'keyup .js-time-field'() {
// parse for localized time format in strict mode
const dateMoment = moment(this.find('#time').value, 'LT', true);
const dateMoment = moment(
this.find('#time').value,
adjustedTimeFormat(),
true,
);
if (dateMoment.isValid()) {
this.error.set('');
}
@@ -71,16 +83,30 @@ BlazeComponent.extendComponent({
const time =
evt.target.time.value ||
moment(new Date().setHours(12, 0, 0)).format('LT');
const newTime = moment(time, adjustedTimeFormat(), true);
const newDate = moment(evt.target.date.value, 'L', true);
const dateString = `${evt.target.date.value} ${time}`;
const newDate = moment(dateString, 'L LT', true);
if (newDate.isValid()) {
this._storeDate(newDate.toDate());
Popup.close();
} else {
const newCompleteDate = moment(
dateString,
'L ' + adjustedTimeFormat(),
true,
);
if (!newTime.isValid()) {
this.error.set('invalid-time');
evt.target.time.focus();
}
if (!newDate.isValid()) {
this.error.set('invalid-date');
evt.target.date.focus();
}
if (newCompleteDate.isValid()) {
this._storeDate(newCompleteDate.toDate());
Popup.close();
} else {
if (!this.error) {
this.error.set('invalid');
}
}
},
'click .js-delete-date'(evt) {
evt.preventDefault();
+1 -1
View File
@@ -111,7 +111,7 @@ BlazeComponent.extendComponent({
title,
checklistId: checklist._id,
cardId: checklist.cardId,
sort: checklist.itemCount(),
sort: Utils.calculateIndexData(checklist.lastItem()).base,
});
}
// We keep the form opened, empty it.
+2 -2
View File
@@ -44,8 +44,8 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
span.fa.checklist-handle
padding-right: 20px
padding-top: 6px
float: right
padding-top: 3px
float: left
.js-confirm-checklist-delete
-1
View File
@@ -90,7 +90,6 @@ template(name="minicard")
.minicard-assignees.js-minicard-assignees
each getAssignees
+userAvatar(userId=this)
hr(class="assigneehr" title="{{_ 'assignee'}}")
if getMembers
.minicard-members.js-minicard-members
+5 -4
View File
@@ -166,16 +166,14 @@
.minicard-assignees
float: right
margin-left: 5px
.assigneehr
border-top: 1px solid red
margin-bottom: 4px
margin-bottom: 4px
.member
float: right
border-radius: 50%
height: 28px
width: @height
margin-bottom: 4px
.assignee
float: right
@@ -186,6 +184,9 @@
+ .badges
margin-top: 5px
.minicard-assignees
border-bottom: 1px solid red
.minicard-members:empty,
.minicard-assignees:empty
display: none
+2
View File
@@ -22,6 +22,8 @@ template(name="importMapMembers")
if usersLoaded.get
.map-members
p {{_ 'import-members-map'}}
p.import-members-map-note
| {{_ 'import-members-map-note' }}
.mapping-list
each members
a.mapping-item.js-select-member(class="{{#if wekanId}}filled{{/if}}")
+5 -2
View File
@@ -169,10 +169,13 @@ BlazeComponent.extendComponent({
this._refreshMembers(
this.members().map(member => {
if (!member.wekanId) {
const user = Users.findOne({ username: member.username });
let user = Users.findOne({ username: member.username });
if (!user) {
user = Users.findOne({ importUsernames: member.username });
}
if (user) {
// eslint-disable-next-line no-console
console.log('found username:', user.username);
// console.log('found username:', user.username);
member.wekanId = user._id;
}
}
+4
View File
@@ -47,3 +47,7 @@
a.show-mapping
text-decoration underline
.import-members-map-note
font-size: 90%
font-weight: bold
+2 -1
View File
@@ -180,7 +180,8 @@
border-bottom: 1px solid darken(white, 20%)
.list
display: block
display: contents
flex-basis: auto
width: 100%
border-left: 0px
&:first-child
+1 -1
View File
@@ -82,7 +82,7 @@ BlazeComponent.extendComponent({
showCardsCountForList(count) {
const limit = this.limitToShowCardsCount();
return limit > 0 && count > limit;
return limit >= 0 && count >= limit;
},
events() {
+1 -1
View File
@@ -60,7 +60,7 @@ BlazeComponent.extendComponent({
dueCardsView() {
// eslint-disable-next-line no-console
console.log('sort:', Utils.dueCardsView());
//console.log('sort:', Utils.dueCardsView());
return Utils.dueCardsView();
},
+9 -10
View File
@@ -78,12 +78,10 @@ BlazeComponent.extendComponent({
onRendered() {
Meteor.subscribe('setting');
this.colorMap = {};
for (const color of Boards.simpleSchema()._schema['labels.$.color']
.allowedValues) {
this.colorMap[TAPi18n.__(`color-${color}`)] = color;
}
// // eslint-disable-next-line no-console
// eslint-disable-next-line no-console
//console.log('lang:', TAPi18n.getLanguage());
this.colorMap = Boards.colorMap();
// eslint-disable-next-line no-console
// console.log('colorMap:', this.colorMap);
if (Session.get('globalQuery')) {
@@ -116,7 +114,7 @@ BlazeComponent.extendComponent({
if (this.queryParams) {
const sessionData = this.getSessionData();
// eslint-disable-next-line no-console
console.log('selector:', sessionData.getSelector());
// console.log('selector:', sessionData.getSelector());
// console.log('session data:', sessionData);
const cards = Cards.find({ _id: { $in: sessionData.cards } });
this.queryErrors = sessionData.errors;
@@ -178,7 +176,7 @@ BlazeComponent.extendComponent({
searchAllBoards(query) {
query = query.trim();
// eslint-disable-next-line no-console
console.log('query:', query);
//console.log('query:', query);
this.query.set(query);
@@ -296,13 +294,14 @@ BlazeComponent.extendComponent({
if (m.groups.operator) {
op = m.groups.operator.toLowerCase();
} else {
op = m.groups.abbrev;
op = m.groups.abbrev.toLowerCase();
}
if (operatorMap.hasOwnProperty(op)) {
let value = m.groups.value;
if (operatorMap[op] === 'labels') {
if (value in this.colorMap) {
value = this.colorMap[value];
// console.log('found color:', value);
}
} else if (
['dueAt', 'createdAt', 'modifiedAt'].includes(operatorMap[op])
@@ -388,7 +387,7 @@ BlazeComponent.extendComponent({
params.text = text;
// eslint-disable-next-line no-console
// console.log('params:', params);
console.log('params:', params);
this.queryParams = params;
+4 -4
View File
@@ -11,7 +11,7 @@ template(name="header")
a(href="{{pathFor 'home'}}")
span.fa.fa-home
ul
ul.header-quick-access-list
if currentList
each currentBoard.lists
li(class="{{#if $.Session.equals 'currentList' _id}}current{{/if}}")
@@ -37,11 +37,11 @@ template(name="header")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoImageUrl
img(src="{{pathFor '/logo-header.png'}}" alt="")
span
span.allBoards
a(href="{{pathFor 'home'}}")
span.fa.fa-home
| {{_ 'all-boards'}}
ul
ul.header-quick-access-list
//li
// a(href="{{pathFor 'public'}}")
// span.fa.fa-globe
@@ -51,7 +51,7 @@ template(name="header")
a(href="{{pathFor 'board' id=_id slug=slug}}")
= title
else
li.current {{_ 'quick-access-description'}}
li.current.empty {{_ 'quick-access-description'}}
// Next line is used only for spacing at header,
// there is no visible clickable icon.
+9 -2
View File
@@ -102,6 +102,9 @@
z-index: 21
padding: 10px 0px
.allBoards
padding: 0 0 0 10px
#header-user-bar,
#header-new-board-icon,
ul li
@@ -113,7 +116,7 @@
a:hover, a.is-active
color: white
ul
ul.header-quick-access-list
transition: opacity 0.2s
overflow-x: auto
overflow-y: hidden
@@ -135,6 +138,9 @@
&.current
color: darken(white, 5%)
&.current.empty
padding: 12px 10px 12px 10px
&:first-child .fa-home,&:nth-child(3) .fa-globe
margin-right: 5px
@@ -210,7 +216,8 @@
.fa-home
font-size: 26px
margin-top: -2px
margin-right: 20px
margin-right: 10px
margin-left: 10px
#header-new-board-icon
display: none
@@ -5,7 +5,7 @@
.notification
display: flex
float: none
padding: 12px 8px 8px
padding: 15px 8px 8px
color: black
border-bottom: 1px solid #dbdbdb
@@ -14,6 +14,7 @@
.read-status
width: 30px
padding: 0px 10px 0px 0px
input
width: 24px
@@ -28,13 +29,16 @@
color: #bbb
.details
width: calc(100% - 30px)
.activity
display: flex
a.member
margin: 0px 0px 0px 0px
padding: 0px
svg
padding: 3px
.activity-desc
width: 100%;
margin: 0px 0px 0px 5px
.activity-comment
display: block
@@ -55,3 +59,14 @@
.remove
a:hover
color #eb4646 !important
@media screen and (max-width: 800px)
#notifications-drawer
.notification
height: auto
.details
.activity
a.member
height: 36px
width: 36px
@@ -2,7 +2,7 @@ belize = #2980b9
section#notifications-drawer
position: fixed
top: 28px
top: 48px
right: 0
width: 400px
background-color: #fafafa
@@ -17,7 +17,7 @@ section#notifications-drawer
.header
position: fixed
top 28px
top 48px
right 0
width calc(400px - 32px)
padding: 8px 16px
@@ -63,7 +63,7 @@ section#notifications-drawer
ul.notifications
display: block
padding: 0px 16px
padding: 0px 16px 0px 16px
margin: 0
height: calc(100vh - 102px)
height: calc(100vh - 122px)
overflow-y: scroll
+46 -43
View File
@@ -74,7 +74,6 @@ template(name="orgGeneral")
th {{_ 'description'}}
th {{_ 'shortName'}}
th {{_ 'website'}}
th {{_ 'teams'}}
th {{_ 'createdAt'}}
th {{_ 'active'}}
th
@@ -110,6 +109,7 @@ template(name="peopleGeneral")
th {{_ 'createdAt'}}
th {{_ 'active'}}
th {{_ 'authentication-method'}}
th {{_ 'import-usernames'}}
th
+newUserRow
each user in peopleList
@@ -133,25 +133,21 @@ template(name="newUserRow")
template(name="orgRow")
tr
if orgData.loginDisabled
td <s>{{ orgData.displayName }}</s>
td <s>{{ orgData.orgDisplayName }}</s>
else
td {{ orgData.displayName }}
td {{ orgData.orgDisplayName }}
if orgData.loginDisabled
td <s>{{ orgData.orgDesc }}</s>
else
td {{ orgData.desc }}
td {{ orgData.orgDesc }}
if orgData.loginDisabled
td <s>{{ orgData.name }}</s>
td <s>{{ orgData.orgName }}</s>
else
td {{ orgData.name }}
td {{ orgData.orgName }}
if orgData.loginDisabled
td <s>{{ orgData.website }}</s>
td <s>{{ orgData.orgWebsite }}</s>
else
td {{ orgData.website }}
if orgData.loginDisabled
td <s>{{ orgData.teams }}</s>
else
td {{ orgData.teams }}
td {{ orgData.orgWebsite }}
if orgData.loginDisabled
td <s>{{ moment orgData.createdAt 'LLL' }}</s>
else
@@ -171,21 +167,21 @@ template(name="orgRow")
template(name="teamRow")
tr
if teamData.loginDisabled
td <s>{{ teamData.displayName }}</s>
td <s>{{ teamData.teamDisplayName }}</s>
else
td {{ teamData.displayName }}
td {{ teamData.teamDisplayName }}
if teamData.loginDisabled
td <s>{{ teamData.desc }}</s>
td <s>{{ teamData.teamDesc }}</s>
else
td {{ teamData.desc }}
td {{ teamData.teamDesc }}
if teamData.loginDisabled
td <s>{{ teamData.dame }}</s>
td <s>{{ teamData.teamName }}</s>
else
td {{ teamData.name }}
td {{ teamData.teamName }}
if teamData.loginDisabled
td <s>{{ teamData.website }}</s>
td <s>{{ teamData.teamWebsite }}</s>
else
td {{ teamData.website }}
td {{ teamData.teamWebsite }}
if orgData.loginDisabled
td <s>{{ moment teamData.createdAt 'LLL' }}</s>
else
@@ -257,6 +253,10 @@ template(name="peopleRow")
td <s>{{_ userData.authenticationMethod }}</s>
else
td {{_ userData.authenticationMethod }}
if userData.loginDisabled
td <s>{{ userData.importUsernamesString }}</s>
else
td {{ userData.importUsernamesString }}
td
a.edit-user
i.fa.fa-edit
@@ -268,19 +268,19 @@ template(name="editOrgPopup")
form
label.hide.orgId(type="text" value=org._id)
label
| {{_ 'orgDisplayName'}}
| {{_ 'displayName'}}
input.js-orgDisplayName(type="text" value=org.displayName required)
span.error.hide.orgname-taken
| {{_ 'error-orgname-taken'}}
label
| {{_ 'orgDesc'}}
input.js-orgDesc(type="text" value=org.desc required)
| {{_ 'description'}}
input.js-orgDesc(type="text" value=org.orgDesc required)
label
| {{_ 'orgName'}}
input.js-orgName(type="text" value=org.name required)
| {{_ 'shortName'}}
input.js-orgShortName(type="text" value=org.orgShortName required)
label
| {{_ 'orgWebsite'}}
input.js-orgWebsite(type="text" value=org.website required)
| {{_ 'website'}}
input.js-orgWebsite(type="text" value=org.orgWebsite required)
label
| {{_ 'active'}}
select.select-active.js-org-isactive
@@ -295,18 +295,18 @@ template(name="editTeamPopup")
label.hide.teamId(type="text" value=team._id)
label
| {{_ 'displayName'}}
input.js-teamDisplayName(type="text" value=team.displayName required)
input.js-teamDisplayName(type="text" value=team.teamDisplayName required)
span.error.hide.teamname-taken
| {{_ 'error-teamname-taken'}}
label
| {{_ 'description'}}
input.js-orgDesc(type="text" value=org.desc required)
input.js-teamDesc(type="text" value=team.teamDesc required)
label
| {{_ 'name'}}
input.js-orgName(type="text" value=org.name required)
| {{_ 'shortName'}}
input.js-teamShortName(type="text" value=team.teamShortName required)
label
| {{_ 'website'}}
input.js-orgWebsite(type="text" value=org.website required)
input.js-teamWebsite(type="text" value=team.teamWebsite required)
label
| {{_ 'active'}}
select.select-active.js-team-isactive
@@ -346,6 +346,9 @@ template(name="editUserPopup")
input.js-profile-email(type="email" value="{{user.emails.[0].address}}" readonly)
else
input.js-profile-email(type="email" value="{{user.emails.[0].address}}" required)
label
| {{_ 'import-usernames'}}
input.js-import-usernames(type="text" value=user.importUsernames)
label
| {{_ 'verified'}}
select.select-verified.js-profile-email-verified
@@ -376,22 +379,19 @@ template(name="newOrgPopup")
//label.hide.userId(type="text" value=user._id)
label
| {{_ 'displayName'}}
input.js-displayName(type="text" value="" required)
input.js-orgDisplayName(type="text" value="" required)
label
| {{_ 'description'}}
input.js-desc(type="text" value="" required)
input.js-orgDesc(type="text" value="" required)
label
| {{_ 'shortName'}}
input.js-name(type="text" value="")
label
| {{_ 'teams'}}
input.js-teams(type="text" value="")
input.js-orgName(type="text" value="" required)
label
| {{_ 'website'}}
input.js-website(type="text" value="")
input.js-orgWebsite(type="text" value="" required)
label
| {{_ 'active'}}
select.select-active.js-profile-isactive
select.select-active.js-org-isactive
option(value="false" selected="selected") {{_ 'yes'}}
option(value="true") {{_ 'no'}}
hr
@@ -409,13 +409,13 @@ template(name="newTeamPopup")
input.js-teamDesc(type="text" value="" required)
label
| {{_ 'shortName'}}
input.js-teamName(type="text" value="")
input.js-teamName(type="text" value="" required)
label
| {{_ 'website'}}
input.js-teamWebsite(type="text" value="")
input.js-teamWebsite(type="text" value="" required)
label
| {{_ 'active'}}
select.select-active.js-profile-isactive
select.select-active.js-team-isactive
option(value="false" selected="selected") {{_ 'yes'}}
option(value="true") {{_ 'no'}}
hr
@@ -444,6 +444,9 @@ template(name="newUserPopup")
// input.js-profile-email(type="email" value="{{user.emails.[0].address}}" readonly)
//else
input.js-profile-email(type="email" value="" required)
label
| {{_ 'import-usernames'}}
input.js-import-usernames(type="text" value="")
label
| {{_ 'admin'}}
select.select-role.js-profile-isadmin
+130 -31
View File
@@ -143,7 +143,7 @@ BlazeComponent.extendComponent({
const orgs = Org.find(this.findOrgsOptions.get(), {
fields: { _id: true },
});
this.numberOrgs.set(org.count(false));
this.numberOrgs.set(orgs.count(false));
return orgs;
},
teamList() {
@@ -404,6 +404,88 @@ BlazeComponent.extendComponent({
},
}).register('newUserRow');
Template.editOrgPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const org = Orgs.findOne(this.orgId);
const orgDisplayName = templateInstance
.find('.js-orgDisplayName')
.value.trim();
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 isChangeOrgDisplayName = orgDisplayName !== org.orgDisplayName;
const isChangeOrgDesc = orgDesc !== org.orgDesc;
const isChangeOrgShortName = orgShortName !== org.orgShortName;
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);
}
Popup.close();
},
});
Template.editTeamPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const team = Teams.findOne(this.teamId);
const teamDisplayName = templateInstance
.find('.js-teamDisplayName')
.value.trim();
const teamDesc = templateInstance.find('.js-teamDesc').value.trim();
const teamShortName = templateInstance
.find('.js-teamShortName')
.value.trim();
const teamWebsite = templateInstance.find('.js-teamWebsite').value.trim();
const teamIsActive = templateInstance
.find('.js-team-isactive')
.value.trim();
const isChangeTeamDisplayName = teamDisplayName !== team.teamDisplayName;
const isChangeTeamDesc = teamDesc !== team.teamDesc;
const isChangeTeamShortName = teamShortName !== team.teamShortName;
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);
}
Popup.close();
},
});
Template.editUserPopup.events({
submit(event, templateInstance) {
event.preventDefault();
@@ -421,6 +503,9 @@ Template.editUserPopup.events({
const authentication = templateInstance
.find('.js-authenticationMethod')
.value.trim();
const importUsernames = templateInstance
.find('.js-import-usernames')
.value.trim();
const isChangePassword = password.length > 0;
const isChangeUserName = username !== user.username;
@@ -441,6 +526,7 @@ Template.editUserPopup.events({
isAdmin: isAdmin === 'true',
loginDisabled: isActive === 'true',
authenticationMethod: authentication,
importUsernames: Users.parseImportUsernames(importUsernames),
},
});
@@ -516,39 +602,48 @@ Template.editUserPopup.events({
Template.newOrgPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const displayName = templateInstance.find('.js-displayName').value.trim();
const desc = templateInstance.find('.js-desc').value.trim();
const name = templateInstance.find('.js-name').value.trim();
const teams = templateInstance.find('.js-teams').value.trim();
const website = templateInstance.find('.js-website').value.trim();
const isActive = templateInstance.find('.js-profile-isactive').value.trim();
const orgDisplayName = templateInstance
.find('.js-orgDisplayName')
.value.trim();
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();
Meteor.call(
'setCreateOrg',
displayName,
desc,
name,
teams,
website,
isActive,
email.toLowerCase(),
function(error) {
const nameMessageElement = templateInstance.$('.name-taken');
if (error) {
const errorElement = error.error;
if (errorElement === 'name-already-taken') {
nameMessageElement.show();
emailMessageElement.hide();
} else if (errorElement === 'email-already-taken') {
usernameMessageElement.hide();
emailMessageElement.show();
}
} else {
usernameMessageElement.hide();
emailMessageElement.hide();
Popup.close();
}
},
orgDisplayName,
orgDesc,
orgShortName,
orgWebsite,
orgIsActive,
);
Popup.close();
},
});
Template.newTeamPopup.events({
submit(event, templateInstance) {
event.preventDefault();
const teamDisplayName = templateInstance
.find('.js-teamDisplayName')
.value.trim();
const teamDesc = templateInstance.find('.js-teamDesc').value.trim();
const teamShortName = templateInstance
.find('.js-teamShortName')
.value.trim();
const teamWebsite = templateInstance.find('.js-teamWebsite').value.trim();
const teamIsActive = templateInstance
.find('.js-team-isactive')
.value.trim();
Meteor.call(
'setCreateTeam',
teamDisplayName,
teamDesc,
teamShortName,
teamWebsite,
teamIsActive,
);
Popup.close();
},
@@ -563,6 +658,9 @@ Template.newUserPopup.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 importUsernames = Users.parseImportUsernames(
templateInstance.find('.js-import-usernames').value,
);
Meteor.call(
'setCreateUser',
@@ -572,6 +670,7 @@ Template.newUserPopup.events({
isAdmin,
isActive,
email.toLowerCase(),
importUsernames,
function(error) {
const usernameMessageElement = templateInstance.$('.username-taken');
const emailMessageElement = templateInstance.$('.email-taken');
@@ -14,6 +14,11 @@ template(name="archivesSidebar")
if currentUser.isBoardMember
unless isWorker
p.quiet
if this.archivedAt
| {{_ 'archived-at' }}
|
| {{ moment this.archivedAt 'LLL' }}
br
a.js-restore-card {{_ 'restore'}}
if currentUser.isBoardAdmin
| -
@@ -37,6 +42,11 @@ template(name="archivesSidebar")
if currentUser.isBoardMember
unless isWorker
p.quiet
if this.archivedAt
| {{_ 'archived-at' }}
|
| {{ moment this.archivedAt 'LLL' }}
br
a.js-restore-list {{_ 'restore'}}
if currentUser.isBoardAdmin
| -
@@ -58,6 +68,11 @@ template(name="archivesSidebar")
if currentUser.isBoardMember
unless isWorker
p.quiet
if this.archivedAt
| {{_ 'archived-at' }}
|
| {{ moment this.archivedAt 'LLL' }}
br
a.js-restore-swimlane {{_ 'restore'}}
if currentUser.isBoardAdmin
| -
+27 -12
View File
@@ -31,24 +31,39 @@ BlazeComponent.extendComponent({
},
archivedCards() {
return Cards.find({
archived: true,
boardId: Session.get('currentBoard'),
});
return Cards.find(
{
archived: true,
boardId: Session.get('currentBoard'),
},
{
sort: { archivedAt: -1, modifiedAt: -1 },
},
);
},
archivedLists() {
return Lists.find({
archived: true,
boardId: Session.get('currentBoard'),
});
return Lists.find(
{
archived: true,
boardId: Session.get('currentBoard'),
},
{
sort: { archivedAt: -1, modifiedAt: -1 },
},
);
},
archivedSwimlanes() {
return Swimlanes.find({
archived: true,
boardId: Session.get('currentBoard'),
});
return Swimlanes.find(
{
archived: true,
boardId: Session.get('currentBoard'),
},
{
sort: { archivedAt: -1, modifiedAt: -1 },
},
);
},
cardIsInArchivedList() {
-1
View File
@@ -9,7 +9,6 @@ avatar-radius = 50%
float: left
height: 30px
width: @height
margin: 0 4px 4px 0
cursor: pointer
user-select: none
z-index: 1
+1 -1
View File
@@ -143,7 +143,7 @@ template(name="changeSettingsPopup")
label.bold.clear
i.fa.fa-sort-numeric-asc
| {{_ 'show-cards-minimum-count'}}
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="-1")
label.bold.clear
i.fa.fa-calendar
| {{_ 'start-day-of-week'}}
+12 -1
View File
@@ -213,6 +213,7 @@ Template.changeLanguagePopup.events({
'profile.language': this.tag,
},
});
TAPi18n.setLanguage(this.tag);
event.preventDefault();
},
});
@@ -270,6 +271,13 @@ Template.changeSettingsPopup.helpers({
});
Template.changeSettingsPopup.events({
'keypress/paste #show-cards-count-at'() {
let keyCode = event.keyCode;
let charCode = String.fromCharCode(keyCode);
let regex = new RegExp('[-0-9]');
let ret = regex.test(charCode);
return ret;
},
'click .js-toggle-desktop-drag-handles'() {
currentUser = Meteor.user();
if (currentUser) {
@@ -292,7 +300,7 @@ Template.changeSettingsPopup.events({
},
'click .js-apply-user-settings'(event, templateInstance) {
event.preventDefault();
const minLimit = parseInt(
let minLimit = parseInt(
templateInstance.$('#show-cards-count-at').val(),
10,
);
@@ -301,6 +309,9 @@ Template.changeSettingsPopup.events({
10,
);
const currentUser = Meteor.user();
if (isNaN(minLimit) || minLimit < -1) {
minLimit = -1;
}
if (!isNaN(minLimit)) {
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
+33 -7
View File
@@ -1,3 +1,11 @@
// Helper function to replace HH with H for 24 hours format, because H allows also single-digit hours
function adjustedTimeFormat() {
return moment
.localeData()
.longDateFormat('LT')
.replace(/HH/i, 'H');
}
DatePicker = BlazeComponent.extendComponent({
template() {
return 'datepicker';
@@ -77,7 +85,11 @@ DatePicker = BlazeComponent.extendComponent({
},
'keyup .js-time-field'() {
// parse for localized time format in strict mode
const dateMoment = moment(this.find('#time').value, 'LT', true);
const dateMoment = moment(
this.find('#time').value,
adjustedTimeFormat(),
true,
);
if (dateMoment.isValid()) {
this.error.set('');
}
@@ -89,16 +101,30 @@ DatePicker = BlazeComponent.extendComponent({
const time =
evt.target.time.value ||
moment(new Date().setHours(12, 0, 0)).format('LT');
const newTime = moment(time, adjustedTimeFormat(), true);
const newDate = moment(evt.target.date.value, 'L', true);
const dateString = `${evt.target.date.value} ${time}`;
const newDate = moment(dateString, 'L LT', true);
if (newDate.isValid()) {
this._storeDate(newDate.toDate());
Popup.close();
} else {
const newCompleteDate = moment(
dateString,
'L ' + adjustedTimeFormat(),
true,
);
if (!newTime.isValid()) {
this.error.set('invalid-time');
evt.target.time.focus();
}
if (!newDate.isValid()) {
this.error.set('invalid-date');
evt.target.date.focus();
}
if (newCompleteDate.isValid()) {
this._storeDate(newCompleteDate.toDate());
Popup.close();
} else {
if (!this.error) {
this.error.set('invalid');
}
}
},
'click .js-delete-date'(evt) {
evt.preventDefault();
+17 -17
View File
@@ -4,24 +4,24 @@
Meteor.startup(() => {
TAPi18n.conf.i18n_files_route = Meteor._relativeToSiteRootUrl('/tap-i18n');
Tracker.autorun(() => {
const currentUser = Meteor.user();
let language;
if (currentUser) {
language = currentUser.profile && currentUser.profile.language;
}
const currentUser = Meteor.user();
let language;
if (currentUser) {
language = currentUser.profile && currentUser.profile.language;
}
if (!language) {
if (navigator.languages) {
language = navigator.languages[0];
} else {
language = navigator.language || navigator.userLanguage;
}
if (!language) {
if (navigator.languages) {
language = navigator.languages[0];
} else {
language = navigator.language || navigator.userLanguage;
}
}
if (language) {
TAPi18n.setLanguage(language);
T9n.setLanguage(language);
}
});
if (language) {
TAPi18n.setLanguage(language);
// eslint-disable-next-line no-console
// console.log('language set!');
T9n.setLanguage(language);
}
});
-4
View File
@@ -48,8 +48,6 @@ Utils = {
let sort = window.localStorage.getItem('myCardsSort');
if (!sort || !['board', 'dueAt'].includes(sort)) {
window.localStorage.setItem('myCardsSort', 'board');
location.reload();
sort = 'board';
}
@@ -81,8 +79,6 @@ Utils = {
let view = window.localStorage.getItem('dueCardsView');
if (!view || !['me', 'all'].includes(view)) {
window.localStorage.setItem('dueCardsView', 'me');
location.reload();
view = 'me';
}
+1 -1
View File
@@ -1,5 +1,5 @@
name: wekan
version: 1.0.2
version: 1.0.3
apiVersion: v1
description: Open Source kanban
home: https://wekan.github.io/
+1 -1
View File
@@ -81,7 +81,7 @@ else use user-provided URL.
{{- $release := .Release.Name -}}
{{- $replicaSetName := (index .Values "mongodb" "replicaSetName") -}}
{{- $mongodbSvcName := include "wekan.mongodb.svcname" . -}}
mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-{{ $v }}.{{ $mongodbSvcName }}:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}?replicaSet={{ $replicaSetName }}
mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-{{ $v }}.{{ $mongodbSvcName }}:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}/{{ .Values.dbname }}?replicaSet={{ $replicaSetName }}
{{- else -}}
{{- index .Values "mongodb" "url" -}}
{{- end -}}
+4 -1
View File
@@ -46,7 +46,10 @@ spec:
{{- range $key := .Values.secretEnv }}
{{- if .value }}
- name: {{ .name }}
value: {{ .value | quote }}
valueFrom:
secretKeyRef:
name: {{ template "wekan.fullname" $ }}-secret
key: {{ .name }}
{{- end }}
{{- end }}
livenessProbe:
+11
View File
@@ -0,0 +1,11 @@
{{ if .Values.secretEnv }}
apiVersion: v1
kind: Secret
metadata:
name: {{ template "wekan.fullname" $ }}-secret
type: Opaque
data:
{{- range $key := .Values.secretEnv }}
{{ $key.name }}: {{ $key.value | b64enc }}
{{- end}}
{{ end }}
+4 -3
View File
@@ -21,6 +21,7 @@ image:
##
replicaCount: 1
dbname: wekan
## Specify additional environmental variables for the Deployment
##
@@ -32,9 +33,9 @@ env:
## Deployment. These can e.g. be provided by a Secret and allow
## to store passwords separately
##
secretEnv:
- name: ""
value: ""
secretEnv: {}
# - name: ""
# value: ""
service:
type: NodePort
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+73 -70
View File
@@ -327,8 +327,8 @@
"export-board-json": "Exportovat tablo do JSON",
"export-board-csv": "Exportovat tablo do CSV",
"export-board-tsv": "Exportovat tablo do TSV",
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-excel": "Exportovat tablo do Excelu",
"user-can-not-export-excel": "Uživatel nemůže exportovat do Excelu",
"export-board-html": "Exportovat tablo do HTML",
"exportBoardPopup-title": "Exportovat tablo",
"sort": "řadit",
@@ -384,6 +384,7 @@
"import-csv-placeholder": "Zde vložte vaše platné CSV/TSV data",
"import-map-members": "Mapovat členy",
"import-members-map": "Toto importované tablo obsahuje několik osob. Prosím namapujte osoby z importu na místní uživatelské účty.",
"import-members-map-note": "Modifikováno",
"import-show-user-mapping": "Zkontrolovat namapování členů",
"import-user-select": "Vyberte existující uživatelský účet, kterého chcete použít pro tuto osobu",
"importMapMembersAddPopup-title": "Zvolte osobu",
@@ -530,6 +531,7 @@
"custom-login-logo-link-url": "URL odkazu vlastního loga přihlášení",
"text-below-custom-login-logo": "Text pod vlastním logem přihlášení",
"username": "Uživatelské jméno",
"import-usernames": "Importovat uživatelská jména",
"view-it": "Zobrazit",
"warn-list-archived": "varování: tato karta je v seznamu v Archivu",
"watch": "Sledovat",
@@ -601,8 +603,8 @@
"minutes": "minut",
"seconds": "sekund",
"show-field-on-card": "Ukázat toto pole na kartě",
"automatically-field-on-card": "Add field to new cards",
"always-field-on-card": "Add field to all cards",
"automatically-field-on-card": "Přidat pole na nové karty",
"always-field-on-card": "Přidat pole na všechny karty",
"showLabel-field-on-card": "Ukázat štítek pole na minikartě",
"yes": "Ano",
"no": "Ne",
@@ -610,7 +612,7 @@
"accounts-allowEmailChange": "Povolit změnu Emailu",
"accounts-allowUserNameChange": "Povolit změnu uživatelského jména",
"createdAt": "Vytvořeno v",
"modifiedAt": "Modified at",
"modifiedAt": "Modifikováno",
"verified": "Ověřen",
"active": "Aktivní",
"card-received": "Přijato",
@@ -869,19 +871,19 @@
"dueCardsViewChange-choice-all": "Všechny",
"dueCardsViewChange-choice-all-description": "Zobrazí všechny nedokončené karty s *Termínem dokončení* z každého tabla, ke kterému má uživatel oprávnění.",
"broken-cards": "Rozbité karty",
"board-title-not-found": "Board '%s' not found.",
"swimlane-title-not-found": "Swimlane '%s' not found.",
"list-title-not-found": "List '%s' not found.",
"label-not-found": "Label '%s' not found.",
"label-color-not-found": "Label color %s not found.",
"user-username-not-found": "Username '%s' not found.",
"comment-not-found": "Card with comment containing text '%s' not found.",
"globalSearch-title": "Search All Boards",
"no-cards-found": "No Cards Found",
"one-card-found": "One Card Found",
"n-cards-found": "%s Cards Found",
"n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found",
"operator-board": "board",
"board-title-not-found": "Tablo '%s' nenalezeno.",
"swimlane-title-not-found": "Swimlane '%s' nenalezena.",
"list-title-not-found": "Sloupec '%s' nenalezen.",
"label-not-found": "Štítek '%s' nenalezen.",
"label-color-not-found": "Barva štítku %s nenalezena.",
"user-username-not-found": "Uživatelské jméno '%s' nenalezeno.",
"comment-not-found": "Karta s komentářem obsahujícím text '%s' nenalezena.",
"globalSearch-title": "Vyhledat všechna tabla",
"no-cards-found": "Žádné karty nebyly nalezeny",
"one-card-found": "Nalezena jedna karta",
"n-cards-found": "nalezeny %s karty",
"n-n-of-n-cards-found": "__start__-__end__ z __total__ karet nalezeno",
"operator-board": "tablo",
"operator-board-abbrev": "b",
"operator-swimlane": "swimlane",
"operator-swimlane-abbrev": "s",
@@ -889,64 +891,65 @@
"operator-list-abbrev": "l",
"operator-label": "štítek",
"operator-label-abbrev": "#",
"operator-user": "user",
"operator-user": "uživatel",
"operator-user-abbrev": "@",
"operator-member": "člen",
"operator-member-abbrev": "m",
"operator-assignee": "assignee",
"operator-assignee": "řešitel",
"operator-assignee-abbrev": "a",
"operator-status": "status",
"operator-status": "stav",
"operator-due": "do",
"operator-created": "created",
"operator-modified": "modified",
"operator-sort": "sort",
"operator-comment": "comment",
"predicate-archived": "archived",
"predicate-ended": "ended",
"predicate-all": "all",
"predicate-overdue": "overdue",
"predicate-week": "week",
"predicate-month": "month",
"predicate-quarter": "quarter",
"predicate-year": "year",
"operator-created": "vytvořeno",
"operator-modified": "modifikováno",
"operator-sort": "třídění",
"operator-comment": "komentář",
"predicate-archived": "archivováno",
"predicate-ended": "ukončeno",
"predicate-all": "vše",
"predicate-overdue": "po termínu",
"predicate-week": "týden",
"predicate-month": "měsíc",
"predicate-quarter": "čtvrtletí",
"predicate-year": "rok",
"predicate-due": "do",
"predicate-modified": "modified",
"predicate-created": "created",
"operator-unknown-error": "%s is not an operator",
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
"operator-sort-invalid": "sort of '%s' is invalid",
"operator-status-invalid": "'%s' is not a valid status",
"next-page": "Next Page",
"previous-page": "Previous Page",
"heading-notes": "Notes",
"globalSearch-instructions-heading": "Search Instructions",
"globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).",
"globalSearch-instructions-operators": "Available operators:",
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with with a comment containing *text*.",
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`",
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - cards which are due *n* days from now. `__operator_due__:__predicate_overdue__ lists all cards past their due date.",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which which were modified *n* days ago",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - cards that are archived.",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - all archived and unarchived cards.",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - cards with an end date.",
"globalSearch-instructions-notes-1": "Multiple operators may be specified.",
"globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.",
"globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned. `__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.",
"globalSearch-instructions-notes-3-2": "Days can be specified as an integer or using `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` or `__predicate_year__`",
"globalSearch-instructions-notes-4": "Text searches are case insensitive.",
"globalSearch-instructions-notes-5": "Currently archived cards are not searched.",
"link-to-search": "Link to this search",
"predicate-modified": "modifikováno",
"predicate-created": "vytvořeno",
"operator-unknown-error": "%s není operátor",
"operator-number-expected": "operátor __operator__ očekával číslo, ale dostal '__value__'",
"operator-sort-invalid": "pořadí '%s' není platné",
"operator-status-invalid": "'%s' není platný stav",
"next-page": "Následující stránka",
"previous-page": "Předchozí stránka",
"heading-notes": "Poznámky",
"globalSearch-instructions-heading": "Vyhledat instrukce",
"globalSearch-instructions-description": "Vyhledávání lze za účelem zacílení doplnit o operátory. Operátory jsou zadávány napsáním názvu operátoru a hodnoty, které jsou odděleny dvojtečkou. Například specifikace operátoru `list:Blocked` omezí vyhledávání na karty obsažené ve sloupci *Blocked*. Pokud hodnota obsahuje mezerynebo speciální znaky, musí se nacházet v uvozovkách (např. `__operator_list__:\"To Review\"`).",
"globalSearch-instructions-operators": "Dostupné operátory:",
"globalSearch-instructions-operator-board": "`__operator_board__:title` - karty v tablech odpovídají zadanému názvu",
"globalSearch-instructions-operator-list": "`__operator_list__:title` - karty ve sloupcích odpovídají zadanému názvu",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - karty ve swimlanech odpovídají zadanému názvu",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - karty s komentářem obsahujícím *text*.",
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - karty, které mají štítek odpovídající zadané barvě nebo názvu",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - zkratka pro `__operator_label__:label`",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - karty, kde je zadaný uživatel *member* nebo *assignee*",
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - zkratka pro `user:username`",
"globalSearch-instructions-operator-member": "`__operator_member__:username` - karty, kde je zadaný uživatel *member*",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - karty, kde je zadaný uživatel *assignee*",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - karty, které jsou *n* dní před termínem. `__operator_due__:__predicate_overdue__ zobrazí všechny karty po termínu.",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - karty, které byly vytvořeny před *n* dny",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - karty modifikované před *n* dny",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - archivované karty.",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - všechny archivované a nearchivované karty.",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - karty s datem dokončení.",
"globalSearch-instructions-notes-1": "Lze zadat více operátorů současně.",
"globalSearch-instructions-notes-2": "Podobné operátory jsou spojeny pomocí *OR*. Jsou zobrazeny karty odpovídající kterékoli v podmínek.\n`__operator_list__:Available __operator_list__:Blocked` zobrazí karty obsažené v jakémkoli sloupci s názvem *Blocked* nebo *Available*.",
"globalSearch-instructions-notes-3": "Odlišné operátory jsou spojeny pomocí *AND*. Jsou zobrazeny pouze karty, které odpovídají všem definovaným operátorům. `__operator_list__:Available __operator_label__:red` zobrazí pouze karty ve sloupci *Available* with a štítkem *red*.",
"globalSearch-instructions-notes-3-2": "Dyn mohou být zadávány jako celé číslo nebo s použitím `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` nebo `__predicate_year__`",
"globalSearch-instructions-notes-4": "Vyhledávání rozlišuje velikost písmen.",
"globalSearch-instructions-notes-5": "Archivované karty nejsou vyhledávány.",
"link-to-search": "Odkaz na toto vyhledávání",
"excel-font": "Arial",
"number": "Číslo",
"label-colors": "Label Colors",
"label-names": "Label Names"
"label-colors": "Štítek barvy",
"label-names": "Štítek jména",
"archived-at": "archivováno"
}
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+9 -4
View File
@@ -322,6 +322,8 @@
"error-user-notAllowSelf": "You can not invite yourself",
"error-user-notCreated": "This user is not created",
"error-username-taken": "This username is already taken",
"error-orgname-taken": "This organization name is already taken",
"error-teamname-taken": "This team name is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
"export-board-json": "Export board to JSON",
@@ -384,6 +386,7 @@
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick your existing user you want to use as this member",
"importMapMembersAddPopup-title": "Select member",
@@ -530,6 +533,7 @@
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"username": "Username",
"import-usernames": "Import Usernames",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Archive",
"watch": "Watch",
@@ -926,7 +930,7 @@
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with with a comment containing *text*.",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with a comment containing *text*.",
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
@@ -934,8 +938,8 @@
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - cards which are due *n* days from now. `__operator_due__:__predicate_overdue__ lists all cards past their due date.",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which which were modified *n* days ago",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which were modified *n* days ago",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - cards that are archived.",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - all archived and unarchived cards.",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - cards with an end date.",
@@ -949,5 +953,6 @@
"excel-font": "Arial",
"number": "Number",
"label-colors": "Label Colors",
"label-names": "Label Names"
"label-names": "Label Names",
"archived-at": "archived at"
}
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+75 -72
View File
@@ -327,8 +327,8 @@
"export-board-json": "ボードをJSONにエクスポート",
"export-board-csv": "ボードをCSVにエクスポート",
"export-board-tsv": "ボードをTSVにエクスポート",
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-excel": "ボードをExcelにエクスポート",
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません ",
"export-board-html": "ボードをHTMLにエクスポート",
"exportBoardPopup-title": "ボードのエクスポート",
"sort": "並べ替え",
@@ -384,6 +384,7 @@
"import-csv-placeholder": "CSV/TSVデータをここに貼り付けする",
"import-map-members": "メンバーを紐付け",
"import-members-map": "インポートしたボードにはいくつかのメンバーが含まれています。インポートしたいメンバーをユーザーにマッピングしてください",
"import-members-map-note": "注意:マップされていないメンバーは現在のユーザーに割り当てられます",
"import-show-user-mapping": "メンバー紐付けの確認",
"import-user-select": "このメンバーとして使用したいユーザーを選択してください",
"importMapMembersAddPopup-title": "メンバーを選択",
@@ -530,6 +531,7 @@
"custom-login-logo-link-url": "カスタムのログインロゴイメージのリンクURL",
"text-below-custom-login-logo": "カスタムログインロゴイメージの下のテキスト",
"username": "ユーザー名",
"import-usernames": "インポートするユーザー名",
"view-it": "見る",
"warn-list-archived": "警告:このカードはアーカイブされたリスト内にあります",
"watch": "ウォッチ",
@@ -601,8 +603,8 @@
"minutes": "分",
"seconds": "秒",
"show-field-on-card": "このフィールドをカードに表示",
"automatically-field-on-card": "Add field to new cards",
"always-field-on-card": "Add field to all cards",
"automatically-field-on-card": "フィールドを新しいカードに追加",
"always-field-on-card": "フィールドをすべてのカードに追加",
"showLabel-field-on-card": "ミニカード上のフィールドラベル表示",
"yes": "はい",
"no": "いいえ",
@@ -672,7 +674,7 @@
"r-added-to": "次に追加された時",
"r-removed-from": "次から削除された時",
"r-the-board": "ボード:",
"r-list": "リスト:",
"r-list": "リスト",
"list": "List",
"set-filter": "フィルタを設定",
"r-moved-to": "次に移動した時",
@@ -869,84 +871,85 @@
"dueCardsViewChange-choice-all": "全ユーザー",
"dueCardsViewChange-choice-all-description": "ユーザーに権限のあるボードから、期限が切れたすべての未完了のカードを表示します。",
"broken-cards": "壊れたカード",
"board-title-not-found": "Board '%s' not found.",
"swimlane-title-not-found": "Swimlane '%s' not found.",
"list-title-not-found": "List '%s' not found.",
"label-not-found": "Label '%s' not found.",
"label-color-not-found": "Label color %s not found.",
"user-username-not-found": "Username '%s' not found.",
"comment-not-found": "Card with comment containing text '%s' not found.",
"globalSearch-title": "Search All Boards",
"no-cards-found": "No Cards Found",
"one-card-found": "One Card Found",
"n-cards-found": "%s Cards Found",
"n-n-of-n-cards-found": "__start__-__end__ of __total__ Cards Found",
"operator-board": "board",
"board-title-not-found": "ボード「%s」は見つかりませんでした。",
"swimlane-title-not-found": "スイムレーン「%s」は見つかりませんでした。",
"list-title-not-found": "リスト「%s」は見つかりませんでした。",
"label-not-found": "ラベル「%s」は見つかりませんでした。",
"label-color-not-found": "ラベル色 %s は見つかりませんでした。",
"user-username-not-found": "ユーザー名「%s」は見つかりませんでした。",
"comment-not-found": "コメントの文字列に「%s」が含まれるカードは見つかりませんでした。",
"globalSearch-title": "すべてのボードから検索",
"no-cards-found": "カードが見つかりませんでした",
"one-card-found": "1件のカードが見つかりました",
"n-cards-found": "%s件のカードが見つかりました",
"n-n-of-n-cards-found": "__start__-__end__ / __total__ 件のカードが見つかりました",
"operator-board": "ボード",
"operator-board-abbrev": "b",
"operator-swimlane": "swimlane",
"operator-swimlane": "スイムレーン",
"operator-swimlane-abbrev": "s",
"operator-list": "リスト:",
"operator-list": "リスト",
"operator-list-abbrev": "l",
"operator-label": "ラベル",
"operator-label-abbrev": "#",
"operator-user": "user",
"operator-user": "ユーザー",
"operator-user-abbrev": "@",
"operator-member": "メンバー",
"operator-member-abbrev": "m",
"operator-assignee": "assignee",
"operator-assignee": "担当者",
"operator-assignee-abbrev": "a",
"operator-status": "status",
"operator-due": "期限",
"operator-created": "created",
"operator-modified": "modified",
"operator-status": "ステータス",
"operator-due": "期限日",
"operator-created": "作成日",
"operator-modified": "変更日",
"operator-sort": "sort",
"operator-comment": "comment",
"predicate-archived": "archived",
"predicate-ended": "ended",
"predicate-all": "all",
"predicate-overdue": "overdue",
"predicate-week": "week",
"predicate-month": "month",
"predicate-quarter": "quarter",
"predicate-year": "year",
"predicate-due": "期限",
"predicate-modified": "modified",
"predicate-created": "created",
"operator-unknown-error": "%s is not an operator",
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
"operator-comment": "コメント",
"predicate-archived": "アーカイブ済み",
"predicate-ended": "終了",
"predicate-all": "すべて",
"predicate-overdue": "超過",
"predicate-week": "週",
"predicate-month": "月",
"predicate-quarter": "半年",
"predicate-year": "年",
"predicate-due": "期限日",
"predicate-modified": "変更日",
"predicate-created": "作成日",
"operator-unknown-error": "%sは演算子ではありません",
"operator-number-expected": "演算子 __operator__ には数値の指定が必要ですが、「__value__」が入力されました",
"operator-sort-invalid": "sort of '%s' is invalid",
"operator-status-invalid": "'%s' is not a valid status",
"next-page": "Next Page",
"previous-page": "Previous Page",
"heading-notes": "Notes",
"globalSearch-instructions-heading": "Search Instructions",
"globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).",
"globalSearch-instructions-operators": "Available operators:",
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with with a comment containing *text*.",
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`",
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - cards which are due *n* days from now. `__operator_due__:__predicate_overdue__ lists all cards past their due date.",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which which were modified *n* days ago",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - cards that are archived.",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - all archived and unarchived cards.",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - cards with an end date.",
"globalSearch-instructions-notes-1": "Multiple operators may be specified.",
"globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.",
"globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned. `__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.",
"globalSearch-instructions-notes-3-2": "Days can be specified as an integer or using `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` or `__predicate_year__`",
"globalSearch-instructions-notes-4": "Text searches are case insensitive.",
"globalSearch-instructions-notes-5": "Currently archived cards are not searched.",
"link-to-search": "Link to this search",
"operator-status-invalid": "「%s」は無効なステータスです",
"next-page": "次のページ",
"previous-page": "前のページ",
"heading-notes": "注意\n ",
"globalSearch-instructions-heading": "検索手順",
"globalSearch-instructions-description": "検索は演算子を含めた絞り込みが可能です。演算子は、演算子の名前と値を半角コロンで区切った記述で指定します。例えば、`リスト:対応不可`と指定すると、*対応不可*という名前のリストに含まれるカードという制約で検索します。値にスペースや特殊文字が含まれる場合は引用符で囲む必要があります(例:`__operator_list__:\"レビュー 本日中\"`)。",
"globalSearch-instructions-operators": "有効な演算子:",
"globalSearch-instructions-operator-board": "`__operator_board__:タイトル` - 指定されたタイトルのカード",
"globalSearch-instructions-operator-list": "`__operator_list__:タイトル` - 指定されたタイトルに一致するリスト内のカード",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:タイトル` - 指定されたタイトルに一致するスイムレーン内のカード",
"globalSearch-instructions-operator-comment": "`__operator_comment__:テキスト` - *テキスト* を含むコメント付きのカード",
"globalSearch-instructions-operator-label": "`__operator_label__:色` `__operator_label__:name` - 色または名前に一致するラベルを含むカード",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - `__operator_label__:label` の省略表記 ",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - 指定されたユーザーが*メンバー*または*担当者*のカード",
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - `user:username` の省略表記",
"globalSearch-instructions-operator-member": "`__operator_member__:username` - 指定されたユーザーが*メンバー*のカード",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - 指定されたユーザーが*担当者*のカード",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - 期限日が*n*日後のカード `__operator_due__:__predicate_overdue__` - 期日を過ぎたすべてのカード",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - *n*日前に作成されたカード",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - *n*日前に変更されたカード",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - アーカイブ済みのカード",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - アーカイブされていないカード",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - 終了したカード",
"globalSearch-instructions-notes-1": "複数の演算子を指定できます。",
"globalSearch-instructions-notes-2": "同じ演算子はOR条件になります。複数の条件のいずれかに一致したカードが検索されます。`__operator_list__:有効 __operator_list__:対応不要` の場合、リスト名が *有効* または *対応不要* のカードが検索されます。",
"globalSearch-instructions-notes-3": "異なる演算子はAND条件になります。異なる演算子すべてに一致したカードのみが検索されます。`__operator_list__:有効 __operator_label__:赤` は、*有効* のリストの中の *赤* のラベルのカードのみが検索されます。",
"globalSearch-instructions-notes-3-2": "日数指定は数値、または`__predicate_week__`、`__predicate_month__`、`__predicate_quarter__`、`__predicate_year__`を使用します。",
"globalSearch-instructions-notes-4": "テキスト検索では大文字と小文字は区別されません。",
"globalSearch-instructions-notes-5": "アーカイブ済みのカードは検索されません。 ",
"link-to-search": "この検索へのリンク",
"excel-font": "Arial",
"number": "数値",
"label-colors": "Label Colors",
"label-names": "Label Names"
"label-colors": "ラベル色",
"label-names": "ラベル名",
"archived-at": "archived at"
}
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+19 -16
View File
@@ -75,10 +75,10 @@
"activity-checklist-uncompleted-card": "ofullbordade checklistan %s",
"activity-editComment": "redigerade kommentar %s",
"activity-deleteComment": "raderade kommentar %s",
"activity-receivedDate": "edited received date to %s of %s",
"activity-startDate": "edited start date to %s of %s",
"activity-dueDate": "edited due date to %s of %s",
"activity-endDate": "edited end date to %s of %s",
"activity-receivedDate": "redigerade mottaget datum till %s av %s",
"activity-startDate": "redigerade startdatum till %s av %s",
"activity-dueDate": "redigerade förfallodag till %s av %s",
"activity-endDate": "redigerade slutdatum till %s av %s",
"add-attachment": "Lägg till bilaga",
"add-board": "Lägg till tavla",
"add-card": "Lägg till kort",
@@ -327,8 +327,8 @@
"export-board-json": "Exportera tavla till JSON",
"export-board-csv": "Expoertera tavla till CSV",
"export-board-tsv": "Exportera tavla till TSV",
"export-board-excel": "Export board to Excel",
"user-can-not-export-excel": "User can not export Excel",
"export-board-excel": "Exportera tavla till Excel",
"user-can-not-export-excel": "Användare kan inte exportera till Excel",
"export-board-html": "Exportera tavla till HTML",
"exportBoardPopup-title": "Exportera tavla",
"sort": "Sortera",
@@ -384,6 +384,7 @@
"import-csv-placeholder": "Klistra in CSV/TSV data här",
"import-map-members": "Kartlägg medlemmar",
"import-members-map": "Din importerade tavla har några medlemmar. Vänligen matcha medlemmarna du vill importera mot dina användare",
"import-members-map-note": "Note: Unmapped members will be assigned to the current user.",
"import-show-user-mapping": "Granska medlemskartläggning",
"import-user-select": "Välj din befintliga användare du vill använda som den här medlemmen",
"importMapMembersAddPopup-title": "Välj medlem",
@@ -530,6 +531,7 @@
"custom-login-logo-link-url": "Länk för anpassad logotyp på inloggningssidan",
"text-below-custom-login-logo": "Text under anpassad logga för inloggning",
"username": "Änvandarnamn",
"import-usernames": "Importera användarnamn",
"view-it": "Visa det",
"warn-list-archived": "varning: detta kort finns i en lista i Arkiv",
"watch": "Bevaka",
@@ -601,8 +603,8 @@
"minutes": "minuter",
"seconds": "sekunder",
"show-field-on-card": "Visa detta fält på kort",
"automatically-field-on-card": "Add field to new cards",
"always-field-on-card": "Add field to all cards",
"automatically-field-on-card": "Lägg till fält till nytt kort",
"always-field-on-card": "Lägg till fält till alla kort",
"showLabel-field-on-card": "Visa fältetikett på minikort",
"yes": "Ja",
"no": "Nej",
@@ -610,7 +612,7 @@
"accounts-allowEmailChange": "Tillåt e-poständring",
"accounts-allowUserNameChange": "Tillåt användarnamnändring",
"createdAt": "Skapad vid",
"modifiedAt": "Modified at",
"modifiedAt": "Senast ändrad",
"verified": "Verifierad",
"active": "Aktiv",
"card-received": "Mottagen",
@@ -673,7 +675,7 @@
"r-removed-from": "Borttagen från",
"r-the-board": "tavlan",
"r-list": "lista",
"list": "List",
"list": "Lista",
"set-filter": "Ställ in filter",
"r-moved-to": "Flyttat till",
"r-moved-from": "Flyttad från",
@@ -779,8 +781,8 @@
"display-authentication-method": "Visa autentiseringsmetod",
"default-authentication-method": "Standard autentiseringsmetod",
"duplicate-board": "Duplicera tavla",
"org-number": "The number of organizations is:",
"team-number": "The number of teams is:",
"org-number": "Antalet organisationer är:",
"team-number": "Antalet team är:",
"people-number": "Antalet personer är:",
"swimlaneDeletePopup-title": "Radera simbana?",
"swimlane-delete-pop": "Alla händelser kommer att tas bort från aktivitetsflödet och du kommer inte att kunna återställa simbanan. Det går inte att ångra.",
@@ -925,7 +927,7 @@
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with with a comment containing *text*.",
"globalSearch-instructions-operator-comment": "`__operator_comment__:text` - cards with a comment containing *text*.",
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
@@ -933,8 +935,8 @@
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
"globalSearch-instructions-operator-due": "`__operator_due__:n` - cards which are due *n* days from now. `__operator_due__:__predicate_overdue__ lists all cards past their due date.",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which which were modified *n* days ago",
"globalSearch-instructions-operator-created": "`__operator_created__:n` - cards which were created *n* days ago",
"globalSearch-instructions-operator-modified": "`__operator_modified__:n` - cards which were modified *n* days ago",
"globalSearch-instructions-status-archived": "`__operator_status__:__predicate_archived__` - cards that are archived.",
"globalSearch-instructions-status-all": "`__operator_status__:__predicate_all__` - all archived and unarchived cards.",
"globalSearch-instructions-status-ended": "`__operator_status__:__predicate_ended__` - cards with an end date.",
@@ -948,5 +950,6 @@
"excel-font": "Arial",
"number": "Nummer",
"label-colors": "Label Colors",
"label-names": "Label Names"
"label-names": "Label Names",
"archived-at": "archived at"
}
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
+954 -951
View File
File diff suppressed because it is too large. Load diff
Loaded 100 of 145 files, more files were not shown because too many files have changed in this diff. Show more