Compare commits
579 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a50884a6b7 | ||
|
|
defb10bee0 | ||
|
|
4fc4b5b0c2 | ||
|
|
af142340f6 | ||
|
|
449b576c33 | ||
|
|
332143eff5 | ||
|
|
9cbd3f9e87 | ||
|
|
5c50bcab88 | ||
|
|
6daebf941a | ||
|
|
9ecf52952b | ||
|
|
cfff7855fc | ||
|
|
b692630900 | ||
|
|
f719264979 | ||
|
|
1bf4e4c623 | ||
|
|
3520d831e9 | ||
|
|
07b805621d | ||
|
|
4b0ceee2ac | ||
|
|
b8edc70db2 | ||
|
|
ef72c924e7 | ||
|
|
1577582def | ||
|
|
b24d512fda | ||
|
|
e1bd8b2d72 | ||
|
|
48dfe02fe4 | ||
|
|
aa5fb57cb4 | ||
|
|
818a08b6a1 | ||
|
|
0ef2041a29 | ||
|
|
b7d624c671 | ||
|
|
6b5667dd8f | ||
|
|
26a03c3b86 | ||
|
|
5569028a72 | ||
|
|
9aeec692d0 | ||
|
|
0d754c713c | ||
|
|
6c8b28f68c | ||
|
|
41743bfe65 | ||
|
|
64427acb6b | ||
|
|
58219901ad | ||
|
|
869c460e40 | ||
|
|
487941532a | ||
|
|
857a82ecff | ||
|
|
09a2f0ea5e | ||
|
|
66e33773e5 | ||
|
|
230bffc85a | ||
|
|
9f5936fe16 | ||
|
|
ce6793b486 | ||
|
|
7f553afe8c | ||
|
|
52d860f447 | ||
|
|
d07c7dd916 | ||
|
|
13ba28bc75 | ||
|
|
9867a8331e | ||
|
|
51146ea811 | ||
|
|
6b81352764 | ||
|
|
30c82eacda | ||
|
|
8c96524e1c | ||
|
|
1277fe2e35 | ||
|
|
d02d397563 | ||
|
|
2675353070 | ||
|
|
f6645753c4 | ||
|
|
eaa9bef731 | ||
|
|
be31a7017b | ||
|
|
f73497d053 | ||
|
|
e098e13cfe | ||
|
|
fbf993ee00 | ||
|
|
d4930eedd7 | ||
|
|
72c328bb9a | ||
|
|
9b8e6282b6 | ||
|
|
16459f96e2 | ||
|
|
b86e0bb0e3 | ||
|
|
c71376cb3f | ||
|
|
796ff48769 | ||
|
|
d33c12b026 | ||
|
|
55b89f66f7 | ||
|
|
3be4068c82 | ||
|
|
6a44b7c765 | ||
|
|
b2b7f2951f | ||
|
|
188eae833e | ||
|
|
a07d8bd687 | ||
|
|
cac3df45da | ||
|
|
a42e6ace9a | ||
|
|
d6a728627c | ||
|
|
b7a4dd928a | ||
|
|
746ae60fc7 | ||
|
|
ce6c480330 | ||
|
|
f6fafb6d6b | ||
|
|
8266fd3ed4 | ||
|
|
7e5dbb608d | ||
|
|
3d1e28442f | ||
|
|
e9574f3fc4 | ||
|
|
f7ba07713e | ||
|
|
c2fd39779f | ||
|
|
cc5e6c349a | ||
|
|
8855ae4d8c | ||
|
|
bcefc2a36c | ||
|
|
d0049b5257 | ||
|
|
ee673e358e | ||
|
|
6038140492 | ||
|
|
047400e05e | ||
|
|
30842fa969 | ||
|
|
f8f81af3f8 | ||
|
|
ffe8aa55d0 | ||
|
|
00d33a582f | ||
|
|
0d61202ecc | ||
|
|
d10e5582d7 | ||
|
|
b3b7d3907d | ||
|
|
4fbb75b073 | ||
|
|
9b00792827 | ||
|
|
06c1835eda | ||
|
|
cadfd3c58a | ||
|
|
755fae987f | ||
|
|
3514416aa6 | ||
|
|
2cfb85b3db | ||
|
|
ab9b24e664 | ||
|
|
d8e0d70031 | ||
|
|
a9a6a87e8a | ||
|
|
3e72c1975d | ||
|
|
48bde61347 | ||
|
|
c17b11192d | ||
|
|
69caca2871 | ||
|
|
036b67c48a | ||
|
|
da15b2f50c | ||
|
|
75688cbb5c | ||
|
|
0fa9544691 | ||
|
|
1e5c3b4fdd | ||
|
|
1843c9e712 | ||
|
|
a7bafab341 | ||
|
|
f94d62d96b | ||
|
|
baf0bba6c3 | ||
|
|
3cac7877f5 | ||
|
|
c4a06a6529 | ||
|
|
f18fc1a9df | ||
|
|
f87d53052a | ||
|
|
6ae5a8d640 | ||
|
|
5f5561f202 | ||
|
|
9e7a547764 | ||
|
|
49b5b0dafe | ||
|
|
d7c62045ba | ||
|
|
e97e4dc62f | ||
|
|
9ded432281 | ||
|
|
31fbe0346e | ||
|
|
bbba55e415 | ||
|
|
48e0b2d913 | ||
|
|
d2f9743249 | ||
|
|
978a8f3e8d | ||
|
|
e5597fb7c1 | ||
|
|
fdcbba4f53 | ||
|
|
076ff122fc | ||
|
|
4a721cf7bd | ||
|
|
618f030cef | ||
|
|
0ff409a5f4 | ||
|
|
48cc66767a | ||
|
|
d67c5a2052 | ||
|
|
be80476de7 | ||
|
|
eb2fae6d77 | ||
|
|
6e88dd4c1b | ||
|
|
09819dc3ef | ||
|
|
bf356216f6 | ||
|
|
437d0cca21 | ||
|
|
61b2117008 | ||
|
|
4f17681227 | ||
|
|
55df8704b7 | ||
|
|
f1e0a6d87d | ||
|
|
837f9e9cdc | ||
|
|
82e9471857 | ||
|
|
e2f7fafe6a | ||
|
|
a70d9df08f | ||
|
|
97493f3a9f | ||
|
|
0d91aad137 | ||
|
|
2f3889aff8 | ||
|
|
9178f6fb08 | ||
|
|
a68d505c06 | ||
|
|
1822c153ed | ||
|
|
5930f135a6 | ||
|
|
2159ce8a9c | ||
|
|
9cbcc76cd7 | ||
|
|
0643f3ae5b | ||
|
|
8c276b9c07 | ||
|
|
c62b6ab955 | ||
|
|
780169a4a8 | ||
|
|
6b2eba5e29 | ||
|
|
a6aba64d27 | ||
|
|
f7f1dfaa9e | ||
|
|
18f34b8de9 | ||
|
|
af48d11758 | ||
|
|
dbe9ba133d | ||
|
|
183113a4f1 | ||
|
|
51750a1cdf | ||
|
|
c5b11b344e | ||
|
|
55296059a9 | ||
|
|
f6805b87e1 | ||
|
|
21f32b8e62 | ||
|
|
e1413b1c1e | ||
|
|
f37258a85d | ||
|
|
9dad72f8d4 | ||
|
|
52bfeb8062 | ||
|
|
0685fc7322 | ||
|
|
9c5c46510a | ||
|
|
582d5045f9 | ||
|
|
66e3ca55a6 | ||
|
|
3f1418749b | ||
|
|
5617f0f290 | ||
|
|
87318087a6 | ||
|
|
67e839017d | ||
|
|
3de219d48c | ||
|
|
68232ec293 | ||
|
|
e402284366 | ||
|
|
1dffc29338 | ||
|
|
d8623b0aa5 | ||
|
|
9686ee8ed9 | ||
|
|
ea6182c289 | ||
|
|
69254008c6 | ||
|
|
eb17f3b466 | ||
|
|
5f4cf248ef | ||
|
|
7744fc62e6 | ||
|
|
42e7818d87 | ||
|
|
1329466173 | ||
|
|
203befc219 | ||
|
|
dd24eab75d | ||
|
|
1195acc523 | ||
|
|
ef5dcc5c52 | ||
|
|
8fe2cab239 | ||
|
|
aefeb93ee0 | ||
|
|
7dbde8e3d3 | ||
|
|
35440c41c7 | ||
|
|
c893ee6586 | ||
|
|
ba88ee898d | ||
|
|
a6526b1072 | ||
|
|
b1b3c6b779 | ||
|
|
293ad83476 | ||
|
|
ceea3ab007 | ||
|
|
5592f2557d | ||
|
|
5b22c3b841 | ||
|
|
d1b77cb541 | ||
|
|
680595e5ca | ||
|
|
ad6d3bf29c | ||
|
|
b738161b1f | ||
|
|
2ac6df3846 | ||
|
|
d195f2a12c | ||
|
|
e926a0a6d0 | ||
|
|
2336e63459 | ||
|
|
4719cea172 | ||
|
|
dc9b2b5c7f | ||
|
|
4881de7bfe | ||
|
|
84c8d70eef | ||
|
|
3da4e2498f | ||
|
|
bbb69789f2 | ||
|
|
8e21035ba2 | ||
|
|
a5a3d0aa45 | ||
|
|
e8e1630ed6 | ||
|
|
07c9c276ee | ||
|
|
2a083caa37 | ||
|
|
3a2ac7abc2 | ||
|
|
beafcfa743 | ||
|
|
1881010b7a | ||
|
|
07ba4b2e4a | ||
|
|
a8466d1426 | ||
|
|
b0af2fef2d | ||
|
|
8feeb7005d | ||
|
|
0af05d62b7 | ||
|
|
4b9bae2753 | ||
|
|
cc9750ace7 | ||
|
|
8cabd6001e | ||
|
|
73c6487798 | ||
|
|
5f4c4cdce7 | ||
|
|
e48a1c6a94 | ||
|
|
e2ac4df537 | ||
|
|
ab8d4b8432 | ||
|
|
6318a314c1 | ||
|
|
fb7f316b26 | ||
|
|
7a4ae5fa2c | ||
|
|
4c05c4039b | ||
|
|
c683044d2c | ||
|
|
b381588199 | ||
|
|
4e4da92ad6 | ||
|
|
22fb404774 | ||
|
|
2984c71d32 | ||
|
|
9824c578ad | ||
|
|
ca3c93fed8 | ||
|
|
3912b3c3ae | ||
|
|
0f8a6c0d25 | ||
|
|
2f349e0138 | ||
|
|
9aded3ccb8 | ||
|
|
a32b3cd3cf | ||
|
|
731a491bd1 | ||
|
|
9542dde184 | ||
|
|
1cd5f2f496 | ||
|
|
4d10663406 | ||
|
|
ff75b39aca | ||
|
|
62e06a0d24 | ||
|
|
54be05e448 | ||
|
|
ab6ae1df0d | ||
|
|
d3d1e0af36 | ||
|
|
59e0ffaf05 | ||
|
|
4287bde8ce | ||
|
|
70917f3f65 | ||
|
|
ade0554c70 | ||
|
|
32d4179bdc | ||
|
|
81e567b680 | ||
|
|
5819a19a88 | ||
|
|
188d722bf2 | ||
|
|
a6e09adf77 | ||
|
|
4fe38c62dd | ||
|
|
eec4e614bd | ||
|
|
6714e18889 | ||
|
|
275e8eedaf | ||
|
|
f921f5d5a6 | ||
|
|
856aeb146d | ||
|
|
0c1ef382aa | ||
|
|
36fac54f0f | ||
|
|
498ab8bd0d | ||
|
|
9947aa4288 | ||
|
|
754903ccca | ||
|
|
13d5289e73 | ||
|
|
06ccb7b7b9 | ||
|
|
91c0704186 | ||
|
|
228a2bdca9 | ||
|
|
9e23a89659 | ||
|
|
5619c683c2 | ||
|
|
ca347cbc80 | ||
|
|
19a4832caf | ||
|
|
9f0783c4c6 | ||
|
|
6e5111b266 | ||
|
|
bed3096f11 | ||
|
|
9538cccf50 | ||
|
|
6a3c242176 | ||
|
|
93959b0efc | ||
|
|
99a42e7639 | ||
|
|
ed02d93a92 | ||
|
|
1dce8b797d | ||
|
|
5d17c3167b | ||
|
|
e0d59c0653 | ||
|
|
0308599096 | ||
|
|
00e1a1da74 | ||
|
|
5783d9ec15 | ||
|
|
01b4a4d264 | ||
|
|
fbc703b033 | ||
|
|
ee7313beac | ||
|
|
3dc99f129c | ||
|
|
11a5362108 | ||
|
|
18343eea89 | ||
|
|
6ceb1b3e09 | ||
|
|
e5873c566b | ||
|
|
93f9db2549 | ||
|
|
de78de243f | ||
|
|
e82ba2aebc | ||
|
|
50298b14ff | ||
|
|
697d2ce8d5 | ||
|
|
90e986dfc1 | ||
|
|
6e844b22fd | ||
|
|
9ecafadc43 | ||
|
|
08a9714842 | ||
|
|
ed50c9413c | ||
|
|
b0c026bc83 | ||
|
|
2adec18b1d | ||
|
|
30371b0e06 | ||
|
|
afc0c662d2 | ||
|
|
146a5eb602 | ||
|
|
317ee4901b | ||
|
|
3d254f7d62 | ||
|
|
948b8f5f84 | ||
|
|
d555bf1cab | ||
|
|
0456e43378 | ||
|
|
5cf3f48de9 | ||
|
|
32b4b18868 | ||
|
|
ec937a8edf | ||
|
|
33dae40326 | ||
|
|
d032f8a820 | ||
|
|
4b20bfca74 | ||
|
|
e29eb22a49 | ||
|
|
b125e18c52 | ||
|
|
736222f975 | ||
|
|
2b33583bd7 | ||
|
|
b77cb9b270 | ||
|
|
1c116012ce | ||
|
|
d7fa2ae265 | ||
|
|
3c407c06ff | ||
|
|
3fdb70e547 | ||
|
|
febd4b1a0b | ||
|
|
12c3e476f9 | ||
|
|
ec8c782b5a | ||
|
|
0575926692 | ||
|
|
617671c004 | ||
|
|
2f9cf4df37 | ||
|
|
7e5e0e2814 | ||
|
|
dd09c2ad69 | ||
|
|
87dfdd62d4 | ||
|
|
bd77b12f9b | ||
|
|
b861f2b1cd | ||
|
|
8cf3853387 | ||
|
|
313b5b0e15 | ||
|
|
7c81c7237b | ||
|
|
82eb262433 | ||
|
|
5ba5eb89b2 | ||
|
|
b714be7829 | ||
|
|
36e66e4345 | ||
|
|
542c70eac1 | ||
|
|
f54722cd5a | ||
|
|
5c29392428 | ||
|
|
b8071def95 | ||
|
|
fba6dc0a45 | ||
|
|
536029e6c6 | ||
|
|
77b81f4686 | ||
|
|
7ba4b2617a | ||
|
|
56e9d5ceb4 | ||
|
|
bb569f7df7 | ||
|
|
4060c7a14a | ||
|
|
4cebac2306 | ||
|
|
2fd8cab627 | ||
|
|
4921f3dd62 | ||
|
|
a268d428bf | ||
|
|
ab11f47afa | ||
|
|
0751f604ec | ||
|
|
c2aec9f312 | ||
|
|
04e9373c58 | ||
|
|
2a5eece8fd | ||
|
|
513ad35af9 | ||
|
|
352e66fc8d | ||
|
|
9bffe51fce | ||
|
|
31367d3a36 | ||
|
|
9a8ecf5cec | ||
|
|
df4b6b117f | ||
|
|
82442917de | ||
|
|
da1b934b4f | ||
|
|
a963518e88 | ||
|
|
a5263db6ca | ||
|
|
9f91ecc116 | ||
|
|
ccf1445ccf | ||
|
|
4deca737ad | ||
|
|
03e34b291e | ||
|
|
6cda378fe2 | ||
|
|
c3e2aec149 | ||
|
|
b9c8e8f315 | ||
|
|
b8566a3a0d | ||
|
|
d028728407 | ||
|
|
c31891654c | ||
|
|
e7c04ac19f | ||
|
|
7f250e8ae3 | ||
|
|
ca8dfd8cab | ||
|
|
ee55bc56fa | ||
|
|
ff234f68e1 | ||
|
|
dc344e4d50 | ||
|
|
446bfcd22b | ||
|
|
29cce7fde6 | ||
|
|
e025d10aca | ||
|
|
2e316331cc | ||
|
|
65fabe15f7 | ||
|
|
3f34577064 | ||
|
|
284ca3d202 | ||
|
|
270c4658b8 | ||
|
|
b189146a05 | ||
|
|
b2d035f05d | ||
|
|
9f72a230b5 | ||
|
|
6a2d36d10f | ||
|
|
eb38112605 | ||
|
|
b9629abc96 | ||
|
|
6acdfe4d1c | ||
|
|
0f50af9d0a | ||
|
|
c15fbcab0b | ||
|
|
24ab06109f | ||
|
|
25e901060e | ||
|
|
9d49aeb80b | ||
|
|
194f920161 | ||
|
|
8379a88b3e | ||
|
|
741e4be749 | ||
|
|
42aff58c6e | ||
|
|
e2a4737fdb | ||
|
|
7f6895aa7a | ||
|
|
14d686a6bc | ||
|
|
b76c85f187 | ||
|
|
aea3f19c82 | ||
|
|
f98004f343 | ||
|
|
2066080e56 | ||
|
|
df0db786be | ||
|
|
8f7712011f | ||
|
|
ee308c8afd | ||
|
|
bd9538d143 | ||
|
|
0c825addb1 | ||
|
|
ff8b010d78 | ||
|
|
d27c083bcc | ||
|
|
a7b2c65387 | ||
|
|
693babf89a | ||
|
|
0cf124c8b1 | ||
|
|
95f6cfe748 | ||
|
|
3e39db784c | ||
|
|
fbbe30be6d | ||
|
|
7fb0822ce8 | ||
|
|
8329caa94a | ||
|
|
bf015cd951 | ||
|
|
bee0fde025 | ||
|
|
f18069c504 | ||
|
|
8b410a453a | ||
|
|
be75d8890c | ||
|
|
a79f60bad5 | ||
|
|
1901c986ff | ||
|
|
b0245d1bdb | ||
|
|
32528866fb | ||
|
|
f1718821fc | ||
|
|
384f6c97b8 | ||
|
|
bb09f5510c | ||
|
|
65f2e75775 | ||
|
|
f75be3a041 | ||
|
|
aaa651be37 | ||
|
|
baf807b91a | ||
|
|
ac1b230a70 | ||
|
|
559c5c7696 | ||
|
|
5c9ad85c7e | ||
|
|
42c8e90abb | ||
|
|
8b511db4cf | ||
|
|
bf37cc2ed8 | ||
|
|
711bc47b0d | ||
|
|
faac607b75 | ||
|
|
280cc57abc | ||
|
|
b7a6df8224 | ||
|
|
d13cc9f000 | ||
|
|
f82297f556 | ||
|
|
d067ac80a0 | ||
|
|
b79566d6a4 | ||
|
|
0b2ea0f839 | ||
|
|
c1a16c9e85 | ||
|
|
819fc5b3a8 | ||
|
|
bd37672b0f | ||
|
|
d9de349441 | ||
|
|
fb6a7a0f3e | ||
|
|
728d2a8ab4 | ||
|
|
4575bd5d67 | ||
|
|
7d0898ccd4 | ||
|
|
0ce04e25c3 | ||
|
|
60ea0565c7 | ||
|
|
a7608b1900 | ||
|
|
d4b5d9e2f6 | ||
|
|
89640e1ca1 | ||
|
|
25decf95c5 | ||
|
|
22616d8266 | ||
|
|
942b8d8919 | ||
|
|
72fff9c811 | ||
|
|
a14e6e3134 | ||
|
|
a27b070b49 | ||
|
|
059641a7b0 | ||
|
|
f8072c3f28 | ||
|
|
f03d48c395 | ||
|
|
c947ab04d3 | ||
|
|
117e3a6497 | ||
|
|
29aae81134 | ||
|
|
35fbc33e60 | ||
|
|
1d63e39f6a | ||
|
|
eaa1b93f15 | ||
|
|
f8bcaf6ea9 | ||
|
|
de6086b4e1 | ||
|
|
8620e7fc6c | ||
|
|
ad1b5fcca2 | ||
|
|
8383c439d5 | ||
|
|
b7e48a5e40 | ||
|
|
51a6c614dd | ||
|
|
d8000a9aa8 | ||
|
|
07f0515551 | ||
|
|
988b46e4e8 | ||
|
|
7cc6d42ff5 | ||
|
|
d6e8a36171 | ||
|
|
e0542996e3 | ||
|
|
47cfdb4a05 | ||
|
|
d9f83b7833 | ||
|
|
5a36c644af | ||
|
|
cd3f658741 | ||
|
|
fc183f6981 | ||
|
|
83bc2c5cf2 | ||
|
|
e2f80b6e19 | ||
|
|
b207e28c70 | ||
|
|
e4acb37b3b | ||
|
|
25f86beec9 | ||
|
|
6f6df150d1 | ||
|
|
b45f182069 | ||
|
|
ac31ed1004 | ||
|
|
82ea7ccb83 | ||
|
|
bf3d8f14aa | ||
|
|
1d40fd3ab0 | ||
|
|
1163e544b1 | ||
|
|
967bcc0226 | ||
|
|
1e9d8663a9 | ||
|
|
61db3c2769 | ||
|
|
65ea7160a5 | ||
|
|
e824d4eb30 |
29
.devcontainer/devcontainer.json
Normal file
29
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"image": "ghcr.io/juliushaertl/nextcloud-dev-php80:latest",
|
||||||
|
"forwardPorts": [80],
|
||||||
|
"containerEnv": {
|
||||||
|
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
|
||||||
|
"XDEBUG_MODE": "debug"
|
||||||
|
},
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"felixfbecker.php-intellisense",
|
||||||
|
"octref.vetur"
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"php.suggest.basic": false,
|
||||||
|
"git.alwaysSignOff": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"workspaceMount": "source=${localWorkspaceFolder},target=/var/www/html/apps-extra/deck,type=bind",
|
||||||
|
"workspaceFolder": "/var/www/html/apps-extra/deck",
|
||||||
|
"overrideCommand": true,
|
||||||
|
"postAttachCommand": "bash ./.devcontainer/setup.sh",
|
||||||
|
"portsAttributes": {
|
||||||
|
"80": {
|
||||||
|
"label": "Webserver"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
.devcontainer/setup.sh
Normal file
9
.devcontainer/setup.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
(
|
||||||
|
cd /tmp && /usr/local/bin/bootstrap.sh apache2ctl start
|
||||||
|
)
|
||||||
|
|
||||||
|
composer install --no-dev
|
||||||
|
npm ci
|
||||||
|
npm run dev
|
||||||
4
.github/workflows/appbuild.yml
vendored
4
.github/workflows/appbuild.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [14.x]
|
node-version: [16.x]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
run: npm i -g npm@7
|
run: npm i -g npm@7
|
||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: shivammathur/setup-php@2.24.0
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
php-version: '7.4'
|
||||||
tools: composer
|
tools: composer
|
||||||
|
|||||||
4
.github/workflows/appstore-build-publish.yml
vendored
4
.github/workflows/appstore-build-publish.yml
vendored
@@ -44,7 +44,7 @@ jobs:
|
|||||||
expression: "//info//dependencies//nextcloud/@min-version"
|
expression: "//info//dependencies//nextcloud/@min-version"
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
id: versions
|
id: versions
|
||||||
# Continue if no package.json
|
# Continue if no package.json
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -66,7 +66,7 @@ jobs:
|
|||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||||
|
|
||||||
- name: Set up php ${{ env.PHP_VERSION }}
|
- name: Set up php ${{ env.PHP_VERSION }}
|
||||||
uses: shivammathur/setup-php@2.24.0 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ env.PHP_VERSION }}
|
php-version: ${{ env.PHP_VERSION }}
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
4
.github/workflows/command-rebase.yml
vendored
4
.github/workflows/command-rebase.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Add reaction on start
|
- name: Add reaction on start
|
||||||
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
|
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
repository: ${{ github.event.repository.full_name }}
|
repository: ${{ github.event.repository.full_name }}
|
||||||
@@ -42,7 +42,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|
||||||
- name: Add reaction on failure
|
- name: Add reaction on failure
|
||||||
uses: peter-evans/create-or-update-comment@67dcc547d311b736a8e6c5c236542148a47adc3d # v2.1.1
|
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|||||||
4
.github/workflows/cypress.yml
vendored
4
.github/workflows/cypress.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
# containers: [1, 2, 3]
|
# containers: [1, 2, 3]
|
||||||
php-versions: [ '8.0' ]
|
php-versions: [ '8.0' ]
|
||||||
databases: [ 'sqlite' ]
|
databases: [ 'sqlite' ]
|
||||||
server-versions: [ 'stable26' ]
|
server-versions: [ 'stable27' ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
path: apps/text
|
path: apps/text
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.24.0
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
||||||
|
|||||||
4
.github/workflows/integration.yml
vendored
4
.github/workflows/integration.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.1']
|
php-versions: ['8.1']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['stable26']
|
server-versions: ['stable27']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ jobs:
|
|||||||
path: apps/activity
|
path: apps/activity
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.5
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||||
|
|||||||
2
.github/workflows/lint-eslint.yml
vendored
2
.github/workflows/lint-eslint.yml
vendored
@@ -41,7 +41,7 @@ jobs:
|
|||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
id: versions
|
id: versions
|
||||||
with:
|
with:
|
||||||
fallbackNode: '^16'
|
fallbackNode: '^16'
|
||||||
|
|||||||
2
.github/workflows/lint-php-cs.yml
vendored
2
.github/workflows/lint-php-cs.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.24.0 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
2
.github/workflows/lint-php.yml
vendored
2
.github/workflows/lint-php.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
|||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.24.0 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
2
.github/workflows/lint-stylelint.yml
vendored
2
.github/workflows/lint-stylelint.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
id: versions
|
id: versions
|
||||||
with:
|
with:
|
||||||
fallbackNode: '^16'
|
fallbackNode: '^16'
|
||||||
|
|||||||
2
.github/workflows/nightly.yml
vendored
2
.github/workflows/nightly.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
|||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
run: npm i -g npm@7
|
run: npm i -g npm@7
|
||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: shivammathur/setup-php@2.24.0
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
php-version: '7.4'
|
||||||
tools: composer
|
tools: composer
|
||||||
|
|||||||
71
.github/workflows/npm-audit-fix.yml
vendored
Normal file
71
.github/workflows/npm-audit-fix.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# This workflow is provided via the organization template repository
|
||||||
|
#
|
||||||
|
# https://github.com/nextcloud/.github
|
||||||
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
|
name: npm audit fix and compile
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
# At 2:30 on Sundays
|
||||||
|
- cron: '30 2 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
branches: ["main", "master", "stable26", "stable25", "stable24"]
|
||||||
|
|
||||||
|
name: npm-audit-fix-${{ matrix.branches }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
with:
|
||||||
|
ref: ${{ matrix.branches }}
|
||||||
|
|
||||||
|
- name: Read package.json node and npm engines version
|
||||||
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
|
id: versions
|
||||||
|
with:
|
||||||
|
fallbackNode: '^16'
|
||||||
|
fallbackNpm: '^7'
|
||||||
|
|
||||||
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
||||||
|
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||||
|
|
||||||
|
- name: Fix npm audit
|
||||||
|
run: |
|
||||||
|
npm audit fix
|
||||||
|
|
||||||
|
- name: Run npm ci and npm run build
|
||||||
|
if: always()
|
||||||
|
run: |
|
||||||
|
npm ci
|
||||||
|
npm run build --if-present
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
if: always()
|
||||||
|
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
commit-message: "chore(deps): fix npm audit"
|
||||||
|
committer: GitHub <noreply@github.com>
|
||||||
|
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
|
||||||
|
title: "[${{ matrix.branches }}] Fix npm audit"
|
||||||
|
body: |
|
||||||
|
Auto-generated fix of npm audit
|
||||||
|
labels: |
|
||||||
|
dependencies
|
||||||
|
3. to review
|
||||||
6
.github/workflows/phpunit.yml
vendored
6
.github/workflows/phpunit.yml
vendored
@@ -26,9 +26,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.0', '8.1', '8.2']
|
php-versions: ['8.0', '8.1']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['stable26']
|
server-versions: ['stable27']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.24.0
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
tools: phpunit
|
tools: phpunit
|
||||||
|
|||||||
2
.github/workflows/psalm.yml
vendored
2
.github/workflows/psalm.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
|||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.24.0 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|||||||
6
.github/workflows/update-nextcloud-ocp.yml
vendored
6
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branches: ["master", "stable25", "stable24"]
|
branches: ["master", "stable26", "stable25", "stable24"]
|
||||||
|
|
||||||
name: update-nextcloud-ocp-${{ matrix.branches }}
|
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- name: Set up php8.1
|
- name: Set up php8.1
|
||||||
uses: shivammathur/setup-php@2.24.0 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||||
@@ -52,7 +52,7 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
|
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
|
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
|
||||||
|
|||||||
181
CHANGELOG.md
181
CHANGELOG.md
@@ -1,102 +1,137 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## 1.9.7
|
## 1.11.3
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fix(PermissionService#getPermissions): Catch exceptions from getBoard method @backportbot[bot] [#5548](https://github.com/nextcloud/deck/pull/5548)
|
- fix: allow null label colors in trello json importer @juliushaertl [#5438](https://github.com/nextcloud/deck/pull/5438)
|
||||||
- fix(activity): Fix permission checks when rendering activities in bac… @backportbot[bot] [#5545](https://github.com/nextcloud/deck/pull/5545)
|
- Fix deleted card/board issues @juliushaertl [#5442](https://github.com/nextcloud/deck/pull/5442)
|
||||||
|
|
||||||
## 1.9.6
|
### Other
|
||||||
|
|
||||||
|
- Fix small issues around delete/undo @juliushaertl [#5420](https://github.com/nextcloud/deck/pull/5420)
|
||||||
|
|
||||||
|
## 1.11.2
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fix: allow null label colors in trello json importer @juliushaertl [#5439](https://github.com/nextcloud/deck/pull/5439)
|
- fix: Use text content as result for comments [#5297](https://github.com/nextcloud/deck/pull/5297)
|
||||||
- Fix small issues around delete/undo [#5421](https://github.com/nextcloud/deck/pull/5421)
|
|
||||||
- Fix deleted card/board issues @juliushaertl [#5443](https://github.com/nextcloud/deck/pull/5443)
|
|
||||||
|
|
||||||
## 1.9.5
|
## 1.11.1
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- fix: Use text content as result for comments [#5298](https://github.com/nextcloud/deck/pull/5298)
|
|
||||||
|
|
||||||
## 1.9.4
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- fix: open card in modal on main route [#5289](https://github.com/nextcloud/deck/pull/5289)
|
|
||||||
|
|
||||||
## 1.9.3
|
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Import of deck JSON data through occ @juliushaertl [#5004](https://github.com/nextcloud/deck/pull/5004)
|
- feat: remember last board, list for new card dialog [#5049](https://github.com/nextcloud/deck/pull/5049)
|
||||||
|
- feat: update smart picker links [#5072](https://github.com/nextcloud/deck/pull/5072)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Prevent tag itself being edit button if user lacks permissions [#4766](https://github.com/nextcloud/deck/pull/4766)
|
- fix: export doesn't handle lists with no cards [#5118](https://github.com/nextcloud/deck/pull/5118)
|
||||||
- fix: Allow dynamic autoloading for classes added during upgrade [#4805](https://github.com/nextcloud/deck/pull/4805)
|
- fix: Check both card reference url patterns [#5263](https://github.com/nextcloud/deck/pull/5263)
|
||||||
- Fix(occ): set user id for permission sevice from board service [#4814](https://github.com/nextcloud/deck/pull/4814)
|
- Issue triage fix collection @juliushaertl [#5286](https://github.com/nextcloud/deck/pull/5286)
|
||||||
- fix(notification): Prevent null in parameters [#4910](https://github.com/nextcloud/deck/pull/4910)
|
- fix: open card in modal on main route [#5288](https://github.com/nextcloud/deck/pull/5288)
|
||||||
- fix: Split query to fetch board ids to avoid slow query join @juliushaertl [#4950](https://github.com/nextcloud/deck/pull/4950)
|
- fix: Avoid too large index on postgres as indexing just the last_editor column is enough [#5291](https://github.com/nextcloud/deck/pull/5291)
|
||||||
- fix: export doesn't handle lists with no cards [#5117](https://github.com/nextcloud/deck/pull/5117)
|
- fix: error msg on CreateNewCardCustomPicker & only show available bo… [#5030](https://github.com/nextcloud/deck/pull/5030)
|
||||||
- Ensure `$boardId` is an integer [#4774](https://github.com/nextcloud/deck/pull/4774)
|
- Remove duplicate button [#5043](https://github.com/nextcloud/deck/pull/5043)
|
||||||
- fix: execute return int for export command [#4812](https://github.com/nextcloud/deck/pull/4812)
|
|
||||||
- fix: crash when leaving out system parameter [#4832](https://github.com/nextcloud/deck/pull/4832)
|
### Other
|
||||||
- Remove duplicate button [#5044](https://github.com/nextcloud/deck/pull/5044)
|
|
||||||
|
- fix cypress for new file picker @juliushaertl [#5027](https://github.com/nextcloud/deck/pull/5027)
|
||||||
|
- test: add cypress tests for create new deck card [#5026](https://github.com/nextcloud/deck/pull/5026)
|
||||||
|
- Update dependencies
|
||||||
|
|
||||||
|
## 1.11.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- feat: Import of deck JSON data through occ [#5003](https://github.com/nextcloud/deck/pull/5003)
|
||||||
|
- feat: create new card from smart picker [#5000](https://github.com/nextcloud/deck/pull/5000)
|
||||||
|
- feat: update smart picker links [#5072](https://github.com/nextcloud/deck/pull/5072)
|
||||||
|
- feat: remember last board, list for new card dialog [#5049](https://github.com/nextcloud/deck/pull/5049)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix(occ): set user id for permission sevice from board service [#4813](https://github.com/nextcloud/deck/pull/4813)
|
||||||
|
- fix: Allow dynamic autoloading for classes added during upgrade [#4804](https://github.com/nextcloud/deck/pull/4804)
|
||||||
|
- fix(notification): Prevent null in parameters [#4909](https://github.com/nextcloud/deck/pull/4909)
|
||||||
|
- fix: Split query to fetch board ids to avoid slow query join @juliushaertl [#4949](https://github.com/nextcloud/deck/pull/4949)
|
||||||
|
- fix: export doesn't handle lists with no cards [#5118](https://github.com/nextcloud/deck/pull/5118)
|
||||||
|
- fix: execute return int for export command [#4811](https://github.com/nextcloud/deck/pull/4811)
|
||||||
|
- fix: crash when leaving out system parameter [#4831](https://github.com/nextcloud/deck/pull/4831)
|
||||||
|
- test: add cypress tests for create new deck card [#5026](https://github.com/nextcloud/deck/pull/5026)
|
||||||
|
- feat: error msg on CreateNewCardCustomPicker & only show available bo… [#5030](https://github.com/nextcloud/deck/pull/5030)
|
||||||
|
- Remove duplicate button [#5043](https://github.com/nextcloud/deck/pull/5043)
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
- Dependency updates
|
- Dependency updates
|
||||||
|
|
||||||
## 1.9.2
|
## 1.11.0-beta.1
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- fix: Properly overwrite z-index of datepicker above modal [#4665](https://github.com/nextcloud/deck/pull/4665)
|
|
||||||
|
|
||||||
|
|
||||||
## 1.9.1
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Gracefully handle not found card for a share [#4567](https://github.com/nextcloud/deck/pull/4567)
|
|
||||||
- fix: Adapt NcEmptyContent usages to new slots [#4562](https://github.com/nextcloud/deck/pull/4562)
|
|
||||||
- allow user to toggle visibility of the calendar for a deck board [#4625](https://github.com/nextcloud/deck/pull/4625)
|
|
||||||
- fix: Append datetime picker to body to avoid cut off [#4644](https://github.com/nextcloud/deck/pull/4644)
|
|
||||||
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4650](https://github.com/nextcloud/deck/pull/4650)
|
|
||||||
- fix: Bring back overdue column by removing faulty condition [#4662](https://github.com/nextcloud/deck/pull/4662)
|
|
||||||
- Fix : Overlapping expiry dates on tags [#4537](https://github.com/nextcloud/deck/pull/4537)
|
|
||||||
- Better display of card dates (creation and change dates) [#4619](https://github.com/nextcloud/deck/pull/4619)
|
|
||||||
- Update dependencies
|
|
||||||
|
|
||||||
## 1.9.0
|
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- Live updates on board collaboration using notify_push @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
|
- Import deck json files through occ @juliushaertl [#5003](https://github.com/nextcloud/deck/pull/5003)
|
||||||
- Basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
|
- Create new card via smart picker [#5000](https://github.com/nextcloud/deck/pull/5000)
|
||||||
- Use text as editor if available [#4399](https://github.com/nextcloud/deck/pull/4399)
|
|
||||||
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
|
### Fixed
|
||||||
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
|
|
||||||
- Optimize query performance with larger board or card count @[#4452](https://github.com/nextcloud/deck/pull/4452)
|
- Fix(occ): set user id for permission sevice from board service [#4813](https://github.com/nextcloud/deck/pull/4813)
|
||||||
- Export Board as CSV @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
|
- fix: Allow dynamic autoloading for classes added during upgrade [#4804](https://github.com/nextcloud/deck/pull/4804)
|
||||||
|
- fix(notification): Prevent null in parameters [#4909](https://github.com/nextcloud/deck/pull/4909)
|
||||||
|
- fix: Split query to fetch board ids to avoid slow query join @juliushaertl [#4949](https://github.com/nextcloud/deck/pull/4949)
|
||||||
|
- fix: execute return int for export command [#4811](https://github.com/nextcloud/deck/pull/4811)
|
||||||
|
- fix: crash when leaving out system parameter [#4831](https://github.com/nextcloud/deck/pull/4831)
|
||||||
|
|
||||||
|
## 1.10.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Compatibility with Nextcloud 27
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fix: Properly overwrite z-index of datepicker above modal @juliushaertl [#4664](https://github.com/nextcloud/deck/pull/4664)
|
||||||
|
- Use the color-primary-element* variables @szaimen [#4673](https://github.com/nextcloud/deck/pull/4673)
|
||||||
|
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
|
||||||
|
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
|
||||||
|
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
|
||||||
|
- Gracefully handle not found card for a share @mejo- [#4566](https://github.com/nextcloud/deck/pull/4566)
|
||||||
|
- Prevent tag itself being edit button if user lacks permissions @joshtrichards [#4574](https://github.com/nextcloud/deck/pull/4574)
|
||||||
|
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4586](https://github.com/nextcloud/deck/pull/4586)
|
||||||
|
- Update Description.vue: Fixes the issue of hidden text by menu bar @pschopen [#4617](https://github.com/nextcloud/deck/pull/4617)
|
||||||
|
- allow user to toggle visibility of the calendar for a deck board @schiessle [#4622](https://github.com/nextcloud/deck/pull/4622)
|
||||||
|
- fix: Append datetime picker to body to avoid cut off @juliushaertl [#4643](https://github.com/nextcloud/deck/pull/4643)
|
||||||
|
- fix: Bring back overdue column by removing faulty condition @juliushaertl [#4660](https://github.com/nextcloud/deck/pull/4660)
|
||||||
|
- fix(sessions): Do not send close request without token @juliushaertl [#4510](https://github.com/nextcloud/deck/pull/4510)
|
||||||
|
- tests(integration): Add test for multiple board shares to the same user @juliushaertl [#4494](https://github.com/nextcloud/deck/pull/4494)
|
||||||
|
- fix(API): Fix board API details parameter to work as expected @nickvergessen [#4518](https://github.com/nextcloud/deck/pull/4518)
|
||||||
|
- Fix : Overlapping expiry dates on tags @Jerome-Herbinet [#4535](https://github.com/nextcloud/deck/pull/4535)
|
||||||
|
- Fix consistency of a "Create card" wording with its equivalent for Notes ("New card") @Jerome-Herbinet [#4534](https://github.com/nextcloud/deck/pull/4534)
|
||||||
|
- tests(integration): Add integration tests for due dates @juliushaertl [#4489](https://github.com/nextcloud/deck/pull/4489)
|
||||||
|
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
|
||||||
|
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
|
||||||
|
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
|
||||||
|
- Dependency updates
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- feat: Add devcontainer and update dev docs @juliushaertl [#4683](https://github.com/nextcloud/deck/pull/4683)
|
||||||
|
- chore(CI): Adjust testing matrix for Nextcloud 27 on stable27 @nickvergessen [#4691](https://github.com/nextcloud/deck/pull/4691)
|
||||||
|
|
||||||
|
## 1.9.0-beta.1
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Export Board @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
|
||||||
|
- basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
|
||||||
|
- feat(Description): Use text as editor if available @juliushaertl [#4399](https://github.com/nextcloud/deck/pull/4399)
|
||||||
|
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
|
||||||
|
- live updates 🎉 @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
|
||||||
|
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fix(cards): Fix card sizing by limiting too wide style rules [#4521](https://github.com/nextcloud/deck/pull/4521)
|
|
||||||
- fix(references): Mute NoPermissionException as it is expected to happen for references [#4516](https://github.com/nextcloud/deck/pull/4516)
|
|
||||||
- fix(API): Fix board API details parameter to work as expected [#4519](https://github.com/nextcloud/deck/pull/4519)
|
|
||||||
- fix(sessions): Do not send close request without token [#4525](https://github.com/nextcloud/deck/pull/4525)
|
|
||||||
- fix: Avoid mutating the due date when calculating days @juliushaertl [#4488](https://github.com/nextcloud/deck/pull/4488)
|
|
||||||
- fix: Pass user id along to properly check permissions in background jobs @juliushaertl [#4485](https://github.com/nextcloud/deck/pull/4485)
|
|
||||||
- fix: Use passed userid when getting attachment folder @juliushaertl [#4487](https://github.com/nextcloud/deck/pull/4487)
|
|
||||||
- fix: Use proper z-index for text menubar @juliushaertl [#4490](https://github.com/nextcloud/deck/pull/4490)
|
|
||||||
- fix(dashboard): Fix undefined array index @marcelklehr [#4492](https://github.com/nextcloud/deck/pull/4492)
|
|
||||||
- fix: Always return sorted index array to make sure a json array is the result @juliushaertl [#4493](https://github.com/nextcloud/deck/pull/4493)
|
|
||||||
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
|
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
|
||||||
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
|
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
|
||||||
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
|
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
|
||||||
@@ -106,6 +141,10 @@ All notable changes to this project will be documented in this file.
|
|||||||
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
|
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
|
||||||
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
|
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
|
||||||
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
|
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
|
||||||
|
- Performance boost @juliushaertl [#4452](https://github.com/nextcloud/deck/pull/4452)
|
||||||
|
|
||||||
|
### Other
|
||||||
|
- Dependency updates
|
||||||
|
|
||||||
|
|
||||||
## 1.8.0-beta.1
|
## 1.8.0-beta.1
|
||||||
|
|||||||
98
README.md
98
README.md
@@ -30,24 +30,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
|
|||||||
|
|
||||||
## Installation/Update
|
## Installation/Update
|
||||||
|
|
||||||
This app is supposed to work on the two latest Nextcloud versions.
|
The app can be installed through the app store within Nextcloud. You can also download the latest release from the [release page](https://github.com/nextcloud-releases/deck/releases).
|
||||||
|
|
||||||
### Install latest release
|
|
||||||
|
|
||||||
You can download and install the latest release from the [Nextcloud app store](https://apps.nextcloud.com/apps/deck)
|
|
||||||
|
|
||||||
### 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:
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone https://github.com/nextcloud/deck.git
|
|
||||||
cd deck
|
|
||||||
make install-deps
|
|
||||||
make build
|
|
||||||
```
|
|
||||||
|
|
||||||
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl, composer`
|
|
||||||
|
|
||||||
## Performance limitations
|
## Performance limitations
|
||||||
|
|
||||||
@@ -62,42 +45,55 @@ Improvements on Nextcloud server and Deck itself will improve the situation.
|
|||||||
|
|
||||||
## Developing
|
## Developing
|
||||||
|
|
||||||
### Nextcloud environment
|
There are multiple ways to develop on Deck. As you will need a Nextcloud server running, the individual options are described below.
|
||||||
|
|
||||||
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
|
### General build instructions
|
||||||
|
|
||||||
|
General build instructions for the app itself are the same for all options.
|
||||||
|
|
||||||
|
To build you will need to have [Node.js](https://nodejs.org/en/) and [Composer](https://getcomposer.org/) installed.
|
||||||
|
|
||||||
|
- Install PHP dependencies: `composer install --no-dev`
|
||||||
|
- Install JS dependencies: `npm ci`
|
||||||
|
- Build JavaScript for the frontend
|
||||||
|
- Development build `npm run dev`
|
||||||
|
- Watch for changes `npm run watch`
|
||||||
|
- Production build `npm run build`
|
||||||
|
|
||||||
|
### Faster frontend developing with HMR
|
||||||
|
|
||||||
|
You can enable HMR (Hot module replacement) to avoid page reloads when working on the frontend:
|
||||||
|
|
||||||
|
1. ☑️ Install and enable [`hmr_enabler` app](https://github.com/nextcloud/hmr_enabler)
|
||||||
|
2. 🏁 Run `npm run serve`
|
||||||
|
3. 🌍 Open the normal Nextcloud server URL (not the URL given by above command)
|
||||||
|
|
||||||
|
### GitHub Codespaces / VS Code devcontainer
|
||||||
|
|
||||||
|
- Open code spaces or the repository in VS Code to start the dev container
|
||||||
|
- The container will automatically install all dependencies and build the app
|
||||||
|
- Nextcloud will be installed from the master development branch and be available on a port exposed by the container
|
||||||
|
|
||||||
|
### Docker: Simple app development container
|
||||||
|
|
||||||
|
- Fork the app
|
||||||
|
- Clone the repository: `git clone https://github.com/nextcloud/deck.git`
|
||||||
|
- Go into deck directory: `cd deck`
|
||||||
|
- Build the app as described in the general build instructions
|
||||||
|
- Run Nextcloud development container and mount the apps source code into it
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run --rm \
|
||||||
|
-p 8080:80 \
|
||||||
|
-v ~/path/to/app:/var/www/html/apps-extra/app \
|
||||||
|
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### Full Nextcloud development environment
|
||||||
|
|
||||||
|
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current Nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
|
||||||
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
|
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
|
||||||
|
|
||||||
### PHP
|
|
||||||
|
|
||||||
Nothing to prepare, just dig into the code.
|
|
||||||
|
|
||||||
### JavaScript
|
|
||||||
|
|
||||||
This requires at least Node 16 and npm 7 to be installed.
|
|
||||||
|
|
||||||
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
|
|
||||||
|
|
||||||
#### Hot reloading
|
|
||||||
|
|
||||||
Enable debug mode in your config.php `'debug' => true,`
|
|
||||||
|
|
||||||
Without SSL:
|
|
||||||
```
|
|
||||||
npx webpack-dev-server --config webpack.hot.js \
|
|
||||||
--public localhost:3000 \
|
|
||||||
--output-public-path 'http://localhost:3000/js/'
|
|
||||||
```
|
|
||||||
|
|
||||||
With SSL:
|
|
||||||
```
|
|
||||||
npx webpack-dev-server --config webpack.dev.js --https \
|
|
||||||
--cert ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.crt \
|
|
||||||
--key ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.key \
|
|
||||||
--public nextcloud.local:3000 \
|
|
||||||
--output-public-path 'https://nextcloud.local:3000/js/'
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
You can use the provided Makefile to run all tests by using:
|
You can use the provided Makefile to run all tests by using:
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>1.9.7</version>
|
<version>1.11.3</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<documentation>
|
<documentation>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<database min-version="9.4">pgsql</database>
|
<database min-version="9.4">pgsql</database>
|
||||||
<database>sqlite</database>
|
<database>sqlite</database>
|
||||||
<database min-version="8.0">mysql</database>
|
<database min-version="8.0">mysql</database>
|
||||||
<nextcloud min-version="26" max-version="26"/>
|
<nextcloud min-version="27" max-version="27"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<background-jobs>
|
<background-jobs>
|
||||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||||
|
|||||||
@@ -9,17 +9,15 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"cogpowered/finediff": "0.3.*",
|
|
||||||
"justinrainbow/json-schema": "^5.2"
|
"justinrainbow/json-schema": "^5.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"roave/security-advisories": "dev-master",
|
"roave/security-advisories": "dev-master",
|
||||||
"phpunit/phpunit": "^9",
|
"phpunit/phpunit": "^9",
|
||||||
"nextcloud/coding-standard": "^1.0.0",
|
"nextcloud/coding-standard": "^1.1",
|
||||||
"symfony/event-dispatcher": "^4.0",
|
"psalm/phar": "^5.13",
|
||||||
"vimeo/psalm": "^5.4",
|
|
||||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
"nextcloud/ocp": "dev-stable26"
|
"nextcloud/ocp": "dev-stable27"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
@@ -34,9 +32,9 @@
|
|||||||
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
||||||
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
||||||
"cs:fix": "php-cs-fixer fix",
|
"cs:fix": "php-cs-fixer fix",
|
||||||
"psalm": "psalm",
|
"psalm": "psalm.phar",
|
||||||
"psalm:update-baseline": "psalm --update-baseline",
|
"psalm:update-baseline": "psalm.phar --update-baseline",
|
||||||
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
|
"psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
|
||||||
"test": [
|
"test": [
|
||||||
"@test:unit",
|
"@test:unit",
|
||||||
"@test:integration"
|
"@test:integration"
|
||||||
|
|||||||
3653
composer.lock
generated
3653
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -58,6 +58,31 @@ describe('Card', function() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Create card from overview', function() {
|
||||||
|
cy.visit(`/apps/deck/#/`)
|
||||||
|
const newCardTitle = 'Test create from overview'
|
||||||
|
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
|
||||||
|
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
|
||||||
|
|
||||||
|
cy.get('.button-vue[aria-label*="Add card"]')
|
||||||
|
.first().click()
|
||||||
|
cy.get('.modal-mask.card-selector .card-title').should('be.visible').click().type(newCardTitle)
|
||||||
|
cy.get('.modal-mask.card-selector .multiselect-board').should('be.visible').click()
|
||||||
|
cy.get('.modal-mask.card-selector .multiselect-board li:contains("' + boardData.title + '")').should('be.visible').click()
|
||||||
|
cy.wait('@getBoard', { timeout: 7000 })
|
||||||
|
|
||||||
|
cy.get('.modal-mask.card-selector .multiselect-list').should('be.visible').click()
|
||||||
|
cy.get('.modal-mask.card-selector .multiselect-list li').eq(0).should('be.visible').click()
|
||||||
|
cy.get('.modal-mask.card-selector button.button-vue--vue-primary').should('be.visible').click()
|
||||||
|
cy.wait('@save', { timeout: 7000 })
|
||||||
|
|
||||||
|
cy.visit(`/apps/deck/#/board/${boardId}`)
|
||||||
|
cy.reload()
|
||||||
|
cy.get('.board .stack').eq(0).within(() => {
|
||||||
|
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
describe('Modal', () => {
|
describe('Modal', () => {
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
cy.login(user)
|
cy.login(user)
|
||||||
@@ -110,6 +135,33 @@ describe('Card', function() {
|
|||||||
cy.get('.modal__card .ProseMirror li').eq(1).contains('with entries').should('be.visible')
|
cy.get('.modal__card .ProseMirror li').eq(1).contains('with entries').should('be.visible')
|
||||||
cy.get('.modal__card .ProseMirror p').contains('Paragraph').should('be.visible')
|
cy.get('.modal__card .ProseMirror p').contains('Paragraph').should('be.visible')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Smart picker', () => {
|
||||||
|
const newCardTitle = 'Test smart picker'
|
||||||
|
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
|
||||||
|
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
|
||||||
|
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
||||||
|
cy.get('.modal__card').should('be.visible')
|
||||||
|
cy.get('.modal__card .ProseMirror h1')
|
||||||
|
.click()
|
||||||
|
.type('{enter}/create')
|
||||||
|
cy.get('.suggestion-list__item.is-selected').should('be.visible').contains('Create a new deck card')
|
||||||
|
cy.get('.suggestion-list__item.is-selected .link-picker__item').click()
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker').should('be.visible')
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker').contains('Create a new card')
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click().type(newCardTitle)
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').contains(boardData.title)
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').contains(boardData.stacks[0].title)
|
||||||
|
cy.get('.reference-picker-modal--content .reference-picker button.button-vue--vue-primary').should('be.visible').click()
|
||||||
|
cy.wait('@save', { timeout: 7000 })
|
||||||
|
cy.get('.modal__card .ProseMirror').contains('/index.php/apps/deck/card/').should('be.visible')
|
||||||
|
|
||||||
|
cy.visit(`/apps/deck/#/board/${boardId}`)
|
||||||
|
cy.reload()
|
||||||
|
cy.get('.board .stack').eq(0).within(() => {
|
||||||
|
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
||||||
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('Sidebar', () => {
|
describe('Sidebar', () => {
|
||||||
|
|||||||
16
l10n/ar.js
16
l10n/ar.js
@@ -85,14 +85,14 @@ OC.L10N.register(
|
|||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
||||||
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||||
"Deck board" : "رقعة رِزم البطاقات Deck board",
|
"Deck board" : "لوح Deck",
|
||||||
"Owned by %1$s" : "يملكها %1$s",
|
"Owned by %1$s" : "يملكها %1$s",
|
||||||
"Deck boards, cards and comments" : "رُقعة الرِّزَم و البطاقات و الملاحظات",
|
"Deck boards, cards and comments" : "ألواح الرٌّقعة و البطاقات و الملاحظات",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||||
"Create a new deck card" : "إنشاء بطاقة deck card جديدة",
|
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
||||||
"Card comments" : "تعليقات البطاقة ",
|
"Card comments" : "تعليقات البطاقة ",
|
||||||
"%s on %s" : "%s على %s",
|
"%s on %s" : "%s على %s",
|
||||||
"Deck boards and cards" : "رُقَع الرِّزَم و البطاقات",
|
"Deck boards and cards" : "ألواح الرُّقعة و البطاقات",
|
||||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||||
"Finished" : "اكتمل",
|
"Finished" : "اكتمل",
|
||||||
"To review" : "لإعادة المراجعة",
|
"To review" : "لإعادة المراجعة",
|
||||||
@@ -119,7 +119,7 @@ OC.L10N.register(
|
|||||||
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
||||||
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق Deck \"الرُّقعة\" هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||||
"Add board" : "إضافة لوح",
|
"Add board" : "إضافة لوح",
|
||||||
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
||||||
"Search by board title" : "بحث بواسطة عنوان اللوح",
|
"Search by board title" : "بحث بواسطة عنوان اللوح",
|
||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "البطاقة حٌذفت ",
|
"Card deleted" : "البطاقة حٌذفت ",
|
||||||
"seconds ago" : "ثوانٍ مضت",
|
"seconds ago" : "ثوانٍ مضت",
|
||||||
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "ضاعِف إنتاجيتك باستعمال \"رزمة البطاقات\" Deck، و اختصارات لوحة المفاتيح ",
|
"Speed up using Deck with simple shortcuts." : "سرِّع التعامل مع الرقعة باستعمال الاختصارات البسيطة.",
|
||||||
"Board actions" : "إجراءات الرقعة",
|
"Board actions" : "إجراءات الرقعة",
|
||||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||||
"Action" : "الإجراء",
|
"Action" : "الإجراء",
|
||||||
@@ -306,7 +306,7 @@ OC.L10N.register(
|
|||||||
"All boards" : "جميع الالواح",
|
"All boards" : "جميع الالواح",
|
||||||
"Archived boards" : "الالواح المؤرشفة",
|
"Archived boards" : "الالواح المؤرشفة",
|
||||||
"Shared with you" : "تم مشاركتها معك",
|
"Shared with you" : "تم مشاركتها معك",
|
||||||
"Deck settings" : "إعدادات رِزَمِ البطاقات",
|
"Deck settings" : "إعدادات الرُّقعة",
|
||||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||||
@@ -338,7 +338,7 @@ OC.L10N.register(
|
|||||||
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
||||||
"No results found" : "لا يتم العثور على أي نتائج ",
|
"No results found" : "لا يتم العثور على أي نتائج ",
|
||||||
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "اسم اللوح {name} \n* آخر تعديل له في {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} في {board}",
|
"{stack} in {board}" : "{stack} في {board}",
|
||||||
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
||||||
|
|||||||
16
l10n/ar.json
16
l10n/ar.json
@@ -83,14 +83,14 @@
|
|||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} أشار إليك في تعليق على {deck-card}",
|
||||||
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||||
"Deck board" : "رقعة رِزم البطاقات Deck board",
|
"Deck board" : "لوح Deck",
|
||||||
"Owned by %1$s" : "يملكها %1$s",
|
"Owned by %1$s" : "يملكها %1$s",
|
||||||
"Deck boards, cards and comments" : "رُقعة الرِّزَم و البطاقات و الملاحظات",
|
"Deck boards, cards and comments" : "ألواح الرٌّقعة و البطاقات و الملاحظات",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||||
"Create a new deck card" : "إنشاء بطاقة deck card جديدة",
|
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
||||||
"Card comments" : "تعليقات البطاقة ",
|
"Card comments" : "تعليقات البطاقة ",
|
||||||
"%s on %s" : "%s على %s",
|
"%s on %s" : "%s على %s",
|
||||||
"Deck boards and cards" : "رُقَع الرِّزَم و البطاقات",
|
"Deck boards and cards" : "ألواح الرُّقعة و البطاقات",
|
||||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||||
"Finished" : "اكتمل",
|
"Finished" : "اكتمل",
|
||||||
"To review" : "لإعادة المراجعة",
|
"To review" : "لإعادة المراجعة",
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
|
||||||
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق \"رِزَم البطاقات\" Deck هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "التطبيق Deck \"الرُّقعة\" هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
|
||||||
"Add board" : "إضافة لوح",
|
"Add board" : "إضافة لوح",
|
||||||
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
|
||||||
"Search by board title" : "بحث بواسطة عنوان اللوح",
|
"Search by board title" : "بحث بواسطة عنوان اللوح",
|
||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "البطاقة حٌذفت ",
|
"Card deleted" : "البطاقة حٌذفت ",
|
||||||
"seconds ago" : "ثوانٍ مضت",
|
"seconds ago" : "ثوانٍ مضت",
|
||||||
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "ضاعِف إنتاجيتك باستعمال \"رزمة البطاقات\" Deck، و اختصارات لوحة المفاتيح ",
|
"Speed up using Deck with simple shortcuts." : "سرِّع التعامل مع الرقعة باستعمال الاختصارات البسيطة.",
|
||||||
"Board actions" : "إجراءات الرقعة",
|
"Board actions" : "إجراءات الرقعة",
|
||||||
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
"Keyboard shortcut" : "إختصار لوحة المفاتيح",
|
||||||
"Action" : "الإجراء",
|
"Action" : "الإجراء",
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
"All boards" : "جميع الالواح",
|
"All boards" : "جميع الالواح",
|
||||||
"Archived boards" : "الالواح المؤرشفة",
|
"Archived boards" : "الالواح المؤرشفة",
|
||||||
"Shared with you" : "تم مشاركتها معك",
|
"Shared with you" : "تم مشاركتها معك",
|
||||||
"Deck settings" : "إعدادات رِزَمِ البطاقات",
|
"Deck settings" : "إعدادات الرُّقعة",
|
||||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||||
@@ -336,7 +336,7 @@
|
|||||||
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
||||||
"No results found" : "لا يتم العثور على أي نتائج ",
|
"No results found" : "لا يتم العثور على أي نتائج ",
|
||||||
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "اسم اللوح {name} \n* آخر تعديل له في {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} في {board}",
|
"{stack} in {board}" : "{stack} في {board}",
|
||||||
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ OC.L10N.register(
|
|||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
||||||
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
||||||
"Missing a temporary folder" : "Falta una carpeta temporal",
|
|
||||||
"Could not write file to disk" : "Nun se pudo escribir el ficheru nel discu",
|
|
||||||
"A PHP extension stopped the file upload" : "Una estensión PHP paró la xuba de ficheros",
|
|
||||||
"Cancel" : "Encaboxar",
|
"Cancel" : "Encaboxar",
|
||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Sharing" : "Comparticiñon",
|
"Sharing" : "Comparticiñon",
|
||||||
|
|||||||
@@ -4,9 +4,6 @@
|
|||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
||||||
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
||||||
"Missing a temporary folder" : "Falta una carpeta temporal",
|
|
||||||
"Could not write file to disk" : "Nun se pudo escribir el ficheru nel discu",
|
|
||||||
"A PHP extension stopped the file upload" : "Una estensión PHP paró la xuba de ficheros",
|
|
||||||
"Cancel" : "Encaboxar",
|
"Cancel" : "Encaboxar",
|
||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Sharing" : "Comparticiñon",
|
"Sharing" : "Comparticiñon",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Targeta suprimida",
|
"Card deleted" : "Targeta suprimida",
|
||||||
"seconds ago" : "fa uns segons",
|
"seconds ago" : "fa uns segons",
|
||||||
"Keyboard shortcuts" : "Dreceres de teclat",
|
"Keyboard shortcuts" : "Dreceres de teclat",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Accelera l'ús de Targetes amb dreceres senzilles.",
|
||||||
"Board actions" : "Accions de Tauler",
|
"Board actions" : "Accions de Tauler",
|
||||||
"Keyboard shortcut" : "Drecera de teclat",
|
"Keyboard shortcut" : "Drecera de teclat",
|
||||||
"Action" : "Acció",
|
"Action" : "Acció",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Targeta suprimida",
|
"Card deleted" : "Targeta suprimida",
|
||||||
"seconds ago" : "fa uns segons",
|
"seconds ago" : "fa uns segons",
|
||||||
"Keyboard shortcuts" : "Dreceres de teclat",
|
"Keyboard shortcuts" : "Dreceres de teclat",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Accelera l'ús de Targetes amb dreceres senzilles.",
|
||||||
"Board actions" : "Accions de Tauler",
|
"Board actions" : "Accions de Tauler",
|
||||||
"Keyboard shortcut" : "Drecera de teclat",
|
"Keyboard shortcut" : "Drecera de teclat",
|
||||||
"Action" : "Acció",
|
"Action" : "Acció",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Karta smazána",
|
"Card deleted" : "Karta smazána",
|
||||||
"seconds ago" : "před několika sekundami",
|
"seconds ago" : "před několika sekundami",
|
||||||
"Keyboard shortcuts" : "Klávesové zkratky",
|
"Keyboard shortcuts" : "Klávesové zkratky",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Zrychlete si používání Deck snadnými zkratkami.",
|
||||||
"Board actions" : "Akce ohledně tabule",
|
"Board actions" : "Akce ohledně tabule",
|
||||||
"Keyboard shortcut" : "Klávesová zkratka",
|
"Keyboard shortcut" : "Klávesová zkratka",
|
||||||
"Action" : "Akce",
|
"Action" : "Akce",
|
||||||
@@ -290,7 +291,6 @@ OC.L10N.register(
|
|||||||
"Clear card filters" : "Vyčistit filtry karty",
|
"Clear card filters" : "Vyčistit filtry karty",
|
||||||
"Show help dialog" : "Zobrazit dialog nápovědy",
|
"Show help dialog" : "Zobrazit dialog nápovědy",
|
||||||
"Card actions" : "Akce ohledně karty",
|
"Card actions" : "Akce ohledně karty",
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Na právě zvýrazněné kartě je možné spustit následující akce",
|
|
||||||
"Enter" : "Konec řádku",
|
"Enter" : "Konec řádku",
|
||||||
"Space" : "Mezera",
|
"Space" : "Mezera",
|
||||||
"Open card details" : "Otevřít podrobnosti o kartě",
|
"Open card details" : "Otevřít podrobnosti o kartě",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Karta smazána",
|
"Card deleted" : "Karta smazána",
|
||||||
"seconds ago" : "před několika sekundami",
|
"seconds ago" : "před několika sekundami",
|
||||||
"Keyboard shortcuts" : "Klávesové zkratky",
|
"Keyboard shortcuts" : "Klávesové zkratky",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Zrychlete si používání Deck snadnými zkratkami.",
|
||||||
"Board actions" : "Akce ohledně tabule",
|
"Board actions" : "Akce ohledně tabule",
|
||||||
"Keyboard shortcut" : "Klávesová zkratka",
|
"Keyboard shortcut" : "Klávesová zkratka",
|
||||||
"Action" : "Akce",
|
"Action" : "Akce",
|
||||||
@@ -288,7 +289,6 @@
|
|||||||
"Clear card filters" : "Vyčistit filtry karty",
|
"Clear card filters" : "Vyčistit filtry karty",
|
||||||
"Show help dialog" : "Zobrazit dialog nápovědy",
|
"Show help dialog" : "Zobrazit dialog nápovědy",
|
||||||
"Card actions" : "Akce ohledně karty",
|
"Card actions" : "Akce ohledně karty",
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Na právě zvýrazněné kartě je možné spustit následující akce",
|
|
||||||
"Enter" : "Konec řádku",
|
"Enter" : "Konec řádku",
|
||||||
"Space" : "Mezera",
|
"Space" : "Mezera",
|
||||||
"Open card details" : "Otevřít podrobnosti o kartě",
|
"Open card details" : "Otevřít podrobnosti o kartě",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Karte gelöscht",
|
"Card deleted" : "Karte gelöscht",
|
||||||
"seconds ago" : "Gerade eben",
|
"seconds ago" : "Gerade eben",
|
||||||
"Keyboard shortcuts" : "Tastaturkürzel",
|
"Keyboard shortcuts" : "Tastaturkürzel",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Erhöhe mit Tastaturkürzeln deine Produktivität in Deck.",
|
"Speed up using Deck with simple shortcuts." : "Beschleunige die Verwendung von Deck mit einfachen Tastaturkürzeln.",
|
||||||
"Board actions" : "Boardaktionen",
|
"Board actions" : "Boardaktionen",
|
||||||
"Keyboard shortcut" : "Tastaturkürzel",
|
"Keyboard shortcut" : "Tastaturkürzel",
|
||||||
"Action" : "Aktion",
|
"Action" : "Aktion",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Karte gelöscht",
|
"Card deleted" : "Karte gelöscht",
|
||||||
"seconds ago" : "Gerade eben",
|
"seconds ago" : "Gerade eben",
|
||||||
"Keyboard shortcuts" : "Tastaturkürzel",
|
"Keyboard shortcuts" : "Tastaturkürzel",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Erhöhe mit Tastaturkürzeln deine Produktivität in Deck.",
|
"Speed up using Deck with simple shortcuts." : "Beschleunige die Verwendung von Deck mit einfachen Tastaturkürzeln.",
|
||||||
"Board actions" : "Boardaktionen",
|
"Board actions" : "Boardaktionen",
|
||||||
"Keyboard shortcut" : "Tastaturkürzel",
|
"Keyboard shortcut" : "Tastaturkürzel",
|
||||||
"Action" : "Aktion",
|
"Action" : "Aktion",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Karte gelöscht",
|
"Card deleted" : "Karte gelöscht",
|
||||||
"seconds ago" : "Gerade eben",
|
"seconds ago" : "Gerade eben",
|
||||||
"Keyboard shortcuts" : "Tastaturkürzel",
|
"Keyboard shortcuts" : "Tastaturkürzel",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Steigern Sie Ihre Produktivität in Deck mit Tastaturkürzeln.",
|
"Speed up using Deck with simple shortcuts." : "Beschleunigen Sie die Verwendung von Deck mit einfachen Tastaturkürzeln.",
|
||||||
"Board actions" : "Board-Aktionen",
|
"Board actions" : "Board-Aktionen",
|
||||||
"Keyboard shortcut" : "Tastaturkürzel",
|
"Keyboard shortcut" : "Tastaturkürzel",
|
||||||
"Action" : "Aktion",
|
"Action" : "Aktion",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Karte gelöscht",
|
"Card deleted" : "Karte gelöscht",
|
||||||
"seconds ago" : "Gerade eben",
|
"seconds ago" : "Gerade eben",
|
||||||
"Keyboard shortcuts" : "Tastaturkürzel",
|
"Keyboard shortcuts" : "Tastaturkürzel",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Steigern Sie Ihre Produktivität in Deck mit Tastaturkürzeln.",
|
"Speed up using Deck with simple shortcuts." : "Beschleunigen Sie die Verwendung von Deck mit einfachen Tastaturkürzeln.",
|
||||||
"Board actions" : "Board-Aktionen",
|
"Board actions" : "Board-Aktionen",
|
||||||
"Keyboard shortcut" : "Tastaturkürzel",
|
"Keyboard shortcut" : "Tastaturkürzel",
|
||||||
"Action" : "Aktion",
|
"Action" : "Aktion",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Card deleted",
|
"Card deleted" : "Card deleted",
|
||||||
"seconds ago" : "seconds ago",
|
"seconds ago" : "seconds ago",
|
||||||
"Keyboard shortcuts" : "Keyboard shortcuts",
|
"Keyboard shortcuts" : "Keyboard shortcuts",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Boost your productivity using Deck with keyboard shortcuts.",
|
"Speed up using Deck with simple shortcuts." : "Speed up using Deck with simple shortcuts.",
|
||||||
"Board actions" : "Board actions",
|
"Board actions" : "Board actions",
|
||||||
"Keyboard shortcut" : "Keyboard shortcut",
|
"Keyboard shortcut" : "Keyboard shortcut",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Card deleted",
|
"Card deleted" : "Card deleted",
|
||||||
"seconds ago" : "seconds ago",
|
"seconds ago" : "seconds ago",
|
||||||
"Keyboard shortcuts" : "Keyboard shortcuts",
|
"Keyboard shortcuts" : "Keyboard shortcuts",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Boost your productivity using Deck with keyboard shortcuts.",
|
"Speed up using Deck with simple shortcuts." : "Speed up using Deck with simple shortcuts.",
|
||||||
"Board actions" : "Board actions",
|
"Board actions" : "Board actions",
|
||||||
"Keyboard shortcut" : "Keyboard shortcut",
|
"Keyboard shortcut" : "Keyboard shortcut",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ OC.L10N.register(
|
|||||||
"{user} has commented on card {card}" : "{user} ha comentado en {card}",
|
"{user} has commented on card {card}" : "{user} ha comentado en {card}",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Cambios en la <strong>app Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Cambios en la <strong>app Deck</strong>",
|
||||||
"A <strong>board, list or card</strong> was changed" : "Un <strong>tablero, lista o tarjeta</strong> fue cambiado/a",
|
"A <strong>board, list or card</strong> was changed" : "Un <strong>tablero, lista o tarjeta</strong> fue cambiada",
|
||||||
"A <strong>comment</strong> was created on a card" : "Un <strong>comentario</strong> ha sido creado en una tarjeta",
|
"A <strong>comment</strong> was created on a card" : "Un <strong>comentario</strong> ha sido creado en una tarjeta",
|
||||||
"A <strong>card description</strong> has been changed" : "Una <strong>descripción de tarjeta</strong> ha sido cambiada",
|
"A <strong>card description</strong> has been changed" : "Una <strong>descripción de tarjeta</strong> ha sido cambiada",
|
||||||
"Cards due today" : "Tarjetas que vencen hoy",
|
"Cards due today" : "Tarjetas que vencen hoy",
|
||||||
@@ -246,7 +246,7 @@ OC.L10N.register(
|
|||||||
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
||||||
"Set a due date" : "Fijar una fecha límite",
|
"Set a due date" : "Fijar una fecha límite",
|
||||||
"Add due date" : "Añadir fecha de vencimiento",
|
"Add due date" : "Añadir fecha de vencimiento",
|
||||||
"Choose a date" : "Elija una fecha",
|
"Choose a date" : "Elige una fecha",
|
||||||
"Remove due date" : "Eliminar fecha límite",
|
"Remove due date" : "Eliminar fecha límite",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
"Due at:" : "Vence el:",
|
"Due at:" : "Vence el:",
|
||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Tarjeta borrada",
|
"Card deleted" : "Tarjeta borrada",
|
||||||
"seconds ago" : "hace unos segundos",
|
"seconds ago" : "hace unos segundos",
|
||||||
"Keyboard shortcuts" : "Atajos de teclado",
|
"Keyboard shortcuts" : "Atajos de teclado",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Aumente su productividad utilizando Deck con atajos de teclado.",
|
"Speed up using Deck with simple shortcuts." : "Acelera usando Deck con atajos simples.",
|
||||||
"Board actions" : "Acciones del tablero",
|
"Board actions" : "Acciones del tablero",
|
||||||
"Keyboard shortcut" : "Atajo de teclado",
|
"Keyboard shortcut" : "Atajo de teclado",
|
||||||
"Action" : "Acción",
|
"Action" : "Acción",
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
"{user} has commented on card {card}" : "{user} ha comentado en {card}",
|
"{user} has commented on card {card}" : "{user} ha comentado en {card}",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Cambios en la <strong>app Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Cambios en la <strong>app Deck</strong>",
|
||||||
"A <strong>board, list or card</strong> was changed" : "Un <strong>tablero, lista o tarjeta</strong> fue cambiado/a",
|
"A <strong>board, list or card</strong> was changed" : "Un <strong>tablero, lista o tarjeta</strong> fue cambiada",
|
||||||
"A <strong>comment</strong> was created on a card" : "Un <strong>comentario</strong> ha sido creado en una tarjeta",
|
"A <strong>comment</strong> was created on a card" : "Un <strong>comentario</strong> ha sido creado en una tarjeta",
|
||||||
"A <strong>card description</strong> has been changed" : "Una <strong>descripción de tarjeta</strong> ha sido cambiada",
|
"A <strong>card description</strong> has been changed" : "Una <strong>descripción de tarjeta</strong> ha sido cambiada",
|
||||||
"Cards due today" : "Tarjetas que vencen hoy",
|
"Cards due today" : "Tarjetas que vencen hoy",
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
||||||
"Set a due date" : "Fijar una fecha límite",
|
"Set a due date" : "Fijar una fecha límite",
|
||||||
"Add due date" : "Añadir fecha de vencimiento",
|
"Add due date" : "Añadir fecha de vencimiento",
|
||||||
"Choose a date" : "Elija una fecha",
|
"Choose a date" : "Elige una fecha",
|
||||||
"Remove due date" : "Eliminar fecha límite",
|
"Remove due date" : "Eliminar fecha límite",
|
||||||
"Completed" : "Completado",
|
"Completed" : "Completado",
|
||||||
"Due at:" : "Vence el:",
|
"Due at:" : "Vence el:",
|
||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Tarjeta borrada",
|
"Card deleted" : "Tarjeta borrada",
|
||||||
"seconds ago" : "hace unos segundos",
|
"seconds ago" : "hace unos segundos",
|
||||||
"Keyboard shortcuts" : "Atajos de teclado",
|
"Keyboard shortcuts" : "Atajos de teclado",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Aumente su productividad utilizando Deck con atajos de teclado.",
|
"Speed up using Deck with simple shortcuts." : "Acelera usando Deck con atajos simples.",
|
||||||
"Board actions" : "Acciones del tablero",
|
"Board actions" : "Acciones del tablero",
|
||||||
"Keyboard shortcut" : "Atajo de teclado",
|
"Keyboard shortcut" : "Atajo de teclado",
|
||||||
"Action" : "Acción",
|
"Action" : "Acción",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Txartela ezabatuta",
|
"Card deleted" : "Txartela ezabatuta",
|
||||||
"seconds ago" : "segundo lehenago",
|
"seconds ago" : "segundo lehenago",
|
||||||
"Keyboard shortcuts" : "Teklatuaren lasterbideak",
|
"Keyboard shortcuts" : "Teklatuaren lasterbideak",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Taulekiko ekintzak",
|
||||||
"Keyboard shortcut" : "Teklatuko lasterbidea",
|
"Keyboard shortcut" : "Teklatuko lasterbidea",
|
||||||
"Action" : "Ekintza",
|
"Action" : "Ekintza",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Txartela ezabatuta",
|
"Card deleted" : "Txartela ezabatuta",
|
||||||
"seconds ago" : "segundo lehenago",
|
"seconds ago" : "segundo lehenago",
|
||||||
"Keyboard shortcuts" : "Teklatuaren lasterbideak",
|
"Keyboard shortcuts" : "Teklatuaren lasterbideak",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Taulekiko ekintzak",
|
||||||
"Keyboard shortcut" : "Teklatuko lasterbidea",
|
"Keyboard shortcut" : "Teklatuko lasterbidea",
|
||||||
"Action" : "Ekintza",
|
"Action" : "Ekintza",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Carte supprimée",
|
"Card deleted" : "Carte supprimée",
|
||||||
"seconds ago" : "à l'instant",
|
"seconds ago" : "à l'instant",
|
||||||
"Keyboard shortcuts" : "Raccourcis clavier",
|
"Keyboard shortcuts" : "Raccourcis clavier",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Boostez votre productivité en utilisant Deck avec des raccourcis clavier.",
|
"Speed up using Deck with simple shortcuts." : "Accélérez votre utilisation de Deck en utilisant des raccourcis simples.",
|
||||||
"Board actions" : "Actions sur le tableau",
|
"Board actions" : "Actions sur le tableau",
|
||||||
"Keyboard shortcut" : "Raccourcis clavier",
|
"Keyboard shortcut" : "Raccourcis clavier",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Carte supprimée",
|
"Card deleted" : "Carte supprimée",
|
||||||
"seconds ago" : "à l'instant",
|
"seconds ago" : "à l'instant",
|
||||||
"Keyboard shortcuts" : "Raccourcis clavier",
|
"Keyboard shortcuts" : "Raccourcis clavier",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Boostez votre productivité en utilisant Deck avec des raccourcis clavier.",
|
"Speed up using Deck with simple shortcuts." : "Accélérez votre utilisation de Deck en utilisant des raccourcis simples.",
|
||||||
"Board actions" : "Actions sur le tableau",
|
"Board actions" : "Actions sur le tableau",
|
||||||
"Keyboard shortcut" : "Raccourcis clavier",
|
"Keyboard shortcut" : "Raccourcis clavier",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Tarxeta eliminada",
|
"Card deleted" : "Tarxeta eliminada",
|
||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"Keyboard shortcuts" : "Atallos de teclado",
|
"Keyboard shortcuts" : "Atallos de teclado",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Acelera o uso de Gabeta con atallos sinxelos.",
|
||||||
"Board actions" : "Accións de taboleiro",
|
"Board actions" : "Accións de taboleiro",
|
||||||
"Keyboard shortcut" : "Atallo de teclado",
|
"Keyboard shortcut" : "Atallo de teclado",
|
||||||
"Action" : "Acción",
|
"Action" : "Acción",
|
||||||
@@ -289,9 +290,9 @@ OC.L10N.register(
|
|||||||
"Close card details" : "Pechar os detalles da tarxeta",
|
"Close card details" : "Pechar os detalles da tarxeta",
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "Busca",
|
"Search" : "Busca",
|
||||||
"Show card filters" : "Amosar os filtros de tarxeta",
|
"Show card filters" : "Mostrar os filtros de tarxeta",
|
||||||
"Clear card filters" : "Limpar os filtros de tarxeta",
|
"Clear card filters" : "Limpar os filtros de tarxeta",
|
||||||
"Show help dialog" : "Amosar o diálogo de axuda",
|
"Show help dialog" : "Mostrar o diálogo de axuda",
|
||||||
"Card actions" : "Accións de tarxeta",
|
"Card actions" : "Accións de tarxeta",
|
||||||
"The following actions can be triggered on the currently highlighted card" : "As seguintes accións pódense activar na tarxeta resaltada actualmente",
|
"The following actions can be triggered on the currently highlighted card" : "As seguintes accións pódense activar na tarxeta resaltada actualmente",
|
||||||
"Enter" : "Introduza",
|
"Enter" : "Introduza",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Tarxeta eliminada",
|
"Card deleted" : "Tarxeta eliminada",
|
||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"Keyboard shortcuts" : "Atallos de teclado",
|
"Keyboard shortcuts" : "Atallos de teclado",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Acelera o uso de Gabeta con atallos sinxelos.",
|
||||||
"Board actions" : "Accións de taboleiro",
|
"Board actions" : "Accións de taboleiro",
|
||||||
"Keyboard shortcut" : "Atallo de teclado",
|
"Keyboard shortcut" : "Atallo de teclado",
|
||||||
"Action" : "Acción",
|
"Action" : "Acción",
|
||||||
@@ -287,9 +288,9 @@
|
|||||||
"Close card details" : "Pechar os detalles da tarxeta",
|
"Close card details" : "Pechar os detalles da tarxeta",
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "Busca",
|
"Search" : "Busca",
|
||||||
"Show card filters" : "Amosar os filtros de tarxeta",
|
"Show card filters" : "Mostrar os filtros de tarxeta",
|
||||||
"Clear card filters" : "Limpar os filtros de tarxeta",
|
"Clear card filters" : "Limpar os filtros de tarxeta",
|
||||||
"Show help dialog" : "Amosar o diálogo de axuda",
|
"Show help dialog" : "Mostrar o diálogo de axuda",
|
||||||
"Card actions" : "Accións de tarxeta",
|
"Card actions" : "Accións de tarxeta",
|
||||||
"The following actions can be triggered on the currently highlighted card" : "As seguintes accións pódense activar na tarxeta resaltada actualmente",
|
"The following actions can be triggered on the currently highlighted card" : "As seguintes accións pódense activar na tarxeta resaltada actualmente",
|
||||||
"Enter" : "Introduza",
|
"Enter" : "Introduza",
|
||||||
|
|||||||
73
l10n/it.js
73
l10n/it.js
@@ -37,10 +37,6 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archiviato la scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archiviato la scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Hai annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Hai annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"You have marked the card {card} as done in list {stack} on board {board}" : "Hai segnato la scheda {card} come fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} ha segnato la scheda {card} come fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "Hai segnato la scheda {card} come non fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} ha segnato la scheda {card} come non fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Hai rimosso la data di scadenza della scheda {card}",
|
"You have removed the due date of card {card}" : "Hai rimosso la data di scadenza della scheda {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} ha rimosso la data di scadenza dalla scheda {card}",
|
"{user} has removed the due date of card {card}" : "{user} ha rimosso la data di scadenza dalla scheda {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Hai impostato la data di scadenza della scheda {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Hai impostato la data di scadenza della scheda {card} a {after}",
|
||||||
@@ -69,11 +65,7 @@ OC.L10N.register(
|
|||||||
"{user} has commented on card {card}" : "{user} ha commentato sulla scheda {card}",
|
"{user} has commented on card {card}" : "{user} ha commentato sulla scheda {card}",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Modifiche nell'<strong>applicazione Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Modifiche nell'<strong>applicazione Deck</strong>",
|
||||||
"A <strong>board, list or card</strong> was changed" : "Una <strong>lavagna, lista o scheda</strong> è stata modificata",
|
|
||||||
"A <strong>comment</strong> was created on a card" : "Un <strong>commento</strong> è stato creato su una scheda",
|
"A <strong>comment</strong> was created on a card" : "Un <strong>commento</strong> è stato creato su una scheda",
|
||||||
"A <strong>card description</strong> has been changed" : "Una <strong>descrizione di scheda</strong> è stata modificata",
|
|
||||||
"Cards due today" : "Schede che scadono oggi",
|
|
||||||
"Cards due tomorrow" : "Schede che scadono domani",
|
|
||||||
"Upcoming cards" : "Prossime schede",
|
"Upcoming cards" : "Prossime schede",
|
||||||
"Load more" : "Carica altro",
|
"Load more" : "Carica altro",
|
||||||
"Personal" : "Personale",
|
"Personal" : "Personale",
|
||||||
@@ -86,13 +78,8 @@ OC.L10N.register(
|
|||||||
"The board \"%s\" has been shared with you by %s." : "La lavagna \"%s\" è stata condivisa con te da %s.",
|
"The board \"%s\" has been shared with you by %s." : "La lavagna \"%s\" è stata condivisa con te da %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} ha condiviso {deck-board} con te.",
|
"{user} has shared {deck-board} with you." : "{user} ha condiviso {deck-board} con te.",
|
||||||
"Deck board" : "Lavagna di Deck",
|
"Deck board" : "Lavagna di Deck",
|
||||||
"Owned by %1$s" : "Proprietario: %1$s",
|
|
||||||
"Deck boards, cards and comments" : "Lavagne, schede e commenti di Deck",
|
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Da %1$s, in %2$s/%3$s, proprietario %4$s",
|
|
||||||
"Create a new deck card" : "Crea una nuova scheda di Deck",
|
|
||||||
"Card comments" : "Commenti",
|
"Card comments" : "Commenti",
|
||||||
"%s on %s" : "%s su %s",
|
"%s on %s" : "%s su %s",
|
||||||
"Deck boards and cards" : "Lavagne e schede di Deck",
|
|
||||||
"No data was provided to create an attachment." : "Non è stato fornito alcun dato per creare un allegato.",
|
"No data was provided to create an attachment." : "Non è stato fornito alcun dato per creare un allegato.",
|
||||||
"Finished" : "Finito",
|
"Finished" : "Finito",
|
||||||
"To review" : "Da revisionare",
|
"To review" : "Da revisionare",
|
||||||
@@ -140,7 +127,6 @@ OC.L10N.register(
|
|||||||
"Archived cards" : "Schede archiviate",
|
"Archived cards" : "Schede archiviate",
|
||||||
"Add list" : "Aggiungi elenco",
|
"Add list" : "Aggiungi elenco",
|
||||||
"List name" : "Nome elenco",
|
"List name" : "Nome elenco",
|
||||||
"Active filters" : "Filtri attivi",
|
|
||||||
"Apply filter" : "Applica filtro",
|
"Apply filter" : "Applica filtro",
|
||||||
"Filter by tag" : "Filtra per etichette",
|
"Filter by tag" : "Filtra per etichette",
|
||||||
"Filter by assigned user" : "Filtra per utente assegnato",
|
"Filter by assigned user" : "Filtra per utente assegnato",
|
||||||
@@ -152,16 +138,11 @@ OC.L10N.register(
|
|||||||
"Next 30 days" : "30 giorni successivi",
|
"Next 30 days" : "30 giorni successivi",
|
||||||
"No due date" : "Nessuna data di scadenza",
|
"No due date" : "Nessuna data di scadenza",
|
||||||
"Clear filter" : "Pulisci il filtro",
|
"Clear filter" : "Pulisci il filtro",
|
||||||
"View Modes" : "Modalità di visualizzazione",
|
|
||||||
"Toggle View Modes" : "Cambia modalità di visualizzazione",
|
|
||||||
"Hide archived cards" : "Nascondi le schede archiviate",
|
"Hide archived cards" : "Nascondi le schede archiviate",
|
||||||
"Show archived cards" : "Mostra le carte archiviate",
|
"Show archived cards" : "Mostra le carte archiviate",
|
||||||
"Toggle compact mode" : "Commuta la modalità compatta",
|
"Toggle compact mode" : "Commuta la modalità compatta",
|
||||||
"Hide card cover images" : "Nascondi immagini di copertina della scheda",
|
|
||||||
"Show card cover images" : "Mostra immagini di copertina della scheda",
|
|
||||||
"Open details" : "Apri i dettagli",
|
"Open details" : "Apri i dettagli",
|
||||||
"Details" : "Dettagli",
|
"Details" : "Dettagli",
|
||||||
"Currently present people" : "Persone attualmente presenti",
|
|
||||||
"Loading board" : "Caricamento lavagna",
|
"Loading board" : "Caricamento lavagna",
|
||||||
"Board not found" : "Lavagna non trovata",
|
"Board not found" : "Lavagna non trovata",
|
||||||
"No lists available" : "Nessun elenco disponibile",
|
"No lists available" : "Nessun elenco disponibile",
|
||||||
@@ -185,17 +166,11 @@ OC.L10N.register(
|
|||||||
"Owner" : "Proprietario",
|
"Owner" : "Proprietario",
|
||||||
"Delete" : "Elimina",
|
"Delete" : "Elimina",
|
||||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "Sei sicuro di voler trasferire la lavagna {title} a {user}?",
|
|
||||||
"Transfer the board." : "Trasferisci la bacheca.",
|
"Transfer the board." : "Trasferisci la bacheca.",
|
||||||
"Transfer" : "Trasferisci",
|
"Transfer" : "Trasferisci",
|
||||||
"The board has been transferred to {user}" : "La lavagna è stata trasferita a {user}",
|
|
||||||
"Failed to transfer the board to {user}" : "Trasferimento della lavagna a {user} fallito",
|
|
||||||
"Edit list title" : "Modifica titolo elenco",
|
|
||||||
"Archive all cards" : "Archivia tutte le schede",
|
"Archive all cards" : "Archivia tutte le schede",
|
||||||
"Unarchive all cards" : "Recupera tutte le schede dall'archivio",
|
|
||||||
"Delete list" : "Elimina elenco",
|
"Delete list" : "Elimina elenco",
|
||||||
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
|
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
|
||||||
"Unarchive all cards in this list" : "Recupera tutte le schede in questo elenco",
|
|
||||||
"Add a new card" : "Aggiungi una nuova scheda",
|
"Add a new card" : "Aggiungi una nuova scheda",
|
||||||
"Card name" : "Nome scheda",
|
"Card name" : "Nome scheda",
|
||||||
"List deleted" : "Elenco eliminato",
|
"List deleted" : "Elenco eliminato",
|
||||||
@@ -243,32 +218,19 @@ OC.L10N.register(
|
|||||||
"Add Attachment" : "Aggiungi allegato",
|
"Add Attachment" : "Aggiungi allegato",
|
||||||
"Write a description …" : "Scrivi una descrizione…",
|
"Write a description …" : "Scrivi una descrizione…",
|
||||||
"Choose attachment" : "Scegli allegato",
|
"Choose attachment" : "Scegli allegato",
|
||||||
"Assign a due date to this card…" : "Assegna una scadenza a questa scheda…",
|
|
||||||
"Set a due date" : "Imposta una data di scadenza",
|
"Set a due date" : "Imposta una data di scadenza",
|
||||||
"Add due date" : "Aggiungi data di scadenza",
|
|
||||||
"Choose a date" : "Scegli una data",
|
|
||||||
"Remove due date" : "Rimuovi data di scadenza",
|
"Remove due date" : "Rimuovi data di scadenza",
|
||||||
"Completed" : "Completato",
|
"Completed" : "Completato",
|
||||||
"Due at:" : "Scadenza:",
|
|
||||||
"Not completed" : "Non completato",
|
"Not completed" : "Non completato",
|
||||||
"Unarchive card" : "Recupera lavagna dall'archivio",
|
"Unarchive card" : "Recupera lavagna dall'archivio",
|
||||||
"Archive card" : "Archivia scheda",
|
"Archive card" : "Archivia scheda",
|
||||||
"Select Date" : "Seleziona data",
|
"Select Date" : "Seleziona data",
|
||||||
"Set due date for later today" : "Imposta scadenza per oggi",
|
|
||||||
"Set due date for tomorrow" : "Imposta scadenza per domani",
|
|
||||||
"Set due date for this weekend" : "Imposta scadenza per questo fine settimana",
|
|
||||||
"Set due date for next week" : "Imposta scadenza per la prossima settimana",
|
|
||||||
"Assign a tag to this card…" : "Assegna un'etichetta a questa scheda…",
|
"Assign a tag to this card…" : "Assegna un'etichetta a questa scheda…",
|
||||||
"Create a new tag:" : "Crea una nuova etichetta:",
|
|
||||||
"(group)" : "(gruppo)",
|
"(group)" : "(gruppo)",
|
||||||
"Next week – {timeLocale}" : "Prossima settimana – {timeLocale}",
|
|
||||||
"Todo items" : "Elementi da fare",
|
|
||||||
"{count} comments, {unread} unread" : "{count} commenti, {unread} non letti",
|
"{count} comments, {unread} unread" : "{count} commenti, {unread} non letti",
|
||||||
"Edit card title" : "Modifica titolo scheda",
|
|
||||||
"Card details" : "Dettagli scheda",
|
"Card details" : "Dettagli scheda",
|
||||||
"Assign to me" : "Assegna a me",
|
"Assign to me" : "Assegna a me",
|
||||||
"Unassign myself" : "Rimuovi assegnazione da me",
|
"Unassign myself" : "Rimuovi assegnazione da me",
|
||||||
"Mark as not done" : "Segna come non fatto",
|
|
||||||
"Mark as done" : "Marca come completato",
|
"Mark as done" : "Marca come completato",
|
||||||
"Move card" : "Sposta scheda",
|
"Move card" : "Sposta scheda",
|
||||||
"Delete card" : "Elimina scheda",
|
"Delete card" : "Elimina scheda",
|
||||||
@@ -278,45 +240,23 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Scheda eliminata",
|
"Card deleted" : "Scheda eliminata",
|
||||||
"seconds ago" : "secondi fa",
|
"seconds ago" : "secondi fa",
|
||||||
"Keyboard shortcuts" : "Scorciatoie da tastiera",
|
"Keyboard shortcuts" : "Scorciatoie da tastiera",
|
||||||
"Board actions" : "Azioni della lavagna",
|
|
||||||
"Keyboard shortcut" : "Scorciatoia da tastiera",
|
"Keyboard shortcut" : "Scorciatoia da tastiera",
|
||||||
"Action" : "Azione",
|
"Action" : "Azione",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
"Scroll" : "Scorri",
|
|
||||||
"Scroll sideways" : "Scorri lateralmente",
|
|
||||||
"Navigate between cards" : "Naviga tra le schede",
|
|
||||||
"Esc" : "Esc",
|
|
||||||
"Close card details" : "Chiudi dettagli scheda",
|
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "Cerca",
|
"Search" : "Cerca",
|
||||||
"Show card filters" : "Mostra filtri scheda",
|
|
||||||
"Clear card filters" : "Rimuovi filtri scheda",
|
|
||||||
"Show help dialog" : "Mostra finestra di aiuto",
|
|
||||||
"Card actions" : "Azioni della scheda",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Le seguenti azioni possono essere eseguite sulla scheda attualmente evidenziata",
|
|
||||||
"Enter" : "Invio",
|
"Enter" : "Invio",
|
||||||
"Space" : "Spazio",
|
"Space" : "Spazio",
|
||||||
"Open card details" : "Apri dettagli della scheda",
|
|
||||||
"Edit the card title" : "Modifica titolo della scheda",
|
|
||||||
"Assign yourself to the current card" : "Assegna te stesso alla scheda attuale",
|
|
||||||
"Archive/unarchive the current card" : "Archivia/recupera la scheda attuale",
|
|
||||||
"Mark card as completed/not completed" : "Segna la scheda come completata/non completata",
|
|
||||||
"Open card menu" : "Apri menu della scheda",
|
|
||||||
"All boards" : "Tutte le lavagne",
|
"All boards" : "Tutte le lavagne",
|
||||||
"Archived boards" : "Lavagne archiviate",
|
"Archived boards" : "Lavagne archiviate",
|
||||||
"Shared with you" : "Condiviso con te",
|
"Shared with you" : "Condiviso con te",
|
||||||
"Deck settings" : "Impostazioni di Deck",
|
|
||||||
"Use bigger card view" : "Usa la vista con schede più grandi",
|
"Use bigger card view" : "Usa la vista con schede più grandi",
|
||||||
"Show card ID badge" : "Mostra ID della scheda",
|
|
||||||
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
|
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
|
||||||
"Limit board creation to some groups" : "Limita la creazione di lavagne ad alcuni gruppi",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Gli utenti che non fanno parte di tali gruppi non potranno creare le proprie lavagne, ma saranno ancora in grado di lavorare su quelle che sono state condivise con loro.",
|
|
||||||
"Board details" : "Dettagli lavagna",
|
"Board details" : "Dettagli lavagna",
|
||||||
"Edit board" : "Modifica lavagna",
|
"Edit board" : "Modifica lavagna",
|
||||||
"Clone board" : "Clona lavagna",
|
"Clone board" : "Clona lavagna",
|
||||||
"Unarchive board" : "Recupera lavagna dall'archivio",
|
"Unarchive board" : "Recupera lavagna dall'archivio",
|
||||||
"Archive board" : "Archivia lavagna",
|
"Archive board" : "Archivia lavagna",
|
||||||
"Export board" : "Esporta lavagna",
|
|
||||||
"Turn on due date reminders" : "Attiva promemoria per le date di scadenza",
|
"Turn on due date reminders" : "Attiva promemoria per le date di scadenza",
|
||||||
"Turn off due date reminders" : "Disattiva promemoria per le date di scadenza",
|
"Turn off due date reminders" : "Disattiva promemoria per le date di scadenza",
|
||||||
"Due date reminders" : "Promemoria delle date di scadenza",
|
"Due date reminders" : "Promemoria delle date di scadenza",
|
||||||
@@ -328,7 +268,6 @@ OC.L10N.register(
|
|||||||
"Only assigned cards" : "Solo le schede assegnate",
|
"Only assigned cards" : "Solo le schede assegnate",
|
||||||
"No reminder" : "Nessun promemoria",
|
"No reminder" : "Nessun promemoria",
|
||||||
"An error occurred" : "Si è verificato un errore",
|
"An error occurred" : "Si è verificato un errore",
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna incluse le schede archiviate.",
|
|
||||||
"Delete the board?" : "Vuoi eliminare la lavagna?",
|
"Delete the board?" : "Vuoi eliminare la lavagna?",
|
||||||
"Loading filtered view" : "Caricamento della vista filtrata",
|
"Loading filtered view" : "Caricamento della vista filtrata",
|
||||||
"Today" : "Oggi",
|
"Today" : "Oggi",
|
||||||
@@ -336,13 +275,7 @@ OC.L10N.register(
|
|||||||
"No due" : "Nessuna scadenza",
|
"No due" : "Nessuna scadenza",
|
||||||
"Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne",
|
"Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne",
|
||||||
"No results found" : "Nessun risultato trovato",
|
"No results found" : "Nessun risultato trovato",
|
||||||
"This weekend – {timeLocale}" : "Questo fine settimana – {timeLocale}",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Lavagna {name}\n* Ultima modifica: {lastMod}",
|
|
||||||
"{stack} in {board}" : "{stack} in {board}",
|
"{stack} in {board}" : "{stack} in {board}",
|
||||||
"Click to expand description" : "Fai clic per espandere la descrizione",
|
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creata: {created}\n* Ultima modifica: {lastMod}\n* {nbAttachments} allegati\n* {nbComments} commenti",
|
|
||||||
"{nbCards} cards" : "{nbCards} schede",
|
|
||||||
"Click to expand comment" : "Fai clic per espandere il commento",
|
|
||||||
"Create a new card" : "Crea una nuova scheda",
|
"Create a new card" : "Crea una nuova scheda",
|
||||||
"Card title" : "Titolo scheda",
|
"Card title" : "Titolo scheda",
|
||||||
"Create card" : "Crea scheda",
|
"Create card" : "Crea scheda",
|
||||||
@@ -351,13 +284,7 @@ OC.L10N.register(
|
|||||||
"Open card" : "Apri scheda",
|
"Open card" : "Apri scheda",
|
||||||
"Close" : "Chiudi",
|
"Close" : "Chiudi",
|
||||||
"No upcoming cards" : "Nessuna scheda rimasta",
|
"No upcoming cards" : "Nessuna scheda rimasta",
|
||||||
"upcoming cards today" : "prossime schede oggi",
|
|
||||||
"upcoming cards tomorrow" : "prossime schede domani",
|
|
||||||
"upcoming cards" : "prossime schede",
|
"upcoming cards" : "prossime schede",
|
||||||
"New card" : "Nuova scheda",
|
|
||||||
"Due on {date}" : "Scadenza: {date}",
|
|
||||||
"Tomorrow – {timeLocale}" : "Domani – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "Oggi – {timeLocale}",
|
|
||||||
"Link to a board" : "Collega a una lavagna",
|
"Link to a board" : "Collega a una lavagna",
|
||||||
"Link to a card" : " Collega a una scheda",
|
"Link to a card" : " Collega a una scheda",
|
||||||
"Create a card" : "Crea una scheda",
|
"Create a card" : "Crea una scheda",
|
||||||
|
|||||||
73
l10n/it.json
73
l10n/it.json
@@ -35,10 +35,6 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archiviato la scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archiviato la scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Hai annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Hai annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha annullato l'archiviazione della scheda {card} nell'elenco {stack} sulla lavagna {board}",
|
||||||
"You have marked the card {card} as done in list {stack} on board {board}" : "Hai segnato la scheda {card} come fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} ha segnato la scheda {card} come fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "Hai segnato la scheda {card} come non fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} ha segnato la scheda {card} come non fatta nell'elenco {stack} sulla lavagna {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Hai rimosso la data di scadenza della scheda {card}",
|
"You have removed the due date of card {card}" : "Hai rimosso la data di scadenza della scheda {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} ha rimosso la data di scadenza dalla scheda {card}",
|
"{user} has removed the due date of card {card}" : "{user} ha rimosso la data di scadenza dalla scheda {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Hai impostato la data di scadenza della scheda {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Hai impostato la data di scadenza della scheda {card} a {after}",
|
||||||
@@ -67,11 +63,7 @@
|
|||||||
"{user} has commented on card {card}" : "{user} ha commentato sulla scheda {card}",
|
"{user} has commented on card {card}" : "{user} ha commentato sulla scheda {card}",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Modifiche nell'<strong>applicazione Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Modifiche nell'<strong>applicazione Deck</strong>",
|
||||||
"A <strong>board, list or card</strong> was changed" : "Una <strong>lavagna, lista o scheda</strong> è stata modificata",
|
|
||||||
"A <strong>comment</strong> was created on a card" : "Un <strong>commento</strong> è stato creato su una scheda",
|
"A <strong>comment</strong> was created on a card" : "Un <strong>commento</strong> è stato creato su una scheda",
|
||||||
"A <strong>card description</strong> has been changed" : "Una <strong>descrizione di scheda</strong> è stata modificata",
|
|
||||||
"Cards due today" : "Schede che scadono oggi",
|
|
||||||
"Cards due tomorrow" : "Schede che scadono domani",
|
|
||||||
"Upcoming cards" : "Prossime schede",
|
"Upcoming cards" : "Prossime schede",
|
||||||
"Load more" : "Carica altro",
|
"Load more" : "Carica altro",
|
||||||
"Personal" : "Personale",
|
"Personal" : "Personale",
|
||||||
@@ -84,13 +76,8 @@
|
|||||||
"The board \"%s\" has been shared with you by %s." : "La lavagna \"%s\" è stata condivisa con te da %s.",
|
"The board \"%s\" has been shared with you by %s." : "La lavagna \"%s\" è stata condivisa con te da %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} ha condiviso {deck-board} con te.",
|
"{user} has shared {deck-board} with you." : "{user} ha condiviso {deck-board} con te.",
|
||||||
"Deck board" : "Lavagna di Deck",
|
"Deck board" : "Lavagna di Deck",
|
||||||
"Owned by %1$s" : "Proprietario: %1$s",
|
|
||||||
"Deck boards, cards and comments" : "Lavagne, schede e commenti di Deck",
|
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Da %1$s, in %2$s/%3$s, proprietario %4$s",
|
|
||||||
"Create a new deck card" : "Crea una nuova scheda di Deck",
|
|
||||||
"Card comments" : "Commenti",
|
"Card comments" : "Commenti",
|
||||||
"%s on %s" : "%s su %s",
|
"%s on %s" : "%s su %s",
|
||||||
"Deck boards and cards" : "Lavagne e schede di Deck",
|
|
||||||
"No data was provided to create an attachment." : "Non è stato fornito alcun dato per creare un allegato.",
|
"No data was provided to create an attachment." : "Non è stato fornito alcun dato per creare un allegato.",
|
||||||
"Finished" : "Finito",
|
"Finished" : "Finito",
|
||||||
"To review" : "Da revisionare",
|
"To review" : "Da revisionare",
|
||||||
@@ -138,7 +125,6 @@
|
|||||||
"Archived cards" : "Schede archiviate",
|
"Archived cards" : "Schede archiviate",
|
||||||
"Add list" : "Aggiungi elenco",
|
"Add list" : "Aggiungi elenco",
|
||||||
"List name" : "Nome elenco",
|
"List name" : "Nome elenco",
|
||||||
"Active filters" : "Filtri attivi",
|
|
||||||
"Apply filter" : "Applica filtro",
|
"Apply filter" : "Applica filtro",
|
||||||
"Filter by tag" : "Filtra per etichette",
|
"Filter by tag" : "Filtra per etichette",
|
||||||
"Filter by assigned user" : "Filtra per utente assegnato",
|
"Filter by assigned user" : "Filtra per utente assegnato",
|
||||||
@@ -150,16 +136,11 @@
|
|||||||
"Next 30 days" : "30 giorni successivi",
|
"Next 30 days" : "30 giorni successivi",
|
||||||
"No due date" : "Nessuna data di scadenza",
|
"No due date" : "Nessuna data di scadenza",
|
||||||
"Clear filter" : "Pulisci il filtro",
|
"Clear filter" : "Pulisci il filtro",
|
||||||
"View Modes" : "Modalità di visualizzazione",
|
|
||||||
"Toggle View Modes" : "Cambia modalità di visualizzazione",
|
|
||||||
"Hide archived cards" : "Nascondi le schede archiviate",
|
"Hide archived cards" : "Nascondi le schede archiviate",
|
||||||
"Show archived cards" : "Mostra le carte archiviate",
|
"Show archived cards" : "Mostra le carte archiviate",
|
||||||
"Toggle compact mode" : "Commuta la modalità compatta",
|
"Toggle compact mode" : "Commuta la modalità compatta",
|
||||||
"Hide card cover images" : "Nascondi immagini di copertina della scheda",
|
|
||||||
"Show card cover images" : "Mostra immagini di copertina della scheda",
|
|
||||||
"Open details" : "Apri i dettagli",
|
"Open details" : "Apri i dettagli",
|
||||||
"Details" : "Dettagli",
|
"Details" : "Dettagli",
|
||||||
"Currently present people" : "Persone attualmente presenti",
|
|
||||||
"Loading board" : "Caricamento lavagna",
|
"Loading board" : "Caricamento lavagna",
|
||||||
"Board not found" : "Lavagna non trovata",
|
"Board not found" : "Lavagna non trovata",
|
||||||
"No lists available" : "Nessun elenco disponibile",
|
"No lists available" : "Nessun elenco disponibile",
|
||||||
@@ -183,17 +164,11 @@
|
|||||||
"Owner" : "Proprietario",
|
"Owner" : "Proprietario",
|
||||||
"Delete" : "Elimina",
|
"Delete" : "Elimina",
|
||||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "Sei sicuro di voler trasferire la lavagna {title} a {user}?",
|
|
||||||
"Transfer the board." : "Trasferisci la bacheca.",
|
"Transfer the board." : "Trasferisci la bacheca.",
|
||||||
"Transfer" : "Trasferisci",
|
"Transfer" : "Trasferisci",
|
||||||
"The board has been transferred to {user}" : "La lavagna è stata trasferita a {user}",
|
|
||||||
"Failed to transfer the board to {user}" : "Trasferimento della lavagna a {user} fallito",
|
|
||||||
"Edit list title" : "Modifica titolo elenco",
|
|
||||||
"Archive all cards" : "Archivia tutte le schede",
|
"Archive all cards" : "Archivia tutte le schede",
|
||||||
"Unarchive all cards" : "Recupera tutte le schede dall'archivio",
|
|
||||||
"Delete list" : "Elimina elenco",
|
"Delete list" : "Elimina elenco",
|
||||||
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
|
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
|
||||||
"Unarchive all cards in this list" : "Recupera tutte le schede in questo elenco",
|
|
||||||
"Add a new card" : "Aggiungi una nuova scheda",
|
"Add a new card" : "Aggiungi una nuova scheda",
|
||||||
"Card name" : "Nome scheda",
|
"Card name" : "Nome scheda",
|
||||||
"List deleted" : "Elenco eliminato",
|
"List deleted" : "Elenco eliminato",
|
||||||
@@ -241,32 +216,19 @@
|
|||||||
"Add Attachment" : "Aggiungi allegato",
|
"Add Attachment" : "Aggiungi allegato",
|
||||||
"Write a description …" : "Scrivi una descrizione…",
|
"Write a description …" : "Scrivi una descrizione…",
|
||||||
"Choose attachment" : "Scegli allegato",
|
"Choose attachment" : "Scegli allegato",
|
||||||
"Assign a due date to this card…" : "Assegna una scadenza a questa scheda…",
|
|
||||||
"Set a due date" : "Imposta una data di scadenza",
|
"Set a due date" : "Imposta una data di scadenza",
|
||||||
"Add due date" : "Aggiungi data di scadenza",
|
|
||||||
"Choose a date" : "Scegli una data",
|
|
||||||
"Remove due date" : "Rimuovi data di scadenza",
|
"Remove due date" : "Rimuovi data di scadenza",
|
||||||
"Completed" : "Completato",
|
"Completed" : "Completato",
|
||||||
"Due at:" : "Scadenza:",
|
|
||||||
"Not completed" : "Non completato",
|
"Not completed" : "Non completato",
|
||||||
"Unarchive card" : "Recupera lavagna dall'archivio",
|
"Unarchive card" : "Recupera lavagna dall'archivio",
|
||||||
"Archive card" : "Archivia scheda",
|
"Archive card" : "Archivia scheda",
|
||||||
"Select Date" : "Seleziona data",
|
"Select Date" : "Seleziona data",
|
||||||
"Set due date for later today" : "Imposta scadenza per oggi",
|
|
||||||
"Set due date for tomorrow" : "Imposta scadenza per domani",
|
|
||||||
"Set due date for this weekend" : "Imposta scadenza per questo fine settimana",
|
|
||||||
"Set due date for next week" : "Imposta scadenza per la prossima settimana",
|
|
||||||
"Assign a tag to this card…" : "Assegna un'etichetta a questa scheda…",
|
"Assign a tag to this card…" : "Assegna un'etichetta a questa scheda…",
|
||||||
"Create a new tag:" : "Crea una nuova etichetta:",
|
|
||||||
"(group)" : "(gruppo)",
|
"(group)" : "(gruppo)",
|
||||||
"Next week – {timeLocale}" : "Prossima settimana – {timeLocale}",
|
|
||||||
"Todo items" : "Elementi da fare",
|
|
||||||
"{count} comments, {unread} unread" : "{count} commenti, {unread} non letti",
|
"{count} comments, {unread} unread" : "{count} commenti, {unread} non letti",
|
||||||
"Edit card title" : "Modifica titolo scheda",
|
|
||||||
"Card details" : "Dettagli scheda",
|
"Card details" : "Dettagli scheda",
|
||||||
"Assign to me" : "Assegna a me",
|
"Assign to me" : "Assegna a me",
|
||||||
"Unassign myself" : "Rimuovi assegnazione da me",
|
"Unassign myself" : "Rimuovi assegnazione da me",
|
||||||
"Mark as not done" : "Segna come non fatto",
|
|
||||||
"Mark as done" : "Marca come completato",
|
"Mark as done" : "Marca come completato",
|
||||||
"Move card" : "Sposta scheda",
|
"Move card" : "Sposta scheda",
|
||||||
"Delete card" : "Elimina scheda",
|
"Delete card" : "Elimina scheda",
|
||||||
@@ -276,45 +238,23 @@
|
|||||||
"Card deleted" : "Scheda eliminata",
|
"Card deleted" : "Scheda eliminata",
|
||||||
"seconds ago" : "secondi fa",
|
"seconds ago" : "secondi fa",
|
||||||
"Keyboard shortcuts" : "Scorciatoie da tastiera",
|
"Keyboard shortcuts" : "Scorciatoie da tastiera",
|
||||||
"Board actions" : "Azioni della lavagna",
|
|
||||||
"Keyboard shortcut" : "Scorciatoia da tastiera",
|
"Keyboard shortcut" : "Scorciatoia da tastiera",
|
||||||
"Action" : "Azione",
|
"Action" : "Azione",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
"Scroll" : "Scorri",
|
|
||||||
"Scroll sideways" : "Scorri lateralmente",
|
|
||||||
"Navigate between cards" : "Naviga tra le schede",
|
|
||||||
"Esc" : "Esc",
|
|
||||||
"Close card details" : "Chiudi dettagli scheda",
|
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "Cerca",
|
"Search" : "Cerca",
|
||||||
"Show card filters" : "Mostra filtri scheda",
|
|
||||||
"Clear card filters" : "Rimuovi filtri scheda",
|
|
||||||
"Show help dialog" : "Mostra finestra di aiuto",
|
|
||||||
"Card actions" : "Azioni della scheda",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Le seguenti azioni possono essere eseguite sulla scheda attualmente evidenziata",
|
|
||||||
"Enter" : "Invio",
|
"Enter" : "Invio",
|
||||||
"Space" : "Spazio",
|
"Space" : "Spazio",
|
||||||
"Open card details" : "Apri dettagli della scheda",
|
|
||||||
"Edit the card title" : "Modifica titolo della scheda",
|
|
||||||
"Assign yourself to the current card" : "Assegna te stesso alla scheda attuale",
|
|
||||||
"Archive/unarchive the current card" : "Archivia/recupera la scheda attuale",
|
|
||||||
"Mark card as completed/not completed" : "Segna la scheda come completata/non completata",
|
|
||||||
"Open card menu" : "Apri menu della scheda",
|
|
||||||
"All boards" : "Tutte le lavagne",
|
"All boards" : "Tutte le lavagne",
|
||||||
"Archived boards" : "Lavagne archiviate",
|
"Archived boards" : "Lavagne archiviate",
|
||||||
"Shared with you" : "Condiviso con te",
|
"Shared with you" : "Condiviso con te",
|
||||||
"Deck settings" : "Impostazioni di Deck",
|
|
||||||
"Use bigger card view" : "Usa la vista con schede più grandi",
|
"Use bigger card view" : "Usa la vista con schede più grandi",
|
||||||
"Show card ID badge" : "Mostra ID della scheda",
|
|
||||||
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
|
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
|
||||||
"Limit board creation to some groups" : "Limita la creazione di lavagne ad alcuni gruppi",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Gli utenti che non fanno parte di tali gruppi non potranno creare le proprie lavagne, ma saranno ancora in grado di lavorare su quelle che sono state condivise con loro.",
|
|
||||||
"Board details" : "Dettagli lavagna",
|
"Board details" : "Dettagli lavagna",
|
||||||
"Edit board" : "Modifica lavagna",
|
"Edit board" : "Modifica lavagna",
|
||||||
"Clone board" : "Clona lavagna",
|
"Clone board" : "Clona lavagna",
|
||||||
"Unarchive board" : "Recupera lavagna dall'archivio",
|
"Unarchive board" : "Recupera lavagna dall'archivio",
|
||||||
"Archive board" : "Archivia lavagna",
|
"Archive board" : "Archivia lavagna",
|
||||||
"Export board" : "Esporta lavagna",
|
|
||||||
"Turn on due date reminders" : "Attiva promemoria per le date di scadenza",
|
"Turn on due date reminders" : "Attiva promemoria per le date di scadenza",
|
||||||
"Turn off due date reminders" : "Disattiva promemoria per le date di scadenza",
|
"Turn off due date reminders" : "Disattiva promemoria per le date di scadenza",
|
||||||
"Due date reminders" : "Promemoria delle date di scadenza",
|
"Due date reminders" : "Promemoria delle date di scadenza",
|
||||||
@@ -326,7 +266,6 @@
|
|||||||
"Only assigned cards" : "Solo le schede assegnate",
|
"Only assigned cards" : "Solo le schede assegnate",
|
||||||
"No reminder" : "Nessun promemoria",
|
"No reminder" : "Nessun promemoria",
|
||||||
"An error occurred" : "Si è verificato un errore",
|
"An error occurred" : "Si è verificato un errore",
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna incluse le schede archiviate.",
|
|
||||||
"Delete the board?" : "Vuoi eliminare la lavagna?",
|
"Delete the board?" : "Vuoi eliminare la lavagna?",
|
||||||
"Loading filtered view" : "Caricamento della vista filtrata",
|
"Loading filtered view" : "Caricamento della vista filtrata",
|
||||||
"Today" : "Oggi",
|
"Today" : "Oggi",
|
||||||
@@ -334,13 +273,7 @@
|
|||||||
"No due" : "Nessuna scadenza",
|
"No due" : "Nessuna scadenza",
|
||||||
"Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne",
|
"Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne",
|
||||||
"No results found" : "Nessun risultato trovato",
|
"No results found" : "Nessun risultato trovato",
|
||||||
"This weekend – {timeLocale}" : "Questo fine settimana – {timeLocale}",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Lavagna {name}\n* Ultima modifica: {lastMod}",
|
|
||||||
"{stack} in {board}" : "{stack} in {board}",
|
"{stack} in {board}" : "{stack} in {board}",
|
||||||
"Click to expand description" : "Fai clic per espandere la descrizione",
|
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creata: {created}\n* Ultima modifica: {lastMod}\n* {nbAttachments} allegati\n* {nbComments} commenti",
|
|
||||||
"{nbCards} cards" : "{nbCards} schede",
|
|
||||||
"Click to expand comment" : "Fai clic per espandere il commento",
|
|
||||||
"Create a new card" : "Crea una nuova scheda",
|
"Create a new card" : "Crea una nuova scheda",
|
||||||
"Card title" : "Titolo scheda",
|
"Card title" : "Titolo scheda",
|
||||||
"Create card" : "Crea scheda",
|
"Create card" : "Crea scheda",
|
||||||
@@ -349,13 +282,7 @@
|
|||||||
"Open card" : "Apri scheda",
|
"Open card" : "Apri scheda",
|
||||||
"Close" : "Chiudi",
|
"Close" : "Chiudi",
|
||||||
"No upcoming cards" : "Nessuna scheda rimasta",
|
"No upcoming cards" : "Nessuna scheda rimasta",
|
||||||
"upcoming cards today" : "prossime schede oggi",
|
|
||||||
"upcoming cards tomorrow" : "prossime schede domani",
|
|
||||||
"upcoming cards" : "prossime schede",
|
"upcoming cards" : "prossime schede",
|
||||||
"New card" : "Nuova scheda",
|
|
||||||
"Due on {date}" : "Scadenza: {date}",
|
|
||||||
"Tomorrow – {timeLocale}" : "Domani – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "Oggi – {timeLocale}",
|
|
||||||
"Link to a board" : "Collega a una lavagna",
|
"Link to a board" : "Collega a una lavagna",
|
||||||
"Link to a card" : " Collega a una scheda",
|
"Link to a card" : " Collega a una scheda",
|
||||||
"Create a card" : "Crea una scheda",
|
"Create a card" : "Crea una scheda",
|
||||||
|
|||||||
@@ -230,7 +230,6 @@ OC.L10N.register(
|
|||||||
"Select Date" : "日付を選択",
|
"Select Date" : "日付を選択",
|
||||||
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
||||||
"(group)" : "(グループ)",
|
"(group)" : "(グループ)",
|
||||||
"Next week – {timeLocale}" : "来週 – {timeLocale}",
|
|
||||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||||
"Card details" : "カード詳細",
|
"Card details" : "カード詳細",
|
||||||
"Assign to me" : "自分に割り当てる",
|
"Assign to me" : "自分に割り当てる",
|
||||||
@@ -278,7 +277,6 @@ OC.L10N.register(
|
|||||||
"No due" : "日付なし",
|
"No due" : "日付なし",
|
||||||
"Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します",
|
"Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します",
|
||||||
"No results found" : "結果が見つかりません",
|
"No results found" : "結果が見つかりません",
|
||||||
"This weekend – {timeLocale}" : "今週末 – {timeLocale}",
|
|
||||||
"{stack} in {board}" : "{board} 内の {stack}",
|
"{stack} in {board}" : "{board} 内の {stack}",
|
||||||
"Create a new card" : "新しいカードを作成する",
|
"Create a new card" : "新しいカードを作成する",
|
||||||
"Card title" : "カードのタイトル",
|
"Card title" : "カードのタイトル",
|
||||||
@@ -289,8 +287,6 @@ OC.L10N.register(
|
|||||||
"Close" : "閉じる",
|
"Close" : "閉じる",
|
||||||
"No upcoming cards" : "今後のカードはありません",
|
"No upcoming cards" : "今後のカードはありません",
|
||||||
"upcoming cards" : "今後のカード",
|
"upcoming cards" : "今後のカード",
|
||||||
"Tomorrow – {timeLocale}" : "明日 – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "今日この後 – {timeLocale}",
|
|
||||||
"Link to a board" : "ボードへのリンク",
|
"Link to a board" : "ボードへのリンク",
|
||||||
"Link to a card" : "カードへリンク",
|
"Link to a card" : "カードへリンク",
|
||||||
"Create a card" : "カードを作成",
|
"Create a card" : "カードを作成",
|
||||||
|
|||||||
@@ -228,7 +228,6 @@
|
|||||||
"Select Date" : "日付を選択",
|
"Select Date" : "日付を選択",
|
||||||
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
"Assign a tag to this card…" : "タグこのをカードに割り当てる…",
|
||||||
"(group)" : "(グループ)",
|
"(group)" : "(グループ)",
|
||||||
"Next week – {timeLocale}" : "来週 – {timeLocale}",
|
|
||||||
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
"{count} comments, {unread} unread" : "コメント {count} 件あり、 {unread} 件未読",
|
||||||
"Card details" : "カード詳細",
|
"Card details" : "カード詳細",
|
||||||
"Assign to me" : "自分に割り当てる",
|
"Assign to me" : "自分に割り当てる",
|
||||||
@@ -276,7 +275,6 @@
|
|||||||
"No due" : "日付なし",
|
"No due" : "日付なし",
|
||||||
"Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します",
|
"Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します",
|
||||||
"No results found" : "結果が見つかりません",
|
"No results found" : "結果が見つかりません",
|
||||||
"This weekend – {timeLocale}" : "今週末 – {timeLocale}",
|
|
||||||
"{stack} in {board}" : "{board} 内の {stack}",
|
"{stack} in {board}" : "{board} 内の {stack}",
|
||||||
"Create a new card" : "新しいカードを作成する",
|
"Create a new card" : "新しいカードを作成する",
|
||||||
"Card title" : "カードのタイトル",
|
"Card title" : "カードのタイトル",
|
||||||
@@ -287,8 +285,6 @@
|
|||||||
"Close" : "閉じる",
|
"Close" : "閉じる",
|
||||||
"No upcoming cards" : "今後のカードはありません",
|
"No upcoming cards" : "今後のカードはありません",
|
||||||
"upcoming cards" : "今後のカード",
|
"upcoming cards" : "今後のカード",
|
||||||
"Tomorrow – {timeLocale}" : "明日 – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "今日この後 – {timeLocale}",
|
|
||||||
"Link to a board" : "ボードへのリンク",
|
"Link to a board" : "ボードへのリンク",
|
||||||
"Link to a card" : "カードへリンク",
|
"Link to a card" : "カードへリンク",
|
||||||
"Create a card" : "カードを作成",
|
"Create a card" : "カードを作成",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Card deleted",
|
"Card deleted" : "Card deleted",
|
||||||
"seconds ago" : "seconds ago",
|
"seconds ago" : "seconds ago",
|
||||||
"Keyboard shortcuts" : "Keyboard shortcuts",
|
"Keyboard shortcuts" : "Keyboard shortcuts",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Speed up using Deck with simple shortcuts.",
|
||||||
"Board actions" : "Board actions",
|
"Board actions" : "Board actions",
|
||||||
"Keyboard shortcut" : "Keyboard shortcut",
|
"Keyboard shortcut" : "Keyboard shortcut",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Card deleted",
|
"Card deleted" : "Card deleted",
|
||||||
"seconds ago" : "seconds ago",
|
"seconds ago" : "seconds ago",
|
||||||
"Keyboard shortcuts" : "Keyboard shortcuts",
|
"Keyboard shortcuts" : "Keyboard shortcuts",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Speed up using Deck with simple shortcuts.",
|
||||||
"Board actions" : "Board actions",
|
"Board actions" : "Board actions",
|
||||||
"Keyboard shortcut" : "Keyboard shortcut",
|
"Keyboard shortcut" : "Keyboard shortcut",
|
||||||
"Action" : "Action",
|
"Action" : "Action",
|
||||||
|
|||||||
50
l10n/nb.js
50
l10n/nb.js
@@ -37,10 +37,6 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"You have marked the card {card} as done in list {stack} on board {board}" : "Du har merket kortet {card} som ferdig i liste {stack} på tavle {board}",
|
|
||||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} har merket kortet {card} som ferdig i liste {stack} på tavle {board}",
|
|
||||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "Du har merket kortet {card} som ikke ferdig i liste {stack} på tavle {board}",
|
|
||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} har merket kortet {card} som ikke ferdig i liste {stack} på tavle {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
|
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
|
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
|
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
|
||||||
@@ -72,8 +68,6 @@ OC.L10N.register(
|
|||||||
"A <strong>board, list or card</strong> was changed" : "Ett <strong>brett,liste eller kort</strong> var oppdatert",
|
"A <strong>board, list or card</strong> was changed" : "Ett <strong>brett,liste eller kort</strong> var oppdatert",
|
||||||
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
|
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
|
||||||
"A <strong>card description</strong> has been changed" : "En <strong>kort beskrivelse</strong> har blitt endret",
|
"A <strong>card description</strong> has been changed" : "En <strong>kort beskrivelse</strong> har blitt endret",
|
||||||
"Cards due today" : "Kort som forfaller i dag",
|
|
||||||
"Cards due tomorrow" : "Kort som forfaller i morgen",
|
|
||||||
"Upcoming cards" : "Kommende kort",
|
"Upcoming cards" : "Kommende kort",
|
||||||
"Load more" : "Last mer",
|
"Load more" : "Last mer",
|
||||||
"Personal" : "Personlig",
|
"Personal" : "Personlig",
|
||||||
@@ -152,13 +146,9 @@ OC.L10N.register(
|
|||||||
"Next 30 days" : "Neste 30 dager",
|
"Next 30 days" : "Neste 30 dager",
|
||||||
"No due date" : "Ingen forfallsdato",
|
"No due date" : "Ingen forfallsdato",
|
||||||
"Clear filter" : "Tøm filter",
|
"Clear filter" : "Tøm filter",
|
||||||
"View Modes" : "Visningsmoduser",
|
|
||||||
"Toggle View Modes" : "Veksle visningsmoduser",
|
|
||||||
"Hide archived cards" : "Skjul arkiverte kort",
|
"Hide archived cards" : "Skjul arkiverte kort",
|
||||||
"Show archived cards" : "Vis arkiverkte kort",
|
"Show archived cards" : "Vis arkiverkte kort",
|
||||||
"Toggle compact mode" : "Endre kompakt modus",
|
"Toggle compact mode" : "Endre kompakt modus",
|
||||||
"Hide card cover images" : "Skjul bilder av kortforsider",
|
|
||||||
"Show card cover images" : "Vis bilder av kortforsider",
|
|
||||||
"Open details" : "Åpne detaljer",
|
"Open details" : "Åpne detaljer",
|
||||||
"Details" : "Detaljer",
|
"Details" : "Detaljer",
|
||||||
"Currently present people" : "Tilstedeværende personer for øyeblikket",
|
"Currently present people" : "Tilstedeværende personer for øyeblikket",
|
||||||
@@ -245,31 +235,20 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "Velg vedlegg",
|
"Choose attachment" : "Velg vedlegg",
|
||||||
"Assign a due date to this card…" : "Tildel en dato på dette kortet...",
|
"Assign a due date to this card…" : "Tildel en dato på dette kortet...",
|
||||||
"Set a due date" : "Set forfallsdato",
|
"Set a due date" : "Set forfallsdato",
|
||||||
"Add due date" : "Legg til forfallsdato",
|
|
||||||
"Choose a date" : "Velg en dato",
|
|
||||||
"Remove due date" : "Fjern forfallsdato",
|
"Remove due date" : "Fjern forfallsdato",
|
||||||
"Completed" : "Ferdig",
|
"Completed" : "Ferdig",
|
||||||
"Due at:" : "Forfaller den:",
|
|
||||||
"Not completed" : "Ikke ferdigstilt",
|
"Not completed" : "Ikke ferdigstilt",
|
||||||
"Unarchive card" : "Hent kort fra arkiv",
|
"Unarchive card" : "Hent kort fra arkiv",
|
||||||
"Archive card" : "Arkiver kort",
|
"Archive card" : "Arkiver kort",
|
||||||
"Select Date" : "Velg dato",
|
"Select Date" : "Velg dato",
|
||||||
"Set due date for later today" : "Angi forfallsdato til senere i dag",
|
|
||||||
"Set due date for tomorrow" : "Angi forfallsdato til i morgen",
|
|
||||||
"Set due date for this weekend" : "Angi forfallsdato til denne helgen",
|
|
||||||
"Set due date for next week" : "Angi forfallsdato til neste uke",
|
|
||||||
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
|
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
|
||||||
"Create a new tag:" : "Opprett et nytt merke:",
|
|
||||||
"(group)" : "(gruppe)",
|
"(group)" : "(gruppe)",
|
||||||
"Next week – {timeLocale}" : "Neste uke – {timeLocale}",
|
|
||||||
"Todo items" : "Gjøremålspunkter",
|
"Todo items" : "Gjøremålspunkter",
|
||||||
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
|
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
|
||||||
"Edit card title" : "Rediger korttittel",
|
"Edit card title" : "Rediger korttittel",
|
||||||
"Card details" : "Kort-detaljer",
|
"Card details" : "Kort-detaljer",
|
||||||
"Assign to me" : "Tildel meg",
|
"Assign to me" : "Tildel meg",
|
||||||
"Unassign myself" : "Fjern meg fra tildeling",
|
"Unassign myself" : "Fjern meg fra tildeling",
|
||||||
"Mark as not done" : "Marker som ikke ferdig",
|
|
||||||
"Mark as done" : "Marker som fullført",
|
|
||||||
"Move card" : "Flytt kort",
|
"Move card" : "Flytt kort",
|
||||||
"Delete card" : "Slett kort",
|
"Delete card" : "Slett kort",
|
||||||
"Move card to another board" : "Flytt kort til annen tavle",
|
"Move card to another board" : "Flytt kort til annen tavle",
|
||||||
@@ -278,31 +257,9 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Kort slettet",
|
"Card deleted" : "Kort slettet",
|
||||||
"seconds ago" : "sekunder siden",
|
"seconds ago" : "sekunder siden",
|
||||||
"Keyboard shortcuts" : "Tastatursnarveier",
|
"Keyboard shortcuts" : "Tastatursnarveier",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Øk produktiviteten ved å bruke Deck med hurtigtaster.",
|
|
||||||
"Board actions" : "Tavlehandlinger",
|
|
||||||
"Keyboard shortcut" : "Hurtigtast",
|
"Keyboard shortcut" : "Hurtigtast",
|
||||||
"Action" : "Handling",
|
"Action" : "Handling",
|
||||||
"Shift" : "Skift",
|
|
||||||
"Scroll" : "Rull",
|
|
||||||
"Scroll sideways" : "Rull sidelengs",
|
|
||||||
"Navigate between cards" : "Naviger mellom kort",
|
|
||||||
"Esc" : "Esc",
|
|
||||||
"Close card details" : "Lukk kortdetaljer",
|
|
||||||
"Ctrl" : "Ctrl",
|
|
||||||
"Search" : "Søk",
|
"Search" : "Søk",
|
||||||
"Show card filters" : "Vis kortfiltre",
|
|
||||||
"Clear card filters" : "Tøm kortfiltre",
|
|
||||||
"Show help dialog" : "Vis dialogboksen for hjelp",
|
|
||||||
"Card actions" : "Korthandlinger",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Følgende handlinger kan utløses på det uthevede kortet",
|
|
||||||
"Enter" : "Enter",
|
|
||||||
"Space" : "Mellomrom",
|
|
||||||
"Open card details" : "Åpne kortdetaljer",
|
|
||||||
"Edit the card title" : "Redigere korttittelen",
|
|
||||||
"Assign yourself to the current card" : "Tildel deg til det gjeldende kortet",
|
|
||||||
"Archive/unarchive the current card" : "Arkiver/ikke arkiver gjeldende kort",
|
|
||||||
"Mark card as completed/not completed" : "Marker kort som fullført/ikke fullført",
|
|
||||||
"Open card menu" : "Åpne kortmenyen",
|
|
||||||
"All boards" : "Alle tabler",
|
"All boards" : "Alle tabler",
|
||||||
"Archived boards" : "Arkiverte tavler",
|
"Archived boards" : "Arkiverte tavler",
|
||||||
"Shared with you" : "Delt med deg",
|
"Shared with you" : "Delt med deg",
|
||||||
@@ -310,8 +267,6 @@ OC.L10N.register(
|
|||||||
"Use bigger card view" : "Bruk større visning på kort",
|
"Use bigger card view" : "Bruk større visning på kort",
|
||||||
"Show card ID badge" : "Vis ID-merke til kort",
|
"Show card ID badge" : "Vis ID-merke til kort",
|
||||||
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
|
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
|
||||||
"Limit board creation to some groups" : "Begrene oppretting av kort til enkelte grupper",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Brukere utenfor disse gruppene vil ikke kunne opprette sine egne tavler, men vil fortsatt kunne jobbe på tavler som har blitt delt med dem.",
|
|
||||||
"Board details" : "Forumseksjonsdetaljer",
|
"Board details" : "Forumseksjonsdetaljer",
|
||||||
"Edit board" : "Rediger tavle",
|
"Edit board" : "Rediger tavle",
|
||||||
"Clone board" : "Klon tavle",
|
"Clone board" : "Klon tavle",
|
||||||
@@ -337,7 +292,6 @@ OC.L10N.register(
|
|||||||
"No due" : "Ingen forfall",
|
"No due" : "Ingen forfall",
|
||||||
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
|
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
|
||||||
"No results found" : "Ingen resultater funnet",
|
"No results found" : "Ingen resultater funnet",
|
||||||
"This weekend – {timeLocale}" : "Denne helgen – {timeLocale}",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Stokktavle {name}\n* Sist endret {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "Stokktavle {name}\n* Sist endret {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} i {board}",
|
"{stack} in {board}" : "{stack} i {board}",
|
||||||
"Click to expand description" : "Klikk for å utvide beskrivelsen",
|
"Click to expand description" : "Klikk for å utvide beskrivelsen",
|
||||||
@@ -352,13 +306,9 @@ OC.L10N.register(
|
|||||||
"Open card" : "Åpne kort",
|
"Open card" : "Åpne kort",
|
||||||
"Close" : "Lukk",
|
"Close" : "Lukk",
|
||||||
"No upcoming cards" : "Ingen kommende kort",
|
"No upcoming cards" : "Ingen kommende kort",
|
||||||
"upcoming cards today" : "kommende kort i dag",
|
|
||||||
"upcoming cards tomorrow" : "kommende kort i morgen",
|
|
||||||
"upcoming cards" : "kommende kort",
|
"upcoming cards" : "kommende kort",
|
||||||
"New card" : "Nytt kort",
|
"New card" : "Nytt kort",
|
||||||
"Due on {date}" : "Utløper {date}",
|
"Due on {date}" : "Utløper {date}",
|
||||||
"Tomorrow – {timeLocale}" : "I morgen – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "Senere i dag – {timeLocale}",
|
|
||||||
"Link to a board" : "Lenke til tavle",
|
"Link to a board" : "Lenke til tavle",
|
||||||
"Link to a card" : "Lenke til et kort",
|
"Link to a card" : "Lenke til et kort",
|
||||||
"Create a card" : "Opprett kort",
|
"Create a card" : "Opprett kort",
|
||||||
|
|||||||
50
l10n/nb.json
50
l10n/nb.json
@@ -35,10 +35,6 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
|
||||||
"You have marked the card {card} as done in list {stack} on board {board}" : "Du har merket kortet {card} som ferdig i liste {stack} på tavle {board}",
|
|
||||||
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} har merket kortet {card} som ferdig i liste {stack} på tavle {board}",
|
|
||||||
"You have marked the card {card} as undone in list {stack} on board {board}" : "Du har merket kortet {card} som ikke ferdig i liste {stack} på tavle {board}",
|
|
||||||
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} har merket kortet {card} som ikke ferdig i liste {stack} på tavle {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
|
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
|
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
|
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
|
||||||
@@ -70,8 +66,6 @@
|
|||||||
"A <strong>board, list or card</strong> was changed" : "Ett <strong>brett,liste eller kort</strong> var oppdatert",
|
"A <strong>board, list or card</strong> was changed" : "Ett <strong>brett,liste eller kort</strong> var oppdatert",
|
||||||
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
|
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
|
||||||
"A <strong>card description</strong> has been changed" : "En <strong>kort beskrivelse</strong> har blitt endret",
|
"A <strong>card description</strong> has been changed" : "En <strong>kort beskrivelse</strong> har blitt endret",
|
||||||
"Cards due today" : "Kort som forfaller i dag",
|
|
||||||
"Cards due tomorrow" : "Kort som forfaller i morgen",
|
|
||||||
"Upcoming cards" : "Kommende kort",
|
"Upcoming cards" : "Kommende kort",
|
||||||
"Load more" : "Last mer",
|
"Load more" : "Last mer",
|
||||||
"Personal" : "Personlig",
|
"Personal" : "Personlig",
|
||||||
@@ -150,13 +144,9 @@
|
|||||||
"Next 30 days" : "Neste 30 dager",
|
"Next 30 days" : "Neste 30 dager",
|
||||||
"No due date" : "Ingen forfallsdato",
|
"No due date" : "Ingen forfallsdato",
|
||||||
"Clear filter" : "Tøm filter",
|
"Clear filter" : "Tøm filter",
|
||||||
"View Modes" : "Visningsmoduser",
|
|
||||||
"Toggle View Modes" : "Veksle visningsmoduser",
|
|
||||||
"Hide archived cards" : "Skjul arkiverte kort",
|
"Hide archived cards" : "Skjul arkiverte kort",
|
||||||
"Show archived cards" : "Vis arkiverkte kort",
|
"Show archived cards" : "Vis arkiverkte kort",
|
||||||
"Toggle compact mode" : "Endre kompakt modus",
|
"Toggle compact mode" : "Endre kompakt modus",
|
||||||
"Hide card cover images" : "Skjul bilder av kortforsider",
|
|
||||||
"Show card cover images" : "Vis bilder av kortforsider",
|
|
||||||
"Open details" : "Åpne detaljer",
|
"Open details" : "Åpne detaljer",
|
||||||
"Details" : "Detaljer",
|
"Details" : "Detaljer",
|
||||||
"Currently present people" : "Tilstedeværende personer for øyeblikket",
|
"Currently present people" : "Tilstedeværende personer for øyeblikket",
|
||||||
@@ -243,31 +233,20 @@
|
|||||||
"Choose attachment" : "Velg vedlegg",
|
"Choose attachment" : "Velg vedlegg",
|
||||||
"Assign a due date to this card…" : "Tildel en dato på dette kortet...",
|
"Assign a due date to this card…" : "Tildel en dato på dette kortet...",
|
||||||
"Set a due date" : "Set forfallsdato",
|
"Set a due date" : "Set forfallsdato",
|
||||||
"Add due date" : "Legg til forfallsdato",
|
|
||||||
"Choose a date" : "Velg en dato",
|
|
||||||
"Remove due date" : "Fjern forfallsdato",
|
"Remove due date" : "Fjern forfallsdato",
|
||||||
"Completed" : "Ferdig",
|
"Completed" : "Ferdig",
|
||||||
"Due at:" : "Forfaller den:",
|
|
||||||
"Not completed" : "Ikke ferdigstilt",
|
"Not completed" : "Ikke ferdigstilt",
|
||||||
"Unarchive card" : "Hent kort fra arkiv",
|
"Unarchive card" : "Hent kort fra arkiv",
|
||||||
"Archive card" : "Arkiver kort",
|
"Archive card" : "Arkiver kort",
|
||||||
"Select Date" : "Velg dato",
|
"Select Date" : "Velg dato",
|
||||||
"Set due date for later today" : "Angi forfallsdato til senere i dag",
|
|
||||||
"Set due date for tomorrow" : "Angi forfallsdato til i morgen",
|
|
||||||
"Set due date for this weekend" : "Angi forfallsdato til denne helgen",
|
|
||||||
"Set due date for next week" : "Angi forfallsdato til neste uke",
|
|
||||||
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
|
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
|
||||||
"Create a new tag:" : "Opprett et nytt merke:",
|
|
||||||
"(group)" : "(gruppe)",
|
"(group)" : "(gruppe)",
|
||||||
"Next week – {timeLocale}" : "Neste uke – {timeLocale}",
|
|
||||||
"Todo items" : "Gjøremålspunkter",
|
"Todo items" : "Gjøremålspunkter",
|
||||||
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
|
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
|
||||||
"Edit card title" : "Rediger korttittel",
|
"Edit card title" : "Rediger korttittel",
|
||||||
"Card details" : "Kort-detaljer",
|
"Card details" : "Kort-detaljer",
|
||||||
"Assign to me" : "Tildel meg",
|
"Assign to me" : "Tildel meg",
|
||||||
"Unassign myself" : "Fjern meg fra tildeling",
|
"Unassign myself" : "Fjern meg fra tildeling",
|
||||||
"Mark as not done" : "Marker som ikke ferdig",
|
|
||||||
"Mark as done" : "Marker som fullført",
|
|
||||||
"Move card" : "Flytt kort",
|
"Move card" : "Flytt kort",
|
||||||
"Delete card" : "Slett kort",
|
"Delete card" : "Slett kort",
|
||||||
"Move card to another board" : "Flytt kort til annen tavle",
|
"Move card to another board" : "Flytt kort til annen tavle",
|
||||||
@@ -276,31 +255,9 @@
|
|||||||
"Card deleted" : "Kort slettet",
|
"Card deleted" : "Kort slettet",
|
||||||
"seconds ago" : "sekunder siden",
|
"seconds ago" : "sekunder siden",
|
||||||
"Keyboard shortcuts" : "Tastatursnarveier",
|
"Keyboard shortcuts" : "Tastatursnarveier",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Øk produktiviteten ved å bruke Deck med hurtigtaster.",
|
|
||||||
"Board actions" : "Tavlehandlinger",
|
|
||||||
"Keyboard shortcut" : "Hurtigtast",
|
"Keyboard shortcut" : "Hurtigtast",
|
||||||
"Action" : "Handling",
|
"Action" : "Handling",
|
||||||
"Shift" : "Skift",
|
|
||||||
"Scroll" : "Rull",
|
|
||||||
"Scroll sideways" : "Rull sidelengs",
|
|
||||||
"Navigate between cards" : "Naviger mellom kort",
|
|
||||||
"Esc" : "Esc",
|
|
||||||
"Close card details" : "Lukk kortdetaljer",
|
|
||||||
"Ctrl" : "Ctrl",
|
|
||||||
"Search" : "Søk",
|
"Search" : "Søk",
|
||||||
"Show card filters" : "Vis kortfiltre",
|
|
||||||
"Clear card filters" : "Tøm kortfiltre",
|
|
||||||
"Show help dialog" : "Vis dialogboksen for hjelp",
|
|
||||||
"Card actions" : "Korthandlinger",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "Følgende handlinger kan utløses på det uthevede kortet",
|
|
||||||
"Enter" : "Enter",
|
|
||||||
"Space" : "Mellomrom",
|
|
||||||
"Open card details" : "Åpne kortdetaljer",
|
|
||||||
"Edit the card title" : "Redigere korttittelen",
|
|
||||||
"Assign yourself to the current card" : "Tildel deg til det gjeldende kortet",
|
|
||||||
"Archive/unarchive the current card" : "Arkiver/ikke arkiver gjeldende kort",
|
|
||||||
"Mark card as completed/not completed" : "Marker kort som fullført/ikke fullført",
|
|
||||||
"Open card menu" : "Åpne kortmenyen",
|
|
||||||
"All boards" : "Alle tabler",
|
"All boards" : "Alle tabler",
|
||||||
"Archived boards" : "Arkiverte tavler",
|
"Archived boards" : "Arkiverte tavler",
|
||||||
"Shared with you" : "Delt med deg",
|
"Shared with you" : "Delt med deg",
|
||||||
@@ -308,8 +265,6 @@
|
|||||||
"Use bigger card view" : "Bruk større visning på kort",
|
"Use bigger card view" : "Bruk større visning på kort",
|
||||||
"Show card ID badge" : "Vis ID-merke til kort",
|
"Show card ID badge" : "Vis ID-merke til kort",
|
||||||
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
|
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
|
||||||
"Limit board creation to some groups" : "Begrene oppretting av kort til enkelte grupper",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Brukere utenfor disse gruppene vil ikke kunne opprette sine egne tavler, men vil fortsatt kunne jobbe på tavler som har blitt delt med dem.",
|
|
||||||
"Board details" : "Forumseksjonsdetaljer",
|
"Board details" : "Forumseksjonsdetaljer",
|
||||||
"Edit board" : "Rediger tavle",
|
"Edit board" : "Rediger tavle",
|
||||||
"Clone board" : "Klon tavle",
|
"Clone board" : "Klon tavle",
|
||||||
@@ -335,7 +290,6 @@
|
|||||||
"No due" : "Ingen forfall",
|
"No due" : "Ingen forfall",
|
||||||
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
|
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
|
||||||
"No results found" : "Ingen resultater funnet",
|
"No results found" : "Ingen resultater funnet",
|
||||||
"This weekend – {timeLocale}" : "Denne helgen – {timeLocale}",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Stokktavle {name}\n* Sist endret {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "Stokktavle {name}\n* Sist endret {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} i {board}",
|
"{stack} in {board}" : "{stack} i {board}",
|
||||||
"Click to expand description" : "Klikk for å utvide beskrivelsen",
|
"Click to expand description" : "Klikk for å utvide beskrivelsen",
|
||||||
@@ -350,13 +304,9 @@
|
|||||||
"Open card" : "Åpne kort",
|
"Open card" : "Åpne kort",
|
||||||
"Close" : "Lukk",
|
"Close" : "Lukk",
|
||||||
"No upcoming cards" : "Ingen kommende kort",
|
"No upcoming cards" : "Ingen kommende kort",
|
||||||
"upcoming cards today" : "kommende kort i dag",
|
|
||||||
"upcoming cards tomorrow" : "kommende kort i morgen",
|
|
||||||
"upcoming cards" : "kommende kort",
|
"upcoming cards" : "kommende kort",
|
||||||
"New card" : "Nytt kort",
|
"New card" : "Nytt kort",
|
||||||
"Due on {date}" : "Utløper {date}",
|
"Due on {date}" : "Utløper {date}",
|
||||||
"Tomorrow – {timeLocale}" : "I morgen – {timeLocale}",
|
|
||||||
"Later today – {timeLocale}" : "Senere i dag – {timeLocale}",
|
|
||||||
"Link to a board" : "Lenke til tavle",
|
"Link to a board" : "Lenke til tavle",
|
||||||
"Link to a card" : "Lenke til et kort",
|
"Link to a card" : "Lenke til et kort",
|
||||||
"Create a card" : "Opprett kort",
|
"Create a card" : "Opprett kort",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Cartão excluído",
|
"Card deleted" : "Cartão excluído",
|
||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"Keyboard shortcuts" : "Atalhos do teclado",
|
"Keyboard shortcuts" : "Atalhos do teclado",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Acelere o uso do Deck com atalhos simples.",
|
||||||
"Board actions" : "Ações do conselho",
|
"Board actions" : "Ações do conselho",
|
||||||
"Keyboard shortcut" : "Atalhos do teclado",
|
"Keyboard shortcut" : "Atalhos do teclado",
|
||||||
"Action" : "Ação",
|
"Action" : "Ação",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Cartão excluído",
|
"Card deleted" : "Cartão excluído",
|
||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"Keyboard shortcuts" : "Atalhos do teclado",
|
"Keyboard shortcuts" : "Atalhos do teclado",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Acelere o uso do Deck com atalhos simples.",
|
||||||
"Board actions" : "Ações do conselho",
|
"Board actions" : "Ações do conselho",
|
||||||
"Keyboard shortcut" : "Atalhos do teclado",
|
"Keyboard shortcut" : "Atalhos do teclado",
|
||||||
"Action" : "Ação",
|
"Action" : "Ação",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Картица обрисана",
|
"Card deleted" : "Картица обрисана",
|
||||||
"seconds ago" : "пре неколико секунди",
|
"seconds ago" : "пре неколико секунди",
|
||||||
"Keyboard shortcuts" : "Пречице на тастатури",
|
"Keyboard shortcuts" : "Пречице на тастатури",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Унапредите своју продуктивност користећи Шпил са пречицама на тастатури.",
|
"Speed up using Deck with simple shortcuts." : "Убрзајте употребу Шпила простим пречицама.",
|
||||||
"Board actions" : "Акције табле",
|
"Board actions" : "Акције табле",
|
||||||
"Keyboard shortcut" : "Пречица тастатуре",
|
"Keyboard shortcut" : "Пречица тастатуре",
|
||||||
"Action" : "Радња",
|
"Action" : "Радња",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Картица обрисана",
|
"Card deleted" : "Картица обрисана",
|
||||||
"seconds ago" : "пре неколико секунди",
|
"seconds ago" : "пре неколико секунди",
|
||||||
"Keyboard shortcuts" : "Пречице на тастатури",
|
"Keyboard shortcuts" : "Пречице на тастатури",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Унапредите своју продуктивност користећи Шпил са пречицама на тастатури.",
|
"Speed up using Deck with simple shortcuts." : "Убрзајте употребу Шпила простим пречицама.",
|
||||||
"Board actions" : "Акције табле",
|
"Board actions" : "Акције табле",
|
||||||
"Keyboard shortcut" : "Пречица тастатуре",
|
"Keyboard shortcut" : "Пречица тастатуре",
|
||||||
"Action" : "Радња",
|
"Action" : "Радња",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Kortet har raderats",
|
"Card deleted" : "Kortet har raderats",
|
||||||
"seconds ago" : "sekunder sedan",
|
"seconds ago" : "sekunder sedan",
|
||||||
"Keyboard shortcuts" : "Tangentbordsgenvägar",
|
"Keyboard shortcuts" : "Tangentbordsgenvägar",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Öka din produktivitet genom att använda Deck med tangentbordsgenvägar.",
|
"Speed up using Deck with simple shortcuts." : "Snabba upp Deck med enkla genvägar.",
|
||||||
"Board actions" : "Tavelåtgärder",
|
"Board actions" : "Tavelåtgärder",
|
||||||
"Keyboard shortcut" : "Tangentbordsgenvägar",
|
"Keyboard shortcut" : "Tangentbordsgenvägar",
|
||||||
"Action" : "Ågärd",
|
"Action" : "Ågärd",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Kortet har raderats",
|
"Card deleted" : "Kortet har raderats",
|
||||||
"seconds ago" : "sekunder sedan",
|
"seconds ago" : "sekunder sedan",
|
||||||
"Keyboard shortcuts" : "Tangentbordsgenvägar",
|
"Keyboard shortcuts" : "Tangentbordsgenvägar",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Öka din produktivitet genom att använda Deck med tangentbordsgenvägar.",
|
"Speed up using Deck with simple shortcuts." : "Snabba upp Deck med enkla genvägar.",
|
||||||
"Board actions" : "Tavelåtgärder",
|
"Board actions" : "Tavelåtgärder",
|
||||||
"Keyboard shortcut" : "Tangentbordsgenvägar",
|
"Keyboard shortcut" : "Tangentbordsgenvägar",
|
||||||
"Action" : "Ågärd",
|
"Action" : "Ågärd",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Kart silindi",
|
"Card deleted" : "Kart silindi",
|
||||||
"seconds ago" : "saniye önce",
|
"seconds ago" : "saniye önce",
|
||||||
"Keyboard shortcuts" : "Kısayol tuşları",
|
"Keyboard shortcuts" : "Kısayol tuşları",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Tahta uygulamasını klavye kısayolları ile kullanarak üretkenliğinizi artırın.",
|
"Speed up using Deck with simple shortcuts." : "Basit kısayol tuşları ile Tahtayı daha hızlı kullanabilirsiniz.",
|
||||||
"Board actions" : "Pano işlemleri",
|
"Board actions" : "Pano işlemleri",
|
||||||
"Keyboard shortcut" : "Kısayol tuşu",
|
"Keyboard shortcut" : "Kısayol tuşu",
|
||||||
"Action" : "İşlem",
|
"Action" : "İşlem",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "Kart silindi",
|
"Card deleted" : "Kart silindi",
|
||||||
"seconds ago" : "saniye önce",
|
"seconds ago" : "saniye önce",
|
||||||
"Keyboard shortcuts" : "Kısayol tuşları",
|
"Keyboard shortcuts" : "Kısayol tuşları",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "Tahta uygulamasını klavye kısayolları ile kullanarak üretkenliğinizi artırın.",
|
"Speed up using Deck with simple shortcuts." : "Basit kısayol tuşları ile Tahtayı daha hızlı kullanabilirsiniz.",
|
||||||
"Board actions" : "Pano işlemleri",
|
"Board actions" : "Pano işlemleri",
|
||||||
"Keyboard shortcut" : "Kısayol tuşu",
|
"Keyboard shortcut" : "Kısayol tuşu",
|
||||||
"Action" : "İşlem",
|
"Action" : "İşlem",
|
||||||
|
|||||||
@@ -278,6 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "Thẻ đã bị xóa",
|
"Card deleted" : "Thẻ đã bị xóa",
|
||||||
"seconds ago" : "vài giây trước",
|
"seconds ago" : "vài giây trước",
|
||||||
"Keyboard shortcuts" : "Phím tắt",
|
"Keyboard shortcuts" : "Phím tắt",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Tăng tốc bằng cách sử dụng Kế Hoạch với các phím tắt đơn giản.",
|
||||||
"Board actions" : "Hành động cho Bảng",
|
"Board actions" : "Hành động cho Bảng",
|
||||||
"Keyboard shortcut" : "Phím tắt bàn phím",
|
"Keyboard shortcut" : "Phím tắt bàn phím",
|
||||||
"Action" : "Hành động",
|
"Action" : "Hành động",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@
|
|||||||
"Card deleted" : "Thẻ đã bị xóa",
|
"Card deleted" : "Thẻ đã bị xóa",
|
||||||
"seconds ago" : "vài giây trước",
|
"seconds ago" : "vài giây trước",
|
||||||
"Keyboard shortcuts" : "Phím tắt",
|
"Keyboard shortcuts" : "Phím tắt",
|
||||||
|
"Speed up using Deck with simple shortcuts." : "Tăng tốc bằng cách sử dụng Kế Hoạch với các phím tắt đơn giản.",
|
||||||
"Board actions" : "Hành động cho Bảng",
|
"Board actions" : "Hành động cho Bảng",
|
||||||
"Keyboard shortcut" : "Phím tắt bàn phím",
|
"Keyboard shortcut" : "Phím tắt bàn phím",
|
||||||
"Action" : "Hành động",
|
"Action" : "Hành động",
|
||||||
|
|||||||
@@ -68,8 +68,6 @@ OC.L10N.register(
|
|||||||
"A <strong>board, list or card</strong> was changed" : "<strong>面板、列表或卡片</strong>已更新",
|
"A <strong>board, list or card</strong> was changed" : "<strong>面板、列表或卡片</strong>已更新",
|
||||||
"A <strong>comment</strong> was created on a card" : "卡片上创建了一个 <strong>评论</strong>",
|
"A <strong>comment</strong> was created on a card" : "卡片上创建了一个 <strong>评论</strong>",
|
||||||
"A <strong>card description</strong> has been changed" : "<strong>卡片描述</strong>已更新",
|
"A <strong>card description</strong> has been changed" : "<strong>卡片描述</strong>已更新",
|
||||||
"Cards due today" : "今天到期的卡片",
|
|
||||||
"Cards due tomorrow" : "卡片明天到期",
|
|
||||||
"Upcoming cards" : "即将到来的卡片",
|
"Upcoming cards" : "即将到来的卡片",
|
||||||
"Load more" : "加载更多",
|
"Load more" : "加载更多",
|
||||||
"Personal" : "个人",
|
"Personal" : "个人",
|
||||||
@@ -148,13 +146,9 @@ OC.L10N.register(
|
|||||||
"Next 30 days" : "未来30天",
|
"Next 30 days" : "未来30天",
|
||||||
"No due date" : "无截止日期",
|
"No due date" : "无截止日期",
|
||||||
"Clear filter" : "清除筛选",
|
"Clear filter" : "清除筛选",
|
||||||
"View Modes" : "视图模式",
|
|
||||||
"Toggle View Modes" : "切换视图模式",
|
|
||||||
"Hide archived cards" : "隐藏已归档卡片",
|
"Hide archived cards" : "隐藏已归档卡片",
|
||||||
"Show archived cards" : "显示已归档卡片",
|
"Show archived cards" : "显示已归档卡片",
|
||||||
"Toggle compact mode" : "切换简洁模式",
|
"Toggle compact mode" : "切换简洁模式",
|
||||||
"Hide card cover images" : "隐藏卡片封面图片",
|
|
||||||
"Show card cover images" : "显示卡片封面图片",
|
|
||||||
"Open details" : "打开详情",
|
"Open details" : "打开详情",
|
||||||
"Details" : "详情",
|
"Details" : "详情",
|
||||||
"Currently present people" : "当前在线的人",
|
"Currently present people" : "当前在线的人",
|
||||||
@@ -241,19 +235,13 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "选择附件",
|
"Choose attachment" : "选择附件",
|
||||||
"Assign a due date to this card…" : "为此卡片指派截止日期 …",
|
"Assign a due date to this card…" : "为此卡片指派截止日期 …",
|
||||||
"Set a due date" : "设置截止日期",
|
"Set a due date" : "设置截止日期",
|
||||||
"Add due date" : "添加截止日期",
|
|
||||||
"Choose a date" : "选择日期",
|
|
||||||
"Remove due date" : "移除截止日期",
|
"Remove due date" : "移除截止日期",
|
||||||
"Completed" : "已完成",
|
"Completed" : "已完成",
|
||||||
"Due at:" : "到期日:",
|
|
||||||
"Not completed" : "没完成",
|
"Not completed" : "没完成",
|
||||||
"Unarchive card" : "撤销对卡片的归档",
|
"Unarchive card" : "撤销对卡片的归档",
|
||||||
"Archive card" : "归档卡片",
|
"Archive card" : "归档卡片",
|
||||||
"Select Date" : "选择日期",
|
"Select Date" : "选择日期",
|
||||||
"Set due date for later today" : "将截止日期设置为今天晚些时候",
|
|
||||||
"Set due date for tomorrow" : "设定明天的截止日期",
|
|
||||||
"Assign a tag to this card…" : "为该卡片分配标签…",
|
"Assign a tag to this card…" : "为该卡片分配标签…",
|
||||||
"Create a new tag:" : "创建一个新标签:",
|
|
||||||
"(group)" : "(组)",
|
"(group)" : "(组)",
|
||||||
"Next week – {timeLocale}" : "下周 – {timeLocale}",
|
"Next week – {timeLocale}" : "下周 – {timeLocale}",
|
||||||
"Todo items" : "待办事项",
|
"Todo items" : "待办事项",
|
||||||
@@ -262,7 +250,6 @@ OC.L10N.register(
|
|||||||
"Card details" : "卡片详情",
|
"Card details" : "卡片详情",
|
||||||
"Assign to me" : "指派给我",
|
"Assign to me" : "指派给我",
|
||||||
"Unassign myself" : "不再指派给我",
|
"Unassign myself" : "不再指派给我",
|
||||||
"Mark as not done" : "标记为未完成",
|
|
||||||
"Mark as done" : "标记为已完成",
|
"Mark as done" : "标记为已完成",
|
||||||
"Move card" : "移动卡片",
|
"Move card" : "移动卡片",
|
||||||
"Delete card" : "删除卡片",
|
"Delete card" : "删除卡片",
|
||||||
@@ -275,20 +262,8 @@ OC.L10N.register(
|
|||||||
"Keyboard shortcut" : "键盘快捷键",
|
"Keyboard shortcut" : "键盘快捷键",
|
||||||
"Action" : "操作",
|
"Action" : "操作",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
"Close card details" : "关闭卡详细信息",
|
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "搜索",
|
"Search" : "搜索",
|
||||||
"Show card filters" : "显示卡片过滤器",
|
|
||||||
"Clear card filters" : "清除卡片过滤器",
|
|
||||||
"Show help dialog" : "显示帮助对话框",
|
|
||||||
"Card actions" : "卡片操作",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "可以在当前突出显示的卡上触发以下操作",
|
|
||||||
"Open card details" : "打开卡片详细信息",
|
|
||||||
"Edit the card title" : "编辑卡片标题",
|
|
||||||
"Assign yourself to the current card" : "将自己分配给当前卡片",
|
|
||||||
"Archive/unarchive the current card" : "存档/取消存档当前卡片",
|
|
||||||
"Mark card as completed/not completed" : "将卡片标记为已完成/未完成",
|
|
||||||
"Open card menu" : "打开卡片菜单",
|
|
||||||
"All boards" : "全部面板",
|
"All boards" : "全部面板",
|
||||||
"Archived boards" : "已归档面板",
|
"Archived boards" : "已归档面板",
|
||||||
"Shared with you" : "收到的共享",
|
"Shared with you" : "收到的共享",
|
||||||
@@ -296,8 +271,6 @@ OC.L10N.register(
|
|||||||
"Use bigger card view" : "使用较大的卡片视图",
|
"Use bigger card view" : "使用较大的卡片视图",
|
||||||
"Show card ID badge" : "显示卡片ID序号",
|
"Show card ID badge" : "显示卡片ID序号",
|
||||||
"Show boards in calendar/tasks" : "在日历/任务中显示看板",
|
"Show boards in calendar/tasks" : "在日历/任务中显示看板",
|
||||||
"Limit board creation to some groups" : "限制某些组可以创建看板",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "这些组之外的用户将无法创建自己的看板,但仍然可以在与他们共享的看板上工作。",
|
|
||||||
"Board details" : "面板详情",
|
"Board details" : "面板详情",
|
||||||
"Edit board" : "编辑面板",
|
"Edit board" : "编辑面板",
|
||||||
"Clone board" : "克隆面板",
|
"Clone board" : "克隆面板",
|
||||||
@@ -338,8 +311,6 @@ OC.L10N.register(
|
|||||||
"Open card" : "打开卡片",
|
"Open card" : "打开卡片",
|
||||||
"Close" : "关闭",
|
"Close" : "关闭",
|
||||||
"No upcoming cards" : "没有即将到来的卡片",
|
"No upcoming cards" : "没有即将到来的卡片",
|
||||||
"upcoming cards today" : "今天即将推出的卡片",
|
|
||||||
"upcoming cards tomorrow" : "明天即将推出的卡片",
|
|
||||||
"upcoming cards" : "即将到来的卡片",
|
"upcoming cards" : "即将到来的卡片",
|
||||||
"New card" : "新卡片",
|
"New card" : "新卡片",
|
||||||
"Due on {date}" : "于 {date} 到期 ",
|
"Due on {date}" : "于 {date} 到期 ",
|
||||||
|
|||||||
@@ -66,8 +66,6 @@
|
|||||||
"A <strong>board, list or card</strong> was changed" : "<strong>面板、列表或卡片</strong>已更新",
|
"A <strong>board, list or card</strong> was changed" : "<strong>面板、列表或卡片</strong>已更新",
|
||||||
"A <strong>comment</strong> was created on a card" : "卡片上创建了一个 <strong>评论</strong>",
|
"A <strong>comment</strong> was created on a card" : "卡片上创建了一个 <strong>评论</strong>",
|
||||||
"A <strong>card description</strong> has been changed" : "<strong>卡片描述</strong>已更新",
|
"A <strong>card description</strong> has been changed" : "<strong>卡片描述</strong>已更新",
|
||||||
"Cards due today" : "今天到期的卡片",
|
|
||||||
"Cards due tomorrow" : "卡片明天到期",
|
|
||||||
"Upcoming cards" : "即将到来的卡片",
|
"Upcoming cards" : "即将到来的卡片",
|
||||||
"Load more" : "加载更多",
|
"Load more" : "加载更多",
|
||||||
"Personal" : "个人",
|
"Personal" : "个人",
|
||||||
@@ -146,13 +144,9 @@
|
|||||||
"Next 30 days" : "未来30天",
|
"Next 30 days" : "未来30天",
|
||||||
"No due date" : "无截止日期",
|
"No due date" : "无截止日期",
|
||||||
"Clear filter" : "清除筛选",
|
"Clear filter" : "清除筛选",
|
||||||
"View Modes" : "视图模式",
|
|
||||||
"Toggle View Modes" : "切换视图模式",
|
|
||||||
"Hide archived cards" : "隐藏已归档卡片",
|
"Hide archived cards" : "隐藏已归档卡片",
|
||||||
"Show archived cards" : "显示已归档卡片",
|
"Show archived cards" : "显示已归档卡片",
|
||||||
"Toggle compact mode" : "切换简洁模式",
|
"Toggle compact mode" : "切换简洁模式",
|
||||||
"Hide card cover images" : "隐藏卡片封面图片",
|
|
||||||
"Show card cover images" : "显示卡片封面图片",
|
|
||||||
"Open details" : "打开详情",
|
"Open details" : "打开详情",
|
||||||
"Details" : "详情",
|
"Details" : "详情",
|
||||||
"Currently present people" : "当前在线的人",
|
"Currently present people" : "当前在线的人",
|
||||||
@@ -239,19 +233,13 @@
|
|||||||
"Choose attachment" : "选择附件",
|
"Choose attachment" : "选择附件",
|
||||||
"Assign a due date to this card…" : "为此卡片指派截止日期 …",
|
"Assign a due date to this card…" : "为此卡片指派截止日期 …",
|
||||||
"Set a due date" : "设置截止日期",
|
"Set a due date" : "设置截止日期",
|
||||||
"Add due date" : "添加截止日期",
|
|
||||||
"Choose a date" : "选择日期",
|
|
||||||
"Remove due date" : "移除截止日期",
|
"Remove due date" : "移除截止日期",
|
||||||
"Completed" : "已完成",
|
"Completed" : "已完成",
|
||||||
"Due at:" : "到期日:",
|
|
||||||
"Not completed" : "没完成",
|
"Not completed" : "没完成",
|
||||||
"Unarchive card" : "撤销对卡片的归档",
|
"Unarchive card" : "撤销对卡片的归档",
|
||||||
"Archive card" : "归档卡片",
|
"Archive card" : "归档卡片",
|
||||||
"Select Date" : "选择日期",
|
"Select Date" : "选择日期",
|
||||||
"Set due date for later today" : "将截止日期设置为今天晚些时候",
|
|
||||||
"Set due date for tomorrow" : "设定明天的截止日期",
|
|
||||||
"Assign a tag to this card…" : "为该卡片分配标签…",
|
"Assign a tag to this card…" : "为该卡片分配标签…",
|
||||||
"Create a new tag:" : "创建一个新标签:",
|
|
||||||
"(group)" : "(组)",
|
"(group)" : "(组)",
|
||||||
"Next week – {timeLocale}" : "下周 – {timeLocale}",
|
"Next week – {timeLocale}" : "下周 – {timeLocale}",
|
||||||
"Todo items" : "待办事项",
|
"Todo items" : "待办事项",
|
||||||
@@ -260,7 +248,6 @@
|
|||||||
"Card details" : "卡片详情",
|
"Card details" : "卡片详情",
|
||||||
"Assign to me" : "指派给我",
|
"Assign to me" : "指派给我",
|
||||||
"Unassign myself" : "不再指派给我",
|
"Unassign myself" : "不再指派给我",
|
||||||
"Mark as not done" : "标记为未完成",
|
|
||||||
"Mark as done" : "标记为已完成",
|
"Mark as done" : "标记为已完成",
|
||||||
"Move card" : "移动卡片",
|
"Move card" : "移动卡片",
|
||||||
"Delete card" : "删除卡片",
|
"Delete card" : "删除卡片",
|
||||||
@@ -273,20 +260,8 @@
|
|||||||
"Keyboard shortcut" : "键盘快捷键",
|
"Keyboard shortcut" : "键盘快捷键",
|
||||||
"Action" : "操作",
|
"Action" : "操作",
|
||||||
"Shift" : "Shift",
|
"Shift" : "Shift",
|
||||||
"Close card details" : "关闭卡详细信息",
|
|
||||||
"Ctrl" : "Ctrl",
|
"Ctrl" : "Ctrl",
|
||||||
"Search" : "搜索",
|
"Search" : "搜索",
|
||||||
"Show card filters" : "显示卡片过滤器",
|
|
||||||
"Clear card filters" : "清除卡片过滤器",
|
|
||||||
"Show help dialog" : "显示帮助对话框",
|
|
||||||
"Card actions" : "卡片操作",
|
|
||||||
"The following actions can be triggered on the currently highlighted card" : "可以在当前突出显示的卡上触发以下操作",
|
|
||||||
"Open card details" : "打开卡片详细信息",
|
|
||||||
"Edit the card title" : "编辑卡片标题",
|
|
||||||
"Assign yourself to the current card" : "将自己分配给当前卡片",
|
|
||||||
"Archive/unarchive the current card" : "存档/取消存档当前卡片",
|
|
||||||
"Mark card as completed/not completed" : "将卡片标记为已完成/未完成",
|
|
||||||
"Open card menu" : "打开卡片菜单",
|
|
||||||
"All boards" : "全部面板",
|
"All boards" : "全部面板",
|
||||||
"Archived boards" : "已归档面板",
|
"Archived boards" : "已归档面板",
|
||||||
"Shared with you" : "收到的共享",
|
"Shared with you" : "收到的共享",
|
||||||
@@ -294,8 +269,6 @@
|
|||||||
"Use bigger card view" : "使用较大的卡片视图",
|
"Use bigger card view" : "使用较大的卡片视图",
|
||||||
"Show card ID badge" : "显示卡片ID序号",
|
"Show card ID badge" : "显示卡片ID序号",
|
||||||
"Show boards in calendar/tasks" : "在日历/任务中显示看板",
|
"Show boards in calendar/tasks" : "在日历/任务中显示看板",
|
||||||
"Limit board creation to some groups" : "限制某些组可以创建看板",
|
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "这些组之外的用户将无法创建自己的看板,但仍然可以在与他们共享的看板上工作。",
|
|
||||||
"Board details" : "面板详情",
|
"Board details" : "面板详情",
|
||||||
"Edit board" : "编辑面板",
|
"Edit board" : "编辑面板",
|
||||||
"Clone board" : "克隆面板",
|
"Clone board" : "克隆面板",
|
||||||
@@ -336,8 +309,6 @@
|
|||||||
"Open card" : "打开卡片",
|
"Open card" : "打开卡片",
|
||||||
"Close" : "关闭",
|
"Close" : "关闭",
|
||||||
"No upcoming cards" : "没有即将到来的卡片",
|
"No upcoming cards" : "没有即将到来的卡片",
|
||||||
"upcoming cards today" : "今天即将推出的卡片",
|
|
||||||
"upcoming cards tomorrow" : "明天即将推出的卡片",
|
|
||||||
"upcoming cards" : "即将到来的卡片",
|
"upcoming cards" : "即将到来的卡片",
|
||||||
"New card" : "新卡片",
|
"New card" : "新卡片",
|
||||||
"Due on {date}" : "于 {date} 到期 ",
|
"Due on {date}" : "于 {date} 到期 ",
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ OC.L10N.register(
|
|||||||
"Personal" : "個人",
|
"Personal" : "個人",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。",
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。",
|
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "\"%s\" 中的卡片 \"%s\" 已到期。",
|
"The card \"%s\" on \"%s\" has reached its due date." : "\"%s\"中的卡片 \"%s\" 已到期。",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "deck-board} 中的卡片{deck-card} 已到期。",
|
"The card {deck-card} on {deck-board} has reached its due date." : "deck-board} 中的卡片{deck-card} 已到期。",
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的意見中提到了您。",
|
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的意見中提到了您。",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deckcard} 的意見中提到了您。",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deckcard} 的意見中提到了您。",
|
||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "卡片被刪除",
|
"Card deleted" : "卡片被刪除",
|
||||||
"seconds ago" : "幾秒前",
|
"seconds ago" : "幾秒前",
|
||||||
"Keyboard shortcuts" : "鍵盤快捷鍵",
|
"Keyboard shortcuts" : "鍵盤快捷鍵",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "提高您的生產力,在 Deck 上使用鍵盤快捷鍵。",
|
"Speed up using Deck with simple shortcuts." : "使用簡單的快捷鍵加速使用 Deck。",
|
||||||
"Board actions" : "面板操作",
|
"Board actions" : "面板操作",
|
||||||
"Keyboard shortcut" : "鍵盤快捷鍵",
|
"Keyboard shortcut" : "鍵盤快捷鍵",
|
||||||
"Action" : "操作",
|
"Action" : "操作",
|
||||||
|
|||||||
@@ -77,7 +77,7 @@
|
|||||||
"Personal" : "個人",
|
"Personal" : "個人",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。",
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。",
|
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "\"%s\" 中的卡片 \"%s\" 已到期。",
|
"The card \"%s\" on \"%s\" has reached its due date." : "\"%s\"中的卡片 \"%s\" 已到期。",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "deck-board} 中的卡片{deck-card} 已到期。",
|
"The card {deck-card} on {deck-board} has reached its due date." : "deck-board} 中的卡片{deck-card} 已到期。",
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的意見中提到了您。",
|
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的意見中提到了您。",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deckcard} 的意見中提到了您。",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deckcard} 的意見中提到了您。",
|
||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "卡片被刪除",
|
"Card deleted" : "卡片被刪除",
|
||||||
"seconds ago" : "幾秒前",
|
"seconds ago" : "幾秒前",
|
||||||
"Keyboard shortcuts" : "鍵盤快捷鍵",
|
"Keyboard shortcuts" : "鍵盤快捷鍵",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "提高您的生產力,在 Deck 上使用鍵盤快捷鍵。",
|
"Speed up using Deck with simple shortcuts." : "使用簡單的快捷鍵加速使用 Deck。",
|
||||||
"Board actions" : "面板操作",
|
"Board actions" : "面板操作",
|
||||||
"Keyboard shortcut" : "鍵盤快捷鍵",
|
"Keyboard shortcut" : "鍵盤快捷鍵",
|
||||||
"Action" : "操作",
|
"Action" : "操作",
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ OC.L10N.register(
|
|||||||
"Card deleted" : "卡片已刪除",
|
"Card deleted" : "卡片已刪除",
|
||||||
"seconds ago" : "幾秒前",
|
"seconds ago" : "幾秒前",
|
||||||
"Keyboard shortcuts" : "鍵盤快速鍵",
|
"Keyboard shortcuts" : "鍵盤快速鍵",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "在 Deck 上利用鍵盤快捷鍵提高您的生產力。",
|
"Speed up using Deck with simple shortcuts." : "使用簡單的快捷鍵加速使用 Deck。",
|
||||||
"Board actions" : "看板動作",
|
"Board actions" : "看板動作",
|
||||||
"Keyboard shortcut" : "鍵盤快捷鍵",
|
"Keyboard shortcut" : "鍵盤快捷鍵",
|
||||||
"Action" : "動作",
|
"Action" : "動作",
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
"Card deleted" : "卡片已刪除",
|
"Card deleted" : "卡片已刪除",
|
||||||
"seconds ago" : "幾秒前",
|
"seconds ago" : "幾秒前",
|
||||||
"Keyboard shortcuts" : "鍵盤快速鍵",
|
"Keyboard shortcuts" : "鍵盤快速鍵",
|
||||||
"Boost your productivity using Deck with keyboard shortcuts." : "在 Deck 上利用鍵盤快捷鍵提高您的生產力。",
|
"Speed up using Deck with simple shortcuts." : "使用簡單的快捷鍵加速使用 Deck。",
|
||||||
"Board actions" : "看板動作",
|
"Board actions" : "看板動作",
|
||||||
"Keyboard shortcut" : "鍵盤快捷鍵",
|
"Keyboard shortcut" : "鍵盤快捷鍵",
|
||||||
"Action" : "動作",
|
"Action" : "動作",
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
|
|||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\Server;
|
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
|
use OCP\Server;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
class ActivityManager {
|
class ActivityManager {
|
||||||
@@ -333,8 +333,8 @@ class ActivityManager {
|
|||||||
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
|
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
|
||||||
case self::SUBJECT_BOARD_DELETE:
|
case self::SUBJECT_BOARD_DELETE:
|
||||||
case self::SUBJECT_BOARD_RESTORE:
|
case self::SUBJECT_BOARD_RESTORE:
|
||||||
// Not defined as there is no activity for
|
// Not defined as there is no activity for
|
||||||
// case self::SUBJECT_BOARD_UPDATE_COLOR
|
// case self::SUBJECT_BOARD_UPDATE_COLOR
|
||||||
break;
|
break;
|
||||||
case self::SUBJECT_CARD_COMMENT_CREATE:
|
case self::SUBJECT_CARD_COMMENT_CREATE:
|
||||||
$eventType = 'deck_comment';
|
$eventType = 'deck_comment';
|
||||||
@@ -375,7 +375,7 @@ class ActivityManager {
|
|||||||
$additionalParams['before'] = $additionalParams['before']->format('c');
|
$additionalParams['before'] = $additionalParams['before']->format('c');
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case self::SUBJECT_ATTACHMENT_CREATE:
|
case self::SUBJECT_ATTACHMENT_CREATE:
|
||||||
case self::SUBJECT_ATTACHMENT_UPDATE:
|
case self::SUBJECT_ATTACHMENT_UPDATE:
|
||||||
case self::SUBJECT_ATTACHMENT_DELETE:
|
case self::SUBJECT_ATTACHMENT_DELETE:
|
||||||
@@ -556,9 +556,9 @@ class ActivityManager {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canSeeCardActivity(int $cardId, string $userId): bool {
|
public function canSeeCardActivity(int $cardId): bool {
|
||||||
try {
|
try {
|
||||||
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ, $userId);
|
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
|
||||||
$card = $this->cardMapper->find($cardId);
|
$card = $this->cardMapper->find($cardId);
|
||||||
return $card->getDeletedAt() === 0;
|
return $card->getDeletedAt() === 0;
|
||||||
} catch (NoPermissionException $e) {
|
} catch (NoPermissionException $e) {
|
||||||
@@ -566,9 +566,9 @@ class ActivityManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canSeeBoardActivity(int $boardId, string $userId): bool {
|
public function canSeeBoardActivity(int $boardId): bool {
|
||||||
try {
|
try {
|
||||||
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ, $userId);
|
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
|
||||||
$board = $this->boardMapper->find($boardId);
|
$board = $this->boardMapper->find($boardId);
|
||||||
return $board->getDeletedAt() === 0;
|
return $board->getDeletedAt() === 0;
|
||||||
} catch (NoPermissionException $e) {
|
} catch (NoPermissionException $e) {
|
||||||
|
|||||||
@@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
use \OCP\Comments\ICommentsEventHandler;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCP\Comments\CommentsEvent;
|
use OCP\Comments\CommentsEvent;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use \OCP\Comments\ICommentsEventHandler;
|
|
||||||
|
|
||||||
class CommentEventHandler implements ICommentsEventHandler {
|
class CommentEventHandler implements ICommentsEventHandler {
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
use OCP\Activity\IProvider;
|
use OCP\Activity\IProvider;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
@@ -35,7 +36,6 @@ use OCP\IConfig;
|
|||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class DeckProvider implements IProvider {
|
class DeckProvider implements IProvider {
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ class DeckProvider implements IProvider {
|
|||||||
$event->setAuthor($author);
|
$event->setAuthor($author);
|
||||||
}
|
}
|
||||||
if ($event->getObjectType() === ActivityManager::DECK_OBJECT_BOARD) {
|
if ($event->getObjectType() === ActivityManager::DECK_OBJECT_BOARD) {
|
||||||
if (!$this->activityManager->canSeeBoardActivity($event->getObjectId(), $event->getAffectedUser())) {
|
if (!$this->activityManager->canSeeBoardActivity($event->getObjectId())) {
|
||||||
throw new \InvalidArgumentException();
|
throw new \InvalidArgumentException();
|
||||||
}
|
}
|
||||||
if (isset($subjectParams['board']) && $event->getObjectName() === '') {
|
if (isset($subjectParams['board']) && $event->getObjectName() === '') {
|
||||||
@@ -128,7 +128,7 @@ class DeckProvider implements IProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($subjectParams['card']) && $event->getObjectType() === ActivityManager::DECK_OBJECT_CARD) {
|
if (isset($subjectParams['card']) && $event->getObjectType() === ActivityManager::DECK_OBJECT_CARD) {
|
||||||
if (!$this->activityManager->canSeeCardActivity($event->getObjectId(), $event->getAffectedUser())) {
|
if (!$this->activityManager->canSeeCardActivity($event->getObjectId())) {
|
||||||
throw new \InvalidArgumentException();
|
throw new \InvalidArgumentException();
|
||||||
}
|
}
|
||||||
if ($event->getObjectName() === '') {
|
if ($event->getObjectName() === '') {
|
||||||
@@ -192,28 +192,28 @@ class DeckProvider implements IProvider {
|
|||||||
|
|
||||||
private function getIcon(IEvent $event) {
|
private function getIcon(IEvent $event) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'deck-dark.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'deck-dark.svg')));
|
||||||
if (strpos($event->getSubject(), '_update') !== false) {
|
if (str_contains($event->getSubject(), '_update')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'change.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'change.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), '_create') !== false) {
|
if (str_contains($event->getSubject(), '_create')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'add-color.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'add-color.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), '_delete') !== false) {
|
if (str_contains($event->getSubject(), '_delete')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'delete-color.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('files', 'delete-color.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), 'archive') !== false) {
|
if (str_contains($event->getSubject(), 'archive')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'archive.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('deck', 'archive.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), '_restore') !== false) {
|
if (str_contains($event->getSubject(), '_restore')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/history.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/history.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), 'attachment_') !== false) {
|
if (str_contains($event->getSubject(), 'attachment_')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'places/files.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'places/files.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), 'comment_') !== false) {
|
if (str_contains($event->getSubject(), 'comment_')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/comment.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/comment.svg')));
|
||||||
}
|
}
|
||||||
if (strpos($event->getSubject(), 'label_') !== false) {
|
if (str_contains($event->getSubject(), 'label_')) {
|
||||||
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/tag.svg')));
|
$event->setIcon($this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/tag.svg')));
|
||||||
}
|
}
|
||||||
return $event;
|
return $event;
|
||||||
|
|||||||
@@ -43,22 +43,24 @@ use OCA\Deck\Event\CardUpdatedEvent;
|
|||||||
use OCA\Deck\Event\SessionClosedEvent;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
|
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
|
||||||
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
|
||||||
use OCA\Deck\Listeners\FullTextSearchEventListener;
|
use OCA\Deck\Listeners\FullTextSearchEventListener;
|
||||||
|
use OCA\Deck\Listeners\LiveUpdateListener;
|
||||||
|
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
||||||
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
|
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
|
||||||
use OCA\Deck\Listeners\ResourceListener;
|
use OCA\Deck\Listeners\ResourceListener;
|
||||||
use OCA\Deck\Listeners\LiveUpdateListener;
|
|
||||||
use OCA\Deck\Middleware\DefaultBoardMiddleware;
|
use OCA\Deck\Middleware\DefaultBoardMiddleware;
|
||||||
use OCA\Deck\Middleware\ExceptionMiddleware;
|
use OCA\Deck\Middleware\ExceptionMiddleware;
|
||||||
use OCA\Deck\Notification\Notifier;
|
use OCA\Deck\Notification\Notifier;
|
||||||
use OCA\Deck\Reference\BoardReferenceProvider;
|
use OCA\Deck\Reference\BoardReferenceProvider;
|
||||||
use OCA\Deck\Reference\CardReferenceProvider;
|
use OCA\Deck\Reference\CardReferenceProvider;
|
||||||
use OCA\Deck\Reference\CommentReferenceProvider;
|
use OCA\Deck\Reference\CommentReferenceProvider;
|
||||||
|
use OCA\Deck\Reference\CreateCardReferenceProvider;
|
||||||
use OCA\Deck\Search\CardCommentProvider;
|
use OCA\Deck\Search\CardCommentProvider;
|
||||||
use OCA\Deck\Search\DeckProvider;
|
use OCA\Deck\Search\DeckProvider;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCA\Deck\Sharing\DeckShareProvider;
|
use OCA\Deck\Sharing\DeckShareProvider;
|
||||||
use OCA\Deck\Sharing\Listener;
|
use OCA\Deck\Sharing\Listener;
|
||||||
|
use OCA\Text\Event\LoadEditor;
|
||||||
use OCP\AppFramework\App;
|
use OCP\AppFramework\App;
|
||||||
use OCP\AppFramework\Bootstrap\IBootContext;
|
use OCP\AppFramework\Bootstrap\IBootContext;
|
||||||
use OCP\AppFramework\Bootstrap\IBootstrap;
|
use OCP\AppFramework\Bootstrap\IBootstrap;
|
||||||
@@ -83,6 +85,8 @@ class Application extends App implements IBootstrap {
|
|||||||
|
|
||||||
public const COMMENT_ENTITY_TYPE = 'deckCard';
|
public const COMMENT_ENTITY_TYPE = 'deckCard';
|
||||||
|
|
||||||
|
private $referenceLoaded = false;
|
||||||
|
|
||||||
public function __construct(array $urlParams = []) {
|
public function __construct(array $urlParams = []) {
|
||||||
parent::__construct(self::APP_ID, $urlParams);
|
parent::__construct(self::APP_ID, $urlParams);
|
||||||
|
|
||||||
@@ -90,8 +94,12 @@ class Application extends App implements IBootstrap {
|
|||||||
// (and use a listener class)
|
// (and use a listener class)
|
||||||
$container = $this->getContainer();
|
$container = $this->getContainer();
|
||||||
$eventDispatcher = $container->get(IEventDispatcher::class);
|
$eventDispatcher = $container->get(IEventDispatcher::class);
|
||||||
$eventDispatcher->addListener(RenderReferenceEvent::class, function () {
|
$eventDispatcher->addListener(RenderReferenceEvent::class, function (RenderReferenceEvent $e) use ($eventDispatcher) {
|
||||||
Util::addScript(self::APP_ID, self::APP_ID . '-reference');
|
Util::addScript(self::APP_ID, self::APP_ID . '-reference');
|
||||||
|
if (!$this->referenceLoaded && class_exists(LoadEditor::class)) {
|
||||||
|
$this->referenceLoaded = true;
|
||||||
|
$eventDispatcher->dispatchTyped(new LoadEditor());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,6 +137,8 @@ class Application extends App implements IBootstrap {
|
|||||||
$context->registerSearchProvider(CardCommentProvider::class);
|
$context->registerSearchProvider(CardCommentProvider::class);
|
||||||
$context->registerDashboardWidget(DeckWidget::class);
|
$context->registerDashboardWidget(DeckWidget::class);
|
||||||
|
|
||||||
|
$context->registerReferenceProvider(CreateCardReferenceProvider::class);
|
||||||
|
|
||||||
// reference widget
|
// reference widget
|
||||||
$context->registerReferenceProvider(CardReferenceProvider::class);
|
$context->registerReferenceProvider(CardReferenceProvider::class);
|
||||||
$context->registerReferenceProvider(BoardReferenceProvider::class);
|
$context->registerReferenceProvider(BoardReferenceProvider::class);
|
||||||
|
|||||||
@@ -22,11 +22,11 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\AttachmentService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\AttachmentService;
|
|
||||||
|
|
||||||
class AttachmentApiController extends ApiController {
|
class AttachmentApiController extends ApiController {
|
||||||
private $attachmentService;
|
private $attachmentService;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class AttachmentController extends Controller {
|
|||||||
* @throws \OCA\Deck\NotFoundException
|
* @throws \OCA\Deck\NotFoundException
|
||||||
*/
|
*/
|
||||||
public function display($cardId, $attachmentId) {
|
public function display($cardId, $attachmentId) {
|
||||||
if (strpos($attachmentId, ':') === false) {
|
if (!str_contains($attachmentId, ':')) {
|
||||||
$type = 'deck_file';
|
$type = 'deck_file';
|
||||||
} else {
|
} else {
|
||||||
[$type, $attachmentId] = explode(':', $attachmentId);
|
[$type, $attachmentId] = explode(':', $attachmentId);
|
||||||
@@ -76,7 +76,7 @@ class AttachmentController extends Controller {
|
|||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
*/
|
*/
|
||||||
public function update($cardId, $attachmentId) {
|
public function update($cardId, $attachmentId) {
|
||||||
if (strpos($attachmentId, ':') === false) {
|
if (!str_contains($attachmentId, ':')) {
|
||||||
$type = 'deck_file';
|
$type = 'deck_file';
|
||||||
} else {
|
} else {
|
||||||
[$type, $attachmentId] = explode(':', $attachmentId);
|
[$type, $attachmentId] = explode(':', $attachmentId);
|
||||||
@@ -88,7 +88,7 @@ class AttachmentController extends Controller {
|
|||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
*/
|
*/
|
||||||
public function delete($cardId, $attachmentId) {
|
public function delete($cardId, $attachmentId) {
|
||||||
if (strpos($attachmentId, ':') === false) {
|
if (!str_contains($attachmentId, ':')) {
|
||||||
$type = 'deck_file';
|
$type = 'deck_file';
|
||||||
} else {
|
} else {
|
||||||
[$type, $attachmentId] = explode(':', $attachmentId);
|
[$type, $attachmentId] = explode(':', $attachmentId);
|
||||||
@@ -100,7 +100,7 @@ class AttachmentController extends Controller {
|
|||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
*/
|
*/
|
||||||
public function restore($cardId, $attachmentId) {
|
public function restore($cardId, $attachmentId) {
|
||||||
if (strpos($attachmentId, ':') === false) {
|
if (!str_contains($attachmentId, ':')) {
|
||||||
$type = 'deck_file';
|
$type = 'deck_file';
|
||||||
} else {
|
} else {
|
||||||
[$type, $attachmentId] = explode(':', $attachmentId);
|
[$type, $attachmentId] = explode(':', $attachmentId);
|
||||||
|
|||||||
@@ -25,13 +25,13 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
|
||||||
|
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCP\IRequest;
|
||||||
use Sabre\HTTP\Util;
|
use Sabre\HTTP\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,20 +23,20 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\IRequest;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCP\IRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class CardApiController extends ApiController {
|
class CardApiController extends ApiController {
|
||||||
private $cardService;
|
private $cardService;
|
||||||
private $userId;
|
private $userId;
|
||||||
@@ -81,8 +81,17 @@ class CardApiController extends ApiController {
|
|||||||
*
|
*
|
||||||
* Get a specific card.
|
* Get a specific card.
|
||||||
*/
|
*/
|
||||||
public function create($title, $type = 'plain', $order = 999, $description = '', $duedate = null) {
|
public function create($title, $type = 'plain', $order = 999, $description = '', $duedate = null, $labels = [], $users = []) {
|
||||||
$card = $this->cardService->create($title, $this->request->getParam('stackId'), $type, $order, $this->userId, $description, $duedate);
|
$card = $this->cardService->create($title, $this->request->getParam('stackId'), $type, $order, $this->userId, $description, $duedate);
|
||||||
|
|
||||||
|
foreach ($labels as $labelId) {
|
||||||
|
$this->cardService->assignLabel($card->id, $labelId);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($users as $user) {
|
||||||
|
$this->assignmentService->assignUser($card->id, $user['id'], $user['type']);
|
||||||
|
}
|
||||||
|
|
||||||
return new DataResponse($card, HTTP::STATUS_OK);
|
return new DataResponse($card, HTTP::STATUS_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ namespace OCA\Deck\Controller;
|
|||||||
|
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class CardController extends Controller {
|
class CardController extends Controller {
|
||||||
private $userId;
|
private $userId;
|
||||||
@@ -78,8 +78,18 @@ class CardController extends Controller {
|
|||||||
* @param int $order
|
* @param int $order
|
||||||
* @return \OCP\AppFramework\Db\Entity
|
* @return \OCP\AppFramework\Db\Entity
|
||||||
*/
|
*/
|
||||||
public function create($title, $stackId, $type = 'plain', $order = 999, string $description = '') {
|
public function create($title, $stackId, $type = 'plain', $order = 999, string $description = '', $duedate = null, $labels = [], $users = []) {
|
||||||
return $this->cardService->create($title, $stackId, $type, $order, $this->userId, $description);
|
$card = $this->cardService->create($title, $stackId, $type, $order, $this->userId, $description, $duedate);
|
||||||
|
|
||||||
|
foreach ($labels as $label) {
|
||||||
|
$this->assignLabel($card->id, $label);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($users as $user) {
|
||||||
|
$this->assignmentService->assignUser($card->id, $user['id'], $user['type']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $card;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class ConfigController extends OCSController {
|
|||||||
$AppName,
|
$AppName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
ConfigService $configService
|
ConfigService $configService
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->configService = $configService;
|
$this->configService = $configService;
|
||||||
|
|||||||
@@ -23,11 +23,11 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\LabelService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\LabelService;
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class LabelController extends Controller {
|
class LabelController extends Controller {
|
||||||
private $labelService;
|
private $labelService;
|
||||||
|
|||||||
@@ -23,25 +23,25 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use \OCP\AppFramework\Http\RedirectResponse;
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
|
use OCA\Deck\Db\Acl;
|
||||||
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCA\Deck\Service\ConfigService;
|
use OCA\Deck\Service\ConfigService;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCA\Files\Event\LoadSidebar;
|
use OCA\Files\Event\LoadSidebar;
|
||||||
use OCA\Text\Event\LoadEditor;
|
use OCA\Text\Event\LoadEditor;
|
||||||
use OCA\Viewer\Event\LoadViewer;
|
use OCA\Viewer\Event\LoadViewer;
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||||
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
|
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IInitialStateService;
|
use OCP\IInitialStateService;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
use OCA\Deck\Db\CardMapper;
|
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use \OCP\AppFramework\Http\RedirectResponse;
|
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class PageController extends Controller {
|
class PageController extends Controller {
|
||||||
private PermissionService $permissionService;
|
private PermissionService $permissionService;
|
||||||
@@ -64,7 +64,7 @@ class PageController extends Controller {
|
|||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
CardService $cardService,
|
CardService $cardService,
|
||||||
IConfig $config
|
IConfig $config
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->permissionService = $permissionService;
|
$this->permissionService = $permissionService;
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\SessionService;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Service\PermissionService;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
|
use OCA\Deck\Service\PermissionService;
|
||||||
|
use OCA\Deck\Service\SessionService;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\AppFramework\OCSController;
|
use OCP\AppFramework\OCSController;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
|
|
||||||
class SessionController extends OCSController {
|
class SessionController extends OCSController {
|
||||||
private SessionService $sessionService;
|
private SessionService $sessionService;
|
||||||
|
|||||||
@@ -24,13 +24,13 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCA\Deck\Service\StackService;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\StackService;
|
|
||||||
use OCA\Deck\Service\BoardService;
|
|
||||||
use Sabre\HTTP\Util;
|
use Sabre\HTTP\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ namespace OCA\Deck\Controller;
|
|||||||
|
|
||||||
use OCA\Deck\Service\StackService;
|
use OCA\Deck\Service\StackService;
|
||||||
|
|
||||||
use OCP\IRequest;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class StackController extends Controller {
|
class StackController extends Controller {
|
||||||
private $userId;
|
private $userId;
|
||||||
private $stackService;
|
private $stackService;
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\Job;
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
|
use OCP\BackgroundJob\Job;
|
||||||
|
|
||||||
class CardDescriptionActivity extends Job {
|
class CardDescriptionActivity extends Job {
|
||||||
|
|
||||||
|
|||||||
@@ -24,14 +24,14 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\TimedJob;
|
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
use OCA\Deck\Db\AttachmentMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\InvalidAttachmentType;
|
use OCA\Deck\InvalidAttachmentType;
|
||||||
use OCA\Deck\Service\AttachmentService;
|
use OCA\Deck\Service\AttachmentService;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\BackgroundJob\IJob;
|
use OCP\BackgroundJob\IJob;
|
||||||
|
use OCP\BackgroundJob\TimedJob;
|
||||||
|
|
||||||
class DeleteCron extends TimedJob {
|
class DeleteCron extends TimedJob {
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\Job;
|
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
|
use OCP\BackgroundJob\Job;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
|
||||||
class ScheduledNotifications extends Job {
|
class ScheduledNotifications extends Job {
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ class SessionsCleanup extends TimedJob {
|
|||||||
|
|
||||||
|
|
||||||
public function __construct(ITimeFactory $time,
|
public function __construct(ITimeFactory $time,
|
||||||
SessionService $sessionService,
|
SessionService $sessionService,
|
||||||
ILogger $logger) {
|
ILogger $logger) {
|
||||||
parent::__construct($time);
|
parent::__construct($time);
|
||||||
$this->sessionService = $sessionService;
|
$this->sessionService = $sessionService;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
|
|||||||
use OCP\AppFramework\Db\QBMapper;
|
use OCP\AppFramework\Db\QBMapper;
|
||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
|
use OCP\IUserManager;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
/** @template-extends QBMapper<Board> */
|
/** @template-extends QBMapper<Board> */
|
||||||
@@ -159,7 +159,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
|
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
|
||||||
?string $term = null): array {
|
?string $term = null): array {
|
||||||
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
|
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
|
||||||
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
|
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
|
||||||
$groups = $this->groupManager->getUserGroupIds(
|
$groups = $this->groupManager->getUserGroupIds(
|
||||||
@@ -198,7 +198,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
* Find all boards for a given user
|
* Find all boards for a given user
|
||||||
*/
|
*/
|
||||||
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
||||||
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
|
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
|
||||||
// Is it possible with the query builder?
|
// Is it possible with the query builder?
|
||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
@@ -305,7 +305,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
* Find all boards for a given user
|
* Find all boards for a given user
|
||||||
*/
|
*/
|
||||||
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
||||||
if (count($groups) <= 0) {
|
if (count($groups) <= 0) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@@ -359,7 +359,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
||||||
$circles = $this->circlesService->getUserCircles($userId);
|
$circles = $this->circlesService->getUserCircles($userId);
|
||||||
if (count($circles) === 0) {
|
if (count($circles) === 0) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -306,8 +306,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->select('id', 'title', 'duedate', 'notified', 'description_prev', 'last_editor', 'description')
|
$qb->select('id', 'title', 'duedate', 'notified', 'description_prev', 'last_editor', 'description')
|
||||||
->from('deck_cards')
|
->from('deck_cards')
|
||||||
->where($qb->expr()->isNotNull('last_editor'))
|
->where($qb->expr()->isNotNull('last_editor'));
|
||||||
->andWhere($qb->expr()->isNotNull('description_prev'));
|
|
||||||
return $this->findEntities($qb);
|
return $this->findEntities($qb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
use OCP\ICacheFactory;
|
|
||||||
use OCP\ICache;
|
use OCP\ICache;
|
||||||
|
use OCP\ICacheFactory;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
|
|||||||
$reflection = new \ReflectionClass($this);
|
$reflection = new \ReflectionClass($this);
|
||||||
$json = [];
|
$json = [];
|
||||||
foreach ($properties as $property => $value) {
|
foreach ($properties as $property => $value) {
|
||||||
if (strpos($property, '_') !== 0 && $reflection->hasProperty($property)) {
|
if (!str_starts_with($property, '_') && $reflection->hasProperty($property)) {
|
||||||
$propertyReflection = $reflection->getProperty($property);
|
$propertyReflection = $reflection->getProperty($property);
|
||||||
if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) {
|
if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) {
|
||||||
$json[$property] = $this->getter($property);
|
$json[$property] = $this->getter($property);
|
||||||
@@ -129,7 +129,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
|
|||||||
|
|
||||||
public function __call(string $methodName, array $args) {
|
public function __call(string $methodName, array $args) {
|
||||||
$attr = lcfirst(substr($methodName, 7));
|
$attr = lcfirst(substr($methodName, 7));
|
||||||
if (array_key_exists($attr, $this->_resolvedProperties) && strpos($methodName, 'resolve') === 0) {
|
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'resolve')) {
|
||||||
if ($this->_resolvedProperties[$attr] !== null) {
|
if ($this->_resolvedProperties[$attr] !== null) {
|
||||||
return $this->_resolvedProperties[$attr];
|
return $this->_resolvedProperties[$attr];
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ class RelationalEntity extends Entity implements \JsonSerializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$attr = lcfirst(substr($methodName, 3));
|
$attr = lcfirst(substr($methodName, 3));
|
||||||
if (array_key_exists($attr, $this->_resolvedProperties) && strpos($methodName, 'set') === 0) {
|
if (array_key_exists($attr, $this->_resolvedProperties) && str_starts_with($methodName, 'set')) {
|
||||||
if ($args[0] !== null && !is_scalar($args[0])) {
|
if ($args[0] !== null && !is_scalar($args[0])) {
|
||||||
$args[0] = $args[0]['primaryKey'];
|
$args[0] = $args[0]['primaryKey'];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ use OCP\AppFramework\Db\Entity;
|
|||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\Cache\CappedMemoryCache;
|
use OCP\Cache\CappedMemoryCache;
|
||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\IDBConnection;
|
|
||||||
use OCP\ICache;
|
use OCP\ICache;
|
||||||
use OCP\ICacheFactory;
|
use OCP\ICacheFactory;
|
||||||
|
use OCP\IDBConnection;
|
||||||
|
|
||||||
/** @template-extends DeckMapper<Stack> */
|
/** @template-extends DeckMapper<Stack> */
|
||||||
class StackMapper extends DeckMapper implements IPermissionMapper {
|
class StackMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ class BeforeTemplateRenderedListener implements IEventListener {
|
|||||||
Util::addStyle('deck', 'deck');
|
Util::addStyle('deck', 'deck');
|
||||||
|
|
||||||
$pathInfo = $this->request->getPathInfo();
|
$pathInfo = $this->request->getPathInfo();
|
||||||
if (strpos($pathInfo, '/apps/calendar') === 0) {
|
if (str_starts_with($pathInfo, '/apps/calendar')) {
|
||||||
Util::addScript('deck', 'deck-calendar');
|
Util::addScript('deck', 'deck-calendar');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos($pathInfo, '/call/') === 0 || strpos($pathInfo, '/apps/spreed') === 0) {
|
if (str_starts_with($pathInfo, '/call/') || str_starts_with($pathInfo, '/apps/spreed')) {
|
||||||
Util::addScript('deck', 'deck-talk');
|
Util::addScript('deck', 'deck-talk');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ declare(strict_types=1);
|
|||||||
namespace OCA\Deck\Listeners;
|
namespace OCA\Deck\Listeners;
|
||||||
|
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\NotifyPushEvents;
|
|
||||||
use OCA\Deck\Event\AAclEvent;
|
use OCA\Deck\Event\AAclEvent;
|
||||||
use OCA\Deck\Event\ACardEvent;
|
use OCA\Deck\Event\ACardEvent;
|
||||||
use OCA\Deck\Event\BoardUpdatedEvent;
|
use OCA\Deck\Event\BoardUpdatedEvent;
|
||||||
use OCA\Deck\Event\CardUpdatedEvent;
|
use OCA\Deck\Event\CardUpdatedEvent;
|
||||||
use OCA\Deck\Event\SessionClosedEvent;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
|
use OCA\Deck\NotifyPushEvents;
|
||||||
use OCA\Deck\Service\SessionService;
|
use OCA\Deck\Service\SessionService;
|
||||||
use OCA\NotifyPush\Queue\IQueue;
|
use OCA\NotifyPush\Queue\IQueue;
|
||||||
use OCP\EventDispatcher\Event;
|
use OCP\EventDispatcher\Event;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class ResourceAdditionalScriptsListener implements IEventListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos($this->request->getPathInfo(), '/call/') === 0) {
|
if (str_starts_with($this->request->getPathInfo(), '/call/')) {
|
||||||
// Talk integration has its own entrypoint which already includes collections handling
|
// Talk integration has its own entrypoint which already includes collections handling
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,16 +24,16 @@
|
|||||||
namespace OCA\Deck\Middleware;
|
namespace OCA\Deck\Middleware;
|
||||||
|
|
||||||
use OCA\Deck\Controller\PageController;
|
use OCA\Deck\Controller\PageController;
|
||||||
use OCA\Deck\StatusException;
|
|
||||||
use OCA\Deck\Exceptions\ConflictException;
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Middleware;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use OCP\AppFramework\Middleware;
|
||||||
use OCP\AppFramework\OCS\OCSException;
|
use OCP\AppFramework\OCS\OCSException;
|
||||||
use OCP\AppFramework\OCSController;
|
use OCP\AppFramework\OCSController;
|
||||||
|
use OCP\IConfig;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IConfig;
|
|
||||||
|
|
||||||
class ExceptionMiddleware extends Middleware {
|
class ExceptionMiddleware extends Middleware {
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ class ExceptionMiddleware extends Middleware {
|
|||||||
], $exception->getStatus());
|
], $exception->getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strpos(get_class($controller), 'OCA\\Deck\\Controller\\') === 0) {
|
if (str_starts_with(get_class($controller), 'OCA\\Deck\\Controller\\')) {
|
||||||
$response = [
|
$response = [
|
||||||
'status' => 500,
|
'status' => 500,
|
||||||
'message' => $exceptionMessage,
|
'message' => $exceptionMessage,
|
||||||
|
|||||||
61
lib/Migration/Version1011Date20231106160059.php
Normal file
61
lib/Migration/Version1011Date20231106160059.php
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2023 Your name <your@email.com>
|
||||||
|
*
|
||||||
|
* @author Your name <your@email.com>
|
||||||
|
*
|
||||||
|
* @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\Migration;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use OCP\DB\ISchemaWrapper;
|
||||||
|
use OCP\Migration\IOutput;
|
||||||
|
use OCP\Migration\SimpleMigrationStep;
|
||||||
|
|
||||||
|
class Version1011Date20231106160059 extends SimpleMigrationStep {
|
||||||
|
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
|
||||||
|
$schema = $schemaClosure();
|
||||||
|
|
||||||
|
$createIndex = false;
|
||||||
|
|
||||||
|
$table = $schema->getTable('deck_cards');
|
||||||
|
|
||||||
|
if (!$table->hasIndex('idx_last_editor')) {
|
||||||
|
$createIndex = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$createIndex) {
|
||||||
|
$index = $table->getIndex('idx_last_editor');
|
||||||
|
if (in_array('description_prev', $index->getColumns(), true)) {
|
||||||
|
$table->dropIndex('idx_last_editor');
|
||||||
|
$createIndex = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($createIndex) {
|
||||||
|
$table->addIndex(['last_editor'], 'idx_last_editor');
|
||||||
|
return $schema;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -66,7 +66,7 @@ class Version10800Date20220422061816 extends SimpleMigrationStep {
|
|||||||
$indexAdded = $this->addIndex($schema,
|
$indexAdded = $this->addIndex($schema,
|
||||||
'deck_cards',
|
'deck_cards',
|
||||||
'idx_last_editor', [
|
'idx_last_editor', [
|
||||||
'last_editor', 'description_prev'
|
'last_editor' /*, 'description_prev' */
|
||||||
], [],
|
], [],
|
||||||
// Adding a partial index on the description_prev as it is only used for a NULL check
|
// Adding a partial index on the description_prev as it is only used for a NULL check
|
||||||
['lengths' => [null, 1]]
|
['lengths' => [null, 1]]
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ class BoardReferenceProvider implements IReferenceProvider {
|
|||||||
private IL10N $l10n;
|
private IL10N $l10n;
|
||||||
|
|
||||||
public function __construct(BoardService $boardService,
|
public function __construct(BoardService $boardService,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
?string $userId) {
|
?string $userId) {
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
$this->userId = $userId;
|
$this->userId = $userId;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user