Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5bb794e3bb | ||
|
|
ee73e04004 | ||
|
|
672be413f7 | ||
|
|
b0ba57a165 | ||
|
|
79c2301ad5 | ||
|
|
b2c7be244e | ||
|
|
8f8c045930 | ||
|
|
21ffff3977 | ||
|
|
7d1bca3702 | ||
|
|
d93a58d892 | ||
|
|
99d9291a28 | ||
|
|
bda166ba50 | ||
|
|
f190a102f9 | ||
|
|
d0ba89d913 | ||
|
|
cb4f3c8895 | ||
|
|
fd003f4402 | ||
|
|
3a22d4efdc | ||
|
|
48c763dbe3 | ||
|
|
10a9aef974 | ||
|
|
eecb143977 | ||
|
|
767bbc5195 | ||
|
|
b107fb0017 | ||
|
|
a94cc5351f | ||
|
|
7865368153 |
No files matched your search
@@ -20,6 +20,30 @@ Note:
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v7.04 2023-08-03 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix edit_swimlane](https://github.com/wekan/wekan/pull/5055).
|
||||
Thanks to Pandetthe.
|
||||
. [Login layout fixes 2](https://github.com/wekan/wekan/pull/5056).
|
||||
Thanks to nebulade.
|
||||
- [Do not open preview for attachments that cannot be previewed](https://github.com/wekan/wekan/pull/5058).
|
||||
Thanks to VidVidex.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.03 2023-08-02 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix return value of edit_custom_field_dropdown_item](https://github.com/wekan/wekan/pull/5047).
|
||||
Thanks to Pandetthe.
|
||||
- [Move authentication UI handling in correct place](https://github.com/wekan/wekan/pull/5049).
|
||||
Thanks to nebulade.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.02 2023-08-02 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: "v7.02.0"
|
||||
appVersion: "v7.04.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -35,24 +35,24 @@ Template.attachmentGallery.events({
|
||||
},
|
||||
'click .js-rename': Popup.open('attachmentRename'),
|
||||
'click .js-confirm-delete': Popup.afterConfirm('attachmentDelete', function() {
|
||||
Attachments.remove(this._id);
|
||||
Popup.back(2);
|
||||
Attachments.remove(this._id);
|
||||
Popup.back(2);
|
||||
}),
|
||||
});
|
||||
|
||||
function getNextAttachmentId(currentAttachmentId) {
|
||||
function getNextAttachmentId(currentAttachmentId, offset = 0) {
|
||||
const attachments = ReactiveCache.getAttachments({'meta.cardId': cardId});
|
||||
|
||||
let i = 0;
|
||||
for (; i < attachments.length; i++) {
|
||||
if (attachments[i]._id === currentAttachmentId) {
|
||||
break;
|
||||
}
|
||||
let i = 0;
|
||||
for (; i < attachments.length; i++) {
|
||||
if (attachments[i]._id === currentAttachmentId) {
|
||||
break;
|
||||
}
|
||||
return attachments[(i + 1 + attachments.length) % attachments.length]._id;
|
||||
}
|
||||
return attachments[(i + offset + 1 + attachments.length) % attachments.length]._id;
|
||||
}
|
||||
|
||||
function getPrevAttachmentId(currentAttachmentId) {
|
||||
function getPrevAttachmentId(currentAttachmentId, offset = 0) {
|
||||
const attachments = ReactiveCache.getAttachments({'meta.cardId': cardId});
|
||||
|
||||
let i = 0;
|
||||
@@ -61,52 +61,70 @@ function getPrevAttachmentId(currentAttachmentId) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return attachments[(i - 1 + attachments.length) % attachments.length]._id;
|
||||
return attachments[(i + offset - 1 + attachments.length) % attachments.length]._id;
|
||||
}
|
||||
|
||||
function openAttachmentViewer(attachmentId){
|
||||
function attachmentCanBeOpened(attachment) {
|
||||
return (
|
||||
attachment.isImage ||
|
||||
attachment.isPDF ||
|
||||
attachment.isText ||
|
||||
attachment.isJSON ||
|
||||
attachment.isVideo ||
|
||||
attachment.isAudio
|
||||
);
|
||||
}
|
||||
|
||||
const attachment = ReactiveCache.getAttachment(attachmentId);
|
||||
function openAttachmentViewer(attachmentId) {
|
||||
const attachment = ReactiveCache.getAttachment(attachmentId);
|
||||
|
||||
$("#attachment-name").text(attachment.name);
|
||||
// Check if we can open the attachment (if we have a viewer for it) and exit if not
|
||||
if (!attachmentCanBeOpened(attachment)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// IMPORTANT: if you ever add a new viewer, make sure you also implement
|
||||
// cleanup in the closeAttachmentViewer() function
|
||||
switch(true){
|
||||
case (attachment.isImage):
|
||||
$("#image-viewer").attr("src", attachment.link());
|
||||
$("#image-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isPDF):
|
||||
$("#pdf-viewer").attr("data", attachment.link());
|
||||
$("#pdf-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isVideo):
|
||||
// We have to create a new <source> DOM element and append it to the video
|
||||
// element, otherwise the video won't load
|
||||
let videoSource = document.createElement('source');
|
||||
videoSource.setAttribute('src', attachment.link());
|
||||
$("#video-viewer").append(videoSource);
|
||||
/*
|
||||
Instructions for adding a new viewer:
|
||||
- add a new case to the switch statement below
|
||||
- implement cleanup in the closeAttachmentViewer() function, if necessary
|
||||
- mark attachment type as openable by adding a new condition to the attachmentCanBeOpened function
|
||||
*/
|
||||
switch(true){
|
||||
case (attachment.isImage):
|
||||
$("#image-viewer").attr("src", attachment.link());
|
||||
$("#image-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isPDF):
|
||||
$("#pdf-viewer").attr("data", attachment.link());
|
||||
$("#pdf-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isVideo):
|
||||
// We have to create a new <source> DOM element and append it to the video
|
||||
// element, otherwise the video won't load
|
||||
let videoSource = document.createElement('source');
|
||||
videoSource.setAttribute('src', attachment.link());
|
||||
$("#video-viewer").append(videoSource);
|
||||
|
||||
$("#video-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isAudio):
|
||||
// We have to create a new <source> DOM element and append it to the audio
|
||||
// element, otherwise the audio won't load
|
||||
let audioSource = document.createElement('source');
|
||||
audioSource.setAttribute('src', attachment.link());
|
||||
$("#audio-viewer").append(audioSource);
|
||||
$("#video-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isAudio):
|
||||
// We have to create a new <source> DOM element and append it to the audio
|
||||
// element, otherwise the audio won't load
|
||||
let audioSource = document.createElement('source');
|
||||
audioSource.setAttribute('src', attachment.link());
|
||||
$("#audio-viewer").append(audioSource);
|
||||
|
||||
$("#audio-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isText):
|
||||
case (attachment.isJSON):
|
||||
$("#txt-viewer").attr("data", attachment.link());
|
||||
$("#txt-viewer").removeClass("hidden");
|
||||
break;
|
||||
}
|
||||
$("#audio-viewer").removeClass("hidden");
|
||||
break;
|
||||
case (attachment.isText):
|
||||
case (attachment.isJSON):
|
||||
$("#txt-viewer").attr("data", attachment.link());
|
||||
$("#txt-viewer").removeClass("hidden");
|
||||
break;
|
||||
}
|
||||
|
||||
$("#viewer-overlay").removeClass("hidden");
|
||||
$('#attachment-name').text(attachment.name);
|
||||
$('#viewer-overlay').removeClass('hidden');
|
||||
}
|
||||
|
||||
function closeAttachmentViewer() {
|
||||
@@ -152,16 +170,36 @@ Template.attachmentViewer.events({
|
||||
closeAttachmentViewer();
|
||||
},
|
||||
'click #next-attachment'(event) {
|
||||
closeAttachmentViewer()
|
||||
const id = getNextAttachmentId(openAttachmentId);
|
||||
openAttachmentId = id;
|
||||
openAttachmentViewer(id);
|
||||
closeAttachmentViewer();
|
||||
|
||||
let i = 0;
|
||||
// Find an attachment that can be opened
|
||||
while (true) {
|
||||
const id = getNextAttachmentId(openAttachmentId, i);
|
||||
const attachment = ReactiveCache.getAttachment(id);
|
||||
if (attachmentCanBeOpened(attachment)) {
|
||||
openAttachmentId = id;
|
||||
openAttachmentViewer(id);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
},
|
||||
'click #prev-attachment'(event) {
|
||||
closeAttachmentViewer()
|
||||
const id = getPrevAttachmentId(openAttachmentId);
|
||||
openAttachmentId = id;
|
||||
openAttachmentViewer(id);
|
||||
closeAttachmentViewer();
|
||||
|
||||
let i = 0;
|
||||
// Find an attachment that can be opened
|
||||
while (true) {
|
||||
const id = getPrevAttachmentId(openAttachmentId, i);
|
||||
const attachment = ReactiveCache.getAttachment(id);
|
||||
if (attachmentCanBeOpened(attachment)) {
|
||||
openAttachmentId = id;
|
||||
openAttachmentViewer(id);
|
||||
break;
|
||||
}
|
||||
i--;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -26,36 +26,67 @@ Template.userFormsLayout.onCreated(function () {
|
||||
templateInstance.isLoading = new ReactiveVar(false);
|
||||
|
||||
if (!ReactiveCache.getCurrentUser()?.profile) {
|
||||
Meteor.call('isOidcRedirectionEnabled', (_, result) => {
|
||||
if (result) {
|
||||
AccountsTemplates.options.socialLoginStyle = 'redirect';
|
||||
options = {
|
||||
loginStyle: AccountsTemplates.options.socialLoginStyle,
|
||||
};
|
||||
Meteor.loginWithOidc(options);
|
||||
}
|
||||
});
|
||||
Meteor.call('isOidcRedirectionEnabled', (_, result) => {
|
||||
if (result) {
|
||||
AccountsTemplates.options.socialLoginStyle = 'redirect';
|
||||
options = {
|
||||
loginStyle: AccountsTemplates.options.socialLoginStyle,
|
||||
};
|
||||
Meteor.loginWithOidc(options);
|
||||
}
|
||||
});
|
||||
|
||||
Meteor.subscribe('setting', {
|
||||
onReady() {
|
||||
templateInstance.currentSetting.set(ReactiveCache.getCurrentSetting());
|
||||
return this.stop();
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Meteor.call('isDisableRegistration', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-signup-link').hide();
|
||||
}
|
||||
});
|
||||
|
||||
Meteor.call('isDisableForgotPassword', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-pwd-link').hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Template.userFormsLayout.onRendered(() => {
|
||||
AccountsTemplates.state.form.keys = new Proxy(
|
||||
AccountsTemplates.state.form.keys,
|
||||
validator,
|
||||
);
|
||||
EscapeActions.executeAll();
|
||||
Meteor.call('getAuthenticationsEnabled', (_, result) => {
|
||||
let enabledAuthenticationMethods = [ 'password' ]; // we show/hide this based on isPasswordLoginEnabled
|
||||
|
||||
if (result) {
|
||||
Object.keys(result).forEach((m) => {
|
||||
if (result[m]) enabledAuthenticationMethods.push(m);
|
||||
});
|
||||
}
|
||||
|
||||
Meteor.call('isPasswordLoginEnabled', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-pwd-form').show();
|
||||
}
|
||||
});
|
||||
|
||||
Meteor.call('isDisableRegistration', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-signup-link').hide();
|
||||
}
|
||||
});
|
||||
|
||||
Meteor.call('isDisableForgotPassword', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-pwd-link').hide();
|
||||
}
|
||||
});
|
||||
|
||||
if (enabledAuthenticationMethods.indexOf('oauth2') !== -1) {
|
||||
// TODO find better way to run this code once the oauth2 UI is injected in the DOM
|
||||
(function waitForElementAndShow() {
|
||||
if (!$('.at-oauth')[0]) return setTimeout(waitForElementAndShow, 100);
|
||||
$('.at-oauth').show();
|
||||
})();
|
||||
}
|
||||
|
||||
AccountsTemplates.state.form.keys = new Proxy(
|
||||
AccountsTemplates.state.form.keys,
|
||||
validator,
|
||||
);
|
||||
EscapeActions.executeAll();
|
||||
});
|
||||
});
|
||||
|
||||
Template.userFormsLayout.helpers({
|
||||
|
||||
@@ -3,40 +3,22 @@ Template.connectionMethod.onCreated(function() {
|
||||
|
||||
Meteor.call('getAuthenticationsEnabled', (_, result) => {
|
||||
if (result) {
|
||||
// Only enabled auth methods without OAuth2/OpenID which is a separate button
|
||||
const tmp = Object.keys(result).filter((k) => result[k]).filter((k) => k !== 'oauth2');
|
||||
|
||||
// TODO : add a management of different languages
|
||||
// (ex {value: ldap, text: TAPi18n.__('ldap', {}, T9n.getLanguage() || 'en')})
|
||||
this.authenticationMethods.set([
|
||||
{ value: 'password' },
|
||||
// Gets only the authentication methods availables
|
||||
...Object.entries(result)
|
||||
.filter(e => e[1])
|
||||
.map(e => ({ value: e[0] })),
|
||||
]);
|
||||
this.authenticationMethods.set([{ value: 'password' }].concat(tmp.map((k) => { return { value: k }; })));
|
||||
}
|
||||
|
||||
// If only the default authentication available, hides the select boxe
|
||||
const content = $('.at-form-authentication');
|
||||
// OAuth method is a separate button, so ignore it in the count
|
||||
const formAuthenticationMethods = this.authenticationMethods.get().filter((method) => method.value !== 'oauth2');
|
||||
if (formAuthenticationMethods > 1) {
|
||||
|
||||
if (this.authenticationMethods.get().length > 1) {
|
||||
content.show();
|
||||
} else {
|
||||
content.hide();
|
||||
}
|
||||
|
||||
if (this.authenticationMethods.get().some((method) => method.value === 'oauth2')) {
|
||||
$('.at-oauth').show();
|
||||
}
|
||||
|
||||
Meteor.call('isPasswordLoginEnabled', (_, result) => {
|
||||
if (result) {
|
||||
$('.at-pwd-form').show();
|
||||
}
|
||||
|
||||
if (result && this.authenticationMethods.get().length > 1) {
|
||||
$('.at-sep').show();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -81,10 +81,10 @@
|
||||
"activity-endDate": "終了日を %s に変更しました / %s",
|
||||
"add-attachment": "添付ファイルを追加",
|
||||
"add-board": "ボードを追加",
|
||||
"add-template": "テンプレートを追加",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "カードを追加",
|
||||
"add-card-to-top-of-list": "カードをリストの先頭に追加",
|
||||
"add-card-to-bottom-of-list": "カードをリストの末尾に追加",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"setListWidthPopup-title": "リストの幅を設定",
|
||||
"set-list-width": "リストの幅を設定",
|
||||
"set-list-width-value": "リストの幅(ピクセル)",
|
||||
@@ -97,13 +97,13 @@
|
||||
"add-subtask": "サブタスクを追加",
|
||||
"add-checklist": "チェックリストを追加",
|
||||
"add-checklist-item": "チェックリストに項目を追加",
|
||||
"close-add-checklist-item": "Close add an item to checklist form",
|
||||
"close-edit-checklist-item": "Close edit an item to checklist form",
|
||||
"close-add-checklist-item": "チェックリストフォームの項目の追加を終了する",
|
||||
"close-edit-checklist-item": "チェックリストフォームの項目の編集を終了する",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add cover image to minicard",
|
||||
"add-cover": "ミニカードに表紙画像を追加する",
|
||||
"add-label": "ラベルを追加",
|
||||
"add-list": "リストを追加",
|
||||
"add-after-list": "Add After List",
|
||||
"add-after-list": "リストの最後に追加",
|
||||
"add-members": "メンバーの追加",
|
||||
"added": "追加しました",
|
||||
"addMemberPopup-title": "メンバー",
|
||||
@@ -143,13 +143,13 @@
|
||||
"attachmentDeletePopup-title": "添付ファイルを削除しますか?",
|
||||
"attachments": "添付ファイル",
|
||||
"auto-watch": "作成されたボードを自動的にウォッチする",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"avatar-too-big": "アバターが大きすぎます(最大520KB)",
|
||||
"back": "戻る",
|
||||
"board-change-color": "色の変更",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
"board-change-background-image": "背景画像を変更",
|
||||
"board-background-image-url": "背景画像のURL",
|
||||
"add-background-image": "背景画像を追加",
|
||||
"remove-background-image": "背景画像を削除",
|
||||
"show-at-all-boards-page" : "Show at All Boards page",
|
||||
"board-info-on-my-boards" : "All Boards Settings",
|
||||
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
|
||||
@@ -162,9 +162,9 @@
|
||||
"board-public-info": "ボードは公開されます。",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"boardChangeColorPopup-title": "ボードの背景を変更",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeBackgroundImagePopup-title": "背景画像を変更",
|
||||
"allBoardsChangeColorPopup-title": "色の変更",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "背景画像を変更",
|
||||
"boardChangeTitlePopup-title": "ボード名の変更",
|
||||
"boardChangeVisibilityPopup-title": "公開範囲の変更",
|
||||
"boardChangeWatchPopup-title": "ウォッチの変更",
|
||||
@@ -314,7 +314,7 @@
|
||||
"linkCardPopup-title": "カードをリンク",
|
||||
"searchElementPopup-title": "検索",
|
||||
"copyCardPopup-title": "カードをコピー",
|
||||
"copyManyCardsPopup-title": "Copy Template to Many Cards",
|
||||
"copyManyCardsPopup-title": "テンプレートから複数カードにコピー",
|
||||
"copyManyCardsPopup-instructions": "作成されるカードのタイトルと説明をJSON形式で指定",
|
||||
"copyManyCardsPopup-format": "[ {\"title\": \"1つ目のカードタイトル\", \"description\":\"1つ目のカードの説明\"}, {\"title\":\"2つ目のカードタイトル\",\"description\":\"2つ目のカードの説明\"},{\"title\":\"最後のカードタイトル\",\"description\":\"最後のカードの説明\"} ]",
|
||||
"create": "作成",
|
||||
@@ -382,7 +382,7 @@
|
||||
"error-board-notAMember": "操作にはボードメンバーである必要があります",
|
||||
"error-json-malformed": "このテキストは、有効なJSON形式ではありません",
|
||||
"error-json-schema": "JSONデータが不正な値を含んでいます",
|
||||
"error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format ",
|
||||
"error-csv-schema": "CSV(カンマ区切り)/TSV(タブ区切り)の書式が不正です",
|
||||
"error-list-doesNotExist": "このリストは存在しません",
|
||||
"error-user-doesNotExist": "ユーザーが存在しません",
|
||||
"error-user-notAllowSelf": "自分を招待することはできません。",
|
||||
@@ -396,7 +396,7 @@
|
||||
"export-board-csv": "ボードをCSVにエクスポート",
|
||||
"export-board-tsv": "ボードをTSVにエクスポート",
|
||||
"export-board-excel": "ボードをExcelにエクスポート",
|
||||
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません ",
|
||||
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません",
|
||||
"export-board-html": "ボードをHTMLにエクスポート",
|
||||
"export-card": "Export card",
|
||||
"export-card-pdf": "Export card to PDF",
|
||||
@@ -421,7 +421,7 @@
|
||||
"filter-overdue": "期限切れ",
|
||||
"filter-due-today": "本日期限",
|
||||
"filter-due-this-week": "今週期限",
|
||||
"filter-due-next-week": "Due next week",
|
||||
"filter-due-next-week": "来週期限",
|
||||
"filter-due-tomorrow": "明日期限",
|
||||
"list-filter-label": "タイトルでリストをフィルタ",
|
||||
"filter-clear": "フィルターの解除",
|
||||
@@ -440,7 +440,7 @@
|
||||
"filter-to-selection": "フィルターした項目を全選択",
|
||||
"other-filters-label": "その他のフィルタ",
|
||||
"advanced-filter-label": "高度なフィルター",
|
||||
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' /) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
|
||||
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' \\\\/) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
|
||||
"fullname": "フルネーム",
|
||||
"header-logo-title": "自分のボードページに戻る。",
|
||||
"hide-system-messages": "システムメッセージを隠す",
|
||||
@@ -532,7 +532,7 @@
|
||||
"normal": "通常",
|
||||
"normal-desc": "カードの閲覧と編集が可能。設定変更不可。",
|
||||
"not-accepted-yet": "招待はアクセプトされていません",
|
||||
"notify-participate": "Receive updates to any cards you participate as creator or member",
|
||||
"notify-participate": "作成した、またはメンバーとなったカードの更新情報を受け取る",
|
||||
"notify-watch": "ウォッチしているすべてのボード、リスト、カードの更新情報を受け取る",
|
||||
"optional": "任意",
|
||||
"or": "or",
|
||||
@@ -550,7 +550,7 @@
|
||||
"public": "公開",
|
||||
"public-desc": "このボードはパブリックです。リンクを知っていれば誰でもアクセス可能でGoogleのような検索エンジンの結果に表示されます。このボードに追加されている人だけがカード追加が可能です。",
|
||||
"quick-access-description": "ボードにスターをつけると、ここににショートカットができます。",
|
||||
"remove-cover": "Remove cover image from minicard",
|
||||
"remove-cover": "ミニカードから表紙画像を削除する",
|
||||
"remove-from-board": "ボードから外す",
|
||||
"remove-label": "ラベルの削除",
|
||||
"listDeletePopup-title": "リストを削除しますか?",
|
||||
@@ -561,8 +561,8 @@
|
||||
"rename": "名前変更",
|
||||
"rename-board": "ボード名の変更",
|
||||
"restore": "リストア",
|
||||
"rescue-card-description": "Show rescue dialogue before closing for unsaved card descriptions",
|
||||
"rescue-card-description-dialogue": "Overwrite current card description with your changes?",
|
||||
"rescue-card-description": "未保存のカードの説明を閉じる前に確認ダイアログを表示する",
|
||||
"rescue-card-description-dialogue": "カードの説明を変更内容で上書きしますか?",
|
||||
"save": "保存",
|
||||
"search": "検索",
|
||||
"rules": "ルール",
|
||||
@@ -616,7 +616,7 @@
|
||||
"custom-top-left-corner-logo-height": "カスタムの左上ロゴイメージの高さ。デフォルト:27",
|
||||
"custom-login-logo-image-url": "カスタムのログインロゴイメージのURL",
|
||||
"custom-login-logo-link-url": "カスタムのログインロゴイメージのリンクURL",
|
||||
"custom-help-link-url": "Custom Help Link URL",
|
||||
"custom-help-link-url": "ヘルプのリンクURLを変更する",
|
||||
"text-below-custom-login-logo": "カスタムログインロゴイメージの下のテキスト",
|
||||
"automatic-linked-url-schemes": "Custom URL Schemes which should automatically be clickable. One URL Scheme per line",
|
||||
"username": "ユーザー名",
|
||||
@@ -664,15 +664,15 @@
|
||||
"email-smtp-test-text": "メールを送信しました",
|
||||
"error-invitation-code-not-exist": "招待コードが存在しません",
|
||||
"error-notAuthorized": "このページを参照する権限がありません。",
|
||||
"webhook-title": "Webhook Name",
|
||||
"webhook-title": "Webフック名",
|
||||
"webhook-token": "トークン(認証用オプション)",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoing-webhooks": "発信Webフック",
|
||||
"bidirectional-webhooks": "双方向Webフック",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "発信Webフック",
|
||||
"boardCardTitlePopup-title": "カード名フィルタ",
|
||||
"disable-webhook": "このWebフックを無効化",
|
||||
"global-webhook": "グローバルWebフック",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"new-outgoing-webhook": "発信Webフックの作成",
|
||||
"no-name": "(名前なし)",
|
||||
"Node_version": "Nodeバージョン",
|
||||
"Meteor_version": "Meteor バージョン",
|
||||
@@ -730,17 +730,17 @@
|
||||
"queue": "キュー",
|
||||
"subtask-settings": "サブタスク設定",
|
||||
"card-settings": "カード設定",
|
||||
"minicard-settings": "Minicard Settings",
|
||||
"minicard-settings": "ミニカード設定",
|
||||
"boardSubtaskSettingsPopup-title": "ボードのサブタスク設定",
|
||||
"boardCardSettingsPopup-title": "カード設定",
|
||||
"boardMinicardSettingsPopup-title": "Minicard Settings",
|
||||
"boardMinicardSettingsPopup-title": "ミニカード設定",
|
||||
"deposit-subtasks-board": "サブタスクの作成先ボード:",
|
||||
"deposit-subtasks-list": "サブタスクの作成先リスト:",
|
||||
"show-parent-in-minicard": "ミニカード上の親表示",
|
||||
"description-on-minicard": "Description on minicard",
|
||||
"cover-attachment-on-minicard": "Cover image on minicard",
|
||||
"badge-attachment-on-minicard": "Count of attachments on minicard",
|
||||
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
|
||||
"description-on-minicard": "ミニカードの説明",
|
||||
"cover-attachment-on-minicard": "ミニカードの表紙画像",
|
||||
"badge-attachment-on-minicard": "ミニカードの添付ファイル数",
|
||||
"card-sorting-by-number-on-minicard": "ミニカードの番号順でソートする",
|
||||
"prefix-with-full-path": "タイトルの前に親をフル表示",
|
||||
"prefix-with-parent": "タイトルの前に親を表示",
|
||||
"subtext-with-full-path": "タイトルの後ろに親をフル表示",
|
||||
@@ -853,7 +853,7 @@
|
||||
"r-items-list": "アイテム1、アイテム2、アイテム3",
|
||||
"r-add-swimlane": "スイムレーンを追加",
|
||||
"r-swimlane-name": "スイムレーン名",
|
||||
"r-board-note": "Note: leave a field empty to match every possible value. ",
|
||||
"r-board-note": "注意:フィールドを空にするとすべての値に一致します",
|
||||
"r-checklist-note": "注意:チェックリスト項目はカンマ区切りで記述する必要があります。",
|
||||
"r-when-a-card-is-moved": "カードが別のリストに移動したとき",
|
||||
"r-set": "設定する",
|
||||
@@ -865,7 +865,7 @@
|
||||
"r-df-received-at": "受付",
|
||||
"r-to-current-datetime": "現在日時に",
|
||||
"r-remove-value-from": "次の値を削除:",
|
||||
"r-link-card": "Link card to",
|
||||
"r-link-card": "カードをリンクする",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
@@ -874,8 +874,8 @@
|
||||
"custom-product-name": "カスタム製品名",
|
||||
"layout": "レイアウト",
|
||||
"hide-logo": "ロゴを隠す",
|
||||
"hide-card-counter-list": "Hide card counter list on All Boards",
|
||||
"hide-board-member-list": "Hide board member list on All Boards",
|
||||
"hide-card-counter-list": "すべてのボードからカードカウンタリストを非表示にする。",
|
||||
"hide-board-member-list": "すべてのボードからボードメンバリストを非表示にする。",
|
||||
"add-custom-html-after-body-start": "<body> の開始直後にカスタムHTMLを追加する",
|
||||
"add-custom-html-before-body-end": "</body> の終了直前にカスタムHTMLを追加する",
|
||||
"error-undefined": "何らかの問題が発生しています",
|
||||
@@ -884,9 +884,9 @@
|
||||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "デフォルトの認証方式",
|
||||
"duplicate-board": "ボードの複製",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
"org-number": "組織数:",
|
||||
"team-number": "チーム数: ",
|
||||
"people-number": "人数:",
|
||||
"swimlaneDeletePopup-title": "スイムレーンを削除しますか?",
|
||||
"swimlane-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
|
||||
"restore-all": "全てをリストアする",
|
||||
@@ -904,7 +904,7 @@
|
||||
"almostdue": "期限 %s が近づいています",
|
||||
"pastdue": "期限 %s が過ぎています",
|
||||
"duenow": "期限 %s は本日です",
|
||||
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
|
||||
"act-newDue": "__list __ / __ card__に1回目の有効期限アラートがあります [__board__]",
|
||||
"act-withDue": "__list __ / __ card__ の有効期限のアラート [__board__]",
|
||||
"act-almostdue": "__card__ の期限日時 (__timeValue__) が近づいています",
|
||||
"act-pastdue": "__card__ の期限日時 (__timeValue__) が過ぎています",
|
||||
@@ -929,7 +929,7 @@
|
||||
"editUserPopup-title": "ユーザーを編集",
|
||||
"newUserPopup-title": "新規ユーザー",
|
||||
"notifications": "通知",
|
||||
"help": "Help",
|
||||
"help": "ヘルプ",
|
||||
"view-all": "全てを表示",
|
||||
"filter-by-unread": "未読でフィルタ",
|
||||
"mark-all-as-read": "全て既読にする",
|
||||
@@ -1055,7 +1055,7 @@
|
||||
"operator-debug-invalid": "%s is not a valid debug predicate",
|
||||
"next-page": "次のページ",
|
||||
"previous-page": "前のページ",
|
||||
"heading-notes": "注意\n ",
|
||||
"heading-notes": "注意",
|
||||
"globalSearch-instructions-heading": "検索手順",
|
||||
"globalSearch-instructions-description": "検索は演算子を含めた絞り込みが可能です。演算子は、演算子の名前と値を半角コロンで区切った記述で指定します。例えば、`リスト:対応不可`と指定すると、*対応不可*という名前のリストに含まれるカードという制約で検索します。値にスペースや特殊文字が含まれる場合は引用符で囲む必要があります(例:`__operator_list__:\"レビュー 本日中\"`)。",
|
||||
"globalSearch-instructions-operators": "有効な演算子:",
|
||||
@@ -1083,13 +1083,13 @@
|
||||
"globalSearch-instructions-status-private": "`__predicate_private__` - 非公開のボードにあるカード",
|
||||
"globalSearch-instructions-operator-has": "`__operator_has__:<field>` - *<field>* は`__predicate_attachment__`、`__predicate_checklist__`、`__predicate_description__`、`__predicate_start__`、`__predicate_due__`、`__predicate_end__`、`__predicate_assignee__`、`__predicate_member__` のいずれかを指定します。*<field>* の前に「`-`」を記述すると、そのフィールドに値がないものを検索します(例:「`所有:-期限日`」は期限日がないカードを検索します)。",
|
||||
"globalSearch-instructions-operator-sort": "`__operator_sort__:<sort-name>` - *<sort-name>* は `__predicate_due__`、`__predicate_created__`、`__predicate_modified__` のいずれかを指定します。降順にする場合は、並べ替え名の前に「`-`」を記述します。",
|
||||
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。 ",
|
||||
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。",
|
||||
"globalSearch-instructions-notes-1": "複数の演算子を指定できます。",
|
||||
"globalSearch-instructions-notes-2": "同じ演算子はOR条件になります。複数の条件のいずれかに一致したカードが検索されます。`__operator_list__:有効 __operator_list__:対応不要` の場合、リスト名が *有効* または *対応不要* のカードが検索されます。",
|
||||
"globalSearch-instructions-notes-3": "異なる演算子はAND条件になります。異なる演算子すべてに一致したカードのみが検索されます。`__operator_list__:有効 __operator_label__:赤` は、*有効* のリストの中の *赤* のラベルのカードのみが検索されます。",
|
||||
"globalSearch-instructions-notes-3-2": "日付には正負の整数や、現在からの期間として `__predicate_week__`、`__predicate_month__`、`__predicate_quarter__`、`__predicate_year__` を指定できます。",
|
||||
"globalSearch-instructions-notes-4": "テキスト検索では大文字と小文字は区別されません。",
|
||||
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。 ",
|
||||
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。",
|
||||
"link-to-search": "この検索へのリンク",
|
||||
"excel-font": "Arial",
|
||||
"number": "数値",
|
||||
@@ -1097,7 +1097,7 @@
|
||||
"label-names": "ラベル名",
|
||||
"archived-at": "アーカイブされた:",
|
||||
"sort-cards": "カードの並び替え",
|
||||
"sort-is-on": "Sort is on",
|
||||
"sort-is-on": "ソートが有効",
|
||||
"cardsSortPopup-title": "カードの並び替え",
|
||||
"due-date": "期限日",
|
||||
"server-error": "サーバーエラー",
|
||||
@@ -1197,14 +1197,14 @@
|
||||
"attachmentActionsPopup-title": "Attachment Actions",
|
||||
"attachment-move-storage-fs": "Move attachment to filesystem",
|
||||
"attachment-move-storage-gridfs": "Move attachment to GridFS",
|
||||
"attachment-move-storage-s3": "Move attachment to S3",
|
||||
"attachment-move-storage-s3": "添付ファイルを S3 に移動する",
|
||||
"attachment-move": "Move Attachment",
|
||||
"move-all-attachments-to-fs": "Move all attachments to filesystem",
|
||||
"move-all-attachments-to-gridfs": "Move all attachments to GridFS",
|
||||
"move-all-attachments-to-s3": "Move all attachments to S3",
|
||||
"move-all-attachments-to-s3": "複数の添付ファイルを S3 に移動する",
|
||||
"move-all-attachments-of-board-to-fs": "Move all attachments of board to filesystem",
|
||||
"move-all-attachments-of-board-to-gridfs": "Move all attachments of board to GridFS",
|
||||
"move-all-attachments-of-board-to-s3": "Move all attachments of board to S3",
|
||||
"move-all-attachments-of-board-to-s3": "ボードのすべての添付ファイルを S3 に移動する",
|
||||
"path": "Path",
|
||||
"version-name": "Version-Name",
|
||||
"size": "Size",
|
||||
@@ -1212,22 +1212,22 @@
|
||||
"action": "操作",
|
||||
"board-title": "Board Title",
|
||||
"attachmentRenamePopup-title": "名前変更",
|
||||
"uploading": "Uploading",
|
||||
"remaining_time": "Remaining time",
|
||||
"speed": "Speed",
|
||||
"progress": "Progress",
|
||||
"password-again": "Password (again)",
|
||||
"if-you-already-have-an-account": "If you already have an account",
|
||||
"register": "Register",
|
||||
"forgot-password": "Forgot password",
|
||||
"uploading": "アップグレード中",
|
||||
"remaining_time": "残り時間",
|
||||
"speed": "速度",
|
||||
"progress": "進捗",
|
||||
"password-again": "パスワード(再入力)",
|
||||
"if-you-already-have-an-account": "すでにアカウントを持っている場合",
|
||||
"register": "登録",
|
||||
"forgot-password": "パスワードを忘れた",
|
||||
"minicardDetailsActionsPopup-title": "Card Details",
|
||||
"Mongo_sessions_count": "Mongo sessions count",
|
||||
"Mongo_sessions_count": "Mongo セッション数",
|
||||
"change-visibility": "公開範囲の変更",
|
||||
"max-upload-filesize": "Max upload filesize in bytes:",
|
||||
"allowed-upload-filetypes": "Allowed upload filetypes:",
|
||||
"max-avatar-filesize": "Max avatar filesize in bytes:",
|
||||
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
|
||||
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
|
||||
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
|
||||
"drag-board": "Drag board"
|
||||
"max-upload-filesize": "バイト単位の最大アップロードサイズ: ",
|
||||
"allowed-upload-filetypes": "アップロードできるファイルタイプ",
|
||||
"max-avatar-filesize": "バイト単位の最大アバターファイルサイズ:",
|
||||
"allowed-avatar-filetypes": "アバターに使用できるファイルタイプ",
|
||||
"invalid-file": "無効なファイル名の場合アップロードまたは名前の変更は取り消されます。",
|
||||
"preview-pdf-not-supported": "この端末はPDFのプレビューに対応していません。他の端末でダウンロードしてください。",
|
||||
"drag-board": "ドラッグボード"
|
||||
}
|
||||
@@ -1229,5 +1229,5 @@
|
||||
"allowed-avatar-filetypes": "Toegestane avatar bestandstypen:",
|
||||
"invalid-file": "Als de bestandsnaam ongeldig is wordt de upload of het hernoemen geannuleerd.",
|
||||
"preview-pdf-not-supported": "Dit apparaat ondersteund geen voorbeeld PDF. Probeer het daarom te downloaden. ",
|
||||
"drag-board": "Drag board"
|
||||
"drag-board": "Sleep bord"
|
||||
}
|
||||
@@ -85,14 +85,14 @@
|
||||
"add-card": "添加卡片",
|
||||
"add-card-to-top-of-list": "添加卡片到列表顶部",
|
||||
"add-card-to-bottom-of-list": "添加卡片到列表底部",
|
||||
"setListWidthPopup-title": "Set List Width",
|
||||
"set-list-width": "Set List Width",
|
||||
"set-list-width-value": "List Width (pixels)",
|
||||
"list-width-error-message": "List width must be a positive integer",
|
||||
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
|
||||
"set-swimlane-height": "Set Swimlane Height",
|
||||
"set-swimlane-height-value": "Swimlane Height (pixels)",
|
||||
"swimlane-height-error-message": "Swimlane height must be a positive integer",
|
||||
"setListWidthPopup-title": "设置列表宽度",
|
||||
"set-list-width": "设置列表宽度",
|
||||
"set-list-width-value": "列表宽度(px)",
|
||||
"list-width-error-message": "列表宽度需要设置数字类型",
|
||||
"setSwimlaneHeightPopup-title": "设置泳道高度",
|
||||
"set-swimlane-height": "设置泳道高度",
|
||||
"set-swimlane-height-value": "泳道高度(px)",
|
||||
"swimlane-height-error-message": "泳道高度需要设置数字类型",
|
||||
"add-swimlane": "添加泳道图",
|
||||
"add-subtask": "添加子任务",
|
||||
"add-checklist": "添加清单",
|
||||
@@ -1229,5 +1229,5 @@
|
||||
"allowed-avatar-filetypes": "头像文件允许类型:",
|
||||
"invalid-file": "如果文件名无效,则取消上传或重命名。\n ",
|
||||
"preview-pdf-not-supported": "您的设备不支持pdf预览,请尝试下载",
|
||||
"drag-board": "Drag board"
|
||||
"drag-board": "拖拽看板"
|
||||
}
|
||||
@@ -549,7 +549,7 @@ if (Meteor.isServer) {
|
||||
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: { _id: customFieldId },
|
||||
data: { _id: paramDropdownItemId },
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
+1
-1
@@ -510,7 +510,7 @@ if (Meteor.isServer) {
|
||||
if (!swimlane) {
|
||||
throw new Meteor.Error('not-found', 'Swimlane not found');
|
||||
}
|
||||
Swimlanes.update(
|
||||
Swimlanes.direct.update(
|
||||
{ _id: paramSwimlaneId },
|
||||
{ $set: { title: req.body.title } }
|
||||
);
|
||||
|
||||
Generated
+39
-94
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.02.0",
|
||||
"version": "v7.04.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -57,14 +57,6 @@
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
||||
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA=="
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||
@@ -80,36 +72,6 @@
|
||||
"strip-ansi": "^7.0.1"
|
||||
}
|
||||
},
|
||||
"string-width-cjs": {
|
||||
"version": "npm:string-width@4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"requires": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
||||
@@ -117,61 +79,6 @@
|
||||
"requires": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"strip-ansi-cjs": {
|
||||
"version": "npm:strip-ansi@6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"wrap-ansi-cjs": {
|
||||
"version": "npm:wrap-ansi@7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||
"requires": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"requires": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3466,6 +3373,16 @@
|
||||
"strip-ansi": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"string-width-cjs": {
|
||||
"version": "npm:string-width@4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"requires": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
@@ -3482,6 +3399,14 @@
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"strip-ansi-cjs": {
|
||||
"version": "npm:strip-ansi@6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"strnum": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz",
|
||||
@@ -3850,6 +3775,26 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"wrap-ansi-cjs": {
|
||||
"version": "npm:wrap-ansi@7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||
"requires": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.02.0",
|
||||
"version": "v7.04.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
|
||||
@@ -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.02</title>
|
||||
<title>Wekan REST API v7.04</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -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.02">Wekan REST API v7.02</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.04">Wekan REST API v7.04</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2057,7 +2057,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.02</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.04</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: v7.02
|
||||
version: v7.04
|
||||
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 = 702,
|
||||
appVersion = 704,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "7.02.0~2023-08-02"),
|
||||
appMarketingVersion = (defaultText = "7.04.0~2023-08-03"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '7.02'
|
||||
version: '7.04'
|
||||
base: core20
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
@@ -170,9 +170,9 @@ parts:
|
||||
# Cleanup
|
||||
mkdir .build
|
||||
cd .build
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.02/wekan-7.02-amd64.zip
|
||||
unzip wekan-7.02-amd64.zip
|
||||
rm wekan-7.02-amd64.zip
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.04/wekan-7.04-amd64.zip
|
||||
unzip wekan-7.04-amd64.zip
|
||||
rm wekan-7.04-amd64.zip
|
||||
cd ..
|
||||
##cd .build/bundle
|
||||
##find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
|
||||
Reference in new issue
Block a user