mirror of
https://github.com/wekan/wekan.git
synced 2026-11-14 14:44:59 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f96c1eda70 | ||
|
|
e9bbbb6a04 | ||
|
|
efcdbf2e3d | ||
|
|
6e12e2fa59 | ||
|
|
a31ece0974 | ||
|
|
06d85b66f1 | ||
|
|
af830812db |
No files matched your search
@@ -1,3 +1,17 @@
|
||||
# v3.22 2019-08-20 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Wrap minicard text labels to multiple rows](https://github.com/wekan/wekan/commit/af830812dbbf7d766a754d937308b11373c66e5a).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: Some users cannot switch views or languages](https://github.com/wekan/wekan/issues/2630).
|
||||
Thanks to xet7 and justinr1234.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.21 2019-08-16 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v3.21.0"
|
||||
appVersion: "v3.22.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
.minicard-labels
|
||||
float: right
|
||||
display: flex
|
||||
flex-wrap: wrap
|
||||
|
||||
.minicard-label
|
||||
width: 11px
|
||||
|
||||
+2
-2
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "Kein Label",
|
||||
"filter-no-member": "Kein Mitglied",
|
||||
"filter-no-custom-fields": "Keine benutzerdefinierten Felder",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "Archivierte Listen anzeigen",
|
||||
"filter-hide-empty": "Leere Listen verstecken",
|
||||
"filter-on": "Filter ist aktiv",
|
||||
"filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken Sie, um den Filter zu bearbeiten.",
|
||||
"filter-to-selection": "Ergebnisse auswählen",
|
||||
|
||||
+4
-4
@@ -73,8 +73,8 @@
|
||||
"activity-unchecked-item-card": "a décoché %s dans la checklist %s",
|
||||
"activity-checklist-completed-card": "a complété la checklist __checklist__ de la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"activity-checklist-uncompleted-card": "a rendu incomplète la checklist %s",
|
||||
"activity-editComment": "edited comment %s",
|
||||
"activity-deleteComment": "deleted comment %s",
|
||||
"activity-editComment": "commentaire modifié %s",
|
||||
"activity-deleteComment": "commentaire supprimé %s",
|
||||
"add-attachment": "Ajouter une pièce jointe",
|
||||
"add-board": "Ajouter un tableau",
|
||||
"add-card": "Ajouter une carte",
|
||||
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "Aucune étiquette",
|
||||
"filter-no-member": "Aucun participant",
|
||||
"filter-no-custom-fields": "Pas de champs personnalisés",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "Montrer les listes archivées",
|
||||
"filter-hide-empty": "Cacher les listes vides",
|
||||
"filter-on": "Le filtre est actif",
|
||||
"filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour modifier les filtres.",
|
||||
"filter-to-selection": "Filtre vers la sélection",
|
||||
|
||||
+2
-2
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "אין תווית",
|
||||
"filter-no-member": "אין חבר כזה",
|
||||
"filter-no-custom-fields": "אין שדות מותאמים אישית",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "הצגת רשימות שהועברו לארכיון",
|
||||
"filter-hide-empty": "הסתרת רשימות ריקות",
|
||||
"filter-on": "המסנן פועל",
|
||||
"filter-on-desc": "מסנן כרטיסים פעיל בלוח זה. יש ללחוץ כאן לעריכת המסנן.",
|
||||
"filter-to-selection": "סינון לבחירה",
|
||||
|
||||
+4
-4
@@ -73,8 +73,8 @@
|
||||
"activity-unchecked-item-card": "odznaczono %s w liście zadań %s",
|
||||
"activity-checklist-completed-card": "wykonał(a) wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"activity-checklist-uncompleted-card": "wycofano ukończenie listy zadań %s",
|
||||
"activity-editComment": "edited comment %s",
|
||||
"activity-deleteComment": "deleted comment %s",
|
||||
"activity-editComment": "edytował(a) komentarz %s",
|
||||
"activity-deleteComment": "usunął/ęła komentarz %s",
|
||||
"add-attachment": "Dodaj załącznik",
|
||||
"add-board": "Dodaj tablicę",
|
||||
"add-card": "Dodaj kartę",
|
||||
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "Brak etykiety",
|
||||
"filter-no-member": "Brak członków",
|
||||
"filter-no-custom-fields": "Brak niestandardowych pól",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "Pokaż zarchiwizowane listy",
|
||||
"filter-hide-empty": "Ukryj puste listy",
|
||||
"filter-on": "Filtr jest włączony",
|
||||
"filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.",
|
||||
"filter-to-selection": "Odfiltruj zaznaczenie",
|
||||
|
||||
+11
-11
@@ -5,7 +5,7 @@
|
||||
"act-deleteAttachment": "удалил вложение __attachment__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addSubtask": "добавил подзадачу __subtask__ для карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addedLabel": "Добавлена метка __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addedLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-removedLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addChecklist": "добавил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "Нет метки",
|
||||
"filter-no-member": "Нет участников",
|
||||
"filter-no-custom-fields": "Нет настраиваемых полей",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "Показать архивные списки",
|
||||
"filter-hide-empty": "Скрыть пустые списки",
|
||||
"filter-on": "Включен фильтр",
|
||||
"filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
@@ -712,10 +712,10 @@
|
||||
"delete-all": "Удалить все",
|
||||
"loading": "Идет загрузка, пожалуйста подождите",
|
||||
"previous_as": "в прошлый раз был",
|
||||
"act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__",
|
||||
"act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)",
|
||||
"act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)",
|
||||
"act-a-receivedAt": "modified received time to __timeValue__ from (__timeOldValue__)",
|
||||
"act-a-dueAt": "изменил срок выполнения \nСтало: __timeValue__\nВ карточке: __card__\nранее было __timeOldValue__",
|
||||
"act-a-endAt": "изменил время завершения на __timeValue__, было (__timeOldValue__)",
|
||||
"act-a-startAt": "изменил время начала на __timeValue__, было (__timeOldValue__)",
|
||||
"act-a-receivedAt": "изменил время получения на __timeValue__, было (__timeOldValue__)",
|
||||
"a-dueAt": "изменил срок выполнения на",
|
||||
"a-endAt": "изменил время завершения на",
|
||||
"a-startAt": "изменил время начала работы на",
|
||||
@@ -723,10 +723,10 @@
|
||||
"almostdue": "текущий срок выполнения %s приближается",
|
||||
"pastdue": "текущий срок выполнения %s прошел",
|
||||
"duenow": "текущий срок выполнения %s сегодня",
|
||||
"act-withDue": "__card__ due reminders [__board__]",
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-withDue": "__card__ напоминания о сроке выполнения [__board__]",
|
||||
"act-almostdue": "напомнил, что скоро завершается срок выполнения (__timeValue__) карточки __card__",
|
||||
"act-pastdue": "напомнил, что срок выполнения (__timeValue__) карточки __card__ прошел",
|
||||
"act-duenow": "напомнил, что срок выполнения (__timeValue__) карточки __card__ — это уже сейчас",
|
||||
"act-atUserComment": "Вас упомянули в [__board__] __card__",
|
||||
"delete-user-confirm-popup": "Вы уверены, что хотите удалить аккаунт? Данное действие необратимо.",
|
||||
"accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
|
||||
|
||||
@@ -306,8 +306,8 @@
|
||||
"filter-no-label": "无标签",
|
||||
"filter-no-member": "无成员",
|
||||
"filter-no-custom-fields": "无自定义字段",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "显示归档的列表",
|
||||
"filter-hide-empty": "隐藏空列表",
|
||||
"filter-on": "过滤器启用",
|
||||
"filter-on-desc": "你正在过滤该看板上的卡片,点此编辑过滤。",
|
||||
"filter-to-selection": "要选择的过滤器",
|
||||
|
||||
+33
-3
@@ -257,10 +257,40 @@ Users.attachSchema(
|
||||
}),
|
||||
);
|
||||
|
||||
Users.before.update(function(userId, fieldNames) {
|
||||
const user = Users.findOne({ _id: userId });
|
||||
if ((user && user.isAdmin) || (Meteor.user() && Meteor.user().isAdmin)) {
|
||||
return true;
|
||||
}
|
||||
if (!user) {
|
||||
return false;
|
||||
}
|
||||
if (_.contains(fieldNames, 'services')) {
|
||||
return false;
|
||||
}
|
||||
if (_.contains(fieldNames, 'heartBeat')) {
|
||||
return false;
|
||||
}
|
||||
if (_.contains(fieldNames, 'isAdmin')) {
|
||||
return false;
|
||||
}
|
||||
if (_.contains(fieldNames, 'loginDisabled')) {
|
||||
return false;
|
||||
}
|
||||
if (_.contains(fieldNames, 'authenticationMethod')) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
Users.allow({
|
||||
update(userId) {
|
||||
const user = Users.findOne(userId);
|
||||
return user && Meteor.user().isAdmin; // GitHub issue #2590
|
||||
update(userId, doc) {
|
||||
const user = Users.findOne({ _id: userId });
|
||||
if ((user && user.isAdmin) || (Meteor.user() && Meteor.user().isAdmin))
|
||||
return true;
|
||||
if (!user) {
|
||||
return false;
|
||||
}
|
||||
return doc._id === userId;
|
||||
},
|
||||
remove(userId, doc) {
|
||||
const adminsNumber = Users.find({ isAdmin: true }).count();
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.21.0",
|
||||
"version": "v3.22.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1524,7 +1524,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 v3.20">Wekan REST API v3.20</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.21">Wekan REST API v3.21</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2017,7 +2017,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 v3.20</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v3.21</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,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v3.20
|
||||
version: v3.21
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 323,
|
||||
appVersion = 324,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "3.21.0~2019-08-16"),
|
||||
appMarketingVersion = (defaultText = "3.22.0~2019-08-20"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
Reference in new issue
Block a user