Compare commits

...

214 Commits

Author SHA1 Message Date
Julius Härtl
515b5c5310 Remove the alpha warning
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
f9674db40a Update screenshot in README
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
4dfc11db56 Cleanup CHANGELOG
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
5b620879de Add new screenshots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
0c478a0636 Prepare 0.2 release
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Nextcloud bot
4a2ee8f9d0 [tx-robot] updated from transifex 2017-06-20 00:12:13 +00:00
Julius Härtl
630104c37f Fix app-navigation-toggle height and small typo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 22:11:26 +02:00
Artem Anufrij
882bf773c8 Toggle navigation bar on mobile and desktop devices
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-19 22:11:26 +02:00
Marin Treselj
42f3f5c1dd Merge pull request #191 from nextcloud/browser-title
Set board title as browser title
2017-06-19 21:02:07 +02:00
Julius Härtl
6d8dbeebcd Set board title as browser title
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 20:38:08 +02:00
Julius Härtl
1d9a0d35d8 Add timepicker css
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Artem Anufrij
eabcb12185 css fixes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

some css changes

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

removed unused css line

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

some margin changes

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-19 10:36:29 +02:00
Julius Härtl
ae88f2291c Add tests for overdue state
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
a5199127da Add padding only for colored due date badges
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
9c19246b8b Optimize calendar-white icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
396a0d6d3a Fix due date colors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
0ffb8a0dbd Fix small issues
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
2063e1d9f4 Fix unit tests for duedate
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
b350213a01 Fix margin issues and eslint warnings
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
9a77bd7c7c Implement due dates for cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Nextcloud bot
58bf51accd [tx-robot] updated from transifex 2017-06-19 00:11:41 +00:00
Nextcloud bot
ead01055fc [tx-robot] updated from transifex 2017-06-17 00:12:03 +00:00
Nextcloud bot
848521a8ef [tx-robot] updated from transifex 2017-06-16 00:12:24 +00:00
Nextcloud bot
7e81b6c182 [tx-robot] updated from transifex 2017-06-15 00:12:24 +00:00
Nextcloud bot
231c4e1acb [tx-robot] updated from transifex 2017-06-14 16:22:24 +00:00
Nextcloud bot
094d5334aa [tx-robot] updated from transifex 2017-06-14 00:12:10 +00:00
Nextcloud bot
989f09ed98 [tx-robot] updated from transifex 2017-06-13 00:11:48 +00:00
Nextcloud bot
fe936f42c4 [tx-robot] updated from transifex 2017-06-12 00:11:40 +00:00
Nextcloud bot
b82ef2b401 [tx-robot] updated from transifex 2017-06-11 00:11:53 +00:00
Artem Anufrij
4de11b8f95 Merge pull request #186 from nextcloud/fix-sharing-icon
Hotfix for user/group icons on sharing list
2017-06-11 00:07:48 +02:00
Julius Härtl
61c4e70046 Hotfix for user/group icons on sharing list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-11 00:02:35 +02:00
Artem Anufrij
d052325874 fixed css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:46:52 +02:00
Artem Anufrij
9b6869862c some design changes in board list
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:46:52 +02:00
Artem Anufrij
d421e23f9d added assigned-users into css block
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:20:35 +02:00
Artem Anufrij
bdd47c8dc6 fixed avatar margin
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:20:35 +02:00
Julius Härtl
bb8c0909f2 Merge pull request #181 from nextcloud/add-toggle-button-into-board-list
added board header for board list
2017-06-10 23:16:23 +02:00
Artem Anufrij
8e89c36ba8 added board header for board list
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 10:41:13 +02:00
Nextcloud bot
4391af0e84 [tx-robot] updated from transifex 2017-06-10 00:12:06 +00:00
Artem Anufrij
b1ac1b3d4e Merge pull request #177 from nextcloud/toggle-navi-bar
toggle navibar visibility
2017-06-09 23:54:28 +02:00
Artem Anufrij
6b8c084ed4 better mobile support
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-09 22:53:10 +02:00
Artem Anufrij
ac39568ff6 toggle navibar visibility
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-09 18:58:45 +02:00
Nextcloud bot
e7b095591a [tx-robot] updated from transifex 2017-06-09 00:12:01 +00:00
Julius Härtl
2e1f743698 Merge pull request #175 from nextcloud/optimized-deck-icon
Optimized 16px version of deck.svg
2017-06-08 23:18:06 +02:00
Marin Treselj
537adc09b4 OPtimized 16px version of deck.svg
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-06-08 22:53:10 +02:00
Julius Härtl
48842dd53e Merge pull request #133 from nextcloud/archive-boards
Archive boards
2017-06-08 22:46:04 +02:00
Julius Härtl
68b2025390 Some minor fixes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 20:52:56 +02:00
Artem Anufrij
034ac5e2ad add_delete_menu_in_default_view
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-08 20:52:56 +02:00
Artem Anufrij
727a33535d fixed_context_menu_position
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-08 20:52:33 +02:00
Julius Härtl
3062c82083 Allow force delete to have a clean test env after creating boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
4623688852 Fix codacy errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
19a90809f9 Add more unit testing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
57f74c98db Fix adding new boards in the sidebar
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
c7586377ea Fix stateParam changes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
f5dc4ac0e9 Fix missing card actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
06e41f59f6 Add unit tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
f7b69d9c42 Fix varius small issues
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
2c63bfb4b8 Keep deleted boards for a while and delete with cron
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
247b4dde0c Fix getting permissions and active indicator
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
90eb9ce28e Fix unit tests for board archiving
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:42 +02:00
Julius Härtl
8c04ea8dc9 Archive boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:42 +02:00
Nextcloud bot
fa5cba631f [tx-robot] updated from transifex 2017-06-08 00:11:59 +00:00
Nextcloud bot
b220bab8c6 [tx-robot] updated from transifex 2017-06-07 00:12:51 +00:00
Artem Anufrij
786aa00f83 missing translation for 'Add a new stack' (#169)
* missing translation for 'Add a new stack'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed pixelipo's comment

* label->tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* 'Board title' -> 'New Board title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* 'Board title' -> 'Boards' in Boardlist

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* renamed column header 'Boards' -> 'Title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* missing translation for 'Add a new stack'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed pixelipo's comment
label->tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

'Board title' -> 'New Board title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

'Board title' -> 'Boards' in Boardlist

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

[tx-robot] updated from transifex

renamed column header 'Boards' -> 'Title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

Merge branch 'master' into missing_translation

* fixed h2 tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed space

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-06 09:37:38 +02:00
Nextcloud bot
6f9fe17004 [tx-robot] updated from transifex 2017-06-04 00:12:03 +00:00
Nextcloud bot
2efb78bfa3 [tx-robot] updated from transifex 2017-06-03 00:12:19 +00:00
Artem Anufrij
64960956f9 Merge pull request #173 from nextcloud/click-title-to-edit
Click title to edit
2017-06-01 20:37:01 +02:00
Artem Anufrij
cfd936b5c5 save on return/enter
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-01 20:06:27 +02:00
Marin Treselj
2cb151ba02 Temporary fix for card delete button position
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 22:44:44 +02:00
Marin Treselj
2f73f0492b Create new class for inline-editable text
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 15:43:30 +02:00
Marin Treselj
e06a2ad743 fix tabs
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 08:17:18 +02:00
Marin Treselj
73eff3d64e Allows editing stack title by clicking it.
Deprecates edit icon in the stack header.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 08:13:53 +02:00
Nextcloud bot
d14f4f20b6 [tx-robot] updated from transifex 2017-05-31 00:12:43 +00:00
Nextcloud bot
c6159e5914 [tx-robot] updated from transifex 2017-05-30 00:12:44 +00:00
Nextcloud bot
d8a287e9dc [tx-robot] updated from transifex 2017-05-29 00:12:39 +00:00
Artem Anufrij
1d09de1d34 Merge pull request #168 from nextcloud/167-context-menus
Fix #167 - hide opened menus
2017-05-28 16:37:45 +02:00
Marin Treselj
e633dd4d0f Fix #167 - hide opened menus
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 16:17:31 +02:00
Artem Anufrij
7ce7543817 Merge pull request #166 from nextcloud/160-fix-regressions
Fixes few regressions caused by my last PR.
2017-05-28 15:23:53 +02:00
Marin Treselj
033897f877 Revert Artem's commits
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:12:59 +02:00
Marin Treselj
ef31fec924 Merge branch '160-fix-regressions' of github.com:nextcloud/deck into 160-fix-regressions
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:09:04 +02:00
Marin Treselj
1780b4b21c Fixes few regressions caused by my last PR.
It tranaformed our css to the "mobile-first" paradigm so @media
query now targets large screens.
This commit also fixes share icon in the left sidebar.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:07:45 +02:00
Marin Treselj
beef990a9f Fixes few regressions caused by my last PR.
It tranaformed our css to the "mobile-first" paradigm so @media
query now targets large screens.
This commit also fixes share icon in the left sidebar.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 14:41:29 +02:00
Julius Härtl
18262c6159 Merge pull request #165 from nextcloud/fix_css_for_mobile
fix css for mobile devices
2017-05-28 14:41:25 +02:00
Artem Anufrij
ff77fb68f5 moved css code
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-28 14:29:24 +02:00
Artem Anufrij
c3b9579f1d fix css for mobile devices
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-28 14:21:21 +02:00
Julius Härtl
a86eaec7c6 Merge pull request #161 from nextcloud/160-css-cleanup
This is part one of the style cleanup mentioned in #160.
2017-05-28 13:56:45 +02:00
Marin Treselj
f4a5a0c36c Fix alignment of buttons
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 13:36:52 +02:00
Marin Treselj
1defc48179 This is part one of the style cleanup mentioned in #160.
Functionality has not been affected (I hope). There will be few more related PRs but I want to keep each one simple so it's easy to review.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 13:36:08 +02:00
Julius Härtl
98c87f4551 Merge pull request #159 from nextcloud/mobile_improvements
improve mobile behavior
2017-05-28 10:58:58 +02:00
Julius Härtl
457b897135 Merge pull request #162 from nextcloud/build-cleanup
Cleanup makefiles
2017-05-28 10:56:49 +02:00
Nextcloud bot
314763acca [tx-robot] updated from transifex 2017-05-28 00:12:17 +00:00
Nextcloud bot
8c7190f84d [tx-robot] updated from transifex 2017-05-27 00:12:38 +00:00
Julius Härtl
8105a4b211 Merge pull request #163 from nextcloud/rakekniven-patch-1
Update part.card.php
2017-05-26 22:54:02 +02:00
rakekniven
7c80b58dd7 Update part.card.php 2017-05-26 22:31:35 +02:00
Nextcloud bot
2adf972440 [tx-robot] updated from transifex 2017-05-26 00:12:11 +00:00
Julius Härtl
aacf7716ce Cleanup makefiles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-25 15:18:03 +02:00
Nextcloud bot
a23b7e8f1a [tx-robot] updated from transifex 2017-05-25 00:11:53 +00:00
Artem Anufrij
2eb6118485 show stack action buttons on mobile device
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 22:49:19 +02:00
Artem Anufrij
855479fe68 added longTouch: true
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 22:24:27 +02:00
Artem Anufrij
2596ecae5b improve mobile behavior
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 21:23:34 +02:00
Julius Härtl
d60f79da65 Merge pull request #158 from nextcloud/fix_popover_menu_orientation
fix popover menu orientation
2017-05-24 20:26:40 +02:00
Artem Anufrij
58c6cf19a6 fix popover menu orientation
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 20:14:01 +02:00
Julius Härtl
a070fa3bac Merge pull request #146 from nextcloud/header-bar-improvements
header bar and mobile device improvements
2017-05-24 19:10:32 +02:00
Artem Anufrij
286a56e6f4 Merge pull request #155 from nextcloud/keep-stack-order
Fix order of stacks
2017-05-24 18:03:47 +02:00
Julius Härtl
0b7b89b602 Fix button clickable area
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-24 16:32:41 +02:00
Julius Härtl
04108835a6 Fix order of stacks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-24 16:12:37 +02:00
Marin Treselj
1143f0807c Fix popover closing on input focus
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-24 11:59:20 +02:00
Nextcloud bot
f2dcede923 [tx-robot] updated from transifex 2017-05-24 00:12:29 +00:00
Julius Härtl
5dd346fbe8 Merge pull request #151 from nextcloud/sort-stacks
Add stack sorting functionality
2017-05-23 23:07:04 +02:00
Julius Härtl
b6d94ec9ff Add stack sorting functionality
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 22:54:44 +02:00
Artem Anufrij
ec6c8d94c1 removed class from button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-23 22:16:23 +02:00
Artem Anufrij
ca3b89569f fixed icons if using subfolders for nc instance
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-23 22:05:13 +02:00
Julius Härtl
69d16d7f39 Merge pull request #152 from nextcloud/travis-fix
Travis update since test seem to fail randomly
2017-05-23 20:56:09 +02:00
Marin Treselj
2fd06acca8 Home icon without div wrapper
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-23 20:39:54 +02:00
Julius Härtl
b5afb42989 Travis extending
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 20:21:14 +02:00
Julius Härtl
4802f34c04 Fix home icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 20:08:22 +02:00
Julius Härtl
f553e88e29 Merge pull request #150 from nextcloud/untranslate-app-title
Application name should not be a transatable string.
2017-05-23 13:47:30 +02:00
Marin Treselj
ebee72e9b3 Application name should not be a transatable string.
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-23 11:27:57 +02:00
Nextcloud bot
23a8863a35 [tx-robot] updated from transifex 2017-05-23 00:12:21 +00:00
Artem Anufrij
4ec59d24b4 small css improvement
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
543127c1e6 'add new stack' margin
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
1e4e0a3947 added home button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
0b133c59d9 clear css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
d2b44c2ad0 added .icon-more button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:41 +02:00
Artem Anufrij
0b12271ee3 fixed pixelipo comments 2017-05-22 21:05:41 +02:00
Artem Anufrij
c6ebfdc11f header bar and mobile device improvements
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:41 +02:00
Julius Härtl
fbc12ae8f7 Merge pull request #148 from nextcloud/allow-nextcloud-13
Bump max-version to 13
2017-05-22 21:05:37 +02:00
Julius Härtl
77b5c7daa7 Bump max-version to 13
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-22 20:55:48 +02:00
Nextcloud bot
40482f6f03 [tx-robot] updated from transifex 2017-05-22 00:11:59 +00:00
Julius Härtl
ada458bacf Merge pull request #144 from nextcloud/card-title-fix
Fix extra-long words in card title overflowing.
2017-05-21 13:23:17 +02:00
Julius Härtl
5a0b15a490 Merge pull request #143 from nextcloud/db-index-ci
Rename database indexes
2017-05-21 13:22:59 +02:00
Nextcloud bot
01794141a8 [tx-robot] updated from transifex 2017-05-21 00:12:06 +00:00
Artem Anufrij
8cb30a0094 Merge branch 'master' into db-index-ci 2017-05-20 23:13:43 +02:00
Marin Treselj
dabf46e886 Fix extra-long words in card title overflowing.
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-20 22:37:33 +02:00
Julius Härtl
e2923abf90 Rename database indexes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-20 10:59:38 +02:00
Julius Härtl
7ba9f769f6 Merge pull request #142 from nextcloud/comradekingu-patch-1
Spelling: Ellipsis… and consistency
2017-05-20 10:55:59 +02:00
comradekingu
79408568b4 Spelling: Ellipsis… and consistency 2017-05-20 02:40:27 +02:00
Nextcloud bot
54f698c20d [tx-robot] updated from transifex 2017-05-20 00:11:44 +00:00
Julius Härtl
c696d9f287 Merge pull request #139 from nextcloud/card_redesing
added a card control bar
2017-05-19 23:00:07 +02:00
Artem Anufrij
e9f71d1f40 rename stack (#137)
* rename stack Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

code style

css

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

code style

css
Merge remote-tracking branch 'origin/stack_rename' into stack_rename
Merge branch 'master' into stack_rename
2017-05-19 22:54:51 +02:00
Artem Anufrij
92349f66a3 added a card control bar
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-19 12:02:54 +02:00
Nextcloud bot
1d797b1bf2 [tx-robot] updated from transifex 2017-05-19 00:11:52 +00:00
Nextcloud bot
63714d5133 [tx-robot] updated from transifex 2017-05-18 00:10:56 +00:00
Nextcloud bot
2fbed6342a [tx-robot] updated from transifex 2017-05-17 00:11:13 +00:00
Artem Anufrij
e7fd9d8b3a Merge pull request #132 from nextcloud/formating-help
Link to help for markdown usage
2017-05-16 20:02:22 +02:00
Julius Härtl
2d16f66ef7 Link to help for markdown usage
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-16 11:57:03 +02:00
Nextcloud bot
d5c80c37cc [tx-robot] updated from transifex 2017-05-16 00:11:09 +00:00
Julius Härtl
3471e7ac00 Merge pull request #130 from nextcloud/116-header-redesign
Header redesign - fixes #116
2017-05-15 11:06:10 +02:00
Nextcloud bot
1f4e0bdee1 [tx-robot] updated from transifex 2017-05-14 00:11:07 +00:00
Nextcloud bot
90c22e8f4a [tx-robot] updated from transifex 2017-05-13 00:11:21 +00:00
Nextcloud bot
ccf19e3129 [tx-robot] updated from transifex 2017-05-12 00:10:45 +00:00
Marin Treselj
be75d28170 Header redesign - fixes #116
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-10 14:44:05 +02:00
Nextcloud bot
9c6b2b160e [tx-robot] updated from transifex 2017-05-09 00:10:48 +00:00
Julius Härtl
23d8c1aa30 Merge pull request #121 from nextcloud/icon-size-position
small css changes
2017-05-08 11:02:40 +02:00
Artem Anufrij
96ab5e70fa small css changes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-08 10:30:47 +02:00
Nextcloud bot
7e5c7a9cb8 [tx-robot] updated from transifex 2017-05-07 00:10:22 +00:00
Nextcloud bot
e700d9d781 [tx-robot] updated from transifex 2017-05-05 00:10:17 +00:00
Julius Härtl
452f9a3312 Update CHANGELOG.md for 0.1.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 22:02:56 +02:00
Julius Härtl
95b0f49739 Bump version to 0.1.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 14:15:43 +02:00
Julius Härtl
b330f03a32 Merge pull request #118 from nextcloud/fix-acl-nonexisting
Do not fail on nonexisting acl users/groups
2017-05-04 14:12:28 +02:00
Julius Härtl
12ebffb885 Do not use getDisplayName for groups
it is not supported in Nextcloud 11

https://github.com/nextcloud/server/pull/4690
https://github.com/nextcloud/server/pull/2833
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 12:10:17 +02:00
Julius Härtl
860cbab1d3 Add proper error handling when user/group cannot be found
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 11:26:45 +02:00
Julius Härtl
c08455e11b Merge pull request #113 from nextcloud/delete-fix-and-undo
Fix deleting boards and add a simple undo function
2017-05-04 08:37:05 +02:00
Julius Härtl
a6b6842e2b No not fail on nonexisting acl users/groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-03 13:25:58 +02:00
Julius Härtl
588252d949 Fix deleting boards and add a simple undo function
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-03 13:22:30 +02:00
Julius Härtl
3b0390f50f Merge pull request #114 from nextcloud/firefox-red-input
Remove firefox invalid box shadow
2017-05-03 09:35:44 +02:00
Julius Härtl
c8389fbcb0 Remove firefox invalid box shadow
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-02 09:05:11 +02:00
Julius Härtl
94788bed39 Add IRC channel to README 2017-05-01 14:16:10 +02:00
Julius Härtl
8b4e7ec2bf Merge pull request #107 from nextcloud/release-0.1.3
Prepare 0.1.3 release
2017-05-01 10:04:13 +02:00
Julius Härtl
111a98ce88 Prepare 0.1.3 release
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-01 08:44:26 +02:00
Artem Anufrij
7fb0d2374d better behavior for comment field (#105)
* better behavior for comment field
* removed min-height

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-01 08:35:31 +02:00
Nextcloud bot
491a73456b [tx-robot] updated from transifex 2017-05-01 00:10:29 +00:00
artemanufrij
62d671bdd5 hide sidebar when clicked outside (#102)
* hide sidebar when clicked outside

* fixed show/hide behavior

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-30 21:23:48 +02:00
Julius Härtl
955c5eb864 Merge pull request #99 from nextcloud/bump-dependencies
Bump bower dependencies
2017-04-30 13:13:38 +02:00
Julius Härtl
49cd271cbc Add link to nightly builds 2017-04-30 13:07:49 +02:00
Julius Härtl
37bdbecdc2 Merge pull request #103 from nextcloud/nightly
Fix paths to use local bower/grunt installation
2017-04-30 13:03:25 +02:00
Julius Härtl
62af080e78 Fix paths to use local bower/grunt installation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-30 12:57:10 +02:00
Julius Härtl
84d4b87bb8 Bump bower dependencies
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-30 09:37:04 +02:00
Julius Härtl
5ad515f42a Merge pull request #96 from nextcloud/fix-db-columns
Move text fields to clob
2017-04-29 13:20:16 +02:00
Julius Härtl
98b57fe0a4 Merge pull request #65 from nextcloud/test-behat
Add integration tests with behat
2017-04-29 13:08:18 +02:00
Julius Härtl
b961206da3 Include App integration test
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 13:04:00 +02:00
artemanufrij
d8d8137300 description marker (#98)
* description marker
* removed unused content
* removed unused content
* Changed Icon and removen unused .svg

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-29 12:52:53 +02:00
Julius Haertl
56fcb081a4 Fix tests
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 12:36:38 +02:00
Julius Haertl
2b9b22f2f2 Add behat tests to drone
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 11:57:54 +02:00
Julius Haertl
084d892ce6 Add basic behat test structure
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 11:57:54 +02:00
Julius Härtl
11610f306a Merge pull request #58 from nextcloud/displaynames
Implement relational mapping for users and groups to show displaynames
2017-04-29 11:57:21 +02:00
Julius Härtl
60e9cf7088 Apply maxlength to input fields and fix card header height
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 11:55:00 +02:00
Julius Härtl
7e345256cb Move text fields to clob
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 11:53:20 +02:00
Julius Härtl
52a7b8d560 Merge pull request #97 from pixelipo/fix-readme
Change app name in README.md
2017-04-28 15:31:47 +02:00
Marin Treselj
d98db33a02 Change app name in README.md
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-04-28 13:26:13 +02:00
Julius Härtl
04f5e2c2e1 Don't show own user account
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:14:58 +02:00
Julius Härtl
74c8a6e848 Fix board acl type
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Härtl
02eecb3a3f Use mapper classes for relational data
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Haertl
1e9c86e158 Code cleaup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Haertl
2b05227f4b Add Group class
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:10 +02:00
Julius Haertl
3e304a9ff2 Use display name for users and groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:10 +02:00
Julius Härtl
000e447801 Merge pull request #95 from nextcloud/add-stack-header
Moved "Add a new Stack" into the top Bar [rebased]
2017-04-27 13:01:24 +02:00
Julius Härtl
1b6531e748 Fix positioning on Nextcloud 12
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 12:48:25 +02:00
artemanufrij
e2012dd2c5 Fixed css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-27 12:25:56 +02:00
artemanufrij
5346cc4042 Move add stack input to the header
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-27 12:25:17 +02:00
Julius Härtl
22438f8f3e Merge pull request #94 from nextcloud/use-ocs-api
Use OCS API to search for users/groups
2017-04-27 12:18:52 +02:00
Julius Härtl
6033baca23 Remove old search endpoint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-26 14:54:56 +02:00
Julius Härtl
c1ff005710 Use OCS API to search for users/groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-26 14:42:11 +02:00
Nextcloud bot
05adda1e03 [tx-robot] updated from transifex 2017-04-26 00:10:41 +00:00
Lukas Reschke
6ae6bdf74a Update issue_template.md 2017-04-18 12:40:53 +02:00
Nextcloud bot
35ea7255cb [tx-robot] updated from transifex 2017-04-15 00:10:36 +00:00
Nextcloud bot
c80deaaaee [tx-robot] updated from transifex 2017-04-14 00:10:39 +00:00
Nextcloud bot
ab60f4e3ab [tx-robot] updated from transifex 2017-04-07 00:12:08 +00:00
Nextcloud bot
965708e784 [tx-robot] updated from transifex 2017-04-06 00:11:00 +00:00
Nextcloud bot
1b364b4f85 [tx-robot] updated from transifex 2017-04-05 00:11:20 +00:00
Nextcloud bot
aad1cb4fb5 [tx-robot] updated from transifex 2017-04-04 00:10:27 +00:00
Nextcloud bot
99725765fc [tx-robot] updated from transifex 2017-03-31 00:11:14 +00:00
Nextcloud bot
f313a9ba6b [tx-robot] updated from transifex 2017-03-30 00:10:28 +00:00
Julius Härtl
6bbe0a3161 Merge pull request #80 from nextcloud/drone-only-master
Only build master branch
2017-03-28 14:02:26 +02:00
Julius Härtl
4414fdebd4 Only build master branch
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-28 13:49:19 +02:00
153 changed files with 4590 additions and 1245 deletions

View File

@@ -67,7 +67,7 @@ pipeline:
matrix:
TESTS: syntax-php7.0
php5.6:
image: nextcloudci/php5.6:php5.6-3
image: nextcloudci/php5.6:php5.6-7
environment:
- APP_NAME=deck
- CORE_BRANCH=master
@@ -93,7 +93,7 @@ pipeline:
matrix:
TESTS: php5.6
php7.0:
image: nextcloudci/php7.0:php7.0-7
image: nextcloudci/php7.0:php7.0-8
environment:
- APP_NAME=deck
- CORE_BRANCH=master
@@ -125,10 +125,29 @@ pipeline:
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- make test
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
when:
matrix:
TESTS: php7.1
integration:
image: nextcloudci/integration-php7.0:integration-php7.0-3
environment:
- APP_NAME=deck
- CORE_BRANCH=master
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- cd tests/integration
- ./run.sh
when:
matrix:
TESTS: integration
jsbuild:
image: mhart/alpine-node:6.8.0
commands:
@@ -149,3 +168,6 @@ matrix:
- TESTS: php7.0
- TESTS: php7.1
- TESTS: jsbuild
- TESTS: integration

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@ js/node_modules/*
js/vendor/
build/
js/public/
tests/integration/vendor/
tests/integration/composer.lock

View File

@@ -1,4 +1,6 @@
language: php
dist: trusty
sudo: required
services:
- mysql
php:
@@ -7,6 +9,7 @@ php:
env:
matrix:
- CORE_BRANCH=master DB=mysql
- CORE_BRANCH=stable12 DB=mysql
- CORE_BRANCH=stable11 DB=mysql
before_install:
@@ -26,7 +29,7 @@ before_script:
- cd apps/deck
script:
- make test
- make test-unit
after_failure:
- cat ../../data/nextcloud.log

View File

@@ -1,4 +1,45 @@
# Changelog
All notable changes to this project will be documented in this file.
## 0.2.0 - 2017-06-20
### Added
- Due dates for cards
- Archive boards
- Filter board list for archived/shared boards
- Rearange stack order
- Improved card overview with description indicator
- Navigation sidebar visibility can be toggled
### Fixed
- Undo on delete for boards
- Various fixes for mobile devices
- UI improvements to fit the Nextcloud design
## 0.1.4 - 2017-05-04
### Fixed
- Avoid red shadow on input in firefox
- Fix broken delete function for boards
- Fix broken board loading when groups were used for sharing
- Fix bug when users/groups got deleted
## 0.1.3 - 2017-05-01
### Added
- Icon to show if a card has a description
### Changed
- Use OCS API to get users/groups for sharing
- Various UI improvements
- Show display name instead of uid
- Fix bugs with limited field length
- Automatically hide sidebar when clicking the board view
- Start editing from everywhere in the description section
## 0.1.2
### Added
- Add translations
@@ -13,6 +54,7 @@
- Fixed SQL statements without prefixes
## 0.1.1
### Fixed
- Various styling improvements
- Fix problems with MySQL and PostgreSQL
@@ -20,6 +62,7 @@
- Fix error when changing board permissions
## 0.1.0
### Added
- Sharing boards with other users
- Create and manage boards

View File

@@ -23,15 +23,15 @@ clean-dist:
install-deps:
cd js && npm install --deps
cd js && bower install
cd js && ./node_modules/.bin/bower install
build: build-js
build-js:
$(MAKE) -C js build
build-js: install-deps
cd js && ./node_modules/.bin/grunt build
watch:
$(make) -C js watch
cd js && ./node_modules/.bin/grunt watch
# appstore: clean install-deps
appstore: clean-build build
@@ -69,8 +69,9 @@ appstore: clean-build build
echo $(appstore_package_name).tar.gz
test: test-unit test-integration
test:
test-unit:
mkdir -p build/
ifeq (, $(shell which phpunit 2> /dev/null))
@echo "No phpunit command available, downloading a copy from the web"
@@ -83,6 +84,9 @@ else
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
endif
test-js:
cd js && run test
test-integration:
cd tests/integration && ./run.sh
test-js: install-deps
cd js && run test

View File

@@ -1,6 +1,7 @@
# Deck
[![Build Status](https://travis-ci.org/nextcloud/deck.svg?branch=master)](https://travis-ci.org/nextcloud/deck) [![CodeCov](https://codecov.io/github/nextcloud/deck/coverage.svg?branch=master)](https://codecov.io/github/nextcloud/deck) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [![Dependency Status](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3)
[![Build Status](https://travis-ci.org/nextcloud/deck.svg?branch=master)](https://travis-ci.org/nextcloud/deck) [![CodeCov](https://codecov.io/github/nextcloud/deck/coverage.svg?branch=master)](https://codecov.io/github/nextcloud/deck) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [![Dependency Status](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3) [![#nextcloud-deck](https://img.shields.io/badge/IRC-%23nextcloud--deck%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-deck)
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
@@ -11,9 +12,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
- :rocket: Get your project organized
![Deck - Manage cards on your board](https://bitgrid.net/~jus/deck_1.png)
:boom: This is still alpha software: it may not be stable enough for production
![Deck - Manage cards on your board](https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Board.png)
### Planned features
@@ -31,7 +30,7 @@ This app is supposed to work on Nextcloud version 11 or later.
You can download and install the latest release from the [Nextcloud app store](https://apps.nextcloud.com/apps/deck)
### Install from git
### Install from git
If you want to run the latest development version from git source, you need to clone the repo to your apps folder:
@@ -44,6 +43,10 @@ make
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl`
### Install the nightly builds
Instead of setting everything up manually, you can just [download the nightly builds](https://download.bitgrid.net/nextcloud/deck/nightly/) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
## Developing
### PHP
@@ -59,9 +62,9 @@ Make sure you have installed the dependencies with ```make install-deps```.
You can use the provided Makefile to run all tests by using:
make test
## Contribution Guidelines
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
@@ -73,7 +76,7 @@ For more information please review the [guidelines for contributing](https://git
All contributions to this repository are considered to be licensed under
the GNU AGPLv3 or any later version.
Contributors to the Spreed app retain their copyright. Therefore we recommend
Contributors to the Deck app retain their copyright. Therefore we recommend
to add following line to the header of a file, if you changed it substantially:
```

View File

@@ -19,7 +19,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>owner</name>
@@ -38,6 +38,14 @@
<type>boolean</type>
<default>false</default>
</field>
<field>
<name>deleted_at</name>
<type>integer</type>
<default>0</default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
</declaration>
</table>
<table>
@@ -55,7 +63,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>board_id</name>
@@ -97,14 +105,13 @@
<field>
<name>title</name>
<type>text</type>
<length>100</length>
<notnull>true</notnull>
<length>64</length>
</field>
<field>
<name>description</name>
<type>text</type>
<type>clob</type>
<notnull>false</notnull>
<length>4096</length>
</field>
<field>
<name>stack_id</name>
@@ -123,7 +130,6 @@
<name>last_modified</name>
<type>integer</type>
<default></default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
@@ -131,7 +137,6 @@
<name>created_at</name>
<type>integer</type>
<default></default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
@@ -152,6 +157,11 @@
<type>boolean</type>
<default>false</default>
</field>
<field>
<name>duedate</name>
<type>timestamp</type>
<default>0</default>
</field>
<index>
<name>deck_cards_stack_id_index</name>
<field>
@@ -187,7 +197,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>card_id</name>
@@ -239,7 +249,7 @@
<name>title</name>
<type>text</type>
<notnull>false</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>color</name>
@@ -288,13 +298,13 @@
<length>4</length>
</field>
<index>
<name>deck_assigned_labels_label_id_index</name>
<name>deck_assigned_labels_idx_i</name>
<field>
<name>label_id</name>
</field>
</index>
<index>
<name>deck_assigned_labels_card_id_index</name>
<name>deck_assigned_labels_idx_c</name>
<field>
<name>card_id</name>
</field>
@@ -361,7 +371,7 @@
</field>
</index>
<index>
<name>deck_board_acl_board_id_index</name>
<name>deck_board_acl_idx_i</name>
<field>
<name>board_id</name>
</field>

View File

@@ -16,7 +16,7 @@
💥 This is still alpha software: it may not be stable enough for production!
</description>
<version>0.1.2</version>
<version>0.2.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -24,10 +24,17 @@
<category>office</category>
<bugs>https://github.com/nextcloud/deck/issues</bugs>
<repository type="git">https://github.com/nextcloud/deck.git</repository>
<screenshot>https://bitgrid.net/~jus/deck_1.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_2.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_3.png</screenshot>
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Board.png</screenshot>
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Board.png</screenshot>
<dependencies>
<nextcloud min-version="11" max-version="12" />
<nextcloud min-version="11" max-version="13" />
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
</background-jobs>
<repair-steps>
<post-migration>
<step>OCA\Deck\Migration\UnknownUsers</step>
</post-migration>
</repair-steps>
</info>

View File

@@ -25,15 +25,13 @@ return [
'routes' => [
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
// share
['name' => 'share#searchUser', 'url' => '/share/search/{search}', 'verb' => 'GET'],
// boards
['name' => 'board#index', 'url' => '/boards', 'verb' => 'GET'],
['name' => 'board#create', 'url' => '/boards', 'verb' => 'POST'],
['name' => 'board#read', 'url' => '/boards/{boardId}', 'verb' => 'GET'],
['name' => 'board#update', 'url' => '/boards/{boardId}', 'verb' => 'PUT'],
['name' => 'board#delete', 'url' => '/boards/{boardId}', 'verb' => 'DELETE'],
['name' => 'board#deleteUndo', 'url' => '/boards/{boardId}/deleteUndo', 'verb' => 'POST'],
['name' => 'board#getUserPermissions', 'url' => '/boards/{boardId}/permissions', 'verb' => 'GET'],
['name' => 'board#addAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'POST'],
['name' => 'board#updateAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'PUT'],
@@ -43,6 +41,7 @@ return [
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
['name' => 'stack#create', 'url' => '/stacks', 'verb' => 'POST'],
['name' => 'stack#update', 'url' => '/stacks/{stackId}', 'verb' => 'PUT'],
['name' => 'stack#reorder', 'url' => '/stacks/{stackId}/reorder', 'verb' => 'PUT'],
['name' => 'stack#delete', 'url' => '/stacks/{stackId}', 'verb' => 'DELETE'],
['name' => 'stack#archived', 'url' => '/stacks/{boardId}/archived', 'verb' => 'GET'],

View File

@@ -2,6 +2,7 @@
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author Artem Anufrij <artem.anufrij@live.de>
*
* @license GNU AGPL version 3 or any later version
*
@@ -24,8 +25,10 @@
* General styles
*/
button,
.button,
.app-deck .icon {
display: inline-block;
display: flex;
}
input.input-inline {
@@ -41,32 +44,38 @@ input.input-inline {
margin: -4px 0;
}
button {
button.button-inline {
border: 0;
background-color: transparent;
}
button:hover {
button.button-inline:hover {
border: 0;
background-color: transparent;
}
#searchbox {
display: block !important;
display: flex !important;
}
.editable-inline {
cursor: text;
}
/**
* Navigation sidebar
*/
.app-navigation-entry-menu ul {
flex-direction: row;
}
.app-navigation-entry-utils-menu-button {
display: block !important;
}
.app-navigation-entry-utils-menu-share {
display: block !important;
text-align: right;
padding-top: 3px;
padding-right: 5px;
display: flex !important;
padding: 14px;
opacity: 0.4;
}
@@ -85,6 +94,17 @@ button:hover {
cursor: pointer;
}
#app-navigation .app-navigation-entry-utils li.board-delete-undo {
background-color: #aa0000;
color: #fff;
cursor: pointer;
width: auto !important;
}
#app-navigation .app-navigation-entry-menu ul {
flex-direction: row;
}
/**
* Board view
*/
@@ -98,53 +118,89 @@ button:hover {
}
#board {
position: relative;
height: 100%;
position: absolute;
white-space: nowrap;
overflow: auto;
top: -40px;
padding: 40px 0 0;
z-index: 100;
width: 100%;
bottom: 0px;
top: 44px;
}
#board #innerBoard {
padding: 10px;
}
#board-header {
#controls {
width: inherit;
color: #333333;
position: relative;
z-index: 120;
height: 44px;
background-color: #eee;
}
#board-header h1 {
display: flex;
align-items: center;
font-size: 14pt;
margin: 0;
padding: 12px;
float: left;
position: inherit;
width: 100% !important;
padding-left: 44px;
}
#board-actions {
font-size: 10pt;
float: right;
position: relative;
color: #888;
margin: 8px;
#controls .crumb, #controls a {
top: 12px;
}
#board-actions .filter .filter-button {
margin-left: 10px;
margin-right: 10px;
#controls > h1 {
white-space: nowrap;
padding: 7px;
}
#board-actions .filter:hover {
color: #333333;
#controls button {
height: inherit;
}
#controls input[type='text'] {
padding: 4px 5px;
margin: 3px 3px 3px 0px;
border: 0px none transparent;
min-height: initial;
background-color: transparent;
height: inherit;
}
#controls #button-home {
background-image: url(../../../core/img/places/home.svg);
background-position: 8px center;
background-repeat: no-repeat;
padding: 10px 24px 10px 14px;
}
#app-navigation-toggle {
width: 44px;
height: 44px;
cursor: pointer;
opacity: 1;
display: inline-block !important;
position: fixed;
}
.board-header-controls {
margin-left: auto;
align-items: center;
}
.board-header-controls.app-popover-menu-utils {
display: flex;
}
.board-header-controls > button {
padding: 16px 20px;
}
.board-header-controls.app-popover-menu-utils #popover-controls {
display: flex;
align-items: center;
}
.board-header-controls.app-popover-menu-utils .popovermenu {
margin-top: 35px;
margin-right: 6px;
}
.filter-select {
@@ -168,29 +224,35 @@ button:hover {
margin-right: 5px;
}
#board-actions div {
padding: 5px;
float: left;
#stack-add {
background-color: rgba(240,240,240,.9);
border-radius: 3px;
margin: 3px;
display: flex;
align-content: center;
}
.board-actions button {
border: none;
background-color: transparent;
color: #fff;
#stack-add > form {
display: flex;
align-content: center;
}
.board-action-button {
font-size: 12pt;
font-weight: 100;
border: none;
margin-left: 10px;
#stack-add input:invalid {
box-shadow: none;
}
#stack-add input:-moz-submit-invalid {
box-shadow: none;
}
#stack-add input:-moz-ui-invalid {
box-shadow:none;
}
.stack {
width: 320px;
width: 100%;
margin-right: 10px;
vertical-align: top;
display: inline-block !important;
background-color: #f8f8f8;
}
@@ -200,37 +262,40 @@ button:hover {
font-size: 12pt;
font-weight: 700;
overflow: hidden;
height: 40px;
display: flex;
min-height: 40px;
}
.stack h2 input {
padding: 0;
width: 80%;
width: 100%;
margin: 0;
font-size: 12pt;
font-weight: 700;
border: 0;
background-color: transparent;
float: left;
background-color: white;
min-height: initial;
}
.stack h2 button,
.stack .stack-actions {
float: right;
.stack form {
width: 100%;
}
.stack h2 span {
float: left;
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
}
.stack h2 .stack-actions {
display: none;
.stack h2 button {
margin-left: auto;
display: flex;
opacity: 0.25;
padding-right: 0;
}
.stack h2:hover .stack-actions {
display: inline-block;
float: right;
.stack h2:hover button {
display: flex;
}
.card {
@@ -252,25 +317,43 @@ button:hover {
padding: 5px;
}
.card .card-options {
.card .card-controls {
padding: 10px;
background: #f8f8f8;
display: flex;
position: relative;
}
.card .card-controls .card-options {
opacity: 0.25;
position: absolute;
bottom: 10px;
right: 10px;
display: none;
top: 8px;
}
.card:hover .card-options {
display: block;
.card .card-controls:hover .card-options {
opacity: 1;
}
.card .popovermenu {
.card .card-controls button {
padding: 0px;
margin-right: 0px;
}
.app-popover-menu-utils {
margin-left: auto;
min-height: 16px;
}
.popovermenu {
z-index: 999;
opacity: 1;
margin-left: 10px;
display: block;
margin-top: 25px;
margin-right: 0px;
}
.card .popovermenu.hidden {
.popovermenu.hidden {
display: none;
}
@@ -291,8 +374,8 @@ button:hover {
font-size: 10pt;
padding: 0;
margin: 5px;
display: inline-block;
float: left;
overflow: hidden;
text-overflow: ellipsis;
}
.card.has-labels h3 {
@@ -334,6 +417,11 @@ button:hover {
margin: 10px;
border: 1px dashed #aaa;
}
#innerBoard > .as-sortable-placeholder {
display: inline-block !important;
margin-top: 0;
margin-left: 0;
}
.info {
padding-left: 5px;
@@ -384,20 +472,55 @@ button:hover {
min-height: initial;
}
.due {
background-color: #eee;
color: #aaa;
padding: 1px 3px;
border-radius: 4px;
margin-right: 2px;
.card-controls .icon-filetype-text {
margin-right: 10px;
}
.due {
border-radius: 3px;
margin: -4px 4px -4px -4px;
padding: 0px 4px;
font-size: 90%;
opacity: .7;
display: flex;
align-items: center;
}
.due .icon {
background-size: contain;
float:left;
opacity: 0.7;
width: 16px;
height: 16px;
}
.overdue {
background-color: #e12419;
color: #fff;
}
.due.now {
background-color: #fbd850;
}
.due.next {
background-color: #fbf790;
}
.due .badge-icon {
background-image: url(../../../core/img/places/calendar-dark.svg);
margin-right: 3px;
}
.overdue .badge-icon {
background-image: url(../img/calendar-white.svg);
}
.now .badge-icon {
background-image: url(../../../core/img/places/calendar-dark.svg);
}
.next .badge-icon {
background-image: url(../../../core/img/places/calendar-dark.svg);
}
/**
* Card view right sidebar
*/
#card-header {
height: 44px;
}
#card-header h2 {
@@ -415,7 +538,9 @@ button:hover {
}
#card-meta {
padding-top: 0;
height: 100%;
display: flex;
flex-direction: column;
}
#card-dates {
@@ -428,7 +553,13 @@ button:hover {
margin-bottom: 10px;
}
#card-dates span {
#card-meta .duedate {
display: flex;
}
#card-description {
height: 100%;
display: flex;
flex-direction: column;
}
#card-description > h3 {
@@ -438,14 +569,8 @@ button:hover {
padding: 5px;
}
.save-indicator {
background-color: #009900;
color: #ffffff;
border-radius: 3px;
float: right;
padding: 1px 10px;
font-size: 8pt !important;
display: none;
#card-description > div {
height: 100%;
}
#card-description textarea {
@@ -460,6 +585,19 @@ button:hover {
background-color: white;
}
#card-description .save-indicator {
background-color: #009900;
color: #ffffff;
border-radius: 3px;
float: right;
padding: 1px 10px;
font-size: 8pt !important;
display: none;
}
#card-description .icon-help {
float: right;
}
#sidebar-header,
.card-block {
padding: 15px;
@@ -485,6 +623,8 @@ button:hover {
border-left: none;
width: 500px;
border-left: 1px solid #eeeeee;
display:flex;
flex-direction: column;
}
#app-sidebar.details-visible {
@@ -493,6 +633,8 @@ button:hover {
#app-content {
overflow: hidden;
display: flex;
flex-direction: column;
}
#app-content.details-visible {
@@ -517,7 +659,7 @@ button:hover {
text-align: center;
}
.avatardiv {
#assigned-users .avatardiv {
float: left;
background-color: #eee;
border-radius: 16px;
@@ -526,7 +668,7 @@ button:hover {
margin-right: 3px;
}
.avatardiv .icon-group {
#assigned-users .avatardiv .icon-group {
margin: 7px;
opacity: 0.5;
display: block !important;
@@ -538,23 +680,30 @@ button:hover {
.colorselect {
overflow: hidden;
clear: both;
padding-top: 4px;
padding-left: 4px;
border-radius:3px;
flex-direction: row;
min-width: 240px;
height: 34px;
display: flex;
margin: 3px 3px 3px 0;
}
.colorselect .color {
opacity: 0.7;
width: 27px;
height: 27px;
float: left;
margin-right: 2px;
height: 100%;
flex-grow: 1;
border: none;
}
.colorselect .selected {
background-image: url(../../../core/img/actions/checkmark.svg);
background-position: center center;
background-repeat: no-repeat;
opacity: 1.0;
border: 1px solid #333333;
}
.colorselect .dark.selected {
background-image: url(../../../core/img/actions/checkmark-white.svg);
}
.labels .colorselect {
@@ -572,9 +721,15 @@ button:hover {
* Board list main screen area
*/
#boardlist {
position: absolute;
overflow: auto;
width: 100%;
height: 100%;
overflow: scroll;
bottom: 0px;
top: 44px;
}
#boardlist thead td {
color: #999;
}
#boardlist td .board-bullet {
@@ -587,6 +742,11 @@ button:hover {
display: block;
}
.popovermenu ul {
display: flex !important;
flex-direction: column;
}
#boardlist td {
padding: 10px;
border-bottom: 1px solid #eee;
@@ -599,20 +759,55 @@ button:hover {
}
.cell-board-bullet {
width: 60px;
width: 50px;
}
.cell-board-title {
width: 50%;
}
#boardlist .colorselect,
#boardlist input {
float: left;
#boardlist tr.deleted td * {
opacity: 0.5;
}
#boardlist .colorselect {
#boardlist tbody tr:last-child td {
opacity: 0.5;
}
#boardlist td form {
display: flex;
width: 100%;
}
#boardlist td .colorselect {
flex-grow: 1;
}
#boardlist td input[type=text] {
flex-grow: 2;
}
#boardlist td input[type=submit] {
width: 32px;
}
#boardlist td .app-popover-menu-utils {
float: right;
width: 30px;
display: inline;
position: relative;
}
#boardlist td .app-popover-menu-utils button {
opacity: 0.3;
}
#boardlist td .app-popover-menu-utils:hover button {
opacity: 0.7;
}
#boardlist .popovermenu {
margin-top: 5px;
}
@@ -759,20 +954,30 @@ button:hover {
width:100% !important;
}
.select2-result-label span {
display: flex;
}
/**
* Mobile optimizations
*/
@media (max-width: 480px) {
@media (min-width: 481px) {
/* hide board actions on mobile */
#board-actions {
display: none !important;
.board-header-controls {
display: flex;
}
}
@media only screen and (max-width: 768px) {
#board-header h1 {
margin-left: 50px;
.board-header-controls.app-popover-menu-utils {
display: none;
}
.stack {
width: 320px;
display: inline-block;
}
.stack h2 button {
display: none;
}
}
@@ -843,10 +1048,20 @@ button:hover {
* Custom icons
*/
.icon-deck {
background-image: url(../img/deck.svg);
}
.icon-group {
background-image: url('../../../settings/img/users.svg');
}
.icon-help {
background-image: url('../../../settings/img/help.svg');
padding: 11px 20px;
vertical-align: text-bottom;
}
.icon-add-white {
background-image: url('../img/add-white.svg');
}
@@ -866,3 +1081,14 @@ button:hover {
.icon-details-white {
background-image: url('../img/details-white.svg');
}
.icon-home {
background-image: url('../../../core/img/places/home.svg');
}
/**
* Hotfix for https://github.com/angular-ui/ui-select/issues/1652
*/
.ui-select-dropdown.select2-drop-active {
opacity: 1 !important;
}

1
img/calendar-white.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" version="1.1" height="32" viewbox="0 0 32 32"><path fill="#fff" d="m8 2c-1.108 0-2 0.892-2 2v4c0 1.108 0.892 2 2 2s2-0.892 2-2v-4c0-1.108-0.892-2-2-2zm16 0c-1.108 0-2 0.892-2 2v4c0 1.108 0.892 2 2 2s2-0.892 2-2v-4c0-1.108-0.892-2-2-2zm-13 4v2c0 1.662-1.338 3-3 3s-3-1.338-3-3v-1.875a3.993 3.993 0 0 0 -3 3.875v16c0 2.216 1.784 4 4 4h20c2.216 0 4-1.784 4-4v-16a3.993 3.993 0 0 0 -3 -3.875v1.875c0 1.662-1.338 3-3 3s-3-1.338-3-3v-2zm-4.906 10h19.812a0.09 0.09 0 0 1 0.094 0.094v9.812a0.09 0.09 0 0 1 -0.094 0.094h-19.812a0.09 0.09 0 0 1 -0.094 -0.094v-9.812a0.09 0.09 0 0 1 0.094 -0.094z"/></svg>

After

Width:  |  Height:  |  Size: 646 B

6
img/deck.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1">
<rect ry="1" height="8" width="14" y="7" x="1"/>
<rect ry=".5" height="1" width="12" y="5" x="2"/>
<rect ry=".5" height="1" width="10" y="3" x="3"/>
<rect ry=".5" height="1" width="8" y="1" x="4"/>
</svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@@ -1,7 +1,6 @@
### Steps to reproduce
1.
2.
2.
3.
### Expected behaviour
@@ -11,6 +10,10 @@ Tell us what should happen
Tell us what happens instead
### Server configuration
<!--
You can use the Issue Template application to prefill most of the required information: https://apps.nextcloud.com/apps/issuetemplate
-->
**Operating system**:
**Web server:**
@@ -19,17 +22,15 @@ Tell us what happens instead
**PHP version:**
**Server version:** (see your admin page)
**Nextcloud version:** (see Nextcloud admin page)
**Deck version:** (see the apps page)
**Updated from an older installed version or fresh install:**
**Where did you install Nextcloud from:**
**Signing status:**
```
Login as admin user into your cloud and access
http://example.com/index.php/settings/integrity/failed
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
```
@@ -38,57 +39,34 @@ paste the results here.
```
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your instance's installation folder
from within your Nextcloud installation folder
```
**The content of config/config.php:**
**Nextcloud configuration:**
```
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your instance's installation folder
from within your Nextcloud installation folder
or
or
Insert your config.php content here
(Without the database password, passwordsalt and secret)
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
```
**Are you using external storage, if yes which one:** local/smb/sftp/...
**Are you using encryption:** yes/no
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
#### LDAP configuration (delete this part if not used)
```
With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your instance's installation folder
Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
```
### Client configuration
**Browser:**
**Operating system:**
### Logs
#### Web server error log
```
Insert your webserver log here
```
#### Log file (data/nextcloud.log)
#### Nextcloud log (data/nextcloud.log)
```
Insert your nextcloud.log file here
Insert your Nextcloud log here
```
#### Browser log
@@ -96,6 +74,6 @@ Insert your nextcloud.log file here
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
b) The network log
c) ...
```

View File

@@ -1,10 +0,0 @@
build:
grunt build
watch:
grunt watch
install:
npm install
bower install

View File

@@ -33,36 +33,40 @@ app.config(function ($provide, $routeProvider, $interpolateProvider, $httpProvid
});
markdownItConverterProvider.use(markdownitLinkTarget);
$urlRouterProvider.otherwise("/");
$urlRouterProvider.otherwise('/');
$stateProvider
.state('list', {
url: "/",
templateUrl: "/boardlist.mainView.html",
controller: 'ListController'
url: '/:filter',
templateUrl: '/boardlist.mainView.html',
controller: 'ListController',
reloadOnSearch: false,
params: {
filter: { value: '', dynamic: true }
}
})
.state('board', {
url: "/board/:boardId/:filter",
templateUrl: "/board.html",
url: '/board/:boardId/:filter',
templateUrl: '/board.html',
controller: 'BoardController',
params: {
filter: { value: '', dynamic: true }
}
})
.state('board.detail', {
url: "/detail/",
url: '/detail/',
reloadOnSearch : false,
views: {
"sidebarView": {
templateUrl: "/board.sidebarView.html"
'sidebarView': {
templateUrl: '/board.sidebarView.html'
}
}
})
.state('board.card', {
url: "/card/:cardId",
url: '/card/:cardId',
views: {
"sidebarView": {
templateUrl: "/card.sidebarView.html",
'sidebarView': {
templateUrl: '/card.sidebarView.html',
controller: 'CardController'
}
}

View File

@@ -20,11 +20,18 @@
*
*/
app.run(function ($document, $rootScope, $transitions) {
app.run(function ($document, $rootScope, $transitions, BoardService) {
'use strict';
$document.click(function (event) {
$rootScope.$broadcast('documentClicked', event);
});
$transitions.onEnter({from: 'list'}, function($state, $transition$) {
BoardService.unsetCurrrent();
});
$transitions.onEnter({to: 'list'}, function($state, $transition$) {
BoardService.unsetCurrrent();
document.title = "Deck - " + oc_defaults.name;
});
$transitions.onEnter({to: 'board.card'}, function ($state, $transition$) {
$rootScope.sidebar.show = true;
});
@@ -40,13 +47,30 @@ app.run(function ($document, $rootScope, $transitions) {
$transitions.onExit({from: 'board.detail'}, function ($state) {
$rootScope.sidebar.show = false;
});
$transitions.onEnter({to: 'board.archive'}, function ($state) {
//BoardController.loadArchived();
});
$('link[rel="shortcut icon"]').attr(
'href',
OC.filePath('deck', 'img', 'app-512.png')
);
$('#app-navigation-toggle').off('click');
// App sidebar on mobile
var snapper = new Snap({
element: document.getElementById('app-content'),
disable: 'right',
maxPosition: 250,
minDragDistance: 100
});
$('#app-navigation-toggle').click(function(){
if($(window).width() > 768) {
$('#app-navigation').toggle('hidden');
} else {
if(snapper.state().state === 'left'){
snapper.close();
} else {
snapper.open('left');
}
}
});
});

View File

@@ -7,14 +7,15 @@
"angular-mocks": "~1.6.1",
"angular-sanitize": "~1.6.1",
"angular-animate": "~1.6.1",
"ng-sortable": "1.3.6",
"jquery": "3.1.x",
"ng-sortable": "1.3.8",
"jquery": "3.2.x",
"es6-shim": "~0.*",
"js-url": "~2.*",
"angular-ui-select": "~0.19.6",
"angular-markdown-it": "~0.6.1",
"angular-ui-router": "~1.0.0",
"markdown-it-link-target": "~1.0.1"
"markdown-it-link-target": "~1.0.1",
"jquery-timepicker": "883bb2cd94"
},
"license": "AGPL-3.0",
"private": true,

View File

@@ -45,6 +45,13 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
$scope.board = BoardService.getCurrent();
StackService.clear(); //FIXME: Is this still needed?
$scope.setPageTitle = function() {
if(BoardService.getCurrent()) {
document.title = BoardService.getCurrent().title + " | Deck - " + oc_defaults.name;
} else {
document.title = "Deck - " + oc_defaults.name;
}
};
$scope.statusservice.retainWaiting();
$scope.statusservice.retainWaiting();
@@ -68,7 +75,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
$scope.stacksData = StackService;
$scope.stacks = {};
$scope.stacks = [];
$scope.$watch('stacksData', function (value) {
$scope.refreshData();
}, true);
@@ -80,14 +87,15 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
}
};
$scope.checkCanEdit = function () {
return !$scope.archived;
return !BoardService.getCurrent().archived;
};
// filter cards here, as ng-sortable will not work nicely with html-inline filters
$scope.filterData = function (order, text) {
if ($scope.stacks === undefined)
return;
angular.copy(StackService.getAll(), $scope.stacks);
angular.copy(StackService.getData(), $scope.stacks);
$scope.stacks = $filter('orderBy')($scope.stacks, 'order');
angular.forEach($scope.stacks, function (value, key) {
var cards = $filter('cardSearchFilter')(value.cards, text);
cards = $filter('orderBy')(cards, order);
@@ -113,18 +121,13 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
// Handle initial Loading
BoardService.fetchOne($scope.id).then(function (data) {
BoardService.getPermissions();
$scope.statusservice.releaseWaiting();
$scope.setPageTitle();
}, function (error) {
$scope.statusservice.setError('Error occured', error);
});
BoardService.searchUsers('%25');
$scope.searchForUser = function (search) {
if (search == "") {
search = "%25";
}
BoardService.searchUsers(search);
};
@@ -197,6 +200,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
// settings for card sorting
$scope.sortOptions = {
id: 'card',
itemMoved: function (event) {
event.source.itemScope.modelValue.status = event.dest.sortableScope.$parent.column;
var order = event.dest.index;
@@ -207,7 +211,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
CardService.update(card);
CardService.reorder(card, order).then(function (data) {
StackService.addCard(card);
StackService.reorder(card, order);
StackService.reorderCard(card, order);
StackService.removeCard({
id: card.id,
stackId: oldStack
@@ -219,13 +223,14 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
var card = event.source.itemScope.c;
var stack = event.dest.sortableScope.$parent.s.id;
CardService.reorder(card, order).then(function (data) {
StackService.reorder(card, order);
StackService.reorderCard(card, order);
$scope.refreshData();
});
},
scrollableContainer: '#board',
containerPositioning: 'relative',
containment: '#board',
longTouch: true,
// auto scroll on drag
dragMove: function (itemPosition, containment, eventObj) {
if (eventObj) {
@@ -244,6 +249,45 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
container.scrollTop(container.scrollTop() + 50);
}
}
},
accept: function (sourceItemHandleScope, destSortableScope, destItemScope) {
return sourceItemHandleScope.sortableScope.options.id === 'card';
}
};
$scope.sortOptionsStack = {
id: 'stack',
orderChanged: function (event) {
var order = event.dest.index;
var stack = event.source.itemScope.s;
StackService.reorder(stack, order).then(function (data) {
$scope.refreshData();
});
},
scrollableContainer: '#board',
containerPositioning: 'relative',
containment: '#board',
longTouch: true,
dragMove: function (itemPosition, containment, eventObj) {
if (eventObj) {
var container = $("#board");
var offset = container.offset();
var targetX = eventObj.pageX - (offset.left || container.scrollLeft());
var targetY = eventObj.pageY - (offset.top || container.scrollTop());
if (targetX < offset.left) {
container.scrollLeft(container.scrollLeft() - 50);
} else if (targetX > container.width()) {
container.scrollLeft(container.scrollLeft() + 50);
}
if (targetY < offset.top) {
container.scrollTop(container.scrollTop() - 50);
} else if (targetY > container.height()) {
container.scrollTop(container.scrollTop() + 50);
}
}
},
accept: function (sourceItemHandleScope, destSortableScope, destItemScope) {
return sourceItemHandleScope.sortableScope.options.id === 'stack';
}
};

View File

@@ -1,5 +1,3 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -22,65 +20,101 @@
*
*/
/* global app */
/* global moment */
app.controller('CardController', function ($scope, $rootScope, $routeParams, $location, $stateParams, BoardService, CardService, StackService, StatusService) {
$scope.sidebar = $rootScope.sidebar;
$scope.status = {};
$scope.sidebar = $rootScope.sidebar;
$scope.status = {};
$scope.cardservice = CardService;
$scope.cardId = $stateParams.cardId;
$scope.cardservice = CardService;
$scope.cardId = $stateParams.cardId;
$scope.statusservice = StatusService.getInstance();
$scope.boardservice = BoardService;
$scope.statusservice = StatusService.getInstance();
$scope.boardservice = BoardService;
$scope.statusservice.retainWaiting();
$scope.statusservice.retainWaiting();
CardService.fetchOne($scope.cardId).then(function(data) {
$scope.statusservice.releaseWaiting();
$scope.archived = CardService.getCurrent().archived;
}, function(error) {
});
CardService.fetchOne($scope.cardId).then(function (data) {
$scope.statusservice.releaseWaiting();
$scope.archived = CardService.getCurrent().archived;
}, function (error) {
});
$scope.cardRenameShow = function() {
if($scope.archived || !BoardService.canEdit())
return false;
else {
$scope.status.cardRename=true;
}
};
$scope.cardEditDescriptionShow = function($event) {
var node = $event.target.nodeName;
console.log($event);
console.log(BoardService);
if($scope.card.archived || !$scope.boardservice.canEdit()) {
console.log(node);
} else {
console.log("edit");
$scope.status.cardEditDescription=true;
}
console.log($scope.status.canEditDescription);
};
// handle rename to update information on the board as well
$scope.cardRename = function(card) {
CardService.rename(card).then(function(data) {
StackService.updateCard(card);
$scope.status.renameCard = false;
});
};
$scope.cardUpdate = function(card) {
CardService.update(CardService.getCurrent()).then(function(data) {
$scope.status.cardEditDescription = false;
$('#card-description').find('.save-indicator').fadeIn(500).fadeOut(1000);
});
};
$scope.cardRenameShow = function () {
if ($scope.archived || !BoardService.canEdit())
return false;
else {
$scope.status.cardRename = true;
}
};
$scope.cardEditDescriptionShow = function ($event) {
if (BoardService.isArchived() || CardService.getCurrent().archived) {
return false;
}
var node = $event.target.nodeName;
if ($scope.card.archived || !$scope.boardservice.canEdit()) {
console.log(node);
} else {
console.log("edit");
$scope.status.cardEditDescription = true;
}
console.log($scope.status.canEditDescription);
};
// handle rename to update information on the board as well
$scope.cardRename = function (card) {
CardService.rename(card).then(function (data) {
StackService.updateCard(card);
$scope.status.renameCard = false;
});
};
$scope.cardUpdate = function (card) {
CardService.update(CardService.getCurrent()).then(function (data) {
$scope.status.cardEditDescription = false;
$('#card-description').find('.save-indicator').fadeIn(500).fadeOut(1000);
});
};
$scope.labelAssign = function(element, model) {
CardService.assignLabel($scope.cardId, element.id);
var card = CardService.getCurrent();
StackService.updateCard(card);
};
$scope.labelRemove = function(element, model) {
CardService.removeLabel($scope.cardId, element.id)
}
$scope.labelAssign = function (element, model) {
CardService.assignLabel($scope.cardId, element.id);
var card = CardService.getCurrent();
StackService.updateCard(card);
};
$scope.labelRemove = function (element, model) {
CardService.removeLabel($scope.cardId, element.id)
};
$scope.setDuedate = function (duedate) {
var element = CardService.getCurrent();
var newDate = moment(element.duedate);
if(!newDate.isValid()) {
newDate = moment();
}
newDate.date(duedate.date());
newDate.month(duedate.month());
newDate.year(duedate.year());
element.duedate = newDate.format('YYYY-MM-DD HH:mm:ss');
CardService.update(element);
StackService.updateCard(element);
};
$scope.setDuedateTime = function (time) {
var element = CardService.getCurrent();
var newDate = moment(element.duedate);
if(!newDate.isValid()) {
newDate = moment();
}
newDate.hour(time.hour());
newDate.minute(time.minute());
element.duedate = newDate.format('YYYY-MM-DD HH:mm:ss');
CardService.update(element);
StackService.updateCard(element);
};
$scope.resetDuedate = function () {
var element = CardService.getCurrent();
element.duedate = null;
CardService.update(element);
StackService.updateCard(element);
};
});

View File

@@ -1,4 +1,3 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -21,10 +20,16 @@
*
*/
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) {
/* global app angular */
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout, $stateParams, $state) {
$scope.boards = [];
$scope.newBoard = {};
$scope.status = {};
$scope.status = {
deleteUndo: [],
filter: $stateParams.filter ? $stateParams.filter : '',
sidebar: false
};
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
$scope.boardservice = BoardService;
$scope.newBoard.color = $scope.colors[0];
@@ -40,13 +45,42 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
$scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
angular.copy($scope.boardservice.sorted, $scope.boardservice.sidebar);
$scope.boardservice.sidebar = $filter('orderBy')($scope.boardservice.sidebar, 'title');
$scope.boardservice.sidebar = $filter('cardFilter')($scope.boardservice.sidebar, {archived: false});
if ($scope.status.filter === 'archived') {
var filter = {};
filter[$scope.status.filter] = true;
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, filter);
} else if ($scope.status.filter === 'shared') {
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, {archived: false});
$scope.boardservice.sorted = $filter('boardFilterAcl')($scope.boardservice.sorted);
} else {
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, {archived: false});
}
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, ['deletedAt', 'title']);
};
$scope.$watchCollection(function(){
return $state.params;
}, function(){
$scope.status.filter = $state.params.filter;
$scope.filterData();
});
$scope.selectColor = function(color) {
$scope.newBoard.color = color;
};
$scope.gotoBoard = function(board) {
if(board.deletedAt > 0) {
return false;
}
return $state.go('board', {boardId: board.id});
};
$scope.boardCreate = function() {
if(!$scope.newBoard.title || !$scope.newBoard.color) {
$scope.status.addBoard=false;
@@ -70,11 +104,31 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
board.status.edit = false;
};
$scope.boardArchive = function (board) {
board.archived = true;
BoardService.update(board).then(function(data) {
$scope.filterData();
});
};
$scope.boardUnarchive = function (board) {
board.archived = false;
BoardService.update(board).then(function(data) {
$scope.filterData();
});
};
$scope.boardDelete = function(board) {
BoardService.delete(board.id).then(function (data) {
$scope.filterData();
});
};
$scope.boardDeleteUndo = function (board) {
BoardService.deleteUndo(board.id).then(function (data) {
$scope.filterData();
});
};
});

View File

@@ -4,20 +4,20 @@
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
app.directive('appPopoverMenuUtils', function () {
@@ -28,6 +28,7 @@ app.directive('appPopoverMenuUtils', function () {
var menu = elm.find('.popovermenu');
var button = elm.find('button');
button.click(function (e) {
$('.popovermenu').addClass('hidden');
menu.toggleClass('hidden');
if(!menu.hasClass('hidden')) {
button.css('display','block');
@@ -37,7 +38,8 @@ app.directive('appPopoverMenuUtils', function () {
e.stopPropagation();
});
scope.$on('documentClicked', function (scope, event) {
if (event.target !== button) {
/* prevent closing popover if target has no-close class */
if (event.target !== button && !$(event.target).hasClass('no-close')) {
menu.addClass('hidden');
}
button.css('display','');
@@ -45,4 +47,3 @@ app.directive('appPopoverMenuUtils', function () {
}
};
});

View File

@@ -0,0 +1,53 @@
/*
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* gloabl t */
/* global moment */
app.directive('datepicker', function () {
'use strict';
return {
link: function (scope, elm, attr) {
return elm.datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function(date, inst) {
scope.setDuedate(moment(date));
scope.$apply();
},
beforeShow: function(input, inst) {
var dp, marginLeft;
dp = $(inst).datepicker('widget');
marginLeft = -Math.abs($(input).outerWidth() - dp.outerWidth()) / 2 + 'px';
dp.css({
'margin-left': marginLeft
});
$('div.ui-datepicker:before').css({
'left': 100 + 'px'
});
return $('.hasDatepicker').datepicker();
},
minDate: null
});
}
};
});

View File

@@ -0,0 +1,45 @@
/*
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* global t */
/* global moment */
app.directive('timepicker', function() {
'use strict';
return {
restrict: 'A',
link: function(scope, elm, attr) {
return elm.timepicker({
onSelect: function(date, inst) {
scope.setDuedateTime(moment('2000-01-01 ' + date));
scope.$apply();
},
myPosition: 'center top',
atPosition: 'center bottom',
hourText: t('deck', 'Hours'),
minuteText: t('deck', 'Minutes'),
showPeriodLabels: false
});
}
};
});

View File

@@ -1,27 +1,33 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
app.filter('relativeDateFilter', function() {
return function (timestamp) {
return OC.Util.relativeModifiedDate(timestamp*1000);
}
});
app.filter('boardFilterAcl', function() {
return function(boards) {
var _result = [];
angular.forEach(boards, function(board){
if(board.acl !== null && Object.keys(board.acl).length > 0) {
_result.push(board);
}
});
return _result;
};
});

View File

@@ -24,15 +24,16 @@
app.filter('cardFilter', function() {
return function(cards, rules) {
var _result = {};
var _result = [];
angular.forEach(cards, function(card){
var _card = card;
angular.some(rules, function(rule, condition) {
if(_card[rule]===condition) {
var keys = Object.keys(rules);
keys.some(function(key, condition) {
if(_card[key]===rules[key]) {
_result.push(_card);
}
});
});
return result;
return _result;
};
});

61
js/filters/dateFilters.js Normal file
View File

@@ -0,0 +1,61 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* global OC */
/* global moment */
app.filter('relativeDateFilter', function() {
return function (timestamp) {
return OC.Util.relativeModifiedDate(timestamp*1000);
}
});
app.filter('relativeDateFilterString', function() {
return function (date) {
return OC.Util.relativeModifiedDate(Date.parse(date));
}
});
app.filter('dateToTimestamp', function() {
return function (date) {
return Date.parse(date);
}
});
app.filter('parseDate', function() {
return function (date) {
if(moment(date).isValid()) {
return moment(date).format('YYYY-MM-DD');
}
return '';
}
});
app.filter('parseTime', function() {
return function (date) {
if(moment(date).isValid()) {
return moment(date).format('HH:mm');
}
return '';
}
});

View File

@@ -24,7 +24,7 @@ app.filter('textColorFilter', function() {
return function (hex) {
// RGB2HLS by Garry Tan
// http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
var result = /^([A-Fa-f\d]{2})([A-Fa-f\d]{2})([A-Fa-f\d]{2})$/i.exec(hex);
var result = /^#?([A-Fa-f\d]{2})([A-Fa-f\d]{2})([A-Fa-f\d]{2})$/i.exec(hex);
var color = result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),

View File

@@ -145,7 +145,13 @@ app.factory('ApiService', function($http, $q){
return this.data[this.id];
};
ApiService.prototype.getData = function() {
ApiService.prototype.unsetCurrrent = function () {
this.id = null;
};
ApiService.prototype.getData = function() {
return $.map(this.data, function(value, index) {
return [value];
});

View File

@@ -26,50 +26,128 @@ app.factory('BoardService', function(ApiService, $http, $q){
};
BoardService.prototype = angular.copy(ApiService.prototype);
BoardService.prototype.searchUsers = function(search) {
var url = OC.generateUrl('/apps/deck/share/search/'+search);
var deferred = $q.defer();
var self = this;
$http.get(url).then(function (response) {
BoardService.prototype.delete = function (id) {
var deferred = $q.defer();
var self = this;
self.sharees = [];
// filter out everyone who is already in the share list
angular.forEach(response.data, function(item) {
var exists = false;
angular.forEach(self.getCurrent().acl, function(acl) {
if (acl.participant === item.participant) {
exists = true;
}
});
if(!exists) {
self.sharees.push(item);
}
});
$http.delete(this.baseUrl + '/' + id).then(function (response) {
self.data[id].deletedAt = response.data.deletedAt;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while update ' + self.endpoint);
});
return deferred.promise;
};
BoardService.prototype.deleteUndo = function (id) {
var deferred = $q.defer();
var self = this;
var _id = id;
$http.post(this.baseUrl + '/' + id + '/deleteUndo').then(function (response) {
self.data[_id].deletedAt = 0;
console.log(self.data[_id]);
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
BoardService.prototype.addAcl = function(acl) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
var _acl = acl;
$http.post(this.baseUrl + '/' + acl.boardId + '/acl', _acl).then(function (response) {
if(!board.acl) {
board.acl = {};
}
board.acl[response.data.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error creating ACL ' + _acl);
});
acl = null;
return deferred.promise;
};
BoardService.prototype.searchUsers = function (search) {
var deferred = $q.defer();
var self = this;
var searchData = {
format: 'json',
perPage: 4,
itemType: [0, 1]
};
if (search !== "") {
searchData.search = search;
}
$http({
method: 'GET',
url: OC.linkToOCS('apps/files_sharing/api/v1') + 'sharees',
params: searchData
})
.then(function (result) {
var response = result.data;
if (response.ocs.meta.statuscode !== 100) {
deferred.reject('Error while searching for sharees');
return;
}
self.sharees = [];
var users = response.ocs.data.exact.users.concat(response.ocs.data.users);
var groups = response.ocs.data.exact.groups.concat(response.ocs.data.groups);
// filter out everyone who is already in the share list
angular.forEach(users, function (item) {
var acl = self.generateAcl('user', item);
var exists = false;
angular.forEach(self.getCurrent().acl, function (acl) {
if (acl.participant.primaryKey === item.value.shareWith) {
exists = true;
}
});
if (!exists && OC.getCurrentUser().uid !== item.value.shareWith) {
self.sharees.push(acl);
}
});
angular.forEach(groups, function (item) {
var acl = self.generateAcl('group', item);
var exists = false;
angular.forEach(self.getCurrent().acl, function (acl) {
if (acl.participant.primaryKey === item.value.shareWith) {
exists = true;
}
});
if (!exists) {
self.sharees.push(acl);
}
});
deferred.resolve(self.sharees);
}, function () {
deferred.reject('Error while searching for sharees');
});
return deferred.promise;
};
BoardService.prototype.generateAcl = function(type, ocsItem) {
return {
boardId: null,
id: null,
owner: false,
participant: {
primaryKey: ocsItem.value.shareWith,
uid: ocsItem.value.shareWith,
displayname: ocsItem.label
},
permissionEdit: true,
permissionManage: true,
permissionShare: true,
type: type
}
};
BoardService.prototype.addAcl = function (acl) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
var _acl = acl;
$http.post(this.baseUrl + '/' + acl.boardId + '/acl', _acl).then(function (response) {
if (!board.acl || board.acl.length === 0) {
board.acl = {};
}
board.acl[response.data.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error creating ACL ' + _acl);
});
acl = null;
return deferred.promise;
};
BoardService.prototype.deleteAcl = function(acl) {
var board = this.getCurrent();
@@ -100,45 +178,43 @@ app.factory('BoardService', function(ApiService, $http, $q){
return deferred.promise;
};
BoardService.prototype.getPermissions = function() {
var board = this.getCurrent();
var deferred = $q.defer();
$http.get(this.baseUrl + '/' + board.id + '/permissions').then(function (response) {
board.permissions = response.data;
console.log(board.permissions);
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error fetching board permissions ' + board);
});
};
BoardService.prototype.canRead = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_READ'];
}
};
BoardService.prototype.canEdit = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_EDIT'];
}
};
BoardService.prototype.canManage = function() {
BoardService.prototype.canManage = function(board) {
if(board !== null && board !== undefined) {
return board.permissions['PERMISSION_MANAGE'];
}
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_MANAGE'];
}
};
BoardService.prototype.canShare = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_SHARE'];
}
};
BoardService.prototype.isArchived = function () {
if(!this.getCurrent() || this.getCurrent().archived) {
return true;
}
return false;
};
service = new BoardService($http, 'boards', $q);
return service;

View File

@@ -58,7 +58,22 @@ app.factory('StackService', function(ApiService, $http, $q){
this.data[entity.stackId].cards.push(entity);
};
StackService.prototype.reorder = function(entity, order) {
StackService.prototype.reorder = function(stack, order) {
var deferred = $q.defer();
var self = this;
$http.put(this.baseUrl + '/' + stack.id + '/reorder', {stackId: stack.id, order: order}).then(function (response) {
angular.forEach(response.data, function (value, key) {
var id = value.id;
self.data[id].order = value.order;
});
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while update ' + self.endpoint);
});
return deferred.promise;
};
StackService.prototype.reorderCard = function(entity, order) {
// assign new order
for(var i=0, j=0;i<this.data[entity.stackId].cards.length;i++) {
if(this.data[entity.stackId].cards[i].id === entity.id) {

21
l10n/ast.js Normal file
View File

@@ -0,0 +1,21 @@
OC.L10N.register(
"deck",
{
"Finished" : "Finó",
"Later" : "Más sero",
"Deck" : "Deck",
"Show archived cards" : "Amosar tarxetes archivaes",
"Delete" : "Desaniciar",
"No matching user or group found." : "Nun s'alcontró dengún usuariu o grupu que concasara.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Xestionar",
"Discard share" : "Escartar compartición",
"Members" : "Miembros",
"by" : "por",
"Saved" : "Guardóse",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"History" : "Historial"
},
"nplurals=2; plural=(n != 1);");

19
l10n/ast.json Normal file
View File

@@ -0,0 +1,19 @@
{ "translations": {
"Finished" : "Finó",
"Later" : "Más sero",
"Deck" : "Deck",
"Show archived cards" : "Amosar tarxetes archivaes",
"Delete" : "Desaniciar",
"No matching user or group found." : "Nun s'alcontró dengún usuariu o grupu que concasara.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Xestionar",
"Discard share" : "Escartar compartición",
"Members" : "Miembros",
"by" : "por",
"Saved" : "Guardóse",
"Attachments" : "Axuntos",
"Comments" : "Comentarios",
"History" : "Historial"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -9,14 +9,12 @@ OC.L10N.register(
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Labels" : "Етикети",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Create a new label" : "Създаване на нов етикет",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
@@ -25,9 +23,6 @@ OC.L10N.register(
"Attachments" : "Прикачени файлове",
"Comments" : "Коментари",
"History" : "История",
"Shared with you" : "Споделено с Вас",
"edit" : "редакция",
"delete" : "изтриване",
"remove share" : "премахване на споделяне"
"Shared with you" : "Споделено с Вас"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -7,14 +7,12 @@
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Labels" : "Етикети",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Create a new label" : "Създаване на нов етикет",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
@@ -23,9 +21,6 @@
"Attachments" : "Прикачени файлове",
"Comments" : "Коментари",
"History" : "История",
"Shared with you" : "Споделено с Вас",
"edit" : "редакция",
"delete" : "изтриване",
"remove share" : "премахване на споделяне"
"Shared with you" : "Споделено с Вас"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

22
l10n/ca.js Normal file
View File

@@ -0,0 +1,22 @@
OC.L10N.register(
"deck",
{
"Finished" : "Acabat",
"To review" : "Per revisar",
"Action needed" : "Acció necessaria",
"Later" : "Més tard",
"Archive" : "Arxiu",
"Delete" : "Esborra",
"Sharing" : "Compartir",
"Share" : "Comparteix",
"Edit" : "Edita",
"Members" : "Membres",
"Modified:" : "Modificat:",
"Created:" : "Creat:",
"by" : "per",
"Saved" : "Desat",
"Comments" : "Comentaris",
"History" : "Història",
"Shared with you" : "Us han compartit"
},
"nplurals=2; plural=(n != 1);");

20
l10n/ca.json Normal file
View File

@@ -0,0 +1,20 @@
{ "translations": {
"Finished" : "Acabat",
"To review" : "Per revisar",
"Action needed" : "Acció necessaria",
"Later" : "Més tard",
"Archive" : "Arxiu",
"Delete" : "Esborra",
"Sharing" : "Compartir",
"Share" : "Comparteix",
"Edit" : "Edita",
"Members" : "Membres",
"Modified:" : "Modificat:",
"Created:" : "Creat:",
"by" : "per",
"Saved" : "Desat",
"Comments" : "Comentaris",
"History" : "Història",
"Shared with you" : "Us han compartit"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Balík",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Deck" : "Balík",
"Add a new stack" : "Přidat nový zásobník",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"All Boards" : "Všechny desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Labels" : "Štítky",
"Tags" : "Značky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new label" : "Vytvořit nový štítek",
"Board title" : "Nadpis desky",
"Create a new tag" : "Vytvořit novou značku",
"Title" : "Název",
"Members" : "Členové",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Description" : "Popis",
"Formatting help" : "Nápověda k formátování",
"Saved" : "Uloženo",
"Add a card description ..." : "Přidat popis karty...",
"Add a card description" : "Přidat popis karty...",
"Attachments" : "Přílohy",
"Comments" : "Komentáře",
"History" : "Historie",
"All Boards" : "Všechny desky",
"Shared with you" : "Sdíleno s vámi",
"edit" : "upravit",
"delete" : "smazat",
"remove share" : "odebrat sdílení",
"Create a new board" : "Vytvořit novou desku"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

View File

@@ -1,42 +1,42 @@
{ "translations": {
"Deck" : "Balík",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Deck" : "Balík",
"Add a new stack" : "Přidat nový zásobník",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"All Boards" : "Všechny desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Labels" : "Štítky",
"Tags" : "Značky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new label" : "Vytvořit nový štítek",
"Board title" : "Nadpis desky",
"Create a new tag" : "Vytvořit novou značku",
"Title" : "Název",
"Members" : "Členové",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Description" : "Popis",
"Formatting help" : "Nápověda k formátování",
"Saved" : "Uloženo",
"Add a card description ..." : "Přidat popis karty...",
"Add a card description" : "Přidat popis karty...",
"Attachments" : "Přílohy",
"Comments" : "Komentáře",
"History" : "Historie",
"All Boards" : "Všechny desky",
"Shared with you" : "Sdíleno s vámi",
"edit" : "upravit",
"delete" : "smazat",
"remove share" : "odebrat sdílení",
"Create a new board" : "Vytvořit novou desku"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

View File

@@ -1,28 +1,26 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tavle",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Deck" : "Tavle",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"All Boards" : "Alle lister",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Labels" : "Labels",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new label" : "Opret en ny etikette ",
"Board title" : "Titel på liste",
"Members" : "Medlemmer",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
@@ -30,15 +28,10 @@ OC.L10N.register(
"Created:" : "Oprettet:",
"by" : "af",
"Saved" : "Gemt",
"Add a card description ..." : "Tilføj en kort beskrivelse",
"Attachments" : "Vedhæftede filer",
"Comments" : "Kommentarer",
"History" : "Hostorik",
"All Boards" : "Alle lister",
"Shared with you" : "Delt med dig",
"edit" : "redigér",
"delete" : "slet",
"remove share" : "Fjern deling",
"Create a new board" : "Opret ny liste"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,26 +1,24 @@
{ "translations": {
"Deck" : "Tavle",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Deck" : "Tavle",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"All Boards" : "Alle lister",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Labels" : "Labels",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new label" : "Opret en ny etikette ",
"Board title" : "Titel på liste",
"Members" : "Medlemmer",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
@@ -28,15 +26,10 @@
"Created:" : "Oprettet:",
"by" : "af",
"Saved" : "Gemt",
"Add a card description ..." : "Tilføj en kort beskrivelse",
"Attachments" : "Vedhæftede filer",
"Comments" : "Kommentarer",
"History" : "Hostorik",
"All Boards" : "Alle lister",
"Shared with you" : "Delt med dig",
"edit" : "redigér",
"delete" : "slet",
"remove share" : "Fjern deling",
"Create a new board" : "Opret ny liste"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"Tags" : "Etiketten",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Share",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neues Etikett erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
"Add a card description" : "Eine Kartenbeschreibung hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Dir geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Edit board" : "Board bearbeiten",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"Tags" : "Etiketten",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Share",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neues Etikett erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
"Add a card description" : "Eine Kartenbeschreibung hinzufügen…",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Dir geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Edit board" : "Board bearbeiten",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Neuen Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"Tags" : "Tags",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neuen Tag erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
"Add a card description" : "Beschreibung hinzufügen …",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Edit board" : "Board bearbeiten",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Abgeschlossen",
"To review" : "Zu bewerten",
"Action needed" : "Aktion erforderlich",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Neuen Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Labels" : "Beschriftungen",
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
"Tags" : "Tags",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen aufheben",
"Create a new label" : "Neue Beschriftung erstellen",
"Board title" : "Board-Titel",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neuen Tag erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
"Add a card description" : "Beschreibung hinzufügen …",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"History" : "Verlauf",
"All Boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"edit" : "Bearbeiten",
"delete" : "Löschen",
"remove share" : "Freigabe löschen",
"Edit board" : "Board bearbeiten",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

40
l10n/el.js Normal file
View File

@@ -0,0 +1,40 @@
OC.L10N.register(
"deck",
{
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"Deck" : "Κάρτα",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Board details" : "Λεπτομέριες πίνακα",
"All Boards" : "Όλοι οι πίνακες",
"Archive" : "Αρχειοθέτηση",
"Unarchive" : "Αναίρεση αρχειοθέτησης",
"Delete" : "Διαγραφή",
"Enter a card title" : "Καταχωρίστε έναν τίτλο κάρτας",
"Sharing" : "Διαμοιρασμός",
"Select users or groups to share with" : "Επιλέξτε χρήστες ή ομάδες με τις οποίες θα μοιραστείτε",
"No matching user or group found." : "Δεν βρέθηκε χρήστης ή ομάδα να ταιριάζει.",
"Share" : "Διαμοιρασμός",
"Edit" : "Επεξεργασία",
"Manage" : "Διαχείριση",
"Discard share" : "Απόρριψη διαμοιρασμού",
"Members" : "Μέλη",
"More actions" : "Περισσότερες ενέργειες",
"Create new board" : "Δημιουργία νέου πίνακα",
"New board title" : "Νέος τίτλος πίνακα",
"Modified:" : "Τροποποιήθηκε:",
"Created:" : "Δημιουργήθηκε:",
"by" : "από",
"Description" : "Περιγραφή",
"Saved" : "Αποθηκεύτηκε",
"Add a card description…" : "Προσθήκη περιγραφής κάρτας...",
"Attachments" : "Συνημμένα",
"Comments" : "Σχόλια",
"History" : "Ιστορικό",
"Shared with you" : "Διαμοιρασμένα με εσάς",
"Create a new board" : "Δημιουργία νέου πίνακα"
},
"nplurals=2; plural=(n != 1);");

38
l10n/el.json Normal file
View File

@@ -0,0 +1,38 @@
{ "translations": {
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"Deck" : "Κάρτα",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Board details" : "Λεπτομέριες πίνακα",
"All Boards" : "Όλοι οι πίνακες",
"Archive" : "Αρχειοθέτηση",
"Unarchive" : "Αναίρεση αρχειοθέτησης",
"Delete" : "Διαγραφή",
"Enter a card title" : "Καταχωρίστε έναν τίτλο κάρτας",
"Sharing" : "Διαμοιρασμός",
"Select users or groups to share with" : "Επιλέξτε χρήστες ή ομάδες με τις οποίες θα μοιραστείτε",
"No matching user or group found." : "Δεν βρέθηκε χρήστης ή ομάδα να ταιριάζει.",
"Share" : "Διαμοιρασμός",
"Edit" : "Επεξεργασία",
"Manage" : "Διαχείριση",
"Discard share" : "Απόρριψη διαμοιρασμού",
"Members" : "Μέλη",
"More actions" : "Περισσότερες ενέργειες",
"Create new board" : "Δημιουργία νέου πίνακα",
"New board title" : "Νέος τίτλος πίνακα",
"Modified:" : "Τροποποιήθηκε:",
"Created:" : "Δημιουργήθηκε:",
"by" : "από",
"Description" : "Περιγραφή",
"Saved" : "Αποθηκεύτηκε",
"Add a card description…" : "Προσθήκη περιγραφής κάρτας...",
"Attachments" : "Συνημμένα",
"Comments" : "Σχόλια",
"History" : "Ιστορικό",
"Shared with you" : "Διαμοιρασμένα με εσάς",
"Create a new board" : "Δημιουργία νέου πίνακα"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

52
l10n/en_GB.js Normal file
View File

@@ -0,0 +1,52 @@
OC.L10N.register(
"deck",
{
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Add a new stack",
"Show archived cards" : "Show archived cards",
"Hide archived cards" : "Hide archived cards",
"Board details" : "Board details",
"All Boards" : "All Boards",
"Archive" : "Archive",
"Unarchive" : "Unarchive",
"Delete" : "Delete",
"Enter a card title" : "Enter a card title",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Select users or groups to share with" : "Select users or groups to share with",
"No matching user or group found." : "No matching user or group found.",
"Share" : "Share",
"Edit" : "Edit",
"Manage" : "Manage",
"Discard share" : "Discard share",
"Create a new tag" : "Create a new tag",
"Title" : "Title",
"Members" : "Members",
"More actions" : "More actions",
"Archive board" : "Archive board",
"Unarchive board" : "Unarchive board",
"Delete board" : "Delete board",
"Create new board" : "Create new board",
"New board title" : "New board title",
"Modified:" : "Modified:",
"Created:" : "Created:",
"by" : "by",
"Description" : "Description",
"Formatting help" : "Formatting help",
"Saved" : "Saved",
"Add a card description…" : "Add a card description…",
"Attachments" : "Attachments",
"Comments" : "Comments",
"History" : "History",
"Archived boards" : "Archived boards",
"Shared boards" : "Shared boards",
"Shared with you" : "Shared with you",
"Edit board" : "Edit board",
"Move board to archive" : "Move board to archive",
"Create a new board" : "Create a new board"
},
"nplurals=2; plural=(n != 1);");

50
l10n/en_GB.json Normal file
View File

@@ -0,0 +1,50 @@
{ "translations": {
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Add a new stack",
"Show archived cards" : "Show archived cards",
"Hide archived cards" : "Hide archived cards",
"Board details" : "Board details",
"All Boards" : "All Boards",
"Archive" : "Archive",
"Unarchive" : "Unarchive",
"Delete" : "Delete",
"Enter a card title" : "Enter a card title",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Select users or groups to share with" : "Select users or groups to share with",
"No matching user or group found." : "No matching user or group found.",
"Share" : "Share",
"Edit" : "Edit",
"Manage" : "Manage",
"Discard share" : "Discard share",
"Create a new tag" : "Create a new tag",
"Title" : "Title",
"Members" : "Members",
"More actions" : "More actions",
"Archive board" : "Archive board",
"Unarchive board" : "Unarchive board",
"Delete board" : "Delete board",
"Create new board" : "Create new board",
"New board title" : "New board title",
"Modified:" : "Modified:",
"Created:" : "Created:",
"by" : "by",
"Description" : "Description",
"Formatting help" : "Formatting help",
"Saved" : "Saved",
"Add a card description…" : "Add a card description…",
"Attachments" : "Attachments",
"Comments" : "Comments",
"History" : "History",
"Archived boards" : "Archived boards",
"Shared boards" : "Shared boards",
"Shared with you" : "Shared with you",
"Edit board" : "Edit board",
"Move board to archive" : "Move board to archive",
"Create a new board" : "Create a new board"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Se necesita una acción",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Añadir una n",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir un título de tarjeta",
"Sharing" : "Compartir",
"Labels" : "Etiquetas",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new label" : "Crear una nueva etiqueta",
"Board title" : "Título del tablero",
"Create a new tag" : "Crear una etiqueta nueva",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Eliminar tablero",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
"Add a card description" : "Añadir una descripción de la tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentario",
"History" : "Historia",
"All Boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"edit" : "editar",
"delete" : "eliminar",
"remove share" : "eliminar compartición",
"Edit board" : "Editar tablero",
"Move board to archive" : "Mover tablero al archivo",
"Create a new board" : "Crear un tablero nuevo"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Se necesita una acción",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Añadir una n",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir un título de tarjeta",
"Sharing" : "Compartir",
"Labels" : "Etiquetas",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new label" : "Crear una nueva etiqueta",
"Board title" : "Título del tablero",
"Create a new tag" : "Crear una etiqueta nueva",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Eliminar tablero",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
"Add a card description" : "Añadir una descripción de la tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentario",
"History" : "Historia",
"All Boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"edit" : "editar",
"delete" : "eliminar",
"remove share" : "eliminar compartición",
"Edit board" : "Editar tablero",
"Move board to archive" : "Mover tablero al archivo",
"Create a new board" : "Crear un tablero nuevo"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

40
l10n/es_AR.js Normal file
View File

@@ -0,0 +1,40 @@
OC.L10N.register(
"deck",
{
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Members" : "Miembros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"History" : "Histórico",
"Shared with you" : "Compartido con usted",
"Create a new board" : "Crear nuevo tablero"
},
"nplurals=2; plural=(n != 1);");

38
l10n/es_AR.json Normal file
View File

@@ -0,0 +1,38 @@
{ "translations": {
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Members" : "Miembros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"History" : "Histórico",
"Shared with you" : "Compartido con usted",
"Create a new board" : "Crear nuevo tablero"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

52
l10n/es_MX.js Normal file
View File

@@ -0,0 +1,52 @@
OC.L10N.register(
"deck",
{
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Agregar una nueva pila",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Create a new tag" : "Crear una nueva etiqueta",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Borrar tableros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"History" : "Histórico",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido con usted",
"Edit board" : "Editar el tablero",
"Move board to archive" : "Mover el tablero al archivo",
"Create a new board" : "Crear nuevo tablero"
},
"nplurals=2; plural=(n != 1);");

50
l10n/es_MX.json Normal file
View File

@@ -0,0 +1,50 @@
{ "translations": {
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Agregar una nueva pila",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Create a new tag" : "Crear una nueva etiqueta",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Borrar tableros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Attachments" : "Adjuntos",
"Comments" : "Comentarios",
"History" : "Histórico",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido con usted",
"Edit board" : "Editar el tablero",
"Move board to archive" : "Mover el tablero al archivo",
"Create a new board" : "Crear nuevo tablero"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,28 +1,26 @@
OC.L10N.register(
"deck",
{
"Deck" : "Kansi",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Deck" : "Kansi",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"All Boards" : "Kaikki Taulut",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Labels" : "Etiketit",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Create a new label" : "Lisää uusi etiketti",
"Board title" : "Taulun otsikko",
"Members" : "Jäsenet",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
@@ -30,15 +28,10 @@ OC.L10N.register(
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Saved" : "Tallennettu",
"Add a card description ..." : "Lisää kortille kuvaus",
"Attachments" : "Liitteet",
"Comments" : "Kommentit",
"History" : "Historia",
"All Boards" : "Kaikki Taulut",
"Shared with you" : "Jaetu kanssasi",
"edit" : "muokkaa",
"delete" : "poista",
"remove share" : "poista jako",
"Create a new board" : "Luo uusi taulu"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,26 +1,24 @@
{ "translations": {
"Deck" : "Kansi",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Deck" : "Kansi",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"All Boards" : "Kaikki Taulut",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Labels" : "Etiketit",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Create a new label" : "Lisää uusi etiketti",
"Board title" : "Taulun otsikko",
"Members" : "Jäsenet",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
@@ -28,15 +26,10 @@
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Saved" : "Tallennettu",
"Add a card description ..." : "Lisää kortille kuvaus",
"Attachments" : "Liitteet",
"Comments" : "Kommentit",
"History" : "Historia",
"All Boards" : "Kaikki Taulut",
"Shared with you" : "Jaetu kanssasi",
"edit" : "muokkaa",
"delete" : "poista",
"remove share" : "poista jako",
"Create a new board" : "Luo uusi taulu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Deck" : "Deck",
"Add a new stack" : "Ajouter une nouvelle pile",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"All Boards" : "Tous les tableaux",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Labels" : "Étiquettes",
"Tags" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new label" : "Créer une nouvelle étiquette",
"Board title" : "Titre du tableau",
"Create a new tag" : "Créer une nouvelle étiquette",
"Title" : "Titre",
"Members" : "Membres",
"More actions" : "Plus d'actions",
"Archive board" : "Archiver le tableau",
"Unarchive board" : "Ne plus archiver le tableau",
"Delete board" : "Supprimer le tableau",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Description" : "Description",
"Formatting help" : "Aide sur la mise en forme",
"Saved" : "Enregistré",
"Add a card description ..." : "Ajouter une description pour la carte",
"Add a card description" : "Ajouter une description pour la carte",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"History" : "Journal",
"All Boards" : "Tous les tableaux",
"Archived boards" : "Tableaux archivés",
"Shared boards" : "Tableaux archivés",
"Shared with you" : "Partagé avec vous",
"edit" : "modifier",
"delete" : "suppression",
"remove share" : "suppression du partage",
"Edit board" : "Modifier le tableau",
"Move board to archive" : "Déplacer le tableau vers l'archive",
"Create a new board" : "Créer un nouveau tableau"
},
"nplurals=2; plural=(n > 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Deck" : "Deck",
"Add a new stack" : "Ajouter une nouvelle pile",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"All Boards" : "Tous les tableaux",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Labels" : "Étiquettes",
"Tags" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new label" : "Créer une nouvelle étiquette",
"Board title" : "Titre du tableau",
"Create a new tag" : "Créer une nouvelle étiquette",
"Title" : "Titre",
"Members" : "Membres",
"More actions" : "Plus d'actions",
"Archive board" : "Archiver le tableau",
"Unarchive board" : "Ne plus archiver le tableau",
"Delete board" : "Supprimer le tableau",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Description" : "Description",
"Formatting help" : "Aide sur la mise en forme",
"Saved" : "Enregistré",
"Add a card description ..." : "Ajouter une description pour la carte",
"Add a card description" : "Ajouter une description pour la carte",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"History" : "Journal",
"All Boards" : "Tous les tableaux",
"Archived boards" : "Tableaux archivés",
"Shared boards" : "Tableaux archivés",
"Shared with you" : "Partagé avec vous",
"edit" : "modifier",
"delete" : "suppression",
"remove share" : "suppression du partage",
"Edit board" : "Modifier le tableau",
"Move board to archive" : "Déplacer le tableau vers l'archive",
"Create a new board" : "Créer un nouveau tableau"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

39
l10n/hr.js Normal file
View File

@@ -0,0 +1,39 @@
OC.L10N.register(
"deck",
{
"Finished" : "Završeno",
"To review" : "Provjeriti",
"Action needed" : "Potrebna radnja",
"Later" : "Kasnije",
"Deck" : "Deck",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Sakrij arhivirane kartice",
"Board details" : "Pojedinosti o ploči",
"All Boards" : "Sve ploče",
"Archive" : "Arhiviraj",
"Unarchive" : "Dearhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Naslov kartice",
"Sharing" : "Dijeljenje",
"Select users or groups to share with" : "Podijeli s korisnicima ili grupama",
"No matching user or group found." : "Nije pronađen odgovarajući korisnik ili grupa",
"Share" : "Dijeljenje",
"Edit" : "Uređivanje",
"Manage" : "Upravljanje",
"Discard share" : "Prestani dijeliti",
"Members" : "Članovi",
"Create new board" : "Izradi novu ploču",
"New board title" : "Naslov ploče",
"Modified:" : "Promijenjena:",
"Created:" : "Stvorena:",
"by" : "od",
"Description" : "Opis",
"Saved" : "Spremljeno",
"Add a card description…" : "Dodaj opis...",
"Attachments" : "Prilozi",
"Comments" : "Komentari",
"History" : "Povijest",
"Shared with you" : "Primljena ploča",
"Create a new board" : "Izradi novu ploču"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

37
l10n/hr.json Normal file
View File

@@ -0,0 +1,37 @@
{ "translations": {
"Finished" : "Završeno",
"To review" : "Provjeriti",
"Action needed" : "Potrebna radnja",
"Later" : "Kasnije",
"Deck" : "Deck",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Sakrij arhivirane kartice",
"Board details" : "Pojedinosti o ploči",
"All Boards" : "Sve ploče",
"Archive" : "Arhiviraj",
"Unarchive" : "Dearhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Naslov kartice",
"Sharing" : "Dijeljenje",
"Select users or groups to share with" : "Podijeli s korisnicima ili grupama",
"No matching user or group found." : "Nije pronađen odgovarajući korisnik ili grupa",
"Share" : "Dijeljenje",
"Edit" : "Uređivanje",
"Manage" : "Upravljanje",
"Discard share" : "Prestani dijeliti",
"Members" : "Članovi",
"Create new board" : "Izradi novu ploču",
"New board title" : "Naslov ploče",
"Modified:" : "Promijenjena:",
"Created:" : "Stvorena:",
"by" : "od",
"Description" : "Opis",
"Saved" : "Spremljeno",
"Add a card description…" : "Dodaj opis...",
"Attachments" : "Prilozi",
"Comments" : "Komentari",
"History" : "Povijest",
"Shared with you" : "Primljena ploča",
"Create a new board" : "Izradi novu ploču"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

View File

@@ -2,10 +2,10 @@ OC.L10N.register(
"deck",
{
"Finished" : "Kész",
"Action needed" : "Művelet szükséges",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Labels" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
@@ -15,8 +15,6 @@ OC.L10N.register(
"Saved" : "Elmentve",
"Comments" : "Hozzászólások",
"History" : "Előzmények",
"Shared with you" : "Megosztva veled",
"edit" : "szerkesztés",
"delete" : "törlés"
"Shared with you" : "Megosztva veled"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,9 +1,9 @@
{ "translations": {
"Finished" : "Kész",
"Action needed" : "Művelet szükséges",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Labels" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
@@ -13,8 +13,6 @@
"Saved" : "Elmentve",
"Comments" : "Hozzászólások",
"History" : "Előzmények",
"Shared with you" : "Megosztva veled",
"edit" : "szerkesztés",
"delete" : "törlés"
"Shared with you" : "Megosztva veled"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -6,7 +6,6 @@ OC.L10N.register(
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Labels" : "Etiquettas",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
@@ -20,8 +19,6 @@ OC.L10N.register(
"Attachments" : "Attachamentos",
"Comments" : "Commentarios",
"History" : "Historia",
"Shared with you" : "Compartite con te",
"edit" : "modificar",
"delete" : "deler"
"Shared with you" : "Compartite con te"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -4,7 +4,6 @@
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Labels" : "Etiquettas",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
@@ -18,8 +17,6 @@
"Attachments" : "Attachamentos",
"Comments" : "Commentarios",
"History" : "Historia",
"Shared with you" : "Compartite con te",
"edit" : "modificar",
"delete" : "deler"
"Shared with you" : "Compartite con te"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,41 @@
OC.L10N.register(
"deck",
{
"Deck" : "Dekk",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Deck" : "Dekk",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um bretti",
"All Boards" : "Öll borð",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Labels" : "Skýringar",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new label" : "Búa til nýja skýringu",
"Board title" : "Titill á borði",
"Members" : "Meðlimir",
"More actions" : "Fleiri aðgerðir",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Description" : "Lýsing",
"Formatting help" : "Hjálp við að sníða",
"Saved" : "Vistað",
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
"Add a card description" : "Settu inn lýsingu á spjaldi ...",
"Attachments" : "Viðhengi",
"Comments" : "Athugasemdir",
"History" : "Ferill",
"All Boards" : "Öll borð",
"Shared with you" : "Deilt með þér",
"edit" : "breyta",
"delete" : "eyða",
"remove share" : "fjarlægja sameign...",
"Create a new board" : "Búa til nýtt borð"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");

View File

@@ -1,42 +1,39 @@
{ "translations": {
"Deck" : "Dekk",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Deck" : "Dekk",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um bretti",
"All Boards" : "Öll borð",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Labels" : "Skýringar",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new label" : "Búa til nýja skýringu",
"Board title" : "Titill á borði",
"Members" : "Meðlimir",
"More actions" : "Fleiri aðgerðir",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Description" : "Lýsing",
"Formatting help" : "Hjálp við að sníða",
"Saved" : "Vistað",
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
"Add a card description" : "Settu inn lýsingu á spjaldi ...",
"Attachments" : "Viðhengi",
"Comments" : "Athugasemdir",
"History" : "Ferill",
"All Boards" : "Öll borð",
"Shared with you" : "Deilt með þér",
"edit" : "breyta",
"delete" : "eyða",
"remove share" : "fjarlægja sameign...",
"Create a new board" : "Búa til nýtt borð"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}

View File

@@ -1,44 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Deck" : "Deck",
"Add a new stack" : "Aggiungi una nuova pila",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"All Boards" : "Tutte le lavagne",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Labels" : "Etichette",
"Tags" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new label" : "Crea una nuova etichetta",
"Board title" : "Titolo della lavagna",
"Create a new tag" : "Crea una nuova etichetta",
"Title" : "Titolo",
"Members" : "Membri",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Description" : "Descrizione",
"Formatting help" : "Guida di formattazione",
"Saved" : "Salvato",
"Add a card description ..." : "Aggiungi descrizione della scheda...",
"Add a card description" : "Aggiungi descrizione della scheda...",
"Attachments" : "Allegati",
"Comments" : "Commenti",
"History" : "Cronologia",
"All Boards" : "Tutte le lavagne",
"Shared with you" : "Condiviso con te",
"edit" : "modifica",
"delete" : "elimina",
"remove share" : "rimuovi condivisione",
"Create a new board" : "Crea una nuova lavagna"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Deck" : "Deck",
"Add a new stack" : "Aggiungi una nuova pila",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"All Boards" : "Tutte le lavagne",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Labels" : "Etichette",
"Tags" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new label" : "Crea una nuova etichetta",
"Board title" : "Titolo della lavagna",
"Create a new tag" : "Crea una nuova etichetta",
"Title" : "Titolo",
"Members" : "Membri",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Description" : "Descrizione",
"Formatting help" : "Guida di formattazione",
"Saved" : "Salvato",
"Add a card description ..." : "Aggiungi descrizione della scheda...",
"Add a card description" : "Aggiungi descrizione della scheda...",
"Attachments" : "Allegati",
"Comments" : "Commenti",
"History" : "Cronologia",
"All Boards" : "Tutte le lavagne",
"Shared with you" : "Condiviso con te",
"edit" : "modifica",
"delete" : "elimina",
"remove share" : "rimuovi condivisione",
"Create a new board" : "Crea una nuova lavagna"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

37
l10n/ko.js Normal file
View File

@@ -0,0 +1,37 @@
OC.L10N.register(
"deck",
{
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
"Later" : "나중에",
"Deck" : "덱",
"Show archived cards" : "보관된 카드 보기",
"Hide archived cards" : "보관된 카드 숨기기",
"Board details" : "게시판 정보",
"All Boards" : "모든 게시판",
"Archive" : "보관",
"Unarchive" : "보관 해제",
"Delete" : "삭제",
"Enter a card title" : "카드 제목 입력",
"Sharing" : "공유",
"Select users or groups to share with" : "공유할 사용자나 그룹 선택",
"No matching user or group found." : "일치하는 사용자나 그룹이 없습니다.",
"Share" : "공유",
"Edit" : "편집",
"Manage" : "관리",
"Discard share" : "공유 무시",
"Members" : "구성원",
"Create new board" : "새 게시판 만들기",
"New board title" : "새 게시판 제목",
"Modified:" : "수정한 날짜:",
"Created:" : "만든 날짜:",
"by" : "by",
"Saved" : "저장됨",
"Attachments" : "첨부",
"Comments" : "댓글",
"History" : "과거 기록",
"Shared with you" : "내게 공유됨",
"Create a new board" : "새 게시판 만들기"
},
"nplurals=1; plural=0;");

35
l10n/ko.json Normal file
View File

@@ -0,0 +1,35 @@
{ "translations": {
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
"Later" : "나중에",
"Deck" : "덱",
"Show archived cards" : "보관된 카드 보기",
"Hide archived cards" : "보관된 카드 숨기기",
"Board details" : "게시판 정보",
"All Boards" : "모든 게시판",
"Archive" : "보관",
"Unarchive" : "보관 해제",
"Delete" : "삭제",
"Enter a card title" : "카드 제목 입력",
"Sharing" : "공유",
"Select users or groups to share with" : "공유할 사용자나 그룹 선택",
"No matching user or group found." : "일치하는 사용자나 그룹이 없습니다.",
"Share" : "공유",
"Edit" : "편집",
"Manage" : "관리",
"Discard share" : "공유 무시",
"Members" : "구성원",
"Create new board" : "새 게시판 만들기",
"New board title" : "새 게시판 제목",
"Modified:" : "수정한 날짜:",
"Created:" : "만든 날짜:",
"by" : "by",
"Saved" : "저장됨",
"Attachments" : "첨부",
"Comments" : "댓글",
"History" : "과거 기록",
"Shared with you" : "내게 공유됨",
"Create a new board" : "새 게시판 만들기"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -20,9 +20,6 @@ OC.L10N.register(
"Attachments" : "Pielikumi",
"Comments" : "Komentāri",
"History" : "Vēsture",
"Shared with you" : "Koplietots ar tevi",
"edit" : "rediģēt",
"delete" : "dzēst",
"remove share" : "noņemt koplietojumu"
"Shared with you" : "Koplietots ar tevi"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");

View File

@@ -18,9 +18,6 @@
"Attachments" : "Pielikumi",
"Comments" : "Komentāri",
"History" : "Vēsture",
"Shared with you" : "Koplietots ar tevi",
"edit" : "rediģēt",
"delete" : "dzēst",
"remove share" : "noņemt koplietojumu"
"Shared with you" : "Koplietots ar tevi"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
}

33
l10n/mn.js Normal file
View File

@@ -0,0 +1,33 @@
OC.L10N.register(
"deck",
{
"Finished" : "Дуусгасан",
"To review" : "Дахин хянах",
"Action needed" : "Үйлдэл шаардлагатай",
"Later" : "Хойшлуулах",
"Deck" : "Ажлын талбар",
"Show archived cards" : "Архивлагдсан картуудыг харах",
"Hide archived cards" : "Архивлагдсан картуудыг нуух",
"Archive" : "Архивлах",
"Unarchive" : "Архиваас гаргах",
"Delete" : "Устгах",
"Enter a card title" : "Картын нэр оруулах",
"Sharing" : "Түгээх",
"Select users or groups to share with" : "Түгээх хэрэглэгч, бүлэг сонгоно уу",
"No matching user or group found." : "Тохирох бүлэг эсвэл хэрэглэгч олдохгүй байна.",
"Share" : "Түгээх",
"Edit" : "Засварлах",
"Manage" : "Зохицуулах",
"Discard share" : "Түгээлтийг хүчингүй болгох",
"Members" : "Гишүүд",
"Modified:" : "Өөрчлөгдсөн:",
"Created:" : "Үүсгэсэн:",
"Description" : "Тайлбар",
"Saved" : "Хадгалсан",
"Add a card description…" : "Картын тайлбар...",
"Attachments" : "Хавсралт",
"Comments" : "Сэтгэгдлүүд",
"History" : "Түүх",
"Shared with you" : "Танд түгээсэн"
},
"nplurals=2; plural=(n != 1);");

31
l10n/mn.json Normal file
View File

@@ -0,0 +1,31 @@
{ "translations": {
"Finished" : "Дуусгасан",
"To review" : "Дахин хянах",
"Action needed" : "Үйлдэл шаардлагатай",
"Later" : "Хойшлуулах",
"Deck" : "Ажлын талбар",
"Show archived cards" : "Архивлагдсан картуудыг харах",
"Hide archived cards" : "Архивлагдсан картуудыг нуух",
"Archive" : "Архивлах",
"Unarchive" : "Архиваас гаргах",
"Delete" : "Устгах",
"Enter a card title" : "Картын нэр оруулах",
"Sharing" : "Түгээх",
"Select users or groups to share with" : "Түгээх хэрэглэгч, бүлэг сонгоно уу",
"No matching user or group found." : "Тохирох бүлэг эсвэл хэрэглэгч олдохгүй байна.",
"Share" : "Түгээх",
"Edit" : "Засварлах",
"Manage" : "Зохицуулах",
"Discard share" : "Түгээлтийг хүчингүй болгох",
"Members" : "Гишүүд",
"Modified:" : "Өөрчлөгдсөн:",
"Created:" : "Үүсгэсэн:",
"Description" : "Тайлбар",
"Saved" : "Хадгалсан",
"Add a card description…" : "Картын тайлбар...",
"Attachments" : "Хавсралт",
"Comments" : "Сэтгэгдлүүд",
"History" : "Түүх",
"Shared with you" : "Танд түгээсэн"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Stokk",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Deck" : "Stokk",
"Add a new stack" : "Legg til ny stabel",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"All Boards" : "Alle bord",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Labels" : "Etiketter",
"Tags" : "Merkelapper",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Endre",
"Edit" : "Rediger",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new label" : "Opprett en ny etikett",
"Board title" : "Bordtittel",
"Create a new tag" : "Lag en ny merkelapp",
"Title" : "Tittel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Archive board" : "Arkiver bord",
"Unarchive board" : "Avarkiver bord",
"Delete board" : "Slett bord",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny bord tittel",
"New board title" : "Ny seksjonstittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Description" : "Beskrivelse",
"Formatting help" : "Formateringshjelp",
"Saved" : "Lagret",
"Add a card description ..." : "Legg til en beskrivelse av kortet",
"Add a card description" : "Legg til en kortbeskrivelse",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"History" : "Historikk",
"All Boards" : "Alle bord",
"Archived boards" : "Akriverte bord",
"Shared boards" : "Delte bord",
"Shared with you" : "Delt med deg",
"edit" : "endre",
"delete" : "slett",
"remove share" : "fjern deling",
"Edit board" : "Rediger bord",
"Move board to archive" : "Flytt bord til arkiv",
"Create a new board" : "Opprett et nytt bord"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Stokk",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Deck" : "Stokk",
"Add a new stack" : "Legg til ny stabel",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"All Boards" : "Alle bord",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Labels" : "Etiketter",
"Tags" : "Merkelapper",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Endre",
"Edit" : "Rediger",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new label" : "Opprett en ny etikett",
"Board title" : "Bordtittel",
"Create a new tag" : "Lag en ny merkelapp",
"Title" : "Tittel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Archive board" : "Arkiver bord",
"Unarchive board" : "Avarkiver bord",
"Delete board" : "Slett bord",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny bord tittel",
"New board title" : "Ny seksjonstittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Description" : "Beskrivelse",
"Formatting help" : "Formateringshjelp",
"Saved" : "Lagret",
"Add a card description ..." : "Legg til en beskrivelse av kortet",
"Add a card description" : "Legg til en kortbeskrivelse",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"History" : "Historikk",
"All Boards" : "Alle bord",
"Archived boards" : "Akriverte bord",
"Shared boards" : "Delte bord",
"Shared with you" : "Delt med deg",
"edit" : "endre",
"delete" : "slett",
"remove share" : "fjern deling",
"Edit board" : "Rediger bord",
"Move board to archive" : "Flytt bord til arkiv",
"Create a new board" : "Opprett et nytt bord"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,44 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Nieuwe stapel toevoegen",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"All Boards" : "Alle borden",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Labels" : "Labels",
"Tags" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new label" : "Nieuw label creëren",
"Board title" : "Bord titel",
"Create a new tag" : "Nieuwe label maken",
"Title" : "Titel",
"Members" : "Leden",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Description" : "Beschrijving",
"Formatting help" : "formatteringshulp",
"Saved" : "Opgeslagen",
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
"Add a card description" : "Voeg een kaartbeschrijving toe...",
"Attachments" : "Bijlage",
"Comments" : "Opmerkingen",
"History" : "Geschiedenis",
"All Boards" : "Alle borden",
"Shared with you" : "Deel met jou",
"edit" : "Bewerk",
"delete" : "verwijder",
"remove share" : "verwijder gedeelde",
"Create a new board" : "Een nieuw bord maken"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,42 +1,42 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Nieuwe stapel toevoegen",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"All Boards" : "Alle borden",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Labels" : "Labels",
"Tags" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new label" : "Nieuw label creëren",
"Board title" : "Bord titel",
"Create a new tag" : "Nieuwe label maken",
"Title" : "Titel",
"Members" : "Leden",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Description" : "Beschrijving",
"Formatting help" : "formatteringshulp",
"Saved" : "Opgeslagen",
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
"Add a card description" : "Voeg een kaartbeschrijving toe...",
"Attachments" : "Bijlage",
"Comments" : "Opmerkingen",
"History" : "Geschiedenis",
"All Boards" : "Alle borden",
"Shared with you" : "Deel met jou",
"edit" : "Bewerk",
"delete" : "verwijder",
"remove share" : "verwijder gedeelde",
"Create a new board" : "Een nieuw bord maken"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Deck" : "Deck",
"Add a new stack" : "Dodaj nowy stos",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"All Boards" : "Tablice",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Labels" : "Etykiety",
"Tags" : "Tagi",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new label" : "Utwórz nową etykietę",
"Board title" : "Tytuł tablicy",
"Create a new tag" : "Utwórz nowy tag",
"Title" : "Tytuł",
"Members" : "Członkowie",
"More actions" : "Więcej akcji",
"Archive board" : "Zarchiwizuj tablicę",
"Unarchive board" : "Przywróć tablicę",
"Delete board" : "Usuń tablicę",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Description" : "Opis",
"Formatting help" : "Pomoc przy formatowaniu",
"Saved" : "Zapisano",
"Add a card description ..." : "Dodaj opis karty",
"Add a card description" : "Dodaj opis karty",
"Attachments" : "Załączniki",
"Comments" : "Komentarze",
"History" : "Historia",
"All Boards" : "Tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared boards" : "Tablice współdzielone",
"Shared with you" : "Współdzielone z tobą",
"edit" : "edytuj",
"delete" : "usuń",
"remove share" : "usuń współdzielenie",
"Edit board" : "Edytuj tablicę",
"Move board to archive" : "Przesuń tablicę do archiwum",
"Create a new board" : "Utwórz nową tablicę"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Deck" : "Deck",
"Add a new stack" : "Dodaj nowy stos",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"All Boards" : "Tablice",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Labels" : "Etykiety",
"Tags" : "Tagi",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new label" : "Utwórz nową etykietę",
"Board title" : "Tytuł tablicy",
"Create a new tag" : "Utwórz nowy tag",
"Title" : "Tytuł",
"Members" : "Członkowie",
"More actions" : "Więcej akcji",
"Archive board" : "Zarchiwizuj tablicę",
"Unarchive board" : "Przywróć tablicę",
"Delete board" : "Usuń tablicę",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Description" : "Opis",
"Formatting help" : "Pomoc przy formatowaniu",
"Saved" : "Zapisano",
"Add a card description ..." : "Dodaj opis karty",
"Add a card description" : "Dodaj opis karty",
"Attachments" : "Załączniki",
"Comments" : "Komentarze",
"History" : "Historia",
"All Boards" : "Tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared boards" : "Tablice współdzielone",
"Shared with you" : "Współdzielone z tobą",
"edit" : "edytuj",
"delete" : "usuń",
"remove share" : "usuń współdzielenie",
"Edit board" : "Edytuj tablicę",
"Move board to archive" : "Przesuń tablicę do archiwum",
"Create a new board" : "Utwórz nową tablicę"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Mesa",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Deck" : "Deck",
"Add a new stack" : "Adicionar uma nova pilha",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do quadro",
"Board details" : "Detalhes do painel",
"All Boards" : "Todos os paineis",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título do cartão",
"Enter a card title" : "Digite um título de cartão",
"Sharing" : "Compartilhar",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar",
"No matching user or group found." : "Usuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new label" : "Criar uma nova etiqueta",
"Board title" : "Título do quadro",
"Create a new tag" : "Criar uma nova etiqueta",
"Title" : "Título",
"Members" : "Membros",
"Create new board" : "Criar novo quadro",
"New board title" : "Título do novo quadro",
"More actions" : "Mais ações",
"Archive board" : "Arquivar painel",
"Unarchive board" : "Desarquivar painel",
"Delete board" : "Excluir painel",
"Create new board" : "Criar novo painel",
"New board title" : "Título do novo painel",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Description" : "Descrição",
"Formatting help" : "Formatando ajuda",
"Saved" : "Salvo",
"Add a card description ..." : "Adicionar uma descrição de cartão",
"Add a card description" : "Adicionar uma descrição para o cartão...",
"Attachments" : "Anexos",
"Comments" : "Comentários",
"History" : "Histórico",
"All Boards" : "Todos os quadros",
"Archived boards" : "Painéis arquivados",
"Shared boards" : "Painéis compartilhados",
"Shared with you" : "Compartilhado com você",
"edit" : "editar",
"delete" : "excluir",
"remove share" : "remover compartilhamento",
"Create a new board" : "Criar um novo quadro"
"Edit board" : "Editar painel",
"Move board to archive" : "Mover painel para o arquivo",
"Create a new board" : "Criar um novo painel"
},
"nplurals=2; plural=(n > 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Mesa",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Deck" : "Deck",
"Add a new stack" : "Adicionar uma nova pilha",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do quadro",
"Board details" : "Detalhes do painel",
"All Boards" : "Todos os paineis",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título do cartão",
"Enter a card title" : "Digite um título de cartão",
"Sharing" : "Compartilhar",
"Labels" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar",
"No matching user or group found." : "Usuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new label" : "Criar uma nova etiqueta",
"Board title" : "Título do quadro",
"Create a new tag" : "Criar uma nova etiqueta",
"Title" : "Título",
"Members" : "Membros",
"Create new board" : "Criar novo quadro",
"New board title" : "Título do novo quadro",
"More actions" : "Mais ações",
"Archive board" : "Arquivar painel",
"Unarchive board" : "Desarquivar painel",
"Delete board" : "Excluir painel",
"Create new board" : "Criar novo painel",
"New board title" : "Título do novo painel",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Description" : "Descrição",
"Formatting help" : "Formatando ajuda",
"Saved" : "Salvo",
"Add a card description ..." : "Adicionar uma descrição de cartão",
"Add a card description" : "Adicionar uma descrição para o cartão...",
"Attachments" : "Anexos",
"Comments" : "Comentários",
"History" : "Histórico",
"All Boards" : "Todos os quadros",
"Archived boards" : "Painéis arquivados",
"Shared boards" : "Painéis compartilhados",
"Shared with you" : "Compartilhado com você",
"edit" : "editar",
"delete" : "excluir",
"remove share" : "remover compartilhamento",
"Create a new board" : "Criar um novo quadro"
"Edit board" : "Editar painel",
"Move board to archive" : "Mover painel para o arquivo",
"Create a new board" : "Criar um novo painel"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Deck",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Deck" : "Deck",
"Add a new stack" : "Создать новую стопку",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"All Boards" : "Все доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Labels" : "Метки",
"Tags" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new label" : "Создать новую метку",
"Board title" : "Заголовок доски",
"Create a new tag" : "Создать новую метку",
"Title" : "Заголовок",
"Members" : "Участники",
"More actions" : "Ещё действия",
"Archive board" : "Архивировать доску",
"Unarchive board" : "Разархивировать доску",
"Delete board" : "Удалить доску",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Description" : "Описание",
"Formatting help" : "Справка по форматированию",
"Saved" : "Сохранено",
"Add a card description ..." : "Добавить описание карточки…",
"Add a card description" : "Добавить описание карточки…",
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"History" : "История",
"All Boards" : "Все доски",
"Archived boards" : "Архив досок",
"Shared boards" : "Общие доски",
"Shared with you" : "Поделились с вами",
"edit" : "редактировать",
"delete" : "удалить",
"remove share" : "закрыть общий доступ",
"Edit board" : "Править доску",
"Move board to archive" : "Переместить доску в архив",
"Create a new board" : "Создать новую доску"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Deck",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Deck" : "Deck",
"Add a new stack" : "Создать новую стопку",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"All Boards" : "Все доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Labels" : "Метки",
"Tags" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new label" : "Создать новую метку",
"Board title" : "Заголовок доски",
"Create a new tag" : "Создать новую метку",
"Title" : "Заголовок",
"Members" : "Участники",
"More actions" : "Ещё действия",
"Archive board" : "Архивировать доску",
"Unarchive board" : "Разархивировать доску",
"Delete board" : "Удалить доску",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Description" : "Описание",
"Formatting help" : "Справка по форматированию",
"Saved" : "Сохранено",
"Add a card description ..." : "Добавить описание карточки…",
"Add a card description" : "Добавить описание карточки…",
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"History" : "История",
"All Boards" : "Все доски",
"Archived boards" : "Архив досок",
"Shared boards" : "Общие доски",
"Shared with you" : "Поделились с вами",
"edit" : "редактировать",
"delete" : "удалить",
"remove share" : "закрыть общий доступ",
"Edit board" : "Править доску",
"Move board to archive" : "Переместить доску в архив",
"Create a new board" : "Создать новую доску"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}

View File

@@ -1,28 +1,26 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tabuľa",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Deck" : "Tabuľa",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"All Boards" : "Všetky Tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Labels" : "Značky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new label" : "Vytvoriť novú značku",
"Board title" : "Názov tabule",
"Members" : "Členovia",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
@@ -30,15 +28,10 @@ OC.L10N.register(
"Created:" : "Vytvorené:",
"by" : "-",
"Saved" : "Uložené",
"Add a card description ..." : "Pridať popis karty ...",
"Attachments" : "Prílohy",
"Comments" : "Komentáre",
"History" : "História",
"All Boards" : "Všetky Tabule",
"Shared with you" : "Sprístupnené vám",
"edit" : "upraviť",
"delete" : "zmazať",
"remove share" : "zrušiť sprístupnenie",
"Create a new board" : "Vytvoriť novú tabuľu"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

View File

@@ -1,26 +1,24 @@
{ "translations": {
"Deck" : "Tabuľa",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Deck" : "Tabuľa",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"All Boards" : "Všetky Tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Labels" : "Značky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new label" : "Vytvoriť novú značku",
"Board title" : "Názov tabule",
"Members" : "Členovia",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
@@ -28,15 +26,10 @@
"Created:" : "Vytvorené:",
"by" : "-",
"Saved" : "Uložené",
"Add a card description ..." : "Pridať popis karty ...",
"Attachments" : "Prílohy",
"Comments" : "Komentáre",
"History" : "História",
"All Boards" : "Všetky Tabule",
"Shared with you" : "Sprístupnené vám",
"edit" : "upraviť",
"delete" : "zmazať",
"remove share" : "zrušiť sprístupnenie",
"Create a new board" : "Vytvoriť novú tabuľu"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

23
l10n/sq.js Normal file
View File

@@ -0,0 +1,23 @@
OC.L10N.register(
"deck",
{
"Finished" : "I përfunduar",
"To review" : "Për rishikim",
"Action needed" : "Nevoitet veprim",
"Later" : "Më vonë",
"Deck" : "Shto paisjen U2F",
"Add a new stack" : "Shto një raft të ri",
"Show archived cards" : "Trego kartat e arkivuara",
"Hide archived cards" : "Fsheh kartat e arkivuara ",
"Board details" : "Detajet e Tabeles ",
"All Boards" : "Të gjitha Tabelat ",
"Archive" : "Arkiva",
"Delete" : "Fshij",
"Enter a card title" : "Fusni një titull karte",
"Sharing" : "Shpërndaj ",
"Tags" : "Etiketë ",
"Select users or groups to share with" : "Shpërndajeni duke zgjedhur përdorues ose grupe ",
"Share" : "Ndaj ",
"Manage" : "Menaxho"
},
"nplurals=2; plural=(n != 1);");

21
l10n/sq.json Normal file
View File

@@ -0,0 +1,21 @@
{ "translations": {
"Finished" : "I përfunduar",
"To review" : "Për rishikim",
"Action needed" : "Nevoitet veprim",
"Later" : "Më vonë",
"Deck" : "Shto paisjen U2F",
"Add a new stack" : "Shto një raft të ri",
"Show archived cards" : "Trego kartat e arkivuara",
"Hide archived cards" : "Fsheh kartat e arkivuara ",
"Board details" : "Detajet e Tabeles ",
"All Boards" : "Të gjitha Tabelat ",
"Archive" : "Arkiva",
"Delete" : "Fshij",
"Enter a card title" : "Fusni një titull karte",
"Sharing" : "Shpërndaj ",
"Tags" : "Etiketë ",
"Select users or groups to share with" : "Shpërndajeni duke zgjedhur përdorues ose grupe ",
"Share" : "Ndaj ",
"Manage" : "Menaxho"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -21,9 +21,6 @@ OC.L10N.register(
"Attachments" : "Bifogade filer",
"Comments" : "Kommentarer",
"History" : "Historik",
"Shared with you" : "Delade med dig",
"edit" : "redigera",
"delete" : "radera",
"remove share" : "ta bort delning"
"Shared with you" : "Delade med dig"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -19,9 +19,6 @@
"Attachments" : "Bifogade filer",
"Comments" : "Kommentarer",
"History" : "Historik",
"Shared with you" : "Delade med dig",
"edit" : "redigera",
"delete" : "radera",
"remove share" : "ta bort delning"
"Shared with you" : "Delade med dig"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -1,44 +1,52 @@
OC.L10N.register(
"deck",
{
"Deck" : "Tahta",
"Finished" : "Tamamlandı",
"To review" : "İncelenecek",
"Action needed" : "İşlem yapılması gerekiyor",
"Later" : "Sonra",
"Deck" : "Tahta",
"Add a new stack" : "Yeni bir yığın ekle",
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
"Hide archived cards" : "Arşivlenmiş kartları gizle",
"Board details" : "Pano ayrıntıları",
"All Boards" : "Tüm Panolar",
"Archive" : "Arşivle",
"Unarchive" : "Arşivden Çıkar",
"Delete" : "Sil",
"Enter a card title" : "Bir kart başlığı yazın",
"Sharing" : "Paylaşım",
"Labels" : "Etiketler",
"Tags" : "Etiketler",
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
"Share" : "Paylaş",
"Edit" : "Düzenle",
"Manage" : "Yönetim",
"Discard share" : "Paylaşımı kaldır",
"Create a new label" : "Yeni bir etiket ekle",
"Board title" : "Pano başlığı",
"Create a new tag" : "Yeni bir etiket ekle",
"Title" : "Başlık",
"Members" : "Üyeler",
"More actions" : "Diğer işlemler",
"Archive board" : "Panoyu arşivle",
"Unarchive board" : "Panoyu arşivden çıkar",
"Delete board" : "Panoyu sil",
"Create new board" : "Yeni pano ekle",
"New board title" : "Yeni pano başlığı",
"Modified:" : "Değiştirilme:",
"Created:" : "Oluşturulma:",
"by" : "Kişi:",
"Description" : "Açıklama",
"Formatting help" : "Biçimlendirme yardımı",
"Saved" : "Kaydedildi",
"Add a card description ..." : "Bir kart açıklaması ekle...",
"Add a card description" : "Bir kart açıklaması ekle...",
"Attachments" : "Ek dosyalar",
"Comments" : "Yorumlar",
"History" : "Geçmiş",
"All Boards" : "Tüm Panolar",
"Archived boards" : "Arşivlenmiş panolar",
"Shared boards" : "Paylaşılmış panolar",
"Shared with you" : "Sizinle paylaşılan",
"edit" : "düzenle",
"delete" : "sil",
"remove share" : "paylaşımı kaldır",
"Edit board" : "Panoyu sil",
"Move board to archive" : "Panoyu arşive taşı",
"Create a new board" : "Yeni bir pano ekle"
},
"nplurals=2; plural=(n > 1);");

View File

@@ -1,42 +1,50 @@
{ "translations": {
"Deck" : "Tahta",
"Finished" : "Tamamlandı",
"To review" : "İncelenecek",
"Action needed" : "İşlem yapılması gerekiyor",
"Later" : "Sonra",
"Deck" : "Tahta",
"Add a new stack" : "Yeni bir yığın ekle",
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
"Hide archived cards" : "Arşivlenmiş kartları gizle",
"Board details" : "Pano ayrıntıları",
"All Boards" : "Tüm Panolar",
"Archive" : "Arşivle",
"Unarchive" : "Arşivden Çıkar",
"Delete" : "Sil",
"Enter a card title" : "Bir kart başlığı yazın",
"Sharing" : "Paylaşım",
"Labels" : "Etiketler",
"Tags" : "Etiketler",
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
"Share" : "Paylaş",
"Edit" : "Düzenle",
"Manage" : "Yönetim",
"Discard share" : "Paylaşımı kaldır",
"Create a new label" : "Yeni bir etiket ekle",
"Board title" : "Pano başlığı",
"Create a new tag" : "Yeni bir etiket ekle",
"Title" : "Başlık",
"Members" : "Üyeler",
"More actions" : "Diğer işlemler",
"Archive board" : "Panoyu arşivle",
"Unarchive board" : "Panoyu arşivden çıkar",
"Delete board" : "Panoyu sil",
"Create new board" : "Yeni pano ekle",
"New board title" : "Yeni pano başlığı",
"Modified:" : "Değiştirilme:",
"Created:" : "Oluşturulma:",
"by" : "Kişi:",
"Description" : "Açıklama",
"Formatting help" : "Biçimlendirme yardımı",
"Saved" : "Kaydedildi",
"Add a card description ..." : "Bir kart açıklaması ekle...",
"Add a card description" : "Bir kart açıklaması ekle...",
"Attachments" : "Ek dosyalar",
"Comments" : "Yorumlar",
"History" : "Geçmiş",
"All Boards" : "Tüm Panolar",
"Archived boards" : "Arşivlenmiş panolar",
"Shared boards" : "Paylaşılmış panolar",
"Shared with you" : "Sizinle paylaşılan",
"edit" : "düzenle",
"delete" : "sil",
"remove share" : "paylaşımı kaldır",
"Edit board" : "Panoyu sil",
"Move board to archive" : "Panoyu arşive taşı",
"Create a new board" : "Yeni bir pano ekle"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

View File

@@ -1,44 +1,41 @@
OC.L10N.register(
"deck",
{
"Deck" : "面板",
"Finished" : "完成",
"To review" : "回顾",
"Action needed" : "需要操作",
"Later" : "稍后",
"Deck" : "面板",
"Show archived cards" : "显示已存档的卡片",
"Hide archived cards" : "隐藏已存档的卡片",
"Board details" : "面板详情",
"All Boards" : "全部面板",
"Archive" : "归档",
"Unarchive" : "取消归档",
"Delete" : "删除",
"Enter a card title" : "输入卡片标题",
"Sharing" : "分享",
"Labels" : "标签",
"Tags" : "标签",
"Select users or groups to share with" : "选择要共享的用户或组",
"No matching user or group found." : "未找到匹配的用户或组。",
"Share" : "分享",
"Edit" : "编辑",
"Manage" : "管理",
"Discard share" : "取消分享",
"Create a new label" : "创建新标签",
"Board title" : "面板标题",
"Create a new tag" : "创建新标签",
"Members" : "会员",
"Create new board" : "创建新面板",
"New board title" : "新面板标题",
"Modified:" : "修改于:",
"Created:" : "创建于:",
"by" : "by",
"Description" : "描述",
"Saved" : "已保存",
"Add a card description ..." : "添加卡片说明...",
"Add a card description" : " 添加卡片描述…",
"Attachments" : "附件",
"Comments" : "评论",
"History" : "历史",
"All Boards" : "全部面板",
"Shared with you" : "共享给您的",
"edit" : "编辑",
"delete" : "删除",
"remove share" : "移除共享",
"Create a new board" : "创建一个新面板"
},
"nplurals=1; plural=0;");

View File

@@ -1,42 +1,39 @@
{ "translations": {
"Deck" : "面板",
"Finished" : "完成",
"To review" : "回顾",
"Action needed" : "需要操作",
"Later" : "稍后",
"Deck" : "面板",
"Show archived cards" : "显示已存档的卡片",
"Hide archived cards" : "隐藏已存档的卡片",
"Board details" : "面板详情",
"All Boards" : "全部面板",
"Archive" : "归档",
"Unarchive" : "取消归档",
"Delete" : "删除",
"Enter a card title" : "输入卡片标题",
"Sharing" : "分享",
"Labels" : "标签",
"Tags" : "标签",
"Select users or groups to share with" : "选择要共享的用户或组",
"No matching user or group found." : "未找到匹配的用户或组。",
"Share" : "分享",
"Edit" : "编辑",
"Manage" : "管理",
"Discard share" : "取消分享",
"Create a new label" : "创建新标签",
"Board title" : "面板标题",
"Create a new tag" : "创建新标签",
"Members" : "会员",
"Create new board" : "创建新面板",
"New board title" : "新面板标题",
"Modified:" : "修改于:",
"Created:" : "创建于:",
"by" : "by",
"Description" : "描述",
"Saved" : "已保存",
"Add a card description ..." : "添加卡片说明...",
"Add a card description" : " 添加卡片描述…",
"Attachments" : "附件",
"Comments" : "评论",
"History" : "历史",
"All Boards" : "全部面板",
"Shared with you" : "共享给您的",
"edit" : "编辑",
"delete" : "删除",
"remove share" : "移除共享",
"Create a new board" : "创建一个新面板"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -5,27 +5,32 @@
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
namespace OCA\Deck\AppInfo;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCP\AppFramework\App;
use OCA\Deck\Middleware\SharingMiddleware;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IUser;
use OCP\IUserManager;
class Application extends App {
@@ -48,6 +53,30 @@ class Application extends App {
});
$container->registerMiddleware('SharingMiddleware');
// Delete user/group acl entries when they get deleted
/** @var IUserManager $userManager */
$userManager = $server->getUserManager();
$userManager->listen('\OC\User', 'postDelete', function(IUser $user) use ($container) {
/** @var AclMapper $aclMapper */
$aclMapper = $container->query(AclMapper::class);
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_USER, $user->getUID());
foreach ($acls as $acl) {
$aclMapper->delete($acl);
}
});
/** @var IUserManager $userManager */
$groupManager = $server->getGroupManager();
$groupManager->listen('\OC\Group', 'postDelete', function(IGroup $group) use ($container) {
/** @var AclMapper $aclMapper */
$aclMapper = $container->query(AclMapper::class);
$aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
foreach ($acls as $acl) {
$aclMapper->delete($acl);
}
});
}
public function registerNavigationEntry() {
@@ -60,7 +89,7 @@ class Application extends App {
'order' => 10,
'href' => $urlGenerator->linkToRoute('deck.page.index'),
'icon' => $urlGenerator->imagePath('deck', 'app.svg'),
'name' => $l10n->t('Deck'),
'name' => 'Deck',
];
});
}

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck;
class CardArchivedException extends \Exception {
class ArchivedItemException extends \Exception {
/**
* Constructor
* @param string $msg the error message
*/
public function __construct($msg = "") {
public function __construct($msg = "Operation not allowed. Item is archived.") {
parent::__construct($msg);
}
}

View File

@@ -96,8 +96,8 @@ class BoardController extends Controller {
* @param $color
* @return \OCP\AppFramework\Db\Entity
*/
public function update($id, $title, $color) {
return $this->boardService->update($id, $title, $color);
public function update($id, $title, $color, $archived) {
return $this->boardService->update($id, $title, $color, $archived);
}
/**
@@ -108,6 +108,14 @@ class BoardController extends Controller {
public function delete($boardId) {
return $this->boardService->delete($boardId);
}
/**
* @NoAdminRequired
* @param $boardId
* @return \OCP\AppFramework\Db\Entity
*/
public function deleteUndo($boardId) {
return $this->boardService->deleteUndo($boardId);
}
/**
* @NoAdminRequired
@@ -130,13 +138,13 @@ class BoardController extends Controller {
* @param $boardId
* @param $type
* @param $participant
* @param $edit
* @param $share
* @param $manage
* @param $permissionEdit
* @param $permissionShare
* @param $permissionManage
* @return \OCP\AppFramework\Db\Entity
*/
public function addAcl($boardId, $type, $participant, $edit, $share, $manage) {
return $this->boardService->addAcl($boardId, $type, $participant, $edit, $share, $manage);
public function addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage) {
return $this->boardService->addAcl($boardId, $type, $participant, $permissionEdit, $permissionShare, $permissionManage);
}
/**

View File

@@ -90,8 +90,8 @@ class CardController extends Controller {
* @param $description
* @return \OCP\AppFramework\Db\Entity
*/
public function update($id, $title, $stackId, $type, $order, $description) {
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId);
public function update($id, $title, $stackId, $type, $order, $description, $duedate) {
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId, $duedate);
}
/**

View File

@@ -1,85 +0,0 @@
<?php
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\BoardService;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\AppFramework\Controller;
use OCP\IUserManager;
class ShareController extends Controller {
private $userManager;
private $groupManager;
private $boardService;
private $userId;
public function __construct($appName, IRequest $request, IUserManager $userManager, IGroupManager $groupManager, BoardService $boardService, $userId) {
parent::__construct($appName, $request);
$this->userManager = $userManager;
$this->groupManager = $groupManager;
$this->userId = $userId;
$this->boardService = $boardService;
}
/**
* @NoAdminRequired
* @param $search
* @return array
*/
public function searchUser($search) {
$limit = 3;
$offset = null;
$result = [];
foreach ($this->groupManager->search($search, $limit, $offset) as $idx => $group) {
$acl = new Acl();
$acl->setType('group');
$acl->setParticipant($group->getGID());
$acl->setPermissionEdit(true);
$acl->setPermissionShare(true);
$acl->setPermissionManage(true);
$result[] = $acl;
}
$limit = 10;
foreach ($this->userManager->searchDisplayName($search, $limit, $offset) as $idx => $user) {
if ($user->getUID() === $this->userId) {
continue;
}
$acl = new Acl();
$acl->setType('user');
$acl->setParticipant($user->getUID());
$acl->setPermissionEdit(true);
$acl->setPermissionShare(true);
$acl->setPermissionManage(true);
$result[] = $acl;
}
return $result;
}
}

View File

@@ -80,6 +80,16 @@ class StackController extends Controller {
return $this->stackService->update($id, $title, $boardId, $order);
}
/**
* @NoAdminRequired
* @param $stackId
* @param $order
* @return array
*/
public function reorder($stackId, $order) {
return $this->stackService->reorder($stackId, $order);
}
/**
* @NoAdminRequired
* @param $stackId

Some files were not shown because too many files have changed in this diff Show More