Compare commits

...
96 Commits
Author SHA1 Message Date
Lauri Ojansivu f42e0fe507 v7.48 2024-06-06 02:12:09 +03:00
Lauri Ojansivu 58dbd78997 Updated ChangeLog. 2024-06-06 02:07:32 +03:00
Lauri Ojansivu 04b995e77f Allow Normal user to add new swimlane, list and label.
Thanks to RyanHecht, norrig and xet7 !

Fixes #4276,
fixes #4785
2024-06-06 02:03:29 +03:00
Lauri Ojansivu 82aa3fb7ee Updated ChangeLog. 2024-06-06 01:44:56 +03:00
Lauri Ojansivu ec0e88ad2e Try to show more of title of collapsed list.
Thanks to C0rn3j and xet7 !

Related #5428
2024-06-06 01:39:57 +03:00
Lauri Ojansivu cac28fde4d Updated ChangeLog. 2024-06-04 23:45:46 +03:00
Lauri Ojansivu e65a8c9017 Add changes from wiki to docs. Part 2.
Thanks to xet7 !
2024-06-04 23:44:35 +03:00
Lauri Ojansivu 4a26f80fb1 Updated ChangeLog. 2024-06-04 23:30:57 +03:00
Lauri Ojansivu bca8a72a0f Merge branch 'main' of github.com:wekan/wekan 2024-06-04 23:28:59 +03:00
Lauri Ojansivu 13be8160d5 Add changes from wiki to docs.
Thanks to xet7 !
2024-06-04 23:27:55 +03:00
Lauri Ojansivu 8efea6c4e2 Updated ChangeLog. 2024-06-04 16:05:52 +03:00
Lauri Ojansivu 36bb5e099e Fix Admin Panel pages Organizations and Teams, where HTML Tables were broken.
Thanks to Hekatomb and xet7 !

Fixes #5429
2024-06-04 16:02:03 +03:00
Lauri Ojansivu b86a24d97a Merge pull request #5430 from wekan/dependabot/github_actions/docker/login-action-3.2.0
Bump docker/login-action from 3.1.0 to 3.2.0
2024-06-04 15:17:18 +03:00
dependabot[bot] 3febe80329 Bump docker/login-action from 3.1.0 to 3.2.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/e92390c5fb421da1463c202d546fed0ec5c39f20...0d4c9c5ea7693da7b068278f7b52bda2a190a446)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 20:32:31 +00:00
Lauri Ojansivu b11a2103a4 Updated ChangeLog. 2024-06-03 05:16:50 +03:00
Lauri Ojansivu 4a9d881e47 Updated release scripts.
Thanks to xet7 !
2024-06-03 05:14:58 +03:00
Lauri Ojansivu 8e5c6af612 v7.47 2024-06-03 05:07:30 +03:00
Lauri Ojansivu ca588a4b54 Updated translations. 2024-06-03 05:00:33 +03:00
Lauri Ojansivu 258032acb0 Updated ChangeLog. 2024-06-03 04:39:55 +03:00
Lauri Ojansivu 2c9c9c4356 Updated release scripts.
Thanks to xet7 !
2024-06-03 04:38:55 +03:00
Lauri Ojansivu 88d4e8a4d9 Updated ChangeLog. 2024-06-03 04:35:16 +03:00
Lauri Ojansivu 4e2a8735bc Updated to MongoDB 6.0.15 at Snap Candidate.
Thanks to MongoDB developers !
2024-06-03 04:33:40 +03:00
Lauri Ojansivu b72d24f6d0 Updated ChangeLog. 2024-06-03 04:30:24 +03:00
Lauri Ojansivu 1f2fb2ccce Fix Edit Description button is wildly out of place.
Thanks to C0rn3j and xet7 !

Fixes #5413
2024-06-03 04:23:09 +03:00
Lauri Ojansivu 5e2b423ef8 Only show Board name edit button to BoardAdmin.
Thanks to xet7 !
2024-06-03 04:03:31 +03:00
Lauri Ojansivu 79e2001708 Update Docker base images to Ubuntu 24.04.
Thanks to xet7 !
2024-06-03 03:06:58 +03:00
Lauri Ojansivu 2ea96518ad v7.46 2024-06-03 01:16:20 +03:00
Lauri Ojansivu 2666001226 Updated ChangeLog. 2024-05-30 23:22:48 +03:00
Lauri Ojansivu 1bd30bc121 For development, only recommend Debian 12 amd64, because Sandstorm works at Debian 12.
Sandstorm does not work at Ubuntu 24.04.

Thanks to xet7 !

Related https://github.com/sandstorm-io/sandstorm/issues/3712
2024-05-30 23:19:55 +03:00
Lauri Ojansivu d6d8144476 Updated dependencies. 2024-05-29 01:03:18 +03:00
Lauri Ojansivu 68e7818c1d Updated ChangeLog. 2024-05-29 00:58:05 +03:00
Lauri Ojansivu e0e5f4514b Merge pull request #5424 from Dexus/patch-1
Update exporter.js with fix for #5416
2024-05-28 18:04:57 +03:00
Josef Fröhle c2942fa269 Update exporter.js with fix for #5416
This should fix #5416
2024-05-28 16:42:44 +02:00
Lauri Ojansivu 6f31240c74 Updated ChangeLog. 2024-05-27 23:47:50 +03:00
Lauri Ojansivu 5124265142 Updated GitHub issue template for issue instructions to be more visible.
Related #5422
2024-05-27 14:00:49 +03:00
Lauri Ojansivu f0bd5eaca9 Updated ChangeLog. 2024-05-27 00:15:42 +03:00
Lauri Ojansivu 8589f85907 Merge pull request #5420 from mfilser/remove_second_created_at_on_activities
Remove second created at on activities
2024-05-26 23:17:34 +03:00
Martin Filser 66d739b3b1 Removed second "created at" text at activites / card comment
- the same text is already at line start, it makes no sense to print it
  again at line end
2024-05-26 22:05:51 +02:00
Lauri Ojansivu 2206e34ab6 Merge pull request #5419 from mfilser/dockerfile_production_and_dev_same_build
Dockerfile production and dev same build
2024-05-26 22:06:09 +03:00
Martin Filser cc1ca4a1bb Dockerfile for production and development same build (part 2) 2024-05-26 19:55:19 +02:00
Martin Filser c8b1ef8ea6 Dockerfile for production and development same build (part 1) 2024-05-26 19:49:31 +02:00
Lauri Ojansivu f836faad48 Merge pull request #5418 from mfilser/devcontainer_reduce_image_size_and_other_dev_updates
Devcontainer, reduce image size and other necessary changes for development
2024-05-26 00:26:45 +03:00
Lauri Ojansivu 7e27b916aa Updated ChangeLog. 2024-05-25 23:59:41 +03:00
Lauri Ojansivu ae9963c1f7 Merge pull request #5412 from e-gaulue/e-gaulue-patch-1
Remove notification while copying board
2024-05-25 22:40:58 +03:00
Martin Filser 2b4f4c8d4d .devcontainer/Dockerfile, updated RUN statements to heredoc style 2024-05-25 19:53:33 +02:00
Martin Filser 68104fe578 .devcontainer/Dockerfile, use Debian 11 because Ubuntu 21.10 can not build 2024-05-25 19:53:33 +02:00
Martin Filser 6f2c46a747 .devcontainer/Dockerfile, make is needed by "meteor npm update" 2024-05-25 19:53:30 +02:00
Martin Filser e7e1f1b667 .devcontainer/Dockerfile, don't remove ca-certificates because it's needed for "meteor npm install" 2024-05-25 19:53:25 +02:00
Martin Filser 7dc20616a7 .devcontainer/Dockerfile, don't remove curl/python3 because it's needed for "meteor npm" 2024-05-25 19:53:20 +02:00
Martin Filser b5b323000a .devcontainer/Dockerfile, reduce build a bit + image size to 3.42 GB
- on a test system it reduced from 11m36s to 9m34s
2024-05-25 19:53:07 +02:00
Martin Filser 19d204c7a8 .devcontainer/Dockerfile, 3.49 GB image size 2024-05-25 19:50:16 +02:00
Martin Filser 672c279b0a .devcontainer/Dockerfile, 4.12 GB image size 2024-05-25 19:50:16 +02:00
Martin Filser 669e31ea64 .devcontainer/Dockerfile, 4.16 GB image size 2024-05-25 19:50:16 +02:00
Martin Filser 4ab72170e3 .devcontainer/Dockerfile, 4.16 GB image size 2024-05-25 19:50:16 +02:00
Martin Filser 9ca39696b3 .devcontainer/Dockerfile, 5.64 GB image size
- first copy all files, then install to make it possible to install everything
  in one RUN section
2024-05-25 19:50:16 +02:00
Martin Filser 7c36279308 .devcontainer/Dockerfile, 5.64 GB image size 2024-05-25 19:50:16 +02:00
Martin Filser 89e5b3a979 .devcontainer/Dockerfile, 6.02 GB image size 2024-05-25 19:50:14 +02:00
Martin Filser 58782c9a89 .devcontainer/Dockerfile contained duplicated logic 2024-05-25 19:49:30 +02:00
Martin Filser c3824dcbd2 .devcontainer, added missing environments 2024-05-25 19:49:30 +02:00
Lauri Ojansivu cead2bc00f Merge pull request #5417 from LanetNetwork/fix-cards-load
fixed loading of cards if there are more than 20 of them on one swimlane
2024-05-24 17:50:24 +03:00
Dmytro Novash 0d5380466a fix cards load if cards > 20 on swimlane 2024-05-24 17:15:52 +03:00
e-gaulue 58f6acbc48 Remove notification while copying board
1. It takes too long while server stops after 2 minutes (#5371).
2. It is useless, because when you copy a board, most of the time your users don't want to be notified of every copied cards.
2024-05-15 22:17:54 +02:00
Lauri Ojansivu db73fb4e37 Updated translations. 2024-05-08 18:00:31 +03:00
Lauri Ojansivu a3d4c3d948 Merge pull request #5405 from LanetNetwork/uk_upd
Update ukrainian translation
2024-05-08 17:45:41 +03:00
Dmytro Novash f9dc5c6f80 upd 2024-05-07 18:57:48 +03:00
Dmitriy Novash 96b763fb89 Merge branch 'wekan:main' into uk_upd 2024-05-07 16:51:49 +03:00
Lauri Ojansivu 98a75305e7 Merge pull request #5404 from C0rn3j/fix-deprecated-grep
Swap deprecated `egrep` for `grep -E`
2024-05-06 17:09:58 +03:00
Lauri Ojansivu 0d8739327e Merge pull request #5403 from C0rn3j/image-optim
Optimize SVGs and PNGs to save 550KB~
2024-05-06 16:54:30 +03:00
Martin Rys 7dc4d9bb71 Swap deprecated egrep for grep -E
also remove some extra whitespace in MD doc
2024-05-06 11:19:59 +02:00
Martin Rys c814221185 Run SVG logos through svgo to reduce their filesize 2024-05-06 11:16:17 +02:00
Martin Rys f2f6b57944 Losslessly optimize PNGs (-522KB)
oxipng --zopfli --opt max
2024-05-06 11:12:54 +02:00
Lauri Ojansivu f50c2af914 v7.45 2024-05-06 01:38:35 +03:00
Lauri Ojansivu 5b7442436d Updated ChangeLog. 2024-05-06 01:33:54 +03:00
Lauri Ojansivu 9cebee7347 Fix Can't set a Due Date that has a leading zero in time, errors with invalid time.
Thanks to C0rn3j and xet7 !

Fixes #5395
2024-05-06 01:30:49 +03:00
Lauri Ojansivu f311359373 Updated ChangeLog. 2024-05-04 23:17:22 +03:00
Lauri Ojansivu 31b9970c04 Merge pull request #5401 from C0rn3j/set-silver
Allow `silver` color to be set in List and Swimlane
2024-05-04 23:14:06 +03:00
Martin Rys baf0edc51e Allow silver color to be set in List and Swimlane 2024-05-04 22:09:04 +02:00
Lauri Ojansivu 69a2a76b2e Merge pull request #5400 from C0rn3j/fix-white-list-color
Fix white List color and define Silver in CSS instead of leaving it unset
2024-05-04 23:01:05 +03:00
Martin Rys 7fd894f33d Do not leave silver color unset in Swimlane and List CSS 2024-05-04 21:59:05 +02:00
Martin Rys 3f366844e2 Fix white List color 2024-05-04 21:58:08 +02:00
Lauri Ojansivu 4156b6f932 Temporarily revert collapse per user that did not work yet.
Thanks to xet7 !

Related #5388
2024-05-04 22:57:13 +03:00
Lauri Ojansivu ed801f7082 Collapse Swimlane. In Progress.
Thanks to xet7 !

Related #5388
2024-05-04 22:50:13 +03:00
Lauri Ojansivu cedd10e067 Updated translations. 2024-05-02 00:06:30 +03:00
Lauri Ojansivu 86b756b6bc Updated ChangeLog. 2024-05-02 00:04:42 +03:00
Lauri Ojansivu 259a12acf9 Merge branch 'main' of github.com:wekan/wekan 2024-05-02 00:00:43 +03:00
Lauri Ojansivu 902f86d363 Collapse Lists to be per user, not per board. In Progress.
Related #5388

Thanks to xet7 !
2024-05-01 23:58:57 +03:00
Lauri Ojansivu d5fc75e345 Merge pull request #5392 from wekan/dependabot/github_actions/meteorengineer/setup-meteor-2
Bump meteorengineer/setup-meteor from 1 to 2
2024-04-30 17:56:10 +03:00
Lauri Ojansivu 5650bd829a Merge pull request #5393 from LanetNetwork/fix_tables
fix display of tables with a large number of rows
2024-04-30 17:55:46 +03:00
Dmitriy Novash f9ad46180e upd 2024-04-30 17:43:06 +03:00
Dmitriy Novash 6e534d7543 fix display of tables with a large number of rows 2024-04-30 15:54:28 +03:00
Dmitriy Novash 9aa56a8e42 update ukr translation 2024-04-30 15:49:48 +03:00
Dmitriy Novash 4ed67832d2 remove deprecated & invalid translation 2024-04-30 15:48:32 +03:00
dependabot[bot] 3409de9ed1 Bump meteorengineer/setup-meteor from 1 to 2
Bumps [meteorengineer/setup-meteor](https://github.com/meteorengineer/setup-meteor) from 1 to 2.
- [Release notes](https://github.com/meteorengineer/setup-meteor/releases)
- [Commits](https://github.com/meteorengineer/setup-meteor/compare/v1...v2)

---
updated-dependencies:
- dependency-name: meteorengineer/setup-meteor
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-29 20:50:33 +00:00
Lauri Ojansivu e73a44d15b Updated translations. 2024-04-28 16:22:55 +03:00
Lauri Ojansivu 5cf30f05fd Updated ChangeLog. 2024-04-28 16:21:49 +03:00
Lauri Ojansivu 63117e87e7 Update Docker base container to Ubuntu 24.04, and update software versions.
Thanks to developers of dependencies !
2024-04-28 16:19:14 +03:00
201 changed files with 3698 additions and 4120 deletions

No files matched your search

+101 -94
View File
@@ -1,20 +1,24 @@
FROM ubuntu:21.10
LABEL maintainer="sgr"
FROM ubuntu:24.04
LABEL maintainer="wekan"
LABEL org.opencontainers.image.ref.name="ubuntu"
LABEL org.opencontainers.image.version="24.04"
LABEL org.opencontainers.image.source="https://github.com/wekan/wekan"
# 2022-04-25:
# - gyp does not yet work with Ubuntu 22.04 ubuntu:rolling,
# so changing to 21.10. https://github.com/wekan/wekan/issues/4488
ENV BUILD_DEPS="gnupg gosu libarchive-tools wget curl bzip2 g++ build-essential python3 git ca-certificates iproute2"
ENV DEBIAN_FRONTEND=noninteractive
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools git"
ENV DEV_DEPS="curl python3 ca-certificates build-essential"
ARG DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
NODE_VERSION=v14.21.4 \
METEOR_RELEASE=METEOR@2.13 \
METEOR_RELEASE=METEOR@2.14 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
NPM_VERSION=latest \
NPM_VERSION=6.14.17 \
FIBERS_VERSION=4.0.1 \
ARCHITECTURE=linux-x64 \
SRC_PATH=./ \
@@ -28,15 +32,14 @@ ENV \
ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60 \
ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15 \
ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS=90 \
RICHER_CARD_COMMENT_EDITOR=false \
CARD_OPENED_WEBHOOK_ENABLED=false \
ATTACHMENTS_STORE_PATH="" \
ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM="" \
ATTACHMENTS_UPLOAD_MIME_TYPES="" \
ATTACHMENTS_UPLOAD_MAX_SIZE=0 \
AVATARS_UPLOAD_EXTERNAL_PROGRAM="" \
AVATARS_UPLOAD_MIME_TYPES="" \
AVATARS_UPLOAD_MAX_SIZE=0 \
RICHER_CARD_COMMENT_EDITOR=false \
CARD_OPENED_WEBHOOK_ENABLED=false \
MAX_IMAGE_PIXEL="" \
IMAGE_COMPRESS_RATIO="" \
NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE="" \
@@ -48,10 +51,12 @@ ENV \
MATOMO_SITE_ID="" \
MATOMO_DO_NOT_TRACK=true \
MATOMO_WITH_USERNAME=false \
METRICS_ALLOWED_IP_ADDRESSES="" \
BROWSER_POLICY_ENABLED=true \
TRUSTED_URL="" \
WEBHOOKS_ATTRIBUTES="" \
OAUTH2_ENABLED=false \
OIDC_REDIRECTION_ENABLED=false \
OAUTH2_CA_CERT="" \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_B2C_ENABLED=false \
@@ -71,6 +76,9 @@ ENV \
LDAP_ENABLE=false \
LDAP_PORT=389 \
LDAP_HOST="" \
LDAP_AD_SIMPLE_AUTH="" \
LDAP_USER_AUTHENTICATION=false \
LDAP_USER_AUTHENTICATION_FIELD=uid \
LDAP_BASEDN="" \
LDAP_LOGIN_FALLBACK=false \
LDAP_RECONNECT=true \
@@ -88,8 +96,6 @@ ENV \
LDAP_ENCRYPTION=false \
LDAP_CA_CERT="" \
LDAP_REJECT_UNAUTHORIZED=false \
LDAP_USER_AUTHENTICATION=false \
LDAP_USER_AUTHENTICATION_FIELD=uid \
LDAP_USER_SEARCH_FILTER="" \
LDAP_USER_SEARCH_SCOPE="" \
LDAP_USER_SEARCH_FIELD="" \
@@ -144,69 +150,32 @@ ENV \
SAML_IDENTIFIER_FORMAT="" \
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
SAML_ATTRIBUTES="" \
DEFAULT_WAIT_SPINNER="" \
ORACLE_OIM_ENABLED=false \
WAIT_SPINNER="" \
WRITABLE_PATH=/data \
S3=""
# \
# NODE_OPTIONS="--max_old_space_size=4096"
#---------------------------------------------------------------------
# https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132
# Add more Node heap:
# NODE_OPTIONS="--max_old_space_size=4096"
# Add more stack:
# bash -c "ulimit -s 65500; exec node --stack-size=65500 main.js"
#---------------------------------------------
# == at docker-compose.yml: AUTOLOGIN WITH OIDC/OAUTH2 ====
# https://github.com/wekan/wekan/wiki/autologin
#- OIDC_REDIRECTION_ENABLED=true
#---------------------------------------------------------------------
# Install OS
RUN set -o xtrace \
&& useradd --user-group -m --system --home-dir /home/wekan wekan \
&& apt-get update \
&& apt-get install --assume-yes --no-install-recommends apt-utils apt-transport-https ca-certificates 2>&1 \
&& apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
# OLD:
# && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \
# && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \
# Install NodeJS
RUN set -o xtrace \
&& cd /tmp \
&& curl -fsSLO --compressed "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.xz" \
&& curl -fsSLO --compressed "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt" \
&& grep " node-$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xJf "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
&& mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
&& npm install -g npm@${NPM_VERSION} \
&& chown wekan:wekan --recursive /home/wekan/.config
ENV DEBIAN_FRONTEND=dialog
USER wekan
# Install Meteor
RUN set -o xtrace \
&& cd /home/wekan \
&& curl https://install.meteor.com/?release=$METEOR_VERSION --output /home/wekan/install-meteor.sh \
# Replace tar with bsdtar in the install script; https://github.com/jshimko/meteor-launchpad/issues/39
&& sed --in-place "s/tar -xzf.*/bsdtar -xf \"\$TARBALL_FILE\" -C \"\$INSTALL_TMPDIR\"/g" /home/wekan/install-meteor.sh \
&& sed --in-place 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' /home/wekan/install-meteor.sh \
&& printf "\n[-] Installing Meteor $METEOR_VERSION...\n\n" \
&& sh /home/wekan/install-meteor.sh
ENV PATH=$PATH:/home/wekan/.meteor/
USER root
RUN echo "export PATH=$PATH" >> /etc/environment
USER wekan
RUN <<EOR
echo "export PATH=$PATH" >> /etc/environment
EOR
# Copy source dir
RUN set -o xtrace \
&& mkdir -p /home/wekan/app/.meteor \
&& mkdir -p /home/wekan/app/packages
RUN <<EOR
set -o xtrace
mkdir -p /home/wekan/app/.meteor
mkdir -p /home/wekan/app/packages
EOR
COPY \
.meteor/.finished-upgraders \
@@ -231,44 +200,83 @@ COPY \
packages \
/home/wekan/app/packages/
USER root
# Install OS
RUN <<EOR
set -o xtrace
RUN set -o xtrace \
&& chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor
# Add non-root user wekan
useradd --user-group --system --home-dir /home/wekan wekan
# OS dependencies
apt-get update --assume-yes
apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS} ${DEV_DEPS}
USER wekan
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
cp $(which tar) $(which tar)~
ln -sf $(which bsdtar) $(which tar)
RUN \
set -o xtrace && \
# Build app
cd /home/wekan/app && \
/home/wekan/.meteor/meteor add standard-minifier-js && \
/home/wekan/.meteor/meteor npm install && \
/home/wekan/.meteor/meteor build --directory /home/wekan/app_build
# Install NodeJS
cd /tmp
RUN \
set -o xtrace && \
cd /home/wekan/app_build/bundle/programs/server/ && \
chmod u+w package.json npm-shrinkwrap.json && \
npm install && \
cd node_modules/fibers && \
node build.js
# Download nodejs
wget "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz"
wget "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt"
# Verify nodejs authenticity
grep "node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz" "SHASUMS256.txt" | shasum -a 256 -c -
rm -f "SHASUMS256.txt"
# Install Node
tar xzf "node-$NODE_VERSION-$ARCHITECTURE.tar.gz" -C /usr/local --strip-components=1 --no-same-owner
rm "node-$NODE_VERSION-$ARCHITECTURE.tar.gz" "SHASUMS256.txt"
ln -s "/usr/local/bin/node" "/usr/local/bin/nodejs"
mkdir -p "/opt/nodejs/lib/node_modules/fibers/.node-gyp" "/root/.node-gyp/${NODE_VERSION} /home/wekan/.config"
# Install node dependencies
npm install -g npm@${NPM_VERSION}
chown --recursive wekan:wekan /home/wekan/.config
# Install Meteor
cd /home/wekan
chown --recursive wekan:wekan /home/wekan
echo "Starting meteor ${METEOR_RELEASE} installation... \n"
gosu wekan:wekan curl https://install.meteor.com/ | /bin/sh
mv /root/.meteor /home/wekan/
chown --recursive wekan:wekan /home/wekan/.meteor
# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js
cd /home/wekan/.meteor
gosu wekan:wekan /home/wekan/.meteor/meteor -- help
# Build app (Development)
cd /home/wekan/app
gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js
gosu wekan:wekan /home/wekan/.meteor/meteor npm install
# Put back the original tar
mv $(which tar)~ $(which tar)
USER root
# Cleanup
RUN \
set -o xtrace && \
apt-get clean -y && \
apt-get autoremove -y && \
rm -Rf /tmp/* && \
rm -Rf /home/wekan/app_build && \
rm -Rf /var/cache/apt /var/lib/apt/lists && \
rm -Rf /var/lib/apt/lists/*
apt-get remove --purge --assume-yes ${BUILD_DEPS}
apt-get install --assume-yes --no-install-recommends build-essential
apt-get autoremove --assume-yes
apt-get clean --assume-yes
rm -Rf /tmp/*
rm -Rf /var/lib/apt/lists/*
rm -Rf /var/cache/apt
rm -Rf /var/lib/apt/lists
rm -Rf /home/wekan/app_build
mkdir /data
chown wekan --recursive /data
EOR
USER wekan
ENV PORT=3000
EXPOSE $PORT
STOPSIGNAL SIGKILL
WORKDIR /home/wekan/app
#---------------------------------------------------------------------
@@ -278,7 +286,6 @@ WORKDIR /home/wekan/app
# Add more stack:
# bash -c "ulimit -s 65500; exec node --stack-size=65500 main.js"
#---------------------------------------------------------------------
#TODO:
#CMD ["bash", "-c", "ulimit -s 65500; exec node --stack-size=65500 /build/main.js"]
#
CMD ["/home/wekan/.meteor/meteor", "run", "--verbose", "--settings", "settings.json"]
+29 -11
View File
@@ -1,18 +1,24 @@
## Issue
<!--
Please report these elsewhere:
Please report these issues elsewhere:
- SECURITY ISSUES, PGP EMAIL: https://github.com/wekan/wekan/blob/main/SECURITY.md
- UCS: https://github.com/wekan/univention/issues
**[PLEASE UPGRADE](https://github.com/wekan/wekan/wiki/Backup)** to the newest WeKan ® before reporting an issue.
**[PLEASE UPGRADE](https://github.com/wekan/wekan/wiki/Backup)** to the newest
WeKan ® before reporting an issue, if possible.
Please search existing Open and Closed issues, most questions have already been answered.
If you can not login for any reason: https://github.com/wekan/wekan/wiki/Forgot-Password
Email settings, only SMTP MAIL_URL and MAIL_FROM are in use: https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
-->
Email settings, only SMTP MAIL_URL and MAIL_FROM are in use:
https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
### Server Setup Information
<!-- Please anonymize info, and do not any of your Wekan board URLs, passwords, API tokens etc to this public issue. -->
Please anonymize info, and do not any of your Wekan board URLs, passwords,
API tokens etc to this public issue.
* Did you test in newest Wekan?:
* Did you configure root-url correctly so Wekan cards open correctly (see https://github.com/wekan/wekan/wiki/Settings)?
* Operating System:
@@ -23,13 +29,25 @@ Email settings, only SMTP MAIL_URL and MAIL_FROM are in use: https://github.com/
* What webbrowser version are you using (Wekan should work on all modern browsers that support Javascript)?
### Problem description
<!-- Add a recorded animated gif (e.g. with https://github.com/phw/peek) about how it works currently, and screenshot mockups how it should work. -->
Add a recorded animated gif (e.g. with https://github.com/phw/peek) about
how it works currently, and screenshot mockups how it should work.
#### Reproduction Steps
#### Logs
<!-- Check Right Click>Inspect>Console in you browser - generally Chrome shows more detailed info than Firefox. -->
<!-- Please anonymize logs.
#### Logs
Check Right Click / Inspect / Console in you browser - generally Chromium
based browsers show more detailed info than Firefox based browsers.
Please anonymize logs.
Snap: sudo snap logs wekan.wekan
Docker: sudo docker logs wekan-app
If logs are very long, attach them in .zip file -->
If logs are very long, attach them in .zip file
+1 -1
View File
@@ -38,7 +38,7 @@ jobs:
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
+1 -1
View File
@@ -125,7 +125,7 @@ jobs:
v1-meteor_build_cache-
- name: Setup meteor
uses: meteorengineer/setup-meteor@v1
uses: meteorengineer/setup-meteor@v2
with:
meteor-release: '2.2'
+96
View File
@@ -15,6 +15,102 @@ Fixing other platforms In Progress.
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
# v7.48 2024-06-06 WeKan ® release
This release adds the following updates:
- [Updated release scripts](https://github.com/wekan/wekan/commit/4a9d881e47751ec49d24af5bf4fd1c5452ceb194).
Thanks to xet7.
- Add changes from wiki to docs.
[Part 1](https://github.com/wekan/wekan/commit/13be8160d5b6a894c674d04c37ff9e653e7bd4b0),
[Part 2](https://github.com/wekan/wekan/commit/e65a8c90177cd948ca8212486a365b65cd7d5372).
Thanks to xet7.
and fixes the following bugs:
- [Fix Admin Panel pages Organizations and Teams, where HTML Tables were broken](https://github.com/wekan/wekan/commit/36bb5e099ed9f1f88c0399867bd76f040467745c).
Thanks to Hekatomb and xet7.
- [Try to show more of title of collapsed list](https://github.com/wekan/wekan/commit/ec0e88ad2e914437b4767456a160f2c1138fc5f2).
Thanks to C0rn3j and xet7.
- [Allow Normal user to add new swimlane, list and label](https://github.com/wekan/wekan/commit/04b995e77fdb5abc186e02482a75aba6a5cf0759).
Thanks to RyanHecht, norrig and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.47 2024-06-03 WeKan ® release
This release adds the following updates:
- [Update Docker base images to Ubuntu 24.04](https://github.com/wekan/wekan/commit/79e2001708b5110b26cf54b15bbbf90f7977fe90).
Thanks to xet7.
- [Updated to MongoDB 6.0.15 at Snap Candidate](https://github.com/wekan/wekan/commit/4e2a8735bc2e449a2a3c949d042fb625052a1152).
Thanks to MongoDB developers.
- [Updated release scripts](https://github.com/wekan/wekan/commit/2c9c9c43561093801004f0268d58b29d9a10b570).
Thanks to xet7.
and fixes the following bugs:
- [Only show Board name edit button to BoardAdmin](https://github.com/wekan/wekan/commit/5e2b423ef87c62a70a6b08abd2f185fd560f391f).
Thanks to xet7.
- [Fix Edit Description button is wildly out of place](https://github.com/wekan/wekan/commit/1f2fb2ccce38e9cac348f1c459784d6e5a949ded).
Thanks to C0rn3j and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.46 2024-06-03 WeKan ® release
This release adds the following updates:
- [Update ukrainian translation](https://github.com/wekan/wekan/pull/5405).
Thanks to novashdima.
- [Updated GitHub issue template for issue instructions to be more visible](https://github.com/wekan/wekan/commit/5124265142c94d5044b81f81eaaa9c3bc01cef58).
Thanks to xet7.
- [For development, only recommend Debian 12 amd64, because Sandstorm works at Debian 12. Sandstorm does not work at Ubuntu 24.04](https://github.com/wekan/wekan/commit/1bd30bc12129be8cc8a633a561bb8a5be76823d7).
Thanks to xet7. Related https://github.com/sandstorm-io/sandstorm/issues/3712
and fixes the following bugs:
- [Optimize SVGs and PNGs to save 550KB](https://github.com/wekan/wekan/pull/5403).
Thanks to C0rn3j.
- [Swap deprecated egrep for grep -E](https://github.com/wekan/wekan/pull/5404).
Thanks to C0rn3j.
- [Remove notification while copying board](https://github.com/wekan/wekan/pull/5412).
Thanks to e-gaulue.
- [Fixed loading of cards if there are more than 20 of them on one swimlane](https://github.com/wekan/wekan/pull/5417).
Thanks to novashdima.
- [Devcontainer, reduce image size and other necessary changes for development](https://github.com/wekan/wekan/pull/5418).
Thanks to mfilser.
- [Dockerfile production and dev same build](https://github.com/wekan/wekan/pull/5419).
Thanks to mfilser.
- [Remove second created at on activities](https://github.com/wekan/wekan/pull/5420).
Thanks to mfilser.
- [Fix Export CSV/TSV from Board create unhandled Exception](https://github.com/wekan/wekan/pull/5424).
Thanks to Dexus.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.45 2024-05-06 WeKan ® release
This release adds the following updates:
- [Update Docker base container to Ubuntu 24.04, and update software versions](https://github.com/wekan/wekan/commit/63117e87e759af965c8eeceaaa41f52815630d20).
Thanks to developers of dependencies.
- [Updated dependencies](https://github.com/wekan/wekan/pull/5392).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Fix display of tables with a large number of rows](https://github.com/wekan/wekan/pull/5393).
Thanks to novashdima.
- [Fix white List color and define Silver in CSS instead of leaving it unset](https://github.com/wekan/wekan/pull/5400).
Thanks to C0rn3j.
- [Allow silver color to be set in List and Swimlane](https://github.com/wekan/wekan/pull/5401).
Thanks to C0rn3j.
- [Fix Can't set a Due Date that has a leading zero in time, errors with invalid time](https://github.com/wekan/wekan/commit/9cebee734740790145ca574c539ccebd067cee7e).
Thanks to C0rn3j and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v7.44 2024-04-26 WeKan ® release
This release adds the following new features:
+53 -61
View File
@@ -1,13 +1,8 @@
FROM --platform=linux/amd64 ubuntu:23.10 as wekan
LABEL maintainer="wekan" \
org.opencontainers.image.ref.name="ubuntu" \
org.opencontainers.image.version="23.10" \
org.opencontainers.image.source="https://github.com/wekan/wekan"
# 2022-09-04:
# - above "--platform=linux/amd64 ubuntu:22.04 as wekan" is needed to build Dockerfile
# correctly on Mac M1 etc, to not get this error:
# https://stackoverflow.com/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc
FROM ubuntu:24.04
LABEL maintainer="wekan"
LABEL org.opencontainers.image.ref.name="ubuntu"
LABEL org.opencontainers.image.version="24.04"
LABEL org.opencontainers.image.source="https://github.com/wekan/wekan"
# 2022-04-25:
# - gyp does not yet work with Ubuntu 22.04 ubuntu:rolling,
@@ -16,19 +11,17 @@ LABEL maintainer="wekan" \
# 2021-09-18:
# - Above Ubuntu base image copied from Docker Hub ubuntu:hirsute-20210825
# to Quay to avoid Docker Hub rate limits.
# Set the environment variables (defaults where required)
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
# ENV BUILD_DEPS="paxctl"
ARG DEBIAN_FRONTEND=noninteractive
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ curl libarchive-tools build-essential git ca-certificates python3"
ENV \
DEBUG=false \
NODE_VERSION=v14.21.4 \
METEOR_RELEASE=METEOR@2.13.3 \
METEOR_RELEASE=METEOR@2.14 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
NPM_VERSION=9.8.1 \
NPM_VERSION=6.14.17 \
FIBERS_VERSION=4.0.1 \
ARCHITECTURE=linux-x64 \
SRC_PATH=./ \
@@ -165,7 +158,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
WRITABLE_PATH=/data \
S3=""
# NODE_OPTIONS="--max_old_space_size=4096" \
# NODE_OPTIONS="--max_old_space_size=4096"
#---------------------------------------------
# == at docker-compose.yml: AUTOLOGIN WITH OIDC/OAUTH2 ====
@@ -176,61 +169,58 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
# Copy the app to the image
COPY ${SRC_PATH} /home/wekan/app
# Install OS
RUN <<EOR
set -o xtrace
# Add non-root user wekan
useradd --user-group --system --home-dir /home/wekan wekan
# OS dependencies
apt-get update -y
apt-get install -y --no-install-recommends ${BUILD_DEPS}
apt-get update --assume-yes
apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
cp $(which tar) $(which tar)~
ln -sf $(which bsdtar) $(which tar)
# Install NodeJS
cd /tmp
# Download nodejs
wget https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz
wget https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt
#wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz
#wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc
#---------------------------------------------------------------------------------------------
wget "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz"
wget "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt"
# Verify nodejs authenticity
grep node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt | shasum -a 256 -c -
rm -f SHASUMS256.txt
#grep ${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c -
#rm -f SHASUMS256.txt.asc
grep "node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz" "SHASUMS256.txt" | shasum -a 256 -c -
rm -f "SHASUMS256.txt"
# Install Node
tar xvzf node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz
rm node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz
mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs
ln -s /opt/nodejs/bin/node /usr/bin/node
ln -s /opt/nodejs/bin/npm /usr/bin/npm
mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config
chown wekan --recursive /home/wekan/.config
tar xzf "node-$NODE_VERSION-$ARCHITECTURE.tar.gz" -C /usr/local --strip-components=1 --no-same-owner
rm "node-$NODE_VERSION-$ARCHITECTURE.tar.gz" "SHASUMS256.txt"
ln -s "/usr/local/bin/node" "/usr/local/bin/nodejs"
mkdir -p "/opt/nodejs/lib/node_modules/fibers/.node-gyp" "/root/.node-gyp/${NODE_VERSION} /home/wekan/.config"
#DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
#paxctl -mC `which node`
# Install node dependencies
npm install -g npm@${NPM_VERSION}
chown --recursive wekan:wekan /home/wekan/.config
# Install Node dependencies. Python path for node-gyp.
#npm install -g npm@${NPM_VERSION}
# Change user to wekan and install meteor
cd /home/wekan/
chown wekan --recursive /home/wekan
# Install Meteor
cd /home/wekan
chown --recursive wekan:wekan /home/wekan
echo "Starting meteor ${METEOR_RELEASE} installation... \n"
gosu wekan:wekan curl https://install.meteor.com/ | /bin/sh
mv /root/.meteor /home/wekan/
chown wekan --recursive /home/wekan/.meteor
chown --recursive wekan:wekan /home/wekan/.meteor
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js
cd /home/wekan/.meteor
gosu wekan:wekan /home/wekan/.meteor/meteor -- help;
gosu wekan:wekan /home/wekan/.meteor/meteor -- help
# Build app
# Build app (Production)
cd /home/wekan/app
mkdir -p /home/wekan/.npm
chown wekan --recursive /home/wekan/.npm /home/wekan/.config /home/wekan/.meteor
chown --recursive wekan:wekan /home/wekan/.npm
chmod u+w *.json
gosu wekan:wekan meteor npm install
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build
@@ -248,26 +238,29 @@ mv /home/wekan/app_build/bundle /build
mv $(which tar)~ $(which tar)
# Cleanup
apt-get remove --purge -y ${BUILD_DEPS}
apt-get autoremove -y
apt-get remove --purge --assume-yes ${BUILD_DEPS}
npm uninstall -g api2html
rm -R /tmp/*
rm -R /var/lib/apt/lists/*
rm -R /home/wekan/.meteor
rm -R /home/wekan/app
rm -R /home/wekan/app_build
apt-get autoremove --assume-yes
apt-get clean --assume-yes
rm -Rf /tmp/*
rm -Rf /var/lib/apt/lists/*
rm -Rf /var/cache/apt
rm -Rf /var/lib/apt/lists
rm -Rf /home/wekan/app_build
rm -Rf /home/wekan/app
rm -Rf /home/wekan/.meteor
mkdir /data
chown wekan --recursive /data
#cat /home/wekan/python/esprima-python/files.txt | xargs rm -R
#rm -R /home/wekan/python
#rm /home/wekan/install_meteor.sh
EOR
USER wekan
ENV PORT=8080
EXPOSE $PORT
USER wekan
STOPSIGNAL SIGKILL
WORKDIR /home/wekan/app
#---------------------------------------------------------------------
# https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132
@@ -278,6 +271,5 @@ STOPSIGNAL SIGKILL
#---------------------------------------------------------------------
#
# CMD ["node", "/build/main.js"]
#CMD ["bash", "-c", "ulimit -s 65500; exec node --stack-size=65500 /build/main.js"]
# CMD ["bash", "-c", "ulimit -s 65500; exec node --stack-size=65500 /build/main.js"]
CMD ["bash", "-c", "ulimit -s 65500; exec node /build/main.js"]
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v7.44.0"
appVersion: "v7.48.0"
files:
userUploads:
- README.md
@@ -242,5 +242,3 @@ template(name="activity")
= ' @'
else if(currentData.timeValue)
| {{_ activity.activityType currentData.timeValue}}
span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
+3 -2
View File
@@ -12,8 +12,9 @@ template(name="boardHeaderBar")
if currentBoard
if currentUser
with currentBoard
a.board-header-btn(class="{{#if currentUser.isBoardAdmin}}js-edit-board-title{{else}}is-disabled{{/if}}" title="{{_ 'edit'}}" value=title)
i.fa.fa-pencil-square-o
if currentUser.isBoardAdmin
a.board-header-btn(class="{{#if currentUser.isBoardAdmin}}js-edit-board-title{{else}}is-disabled{{/if}}" title="{{_ 'edit'}}" value=title)
i.fa.fa-pencil-square-o
a.board-header-btn.js-star-board(class="{{#if isStarred}}is-active{{/if}}"
title="{{#if isStarred}}{{_ 'click-to-unstar'}}{{else}}{{_ 'click-to-star'}}{{/if}} {{_ 'starred-boards-description'}}")
+2 -2
View File
@@ -525,8 +525,8 @@ template(name="cardDetails")
a.fa.fa-times-thin.js-close-inlined-form
else
if currentBoard.allowsDescriptionText
a.js-open-inlined-form.right(title="{{_ 'edit'}}" value=title)
i.fa.fa-pencil-square-o
a.js-open-inlined-form(title="{{_ 'edit'}}" value=title)
i.fa.fa-plus
if getDescription
+viewer
= getDescription
+1 -2
View File
@@ -37,5 +37,4 @@ template(name="cardLabelsPopup")
= name
if(isLabelSelected ../_id)
i.card-label-selectable-icon.fa.fa-check
if currentUser.isBoardAdmin
a.quiet-button.full.js-add-label {{_ 'label-create'}}
a.quiet-button.full.js-add-label {{_ 'label-create'}}
+7 -4
View File
@@ -84,13 +84,17 @@
}
.list-rotated {
width: 10px;
margin-top: 10px;
margin-left: 0;
height: 250px;
margin-top: -90px;
margin-left: -110px;
margin-right: 0;
transform: rotate(90deg);
position: relative;
text-overflow: ellipsis;
white-space: nowrap;
}
.list-header .list-rotated {
}
.list-header .list-header-watch-icon {
padding-left: 10px;
@@ -324,7 +328,6 @@
}
.list-header-white {
border-bottom: 6px solid #fff;
border: 1px solid #eee;
}
.list-header-green {
border-bottom: 6px solid #3cb500;
@@ -357,7 +360,7 @@
border-bottom: 6px solid #51e898;
}
.list-header-silver {
border-bottom: 6px solid unset;
border-bottom: 6px solid #e4e4e4;
}
.list-header-peachpuff {
border-bottom: 6px solid #ffdab9;
+61 -53
View File
@@ -58,18 +58,20 @@ template(name="rulesReport")
h1 {{_ 'rulesReportTitle'}}
if resultsCount
table
tr
th Rule Title
th Board Title
th actionType
th activityType
thead
tr
th Rule Title
th Board Title
th actionType
th activityType
each rule in results
tr
td {{ rule.title }}
td {{ rule.boardTitle }}
td {{ rule.action.actionType }}
td {{ rule.trigger.activityType }}
tbody
tr
td {{ rule.title }}
td {{ rule.boardTitle }}
td {{ rule.action.actionType }}
td {{ rule.trigger.activityType }}
else
div {{_ 'no-results' }}
@@ -77,22 +79,24 @@ template(name="filesReport")
h1 {{_ 'filesReportTitle'}}
if resultsCount
table
tr
th Filename
th.right Size (kB)
th MIME Type
th Attachment ID
th Board ID
th Card ID
thead
tr
th Filename
th.right Size (kB)
th MIME Type
th Attachment ID
th Board ID
th Card ID
each att in results
tr
td {{ att.name }}
td.right {{ fileSize att.size }}
td {{ att.type }}
td {{ att._id }}
td {{ att.meta.boardId }}
td {{ att.meta.cardId }}
tbody
tr
td {{ att.name }}
td.right {{ fileSize att.size }}
td {{ att.type }}
td {{ att._id }}
td {{ att.meta.boardId }}
td {{ att.meta.cardId }}
else
div {{_ 'no-results' }}
@@ -100,22 +104,24 @@ template(name="cardsReport")
h1 {{_ 'cardsReportTitle'}}
if resultsCount
table.table
tr
th Card Title
th Board
th Swimlane
th List
th Members
th Assignees
thead
tr
th Card Title
th Board
th Swimlane
th List
th Members
th Assignees
each card in results
tr
td {{abbreviate card.title }}
td {{abbreviate card.board.title }}
td {{abbreviate card.swimlane.title }}
td {{abbreviate card.list.title }}
td {{userNames card.members }}
td {{userNames card.assignees }}
tbody
tr
td {{abbreviate card.title }}
td {{abbreviate card.board.title }}
td {{abbreviate card.swimlane.title }}
td {{abbreviate card.list.title }}
td {{userNames card.members }}
td {{userNames card.assignees }}
else
div {{_ 'no-results' }}
@@ -123,22 +129,24 @@ template(name="boardsReport")
h1 {{_ 'boardsReportTitle'}}
if resultsCount
table.table
tr
th Title
th Id
th Permission
th Archived?
th Members
th Organizations
th Teams
thead
tr
th Title
th Id
th Permission
th Archived?
th Members
th Organizations
th Teams
each board in results
tr
td {{abbreviate board.title }}
td {{abbreviate board._id }}
td {{ board.permission }}
td
= yesOrNo(board.archived)
td {{userNames board.members }}
tbody
tr
td {{abbreviate board.title }}
td {{abbreviate board._id }}
td {{ board.permission }}
td
= yesOrNo(board.archived)
td {{userNames board.members }}
else
div {{_ 'no-results' }}
+9 -3
View File
@@ -73,7 +73,7 @@ template(name="people")
template(name="orgGeneral")
table
tbody
thead
tr
th {{_ 'displayName'}}
th {{_ 'description'}}
@@ -84,12 +84,14 @@ template(name="orgGeneral")
th {{_ 'active'}}
th
+newOrgRow
tbody
tr
each org in orgList
+orgRow(orgId=org._id)
template(name="teamGeneral")
table
tbody
thead
tr
th {{_ 'displayName'}}
th {{_ 'description'}}
@@ -99,6 +101,8 @@ template(name="teamGeneral")
th {{_ 'active'}}
th
+newTeamRow
tbody
tr
each team in teamList
+teamRow(teamId=team._id)
@@ -106,7 +110,7 @@ template(name="peopleGeneral")
#divAddOrRemoveTeamContainer
+modifyTeamsUsers
table
tbody
thead
tr
th
+selectAllUser
@@ -124,6 +128,8 @@ template(name="peopleGeneral")
th {{_ 'teams'}}
th
+newUserRow
tbody
tr
each user in peopleList
+peopleRow(userId=user._id)
@@ -7,11 +7,13 @@
display: -moz-flex;
display: -ms-flexbox;
display: flex;
height: 100%;
}
.setting-content {
color: #727479;
background: #dedede;
width: 100%;
height: 100%;
position: absolute;
}
.setting-content .content-title {
@@ -56,6 +58,8 @@
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
max-height: 100%;
overflow: auto;
}
.setting-content .content-body .main-body ul li {
padding: 0.5rem 0.5rem;
@@ -34,13 +34,14 @@ template(name="translation")
template(name="translationGeneral")
table
tbody
thead
tr
th {{_ 'language'}}
th {{_ 'text'}}
th {{_ 'translation-text'}}
th
+newTranslationRow
tbody
each translation in translationList
+translationRow(translationId=translation._id)
@@ -24,8 +24,7 @@ template(name="swimlaneFixedHeader")
| {{isTitleDefault title}}
.swimlane-header-menu
unless currentUser.isCommentOnly
if currentUser.isBoardAdmin
a.fa.fa-plus.js-open-add-swimlane-menu.swimlane-header-plus-icon(title="{{_ 'add-swimlane'}}")
a.fa.fa-plus.js-open-add-swimlane-menu.swimlane-header-plus-icon(title="{{_ 'add-swimlane'}}")
a.fa.fa-navicon.js-open-swimlane-menu(title="{{_ 'swimlaneActionPopup-title'}}")
//// TODO: Collapse Swimlane: make button working, etc.
//unless collapsed
+3 -2
View File
@@ -11,7 +11,8 @@
background: #dedede;
display: flex;
flex-direction: row;
overflow: 0;
overflow: auto;
max-height: 100%;
}
.swimlane-header-menu .swimlane-header-collapse-down {
font-size: 50%;
@@ -157,7 +158,7 @@
color: #4d4d4d !important;
}
.swimlane-silver {
background: unset !important;
background: #ccc !important;
color: #4d4d4d !important;
}
.swimlane-peachpuff {
+2 -2
View File
@@ -46,8 +46,8 @@ template(name="listsGroup")
template(name="addListForm")
unless currentUser.isWorker
.list.list-composer.js-list-composer(class="{{#if isMiniScreen}}mini-list{{/if}}")
if currentUser.isBoardAdmin
unless currentUser.isCommentOnly
.list.list-composer.js-list-composer(class="{{#if isMiniScreen}}mini-list{{/if}}")
.list-header-add
+inlinedForm(autoclose=false)
input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
+3 -2
View File
@@ -6,10 +6,11 @@ import moment from 'moment/min/moment-with-locales';
function adjustedTimeFormat() {
return moment
.localeData()
.longDateFormat('LT')
.replace(/HH/i, 'H');
.longDateFormat('LT');
}
// .replace(/HH/i, 'H');
export class DatePicker extends BlazeComponent {
template() {
return 'datepicker';
+3
View File
@@ -0,0 +1,3 @@
- https://www.sitepoint.com/javascript-async-await/
- https://www.freecodecamp.org/news/javascript-async-await-tutorial-learn-callbacks-promises-async-await-by-making-icecream/
- https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous
+3 -1
View File
@@ -4,10 +4,12 @@
*Make sure you are running at least **v2.21***
### Snap install info, tested 2021-07-16
### Redirect URL
[About AZURE-NEW-APP-CLIENT-ID and AZURE-NEW-APP-SECRET](https://community.microfocus.com/t5/Identity-Manager-Tips/Creating-the-application-Client-ID-and-Client-Secret-from/ta-p/1776619). The redirect URL is your Wekan root-url+_oauth/oidc like this: https://boards.example.com/_oauth/oidc
<img src="https://wekan.github.io/azure-redirect.png" width="100%" alt="Wekan logo" />
AZURE_DIRECTORY_ID = TENANT-NAME-FOR-YOUR-ORGANIZATION
### If Azure Active Directory login does not work
+7
View File
@@ -35,6 +35,13 @@ docker exec wekan-db mongorestore --drop --dir=/data/dump
docker start wekan-app
```
# Upgrade Docker Wekan version
## Newest info
https://github.com/wekan/wekan/discussions/5367
## Old info
Note: Do not run `docker-compose down` without verifying your docker-compose file, it does not delete the data by default but caution is advised. Refer to https://docs.docker.com/compose/reference/down/.
```bash
docker-compose stop
+32
View File
@@ -0,0 +1,32 @@
## Change language for all users
Using MongoDB Shell with WeKan Snap Candidate, to change English date format to `DD/MM/YY`.
MongoDB Shell Download: https://www.mongodb.com/try/download/shell
language.sh:
```
mongosh --quiet \
--host 127.0.0.1 \
--port 27019 \
--eval 'use wekan' \
--eval 'db.users.updateMany({}, { $set: {"profile.language": "en-GB" }});'
```
Set script as executeable:
```
chmod +x language.sh
```
Running script, when 5 new users of total 20 users did not have language set correctly yet:
```
$ ./language.sh
{
acknowledged: true,
insertedId: null,
matchedCount: 20,
modifiedCount: 5,
upsertedCount: 0
}
```
## Language browser settings
https://github.com/wekan/wekan/issues/4518#issuecomment-1133763518
+28
View File
@@ -60,6 +60,34 @@ It's a very specific niche, with limited amount competitors, with all of this ap
[Wekan Team](https://wekan.team) is Wekan Commercial Support company run by CEO [xet7](https://github.com/xet7), current maintainer of Wekan. xet7 does respond to feedback at GitHub issues very actively, because Wekan is community driven Open Source project. Because conflicting opinions can not be implemented, sometimes xet7 has to behave like a benevolent dictator. Every Wekan team member is free to choose what to contribute and when. We can not force anybody to implement anything. Wekan development speed increases when new Wekan contributors join and start to send PRs to existing and new issues.
## What is Bio of xet7 ?
[Lauri Ojansivu](https://github.com/xet7) is CEO at [WeKan Team](https://wekan.team),
Cross-Platform FOSS maintainer,
Cloud Architect, Full-Stack Developer, SysAdmin and SysOp.
He has experience of [having added and removed over 4 million lines of code](https://github.com/wekan/wekan/blob/main/releases/count-lines-of-code-per-committer.sh) to
[Meteor Full-Stack Web Framework](https://www.meteor.com)
based [WeKan Open Source kanban](https://wekan.github.io),
that has been [translated to 70+ languages](https://explore.transifex.com/wekan/wekan/),
and is currently used at [most countries of the world](https://snapcraft.io/wekan).
At 2024-06-04, he is currently [4h most active GitHub committer at Finland](https://committers.top/finland).
He holds a BBA as computer designer and system engineer
at Kemi-Tornio AMK, Finland.
He is credited as having built quality control system
with comparisons of groups and fitness test calculations,
company infra, migration from On-Premises to Cloud,
SLA support, IT support, [games](https://github.com/xet7/notegame), database apps, websites,
[winner of 2th place at EU NGI ONTOCHAIN Hackathon](https://wekan.github.io/donated/ontochain-certificate.png),
[winner of 20i FOSS Awards](https://wekan.github.io/donated/foss-awards-2022/20i_FOSS_Awards_Winners_Announced_(Press_Release).pdf), and [porting to 30+ CPU/OS](https://github.com/xet7/darkesthour).
At MeteorJS Dispatches Video Podcast, he has been
interviewed [about WeKan](https://www.youtube.com/watch?v=ke-mbnZM3zE&t=1342s),
[Meteor Security](https://www.youtube.com/watch?v=zic-h8jG6F8), and other topics.
He teaches using computers at local nerd club.
At his free time, he is porting FOSS software to many CPU/OS,
and [translating them from English to Finnish](https://xet7.org).
## How to convince my company management that Wekan "is less evil" than Trello?
Yes, xet7 received this question in Email.
@@ -1,14 +1,17 @@
# Newest Windows info here
https://github.com/wekan/wekan/wiki/Offline
## OLD INFO BELOW, DOES NOT WORK
Also see: [Excel and VBA](Excel-and-VBA)
# THIS WORKS
a) Lowest resource usage: [Windows Subsystem for Linux, build from source](https://github.com/wekan/wekan/issues/2066#issuecomment-468328001)
b) Docker for Windows, [prebuilt without --build option, or build from source](https://github.com/wekan/wekan-dev/issues/12#issuecomment-468657290)
***
# OLD INFO BELOW, DOES NOT WORK
### Source install required dependencies
@@ -12,31 +12,31 @@
**Purpose**: Install latest Wekan release on [Uberspace](https://uberspace.de/) 6 and run as [daemontools](https://cr.yp.to/daemontools/faq/create.html) service in local userspace.
This script installs Wekan on a fresh Uberspace 6. It setup Node 4, MongoDB, a Port, installs Wekan and starts it as a service. It's tested with Wekan versions 0.32 and 0.63.
This script installs Wekan on a fresh Uberspace 6. It setup Node 4, MongoDB, a Port, installs Wekan and starts it as a service. It's tested with Wekan versions 0.32 and 0.63.
You have two Options to use it.
# Option 1:
You can run the commands of the following script step-by-step in the shell.
You can run the commands of the following script step-by-step in the shell.
At first step set the SMTP-Password variable. Replace the `$1` with the password in that way `SMTP_PASS="smtp_password"` and continue line-by-line.
# Option 2:
Or you can run it automatically.
* Save it as script in file `install_wekan.sh`
* Make it executable `chmod +x install_wekan.sh`
* And run it. Pass the SMTP-Password as command line parameter `./install_wekan.sh smtp_password`.
* Make it executable `chmod +x install_wekan.sh`
* And run it. Pass the SMTP-Password as command line parameter `./install_wekan.sh smtp_password`.
## ./install_wekan.sh
```
#!/bin/sh
##
##
## Usage: ./install_wekan.sh SMTP-password
##
## Draft
## Install Wekan (v0.63) on Uberspace 6 by Noodle / Chris
##
## Sources:
##
## Sources:
## https://github.com/wekan/wekan/wiki/Install-and-Update#manual-installation-steps
## https://wiki.uberspace.de/database:mongodb
## https://wiki.uberspace.de/development:nodejs
@@ -71,8 +71,8 @@ test -d ~/service || uberspace-setup-svscan
TEMPMDB="$(uberspace-setup-mongodb)"
MONGO_USER="${USER}_mongoadmin"
MONGO_PORT="$(echo ${TEMPMDB} | egrep -o 'm#:\s[0-9]{5}\sUs' | cut -d' ' -f 2)"
MONGO_PASS="$(echo ${TEMPMDB} | egrep -o 'rd:\s.+\sTo\sconn' | cut -d' ' -f 2)"
MONGO_PORT="$(echo ${TEMPMDB} | grep -E -o 'm#:\s[0-9]{5}\sUs' | cut -d' ' -f 2)"
MONGO_PASS="$(echo ${TEMPMDB} | grep -E -o 'rd:\s.+\sTo\sconn' | cut -d' ' -f 2)"
echo -e "MONGO_USER: ${MONGO_USER} \nMONGO_PORT: ${MONGO_PORT} \nMONGO_PASS: ${MONGO_PASS}"
@@ -81,7 +81,7 @@ echo -e "MONGO_USER: ${MONGO_USER} \nMONGO_PORT: ${MONGO_PORT} \nMONGO_PASS: ${M
### Setup Websocket Port ###
############################
export FREE_PORT="$(uberspace-add-port --protocol tcp --firewall | egrep -o '[0-9]{5}')"
export FREE_PORT="$(uberspace-add-port --protocol tcp --firewall | grep -E -o '[0-9]{5}')"
echo "FREE_PORT: ${FREE_PORT}"
@@ -162,14 +162,14 @@ More about [daemontools](https://cr.yp.to/daemontools/faq/create.html).
# Uninstall Wekan
To remove Wekan from your uberspace you have to do the following steps.
* Stop and remove the service.
* Stop and remove the service.
`uberspace-remove-service -s wekan`
* Remove the complete data.
* Remove the complete data.
```
mongo admin --port $MONGO_PORT -u $MONGO_USER -p $MONGO_PASS
use wekan
db.dropDatabase()
exit
```
* Remove the installation.
`rm -Rf ~/wekan/ ~/etc/wekan-*`
* Remove the installation.
`rm -Rf ~/wekan/ ~/etc/wekan-*`
+2
View File
@@ -1,3 +1,4 @@
- [More RocketChat fixes here](https://github.com/wekan/wekan/wiki/RocketChat)
- [OAuth2 small bug](https://github.com/wekan/wekan/issues/1874) - currently OAuth2 works mostly
# OAuth2 providers
@@ -41,6 +42,7 @@ The redirect URL is described in the wekan wiki: https://wekan.example.com/_oaut
## Rocket.Chat providing OAuth2 login to Wekan
- [More RocketChat fixes here](https://github.com/wekan/wekan/wiki/RocketChat)
- [RocketChat Skip Install Registration Wizard Fix](https://github.com/RocketChat/Rocket.Chat/issues/31163#issuecomment-1848364117)
> So for someone using snap, it means creating a file `/var/snap/rocketchat-server/common/override-setup-wizard.env ` (the name of the file itself could be anything as long as it has an .env extension) and setting its content to `OVERWRITE_SETTING_Show_Setup_Wizard=completed`
+27 -28
View File
@@ -2,50 +2,30 @@ Also see: [Windows](Windows)
[Other CPU/OS On-Premise WeKan install](https://github.com/wekan/wekan/wiki/Raspberry-Pi)
## Newest Docker WeKan Offline
This works now.
At Internet connected computer, download:
1. Docker for Windows
2. docker-compose.yml from https://github.com/wekan/wekan
3. `docker-compose up -d` at Internet connected computer
4. Save wekan-app and wekan-db containers to files https://docs.docker.com/engine/reference/commandline/save/
At Offline Windows computer:
1. Install Docker for Windows
2. Load `wekan-app` container from file https://docs.docker.com/engine/reference/commandline/load/
3. Check what is ID of `wekan-app` container with `docker images`
4. Change at `docker-compose.yml` wekan-app contaier `image:gc....` to `image:ID` where ID from step 3 above
5. Do steps 2-4 also for `wekan-db` container
6. `docker-compose up -d`
## Wekan Windows 64bit version On-Premise
This does not work yet.
This is without container (without Docker or Snap).
Right click and download files 1-4:
1. [wekan-7.18-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.18/wekan-7.18-amd64-windows.zip)
1. [wekan-7.47-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.47/wekan-7.47-amd64-windows.zip)
2. [node-v14.21.4-win-x64.exe](https://github.com/wekan/node-v14-esm/releases/download/v14.21.4/node-v14.21.4-win-x64.exe)
2. [node.exe](https://nodejs.org/dist/latest-v14.x/win-x64/node.exe)
3. [mongodb-windows-x86_64-6.0.11-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.11-signed.msi)
3. [mongodb-windows-x86_64-6.0.15-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.15-signed.msi)
4. [start-wekan.bat](https://raw.githubusercontent.com/wekan/wekan/main/start-wekan.bat)
5. Copy files from steps 1-4 with USB stick or DVD to offline Windows computer
6. Double click `mongodb-windows-x86_64-6.0.11-signed.msi` . In installer, uncheck downloading MongoDB compass.
6. Double click `mongodb-windows-x86_64-6.0.15-signed.msi` . In installer, uncheck downloading MongoDB compass.
7. Unzip `wekan-7.18-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
7. Unzip `wekan-7.47-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
```
bundle (directory)
|_ start-wekan.bat (downloaded file)
|_ node-v14.21.4-win-x64.exe (downloaded file)
|_ node.exe (downloaded file)
|_ main.js (extracted file)
```
8. Edit `start-wekan.bat` with Notepad. There add [Windows computer IP address](https://support.microsoft.com/en-us/windows/find-your-ip-address-in-windows-f21a9bbc-c582-55cd-35e0-73431160a1b9) , like this, then Wekan will be at http://IP-ADDRESS-HERE/sign-in , for example http://192.168.0.100/sign-in but your different IP address. Add there wekan server computer IP address, not localhost. `node.exe main.js` is at bottom of `start-wekan.bat`, change there longer filename:
@@ -54,7 +34,7 @@ SET ROOT_URL=http://IP-ADDRESS-HERE
SET PORT=80
node-v14.21.4-win-x64.exe main.js
node.exe main.js
```
If there is already some webserver at port 80, change to other port:
```
@@ -75,6 +55,25 @@ RELATED INFO:
- Windows 2022 server example https://github.com/wekan/wekan/issues/5084
- Other settings example https://github.com/wekan/wekan/issues/4932
## Docker WeKan Offline
At Internet connected computer, download:
1. Docker for Windows
2. docker-compose.yml from https://github.com/wekan/wekan
3. `docker-compose up -d` at Internet connected computer
4. Save wekan-app and wekan-db containers to files https://docs.docker.com/engine/reference/commandline/save/
At Offline Windows computer:
1. Install Docker for Windows
2. Load `wekan-app` container from file https://docs.docker.com/engine/reference/commandline/load/
3. Check what is ID of `wekan-app` container with `docker images`
4. Change at `docker-compose.yml` wekan-app contaier `image:gc....` to `image:ID` where ID from step 3 above
5. Do steps 2-4 also for `wekan-db` container
6. `docker-compose up -d`
## WeKan Updates
1. Updating only WeKan. Not updating Node.js and MongoDB.
+68
View File
@@ -0,0 +1,68 @@
Info for Self-Hosted RocketChat Community Server, using RocketChat server Snap from https://snapcraft.io/rocketchat-server
## Install snapd
Linux:
https://snapcraft.io/docs/installing-snapd
Windows:
https://github.com/wekan/hx/tree/main/prototypes/ui/gambas#install-on-windows
## Install RocketChat Snap
```
sudo snap install rocketchat-server
```
## Setup siteurl
List current Snap settings:
```
sudo snap get rocketchat-server
```
Then set your siteurl of your RocketChat server:
```
sudo snap set rocketchat-server siteurl='https://chat.yourcompany.com'
```
## RocketChat Skip Install Registration Wizard Fix
Q:
- [RocketChat Skip Install Registration Wizard Fix](https://github.com/RocketChat/Rocket.Chat/issues/31163#issuecomment-1848364117)
A:
For someone using snap, it means creating a file `/var/snap/rocketchat-server/common/override-setup-wizard.env ` (the name of the file itself could be anything as long as it has an .env extension) and setting its content to `OVERWRITE_SETTING_Show_Setup_Wizard=completed`
Then, restarting the server by `systemctl restart snap.rocketchat-server.rocketchat-server.service`
If it does not work yet, then reboot.
## Workspace version unsupported
Q:
- [Workspace version unsupported, Self-Host Community Server](https://forums.rocket.chat/t/workspace-version-unsupported-self-host-community-server/19698)
A:
1) Change to newest Snap Stable channel, list at https://snapcraft.io/rocketchat-server dropdown menu
```
sudo snap refresh rocketchat-server --channel=6.x/stable --amend
```
2) Register your Self-Managed instance here, so login and mobile app start to work after that:
- https://cloud.rocket.chat/home
- https://chat.yourcompany.com/admin/subscription
## More RocketChat Snap related info
https://github.com/wekan/wekan/wiki/OAuth2
https://docs.rocket.chat/deploy/deploy-rocket.chat/deploy-with-snaps
+1 -1
View File
@@ -6,7 +6,7 @@
* [Meteor WeKan Roadmap](https://boards.wekan.team/b/D2SzJKZDS4Z48yeQH/wekan-open-source-kanban-board-with-mit-license) - board at Wekan demo
* [Multiverse WeKan Roadmap](https://github.com/wekan/wekan/wiki/WeKan-Multiverse-Roadmap)
* [Docs/Manual](https://github.com/wekan/wekan/discussions/4522)
* [Change Language](https://github.com/wekan/wekan/issues/4518#issuecomment-1133763518)
* [Change Language](Change-Language)
* [Forgot Password](Forgot-Password)
* [About](https://github.com/wekan/wekan/wiki)
* [Test Edge](Test-Edge)
+1 -1
View File
@@ -2,4 +2,4 @@
# Recursive find/replace.
# Syntax: ./find-replace.sh searchtext replacetext
egrep -lRZ '$1' . | xargs -0 -l sed -i -e 's/$1/$2/g'
grep -E -lRZ '$1' . | xargs -0 -l sed -i -e 's/$1/$2/g'
+2 -2
View File
@@ -1246,7 +1246,7 @@
"show-checklist-at-minicard": "Erakutsi kontrol-zerrenda minitxartelean",
"show-subtasks-field": "azpi-zereginen eremua bezala",
"convert-to-markdown": "Bihurtu markdown-era",
"import-board-zip": "Add .zip file that has board JSON files, and board name subdirectories with attachments",
"import-board-zip": "Gehitu taula JSON fitxategiak dituen .zip fitxategia eta eranskinak dituzten taularen izenen azpidirektorioak",
"collapse": "Tolestu",
"uncollapse": "Uncollapse"
"uncollapse": "Zabaldu"
}
+2 -2
View File
@@ -242,8 +242,8 @@
"cardMembersPopup-title": "Jäsenet",
"cardMorePopup-title": "Lisää",
"cardTemplatePopup-title": "Luo malli",
"cards": "Kortit",
"cards-count": "Kortit",
"cards": "Korttia",
"cards-count": "Korttia",
"cards-count-one": "Kortti",
"casSignIn": "CAS-kirjautuminen",
"cardType-card": "Kortti",
+1 -1
View File
@@ -1248,5 +1248,5 @@
"convert-to-markdown": "המרה ל־Markdown",
"import-board-zip": "הוספת קובץ ‎.zip עם קובצי JSON של לוח, ותת־תיקיות בשם הלוח עם קבצים מצורפים",
"collapse": "צמצום",
"uncollapse": "Uncollapse"
"uncollapse": "ביטול צמצום"
}
+2 -2
View File
@@ -1246,7 +1246,7 @@
"show-checklist-at-minicard": "ミニカードでチェックリストを表示",
"show-subtasks-field": "サブタスクフィールドを表示",
"convert-to-markdown": "マークダウンに変換",
"import-board-zip": "Add .zip file that has board JSON files, and board name subdirectories with attachments",
"import-board-zip": "ボードJSONファイルを含む zip ファイルと、添付ファイルを含むボード名サブディレクトリを追加する",
"collapse": "折りたたむ",
"uncollapse": "Uncollapse"
"uncollapse": "展開"
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1248,5 +1248,5 @@
"convert-to-markdown": "轉換為 Markdown",
"import-board-zip": "新增包含看板 JSON 檔案與帶有附件的看板名稱子目錄的 .zip 檔案",
"collapse": "損毀",
"uncollapse": "Uncollapse"
"uncollapse": "展開"
}
-18
View File
@@ -568,12 +568,6 @@ export default {
name: "Română (România)",
load: () => import('./data/ro-RO.i18n.json'),
},
"ru-UA": {
code: "ru",
tag: "ru-UA",
name: "Русский (Украина)",
load: () => import('./data/ru-UA.i18n.json'),
},
"ru": {
code: "ru",
tag: "ru",
@@ -634,18 +628,6 @@ export default {
name: "Türkçe",
load: () => import('./data/tr.i18n.json'),
},
"ua-UA": {
code: "ua",
tag: "ua-UA",
name: "українська (Україна)",
load: () => import('./data/ua-UA.i18n.json'),
},
"ua": {
code: "ua",
tag: "ua",
name: "українська (Україна)",
load: () => import('./data/ua.i18n.json'),
},
"ug": {
code: "ug",
tag: "ug",
+1 -72
View File
@@ -1,72 +1 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-10 12 128 128" style="enable-background:new -10 12 128 128;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.6;fill:#D1D1D1;}
.st1{clip-path:url(#SVGID_2_);fill:url(#SVGID_3_);}
.st2{clip-path:url(#SVGID_2_);fill:none;stroke:#7ADDFC;stroke-miterlimit:10;}
.st3{clip-path:url(#SVGID_2_);fill:none;stroke:#529FDD;stroke-miterlimit:10;}
.st4{clip-path:url(#SVGID_2_);fill:none;}
.st5{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
</style>
<path class="st0" d="M111.3,139.8H1.2c-3.7,0-6.8-3-6.8-6.8V22.8c0-3.7,3-6.8,6.8-6.8h110.1c3.7,0,6.8,3,6.8,6.8v110.3
C118,136.8,115,139.8,111.3,139.8z"/>
<g>
<defs>
<path id="SVGID_1_" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="51.8779" y1="135.7558" x2="51.8779" y2="12">
<stop offset="0" style="stop-color:#007C8F"/>
<stop offset="0.3707" style="stop-color:#007088"/>
<stop offset="1" style="stop-color:#005377"/>
</linearGradient>
<path class="st1" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
<path class="st2" d="M81.3,102.6H21.8c-1.7,0-3-1.3-3-3V46.7c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v52.9
C84.3,101.3,83,102.6,81.3,102.6z"/>
<path class="st3" d="M81.3,38H21.8c-1.7,0-3-1.3-3-3V-2.4c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3V35C84.3,36.7,83,38,81.3,38z"/>
<path class="st3" d="M81.3,151.8H21.8c-1.7,0-3-1.3-3-3v-37.5c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v37.5
C84.3,150.5,83,151.8,81.3,151.8z"/>
<path class="st3" d="M153.1,68.6H93.5c-1.7,0-3-1.3-3-3V-1.2c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v66.9
C156.1,67.3,154.7,68.6,153.1,68.6z"/>
<path class="st3" d="M153.1,158.8H93.5c-1.7,0-3-1.3-3-3V77.3c0-1.7,1.3-3,3-3h59.5c1.7,0,3,1.3,3,3v78.5
C156.1,157.5,154.7,158.8,153.1,158.8z"/>
<path class="st3" d="M9.9,68.6h-59.5c-1.7,0-3-1.3-3-3V-1.2c0-1.7,1.3-3,3-3H9.9c1.7,0,3,1.3,3,3v66.9
C12.9,67.3,11.6,68.6,9.9,68.6z"/>
<path class="st3" d="M9.9,158.8h-59.5c-1.7,0-3-1.3-3-3V77.3c0-1.7,1.3-3,3-3H9.9c1.7,0,3,1.3,3,3v78.5
C12.9,157.5,11.6,158.8,9.9,158.8z"/>
<path class="st4" d="M100.4,135.8H3.3c-7.4,0-13.3-6-13.3-13.3V25.3C-10,18-4,12,3.3,12h97.1c7.4,0,13.3,6,13.3,13.3v97.1
C113.8,129.8,107.8,135.8,100.4,135.8z"/>
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
<path class="st5" d="M74.5,82.3c0.4-0.6,0.7-1.2,1-1.8c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.1,0-0.2c0-0.1-0.7-0.1-0.9,0.1
c-0.2,0.2-0.9,2.3-3.2,4.3c-1.3,1.2-2.8,1.5-4.1,1.4c-1-0.1-1.7-0.7-2.2-1.8c-0.4-1.1-0.5-2.5-0.1-4.2c0.7-3.1,1.5-4.7,2.5-4.7
c0.7,0,0.7,1.2,0.1,3.5c-0.5,1.7-1.2,2.8-2.1,3.4c-0.3,0.2-0.4,0.3-0.4,0.4c0,0.1,0.3,0.1,0.7,0c1.5-0.4,3-1,4.2-1.8
c1.3-0.8,2-1.6,2.3-2.5c0.2-1-0.1-1.8-0.9-2.5c-0.9-0.7-2-1.1-3.3-1.2c-1.3-0.1-2.6,0.2-3.9,0.7c0,0,0.1-0.1,0.1-0.1
c2.1-3.2,3.5-6.2,4.4-9.1c0.9-2.9,0.6-5-0.7-6.4c-0.5-0.4-1.2-0.7-2.2-1c-1.9-0.5-4-1.1-2.4,1c0.2,0.4,0.4,0.8,0.5,1.2
c0.3,1.5,0.2,3.4-0.4,5.7c-0.6,2.3-1.4,4.8-2.6,7.3c-1.2,2.5-2.4,4.8-3.8,6.7c-1.4,2-2.7,3.3-4,4.1c0-0.2-0.1-0.4-0.1-0.5
c0-0.4,0-0.8,0-1.2c0-0.4,0.1-0.7,0.1-1c0.3-2,0.7-4.1,1.1-6.3c0.5-2.2,0.9-4.2,1.4-6c0.3-1.1,0.5-2,0.6-2.5c0.1-0.5,0-1-0.2-1.2
c-0.2-0.3-0.6-0.6-1.3-0.9c-0.4-0.2-0.9-0.5-1.5-0.8c-1.3-0.7-1.3-0.7-1.7,0.6c-0.3,1.2-1,2.8-1.9,5c-0.9,2.2-1.8,4.5-2.9,6.8
c-1.1,2.4-2.1,4.3-3,6c-1,1.6-1.8,2.5-2.4,2.5c-0.1,0-0.2-0.1-0.3-0.3c0-0.1-0.1-0.3-0.1-0.6c0-0.4,0-0.8,0.1-1.2
c0.1-0.4,0.1-0.7,0.2-1c0.3-1.3,0.6-2.9,1.1-4.7c0.5-1.8,0.9-3.6,1.4-5.4c0.5-1.8,0.9-3.2,1.3-4.5c0.5-1.5,0.8-2.6,0.9-3.1
c0.1-0.5-0.2-1-0.8-1.3c-0.5-0.3-1.3-0.7-2.4-1.4c-0.8-0.5-1.2-0.4-2-0.1c-2,0.7-4.1,1.6-6.1,2.6c-2.4,1.2-4.6,2.4-6.4,3.6
c-1.8,1.2-3,2.3-3.5,3.3c-0.6,1.2-0.5,2.4,0.2,3.6c0.4,0.6,0.9,1.2,1.5,1.7c2.5,1.7,1.7,0.7,1.9-1.3c0.1-0.7,0.3-1.4,0.7-2
c0.8-1.4,2.3-3,4.6-4.8c2.3-1.8,4.7-3.2,7.4-4.3c-0.5,1.8-1,3.8-1.6,5.9c-0.6,2.1-1.1,4.2-1.6,6.2c-0.5,2-0.8,3.6-1.1,5
c-0.1,0.7-0.2,1.3-0.2,1.8c0,0.6,0.2,1.1,0.6,1.7c0.4,0.5,0.9,1,1.5,1.3c0.6,0.4,1.2,0.5,1.8,0.5c1.3-0.1,2.5-0.9,3.7-2.6
c1.2-1.6,2.3-3.6,3.3-6c1-2.4,1.9-4.7,2.7-6.9c-0.4,1.8-0.7,3.6-1,5.3c-0.3,1.7-0.5,3.3-0.7,4.6c-0.1,0.7-0.1,1.3-0.1,1.8
c0,0.6,0.3,1.1,0.7,1.7c0.4,0.5,0.9,1,1.5,1.3c0.6,0.3,1.2,0.5,1.9,0.6c1.3,0,3-1.1,5.2-3.4c0.5-0.5,1.1-1.1,1.6-1.7
c-0.1,1.6,0.4,2.8,1.6,3.8c1.4,1.1,3.1,1.6,5,1.7c2,0.1,3.9-0.5,5.5-1.7C72.8,84.4,73.8,83.4,74.5,82.3z"/>
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
<path class="st4" d="M107,135.8H-3.3c-3.7,0-6.8-3-6.8-6.8V18.8C-10,15-7,12-3.3,12H107c3.7,0,6.8,3,6.8,6.7V129
C113.8,132.7,110.7,135.8,107,135.8z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" x="0" y="0" version="1.1" viewBox="-10 12 128 128"><style>.st4{clip-path:url(#SVGID_2_);fill:none}</style><path d="M111.3 139.8H1.2c-3.7 0-6.8-3-6.8-6.8V22.8c0-3.7 3-6.8 6.8-6.8h110.1c3.7 0 6.8 3 6.8 6.8v110.3c-.1 3.7-3.1 6.7-6.8 6.7" style="opacity:.6;fill:#d1d1d1"/><defs><path id="SVGID_1_" d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible"/></clipPath><linearGradient id="SVGID_3_" x1="51.878" x2="51.878" y1="135.756" y2="12" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#007c8f"/><stop offset=".371" style="stop-color:#007088"/><stop offset="1" style="stop-color:#005377"/></linearGradient><path d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8" style="clip-path:url(#SVGID_2_);fill:url(#SVGID_3_)"/><path d="M81.3 102.6H21.8c-1.7 0-3-1.3-3-3V46.7c0-1.7 1.3-3 3-3h59.5c1.7 0 3 1.3 3 3v52.9c0 1.7-1.3 3-3 3z" style="clip-path:url(#SVGID_2_);fill:none;stroke:#7addfc;stroke-miterlimit:10"/><path d="M81.3 38H21.8c-1.7 0-3-1.3-3-3V-2.4c0-1.7 1.3-3 3-3h59.5c1.7 0 3 1.3 3 3V35c0 1.7-1.3 3-3 3zm0 113.8H21.8c-1.7 0-3-1.3-3-3v-37.5c0-1.7 1.3-3 3-3h59.5c1.7 0 3 1.3 3 3v37.5c0 1.7-1.3 3-3 3zm71.8-83.2H93.5c-1.7 0-3-1.3-3-3V-1.2c0-1.7 1.3-3 3-3H153c1.7 0 3 1.3 3 3v66.9c.1 1.6-1.3 2.9-2.9 2.9zm0 90.2H93.5c-1.7 0-3-1.3-3-3V77.3c0-1.7 1.3-3 3-3H153c1.7 0 3 1.3 3 3v78.5c.1 1.7-1.3 3-2.9 3zM9.9 68.6h-59.5c-1.7 0-3-1.3-3-3V-1.2c0-1.7 1.3-3 3-3H9.9c1.7 0 3 1.3 3 3v66.9c0 1.6-1.3 2.9-3 2.9zm0 90.2h-59.5c-1.7 0-3-1.3-3-3V77.3c0-1.7 1.3-3 3-3H9.9c1.7 0 3 1.3 3 3v78.5c0 1.7-1.3 3-3 3z" style="stroke:#529fdd;stroke-miterlimit:10;clip-path:url(#SVGID_2_);fill:none"/><path d="M100.4 135.8H3.3c-7.4 0-13.3-6-13.3-13.3V25.3C-10 18-4 12 3.3 12h97.1c7.4 0 13.3 6 13.3 13.3v97.1c.1 7.4-5.9 13.4-13.3 13.4" class="st4"/><path d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8" class="st4"/><path d="M74.5 82.3c.4-.6.7-1.2 1-1.8 0-.1.1-.2.1-.3V80c0-.1-.7-.1-.9.1s-.9 2.3-3.2 4.3c-1.3 1.2-2.8 1.5-4.1 1.4-1-.1-1.7-.7-2.2-1.8-.4-1.1-.5-2.5-.1-4.2.7-3.1 1.5-4.7 2.5-4.7.7 0 .7 1.2.1 3.5-.5 1.7-1.2 2.8-2.1 3.4-.3.2-.4.3-.4.4s.3.1.7 0c1.5-.4 3-1 4.2-1.8 1.3-.8 2-1.6 2.3-2.5.2-1-.1-1.8-.9-2.5q-1.35-1.05-3.3-1.2c-1.3-.1-2.6.2-3.9.7l.1-.1c2.1-3.2 3.5-6.2 4.4-9.1s.6-5-.7-6.4c-.5-.4-1.2-.7-2.2-1-1.9-.5-4-1.1-2.4 1 .2.4.4.8.5 1.2.3 1.5.2 3.4-.4 5.7s-1.4 4.8-2.6 7.3-2.4 4.8-3.8 6.7c-1.4 2-2.7 3.3-4 4.1 0-.2-.1-.4-.1-.5v-1.2c0-.4.1-.7.1-1 .3-2 .7-4.1 1.1-6.3.5-2.2.9-4.2 1.4-6 .3-1.1.5-2 .6-2.5s0-1-.2-1.2c-.2-.3-.6-.6-1.3-.9-.4-.2-.9-.5-1.5-.8-1.3-.7-1.3-.7-1.7.6-.3 1.2-1 2.8-1.9 5s-1.8 4.5-2.9 6.8c-1.1 2.4-2.1 4.3-3 6-1 1.6-1.8 2.5-2.4 2.5q-.15 0-.3-.3c0-.1-.1-.3-.1-.6 0-.4 0-.8.1-1.2s.1-.7.2-1c.3-1.3.6-2.9 1.1-4.7s.9-3.6 1.4-5.4.9-3.2 1.3-4.5c.5-1.5.8-2.6.9-3.1s-.2-1-.8-1.3c-.5-.3-1.3-.7-2.4-1.4-.8-.5-1.2-.4-2-.1-2 .7-4.1 1.6-6.1 2.6-2.4 1.2-4.6 2.4-6.4 3.6s-3 2.3-3.5 3.3c-.6 1.2-.5 2.4.2 3.6.4.6.9 1.2 1.5 1.7 2.5 1.7 1.7.7 1.9-1.3.1-.7.3-1.4.7-2 .8-1.4 2.3-3 4.6-4.8s4.7-3.2 7.4-4.3c-.5 1.8-1 3.8-1.6 5.9s-1.1 4.2-1.6 6.2-.8 3.6-1.1 5c-.1.7-.2 1.3-.2 1.8 0 .6.2 1.1.6 1.7.4.5.9 1 1.5 1.3.6.4 1.2.5 1.8.5 1.3-.1 2.5-.9 3.7-2.6q1.8-2.4 3.3-6t2.7-6.9c-.4 1.8-.7 3.6-1 5.3s-.5 3.3-.7 4.6c-.1.7-.1 1.3-.1 1.8 0 .6.3 1.1.7 1.7.4.5.9 1 1.5 1.3s1.2.5 1.9.6c1.3 0 3-1.1 5.2-3.4.5-.5 1.1-1.1 1.6-1.7-.1 1.6.4 2.8 1.6 3.8 1.4 1.1 3.1 1.6 5 1.7 2 .1 3.9-.5 5.5-1.7 1.4-.3 2.4-1.3 3.1-2.4" style="clip-path:url(#SVGID_2_);fill:#fff"/><path d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8" class="st4"/><path d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8" class="st4"/><path d="M107 135.8H-3.3c-3.7 0-6.8-3-6.8-6.8V18.8C-10 15-7 12-3.3 12H107c3.7 0 6.8 3 6.8 6.7V129c0 3.7-3.1 6.8-6.8 6.8" class="st4"/></svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

+1 -68
View File
@@ -1,68 +1 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-21 1 150 150" style="enable-background:new -21 1 150 150;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.6;clip-path:url(#SVGID_2_);fill:#D1D1D1;}
.st1{clip-path:url(#SVGID_2_);fill:url(#SVGID_3_);}
.st2{clip-path:url(#SVGID_2_);fill:none;stroke:#7ADDFC;stroke-miterlimit:10;}
.st3{clip-path:url(#SVGID_2_);fill:none;stroke:#529FDD;stroke-miterlimit:10;}
.st4{clip-path:url(#SVGID_2_);fill:none;}
.st5{clip-path:url(#SVGID_2_);fill:#FFFFFF;}
</style>
<g>
<defs>
<rect id="SVGID_1_" x="-21" y="1" width="150" height="150"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
</clipPath>
<path class="st0" d="M127.8,156H-8.7c-3.7,0-6.8-3-6.8-6.8V12.7c0-3.7,3-6.8,6.8-6.8h136.5c3.7,0,6.7,3,6.7,6.8v136.5
C134.5,152.9,131.5,156,127.8,156z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="54" y1="151" x2="54" y2="1">
<stop offset="0" style="stop-color:#007C8F"/>
<stop offset="0.3707" style="stop-color:#007088"/>
<stop offset="1" style="stop-color:#005377"/>
</linearGradient>
<rect x="-21" y="1" class="st1" width="150" height="150"/>
<path class="st2" d="M90.3,110.9H16.9c-1.7,0-3-1.3-3-3V42.4c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v65.4
C93.3,109.5,92,110.9,90.3,110.9z"/>
<path class="st3" d="M90.3,32.6H16.9c-1.7,0-3-1.3-3-3v-46.7c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v46.7
C93.3,31.2,92,32.6,90.3,32.6z"/>
<path class="st3" d="M90.3,170.5H16.9c-1.7,0-3-1.3-3-3v-46.7c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v46.7
C93.3,169.1,92,170.5,90.3,170.5z"/>
<path class="st3" d="M177.3,69.7h-73.4c-1.7,0-3-1.3-3-3v-82.3c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3v82.3
C180.3,68.3,178.9,69.7,177.3,69.7z"/>
<path class="st3" d="M177.3,179h-73.4c-1.7,0-3-1.3-3-3V79.5c0-1.7,1.3-3,3-3h73.4c1.7,0,3,1.3,3,3V176
C180.3,177.6,178.9,179,177.3,179z"/>
<path class="st3" d="M3.8,69.7h-73.4c-1.7,0-3-1.3-3-3v-82.3c0-1.7,1.3-3,3-3H3.8c1.7,0,3,1.3,3,3v82.3C6.8,68.3,5.4,69.7,3.8,69.7
z"/>
<path class="st3" d="M3.8,179h-73.4c-1.7,0-3-1.3-3-3V79.5c0-1.7,1.3-3,3-3H3.8c1.7,0,3,1.3,3,3V176C6.8,177.6,5.4,179,3.8,179z"/>
<path class="st4" d="M115.7,151H-7.7c-7.4,0-13.3-6-13.3-13.3V14.3C-21,7-15,1-7.7,1h123.3C123,1,129,7,129,14.3v123.3
C129,145,123,151,115.7,151z"/>
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1h136.5c3.7,0,6.8,3,6.8,6.8v136.5
C129,148,126,151,122.3,151z"/>
<path class="st5" d="M81.4,86.2c0.5-0.7,0.9-1.5,1.2-2.2c0.1-0.1,0.1-0.2,0.1-0.4c0-0.1,0.1-0.2,0-0.2c0-0.1-0.8-0.1-1.1,0.1
c-0.2,0.2-1.1,2.7-3.9,5.2c-1.6,1.4-3.3,1.9-4.9,1.7c-1.2-0.1-2.1-0.9-2.6-2.2c-0.5-1.4-0.6-3-0.2-5.1c0.8-3.8,1.8-5.7,3.1-5.7
c0.8,0,0.9,1.4,0.1,4.3c-0.6,2-1.5,3.4-2.5,4.1c-0.4,0.2-0.5,0.4-0.5,0.5c0,0.2,0.3,0.2,0.8,0c1.9-0.5,3.6-1.2,5.1-2.1
c1.5-1,2.5-2,2.8-3c0.3-1.2-0.1-2.2-1.1-3c-1-0.8-2.4-1.3-4-1.4c-1.6-0.1-3.2,0.2-4.7,0.9c0-0.1,0.1-0.1,0.1-0.2
c2.5-3.9,4.3-7.5,5.3-11.1c1.1-3.5,0.8-6.1-0.9-7.7c-0.6-0.5-1.5-0.9-2.7-1.2c-2.3-0.6-4.8-1.4-2.9,1.2c0.3,0.5,0.5,1,0.6,1.5
c0.4,1.8,0.3,4.1-0.4,6.9c-0.7,2.8-1.8,5.8-3.2,8.8c-1.4,3-2.9,5.8-4.6,8.2c-1.7,2.4-3.3,4.1-4.9,5c-0.1-0.2-0.1-0.4-0.1-0.6
c0-0.5,0-1,0-1.5c0-0.5,0.1-0.9,0.1-1.2c0.4-2.4,0.8-5,1.4-7.7c0.6-2.7,1.1-5.1,1.6-7.3c0.4-1.4,0.6-2.4,0.7-3.1
c0.1-0.7,0-1.2-0.2-1.5c-0.2-0.3-0.8-0.7-1.6-1.1c-0.5-0.3-1.1-0.6-1.9-1c-1.5-0.9-1.6-0.9-2.1,0.7c-0.4,1.4-1.2,3.4-2.3,6.1
c-1,2.7-2.2,5.4-3.5,8.3c-1.3,2.9-2.5,5.3-3.7,7.2c-1.2,2-2.1,3-2.9,3c-0.2,0-0.3-0.1-0.3-0.3c0-0.2-0.1-0.4-0.1-0.7
c0-0.5,0.1-1,0.1-1.5c0.1-0.5,0.2-0.9,0.2-1.2c0.3-1.6,0.8-3.5,1.3-5.7c0.6-2.2,1.2-4.4,1.7-6.5c0.6-2.1,1.1-3.9,1.5-5.4
c0.6-1.9,1-3.1,1.1-3.8c0.1-0.6-0.3-1.2-1-1.6c-0.6-0.3-1.6-0.9-2.9-1.7c-1-0.6-1.4-0.5-2.4-0.2c-2.5,0.9-4.9,1.9-7.5,3.1
c-3,1.4-5.6,2.9-7.8,4.3c-2.2,1.5-3.6,2.8-4.2,4c-0.7,1.5-0.6,3,0.2,4.4c0.5,0.8,1.1,1.5,1.9,2.1c3,2.1,2,0.9,2.3-1.5
c0.1-0.9,0.4-1.7,0.8-2.4c1-1.7,2.8-3.6,5.6-5.8c2.7-2.1,5.7-3.9,9-5.2c-0.6,2.2-1.2,4.6-1.9,7.2c-0.7,2.6-1.3,5.1-1.9,7.5
c-0.6,2.4-1,4.4-1.3,6c-0.2,0.8-0.2,1.5-0.2,2.2c0,0.7,0.3,1.4,0.7,2.1c0.5,0.7,1.1,1.2,1.8,1.6c0.7,0.4,1.4,0.6,2.2,0.6
c1.6-0.1,3.1-1.1,4.5-3.1c1.5-2,2.8-4.4,4-7.2c1.2-2.8,2.3-5.6,3.2-8.4c-0.5,2.2-0.9,4.4-1.2,6.5c-0.4,2.1-0.6,4-0.8,5.6
c-0.1,0.8-0.1,1.5-0.1,2.2c0.1,0.7,0.4,1.4,0.9,2.1c0.5,0.7,1.1,1.2,1.9,1.6c0.7,0.4,1.5,0.6,2.3,0.7c1.5,0,3.6-1.4,6.3-4.1
c0.6-0.7,1.3-1.4,1.9-2.1c-0.1,1.9,0.5,3.4,2,4.5c1.7,1.3,3.7,2,6.1,2.1c2.4,0.1,4.7-0.7,6.6-2.1C79.4,88.7,80.5,87.5,81.4,86.2z"
/>
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1h136.5c3.7,0,6.8,3,6.8,6.8v136.5
C129,148,126,151,122.3,151z"/>
<path class="st4" d="M122.3,151H-14.3c-3.7,0-6.8-3-6.8-6.8V7.8C-21,4-18,1-14.3,1H129v143.3C129,148,126,151,122.3,151z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" x="0" y="0" version="1.1" viewBox="-21 1 150 150"><style>.st4{clip-path:url(#SVGID_2_);fill:none}</style><defs><path id="SVGID_1_" d="M-21 1h150v150H-21z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible"/></clipPath><path d="M127.8 156H-8.7c-3.7 0-6.8-3-6.8-6.8V12.7c0-3.7 3-6.8 6.8-6.8h136.5c3.7 0 6.7 3 6.7 6.8v136.5c0 3.7-3 6.8-6.7 6.8" style="opacity:.6;clip-path:url(#SVGID_2_);fill:#d1d1d1"/><linearGradient id="SVGID_3_" x1="54" x2="54" y1="151" y2="1" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#007c8f"/><stop offset=".371" style="stop-color:#007088"/><stop offset="1" style="stop-color:#005377"/></linearGradient><path d="M-21 1h150v150H-21z" style="clip-path:url(#SVGID_2_);fill:url(#SVGID_3_)"/><path d="M90.3 110.9H16.9c-1.7 0-3-1.3-3-3V42.4c0-1.7 1.3-3 3-3h73.4c1.7 0 3 1.3 3 3v65.4c0 1.7-1.3 3.1-3 3.1z" style="clip-path:url(#SVGID_2_);fill:none;stroke:#7addfc;stroke-miterlimit:10"/><path d="M90.3 32.6H16.9c-1.7 0-3-1.3-3-3v-46.7c0-1.7 1.3-3 3-3h73.4c1.7 0 3 1.3 3 3v46.7c0 1.6-1.3 3-3 3zm0 137.9H16.9c-1.7 0-3-1.3-3-3v-46.7c0-1.7 1.3-3 3-3h73.4c1.7 0 3 1.3 3 3v46.7c0 1.6-1.3 3-3 3zm87-100.8h-73.4c-1.7 0-3-1.3-3-3v-82.3c0-1.7 1.3-3 3-3h73.4c1.7 0 3 1.3 3 3v82.3c0 1.6-1.4 3-3 3zm0 109.3h-73.4c-1.7 0-3-1.3-3-3V79.5c0-1.7 1.3-3 3-3h73.4c1.7 0 3 1.3 3 3V176c0 1.6-1.4 3-3 3zM3.8 69.7h-73.4c-1.7 0-3-1.3-3-3v-82.3c0-1.7 1.3-3 3-3H3.8c1.7 0 3 1.3 3 3v82.3c0 1.6-1.4 3-3 3zm0 109.3h-73.4c-1.7 0-3-1.3-3-3V79.5c0-1.7 1.3-3 3-3H3.8c1.7 0 3 1.3 3 3V176c0 1.6-1.4 3-3 3z" style="stroke:#529fdd;stroke-miterlimit:10;clip-path:url(#SVGID_2_);fill:none"/><path d="M115.7 151H-7.7c-7.4 0-13.3-6-13.3-13.3V14.3C-21 7-15 1-7.7 1h123.3C123 1 129 7 129 14.3v123.3c0 7.4-6 13.4-13.3 13.4" class="st4"/><path d="M122.3 151H-14.3c-3.7 0-6.8-3-6.8-6.8V7.8C-21 4-18 1-14.3 1h136.5c3.7 0 6.8 3 6.8 6.8v136.5c0 3.7-3 6.7-6.7 6.7" class="st4"/><path d="M81.4 86.2c.5-.7.9-1.5 1.2-2.2.1-.1.1-.2.1-.4 0-.1.1-.2 0-.2 0-.1-.8-.1-1.1.1-.2.2-1.1 2.7-3.9 5.2-1.6 1.4-3.3 1.9-4.9 1.7-1.2-.1-2.1-.9-2.6-2.2-.5-1.4-.6-3-.2-5.1.8-3.8 1.8-5.7 3.1-5.7.8 0 .9 1.4.1 4.3-.6 2-1.5 3.4-2.5 4.1-.4.2-.5.4-.5.5 0 .2.3.2.8 0q2.85-.75 5.1-2.1c1.5-1 2.5-2 2.8-3 .3-1.2-.1-2.2-1.1-3s-2.4-1.3-4-1.4-3.2.2-4.7.9c0-.1.1-.1.1-.2 2.5-3.9 4.3-7.5 5.3-11.1 1.1-3.5.8-6.1-.9-7.7q-.9-.75-2.7-1.2c-2.3-.6-4.8-1.4-2.9 1.2q.45.75.6 1.5c.4 1.8.3 4.1-.4 6.9s-1.8 5.8-3.2 8.8-2.9 5.8-4.6 8.2-3.3 4.1-4.9 5c-.1-.2-.1-.4-.1-.6V87c0-.5.1-.9.1-1.2.4-2.4.8-5 1.4-7.7s1.1-5.1 1.6-7.3c.4-1.4.6-2.4.7-3.1s0-1.2-.2-1.5-.8-.7-1.6-1.1c-.5-.3-1.1-.6-1.9-1-1.5-.9-1.6-.9-2.1.7-.4 1.4-1.2 3.4-2.3 6.1-1 2.7-2.2 5.4-3.5 8.3s-2.5 5.3-3.7 7.2c-1.2 2-2.1 3-2.9 3q-.3 0-.3-.3c0-.2-.1-.4-.1-.7 0-.5.1-1 .1-1.5.1-.5.2-.9.2-1.2.3-1.6.8-3.5 1.3-5.7.6-2.2 1.2-4.4 1.7-6.5q.9-3.15 1.5-5.4c.6-1.9 1-3.1 1.1-3.8.1-.6-.3-1.2-1-1.6-.6-.3-1.6-.9-2.9-1.7-1-.6-1.4-.5-2.4-.2-2.5.9-4.9 1.9-7.5 3.1-3 1.4-5.6 2.9-7.8 4.3-2.2 1.5-3.6 2.8-4.2 4-.7 1.5-.6 3 .2 4.4.5.8 1.1 1.5 1.9 2.1 3 2.1 2 .9 2.3-1.5.1-.9.4-1.7.8-2.4 1-1.7 2.8-3.6 5.6-5.8 2.7-2.1 5.7-3.9 9-5.2-.6 2.2-1.2 4.6-1.9 7.2s-1.3 5.1-1.9 7.5-1 4.4-1.3 6c-.2.8-.2 1.5-.2 2.2s.3 1.4.7 2.1c.5.7 1.1 1.2 1.8 1.6s1.4.6 2.2.6c1.6-.1 3.1-1.1 4.5-3.1 1.5-2 2.8-4.4 4-7.2s2.3-5.6 3.2-8.4c-.5 2.2-.9 4.4-1.2 6.5-.4 2.1-.6 4-.8 5.6-.1.8-.1 1.5-.1 2.2q.15 1.05.9 2.1c.5.7 1.1 1.2 1.9 1.6.7.4 1.5.6 2.3.7 1.5 0 3.6-1.4 6.3-4.1.6-.7 1.3-1.4 1.9-2.1-.1 1.9.5 3.4 2 4.5 1.7 1.3 3.7 2 6.1 2.1s4.7-.7 6.6-2.1c1.9-.6 3-1.8 3.9-3.1" style="clip-path:url(#SVGID_2_);fill:#fff"/><path d="M122.3 151H-14.3c-3.7 0-6.8-3-6.8-6.8V7.8C-21 4-18 1-14.3 1h136.5c3.7 0 6.8 3 6.8 6.8v136.5c0 3.7-3 6.7-6.7 6.7" class="st4"/><path d="M122.3 151H-14.3c-3.7 0-6.8-3-6.8-6.8V7.8C-21 4-18 1-14.3 1H129v143.3c0 3.7-3 6.7-6.7 6.7" class="st4"/></svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

+1 -34
View File
@@ -1,34 +1 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-62 64 24 24" style="enable-background:new -62 64 24 24;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
.st1{fill:#FFFFFF;}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-50" y1="88" x2="-50" y2="64">
<stop offset="0" style="stop-color:#007C8F"/>
<stop offset="0.3707" style="stop-color:#007088"/>
<stop offset="1" style="stop-color:#005377"/>
</linearGradient>
<path class="st0" d="M-39.2,88h-21.7c-0.6,0-1.2-0.5-1.2-1.2V65.2c0-0.6,0.5-1.2,1.2-1.2h21.7c0.6,0,1.2,0.5,1.2,1.2v21.7
C-38,87.5-38.5,88-39.2,88z"/>
<path class="st1" d="M-40.3,79.8c0.2-0.2,0.3-0.5,0.4-0.8c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0-0.3,0-0.4,0
c-0.1,0.1-0.4,0.9-1.3,1.8c-0.5,0.5-1.1,0.6-1.7,0.6c-0.4,0-0.7-0.3-0.9-0.8c-0.2-0.5-0.2-1-0.1-1.7c0.3-1.3,0.6-1.9,1.1-1.9
c0.3,0,0.3,0.5,0,1.5c-0.2,0.7-0.5,1.2-0.9,1.4c-0.1,0.1-0.2,0.1-0.2,0.2c0,0.1,0.1,0.1,0.3,0c0.6-0.2,1.2-0.4,1.8-0.7
c0.5-0.3,0.8-0.7,0.9-1c0.1-0.4,0-0.7-0.4-1c-0.4-0.3-0.8-0.5-1.4-0.5c-0.6,0-1.1,0.1-1.6,0.3c0,0,0,0,0-0.1
c0.9-1.3,1.5-2.6,1.8-3.8c0.4-1.2,0.3-2.1-0.3-2.6c-0.2-0.2-0.5-0.3-0.9-0.4c-0.8-0.2-1.6-0.5-1,0.4c0.1,0.2,0.2,0.3,0.2,0.5
c0.1,0.6,0.1,1.4-0.1,2.4c-0.2,1-0.6,2-1.1,3c-0.5,1-1,2-1.6,2.8c-0.6,0.8-1.1,1.4-1.7,1.7c0-0.1,0-0.1,0-0.2c0-0.2,0-0.3,0-0.5
c0-0.2,0-0.3,0-0.4c0.1-0.8,0.3-1.7,0.5-2.6c0.2-0.9,0.4-1.8,0.6-2.5c0.1-0.5,0.2-0.8,0.3-1.1c0-0.2,0-0.4-0.1-0.5
c-0.1-0.1-0.3-0.2-0.5-0.4c-0.2-0.1-0.4-0.2-0.6-0.3c-0.5-0.3-0.6-0.3-0.7,0.2c-0.1,0.5-0.4,1.2-0.8,2.1c-0.4,0.9-0.8,1.9-1.2,2.8
c-0.4,1-0.9,1.8-1.3,2.5c-0.4,0.7-0.7,1-1,1c-0.1,0-0.1,0-0.1-0.1c0-0.1,0-0.1,0-0.2c0-0.2,0-0.3,0-0.5c0-0.2,0.1-0.3,0.1-0.4
c0.1-0.5,0.3-1.2,0.5-1.9s0.4-1.5,0.6-2.2c0.2-0.7,0.4-1.3,0.5-1.8c0.2-0.6,0.3-1.1,0.4-1.3c0-0.2-0.1-0.4-0.4-0.5
c-0.2-0.1-0.5-0.3-1-0.6c-0.3-0.2-0.5-0.2-0.8-0.1c-0.8,0.3-1.7,0.7-2.5,1.1c-1,0.5-1.9,1-2.6,1.5c-0.8,0.5-1.2,1-1.4,1.4
c-0.2,0.5-0.2,1,0.1,1.5c0.2,0.3,0.4,0.5,0.6,0.7c1,0.7,0.7,0.3,0.8-0.5c0-0.3,0.1-0.6,0.3-0.8c0.3-0.6,1-1.2,1.9-2
c0.9-0.7,2-1.3,3.1-1.8c-0.2,0.8-0.4,1.6-0.7,2.5c-0.2,0.9-0.5,1.7-0.7,2.6c-0.2,0.8-0.3,1.5-0.4,2.1c-0.1,0.3-0.1,0.5-0.1,0.8
c0,0.2,0.1,0.5,0.3,0.7c0.2,0.2,0.4,0.4,0.6,0.6c0.2,0.1,0.5,0.2,0.7,0.2c0.5,0,1-0.4,1.5-1.1c0.5-0.7,1-1.5,1.4-2.5
c0.4-1,0.8-1.9,1.1-2.9c-0.2,0.7-0.3,1.5-0.4,2.2c-0.1,0.7-0.2,1.4-0.3,1.9c0,0.3,0,0.5,0,0.8c0,0.2,0.1,0.5,0.3,0.7
c0.2,0.2,0.4,0.4,0.6,0.5c0.2,0.1,0.5,0.2,0.8,0.2c0.5,0,1.2-0.5,2.1-1.4c0.2-0.2,0.4-0.5,0.7-0.7c0,0.7,0.2,1.2,0.7,1.6
c0.6,0.4,1.3,0.7,2.1,0.7c0.8,0,1.6-0.2,2.3-0.7C-41,80.7-40.6,80.3-40.3,79.8z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="-62 64 24 24"><linearGradient id="a" x1="-50" x2="-50" y1="88" y2="64" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#007c8f"/><stop offset=".371" style="stop-color:#007088"/><stop offset="1" style="stop-color:#005377"/></linearGradient><path d="M-39.2 88h-21.7c-.6 0-1.2-.5-1.2-1.2V65.2c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v21.7c0 .6-.5 1.1-1.2 1.1" style="fill:url(#a)"/><path d="M-40.3 79.8c.2-.2.3-.5.4-.8v-.2h-.4c-.1.1-.4.9-1.3 1.8-.5.5-1.1.6-1.7.6-.4 0-.7-.3-.9-.8s-.2-1-.1-1.7c.3-1.3.6-1.9 1.1-1.9q.45 0 0 1.5c-.2.7-.5 1.2-.9 1.4-.1.1-.2.1-.2.2q0 .15.3 0c.6-.2 1.2-.4 1.8-.7.5-.3.8-.7.9-1 .1-.4 0-.7-.4-1s-.8-.5-1.4-.5-1.1.1-1.6.3v-.1c.9-1.3 1.5-2.6 1.8-3.8.4-1.2.3-2.1-.3-2.6-.2-.2-.5-.3-.9-.4-.8-.2-1.6-.5-1 .4.1.2.2.3.2.5.1.6.1 1.4-.1 2.4s-.6 2-1.1 3-1 2-1.6 2.8-1.1 1.4-1.7 1.7v-1.1c.1-.8.3-1.7.5-2.6s.4-1.8.6-2.5c.1-.5.2-.8.3-1.1 0-.2 0-.4-.1-.5s-.3-.2-.5-.4l-.6-.3c-.5-.3-.6-.3-.7.2s-.4 1.2-.8 2.1-.8 1.9-1.2 2.8c-.4 1-.9 1.8-1.3 2.5s-.7 1-1 1c-.1 0-.1 0-.1-.1v-.7c0-.2.1-.3.1-.4.1-.5.3-1.2.5-1.9s.4-1.5.6-2.2.4-1.3.5-1.8c.2-.6.3-1.1.4-1.3 0-.2-.1-.4-.4-.5-.2-.1-.5-.3-1-.6-.3-.2-.5-.2-.8-.1-.8.3-1.7.7-2.5 1.1-1 .5-1.9 1-2.6 1.5-.8.5-1.2 1-1.4 1.4-.2.5-.2 1 .1 1.5.2.3.4.5.6.7 1 .7.7.3.8-.5 0-.3.1-.6.3-.8.3-.6 1-1.2 1.9-2 .9-.7 2-1.3 3.1-1.8-.2.8-.4 1.6-.7 2.5-.2.9-.5 1.7-.7 2.6-.2.8-.3 1.5-.4 2.1-.1.3-.1.5-.1.8 0 .2.1.5.3.7l.6.6c.2.1.5.2.7.2.5 0 1-.4 1.5-1.1s1-1.5 1.4-2.5.8-1.9 1.1-2.9c-.2.7-.3 1.5-.4 2.2s-.2 1.4-.3 1.9v.8c0 .2.1.5.3.7s.4.4.6.5.5.2.8.2c.5 0 1.2-.5 2.1-1.4.2-.2.4-.5.7-.7 0 .7.2 1.2.7 1.6.6.4 1.3.7 2.1.7s1.6-.2 2.3-.7c.5-.6.9-1 1.2-1.5" style="fill:#fff"/></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 103 KiB

+14
View File
@@ -640,11 +640,19 @@ Boards.attachSchema(
Boards.helpers({
copy() {
const oldId = this._id;
const oldWatchers = this.watchers ? this.watchers.slice() : [];
delete this._id;
delete this.slug;
this.title = this.copyTitle();
const _id = Boards.insert(this);
// Temporary remove watchers to disable notifications
Boards.update(_id, {
$set: {
watchers: []
},
});
// Copy all swimlanes in board
ReactiveCache.getSwimlanes({
boardId: oldId,
@@ -695,6 +703,12 @@ Boards.helpers({
rule.triggerId = triggersMap[rule.triggerId];
Rules.insert(rule);
});
// Re-set Watchers to reenable notification
Boards.update(_id, {
$set: { watchers: oldWatchers }
});
return _id;
},
/**
+3 -2
View File
@@ -348,9 +348,10 @@ export class Exporter {
const dropdownOptions = result.customFields.find(
({ _id }) => _id === field._id,
).settings.dropdownItems;
const fieldValue = dropdownOptions.find(
const fieldObj = dropdownOptions.find(
({ _id }) => _id === field.value,
).name;
);
const fieldValue = (fieldObj && fieldObj.name) || null;
customFieldValuesToPush[customFieldMap[field._id].position] =
fieldValue;
} else {
+1 -4
View File
@@ -146,7 +146,7 @@ Lists.attachSchema(
*/
type: String,
optional: true,
// silver is the default, so it is left out
// silver is the default
allowedValues: ALLOWED_COLORS,
},
type: {
@@ -352,9 +352,6 @@ Lists.mutations({
},
setColor(newColor) {
if (newColor === 'silver') {
newColor = null;
}
return {
$set: {
color: newColor,
+1 -4
View File
@@ -70,7 +70,7 @@ Swimlanes.attachSchema(
*/
type: String,
optional: true,
// silver is the default, so it is left out
// silver is the default
allowedValues: ALLOWED_COLORS,
},
updatedAt: {
@@ -308,9 +308,6 @@ Swimlanes.mutations({
},
setColor(newColor) {
if (newColor === 'silver') {
newColor = null;
}
return {
$set: {
color: newColor,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v7.44.0",
"version": "v7.48.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v7.44.0",
"version": "v7.48.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

+4 -4
View File
@@ -7,7 +7,7 @@
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Wekan REST API v7.44</title>
<title>Wekan REST API v7.48</title>
<style>
</style>
@@ -1496,7 +1496,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
</span>
</a>
<div class="toc-wrapper">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAAAcCAYAAABxutG8AAAG6klEQVR4Ad3aA4xkSxcA4LvefbZt27Zt27Zt27Zt27bttWe2R9+vTionlZs7760m/5eMutDVXV11T507RUeD7rgAL+AQzIlx/mYfp6OGs4oOAp3QEz3Er65FR4NO2EL0GhZtZ/t50IhWXFJ0EFgDd+LW9OUWHFd0RJgSr4lewGTVbZ2BFjRh16KDwHNKjEynE+MkfIz7MP0o3pJuEQ3FChXtxsdLgEYs+385CVgQ98rVcAy6jaIt6Vq5DSraLYM/AMMxbdFB4NmRmgRMhtXyjgxATXQ7xs37sA7WxQRFBXTDzXLrVLTbXTK0qNbxJwGTYVe8IPoFF2F3fC96BZPnffkG8AQ2ROeKre4JUV8sVd5GL1wn+an4BzAJFsE62Aa7YM1Ubgbsgz2xF3ajOsLBS397ErAj3kKrpBVnYf56nfXQKLqAOCgsjKGSRhyDTiXPPQs+Fb1F+faCKfCJ5NmindAT2+FuvIufMBBNgA8wSb3u/nIzFBVwIHrjN/wqfT2ZV2Z6vI5W0ZdYHF3Svu1EUSO2yvt0DlpEr5etBiyFmuiKihc5q+jqoh1wFP5ETbkfMG+9/pFys9XL5sI9eLH+9TKextToivHlX73SYOiMA+SacTe6xMGbCI+LvsHc+ZbmHbmLyVcCOmMv0WBsWPFmbik6qryuzlgLfbXP95irfBLMXi/bGTW5tYsqmAp3yfXD/iVtZkQ/0XN5PRtgmNxG5eFpNrmfVO27uEy0ZUm9qXGt9mlDA55XDzawG2oYjCFoxLRpC9cgt1bVBIyH5+V+oXwGsZqoBafFOnrgMrkRmKv8oJbZr6iAj0VL53XMibeU+wtP4WIcgm2xERaKF27rSdHemug0spNwhtwgLF/R7lxRA/EwhWnRW+49TF3S76Gi34t2kJsulpsDf8oNwaVYETNgYnQv/gHshMaq0DqDPnJbFBXwiah/EYSlO0h0c1lSDn9Vb1sR5ifKgw0DRV9h62IUwjrohza0og2wUFXDBtEtRQVMJHdffur1AT7EANGRJf1uIXqpaAfsIWpIZSbFx4A2fDSK3/wA3dAT3du9onCHaNLqNraV2yq/ZmjAtaJh2KSk3w8kfbEoZsKyWBiTlLS7RvRlusi7GjAYJ2CidqZmNsEGWBVz5uGwlbEptsYa+YfUWtgOUxVVMDsGp8FXw30yMVWBD/E6zhN9jwVKVsEIyXd4AZ9hdzyBT3EFxottvS96qv74+oBvqE7mYUu8gB9wDn5AX3yHK9ELe+Nb9MYwtOCG1Icd8C4Ghg9nFayEgXi3nfWHi96J5VYA7CgPN9/G+HnKwXOiNsB+GBf3AdrwNWnS0Si6Gl3wM77GHBWvZwI8ghGAlzAefhcthXvktq33c5g4luFhlVTBdNihup755I6JdTyF3zEhfhQ9nPdpczTKDUQnTIpXJc04OJ1xtIgOx8EYWrUCMCmelDThYEyL/qIV8KrcLFgdraIvMFcxqmFfuYVTueVQw26YXtSCU/JknVfk4HJ0wowYKmnD7mnVaRXtiYHYvzpl7lzRX5gSO6MxTo4Z8LXcePgKI0RPolcxquEuUT9MmNIBrsEf6IGlRSOwWezPIcrUUxXYVPSC+ovDrvkkeAYNVUEGFgYgJv5wu+g1dMcg0Yc4Fp/jCUkbLowXe4sVowI+Fj2iHvNjAdSwS/3v7UXDMU88QGlTpn4Bx2eSq0gRDh6Va0Ir7qX8JhMekNseU+FT0Tn1NjXRYxiK9fCBZBi2Kerw3ijZmjBdvsc7AV3RDVfgS/XTME4UDU596YJfAM1oEfXGdDgD8AmWi+OxNP5UDi4oi9flYDysj49QAwzBxhgPTaIG3IS50Srpk7Krlse7xaiAxfBnyZYxH9qwY6rvYtEP6UDjgTRYp+JL0a84AVeU5IHGxVVoUe3IkADMxpadL86uf/UDfIMZMBua5GbBRqKvY6BixWJUwLxxEgzFEuiG9/EEepbngbxVf/wqwGBshe54C/l2VAIn4hR8I6phqNyZmDzF8p6Suwzj437sjAGAF1Mor1n0Qb1sF9Gt6V9d3FiMSnhSMgjr4UH8iWnypJm/JL/gfkA/UsIPW8tdnz+/cXAXTsX0+EpuPfwp9yFewnOYBu+IDsY2uAiLYhBacVk6pGojT8FgddHR6IQrMEsxKmECfJRvHaYrqb8mBojexqwlCbBG0cWYFfPgZPyFrdMtTd/LzYAp8bzc1+kumanxnWQY3k6Bhh8BL+MUXCi3ULol6yvJK7g0vxk16s8L9+ModK6+aeQ03Ied0akiAXYMPsEwSR9cnJ+2HYs38DN6o2+MwGyHj9APt2GyfGU5Cg/gVHSNK9lX+BIroSt2xWW4C5divPiB8xUa8H3MAJf7Fykvx9WyNCXUAAAAAElFTkSuQmCC" class="logo" alt="Logo">
<img src="data:image/png;base64,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" class="logo" alt="Logo">
<div class="lang-selector">
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.44">Wekan REST API v7.44</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.48">Wekan REST API v7.48</a>
</li>
@@ -2067,7 +2067,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v7.44</h1>
<h1 id="wekan-rest-api">Wekan REST API v7.48</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v7.44
version: v7.48
description: |
The REST API allows you to control and extend Wekan with ease.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 19 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Loaded 100 of 201 files, more files were not shown because too many files have changed in this diff. Show more