Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c0b663b9e | ||
|
|
b6645cfaa1 | ||
|
|
9351a04eb3 | ||
|
|
c1f828b894 | ||
|
|
cb233ba35b | ||
|
|
f09ce32f2b | ||
|
|
1e359adf18 | ||
|
|
34c1a681b1 | ||
|
|
3324556542 | ||
|
|
7dba354767 | ||
|
|
8444a00bdf | ||
|
|
021b186424 | ||
|
|
3e38ed7108 | ||
|
|
5d95dbf1ff | ||
|
|
f17b046cb1 | ||
|
|
7d55d22d42 | ||
|
|
138c03160e | ||
|
|
286d4d7900 | ||
|
|
3f6f80ce44 | ||
|
|
7d7c605d36 | ||
|
|
1d966033ec | ||
|
|
9de4051803 | ||
|
|
a2a3d8cae7 | ||
|
|
873e7cb1cf | ||
|
|
4766195872 | ||
|
|
c35f6aa9ef | ||
|
|
59ec9a15ff | ||
|
|
81cd17cf3a | ||
|
|
7ce44deb91 | ||
|
|
96f5f5fe45 | ||
|
|
5c8d7b7644 | ||
|
|
5136615650 | ||
|
|
3e3b120175 | ||
|
|
fef35d3929 | ||
|
|
2a483b6f92 | ||
|
|
f34250ca67 | ||
|
|
308ade1b6e | ||
|
|
cf03e08d1e | ||
|
|
90e0c57224 | ||
|
|
15e5a432b6 | ||
|
|
5372458288 | ||
|
|
2d7e6f2efa | ||
|
|
67f26ef9b2 | ||
|
|
153fb6a0f0 | ||
|
|
61b7228fb6 | ||
|
|
d2a2d7a63a | ||
|
|
db90911e5e | ||
|
|
a636b106c8 | ||
|
|
1e19c44665 | ||
|
|
c308087c4a | ||
|
|
cb5cfe1c73 | ||
|
|
3a311197a8 | ||
|
|
b5feeeaee3 | ||
|
|
8e890df7ab | ||
|
|
d88f561adb | ||
|
|
65eb63d742 | ||
|
|
cde350decf | ||
|
|
ba3d98a8e4 | ||
|
|
3b7a83d2a4 | ||
|
|
eaf8402d31 | ||
|
|
b710bd00a7 | ||
|
|
bf94f787c3 | ||
|
|
d74b9f68d9 | ||
|
|
198e443a24 | ||
|
|
cb073897c3 | ||
|
|
cba8112ff6 | ||
|
|
f8c2d86e4f | ||
|
|
dd612a0c5e | ||
|
|
8342e1f99a | ||
|
|
f604f2f779 | ||
|
|
2fd10f9201 | ||
|
|
0333f31b9a | ||
|
|
dfe8bad832 | ||
|
|
161a6715da | ||
|
|
929ed247c9 | ||
|
|
54c6d669f5 | ||
|
|
fdb7b7fb98 | ||
|
|
8375108412 | ||
|
|
b6d057a284 | ||
|
|
37437c1d76 | ||
|
|
9f61417a58 | ||
|
|
e05c2469b4 | ||
|
|
2085e9b300 |
151
.drone.yml
Normal file
151
.drone.yml
Normal file
@@ -0,0 +1,151 @@
|
||||
pipeline:
|
||||
clone:
|
||||
image: plugins/git
|
||||
depth: 1
|
||||
check-app-compatbility:
|
||||
image: nextcloudci/php5.6:php5.6-3
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
# Pre-setup steps
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server
|
||||
# Code checker
|
||||
- ./occ app:check-code $APP_NAME -c strong-comparison
|
||||
- ./occ app:check-code $APP_NAME -c deprecation
|
||||
- cd apps/$APP_NAME/
|
||||
when:
|
||||
matrix:
|
||||
TESTS: check-app-compatbility
|
||||
signed-off-check:
|
||||
image: nextcloudci/php7.0:php7.0-2
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server
|
||||
- php ./build/signed-off-checker.php
|
||||
when:
|
||||
matrix:
|
||||
TESTS: signed-off-check
|
||||
syntax-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-3
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
# Pre-setup steps
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server
|
||||
- composer install
|
||||
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
|
||||
when:
|
||||
matrix:
|
||||
TESTS: syntax-php5.6
|
||||
syntax-php7.0:
|
||||
image: nextcloudci/php7.0:php7.0-2
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
# Pre-setup steps
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server
|
||||
- composer install
|
||||
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
|
||||
when:
|
||||
matrix:
|
||||
TESTS: syntax-php7.0
|
||||
php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-3
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
- apt update && apt-get -y install php5-xdebug
|
||||
|
||||
# Pre-setup steps
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server/
|
||||
- ./occ app:enable $APP_NAME
|
||||
- cd apps/$APP_NAME
|
||||
|
||||
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||
|
||||
# Create coverage report
|
||||
- wget https://codecov.io/bash -O codecov.sh
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t f6375299-4832-487e-b831-091772ab0384; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t f6375299-4832-487e-b831-091772ab0384; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: php5.6
|
||||
php7.0:
|
||||
image: nextcloudci/php7.0:php7.0-7
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
# Pre-setup steps
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server/
|
||||
- php occ app:enable deck
|
||||
- cd apps/$APP_NAME
|
||||
# Run phpunit tests
|
||||
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||
when:
|
||||
matrix:
|
||||
TESTS: php7.0
|
||||
php7.1:
|
||||
image: nextcloudci/php7.1:php7.1-11
|
||||
environment:
|
||||
- APP_NAME=deck
|
||||
- CORE_BRANCH=master
|
||||
- DB=sqlite
|
||||
commands:
|
||||
# Pre-setup steps
|
||||
- yum -y install wget
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
|
||||
- cd ../server/
|
||||
- php occ app:enable deck
|
||||
- cd apps/$APP_NAME
|
||||
- make test
|
||||
when:
|
||||
matrix:
|
||||
TESTS: php7.1
|
||||
jsbuild:
|
||||
image: mhart/alpine-node:6.8.0
|
||||
commands:
|
||||
- apk add --no-cache git
|
||||
- cd js
|
||||
- npm install --deps
|
||||
- ./node_modules/.bin/bower --allow-root install
|
||||
when:
|
||||
matrix:
|
||||
TESTS: jsbuild
|
||||
matrix:
|
||||
include:
|
||||
- TESTS: check-app-compatbility
|
||||
- TESTS: signed-off-check
|
||||
- TESTS: syntax-php5.6
|
||||
- TESTS: syntax-php7.0
|
||||
- TESTS: php5.6
|
||||
- TESTS: php7.0
|
||||
- TESTS: php7.1
|
||||
- TESTS: jsbuild
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
js/node_modules/*
|
||||
js/vendor/
|
||||
build/
|
||||
js/public/
|
||||
|
||||
17
.travis.yml
17
.travis.yml
@@ -6,31 +6,30 @@ php:
|
||||
- 7
|
||||
env:
|
||||
matrix:
|
||||
- CORE_BRANCH=master DB=sqlite
|
||||
- CORE_BRANCH=master DB=mysql
|
||||
- CORE_BRANCH=stable11 DB=sqlite
|
||||
- CORE_BRANCH=stable11 DB=mysql
|
||||
|
||||
before_install:
|
||||
- wget https://phar.phpunit.de/phpunit-5.7.phar
|
||||
- chmod +x phpunit-5.7.phar
|
||||
- mkdir bin
|
||||
- sudo mv phpunit-5.7.phar bin/phpunit
|
||||
- export PATH="$PWD/bin:$PATH"
|
||||
- phpunit --version
|
||||
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
|
||||
- bash ./before_install.sh deck $CORE_BRANCH $DB
|
||||
- cd ../server
|
||||
- ./occ app:enable deck
|
||||
- ./occ app:check-code deck
|
||||
- php -S localhost:8080 &
|
||||
|
||||
before_script:
|
||||
- cd apps/deck
|
||||
- make install-deps
|
||||
|
||||
script:
|
||||
- node --version
|
||||
- npm --version
|
||||
- make build-js
|
||||
- make test
|
||||
|
||||
after_failure:
|
||||
- cat ../../data/nextcloud.log
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
notifications:
|
||||
email: false
|
||||
|
||||
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,3 +1,24 @@
|
||||
## 0.1.2
|
||||
### Added
|
||||
- Add translations
|
||||
|
||||
### Fixed
|
||||
- Fix issues with Acl checks
|
||||
- Always select first color fixes
|
||||
- Add active class to appmenu
|
||||
- Use server select2 styles
|
||||
- Remove debug logging and unused function
|
||||
- Fix issue while sorting cards
|
||||
- Improve logging of exceptions
|
||||
- Fixed SQL statements without prefixes
|
||||
|
||||
## 0.1.1
|
||||
### Fixed
|
||||
- Various styling improvements
|
||||
- Fix problems with MySQL and PostgreSQL
|
||||
- Select first color by default when creating boards
|
||||
- Fix error when changing board permissions
|
||||
|
||||
## 0.1.0
|
||||
### Added
|
||||
- Sharing boards with other users
|
||||
|
||||
7
Makefile
7
Makefile
@@ -72,14 +72,17 @@ appstore: clean-build build
|
||||
|
||||
test:
|
||||
mkdir -p build/
|
||||
cd js && $(npm) run test
|
||||
ifeq (, $(shell which phpunit 2> /dev/null))
|
||||
@echo "No phpunit command available, downloading a copy from the web"
|
||||
mkdir -p $(build_tools_directory)
|
||||
curl -sSL https://phar.phpunit.de/phpunit.phar -o $(build_tools_directory)/phpunit.phar
|
||||
curl -sSL https://phar.phpunit.de/phpunit-5.7.phar -o $(build_tools_directory)/phpunit.phar
|
||||
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||
else
|
||||
phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||
endif
|
||||
|
||||
test-js:
|
||||
cd js && run test
|
||||
|
||||
|
||||
55
README.md
55
README.md
@@ -1,6 +1,6 @@
|
||||
# Deck
|
||||
|
||||
[](https://travis-ci.org/juliushaertl/deck) [](https://codecov.io/github/juliushaertl/deck) [](https://scrutinizer-ci.com/g/juliushaertl/deck/?branch=master) [](https://www.versioneye.com/user/projects/58908fc0a23e810038c34e0a)
|
||||
[](https://travis-ci.org/nextcloud/deck) [](https://codecov.io/github/nextcloud/deck) [](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3)
|
||||
|
||||
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
|
||||
|
||||
@@ -11,7 +11,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
|
||||
- :rocket: Get your project organized
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
:boom: This is still alpha software: it may not be stable enough for production
|
||||
|
||||
@@ -29,14 +29,14 @@ This app is supposed to work on Nextcloud version 11 or later.
|
||||
|
||||
### Install latest release
|
||||
|
||||
Grab the latest release over here, extract it to your Nextcloud apps folder and enable the app.
|
||||
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/juliushaertl/deck.git
|
||||
git clone https://github.com/nextcloud/deck.git
|
||||
cd deck
|
||||
make install-deps
|
||||
make
|
||||
@@ -52,9 +52,54 @@ Nothing to prepare, just dig into the code.
|
||||
|
||||
### JavaScript
|
||||
|
||||
Make sure you have installed the dependencies with ```make install-deps```. After that you can run ```make``` to build the javascript code once or run ```make watch``` to run in on every file change.
|
||||
When `'debug'=>true` is set in your config.php files will get loaded automatically. Otherwise you need to ensure that `public/app.js` is generated by running `make` or `make watch` to regenerate it on every change.
|
||||
Make sure you have installed the dependencies with ```make install-deps```.
|
||||
|
||||
### Running tests
|
||||
You can use the provided Makefile to run all tests by using:
|
||||
|
||||
make test
|
||||
|
||||
|
||||
|
||||
## Contribution Guidelines
|
||||
|
||||
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
|
||||
|
||||
For more information please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
|
||||
|
||||
### Apply a license
|
||||
|
||||
All contributions to this repository are considered to be licensed under
|
||||
the GNU AGPLv3 or any later version.
|
||||
|
||||
Contributors to the Spreed app retain their copyright. Therefore we recommend
|
||||
to add following line to the header of a file, if you changed it substantially:
|
||||
|
||||
```
|
||||
@copyright Copyright (c) <year>, <your name> (<your email address>)
|
||||
```
|
||||
|
||||
For further information on how to add or update the license header correctly please have a look at [our licensing HowTo][applyalicense].
|
||||
|
||||
### Sign your work
|
||||
|
||||
We use the Developer Certificate of Origin (DCO) as a additional safeguard
|
||||
for the Nextcloud project. This is a well established and widely used
|
||||
mechanism to assure contributors have confirmed their right to license
|
||||
their contribution under the project's license.
|
||||
Please read [developer-certificate-of-origin][dcofile].
|
||||
If you can certify it, then just add a line to every git commit message:
|
||||
|
||||
````
|
||||
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||
````
|
||||
|
||||
Use your real name (sorry, no pseudonyms or anonymous contributions).
|
||||
If you set your `user.name` and `user.email` git configs, you can sign your
|
||||
commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases)
|
||||
like `git config --global alias.ci 'commit -s'`. Now you can commit with
|
||||
`git ci` and the commit will be signed.
|
||||
|
||||
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
|
||||
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
|
||||
|
||||
@@ -7,25 +7,27 @@
|
||||
<description>Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
|
||||
|
||||
|
||||
- :inbox_tray: Add your tasks to cards and put them in order
|
||||
- :page_facing_up: Write down additional notes in markdown
|
||||
- :bookmark: Assign labels for even better organization
|
||||
- :busts_in_silhouette: Share with your team, friends or family
|
||||
- :rocket: Get your project organized
|
||||
- 📥 Add your tasks to cards and put them in order
|
||||
- 📄 Write down additional notes in markdown
|
||||
- 🔖 Assign labels for even better organization
|
||||
- 👥 Share with your team, friends or family
|
||||
- 🚀 Get your project organized
|
||||
|
||||
:boom: This is still alpha software: it may not be stable enough for production!
|
||||
💥 This is still alpha software: it may not be stable enough for production!
|
||||
|
||||
</description>
|
||||
<version>0.1.2</version>
|
||||
<licence>agpl</licence>
|
||||
<author>Julius Härtl</author>
|
||||
<version>0.1.0</version>
|
||||
<namespace>Deck</namespace>
|
||||
<category>organization</category>
|
||||
<category>office</category>
|
||||
<bugs>https://github.com/nextcloud/deck/issues</bugs>
|
||||
<repository type="git">https://github.com/nextcloud/deck.git</repository>
|
||||
<screenshot>https://bitgrid.net/~jus/deck_1.png</screenshot>
|
||||
<screenshot>https://bitgrid.net/~jus/deck_2.png</screenshot>
|
||||
<screenshot>https://bitgrid.net/~jus/deck_3.png</screenshot>
|
||||
<dependencies>
|
||||
<nextcloud min-version="11" max-version="12" />
|
||||
</dependencies>
|
||||
<repository type="git">https://github.com/juliushaertl/deck.git</repository>
|
||||
<bugs>https://github.com/juliushaertl/deck/issues</bugs>
|
||||
<screenshot>https://bitgrid.net/~jus/deck.png</screenshot>
|
||||
</info>
|
||||
|
||||
354
css/style.css
354
css/style.css
@@ -20,10 +20,44 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* General styles
|
||||
*/
|
||||
|
||||
.app-deck .icon {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
input.input-inline {
|
||||
font-size: inherit !important;
|
||||
font-weight: inherit;
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
border: none;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #333333;
|
||||
-webkit-border-radius: 0;
|
||||
line-height: 100%;
|
||||
margin: -4px 0;
|
||||
}
|
||||
|
||||
button {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#searchbox {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Navigation sidebar
|
||||
*/
|
||||
.app-navigation-entry-utils-menu-button {
|
||||
display: block !important;
|
||||
}
|
||||
@@ -40,16 +74,6 @@
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#app-navigation .active,
|
||||
#app-navigation .active a,
|
||||
#app-navigation li:hover > a,
|
||||
#app-navigation li:focus > a,
|
||||
#app-navigation a:focus,
|
||||
#app-navigation .selected,
|
||||
#app-navigation .selected a {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
#app-navigation .board-bullet {
|
||||
position: absolute;
|
||||
margin-left: 17px;
|
||||
@@ -61,15 +85,9 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#app-view {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
white-space: nowrap;
|
||||
overflow: none;
|
||||
padding: 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
}
|
||||
/**
|
||||
* Board view
|
||||
*/
|
||||
|
||||
#board-status {
|
||||
position: absolute;
|
||||
@@ -82,11 +100,10 @@
|
||||
#board {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
white-space: nowrap; /* important */
|
||||
white-space: nowrap;
|
||||
overflow: auto;
|
||||
padding: 0;
|
||||
top: -40px;
|
||||
padding-top: 40px;
|
||||
padding: 40px 0 0;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
}
|
||||
@@ -108,7 +125,7 @@
|
||||
font-size: 14pt;
|
||||
margin: 0;
|
||||
padding: 12px;
|
||||
float: left;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#board-actions {
|
||||
@@ -116,7 +133,7 @@
|
||||
float: right;
|
||||
position: relative;
|
||||
color: #888;
|
||||
margin:8px;
|
||||
margin: 8px;
|
||||
|
||||
}
|
||||
|
||||
@@ -130,9 +147,6 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.filter {
|
||||
}
|
||||
|
||||
.filter-select {
|
||||
position: absolute;
|
||||
right: auto;
|
||||
@@ -181,8 +195,7 @@
|
||||
}
|
||||
|
||||
.stack h2 {
|
||||
padding:10px;
|
||||
padding-bottom: 8px;
|
||||
padding: 10px 10px 8px;
|
||||
margin: 0;
|
||||
font-size: 12pt;
|
||||
font-weight: 700;
|
||||
@@ -191,7 +204,7 @@
|
||||
}
|
||||
|
||||
.stack h2 input {
|
||||
padding: 0px;
|
||||
padding: 0;
|
||||
width: 80%;
|
||||
margin: 0;
|
||||
font-size: 12pt;
|
||||
@@ -199,6 +212,7 @@
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
float: left;
|
||||
min-height: initial;
|
||||
}
|
||||
|
||||
.stack h2 button,
|
||||
@@ -225,7 +239,7 @@
|
||||
white-space: normal;
|
||||
position: relative;
|
||||
opacity: 1.0;
|
||||
-webkit-box-shadow: 0px 0px 5px #bbb;
|
||||
-webkit-box-shadow: 0 0 5px #bbb;
|
||||
}
|
||||
|
||||
.card.archived .card-upper {
|
||||
@@ -275,7 +289,6 @@
|
||||
.card h3 {
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin: 5px;
|
||||
display: inline-block;
|
||||
@@ -286,12 +299,6 @@
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.card h3 .fa {
|
||||
font-size: 18pt;
|
||||
line-height: 10pt;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.card .labels {
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
@@ -300,13 +307,12 @@
|
||||
}
|
||||
|
||||
.card .labels li {
|
||||
padding: 0px;
|
||||
padding: 0;
|
||||
width: 15px;
|
||||
height: 20px;
|
||||
-webkit-border-radius: 3px;
|
||||
font-size: 80%;
|
||||
border-color: transparent;
|
||||
border: none;
|
||||
border: none transparent;
|
||||
float: left;
|
||||
}
|
||||
|
||||
@@ -346,12 +352,10 @@
|
||||
|
||||
.card.create {
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding: 10px;
|
||||
margin: 10px;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
margin: 10px;
|
||||
-webkit-box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -361,56 +365,46 @@
|
||||
}
|
||||
|
||||
.card.create h3 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0 0 1px;
|
||||
}
|
||||
|
||||
.card.create h3 input {
|
||||
width: 100%;
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
border: 0;
|
||||
font-weight: bold;
|
||||
font-size: 10pt;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
border-radius: 0px;
|
||||
border-radius: 0;
|
||||
color: #ffffff;
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.card.create .fa {
|
||||
color: #ffffff;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card.create .fa:hover {
|
||||
opacity: 0.5;
|
||||
cursor: pointer;
|
||||
min-height: initial;
|
||||
}
|
||||
|
||||
.due {
|
||||
background-color: #eee;
|
||||
color: #aaa;
|
||||
padding: 1px;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
padding: 1px 3px;
|
||||
border-radius: 4px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Card view right sidebar
|
||||
*/
|
||||
|
||||
#card-header {
|
||||
height: 44px;
|
||||
}
|
||||
|
||||
#card-header h2 {
|
||||
font-size: 14pt;
|
||||
padding: 10px;
|
||||
padding-bottom: 9px;
|
||||
padding: 10px 10px 9px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 0px;
|
||||
margin-bottom: 0;
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
@@ -421,7 +415,7 @@
|
||||
}
|
||||
|
||||
#card-meta {
|
||||
padding-top: 0px;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#card-dates {
|
||||
@@ -448,38 +442,24 @@
|
||||
background-color: #009900;
|
||||
color: #ffffff;
|
||||
border-radius: 3px;
|
||||
float:right;
|
||||
padding:1px 10px;
|
||||
float: right;
|
||||
padding: 1px 10px;
|
||||
font-size: 8pt !important;
|
||||
display:none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#card-description textarea {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border: none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#card-description .container {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#card-description .container.ng-hide-remove {
|
||||
animation: fade 1s forwards;
|
||||
background-color: rgba(255, 255, 100, 1);
|
||||
}
|
||||
|
||||
@keyframes fade {
|
||||
from {
|
||||
background-color: rgba(255, 255, 100, 1);
|
||||
}
|
||||
to {
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
}
|
||||
}
|
||||
|
||||
#sidebar-header,
|
||||
.card-block {
|
||||
padding: 15px;
|
||||
@@ -504,13 +484,11 @@
|
||||
max-width: 100%;
|
||||
border-left: none;
|
||||
width: 500px;
|
||||
/*box-shadow: 0px 0px 5px 0px #aaa;*/
|
||||
border-left: 1px solid #eeeeee;
|
||||
|
||||
}
|
||||
|
||||
#app-sidebar.details-visible {
|
||||
right: 0px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#app-content {
|
||||
@@ -539,10 +517,6 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.labels li span {
|
||||
|
||||
}
|
||||
|
||||
.avatardiv {
|
||||
float: left;
|
||||
background-color: #eee;
|
||||
@@ -558,14 +532,17 @@
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
/* color selector */
|
||||
/**
|
||||
* Color selection
|
||||
*/
|
||||
|
||||
.colorselect {
|
||||
overflow: hidden;
|
||||
clear:both;
|
||||
padding-top:4px;
|
||||
clear: both;
|
||||
padding-top: 4px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.colorselect .color {
|
||||
opacity: 0.7;
|
||||
width: 27px;
|
||||
@@ -585,11 +562,15 @@
|
||||
clear: none;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.labels .colorselect .color {
|
||||
width:26px;
|
||||
height:26px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Board list main screen area
|
||||
*/
|
||||
#boardlist {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@@ -635,33 +616,47 @@
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
input.input-inline {
|
||||
font-size: inherit !important;
|
||||
font-weight: inherit;
|
||||
background-color: transparent;
|
||||
/**
|
||||
* Board details
|
||||
*/
|
||||
|
||||
#shareWithList {
|
||||
list-style-type: none;
|
||||
padding: 0 0 16px;
|
||||
}
|
||||
|
||||
#shareWithList li {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
font-weight: bold;
|
||||
white-space: normal;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#shareWithList .username {
|
||||
padding-right: 8px;
|
||||
padding-left: 8px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.shareWithList .icon-delete {
|
||||
display: inline-block;
|
||||
background-size: 16px 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #333333;
|
||||
-webkit-border-radius: 0;
|
||||
margin-top: -4px;
|
||||
line-height: 100%;
|
||||
margin-bottom: -4px;
|
||||
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
button {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
.shareOption {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* board detail */
|
||||
#board-detail-labels {
|
||||
padding: 10px;
|
||||
}
|
||||
@@ -719,75 +714,33 @@ button:hover {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.ui-select-container.dropdown {
|
||||
background: #ffffff;
|
||||
border-radius: 0px;
|
||||
box-shadow: none;
|
||||
display: block;
|
||||
margin-right: 0;
|
||||
position: static;
|
||||
width: 100%;
|
||||
z-index: auto;
|
||||
padding: 3px;
|
||||
.ui-select-offscreen {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ui-select-match-close {
|
||||
float: right;
|
||||
left: -20px;
|
||||
margin-top: 3px;
|
||||
z-index: 100;
|
||||
position: relative;
|
||||
display: inline-block !important;
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
.ui-select-match-item {
|
||||
padding: 2px;
|
||||
float: left;
|
||||
padding: 0;
|
||||
float: left !important;
|
||||
display: block;
|
||||
margin-right: -17px !important;
|
||||
}
|
||||
|
||||
.ui-select-match-item .select-label {
|
||||
padding: 4px;
|
||||
color: #fff;
|
||||
padding-right: 23px;
|
||||
padding: 6px 23px 6px 6px;
|
||||
margin-right: -23px !important;
|
||||
}
|
||||
|
||||
.ui-select-container {
|
||||
background-color: #fafafa !important;
|
||||
border: 1px solid #fafafa;
|
||||
|
||||
}
|
||||
|
||||
.ui-select-container.open {
|
||||
border: 1px solid #aaaaaa;
|
||||
}
|
||||
|
||||
.ui-select-container input.ui-select-search {
|
||||
padding: 0px !important;
|
||||
margin: 2px !important;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.ui-select-bootstrap .ui-select-choices-row > a {
|
||||
padding: 3px !important;
|
||||
}
|
||||
|
||||
.ui-select-choices-row-inner {
|
||||
margin-bottom: 2px;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ui-select-choices-row-inner span {
|
||||
padding: 3px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* ui-select disabled */
|
||||
.ui-select-container[disabled] {
|
||||
.select2-container-multi .select2-choices .select2-search-choice {
|
||||
padding: 3px 0 !important;
|
||||
border: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -799,9 +752,17 @@ button:hover {
|
||||
}
|
||||
|
||||
.ui-select-container[disabled] .ui-select-match-item {
|
||||
margin-right: 0px !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
.select2-search input {
|
||||
width:100% !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mobile optimizations
|
||||
*/
|
||||
|
||||
@media (max-width: 480px) {
|
||||
/* hide board actions on mobile */
|
||||
#board-actions {
|
||||
@@ -815,17 +776,22 @@ button:hover {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Markdown rendering
|
||||
*/
|
||||
|
||||
#markdown {
|
||||
width:100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
#markdown p {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#markdown * {
|
||||
white-space: normal;
|
||||
word-wrap:break-word;
|
||||
word-wrap: break-word; /* All browsers since IE 5.5+ */
|
||||
overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
|
||||
word-wrap: break-word;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
#markdown a {
|
||||
@@ -873,46 +839,30 @@ button:hover {
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.shareWithList .username {
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
.shareWithList .icon {
|
||||
display: inline-block;
|
||||
background-size: 16px 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.shareWithList .fa {
|
||||
font-size: 12pt;
|
||||
width: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.shareOption {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.app-deck .icon {
|
||||
display: inline-block;
|
||||
}
|
||||
/**
|
||||
* Custom icons
|
||||
*/
|
||||
|
||||
.icon-group {
|
||||
background-image: url('../../../settings/img/users.svg');
|
||||
}
|
||||
|
||||
.icon-add-white {
|
||||
background-image: url('../img/add-white.svg');
|
||||
}
|
||||
|
||||
.icon-archive {
|
||||
background-image: url('../img/archive.svg');
|
||||
}
|
||||
|
||||
.icon-archive-white {
|
||||
background-image: url('../img/archive-white.svg');
|
||||
}
|
||||
|
||||
.icon-details {
|
||||
background-image: url('../img/details.svg');
|
||||
}
|
||||
|
||||
.icon-details-white {
|
||||
background-image: url('../img/details-white.svg');
|
||||
}
|
||||
|
||||
101
issue_template.md
Normal file
101
issue_template.md
Normal file
@@ -0,0 +1,101 @@
|
||||
### Steps to reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Expected behaviour
|
||||
Tell us what should happen
|
||||
|
||||
### Actual behaviour
|
||||
Tell us what happens instead
|
||||
|
||||
### Server configuration
|
||||
**Operating system**:
|
||||
|
||||
**Web server:**
|
||||
|
||||
**Database:**
|
||||
|
||||
**PHP version:**
|
||||
|
||||
**Server version:** (see your admin page)
|
||||
|
||||
**Deck version:** (see the apps page)
|
||||
|
||||
**Updated from an older installed version or fresh install:**
|
||||
|
||||
**Signing status:**
|
||||
|
||||
```
|
||||
Login as admin user into your cloud and access
|
||||
http://example.com/index.php/settings/integrity/failed
|
||||
paste the results here.
|
||||
```
|
||||
|
||||
**List of activated apps:**
|
||||
|
||||
```
|
||||
If you have access to your command line run e.g.:
|
||||
sudo -u www-data php occ app:list
|
||||
from within your instance's installation folder
|
||||
```
|
||||
|
||||
**The content of config/config.php:**
|
||||
|
||||
```
|
||||
If you have access to your command line run e.g.:
|
||||
sudo -u www-data php occ config:list system
|
||||
from within your instance's installation folder
|
||||
|
||||
or
|
||||
|
||||
Insert your config.php content here
|
||||
(Without the database password, passwordsalt and secret)
|
||||
```
|
||||
|
||||
**Are you using external storage, if yes which one:** local/smb/sftp/...
|
||||
|
||||
**Are you using encryption:** yes/no
|
||||
|
||||
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
|
||||
|
||||
#### LDAP configuration (delete this part if not used)
|
||||
|
||||
```
|
||||
With access to your command line run e.g.:
|
||||
sudo -u www-data php occ ldap:show-config
|
||||
from within your instance's installation folder
|
||||
|
||||
Without access to your command line download the data/owncloud.db to your local
|
||||
computer or access your SQL server remotely and run the select query:
|
||||
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
|
||||
|
||||
|
||||
Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
|
||||
```
|
||||
|
||||
### Client configuration
|
||||
**Browser:**
|
||||
|
||||
**Operating system:**
|
||||
|
||||
### Logs
|
||||
#### Web server error log
|
||||
```
|
||||
Insert your webserver log here
|
||||
```
|
||||
|
||||
#### Log file (data/nextcloud.log)
|
||||
```
|
||||
Insert your nextcloud.log file here
|
||||
```
|
||||
|
||||
#### Browser log
|
||||
```
|
||||
Insert your browser log here, this could for example include:
|
||||
|
||||
a) The javascript console log
|
||||
b) The network log
|
||||
c) ...
|
||||
```
|
||||
@@ -22,57 +22,59 @@
|
||||
*/
|
||||
|
||||
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) {
|
||||
$scope.boards = [];
|
||||
$scope.newBoard = {};
|
||||
$scope.status = {};
|
||||
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
|
||||
$scope.boardservice = BoardService;
|
||||
$scope.boards = [];
|
||||
$scope.newBoard = {};
|
||||
$scope.status = {};
|
||||
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
|
||||
$scope.boardservice = BoardService;
|
||||
$scope.newBoard.color = $scope.colors[0];
|
||||
|
||||
// FIXME: not nice, but we want to load this only once
|
||||
if($element.attr('id') === 'app-navigation') {
|
||||
BoardService.fetchAll().then(function(data) {
|
||||
$scope.filterData();
|
||||
}, function (error) {
|
||||
// TODO: show error when loading fails
|
||||
});
|
||||
}
|
||||
// FIXME: not nice, but we want to load this only once
|
||||
if($element.attr('id') === 'app-navigation') {
|
||||
BoardService.fetchAll().then(function(data) {
|
||||
$scope.filterData();
|
||||
}, function (error) {
|
||||
// TODO: show error when loading fails
|
||||
});
|
||||
}
|
||||
|
||||
$scope.filterData = function () {
|
||||
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
|
||||
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
|
||||
};
|
||||
$scope.filterData = function () {
|
||||
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
|
||||
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
|
||||
};
|
||||
|
||||
$scope.selectColor = function(color) {
|
||||
$scope.newBoard.color = color;
|
||||
};
|
||||
$scope.selectColor = function(color) {
|
||||
$scope.newBoard.color = color;
|
||||
};
|
||||
|
||||
$scope.boardCreate = function() {
|
||||
if(!$scope.newBoard.title || !$scope.newBoard.color) {
|
||||
$scope.status.addBoard=false;
|
||||
return;
|
||||
}
|
||||
BoardService.create($scope.newBoard)
|
||||
.then(function (response) {
|
||||
$scope.newBoard = {};
|
||||
$scope.status.addBoard=false;
|
||||
$scope.filterData();
|
||||
}, function(error) {
|
||||
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
||||
});
|
||||
};
|
||||
$scope.boardCreate = function() {
|
||||
if(!$scope.newBoard.title || !$scope.newBoard.color) {
|
||||
$scope.status.addBoard=false;
|
||||
return;
|
||||
}
|
||||
BoardService.create($scope.newBoard)
|
||||
.then(function (response) {
|
||||
$scope.newBoard = {};
|
||||
$scope.newBoard.color = $scope.colors[0];
|
||||
$scope.status.addBoard=false;
|
||||
$scope.filterData();
|
||||
}, function(error) {
|
||||
$scope.status.createBoard = 'Unable to insert board: ' + error.message;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.boardUpdate = function(board) {
|
||||
BoardService.update(board).then(function(data) {
|
||||
$scope.filterData();
|
||||
});
|
||||
board.status.edit = false;
|
||||
};
|
||||
$scope.boardUpdate = function(board) {
|
||||
BoardService.update(board).then(function(data) {
|
||||
$scope.filterData();
|
||||
});
|
||||
board.status.edit = false;
|
||||
};
|
||||
|
||||
$scope.boardDelete = function(board) {
|
||||
BoardService.delete(board.id).then(function (data) {
|
||||
$scope.filterData();
|
||||
});
|
||||
};
|
||||
$scope.boardDelete = function(board) {
|
||||
BoardService.delete(board.id).then(function (data) {
|
||||
$scope.filterData();
|
||||
});
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
|
||||
43
js/script.js
43
js/script.js
@@ -1,43 +0,0 @@
|
||||
/*
|
||||
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @author Julius Härtl <jus@bitgrid.net>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
(function ($, OC) {
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#hello').click(function () {
|
||||
alert('Hello from your script file');
|
||||
});
|
||||
|
||||
$('#echo').click(function () {
|
||||
var url = OC.generateUrl('/apps/deck/echo');
|
||||
var data = {
|
||||
echo: $('#echo-content').val()
|
||||
};
|
||||
|
||||
$.post(url, data).success(function (response) {
|
||||
$('#echo-result').text(response.echo);
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery, OC);
|
||||
9
l10n/.tx/config
Normal file
9
l10n/.tx/config
Normal file
@@ -0,0 +1,9 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
|
||||
|
||||
[nextcloud.deck]
|
||||
file_filter = <lang>/deck.po
|
||||
source_file = templates/deck.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
33
l10n/bg.js
Normal file
33
l10n/bg.js
Normal file
@@ -0,0 +1,33 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Finished" : "Завършен",
|
||||
"To review" : "За преглед",
|
||||
"Action needed" : "Необходимо е действие",
|
||||
"Later" : "По-късно",
|
||||
"Archive" : "Архивиране",
|
||||
"Unarchive" : "Разархивиране",
|
||||
"Delete" : "Изтриване",
|
||||
"Sharing" : "Споделяне",
|
||||
"Labels" : "Етикети",
|
||||
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
|
||||
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
|
||||
"Share" : "Сподели",
|
||||
"Edit" : "Редакция",
|
||||
"Manage" : "Управление",
|
||||
"Discard share" : "Отхвърляне на споделяне",
|
||||
"Create a new label" : "Създаване на нов етикет",
|
||||
"Members" : "Членове",
|
||||
"Modified:" : "Променен на:",
|
||||
"Created:" : "Създаден на:",
|
||||
"by" : "от",
|
||||
"Saved" : "Запазено",
|
||||
"Attachments" : "Прикачени файлове",
|
||||
"Comments" : "Коментари",
|
||||
"History" : "История",
|
||||
"Shared with you" : "Споделено с Вас",
|
||||
"edit" : "редакция",
|
||||
"delete" : "изтриване",
|
||||
"remove share" : "премахване на споделяне"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
31
l10n/bg.json
Normal file
31
l10n/bg.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{ "translations": {
|
||||
"Finished" : "Завършен",
|
||||
"To review" : "За преглед",
|
||||
"Action needed" : "Необходимо е действие",
|
||||
"Later" : "По-късно",
|
||||
"Archive" : "Архивиране",
|
||||
"Unarchive" : "Разархивиране",
|
||||
"Delete" : "Изтриване",
|
||||
"Sharing" : "Споделяне",
|
||||
"Labels" : "Етикети",
|
||||
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
|
||||
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
|
||||
"Share" : "Сподели",
|
||||
"Edit" : "Редакция",
|
||||
"Manage" : "Управление",
|
||||
"Discard share" : "Отхвърляне на споделяне",
|
||||
"Create a new label" : "Създаване на нов етикет",
|
||||
"Members" : "Членове",
|
||||
"Modified:" : "Променен на:",
|
||||
"Created:" : "Създаден на:",
|
||||
"by" : "от",
|
||||
"Saved" : "Запазено",
|
||||
"Attachments" : "Прикачени файлове",
|
||||
"Comments" : "Коментари",
|
||||
"History" : "История",
|
||||
"Shared with you" : "Споделено с Вас",
|
||||
"edit" : "редакция",
|
||||
"delete" : "изтриване",
|
||||
"remove share" : "премахване на споделяне"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/cs.js
Normal file
44
l10n/cs.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Balík",
|
||||
"Finished" : "Dokončeno",
|
||||
"To review" : "K revizi",
|
||||
"Action needed" : "Nutná akce",
|
||||
"Later" : "Později",
|
||||
"Show archived cards" : "Zobrazit archivované karty",
|
||||
"Hide archived cards" : "Skrýt archivované karty",
|
||||
"Board details" : "Detaily desky",
|
||||
"Archive" : "Archiv",
|
||||
"Unarchive" : "Zrušit archivování",
|
||||
"Delete" : "Smazat",
|
||||
"Enter a card title" : "Zadejte nadpis karty",
|
||||
"Sharing" : "Sdílení",
|
||||
"Labels" : "Štítky",
|
||||
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
||||
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
|
||||
"Share" : "Sdílet",
|
||||
"Edit" : "Upravit",
|
||||
"Manage" : "Spravovat",
|
||||
"Discard share" : "Zrušit sdílení",
|
||||
"Create a new label" : "Vytvořit nový štítek",
|
||||
"Board title" : "Nadpis desky",
|
||||
"Members" : "Členové",
|
||||
"Create new board" : "VYtvořit ovou desku",
|
||||
"New board title" : "Nadpis nové desky",
|
||||
"Modified:" : "Upraveno:",
|
||||
"Created:" : "Vytvořeno:",
|
||||
"by" : "od",
|
||||
"Saved" : "Uloženo",
|
||||
"Add a card description ..." : "Přidat popis karty...",
|
||||
"Attachments" : "Přílohy",
|
||||
"Comments" : "Komentáře",
|
||||
"History" : "Historie",
|
||||
"All Boards" : "Všechny desky",
|
||||
"Shared with you" : "Sdíleno s vámi",
|
||||
"edit" : "upravit",
|
||||
"delete" : "smazat",
|
||||
"remove share" : "odebrat sdílení",
|
||||
"Create a new board" : "Vytvořit novou desku"
|
||||
},
|
||||
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
|
||||
42
l10n/cs.json
Normal file
42
l10n/cs.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Balík",
|
||||
"Finished" : "Dokončeno",
|
||||
"To review" : "K revizi",
|
||||
"Action needed" : "Nutná akce",
|
||||
"Later" : "Později",
|
||||
"Show archived cards" : "Zobrazit archivované karty",
|
||||
"Hide archived cards" : "Skrýt archivované karty",
|
||||
"Board details" : "Detaily desky",
|
||||
"Archive" : "Archiv",
|
||||
"Unarchive" : "Zrušit archivování",
|
||||
"Delete" : "Smazat",
|
||||
"Enter a card title" : "Zadejte nadpis karty",
|
||||
"Sharing" : "Sdílení",
|
||||
"Labels" : "Štítky",
|
||||
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
||||
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
|
||||
"Share" : "Sdílet",
|
||||
"Edit" : "Upravit",
|
||||
"Manage" : "Spravovat",
|
||||
"Discard share" : "Zrušit sdílení",
|
||||
"Create a new label" : "Vytvořit nový štítek",
|
||||
"Board title" : "Nadpis desky",
|
||||
"Members" : "Členové",
|
||||
"Create new board" : "VYtvořit ovou desku",
|
||||
"New board title" : "Nadpis nové desky",
|
||||
"Modified:" : "Upraveno:",
|
||||
"Created:" : "Vytvořeno:",
|
||||
"by" : "od",
|
||||
"Saved" : "Uloženo",
|
||||
"Add a card description ..." : "Přidat popis karty...",
|
||||
"Attachments" : "Přílohy",
|
||||
"Comments" : "Komentáře",
|
||||
"History" : "Historie",
|
||||
"All Boards" : "Všechny desky",
|
||||
"Shared with you" : "Sdíleno s vámi",
|
||||
"edit" : "upravit",
|
||||
"delete" : "smazat",
|
||||
"remove share" : "odebrat sdílení",
|
||||
"Create a new board" : "Vytvořit novou desku"
|
||||
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
|
||||
}
|
||||
44
l10n/da.js
Normal file
44
l10n/da.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Tavle",
|
||||
"Finished" : "Færdiggjort",
|
||||
"To review" : "Efterse",
|
||||
"Action needed" : "Handling påkrævet",
|
||||
"Later" : "Senere",
|
||||
"Show archived cards" : "Vis arkiverede kort",
|
||||
"Hide archived cards" : "Skjul arkiverede kort",
|
||||
"Board details" : "Liste detaljer",
|
||||
"Archive" : "Arkivér",
|
||||
"Unarchive" : "Annuller arkivering",
|
||||
"Delete" : "Slet",
|
||||
"Enter a card title" : "Angiv titel på kort",
|
||||
"Sharing" : "Deling",
|
||||
"Labels" : "Labels",
|
||||
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
|
||||
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
|
||||
"Share" : "Del",
|
||||
"Edit" : "Redigér",
|
||||
"Manage" : "Administrer ",
|
||||
"Discard share" : "Kasser deling",
|
||||
"Create a new label" : "Opret en ny etikette ",
|
||||
"Board title" : "Titel på liste",
|
||||
"Members" : "Medlemmer",
|
||||
"Create new board" : "Opret ny liste",
|
||||
"New board title" : "Ny titel på liste",
|
||||
"Modified:" : "Ændret:",
|
||||
"Created:" : "Oprettet:",
|
||||
"by" : "af",
|
||||
"Saved" : "Gemt",
|
||||
"Add a card description ..." : "Tilføj en kort beskrivelse",
|
||||
"Attachments" : "Vedhæftede filer",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Hostorik",
|
||||
"All Boards" : "Alle lister",
|
||||
"Shared with you" : "Delt med dig",
|
||||
"edit" : "redigér",
|
||||
"delete" : "slet",
|
||||
"remove share" : "Fjern deling",
|
||||
"Create a new board" : "Opret ny liste"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/da.json
Normal file
42
l10n/da.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Tavle",
|
||||
"Finished" : "Færdiggjort",
|
||||
"To review" : "Efterse",
|
||||
"Action needed" : "Handling påkrævet",
|
||||
"Later" : "Senere",
|
||||
"Show archived cards" : "Vis arkiverede kort",
|
||||
"Hide archived cards" : "Skjul arkiverede kort",
|
||||
"Board details" : "Liste detaljer",
|
||||
"Archive" : "Arkivér",
|
||||
"Unarchive" : "Annuller arkivering",
|
||||
"Delete" : "Slet",
|
||||
"Enter a card title" : "Angiv titel på kort",
|
||||
"Sharing" : "Deling",
|
||||
"Labels" : "Labels",
|
||||
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
|
||||
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
|
||||
"Share" : "Del",
|
||||
"Edit" : "Redigér",
|
||||
"Manage" : "Administrer ",
|
||||
"Discard share" : "Kasser deling",
|
||||
"Create a new label" : "Opret en ny etikette ",
|
||||
"Board title" : "Titel på liste",
|
||||
"Members" : "Medlemmer",
|
||||
"Create new board" : "Opret ny liste",
|
||||
"New board title" : "Ny titel på liste",
|
||||
"Modified:" : "Ændret:",
|
||||
"Created:" : "Oprettet:",
|
||||
"by" : "af",
|
||||
"Saved" : "Gemt",
|
||||
"Add a card description ..." : "Tilføj en kort beskrivelse",
|
||||
"Attachments" : "Vedhæftede filer",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Hostorik",
|
||||
"All Boards" : "Alle lister",
|
||||
"Shared with you" : "Delt med dig",
|
||||
"edit" : "redigér",
|
||||
"delete" : "slet",
|
||||
"remove share" : "Fjern deling",
|
||||
"Create a new board" : "Opret ny liste"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/de.js
Normal file
44
l10n/de.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Abgeschlossen",
|
||||
"To review" : "Zu bewerten",
|
||||
"Action needed" : "Aktion erforderlich",
|
||||
"Later" : "Später",
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||
"Board details" : "Board-Details",
|
||||
"Archive" : "Archivieren",
|
||||
"Unarchive" : "Dearchivieren",
|
||||
"Delete" : "Löschen",
|
||||
"Enter a card title" : "Kartentitel eingeben",
|
||||
"Sharing" : "Teilen",
|
||||
"Labels" : "Beschriftungen",
|
||||
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
|
||||
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
|
||||
"Share" : "Share",
|
||||
"Edit" : "Bearbeiten",
|
||||
"Manage" : "Verwalten",
|
||||
"Discard share" : "Teilen aufheben",
|
||||
"Create a new label" : "Neue Beschriftung erstellen",
|
||||
"Board title" : "Board-Titel",
|
||||
"Members" : "Mitglieder",
|
||||
"Create new board" : "Neues Board erstellen",
|
||||
"New board title" : "Neuer Board-Titel",
|
||||
"Modified:" : "Geändert:",
|
||||
"Created:" : "Erstellt:",
|
||||
"by" : "von",
|
||||
"Saved" : "Gespeichert",
|
||||
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
|
||||
"Attachments" : "Anhänge",
|
||||
"Comments" : "Kommentare",
|
||||
"History" : "Verlauf",
|
||||
"All Boards" : "Alle Boards",
|
||||
"Shared with you" : "Mit Dir geteilt",
|
||||
"edit" : "Bearbeiten",
|
||||
"delete" : "Löschen",
|
||||
"remove share" : "Freigabe löschen",
|
||||
"Create a new board" : "Neues Board erstellen"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/de.json
Normal file
42
l10n/de.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Abgeschlossen",
|
||||
"To review" : "Zu bewerten",
|
||||
"Action needed" : "Aktion erforderlich",
|
||||
"Later" : "Später",
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||
"Board details" : "Board-Details",
|
||||
"Archive" : "Archivieren",
|
||||
"Unarchive" : "Dearchivieren",
|
||||
"Delete" : "Löschen",
|
||||
"Enter a card title" : "Kartentitel eingeben",
|
||||
"Sharing" : "Teilen",
|
||||
"Labels" : "Beschriftungen",
|
||||
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
|
||||
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
|
||||
"Share" : "Share",
|
||||
"Edit" : "Bearbeiten",
|
||||
"Manage" : "Verwalten",
|
||||
"Discard share" : "Teilen aufheben",
|
||||
"Create a new label" : "Neue Beschriftung erstellen",
|
||||
"Board title" : "Board-Titel",
|
||||
"Members" : "Mitglieder",
|
||||
"Create new board" : "Neues Board erstellen",
|
||||
"New board title" : "Neuer Board-Titel",
|
||||
"Modified:" : "Geändert:",
|
||||
"Created:" : "Erstellt:",
|
||||
"by" : "von",
|
||||
"Saved" : "Gespeichert",
|
||||
"Add a card description ..." : "Eine Beschreibung der Karte hinzufügen…",
|
||||
"Attachments" : "Anhänge",
|
||||
"Comments" : "Kommentare",
|
||||
"History" : "Verlauf",
|
||||
"All Boards" : "Alle Boards",
|
||||
"Shared with you" : "Mit Dir geteilt",
|
||||
"edit" : "Bearbeiten",
|
||||
"delete" : "Löschen",
|
||||
"remove share" : "Freigabe löschen",
|
||||
"Create a new board" : "Neues Board erstellen"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/de_DE.js
Normal file
44
l10n/de_DE.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Abgeschlossen",
|
||||
"To review" : "Zu bewerten",
|
||||
"Action needed" : "Aktion erforderlich",
|
||||
"Later" : "Später",
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||
"Board details" : "Board-Details",
|
||||
"Archive" : "Archivieren",
|
||||
"Unarchive" : "Dearchivieren",
|
||||
"Delete" : "Löschen",
|
||||
"Enter a card title" : "Kartentitel eingeben",
|
||||
"Sharing" : "Teilen",
|
||||
"Labels" : "Beschriftungen",
|
||||
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
|
||||
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
|
||||
"Share" : "Teilen",
|
||||
"Edit" : "Bearbeiten",
|
||||
"Manage" : "Verwalten",
|
||||
"Discard share" : "Teilen aufheben",
|
||||
"Create a new label" : "Neue Beschriftung erstellen",
|
||||
"Board title" : "Board-Titel",
|
||||
"Members" : "Mitglieder",
|
||||
"Create new board" : "Neues Board erstellen",
|
||||
"New board title" : "Neuer Board-Titel",
|
||||
"Modified:" : "Geändert:",
|
||||
"Created:" : "Erstellt:",
|
||||
"by" : "von",
|
||||
"Saved" : "Gespeichert",
|
||||
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
|
||||
"Attachments" : "Anhänge",
|
||||
"Comments" : "Kommentare",
|
||||
"History" : "Verlauf",
|
||||
"All Boards" : "Alle Boards",
|
||||
"Shared with you" : "Mit Ihnen geteilt",
|
||||
"edit" : "Bearbeiten",
|
||||
"delete" : "Löschen",
|
||||
"remove share" : "Freigabe löschen",
|
||||
"Create a new board" : "Neues Board erstellen"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/de_DE.json
Normal file
42
l10n/de_DE.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Abgeschlossen",
|
||||
"To review" : "Zu bewerten",
|
||||
"Action needed" : "Aktion erforderlich",
|
||||
"Later" : "Später",
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||
"Board details" : "Board-Details",
|
||||
"Archive" : "Archivieren",
|
||||
"Unarchive" : "Dearchivieren",
|
||||
"Delete" : "Löschen",
|
||||
"Enter a card title" : "Kartentitel eingeben",
|
||||
"Sharing" : "Teilen",
|
||||
"Labels" : "Beschriftungen",
|
||||
"Select users or groups to share with" : "Benutzern oder Gruppen auswählen, mit denen es geteilt werden soll",
|
||||
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
|
||||
"Share" : "Teilen",
|
||||
"Edit" : "Bearbeiten",
|
||||
"Manage" : "Verwalten",
|
||||
"Discard share" : "Teilen aufheben",
|
||||
"Create a new label" : "Neue Beschriftung erstellen",
|
||||
"Board title" : "Board-Titel",
|
||||
"Members" : "Mitglieder",
|
||||
"Create new board" : "Neues Board erstellen",
|
||||
"New board title" : "Neuer Board-Titel",
|
||||
"Modified:" : "Geändert:",
|
||||
"Created:" : "Erstellt:",
|
||||
"by" : "von",
|
||||
"Saved" : "Gespeichert",
|
||||
"Add a card description ..." : "Der Karte eine Beschreibung hinzufügen…",
|
||||
"Attachments" : "Anhänge",
|
||||
"Comments" : "Kommentare",
|
||||
"History" : "Verlauf",
|
||||
"All Boards" : "Alle Boards",
|
||||
"Shared with you" : "Mit Ihnen geteilt",
|
||||
"edit" : "Bearbeiten",
|
||||
"delete" : "Löschen",
|
||||
"remove share" : "Freigabe löschen",
|
||||
"Create a new board" : "Neues Board erstellen"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/es.js
Normal file
44
l10n/es.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Finalizado",
|
||||
"To review" : "Para revisar",
|
||||
"Action needed" : "Se necesita una acción",
|
||||
"Later" : "Después",
|
||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||
"Board details" : "Detalles del tablero",
|
||||
"Archive" : "Archivar",
|
||||
"Unarchive" : "Desarchivar",
|
||||
"Delete" : "Eliminar",
|
||||
"Enter a card title" : "Introducir un título de tarjeta",
|
||||
"Sharing" : "Compartir",
|
||||
"Labels" : "Etiquetas",
|
||||
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
|
||||
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
|
||||
"Share" : "Compartir",
|
||||
"Edit" : "Editar",
|
||||
"Manage" : "Organizar",
|
||||
"Discard share" : "Descartar compartición",
|
||||
"Create a new label" : "Crear una nueva etiqueta",
|
||||
"Board title" : "Título del tablero",
|
||||
"Members" : "Miembros",
|
||||
"Create new board" : "Crear nuevo tablero",
|
||||
"New board title" : "Nuevo título de tablero",
|
||||
"Modified:" : "Modificado: ",
|
||||
"Created:" : "Creado: ",
|
||||
"by" : "por",
|
||||
"Saved" : "Guardado",
|
||||
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
|
||||
"Attachments" : "Adjuntos",
|
||||
"Comments" : "Comentario",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Todos los tableros",
|
||||
"Shared with you" : "Compartido contigo",
|
||||
"edit" : "editar",
|
||||
"delete" : "eliminar",
|
||||
"remove share" : "eliminar compartición",
|
||||
"Create a new board" : "Crear un tablero nuevo"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/es.json
Normal file
42
l10n/es.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Finalizado",
|
||||
"To review" : "Para revisar",
|
||||
"Action needed" : "Se necesita una acción",
|
||||
"Later" : "Después",
|
||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||
"Board details" : "Detalles del tablero",
|
||||
"Archive" : "Archivar",
|
||||
"Unarchive" : "Desarchivar",
|
||||
"Delete" : "Eliminar",
|
||||
"Enter a card title" : "Introducir un título de tarjeta",
|
||||
"Sharing" : "Compartir",
|
||||
"Labels" : "Etiquetas",
|
||||
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
|
||||
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
|
||||
"Share" : "Compartir",
|
||||
"Edit" : "Editar",
|
||||
"Manage" : "Organizar",
|
||||
"Discard share" : "Descartar compartición",
|
||||
"Create a new label" : "Crear una nueva etiqueta",
|
||||
"Board title" : "Título del tablero",
|
||||
"Members" : "Miembros",
|
||||
"Create new board" : "Crear nuevo tablero",
|
||||
"New board title" : "Nuevo título de tablero",
|
||||
"Modified:" : "Modificado: ",
|
||||
"Created:" : "Creado: ",
|
||||
"by" : "por",
|
||||
"Saved" : "Guardado",
|
||||
"Add a card description ..." : "Añadir una descripción de la tarjeta...",
|
||||
"Attachments" : "Adjuntos",
|
||||
"Comments" : "Comentario",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Todos los tableros",
|
||||
"Shared with you" : "Compartido contigo",
|
||||
"edit" : "editar",
|
||||
"delete" : "eliminar",
|
||||
"remove share" : "eliminar compartición",
|
||||
"Create a new board" : "Crear un tablero nuevo"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/fi.js
Normal file
44
l10n/fi.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Kansi",
|
||||
"Finished" : "Valmistunut",
|
||||
"To review" : "Arvostella",
|
||||
"Action needed" : "Toimia vaaditaan",
|
||||
"Later" : "Myöhemmin",
|
||||
"Show archived cards" : "Näytä arkistoidut kortit",
|
||||
"Hide archived cards" : "Piilota arkistoidut kortit",
|
||||
"Board details" : "Taulun tiedot",
|
||||
"Archive" : "Arkisto",
|
||||
"Unarchive" : "Pois arkistosta",
|
||||
"Delete" : "Poista",
|
||||
"Enter a card title" : "Anna otsikko",
|
||||
"Sharing" : "Jakaminen",
|
||||
"Labels" : "Etiketit",
|
||||
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
|
||||
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
|
||||
"Share" : "Jaa",
|
||||
"Edit" : "Muokkaa",
|
||||
"Manage" : "Hallitse",
|
||||
"Discard share" : "Peru jakaminen",
|
||||
"Create a new label" : "Lisää uusi etiketti",
|
||||
"Board title" : "Taulun otsikko",
|
||||
"Members" : "Jäsenet",
|
||||
"Create new board" : "Luo uusi taulu",
|
||||
"New board title" : "Uusi taulun otsikko",
|
||||
"Modified:" : "Muokattu:",
|
||||
"Created:" : "Luotu:",
|
||||
"by" : " Kirjoittaja:",
|
||||
"Saved" : "Tallennettu",
|
||||
"Add a card description ..." : "Lisää kortille kuvaus",
|
||||
"Attachments" : "Liitteet",
|
||||
"Comments" : "Kommentit",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Kaikki Taulut",
|
||||
"Shared with you" : "Jaetu kanssasi",
|
||||
"edit" : "muokkaa",
|
||||
"delete" : "poista",
|
||||
"remove share" : "poista jako",
|
||||
"Create a new board" : "Luo uusi taulu"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/fi.json
Normal file
42
l10n/fi.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Kansi",
|
||||
"Finished" : "Valmistunut",
|
||||
"To review" : "Arvostella",
|
||||
"Action needed" : "Toimia vaaditaan",
|
||||
"Later" : "Myöhemmin",
|
||||
"Show archived cards" : "Näytä arkistoidut kortit",
|
||||
"Hide archived cards" : "Piilota arkistoidut kortit",
|
||||
"Board details" : "Taulun tiedot",
|
||||
"Archive" : "Arkisto",
|
||||
"Unarchive" : "Pois arkistosta",
|
||||
"Delete" : "Poista",
|
||||
"Enter a card title" : "Anna otsikko",
|
||||
"Sharing" : "Jakaminen",
|
||||
"Labels" : "Etiketit",
|
||||
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
|
||||
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
|
||||
"Share" : "Jaa",
|
||||
"Edit" : "Muokkaa",
|
||||
"Manage" : "Hallitse",
|
||||
"Discard share" : "Peru jakaminen",
|
||||
"Create a new label" : "Lisää uusi etiketti",
|
||||
"Board title" : "Taulun otsikko",
|
||||
"Members" : "Jäsenet",
|
||||
"Create new board" : "Luo uusi taulu",
|
||||
"New board title" : "Uusi taulun otsikko",
|
||||
"Modified:" : "Muokattu:",
|
||||
"Created:" : "Luotu:",
|
||||
"by" : " Kirjoittaja:",
|
||||
"Saved" : "Tallennettu",
|
||||
"Add a card description ..." : "Lisää kortille kuvaus",
|
||||
"Attachments" : "Liitteet",
|
||||
"Comments" : "Kommentit",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Kaikki Taulut",
|
||||
"Shared with you" : "Jaetu kanssasi",
|
||||
"edit" : "muokkaa",
|
||||
"delete" : "poista",
|
||||
"remove share" : "poista jako",
|
||||
"Create a new board" : "Luo uusi taulu"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/fr.js
Normal file
44
l10n/fr.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Terminé",
|
||||
"To review" : "A réviser",
|
||||
"Action needed" : "Action requise",
|
||||
"Later" : "Plus tard",
|
||||
"Show archived cards" : "Afficher les cartes archivées",
|
||||
"Hide archived cards" : "Masquer les cartes archivées",
|
||||
"Board details" : "Détails du tableau",
|
||||
"Archive" : "Archiver",
|
||||
"Unarchive" : "Ne plus archiver",
|
||||
"Delete" : "Supprimer",
|
||||
"Enter a card title" : "Saisissez un titre de carte",
|
||||
"Sharing" : "Partage",
|
||||
"Labels" : "Étiquettes",
|
||||
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
|
||||
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
|
||||
"Share" : "Partager",
|
||||
"Edit" : "Modifier",
|
||||
"Manage" : "Gérer",
|
||||
"Discard share" : "Supprimer le partage",
|
||||
"Create a new label" : "Créer une nouvelle étiquette",
|
||||
"Board title" : "Titre du tableau",
|
||||
"Members" : "Membres",
|
||||
"Create new board" : "Créer un nouveau tableau",
|
||||
"New board title" : "Nouveau titre pour le tableau",
|
||||
"Modified:" : "Modifié le :",
|
||||
"Created:" : "Créé le :",
|
||||
"by" : "par",
|
||||
"Saved" : "Enregistré",
|
||||
"Add a card description ..." : "Ajouter une description pour la carte",
|
||||
"Attachments" : "Pièces jointes",
|
||||
"Comments" : "Commentaires",
|
||||
"History" : "Journal",
|
||||
"All Boards" : "Tous les tableaux",
|
||||
"Shared with you" : "Partagé avec vous",
|
||||
"edit" : "modifier",
|
||||
"delete" : "suppression",
|
||||
"remove share" : "suppression du partage",
|
||||
"Create a new board" : "Créer un nouveau tableau"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
42
l10n/fr.json
Normal file
42
l10n/fr.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Terminé",
|
||||
"To review" : "A réviser",
|
||||
"Action needed" : "Action requise",
|
||||
"Later" : "Plus tard",
|
||||
"Show archived cards" : "Afficher les cartes archivées",
|
||||
"Hide archived cards" : "Masquer les cartes archivées",
|
||||
"Board details" : "Détails du tableau",
|
||||
"Archive" : "Archiver",
|
||||
"Unarchive" : "Ne plus archiver",
|
||||
"Delete" : "Supprimer",
|
||||
"Enter a card title" : "Saisissez un titre de carte",
|
||||
"Sharing" : "Partage",
|
||||
"Labels" : "Étiquettes",
|
||||
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
|
||||
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
|
||||
"Share" : "Partager",
|
||||
"Edit" : "Modifier",
|
||||
"Manage" : "Gérer",
|
||||
"Discard share" : "Supprimer le partage",
|
||||
"Create a new label" : "Créer une nouvelle étiquette",
|
||||
"Board title" : "Titre du tableau",
|
||||
"Members" : "Membres",
|
||||
"Create new board" : "Créer un nouveau tableau",
|
||||
"New board title" : "Nouveau titre pour le tableau",
|
||||
"Modified:" : "Modifié le :",
|
||||
"Created:" : "Créé le :",
|
||||
"by" : "par",
|
||||
"Saved" : "Enregistré",
|
||||
"Add a card description ..." : "Ajouter une description pour la carte",
|
||||
"Attachments" : "Pièces jointes",
|
||||
"Comments" : "Commentaires",
|
||||
"History" : "Journal",
|
||||
"All Boards" : "Tous les tableaux",
|
||||
"Shared with you" : "Partagé avec vous",
|
||||
"edit" : "modifier",
|
||||
"delete" : "suppression",
|
||||
"remove share" : "suppression du partage",
|
||||
"Create a new board" : "Créer un nouveau tableau"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
22
l10n/hu.js
Normal file
22
l10n/hu.js
Normal file
@@ -0,0 +1,22 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Finished" : "Kész",
|
||||
"Later" : "Később",
|
||||
"Delete" : "Törlés",
|
||||
"Sharing" : "Megosztás",
|
||||
"Labels" : "Címkék",
|
||||
"Share" : "Megosztás",
|
||||
"Edit" : "Szerkesztés",
|
||||
"Manage" : "Kezelés",
|
||||
"Members" : "Tagok",
|
||||
"Modified:" : "Módosítva:",
|
||||
"Created:" : "Létrehozva:",
|
||||
"Saved" : "Elmentve",
|
||||
"Comments" : "Hozzászólások",
|
||||
"History" : "Előzmények",
|
||||
"Shared with you" : "Megosztva veled",
|
||||
"edit" : "szerkesztés",
|
||||
"delete" : "törlés"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
20
l10n/hu.json
Normal file
20
l10n/hu.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{ "translations": {
|
||||
"Finished" : "Kész",
|
||||
"Later" : "Később",
|
||||
"Delete" : "Törlés",
|
||||
"Sharing" : "Megosztás",
|
||||
"Labels" : "Címkék",
|
||||
"Share" : "Megosztás",
|
||||
"Edit" : "Szerkesztés",
|
||||
"Manage" : "Kezelés",
|
||||
"Members" : "Tagok",
|
||||
"Modified:" : "Módosítva:",
|
||||
"Created:" : "Létrehozva:",
|
||||
"Saved" : "Elmentve",
|
||||
"Comments" : "Hozzászólások",
|
||||
"History" : "Előzmények",
|
||||
"Shared with you" : "Megosztva veled",
|
||||
"edit" : "szerkesztés",
|
||||
"delete" : "törlés"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
27
l10n/ia.js
Normal file
27
l10n/ia.js
Normal file
@@ -0,0 +1,27 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Finished" : "Finite",
|
||||
"To review" : "A revider",
|
||||
"Action needed" : "Action necessari",
|
||||
"Later" : "Depost",
|
||||
"Delete" : "Deler",
|
||||
"Labels" : "Etiquettas",
|
||||
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
|
||||
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
|
||||
"Share" : "Compartir",
|
||||
"Edit" : "Modificar",
|
||||
"Manage" : "Administrar",
|
||||
"Members" : "Membros",
|
||||
"Modified:" : "Modificate:",
|
||||
"Created:" : "Create:",
|
||||
"by" : "per",
|
||||
"Saved" : "Salveguardate",
|
||||
"Attachments" : "Attachamentos",
|
||||
"Comments" : "Commentarios",
|
||||
"History" : "Historia",
|
||||
"Shared with you" : "Compartite con te",
|
||||
"edit" : "modificar",
|
||||
"delete" : "deler"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
25
l10n/ia.json
Normal file
25
l10n/ia.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{ "translations": {
|
||||
"Finished" : "Finite",
|
||||
"To review" : "A revider",
|
||||
"Action needed" : "Action necessari",
|
||||
"Later" : "Depost",
|
||||
"Delete" : "Deler",
|
||||
"Labels" : "Etiquettas",
|
||||
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
|
||||
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
|
||||
"Share" : "Compartir",
|
||||
"Edit" : "Modificar",
|
||||
"Manage" : "Administrar",
|
||||
"Members" : "Membros",
|
||||
"Modified:" : "Modificate:",
|
||||
"Created:" : "Create:",
|
||||
"by" : "per",
|
||||
"Saved" : "Salveguardate",
|
||||
"Attachments" : "Attachamentos",
|
||||
"Comments" : "Commentarios",
|
||||
"History" : "Historia",
|
||||
"Shared with you" : "Compartite con te",
|
||||
"edit" : "modificar",
|
||||
"delete" : "deler"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/is.js
Normal file
44
l10n/is.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Dekk",
|
||||
"Finished" : "Lokið",
|
||||
"To review" : "Til að yfirfara",
|
||||
"Action needed" : "Aðgerðar krafist",
|
||||
"Later" : "Seinna",
|
||||
"Show archived cards" : "Sýna spjöld í geymslu",
|
||||
"Hide archived cards" : "Fela spjöld í geymslu",
|
||||
"Board details" : "Nánar um bretti",
|
||||
"Archive" : "Setja í safnskrá",
|
||||
"Unarchive" : "Taka úr geymslu",
|
||||
"Delete" : "Eyða",
|
||||
"Enter a card title" : "Sláðu inn titil á spjald",
|
||||
"Sharing" : "Deiling",
|
||||
"Labels" : "Skýringar",
|
||||
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
|
||||
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
|
||||
"Share" : "Deila",
|
||||
"Edit" : "Breyta",
|
||||
"Manage" : "Skipuleggja",
|
||||
"Discard share" : "Henda sameign",
|
||||
"Create a new label" : "Búa til nýja skýringu",
|
||||
"Board title" : "Titill á borði",
|
||||
"Members" : "Meðlimir",
|
||||
"Create new board" : "Búa til nýtt borð",
|
||||
"New board title" : "Nýr titill á borð",
|
||||
"Modified:" : "Breytt þann:",
|
||||
"Created:" : "Búið til:",
|
||||
"by" : "af",
|
||||
"Saved" : "Vistað",
|
||||
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
|
||||
"Attachments" : "Viðhengi",
|
||||
"Comments" : "Athugasemdir",
|
||||
"History" : "Ferill",
|
||||
"All Boards" : "Öll borð",
|
||||
"Shared with you" : "Deilt með þér",
|
||||
"edit" : "breyta",
|
||||
"delete" : "eyða",
|
||||
"remove share" : "fjarlægja sameign...",
|
||||
"Create a new board" : "Búa til nýtt borð"
|
||||
},
|
||||
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
|
||||
42
l10n/is.json
Normal file
42
l10n/is.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Dekk",
|
||||
"Finished" : "Lokið",
|
||||
"To review" : "Til að yfirfara",
|
||||
"Action needed" : "Aðgerðar krafist",
|
||||
"Later" : "Seinna",
|
||||
"Show archived cards" : "Sýna spjöld í geymslu",
|
||||
"Hide archived cards" : "Fela spjöld í geymslu",
|
||||
"Board details" : "Nánar um bretti",
|
||||
"Archive" : "Setja í safnskrá",
|
||||
"Unarchive" : "Taka úr geymslu",
|
||||
"Delete" : "Eyða",
|
||||
"Enter a card title" : "Sláðu inn titil á spjald",
|
||||
"Sharing" : "Deiling",
|
||||
"Labels" : "Skýringar",
|
||||
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
|
||||
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
|
||||
"Share" : "Deila",
|
||||
"Edit" : "Breyta",
|
||||
"Manage" : "Skipuleggja",
|
||||
"Discard share" : "Henda sameign",
|
||||
"Create a new label" : "Búa til nýja skýringu",
|
||||
"Board title" : "Titill á borði",
|
||||
"Members" : "Meðlimir",
|
||||
"Create new board" : "Búa til nýtt borð",
|
||||
"New board title" : "Nýr titill á borð",
|
||||
"Modified:" : "Breytt þann:",
|
||||
"Created:" : "Búið til:",
|
||||
"by" : "af",
|
||||
"Saved" : "Vistað",
|
||||
"Add a card description ..." : "Settu inn lýsingu á spjaldi ...",
|
||||
"Attachments" : "Viðhengi",
|
||||
"Comments" : "Athugasemdir",
|
||||
"History" : "Ferill",
|
||||
"All Boards" : "Öll borð",
|
||||
"Shared with you" : "Deilt með þér",
|
||||
"edit" : "breyta",
|
||||
"delete" : "eyða",
|
||||
"remove share" : "fjarlægja sameign...",
|
||||
"Create a new board" : "Búa til nýtt borð"
|
||||
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
|
||||
}
|
||||
44
l10n/it.js
Normal file
44
l10n/it.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Finito",
|
||||
"To review" : "Da revisionare",
|
||||
"Action needed" : "Azione necessaria",
|
||||
"Later" : "Dopo",
|
||||
"Show archived cards" : "Mostra le carte archiviate",
|
||||
"Hide archived cards" : "Nascondi le carte archiviate",
|
||||
"Board details" : "Dettaglio lavagna",
|
||||
"Archive" : "Archivio",
|
||||
"Unarchive" : "Togli dall'archivio",
|
||||
"Delete" : "Elimina",
|
||||
"Enter a card title" : "Inserisci un titolo alla scheda",
|
||||
"Sharing" : "Condivisione",
|
||||
"Labels" : "Etichette",
|
||||
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
|
||||
"No matching user or group found." : "Nessun utente o gruppo trovato.",
|
||||
"Share" : "Condividi",
|
||||
"Edit" : "Modifica",
|
||||
"Manage" : "Gestisci",
|
||||
"Discard share" : "Annulla condivisione",
|
||||
"Create a new label" : "Crea una nuova etichetta",
|
||||
"Board title" : "Titolo della lavagna",
|
||||
"Members" : "Membri",
|
||||
"Create new board" : "Crea una nuova lavagna",
|
||||
"New board title" : "Titolo nuova lavagna",
|
||||
"Modified:" : "Modificato:",
|
||||
"Created:" : "Creato:",
|
||||
"by" : "da",
|
||||
"Saved" : "Salvato",
|
||||
"Add a card description ..." : "Aggiungi descrizione della scheda...",
|
||||
"Attachments" : "Allegati",
|
||||
"Comments" : "Commenti",
|
||||
"History" : "Cronologia",
|
||||
"All Boards" : "Tutte le lavagne",
|
||||
"Shared with you" : "Condiviso con te",
|
||||
"edit" : "modifica",
|
||||
"delete" : "elimina",
|
||||
"remove share" : "rimuovi condivisione",
|
||||
"Create a new board" : "Crea una nuova lavagna"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/it.json
Normal file
42
l10n/it.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Finito",
|
||||
"To review" : "Da revisionare",
|
||||
"Action needed" : "Azione necessaria",
|
||||
"Later" : "Dopo",
|
||||
"Show archived cards" : "Mostra le carte archiviate",
|
||||
"Hide archived cards" : "Nascondi le carte archiviate",
|
||||
"Board details" : "Dettaglio lavagna",
|
||||
"Archive" : "Archivio",
|
||||
"Unarchive" : "Togli dall'archivio",
|
||||
"Delete" : "Elimina",
|
||||
"Enter a card title" : "Inserisci un titolo alla scheda",
|
||||
"Sharing" : "Condivisione",
|
||||
"Labels" : "Etichette",
|
||||
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
|
||||
"No matching user or group found." : "Nessun utente o gruppo trovato.",
|
||||
"Share" : "Condividi",
|
||||
"Edit" : "Modifica",
|
||||
"Manage" : "Gestisci",
|
||||
"Discard share" : "Annulla condivisione",
|
||||
"Create a new label" : "Crea una nuova etichetta",
|
||||
"Board title" : "Titolo della lavagna",
|
||||
"Members" : "Membri",
|
||||
"Create new board" : "Crea una nuova lavagna",
|
||||
"New board title" : "Titolo nuova lavagna",
|
||||
"Modified:" : "Modificato:",
|
||||
"Created:" : "Creato:",
|
||||
"by" : "da",
|
||||
"Saved" : "Salvato",
|
||||
"Add a card description ..." : "Aggiungi descrizione della scheda...",
|
||||
"Attachments" : "Allegati",
|
||||
"Comments" : "Commenti",
|
||||
"History" : "Cronologia",
|
||||
"All Boards" : "Tutte le lavagne",
|
||||
"Shared with you" : "Condiviso con te",
|
||||
"edit" : "modifica",
|
||||
"delete" : "elimina",
|
||||
"remove share" : "rimuovi condivisione",
|
||||
"Create a new board" : "Crea una nuova lavagna"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
28
l10n/lv.js
Normal file
28
l10n/lv.js
Normal file
@@ -0,0 +1,28 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Finished" : "Pabeigts",
|
||||
"Later" : "Vēlāk",
|
||||
"Show archived cards" : "Rādīt arhivētās kartes",
|
||||
"Hide archived cards" : "Slēpt arhivētās kartes",
|
||||
"Archive" : "Arhīvi",
|
||||
"Delete" : "Dzēst",
|
||||
"Enter a card title" : "Ievadiet kartes nosaukumu",
|
||||
"Sharing" : "Koplietošana",
|
||||
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
|
||||
"Share" : "Koplietot",
|
||||
"Edit" : "Rediģēt",
|
||||
"Discard share" : "Atcelt koplietošanu",
|
||||
"Members" : "Biedri",
|
||||
"Modified:" : "Modificēta:",
|
||||
"Created:" : "Izveidota:",
|
||||
"Saved" : "Saglabāts",
|
||||
"Attachments" : "Pielikumi",
|
||||
"Comments" : "Komentāri",
|
||||
"History" : "Vēsture",
|
||||
"Shared with you" : "Koplietots ar tevi",
|
||||
"edit" : "rediģēt",
|
||||
"delete" : "dzēst",
|
||||
"remove share" : "noņemt koplietojumu"
|
||||
},
|
||||
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
|
||||
26
l10n/lv.json
Normal file
26
l10n/lv.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{ "translations": {
|
||||
"Finished" : "Pabeigts",
|
||||
"Later" : "Vēlāk",
|
||||
"Show archived cards" : "Rādīt arhivētās kartes",
|
||||
"Hide archived cards" : "Slēpt arhivētās kartes",
|
||||
"Archive" : "Arhīvi",
|
||||
"Delete" : "Dzēst",
|
||||
"Enter a card title" : "Ievadiet kartes nosaukumu",
|
||||
"Sharing" : "Koplietošana",
|
||||
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
|
||||
"Share" : "Koplietot",
|
||||
"Edit" : "Rediģēt",
|
||||
"Discard share" : "Atcelt koplietošanu",
|
||||
"Members" : "Biedri",
|
||||
"Modified:" : "Modificēta:",
|
||||
"Created:" : "Izveidota:",
|
||||
"Saved" : "Saglabāts",
|
||||
"Attachments" : "Pielikumi",
|
||||
"Comments" : "Komentāri",
|
||||
"History" : "Vēsture",
|
||||
"Shared with you" : "Koplietots ar tevi",
|
||||
"edit" : "rediģēt",
|
||||
"delete" : "dzēst",
|
||||
"remove share" : "noņemt koplietojumu"
|
||||
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
|
||||
}
|
||||
44
l10n/nb.js
Normal file
44
l10n/nb.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Stokk",
|
||||
"Finished" : "Fullført",
|
||||
"To review" : "Til gjennomlesning",
|
||||
"Action needed" : "Handling påkrevd",
|
||||
"Later" : "Senere",
|
||||
"Show archived cards" : "Vis arkiverkte kort",
|
||||
"Hide archived cards" : "Skjul arkiverte kort",
|
||||
"Board details" : "Bordetaljer",
|
||||
"Archive" : "Arkiv",
|
||||
"Unarchive" : "Dearkivere",
|
||||
"Delete" : "Slett",
|
||||
"Enter a card title" : "Skriv inn en kort tittel",
|
||||
"Sharing" : "Deling",
|
||||
"Labels" : "Etiketter",
|
||||
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
|
||||
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
|
||||
"Share" : "Del",
|
||||
"Edit" : "Endre",
|
||||
"Manage" : "Håndtere",
|
||||
"Discard share" : "Fjern deling",
|
||||
"Create a new label" : "Opprett en ny etikett",
|
||||
"Board title" : "Bordtittel",
|
||||
"Members" : "Medlemmer",
|
||||
"Create new board" : "Opprett et nytt bord",
|
||||
"New board title" : "Ny bord tittel",
|
||||
"Modified:" : "Endret:",
|
||||
"Created:" : "Opprettet:",
|
||||
"by" : "av",
|
||||
"Saved" : "Lagret",
|
||||
"Add a card description ..." : "Legg til en beskrivelse av kortet",
|
||||
"Attachments" : "Vedlegg",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Historikk",
|
||||
"All Boards" : "Alle bord",
|
||||
"Shared with you" : "Delt med deg",
|
||||
"edit" : "endre",
|
||||
"delete" : "slett",
|
||||
"remove share" : "fjern deling",
|
||||
"Create a new board" : "Opprett et nytt bord"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/nb.json
Normal file
42
l10n/nb.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Stokk",
|
||||
"Finished" : "Fullført",
|
||||
"To review" : "Til gjennomlesning",
|
||||
"Action needed" : "Handling påkrevd",
|
||||
"Later" : "Senere",
|
||||
"Show archived cards" : "Vis arkiverkte kort",
|
||||
"Hide archived cards" : "Skjul arkiverte kort",
|
||||
"Board details" : "Bordetaljer",
|
||||
"Archive" : "Arkiv",
|
||||
"Unarchive" : "Dearkivere",
|
||||
"Delete" : "Slett",
|
||||
"Enter a card title" : "Skriv inn en kort tittel",
|
||||
"Sharing" : "Deling",
|
||||
"Labels" : "Etiketter",
|
||||
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
|
||||
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
|
||||
"Share" : "Del",
|
||||
"Edit" : "Endre",
|
||||
"Manage" : "Håndtere",
|
||||
"Discard share" : "Fjern deling",
|
||||
"Create a new label" : "Opprett en ny etikett",
|
||||
"Board title" : "Bordtittel",
|
||||
"Members" : "Medlemmer",
|
||||
"Create new board" : "Opprett et nytt bord",
|
||||
"New board title" : "Ny bord tittel",
|
||||
"Modified:" : "Endret:",
|
||||
"Created:" : "Opprettet:",
|
||||
"by" : "av",
|
||||
"Saved" : "Lagret",
|
||||
"Add a card description ..." : "Legg til en beskrivelse av kortet",
|
||||
"Attachments" : "Vedlegg",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Historikk",
|
||||
"All Boards" : "Alle bord",
|
||||
"Shared with you" : "Delt med deg",
|
||||
"edit" : "endre",
|
||||
"delete" : "slett",
|
||||
"remove share" : "fjern deling",
|
||||
"Create a new board" : "Opprett et nytt bord"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/nl.js
Normal file
44
l10n/nl.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Afgerond",
|
||||
"To review" : "Beoordelen",
|
||||
"Action needed" : "Actie benodigd",
|
||||
"Later" : "Later",
|
||||
"Show archived cards" : "Gearchiveerde kaarten weergeven",
|
||||
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
|
||||
"Board details" : "Bord details",
|
||||
"Archive" : "Archiveer",
|
||||
"Unarchive" : "Terugzetten uit archief",
|
||||
"Delete" : "Verwijderen",
|
||||
"Enter a card title" : "Kaart titel toevoegen",
|
||||
"Sharing" : "Delen",
|
||||
"Labels" : "Labels",
|
||||
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
|
||||
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
|
||||
"Share" : "Delen",
|
||||
"Edit" : "Bewerken",
|
||||
"Manage" : "Beheren",
|
||||
"Discard share" : "Delen uitzetten",
|
||||
"Create a new label" : "Nieuw label creëren",
|
||||
"Board title" : "Bord titel",
|
||||
"Members" : "Leden",
|
||||
"Create new board" : "Nieuw bord maken",
|
||||
"New board title" : "Nieuwe bord titel",
|
||||
"Modified:" : "Bewerkt:",
|
||||
"Created:" : "Gemaakt:",
|
||||
"by" : "door",
|
||||
"Saved" : "Opgeslagen",
|
||||
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
|
||||
"Attachments" : "Bijlage",
|
||||
"Comments" : "Opmerkingen",
|
||||
"History" : "Geschiedenis",
|
||||
"All Boards" : "Alle borden",
|
||||
"Shared with you" : "Deel met jou",
|
||||
"edit" : "Bewerk",
|
||||
"delete" : "verwijder",
|
||||
"remove share" : "verwijder gedeelde",
|
||||
"Create a new board" : "Een nieuw bord maken"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
42
l10n/nl.json
Normal file
42
l10n/nl.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Afgerond",
|
||||
"To review" : "Beoordelen",
|
||||
"Action needed" : "Actie benodigd",
|
||||
"Later" : "Later",
|
||||
"Show archived cards" : "Gearchiveerde kaarten weergeven",
|
||||
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
|
||||
"Board details" : "Bord details",
|
||||
"Archive" : "Archiveer",
|
||||
"Unarchive" : "Terugzetten uit archief",
|
||||
"Delete" : "Verwijderen",
|
||||
"Enter a card title" : "Kaart titel toevoegen",
|
||||
"Sharing" : "Delen",
|
||||
"Labels" : "Labels",
|
||||
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
|
||||
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
|
||||
"Share" : "Delen",
|
||||
"Edit" : "Bewerken",
|
||||
"Manage" : "Beheren",
|
||||
"Discard share" : "Delen uitzetten",
|
||||
"Create a new label" : "Nieuw label creëren",
|
||||
"Board title" : "Bord titel",
|
||||
"Members" : "Leden",
|
||||
"Create new board" : "Nieuw bord maken",
|
||||
"New board title" : "Nieuwe bord titel",
|
||||
"Modified:" : "Bewerkt:",
|
||||
"Created:" : "Gemaakt:",
|
||||
"by" : "door",
|
||||
"Saved" : "Opgeslagen",
|
||||
"Add a card description ..." : "Kaart beschrijving toevoegen ...",
|
||||
"Attachments" : "Bijlage",
|
||||
"Comments" : "Opmerkingen",
|
||||
"History" : "Geschiedenis",
|
||||
"All Boards" : "Alle borden",
|
||||
"Shared with you" : "Deel met jou",
|
||||
"edit" : "Bewerk",
|
||||
"delete" : "verwijder",
|
||||
"remove share" : "verwijder gedeelde",
|
||||
"Create a new board" : "Een nieuw bord maken"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/pl.js
Normal file
44
l10n/pl.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Ukończone",
|
||||
"To review" : "Do sprawdzenia",
|
||||
"Action needed" : "Wymagające akcji",
|
||||
"Later" : "Później",
|
||||
"Show archived cards" : "Pokaż zarchiwizowane karty",
|
||||
"Hide archived cards" : "Ukryj zarchiwizowane karty",
|
||||
"Board details" : "Szczegóły tablicy",
|
||||
"Archive" : "Archiwizuj",
|
||||
"Unarchive" : "Nie archiwizuj",
|
||||
"Delete" : "Usuń",
|
||||
"Enter a card title" : "Wprowadź tytuł karty",
|
||||
"Sharing" : "Współdzielenie",
|
||||
"Labels" : "Etykiety",
|
||||
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
|
||||
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
|
||||
"Share" : "Współdziel",
|
||||
"Edit" : "Edycja",
|
||||
"Manage" : "Zarządzanie",
|
||||
"Discard share" : "Usuń współdzielenie",
|
||||
"Create a new label" : "Utwórz nową etykietę",
|
||||
"Board title" : "Tytuł tablicy",
|
||||
"Members" : "Członkowie",
|
||||
"Create new board" : "Utwórz nową tablicę",
|
||||
"New board title" : "Tytuł nowej tablicy",
|
||||
"Modified:" : "Zmodyfikowano:",
|
||||
"Created:" : "Utworzono:",
|
||||
"by" : "przez",
|
||||
"Saved" : "Zapisano",
|
||||
"Add a card description ..." : "Dodaj opis karty",
|
||||
"Attachments" : "Załączniki",
|
||||
"Comments" : "Komentarze",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Tablice",
|
||||
"Shared with you" : "Współdzielone z tobą",
|
||||
"edit" : "edytuj",
|
||||
"delete" : "usuń",
|
||||
"remove share" : "usuń współdzielenie",
|
||||
"Create a new board" : "Utwórz nową tablicę"
|
||||
},
|
||||
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
|
||||
42
l10n/pl.json
Normal file
42
l10n/pl.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Ukończone",
|
||||
"To review" : "Do sprawdzenia",
|
||||
"Action needed" : "Wymagające akcji",
|
||||
"Later" : "Później",
|
||||
"Show archived cards" : "Pokaż zarchiwizowane karty",
|
||||
"Hide archived cards" : "Ukryj zarchiwizowane karty",
|
||||
"Board details" : "Szczegóły tablicy",
|
||||
"Archive" : "Archiwizuj",
|
||||
"Unarchive" : "Nie archiwizuj",
|
||||
"Delete" : "Usuń",
|
||||
"Enter a card title" : "Wprowadź tytuł karty",
|
||||
"Sharing" : "Współdzielenie",
|
||||
"Labels" : "Etykiety",
|
||||
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
|
||||
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
|
||||
"Share" : "Współdziel",
|
||||
"Edit" : "Edycja",
|
||||
"Manage" : "Zarządzanie",
|
||||
"Discard share" : "Usuń współdzielenie",
|
||||
"Create a new label" : "Utwórz nową etykietę",
|
||||
"Board title" : "Tytuł tablicy",
|
||||
"Members" : "Członkowie",
|
||||
"Create new board" : "Utwórz nową tablicę",
|
||||
"New board title" : "Tytuł nowej tablicy",
|
||||
"Modified:" : "Zmodyfikowano:",
|
||||
"Created:" : "Utworzono:",
|
||||
"by" : "przez",
|
||||
"Saved" : "Zapisano",
|
||||
"Add a card description ..." : "Dodaj opis karty",
|
||||
"Attachments" : "Załączniki",
|
||||
"Comments" : "Komentarze",
|
||||
"History" : "Historia",
|
||||
"All Boards" : "Tablice",
|
||||
"Shared with you" : "Współdzielone z tobą",
|
||||
"edit" : "edytuj",
|
||||
"delete" : "usuń",
|
||||
"remove share" : "usuń współdzielenie",
|
||||
"Create a new board" : "Utwórz nową tablicę"
|
||||
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
|
||||
}
|
||||
44
l10n/pt_BR.js
Normal file
44
l10n/pt_BR.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Mesa",
|
||||
"Finished" : "Terminado",
|
||||
"To review" : "Para revisão",
|
||||
"Action needed" : "Ação necessária",
|
||||
"Later" : "Depois",
|
||||
"Show archived cards" : "Mostrar cartões arquivados",
|
||||
"Hide archived cards" : "Ocultar cartões arquivados",
|
||||
"Board details" : "Detalhes do quadro",
|
||||
"Archive" : "Arquivar",
|
||||
"Unarchive" : "Desarquivar",
|
||||
"Delete" : "Excluir",
|
||||
"Enter a card title" : "Digite um título do cartão",
|
||||
"Sharing" : "Compartilhar",
|
||||
"Labels" : "Etiquetas",
|
||||
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
|
||||
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
|
||||
"Share" : "Compartilhar",
|
||||
"Edit" : "Editar",
|
||||
"Manage" : "Gerenciar",
|
||||
"Discard share" : "Descartar compartilhamento",
|
||||
"Create a new label" : "Criar uma nova etiqueta",
|
||||
"Board title" : "Título do quadro",
|
||||
"Members" : "Membros",
|
||||
"Create new board" : "Criar novo quadro",
|
||||
"New board title" : "Título do novo quadro",
|
||||
"Modified:" : "Modificado:",
|
||||
"Created:" : "Criado:",
|
||||
"by" : "por",
|
||||
"Saved" : "Salvo",
|
||||
"Add a card description ..." : "Adicionar uma descrição de cartão",
|
||||
"Attachments" : "Anexos",
|
||||
"Comments" : "Comentários",
|
||||
"History" : "Histórico",
|
||||
"All Boards" : "Todos os quadros",
|
||||
"Shared with you" : "Compartilhado com você",
|
||||
"edit" : "editar",
|
||||
"delete" : "excluir",
|
||||
"remove share" : "remover compartilhamento",
|
||||
"Create a new board" : "Criar um novo quadro"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
42
l10n/pt_BR.json
Normal file
42
l10n/pt_BR.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Mesa",
|
||||
"Finished" : "Terminado",
|
||||
"To review" : "Para revisão",
|
||||
"Action needed" : "Ação necessária",
|
||||
"Later" : "Depois",
|
||||
"Show archived cards" : "Mostrar cartões arquivados",
|
||||
"Hide archived cards" : "Ocultar cartões arquivados",
|
||||
"Board details" : "Detalhes do quadro",
|
||||
"Archive" : "Arquivar",
|
||||
"Unarchive" : "Desarquivar",
|
||||
"Delete" : "Excluir",
|
||||
"Enter a card title" : "Digite um título do cartão",
|
||||
"Sharing" : "Compartilhar",
|
||||
"Labels" : "Etiquetas",
|
||||
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar com",
|
||||
"No matching user or group found." : "Uusuário ou grupo não encontrado.",
|
||||
"Share" : "Compartilhar",
|
||||
"Edit" : "Editar",
|
||||
"Manage" : "Gerenciar",
|
||||
"Discard share" : "Descartar compartilhamento",
|
||||
"Create a new label" : "Criar uma nova etiqueta",
|
||||
"Board title" : "Título do quadro",
|
||||
"Members" : "Membros",
|
||||
"Create new board" : "Criar novo quadro",
|
||||
"New board title" : "Título do novo quadro",
|
||||
"Modified:" : "Modificado:",
|
||||
"Created:" : "Criado:",
|
||||
"by" : "por",
|
||||
"Saved" : "Salvo",
|
||||
"Add a card description ..." : "Adicionar uma descrição de cartão",
|
||||
"Attachments" : "Anexos",
|
||||
"Comments" : "Comentários",
|
||||
"History" : "Histórico",
|
||||
"All Boards" : "Todos os quadros",
|
||||
"Shared with you" : "Compartilhado com você",
|
||||
"edit" : "editar",
|
||||
"delete" : "excluir",
|
||||
"remove share" : "remover compartilhamento",
|
||||
"Create a new board" : "Criar um novo quadro"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
44
l10n/ru.js
Normal file
44
l10n/ru.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Завершено",
|
||||
"To review" : "Просмотреть",
|
||||
"Action needed" : "Требуется действие",
|
||||
"Later" : "Позже",
|
||||
"Show archived cards" : "Показать архивные карточки",
|
||||
"Hide archived cards" : "Скрыть архивные карточки",
|
||||
"Board details" : "Подробности доски",
|
||||
"Archive" : "Архивировать",
|
||||
"Unarchive" : "Разархивировать",
|
||||
"Delete" : "Удалить",
|
||||
"Enter a card title" : "Введите заголовок карточки",
|
||||
"Sharing" : "Общий доступ",
|
||||
"Labels" : "Метки",
|
||||
"Select users or groups to share with" : "Поделиться с пользователями или группами",
|
||||
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
|
||||
"Share" : "Поделиться",
|
||||
"Edit" : "Редактировать",
|
||||
"Manage" : "Управлять",
|
||||
"Discard share" : "Отказаться от предложения общего доступа",
|
||||
"Create a new label" : "Создать новую метку",
|
||||
"Board title" : "Заголовок доски",
|
||||
"Members" : "Участники",
|
||||
"Create new board" : "Создать новую доску",
|
||||
"New board title" : "Заголовок новой доски",
|
||||
"Modified:" : "Изменён:",
|
||||
"Created:" : "Создан:",
|
||||
"by" : "автор",
|
||||
"Saved" : "Сохранено",
|
||||
"Add a card description ..." : "Добавить описание карточки…",
|
||||
"Attachments" : "Вложения",
|
||||
"Comments" : "Комментарии",
|
||||
"History" : "История",
|
||||
"All Boards" : "Все доски",
|
||||
"Shared with you" : "Поделились с вами",
|
||||
"edit" : "редактировать",
|
||||
"delete" : "удалить",
|
||||
"remove share" : "закрыть общий доступ",
|
||||
"Create a new board" : "Создать новую доску"
|
||||
},
|
||||
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
|
||||
42
l10n/ru.json
Normal file
42
l10n/ru.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Deck",
|
||||
"Finished" : "Завершено",
|
||||
"To review" : "Просмотреть",
|
||||
"Action needed" : "Требуется действие",
|
||||
"Later" : "Позже",
|
||||
"Show archived cards" : "Показать архивные карточки",
|
||||
"Hide archived cards" : "Скрыть архивные карточки",
|
||||
"Board details" : "Подробности доски",
|
||||
"Archive" : "Архивировать",
|
||||
"Unarchive" : "Разархивировать",
|
||||
"Delete" : "Удалить",
|
||||
"Enter a card title" : "Введите заголовок карточки",
|
||||
"Sharing" : "Общий доступ",
|
||||
"Labels" : "Метки",
|
||||
"Select users or groups to share with" : "Поделиться с пользователями или группами",
|
||||
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
|
||||
"Share" : "Поделиться",
|
||||
"Edit" : "Редактировать",
|
||||
"Manage" : "Управлять",
|
||||
"Discard share" : "Отказаться от предложения общего доступа",
|
||||
"Create a new label" : "Создать новую метку",
|
||||
"Board title" : "Заголовок доски",
|
||||
"Members" : "Участники",
|
||||
"Create new board" : "Создать новую доску",
|
||||
"New board title" : "Заголовок новой доски",
|
||||
"Modified:" : "Изменён:",
|
||||
"Created:" : "Создан:",
|
||||
"by" : "автор",
|
||||
"Saved" : "Сохранено",
|
||||
"Add a card description ..." : "Добавить описание карточки…",
|
||||
"Attachments" : "Вложения",
|
||||
"Comments" : "Комментарии",
|
||||
"History" : "История",
|
||||
"All Boards" : "Все доски",
|
||||
"Shared with you" : "Поделились с вами",
|
||||
"edit" : "редактировать",
|
||||
"delete" : "удалить",
|
||||
"remove share" : "закрыть общий доступ",
|
||||
"Create a new board" : "Создать новую доску"
|
||||
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
|
||||
}
|
||||
44
l10n/sk.js
Normal file
44
l10n/sk.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Tabuľa",
|
||||
"Finished" : "Ukončené",
|
||||
"To review" : "Na posúdenie",
|
||||
"Action needed" : "Potrebná akcia",
|
||||
"Later" : "Neskôr",
|
||||
"Show archived cards" : "Zobraziť archivované karty",
|
||||
"Hide archived cards" : "Skryť archivované karty",
|
||||
"Board details" : "Podrobnosti tabule",
|
||||
"Archive" : "Archivovať",
|
||||
"Unarchive" : "Vybrať z archívu",
|
||||
"Delete" : "Zmazať",
|
||||
"Enter a card title" : "Zmeniť názov karty",
|
||||
"Sharing" : "Sprístupnenie",
|
||||
"Labels" : "Značky",
|
||||
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
|
||||
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
|
||||
"Share" : "Sprístupniť",
|
||||
"Edit" : "Upraviť",
|
||||
"Manage" : "Spravovať",
|
||||
"Discard share" : "Zrušiť sprístupnenie",
|
||||
"Create a new label" : "Vytvoriť novú značku",
|
||||
"Board title" : "Názov tabule",
|
||||
"Members" : "Členovia",
|
||||
"Create new board" : "Vytvoriť novú tabuľu",
|
||||
"New board title" : "Názov novej tabule",
|
||||
"Modified:" : "Upravené:",
|
||||
"Created:" : "Vytvorené:",
|
||||
"by" : "-",
|
||||
"Saved" : "Uložené",
|
||||
"Add a card description ..." : "Pridať popis karty ...",
|
||||
"Attachments" : "Prílohy",
|
||||
"Comments" : "Komentáre",
|
||||
"History" : "História",
|
||||
"All Boards" : "Všetky Tabule",
|
||||
"Shared with you" : "Sprístupnené vám",
|
||||
"edit" : "upraviť",
|
||||
"delete" : "zmazať",
|
||||
"remove share" : "zrušiť sprístupnenie",
|
||||
"Create a new board" : "Vytvoriť novú tabuľu"
|
||||
},
|
||||
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
|
||||
42
l10n/sk.json
Normal file
42
l10n/sk.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Tabuľa",
|
||||
"Finished" : "Ukončené",
|
||||
"To review" : "Na posúdenie",
|
||||
"Action needed" : "Potrebná akcia",
|
||||
"Later" : "Neskôr",
|
||||
"Show archived cards" : "Zobraziť archivované karty",
|
||||
"Hide archived cards" : "Skryť archivované karty",
|
||||
"Board details" : "Podrobnosti tabule",
|
||||
"Archive" : "Archivovať",
|
||||
"Unarchive" : "Vybrať z archívu",
|
||||
"Delete" : "Zmazať",
|
||||
"Enter a card title" : "Zmeniť názov karty",
|
||||
"Sharing" : "Sprístupnenie",
|
||||
"Labels" : "Značky",
|
||||
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
|
||||
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
|
||||
"Share" : "Sprístupniť",
|
||||
"Edit" : "Upraviť",
|
||||
"Manage" : "Spravovať",
|
||||
"Discard share" : "Zrušiť sprístupnenie",
|
||||
"Create a new label" : "Vytvoriť novú značku",
|
||||
"Board title" : "Názov tabule",
|
||||
"Members" : "Členovia",
|
||||
"Create new board" : "Vytvoriť novú tabuľu",
|
||||
"New board title" : "Názov novej tabule",
|
||||
"Modified:" : "Upravené:",
|
||||
"Created:" : "Vytvorené:",
|
||||
"by" : "-",
|
||||
"Saved" : "Uložené",
|
||||
"Add a card description ..." : "Pridať popis karty ...",
|
||||
"Attachments" : "Prílohy",
|
||||
"Comments" : "Komentáre",
|
||||
"History" : "História",
|
||||
"All Boards" : "Všetky Tabule",
|
||||
"Shared with you" : "Sprístupnené vám",
|
||||
"edit" : "upraviť",
|
||||
"delete" : "zmazať",
|
||||
"remove share" : "zrušiť sprístupnenie",
|
||||
"Create a new board" : "Vytvoriť novú tabuľu"
|
||||
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
|
||||
}
|
||||
29
l10n/sv.js
Normal file
29
l10n/sv.js
Normal file
@@ -0,0 +1,29 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Finished" : "Färdig",
|
||||
"Action needed" : "Åtgärd behövs",
|
||||
"Later" : "Senare",
|
||||
"Archive" : "Arkivera",
|
||||
"Unarchive" : "Ta bort ur arkivet",
|
||||
"Delete" : "Radera",
|
||||
"Sharing" : "Delning",
|
||||
"Select users or groups to share with" : "Välj användare och grupper att dela med",
|
||||
"No matching user or group found." : "Ingen matchande användare eller grupp hittades.",
|
||||
"Share" : "Dela",
|
||||
"Edit" : "Redigera",
|
||||
"Manage" : "Hantera",
|
||||
"Members" : "Medlemmar",
|
||||
"Modified:" : "Ändrad:",
|
||||
"Created:" : "Skapad:",
|
||||
"by" : "av",
|
||||
"Saved" : "Sparad",
|
||||
"Attachments" : "Bifogade filer",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Historik",
|
||||
"Shared with you" : "Delade med dig",
|
||||
"edit" : "redigera",
|
||||
"delete" : "radera",
|
||||
"remove share" : "ta bort delning"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
27
l10n/sv.json
Normal file
27
l10n/sv.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{ "translations": {
|
||||
"Finished" : "Färdig",
|
||||
"Action needed" : "Åtgärd behövs",
|
||||
"Later" : "Senare",
|
||||
"Archive" : "Arkivera",
|
||||
"Unarchive" : "Ta bort ur arkivet",
|
||||
"Delete" : "Radera",
|
||||
"Sharing" : "Delning",
|
||||
"Select users or groups to share with" : "Välj användare och grupper att dela med",
|
||||
"No matching user or group found." : "Ingen matchande användare eller grupp hittades.",
|
||||
"Share" : "Dela",
|
||||
"Edit" : "Redigera",
|
||||
"Manage" : "Hantera",
|
||||
"Members" : "Medlemmar",
|
||||
"Modified:" : "Ändrad:",
|
||||
"Created:" : "Skapad:",
|
||||
"by" : "av",
|
||||
"Saved" : "Sparad",
|
||||
"Attachments" : "Bifogade filer",
|
||||
"Comments" : "Kommentarer",
|
||||
"History" : "Historik",
|
||||
"Shared with you" : "Delade med dig",
|
||||
"edit" : "redigera",
|
||||
"delete" : "radera",
|
||||
"remove share" : "ta bort delning"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
44
l10n/tr.js
Normal file
44
l10n/tr.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "Tahta",
|
||||
"Finished" : "Tamamlandı",
|
||||
"To review" : "İncelenecek",
|
||||
"Action needed" : "İşlem yapılması gerekiyor",
|
||||
"Later" : "Sonra",
|
||||
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
|
||||
"Hide archived cards" : "Arşivlenmiş kartları gizle",
|
||||
"Board details" : "Pano ayrıntıları",
|
||||
"Archive" : "Arşivle",
|
||||
"Unarchive" : "Arşivden Çıkar",
|
||||
"Delete" : "Sil",
|
||||
"Enter a card title" : "Bir kart başlığı yazın",
|
||||
"Sharing" : "Paylaşım",
|
||||
"Labels" : "Etiketler",
|
||||
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
|
||||
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
|
||||
"Share" : "Paylaş",
|
||||
"Edit" : "Düzenle",
|
||||
"Manage" : "Yönetim",
|
||||
"Discard share" : "Paylaşımı kaldır",
|
||||
"Create a new label" : "Yeni bir etiket ekle",
|
||||
"Board title" : "Pano başlığı",
|
||||
"Members" : "Üyeler",
|
||||
"Create new board" : "Yeni pano ekle",
|
||||
"New board title" : "Yeni pano başlığı",
|
||||
"Modified:" : "Değiştirilme:",
|
||||
"Created:" : "Oluşturulma:",
|
||||
"by" : "Kişi:",
|
||||
"Saved" : "Kaydedildi",
|
||||
"Add a card description ..." : "Bir kart açıklaması ekle...",
|
||||
"Attachments" : "Ek dosyalar",
|
||||
"Comments" : "Yorumlar",
|
||||
"History" : "Geçmiş",
|
||||
"All Boards" : "Tüm Panolar",
|
||||
"Shared with you" : "Sizinle paylaşılan",
|
||||
"edit" : "düzenle",
|
||||
"delete" : "sil",
|
||||
"remove share" : "paylaşımı kaldır",
|
||||
"Create a new board" : "Yeni bir pano ekle"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
42
l10n/tr.json
Normal file
42
l10n/tr.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "Tahta",
|
||||
"Finished" : "Tamamlandı",
|
||||
"To review" : "İncelenecek",
|
||||
"Action needed" : "İşlem yapılması gerekiyor",
|
||||
"Later" : "Sonra",
|
||||
"Show archived cards" : "Arşivlenmiş kartları görüntüle",
|
||||
"Hide archived cards" : "Arşivlenmiş kartları gizle",
|
||||
"Board details" : "Pano ayrıntıları",
|
||||
"Archive" : "Arşivle",
|
||||
"Unarchive" : "Arşivden Çıkar",
|
||||
"Delete" : "Sil",
|
||||
"Enter a card title" : "Bir kart başlığı yazın",
|
||||
"Sharing" : "Paylaşım",
|
||||
"Labels" : "Etiketler",
|
||||
"Select users or groups to share with" : "Paylaşılacak kullanıcı ya da grupları seçin",
|
||||
"No matching user or group found." : "Eşleşen bir kullanıcı ya da grup bulunamadı.",
|
||||
"Share" : "Paylaş",
|
||||
"Edit" : "Düzenle",
|
||||
"Manage" : "Yönetim",
|
||||
"Discard share" : "Paylaşımı kaldır",
|
||||
"Create a new label" : "Yeni bir etiket ekle",
|
||||
"Board title" : "Pano başlığı",
|
||||
"Members" : "Üyeler",
|
||||
"Create new board" : "Yeni pano ekle",
|
||||
"New board title" : "Yeni pano başlığı",
|
||||
"Modified:" : "Değiştirilme:",
|
||||
"Created:" : "Oluşturulma:",
|
||||
"by" : "Kişi:",
|
||||
"Saved" : "Kaydedildi",
|
||||
"Add a card description ..." : "Bir kart açıklaması ekle...",
|
||||
"Attachments" : "Ek dosyalar",
|
||||
"Comments" : "Yorumlar",
|
||||
"History" : "Geçmiş",
|
||||
"All Boards" : "Tüm Panolar",
|
||||
"Shared with you" : "Sizinle paylaşılan",
|
||||
"edit" : "düzenle",
|
||||
"delete" : "sil",
|
||||
"remove share" : "paylaşımı kaldır",
|
||||
"Create a new board" : "Yeni bir pano ekle"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
||||
44
l10n/zh_CN.js
Normal file
44
l10n/zh_CN.js
Normal file
@@ -0,0 +1,44 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Deck" : "面板",
|
||||
"Finished" : "完成",
|
||||
"To review" : "回顾",
|
||||
"Action needed" : "需要操作",
|
||||
"Later" : "稍后",
|
||||
"Show archived cards" : "显示已存档的卡片",
|
||||
"Hide archived cards" : "隐藏已存档的卡片",
|
||||
"Board details" : "面板详情",
|
||||
"Archive" : "归档",
|
||||
"Unarchive" : "取消归档",
|
||||
"Delete" : "删除",
|
||||
"Enter a card title" : "输入卡片标题",
|
||||
"Sharing" : "分享",
|
||||
"Labels" : "标签",
|
||||
"Select users or groups to share with" : "选择要共享的用户或组",
|
||||
"No matching user or group found." : "未找到匹配的用户或组。",
|
||||
"Share" : "分享",
|
||||
"Edit" : "编辑",
|
||||
"Manage" : "管理",
|
||||
"Discard share" : "取消分享",
|
||||
"Create a new label" : "创建新标签",
|
||||
"Board title" : "面板标题",
|
||||
"Members" : "会员",
|
||||
"Create new board" : "创建新面板",
|
||||
"New board title" : "新面板标题",
|
||||
"Modified:" : "修改于:",
|
||||
"Created:" : "创建于:",
|
||||
"by" : "by",
|
||||
"Saved" : "已保存",
|
||||
"Add a card description ..." : "添加卡片说明...",
|
||||
"Attachments" : "附件",
|
||||
"Comments" : "评论",
|
||||
"History" : "历史",
|
||||
"All Boards" : "全部面板",
|
||||
"Shared with you" : "共享给您的",
|
||||
"edit" : "编辑",
|
||||
"delete" : "删除",
|
||||
"remove share" : "移除共享",
|
||||
"Create a new board" : "创建一个新面板"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
42
l10n/zh_CN.json
Normal file
42
l10n/zh_CN.json
Normal file
@@ -0,0 +1,42 @@
|
||||
{ "translations": {
|
||||
"Deck" : "面板",
|
||||
"Finished" : "完成",
|
||||
"To review" : "回顾",
|
||||
"Action needed" : "需要操作",
|
||||
"Later" : "稍后",
|
||||
"Show archived cards" : "显示已存档的卡片",
|
||||
"Hide archived cards" : "隐藏已存档的卡片",
|
||||
"Board details" : "面板详情",
|
||||
"Archive" : "归档",
|
||||
"Unarchive" : "取消归档",
|
||||
"Delete" : "删除",
|
||||
"Enter a card title" : "输入卡片标题",
|
||||
"Sharing" : "分享",
|
||||
"Labels" : "标签",
|
||||
"Select users or groups to share with" : "选择要共享的用户或组",
|
||||
"No matching user or group found." : "未找到匹配的用户或组。",
|
||||
"Share" : "分享",
|
||||
"Edit" : "编辑",
|
||||
"Manage" : "管理",
|
||||
"Discard share" : "取消分享",
|
||||
"Create a new label" : "创建新标签",
|
||||
"Board title" : "面板标题",
|
||||
"Members" : "会员",
|
||||
"Create new board" : "创建新面板",
|
||||
"New board title" : "新面板标题",
|
||||
"Modified:" : "修改于:",
|
||||
"Created:" : "创建于:",
|
||||
"by" : "by",
|
||||
"Saved" : "已保存",
|
||||
"Add a card description ..." : "添加卡片说明...",
|
||||
"Attachments" : "附件",
|
||||
"Comments" : "评论",
|
||||
"History" : "历史",
|
||||
"All Boards" : "全部面板",
|
||||
"Shared with you" : "共享给您的",
|
||||
"edit" : "编辑",
|
||||
"delete" : "删除",
|
||||
"remove share" : "移除共享",
|
||||
"Create a new board" : "创建一个新面板"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -42,11 +42,8 @@ class Application extends App {
|
||||
|
||||
$container->registerService('SharingMiddleware', function($container) use ($server) {
|
||||
return new SharingMiddleware(
|
||||
$container,
|
||||
$server->getRequest(),
|
||||
$server->getUserSession(),
|
||||
$container->query('ControllerMethodReflector'),
|
||||
$container->query('OCA\Deck\Service\PermissionService')
|
||||
$server->getLogger(),
|
||||
$server->getConfig()
|
||||
);
|
||||
});
|
||||
$container->registerMiddleware('SharingMiddleware');
|
||||
|
||||
@@ -71,23 +71,12 @@ class Acl extends RelationalEntity implements \JsonSerializable {
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'participant' => $this->participant,
|
||||
'type' => $this->getType(),
|
||||
'boardId' => $this->boardId,
|
||||
'permissionEdit' => $this->getPermissionEdit(),
|
||||
'permissionShare' => $this->getPermissionShare(),
|
||||
'permissionManage' => $this->getPermissionManage(),
|
||||
'owner' => $this->getOwner()
|
||||
];
|
||||
$json = parent::jsonSerialize();
|
||||
$json['type'] = $this->getTypeString();
|
||||
return $json;
|
||||
}
|
||||
|
||||
/*
|
||||
* FIXME: migrate other code to const PERMISSION_TYPE_ instead of strings
|
||||
* iirc js uses those strings as well
|
||||
*/
|
||||
public function getType() {
|
||||
|
||||
public function getTypeString() {
|
||||
if ($this->type === Acl::PERMISSION_TYPE_GROUP) {
|
||||
return 'group';
|
||||
}
|
||||
@@ -95,7 +84,8 @@ class Acl extends RelationalEntity implements \JsonSerializable {
|
||||
}
|
||||
|
||||
public function setType($type) {
|
||||
if ($type === 'group') {
|
||||
// FIXME: Remove when all javascript uses numeric types
|
||||
if ($type === 'group' || $type === '1') {
|
||||
$typeInt = Acl::PERMISSION_TYPE_GROUP;
|
||||
} else {
|
||||
$typeInt = Acl::PERMISSION_TYPE_USER;
|
||||
|
||||
@@ -47,18 +47,11 @@ class Board extends RelationalEntity implements JsonSerializable {
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
$result = [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'owner' => $this->owner,
|
||||
'color' => $this->color,
|
||||
'labels' => $this->labels,
|
||||
'acl' => $this->acl,
|
||||
];
|
||||
if ($this->shared !== -1) {
|
||||
$result['shared'] = $this->shared;
|
||||
$json = parent::jsonSerialize();
|
||||
if ($this->shared === -1) {
|
||||
unset($json['shared']);
|
||||
}
|
||||
return $result;
|
||||
return $json;
|
||||
}
|
||||
|
||||
public function setLabels($labels) {
|
||||
|
||||
@@ -75,10 +75,10 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
* @return array
|
||||
*/
|
||||
public function findAllByUser($userId, $limit = null, $offset = null) {
|
||||
$sql = 'SELECT id, title, owner, color, archived, 0 as shared FROM oc_deck_boards WHERE owner = ? UNION ' .
|
||||
'SELECT boards.id, title, owner, color, archived, 1 as shared FROM oc_deck_boards as boards ' .
|
||||
'JOIN oc_deck_board_acl as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=\'user\' AND boards.owner != ?';
|
||||
$entries = $this->findEntities($sql, [$userId, $userId, $userId], $limit, $offset);
|
||||
$sql = 'SELECT id, title, owner, color, archived, 0 as shared FROM `*PREFIX*deck_boards` WHERE owner = ? UNION ' .
|
||||
'SELECT boards.id, title, owner, color, archived, 1 as shared FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ?';
|
||||
$entries = $this->findEntities($sql, [$userId, $userId, Acl::PERMISSION_TYPE_USER, $userId], $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$acl = $this->aclMapper->findAll($entry->id);
|
||||
@@ -100,8 +100,8 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
if (count($groups) <= 0) {
|
||||
return [];
|
||||
}
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, 2 as shared FROM oc_deck_boards as boards ' .
|
||||
'INNER JOIN oc_deck_board_acl as acl ON boards.id=acl.board_id WHERE owner != ? AND type=\'group\' AND (';
|
||||
$sql = 'SELECT boards.id, title, owner, color, archived, 2 as shared FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'INNER JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE owner != ? AND type=? AND (';
|
||||
for ($i = 0; $i < count($groups); $i++) {
|
||||
$sql .= 'acl.participant = ? ';
|
||||
if (count($groups) > 1 && $i < count($groups) - 1) {
|
||||
@@ -109,7 +109,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
}
|
||||
}
|
||||
$sql .= ');';
|
||||
$entries = $this->findEntities($sql, array_merge([$userId], $groups), $limit, $offset);
|
||||
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
foreach ($entries as $entry) {
|
||||
$acl = $this->aclMapper->findAll($entry->id);
|
||||
|
||||
@@ -50,19 +50,4 @@ class Card extends RelationalEntity implements JsonSerializable {
|
||||
$this->addRelation('labels');
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'type' => $this->type,
|
||||
'lastModified' => $this->lastModified,
|
||||
'createdAt' => $this->createdAt,
|
||||
'owner' => $this->owner,
|
||||
'order' => $this->order,
|
||||
'stackId' => $this->stackId,
|
||||
'labels' => $this->labels,
|
||||
'archived' => $this->archived,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,24 +36,7 @@ abstract class DeckMapper extends Mapper {
|
||||
return $this->findEntity($sql, [$id]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add relational data to an Entity by calling the related Mapper
|
||||
* @param $entities
|
||||
* @param $entityType
|
||||
* @param $property
|
||||
* addRelation($cards, $labels, function($one, $many) {
|
||||
* if($one->id == $many->cardId)
|
||||
* }
|
||||
*/
|
||||
public function addRelation($entities, $entityType, $property) {
|
||||
|
||||
}
|
||||
|
||||
protected function execute($sql, array $params = [], $limit = null, $offset = null) {
|
||||
// FIXME: remove on release
|
||||
/** @noinspection PhpUnnecessaryFullyQualifiedNameInspection */
|
||||
/** @noinspection PhpUnnecessaryFullyQualifiedNameInspection */
|
||||
\OCP\Util::writeLog('deck', "DeckMapper SQL: " . $sql . " with " . implode("|", $params), \OCP\Util::DEBUG);
|
||||
return parent::execute($sql, $params, $limit, $offset);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,16 +33,8 @@ class Label extends RelationalEntity implements JsonSerializable {
|
||||
protected $color;
|
||||
protected $boardId;
|
||||
protected $cardId;
|
||||
|
||||
public function __construct() {
|
||||
$this->addType('id', 'integer');
|
||||
}
|
||||
public function jsonSerialize() {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'boardId' => $this->boardId,
|
||||
'cardId' => $this->cardId,
|
||||
'color' => $this->color,
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -49,8 +49,8 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
|
||||
return $this->findEntities($sql, [$cardId], $limit, $offset);
|
||||
}
|
||||
public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null) {
|
||||
$sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM oc_deck_cards as c " .
|
||||
" INNER JOIN oc_deck_assigned_labels as al ON al.card_id = c.id INNER JOIN oc_deck_labels as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id";
|
||||
$sql = "SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM `*PREFIX*deck_cards` as c " .
|
||||
" INNER JOIN `*PREFIX*deck_assigned_labels` as al ON al.card_id = c.id INNER JOIN `*PREFIX*deck_labels` as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id";
|
||||
$entities = $this->findEntities($sql, [$boardId], $limit, $offset);
|
||||
return $entities;
|
||||
}
|
||||
|
||||
@@ -21,17 +21,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: jus
|
||||
* Date: 22.06.16
|
||||
* Time: 13:32
|
||||
*/
|
||||
|
||||
namespace OCA\Deck\Db;
|
||||
|
||||
|
||||
class RelationalEntity extends \OCP\AppFramework\Db\Entity {
|
||||
class RelationalEntity extends \OCP\AppFramework\Db\Entity implements \JsonSerializable {
|
||||
|
||||
private $_relations = array();
|
||||
|
||||
@@ -56,4 +49,21 @@ class RelationalEntity extends \OCP\AppFramework\Db\Entity {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array serialized data
|
||||
*/
|
||||
public function jsonSerialize() {
|
||||
$properties = get_object_vars($this);
|
||||
$reflection = new \ReflectionClass($this);
|
||||
$json = [];
|
||||
foreach($properties as $property=>$value) {
|
||||
if(substr($property, 0, 1) !== '_' && $reflection->hasProperty($property)) {
|
||||
$propertyReflection = $reflection->getProperty($property);
|
||||
if(!$propertyReflection->isPrivate()) {
|
||||
$json[$property] = $this->getter($property);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $json;
|
||||
}
|
||||
}
|
||||
@@ -45,20 +45,10 @@ class Stack extends RelationalEntity implements JsonSerializable {
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
if (!empty($this->cards)) {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'order' => $this->order,
|
||||
'boardId' => $this->boardId,
|
||||
'cards' => $this->cards
|
||||
];
|
||||
$json = parent::jsonSerialize();
|
||||
if (empty($this->cards)) {
|
||||
unset($json['cards']);
|
||||
}
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'title' => $this->title,
|
||||
'order' => $this->order,
|
||||
'boardId' => $this->boardId
|
||||
];
|
||||
return $json;
|
||||
}
|
||||
}
|
||||
@@ -23,18 +23,32 @@
|
||||
|
||||
namespace OCA\Deck\Middleware;
|
||||
|
||||
|
||||
|
||||
|
||||
use OCA\Deck\StatusException;
|
||||
use \OCP\AppFramework\Middleware;
|
||||
|
||||
|
||||
use OCP\AppFramework\Middleware;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\ILogger;
|
||||
use OCP\Util;
|
||||
use OCP\IConfig;
|
||||
|
||||
|
||||
class SharingMiddleware extends Middleware {
|
||||
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
|
||||
/**
|
||||
* SharingMiddleware constructor.
|
||||
*
|
||||
* @param ILogger $logger
|
||||
* @param IConfig $config
|
||||
*/
|
||||
public function __construct(ILogger $logger, IConfig $config) {
|
||||
$this->logger = $logger;
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return JSON error response if the user has no sufficient permission
|
||||
*
|
||||
@@ -46,6 +60,9 @@ class SharingMiddleware extends Middleware {
|
||||
*/
|
||||
public function afterException($controller, $methodName, \Exception $exception) {
|
||||
if ($exception instanceof StatusException) {
|
||||
if($this->config->getSystemValue('loglevel', Util::WARN) === Util::DEBUG) {
|
||||
$this->logger->logException($exception);
|
||||
}
|
||||
return new JSONResponse([
|
||||
"status" => $exception->getStatus(),
|
||||
"message" => $exception->getMessage()
|
||||
|
||||
@@ -117,7 +117,7 @@ class BoardService {
|
||||
}
|
||||
|
||||
public function updateAcl($id, $edit, $share, $manage) {
|
||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE);
|
||||
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
|
||||
$acl = $this->aclMapper->find($id);
|
||||
$acl->setPermissionEdit($edit);
|
||||
$acl->setPermissionShare($share);
|
||||
@@ -126,7 +126,7 @@ class BoardService {
|
||||
}
|
||||
|
||||
public function deleteAcl($id) {
|
||||
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_SHARE);
|
||||
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
|
||||
$acl = $this->aclMapper->find($id);
|
||||
return $this->aclMapper->delete($acl);
|
||||
}
|
||||
|
||||
@@ -127,14 +127,14 @@ class PermissionService {
|
||||
public function userCan(array $acls, $permission) {
|
||||
// check for users
|
||||
foreach ($acls as $acl) {
|
||||
if ($acl->getType() === "user" && $acl->getParticipant() === $this->userId) {
|
||||
if ($acl->getType() === Acl::PERMISSION_TYPE_USER && $acl->getParticipant() === $this->userId) {
|
||||
return $acl->getPermission($permission);
|
||||
}
|
||||
}
|
||||
// check for groups
|
||||
$hasGroupPermission = false;
|
||||
foreach ($acls as $acl) {
|
||||
if (!$hasGroupPermission && $acl->getType() === "group" && $this->groupManager->isInGroup($this->userId, $acl->getParticipant())) {
|
||||
if (!$hasGroupPermission && $acl->getType() === Acl::PERMISSION_TYPE_GROUP && $this->groupManager->isInGroup($this->userId, $acl->getParticipant())) {
|
||||
$hasGroupPermission = $acl->getPermission($permission);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,9 @@
|
||||
|
||||
use OCP\Util;
|
||||
|
||||
Util::addStyle('deck', '../js/vendor/ng-sortable/dist/ng-sortable.min');
|
||||
Util::addStyle('deck', 'style');
|
||||
|
||||
Util::addScript('deck', 'vendor/angular/angular.min');
|
||||
Util::addScript('deck', 'vendor/angular-route/angular-route.min');
|
||||
Util::addScript('deck', 'vendor/angular-sanitize/angular-sanitize.min');
|
||||
@@ -34,8 +36,24 @@ Util::addScript('deck', 'vendor/angular-ui-select/dist/select.min');
|
||||
Util::addScript('deck', 'vendor/markdown-it/dist/markdown-it.min');
|
||||
Util::addScript('deck', 'vendor/angular-markdown-it/dist/ng-markdownit.min');
|
||||
Util::addScript('deck', 'vendor/markdown-it-link-target/dist/markdown-it-link-target.min');
|
||||
Util::addScript('deck', 'public/app');
|
||||
|
||||
if(!\OC::$server->getConfig()->getSystemValue('debug', false)) {
|
||||
Util::addScript('deck', 'public/app');
|
||||
} else {
|
||||
// Load seperate JS files when debug mode is enabled
|
||||
$js = [
|
||||
'app' => ['App', 'Config', 'Run'],
|
||||
'controller' => ['AppController', 'BoardController', 'CardController', 'ListController'],
|
||||
'directive' => ['appnavigationentryutils', 'appPopoverMenuUtils', 'autofocusoninsert', 'avatar', 'elastic', 'search'],
|
||||
'filters' => ['cardFilter', 'cardSearchFilter', 'iconWhiteFilter', 'lightenColorFilter', 'orderObjectBy', 'relativeDateFilter', 'textColorFilter'],
|
||||
'service' => ['ApiService', 'BoardService', 'CardService', 'LabelService', 'StackService', 'StatusService'],
|
||||
];
|
||||
foreach($js as $folder=>$files) {
|
||||
foreach ($files as $file) {
|
||||
Util::addScript('deck', $folder.'/'.$file);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="app" class="app-deck" data-ng-app="Deck" ng-controller="AppController" ng-cloak>
|
||||
@@ -44,12 +62,12 @@ Util::addScript('deck', 'public/app');
|
||||
<?php print_unescaped($this->inc('part.navigation')); ?>
|
||||
<?php /* print_unescaped($this->inc('part.settings')); */ ?>
|
||||
</div>
|
||||
<div id="app-content" ng-class="{ 'details-visible': sidebar.show }">
|
||||
<div id="app-view" ui-view></div>
|
||||
<div id="app-content" ng-class="{ 'details-visible': sidebar.show }" ui-view>
|
||||
</div>
|
||||
<route-loading-indicator></route-loading-indicator>
|
||||
|
||||
|
||||
|
||||
<script type="text/ng-template" id="/boardlist.mainView.html">
|
||||
<?php print_unescaped($this->inc('part.boardlist')); ?>
|
||||
</script>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<h3>{{ c.title }}</h3>
|
||||
<ul class="labels">
|
||||
<li ng-repeat="label in c.labels"
|
||||
style="background-color: #{{ label.color }};">
|
||||
style="background-color: #{{ label.color }};" title="{{ label.title }}">
|
||||
<span>{{ label.title }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -126,6 +126,3 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -17,16 +17,15 @@
|
||||
<div class="tabsContainer">
|
||||
<div id="commentsTabView" class="tab commentsTabView" ng-if="status.boardtab==0 || !status.boardtab">
|
||||
|
||||
<ui-select ng-if="boardservice.canShare()" ng-model="status.addSharee" theme="bootstrap" style="width:100%;" title="Choose a user to assign" placeholder="Assign users ..." on-select="aclAdd(status.addSharee)">
|
||||
<ui-select-match placeholder="<?php p($l->t('Select users...')); ?>">
|
||||
<ui-select ng-if="boardservice.canShare()" ng-model="status.addSharee" theme="select2" style="width:100%;" title="Choose a user to assign" placeholder="Assign users ..." on-select="aclAdd(status.addSharee)">
|
||||
<ui-select-match placeholder="<?php p($l->t('Select users or groups to share with')); ?>">
|
||||
<span><i class="icon icon-{{$item.type}}"></i> {{ $item.participant }}</span>
|
||||
</ui-select-match>
|
||||
<ui-select-choices refresh="searchForUser($select.search)"
|
||||
refresh-delay="0" repeat="sharee in boardservice.sharees">
|
||||
<ui-select-choices refresh="searchForUser($select.search)" refresh-delay="0" repeat="sharee in boardservice.sharees">
|
||||
<span><i class="icon icon-{{sharee.type}}"></i> {{ sharee.participant }}</span>
|
||||
</ui-select-choices>
|
||||
<ui-select-no-choice>
|
||||
<?php p($l->t('Dang! We couldn\'t find any choices...')); ?>
|
||||
<?php p($l->t('No matching user or group found.')); ?>
|
||||
</ui-select-no-choice>
|
||||
</ui-select>
|
||||
|
||||
@@ -35,8 +34,8 @@
|
||||
<span class="icon-loading-small" style="display:none;"></span>
|
||||
<div class="avatardiv" avatar ng-attr-displayname="{{ boardservice.getCurrent().owner }}" ng-if="boardservice.id"></div>
|
||||
<span class="has-tooltip username">
|
||||
{{ boardservice.getCurrent().owner }}</span>
|
||||
<span class="shareOption"><?php p($l->t('Board owner')); ?></span>
|
||||
{{ boardservice.getCurrent().owner }}
|
||||
</span>
|
||||
</li>
|
||||
<li ng-repeat="acl in boardservice.getCurrent().acl track by $index">
|
||||
<span class="icon-loading-small" style="display:none;"></span>
|
||||
@@ -44,7 +43,9 @@
|
||||
<div class="avatardiv" ng-if="acl.type=='group'"><i class="icon icon-{{acl.type}}"></i></div>
|
||||
|
||||
<span class="has-tooltip username">
|
||||
{{ acl.participant }}</span>
|
||||
{{ acl.participant }}
|
||||
</span>
|
||||
<span class="sharingOptionsGroup">
|
||||
<span class="shareOption" ng-if="boardservice.canManage()">
|
||||
<input type="checkbox" class="permissions checkbox" id="checkbox-permission-{{ acl.id }}-share" ng-model="acl.permissionShare" ng-change="aclUpdate(acl)" />
|
||||
<label for="checkbox-permission-{{ acl.id }}-share"><?php p($l->t('Share')); ?></label>
|
||||
@@ -57,7 +58,8 @@
|
||||
<input type="checkbox" class="permissions checkbox" id="checkbox-permission-{{ acl.id }}-manage" ng-model="acl.permissionManage" ng-change="aclUpdate(acl)" />
|
||||
<label for="checkbox-permission-{{ acl.id }}-manage"><?php p($l->t('Manage')); ?></label>
|
||||
</span>
|
||||
<a ng-if="boardservice.canManage()" class="unshare" ng-click="aclDelete(acl)"><span class="icon-loading-small hidden"></span><span class="icon icon-delete"></span><span class="hidden-visually"><?php p($l->t('Discard share')); ?></span></a>
|
||||
</span>
|
||||
<a ng-if="boardservice.canManage()" ng-click="aclDelete(acl)"><span class="icon-loading-small hidden"></span><span class="icon icon-delete"></span><span class="hidden-visually"><?php p($l->t('Discard share')); ?></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
@@ -30,14 +30,13 @@
|
||||
</div>
|
||||
|
||||
<div id="labels">
|
||||
<ui-select multiple tagging="" ng-model="card.labels" theme="bootstrap"
|
||||
<ui-select multiple tagging="" ng-model="card.labels" theme="select2"
|
||||
style="width:100%;" title="Choose a label"
|
||||
placeholder="Add a label"
|
||||
on-select="labelAssign($item, $model)"
|
||||
on-remove="labelRemove($item, $model)" ng-disabled="!boardservice.canEdit() || archived">
|
||||
<ui-select-match placeholder="Select labels..."><span
|
||||
class="select-label"
|
||||
style="background-color:#{{$item.color}}; color:{{ $item.color|textColorFilter }};">{{$item.title}} </span>
|
||||
<ui-select-match placeholder="Select labels...">
|
||||
<span class="select-label" style="background-color:#{{$item.color}}; color:{{ $item.color|textColorFilter }};">{{$item.title}} </span>
|
||||
</ui-select-match>
|
||||
<ui-select-choices
|
||||
repeat="label in boardservice.getCurrent().labels | filter:$select.search">
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<li><a href="#" class=""><?php p($l->t('All Boards')); ?></a></li>
|
||||
|
||||
<li class="with-icon with-menu" data-ng-repeat="b in boardservice.sorted">
|
||||
<li class="with-icon with-menu" ng-class="{active: b.id === boardservice.getCurrent().id}" data-ng-repeat="b in boardservice.sorted">
|
||||
<span class="board-bullet" style="background-color:#{{b.color}};" ng-if="!b.status.edit"> </span>
|
||||
<a href="#!/board/{{b.id}}/" ng-if="!b.status.edit">{{ b.title }}</a>
|
||||
<div class="app-navigation-entry-utils" ng-show="!b.status.edit" style="position:absolute;">
|
||||
|
||||
@@ -58,7 +58,7 @@ class BoardDatabaseTest extends \PHPUnit_Framework_TestCase
|
||||
$groupBackend->addToGroup(self::TEST_USER3, 'group2');
|
||||
$groupBackend->addToGroup(self::TEST_USER4, 'group3');
|
||||
$groupBackend->addToGroup(self::TEST_USER2, self::TEST_GROUP1);
|
||||
\OC_Group::useBackend($groupBackend);
|
||||
\OC::$server->getGroupManager()->addBackend($groupBackend);
|
||||
}
|
||||
public function setUp() {
|
||||
\OC::$server->getUserSession()->login(self::TEST_USER1, self::TEST_USER1);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<phpunit bootstrap="bootstrap.php" colors="true">
|
||||
<phpunit bootstrap="../../../tests/bootstrap.php" colors="true">
|
||||
<testsuites>
|
||||
<testsuite name="unit">
|
||||
<directory>./unit</directory>
|
||||
|
||||
@@ -21,7 +21,8 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
|
||||
'owner' => "admin",
|
||||
'color' => "000000",
|
||||
'labels' => null,
|
||||
'acl' => null
|
||||
'acl' => null,
|
||||
'archived' => false
|
||||
], $board->jsonSerialize());
|
||||
}
|
||||
|
||||
@@ -34,7 +35,8 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
|
||||
'owner' => "admin",
|
||||
'color' => "000000",
|
||||
'labels' => array("foo", "bar"),
|
||||
'acl' => null
|
||||
'acl' => null,
|
||||
'archived' => false
|
||||
], $board->jsonSerialize());
|
||||
}
|
||||
public function testSetAcl() {
|
||||
@@ -55,6 +57,7 @@ class BoardTest extends \PHPUnit_Framework_TestCase {
|
||||
'color' => "000000",
|
||||
'labels' => null,
|
||||
'acl' => null,
|
||||
'archived' => false,
|
||||
'shared' => 1,
|
||||
], $board->jsonSerialize());
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
namespace OCA\Deck\Db;
|
||||
|
||||
class EntityTest extends \PHPUnit_Framework_TestCase {
|
||||
class RelationalEntityTest extends \Test\TestCase {
|
||||
|
||||
public function testRelation() {
|
||||
$entity = new RelationalEntity();
|
||||
@@ -40,4 +40,13 @@ class EntityTest extends \PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(['foo'=>true], $entity->getUpdatedFields());
|
||||
}
|
||||
|
||||
public function testJsonSerialize() {
|
||||
$entity = new RelationalEntity();
|
||||
$entity->setId(123);
|
||||
$json = [
|
||||
'id' => 123,
|
||||
];
|
||||
$this->assertEquals($json, $entity->jsonSerialize());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,30 +23,28 @@
|
||||
|
||||
namespace OCA\Deck\Middleware;
|
||||
|
||||
use OC\AppFramework\DependencyInjection\DIContainer;
|
||||
use OC\AppFramework\Utility\ControllerMethodReflector;
|
||||
use OC\AppFramework\Utility\SimpleContainer;
|
||||
use OCA\Deck\Db\DeckMapper;
|
||||
use OCA\Deck\Db\IPermissionMapper;
|
||||
use OCA\Deck\NoPermissionException;
|
||||
use OCA\Deck\NotFoundException;
|
||||
use OCA\Deck\Service\BoardService;
|
||||
use OCA\Deck\Service\PermissionService;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\IContainer;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IRequest;
|
||||
use OCP\IUser;
|
||||
use OCP\IUserSession;
|
||||
use OCA\Deck\Db\AclMapper;
|
||||
use OCP\ILogger;
|
||||
use OCP\IConfig;
|
||||
|
||||
class SharingMiddlewareTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
class SharingMiddlewareTest extends \Test\TestCase {
|
||||
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
/** @var IConfig */
|
||||
private $config;
|
||||
private $sharingMiddleware;
|
||||
|
||||
public function setUp() {
|
||||
$this->sharingMiddleware = new SharingMiddleware();
|
||||
$this->logger = $this->createMock(ILogger::class);
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->sharingMiddleware = new SharingMiddleware(
|
||||
$this->logger,
|
||||
$this->config
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user