summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.json3
-rw-r--r--CHANGELOG.md34
-rw-r--r--client/components/activities/activities.jade2
-rw-r--r--client/components/activities/activities.styl5
-rw-r--r--client/components/cards/cardDetails.jade10
-rw-r--r--client/components/cards/cardDetails.js8
-rw-r--r--client/components/cards/checklists.jade21
-rw-r--r--client/components/cards/checklists.js75
-rw-r--r--client/components/cards/checklists.styl40
-rw-r--r--client/components/cards/labels.jade3
-rw-r--r--client/components/forms/forms.styl53
-rw-r--r--client/components/main/header.jade7
-rw-r--r--client/components/main/header.js14
-rw-r--r--client/components/main/header.styl1
-rw-r--r--client/components/settings/settingBody.jade20
-rw-r--r--client/components/settings/settingBody.js45
-rw-r--r--client/components/settings/settingBody.styl7
-rw-r--r--i18n/ar.i18n.json4
-rw-r--r--i18n/br.i18n.json4
-rw-r--r--i18n/ca.i18n.json4
-rw-r--r--i18n/cs.i18n.json4
-rw-r--r--i18n/de.i18n.json4
-rw-r--r--i18n/en-GB.i18n.json4
-rw-r--r--i18n/en.i18n.json4
-rw-r--r--i18n/eo.i18n.json4
-rw-r--r--i18n/es.i18n.json4
-rw-r--r--i18n/eu.i18n.json4
-rw-r--r--i18n/fa.i18n.json4
-rw-r--r--i18n/fi.i18n.json4
-rw-r--r--i18n/fr.i18n.json8
-rw-r--r--i18n/gl.i18n.json4
-rw-r--r--i18n/he.i18n.json8
-rw-r--r--i18n/hu.i18n.json4
-rw-r--r--i18n/id.i18n.json4
-rw-r--r--i18n/it.i18n.json4
-rw-r--r--i18n/ja.i18n.json4
-rw-r--r--i18n/ko.i18n.json4
-rw-r--r--i18n/nb.i18n.json4
-rw-r--r--i18n/nl.i18n.json4
-rw-r--r--i18n/pl.i18n.json4
-rw-r--r--i18n/pt-BR.i18n.json4
-rw-r--r--i18n/ro.i18n.json4
-rw-r--r--i18n/ru.i18n.json4
-rw-r--r--i18n/sr.i18n.json4
-rw-r--r--i18n/sv.i18n.json8
-rw-r--r--i18n/ta.i18n.json4
-rw-r--r--i18n/th.i18n.json4
-rw-r--r--i18n/tr.i18n.json4
-rw-r--r--i18n/uk.i18n.json4
-rw-r--r--i18n/vi.i18n.json4
-rw-r--r--i18n/zh-CN.i18n.json4
-rw-r--r--i18n/zh-TW.i18n.json4
-rw-r--r--models/announcements.js36
-rw-r--r--models/trelloCreator.js45
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/publications/announcements.js3
57 files changed, 533 insertions, 57 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index 51b2037f..b93dd916 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -130,6 +130,7 @@
"Authentication": true,
"Integrations": true,
"HTTP": true,
- "AccountSettings": true
+ "AccountSettings": true,
+ "Announcements": true
}
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a22e813..72cbbff1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,37 @@
+# Upcoming Wekan release
+
+This release fixes the following bugs:
+
+* [Fix: Slider for Comments only does not work correctly with over 21 activities](https://github.com/wekan/wekan/pull/1247).
+
+Thanks to Github user nztqa for contributions.
+
+# v0.45 2017-10-01 Wekan release
+
+This release adds the following new features:
+
+* [Slider for Comments only in activity feed](https://github.com/wekan/wekan/issues/1247);
+* [Site Wide Announcement](https://github.com/wekan/wekan/pull/1260).
+
+and fixes the following bugs:
+
+* [Data inconsistency when copying card](https://github.com/wekan/wekan/pull/1246). Note: There is no feature for copying card attachment yet;
+* [Hide create label from normal users, because only board admin can create labels](https://github.com/wekan/wekan/pull/1261).
+
+Thanks to Github user nztqa for contributions.
+
+# v0.44 2017-09-30 Wekan release
+
+This release adds the following new features:
+
+* [Confirm popup appears before Checklist Delete](https://github.com/wekan/wekan/pull/1257).
+
+and fixes the following bugs:
+
+* [Fix errors when importing from Trello](https://github.com/wekan/wekan/pull/1259).
+
+Thanks to GitHub users amadilsons and GhassenRjab for their contributions.
+
# v0.43 2017-09-25 Wekan release
This release fixes the following bugs:
diff --git a/client/components/activities/activities.jade b/client/components/activities/activities.jade
index be12a728..4d5410d4 100644
--- a/client/components/activities/activities.jade
+++ b/client/components/activities/activities.jade
@@ -31,7 +31,7 @@ template(name="boardActivities")
.activity-checklist(href="{{ card.absoluteUrl }}")
+viewer
= checklist.title
-
+
if($eq activityType 'addChecklistItem')
| {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}.
.activity-checklist(href="{{ card.absoluteUrl }}")
diff --git a/client/components/activities/activities.styl b/client/components/activities/activities.styl
index 2285fc0a..36efd771 100644
--- a/client/components/activities/activities.styl
+++ b/client/components/activities/activities.styl
@@ -1,5 +1,10 @@
@import 'nib'
+.activity-title
+ margin: 0 0.5em 0.8em
+ display: flex
+ justify-content:space-between
+
.activities
clear: both
diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade
index 09e0532c..caea222f 100644
--- a/client/components/cards/cardDetails.jade
+++ b/client/components/cards/cardDetails.jade
@@ -85,7 +85,15 @@ template(name="cardDetails")
+attachmentsGalery
hr
- h2 {{ _ 'activity'}}
+ .activity-title
+ h2 {{ _ 'activity'}}
+ .material-toggle-switch
+ span.toggle-switch-title {{_ 'hide-system-messages'}}
+ if hiddenSystemMessages
+ input.toggle-switch(type="checkbox" id="toggleButton" checked="checked")
+ else
+ input.toggle-switch(type="checkbox" id="toggleButton")
+ label.toggle-label(for="toggleButton")
if currentUser.isBoardMember
+commentForm
if isLoaded.get
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 7c6c3ce7..836a2353 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -28,6 +28,10 @@ BlazeComponent.extendComponent({
return card.findWatcher(Meteor.userId());
},
+ hiddenSystemMessages() {
+ return Meteor.user().hasHiddenSystemMessages();
+ },
+
canModifyCard() {
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
},
@@ -99,6 +103,9 @@ BlazeComponent.extendComponent({
this.parentComponent().showOverlay.set(true);
this.parentComponent().mouseHasEnterCardDetails = true;
},
+ 'click #toggleButton'() {
+ Meteor.call('toggleSystemMessages');
+ },
}];
},
}).register('cardDetails');
@@ -220,6 +227,7 @@ Template.copyCardPopup.events({
if (title) {
card.title = title;
+ card.coverId = '';
const _id = Cards.insert(card);
// In case the filter is active we need to add the newly inserted card in
// the list of exceptions -- cards that are not filtered. Otherwise the
diff --git a/client/components/cards/checklists.jade b/client/components/cards/checklists.jade
index e1dd1d14..9ff52d8e 100644
--- a/client/components/cards/checklists.jade
+++ b/client/components/cards/checklists.jade
@@ -1,8 +1,14 @@
template(name="checklists")
h2 {{_ 'checklists'}}
+ if toggleDeleteDialog.get
+ .board-overlay#card-details-overlay
+ +checklistDeleteDialog(checklist = checklistToDelete)
+
+
.card-checklist-items
each checklist in currentCard.checklists
+checklistDetail(checklist = checklist)
+
if canModifyCard
+inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
+addChecklistItemForm
@@ -18,7 +24,8 @@ template(name="checklistDetail")
.checklist-title
.checkbox.fa.fa-check-square-o
if canModifyCard
- a.js-delete-checklist {{_ "delete"}}...
+ a.js-delete-checklist.toggle-delete-checklist-dialog {{_ "delete"}}...
+
span.checklist-stat(class="{{#if checklist.isFinished}}is-finished{{/if}}") {{checklist.finishedCount}}/{{checklist.itemCount}}
if canModifyCard
h2.title.js-open-inlined-form.is-editable {{checklist.title}}
@@ -26,6 +33,18 @@ template(name="checklistDetail")
h2.title {{checklist.title}}
+checklistItems(checklist = checklist)
+template(name="checklistDeleteDialog")
+ .js-confirm-checklist-delete
+ p
+ i(class="fa fa-exclamation-triangle" aria-hidden="true")
+ p
+ | {{_ 'confirm-checklist-delete-dialog'}}
+ span {{checklist.title}}
+ | ?
+ .js-checklist-delete-buttons
+ button.confirm-checklist-delete(type="button") {{_ 'delete'}}
+ button.toggle-delete-checklist-dialog(type="button") {{_ 'cancel'}}
+
template(name="addChecklistItemForm")
textarea.js-add-checklist-item(rows='1' autofocus)
.edit-controls.clearfix
diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js
index ba3384a9..1cd77c9f 100644
--- a/client/components/cards/checklists.js
+++ b/client/components/cards/checklists.js
@@ -66,6 +66,7 @@ Template.checklists.onRendered(function () {
});
BlazeComponent.extendComponent({
+
addChecklist(event) {
event.preventDefault();
const textarea = this.find('textarea.js-add-checklist-item');
@@ -101,6 +102,26 @@ BlazeComponent.extendComponent({
textarea.focus();
},
+ canModifyCard() {
+ return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
+ },
+
+ deleteChecklist() {
+ const checklist = this.currentData().checklist;
+ if (checklist && checklist._id) {
+ Checklists.remove(checklist._id);
+ this.toggleDeleteDialog.set(false);
+ }
+ },
+
+ deleteItem() {
+ const checklist = this.currentData().checklist;
+ const item = this.currentData().item;
+ if (checklist && item && item._id) {
+ checklist.removeItem(item._id);
+ }
+ },
+
editChecklist(event) {
event.preventDefault();
const textarea = this.find('textarea.js-edit-checklist-item');
@@ -109,10 +130,6 @@ BlazeComponent.extendComponent({
checklist.setTitle(title);
},
- canModifyCard() {
- return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
- },
-
editChecklistItem(event) {
event.preventDefault();
@@ -123,19 +140,9 @@ BlazeComponent.extendComponent({
checklist.editItem(itemId, title);
},
- deleteItem() {
- const checklist = this.currentData().checklist;
- const item = this.currentData().item;
- if (checklist && item && item._id) {
- checklist.removeItem(item._id);
- }
- },
-
- deleteChecklist() {
- const checklist = this.currentData().checklist;
- if (checklist && checklist._id) {
- Checklists.remove(checklist._id);
- }
+ onCreated() {
+ this.toggleDeleteDialog = new ReactiveVar(false);
+ this.checklistToDelete = null; //Store data context to pass to checklistDeleteDialog template
},
pressKey(event) {
@@ -148,18 +155,50 @@ BlazeComponent.extendComponent({
},
events() {
+ const events = {
+ 'click .toggle-delete-checklist-dialog'(event) {
+ if($(event.target).hasClass('js-delete-checklist')){
+ this.checklistToDelete = this.currentData().checklist; //Store data context
+ }
+ this.toggleDeleteDialog.set(!this.toggleDeleteDialog.get());
+ },
+ };
+
return [{
+ ...events,
'submit .js-add-checklist': this.addChecklist,
'submit .js-edit-checklist-title': this.editChecklist,
'submit .js-add-checklist-item': this.addChecklistItem,
'submit .js-edit-checklist-item': this.editChecklistItem,
'click .js-delete-checklist-item': this.deleteItem,
- 'click .js-delete-checklist': this.deleteChecklist,
+ 'click .confirm-checklist-delete': this.deleteChecklist,
keydown: this.pressKey,
}];
},
}).register('checklists');
+Template.checklistDeleteDialog.onCreated(() => {
+ const $cardDetails = this.$('.card-details');
+ this.scrollState = { position: $cardDetails.scrollTop(), //save current scroll position
+ top: false, //required for smooth scroll animation
+ };
+ //Callback's purpose is to only prevent scrolling after animation is complete
+ $cardDetails.animate({ scrollTop: 0 }, 500, () => { this.scrollState.top = true; });
+
+ //Prevent scrolling while dialog is open
+ $cardDetails.on('scroll', () => {
+ if(this.scrollState.top) { //If it's already in position, keep it there. Otherwise let animation scroll
+ $cardDetails.scrollTop(0);
+ }
+ });
+});
+
+Template.checklistDeleteDialog.onDestroyed(() => {
+ const $cardDetails = this.$('.card-details');
+ $cardDetails.off('scroll'); //Reactivate scrolling
+ $cardDetails.animate( { scrollTop: this.scrollState.position });
+});
+
Template.itemDetail.helpers({
canModifyCard() {
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
diff --git a/client/components/cards/checklists.styl b/client/components/cards/checklists.styl
index 77668349..d4776397 100644
--- a/client/components/cards/checklists.styl
+++ b/client/components/cards/checklists.styl
@@ -38,6 +38,46 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
.js-delete-checklist
@extends .delete-text
+
+.js-confirm-checklist-delete
+ background-color: darken(white, 3%)
+ position: absolute
+ float: left;
+ width: 60%
+ margin-top: 0
+ margin-left: 13%
+ padding-bottom: 2%
+ padding-left: 3%
+ padding-right: 3%
+ z-index: 17
+ border-radius: 3px
+
+ p
+ position: relative
+ margin-top: 3%
+ width: 100%
+ text-align: center
+ span
+ font-weight: bold
+
+ i
+ font-size: 2em
+
+ .js-checklist-delete-buttons
+ position: relative
+ padding: left 2% right 2%
+ .confirm-checklist-delete
+ margin-left: 12%
+ float: left
+ .toggle-delete-checklist-dialog
+ margin-right: 12%
+ float: right
+
+#card-details-overlay
+ top: 0
+ bottom: -600px
+ right: 0
+
.checklist-items
margin: 0 0 0.5em 1.33em
diff --git a/client/components/cards/labels.jade b/client/components/cards/labels.jade
index 31bd4d06..6c6efb08 100644
--- a/client/components/cards/labels.jade
+++ b/client/components/cards/labels.jade
@@ -34,4 +34,5 @@ template(name="cardLabelsPopup")
= name
if(isLabelSelected ../_id)
i.card-label-selectable-icon.fa.fa-check
- a.quiet-button.full.js-add-label {{_ 'label-create'}}
+ if currentUser.isBoardAdmin
+ a.quiet-button.full.js-add-label {{_ 'label-create'}}
diff --git a/client/components/forms/forms.styl b/client/components/forms/forms.styl
index 646da657..1947c11d 100644
--- a/client/components/forms/forms.styl
+++ b/client/components/forms/forms.styl
@@ -630,6 +630,59 @@ button
a, .quiet
color: white
+// Material Design Toggle Switch
+.material-toggle-switch
+ display: flex
+
+.toggle-label
+ position: relative
+ display: block
+ height: 20px
+ width: 44px
+ background-color: #a6a6a6
+ border-radius: 100px
+ cursor: pointer
+ transition: all 0.3s ease
+
+ &:after
+ position: absolute
+ left: -2px
+ top: -3px
+ display: block
+ width: 26px
+ height: 26px
+ border-radius: 100px
+ background-color: #fff
+ box-shadow: 0px 3px 3px rgba(0,0,0,0.05)
+ content: ''
+ transition: all 0.3s ease
+
+ &:active
+ &:after
+ transform: scale(1.15, 0.85)
+
+.toggle-switch:checked ~ .toggle-label
+ background-color: #6fbeb5
+
+ &:after
+ left: 20px
+ background-color: #179588
+
+.toggle-switch:checked:disabled ~ .toggle-label
+ background-color: #d5d5d5
+ pointer-events: none
+
+ &:after
+ background-color: #bcbdbc
+
+.toggle-switch
+ display: none
+
+.toggle-switch-title
+ margin: 0 0.5em
+ display: flex
+
+
@media screen and (max-width: 800px)
.edit-controls,
.add-controls
diff --git a/client/components/main/header.jade b/client/components/main/header.jade
index bd0af880..613dd736 100644
--- a/client/components/main/header.jade
+++ b/client/components/main/header.jade
@@ -49,6 +49,13 @@ template(name="header")
if appIsOffline
+offlineWarning
+ if hasAnnouncement
+ .announcement
+ p
+ i.fa.fa-bullhorn
+ | #{announcement}
+ i.fa.fa-times-circle.js-close-announcement
+
template(name="offlineWarning")
.offline-warning
p
diff --git a/client/components/main/header.js b/client/components/main/header.js
index 49acbfef..c8f415df 100644
--- a/client/components/main/header.js
+++ b/client/components/main/header.js
@@ -10,8 +10,22 @@ Template.header.helpers({
appIsOffline() {
return !Meteor.status().connected;
},
+
+ hasAnnouncement() {
+ const announcements = Announcements.findOne();
+ return announcements && announcements.enabled;
+ },
+
+ announcement() {
+ $('.announcement').show();
+ const announcements = Announcements.findOne();
+ return announcements && announcements.body;
+ },
});
Template.header.events({
'click .js-create-board': Popup.open('headerBarCreateBoard'),
+ 'click .js-close-announcement'() {
+ $('.announcement').hide();
+ },
});
diff --git a/client/components/main/header.styl b/client/components/main/header.styl
index 0e35d38a..191e8893 100644
--- a/client/components/main/header.styl
+++ b/client/components/main/header.styl
@@ -197,6 +197,7 @@
li
height: 28px
+.announcement,
.offline-warning
width: 100%
text-align: center
diff --git a/client/components/settings/settingBody.jade b/client/components/settings/settingBody.jade
index 5864efd5..2152cc2c 100644
--- a/client/components/settings/settingBody.jade
+++ b/client/components/settings/settingBody.jade
@@ -14,6 +14,8 @@ template(name="setting")
a.js-setting-menu(data-id="email-setting") {{_ 'email'}}
li
a.js-setting-menu(data-id="account-setting") {{_ 'accounts'}}
+ li
+ a.js-setting-menu(data-id="announcement-setting") {{_ 'admin-announcement'}}
.main-body
if loading.get
+spinner
@@ -23,6 +25,8 @@ template(name="setting")
+email
else if accountSetting.get
+accountSettings
+ else if announcementSetting.get
+ +announcementSettings
template(name="general")
ul#registration-setting.setting-detail
@@ -96,3 +100,19 @@ template(name='accountSettings')
span {{_ 'no'}}
li
button.js-accounts-save.primary {{_ 'save'}}
+
+template(name='announcementSettings')
+ ul#announcement-setting.setting-detail
+ li
+ a.flex.js-toggle-activemessage
+ .materialCheckBox(class="{{#if currentSetting.enabled}}is-checked{{/if}}")
+
+ span {{_ 'admin-announcement-active'}}
+ li
+ .admin-announcement(class="{{#if currentSetting.enabled}}{{else}}hide{{/if}}")
+ ul
+ li
+ .title {{_ 'admin-announcement-title'}}
+ textarea#admin-announcement.form-control= currentSetting.body
+ li
+ button.js-announcement-save.primary {{_ 'save'}}
diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js
index a2993426..27f690ee 100644
--- a/client/components/settings/settingBody.js
+++ b/client/components/settings/settingBody.js
@@ -1,6 +1,7 @@
Meteor.subscribe('setting');
Meteor.subscribe('mailServer');
Meteor.subscribe('accountSettings');
+Meteor.subscribe('announcements');
BlazeComponent.extendComponent({
onCreated() {
@@ -9,6 +10,7 @@ BlazeComponent.extendComponent({
this.generalSetting = new ReactiveVar(true);
this.emailSetting = new ReactiveVar(false);
this.accountSetting = new ReactiveVar(false);
+ this.announcementSetting = new ReactiveVar(false);
},
setError(error) {
@@ -65,6 +67,7 @@ BlazeComponent.extendComponent({
this.generalSetting.set('registration-setting' === targetID);
this.emailSetting.set('email-setting' === targetID);
this.accountSetting.set('account-setting' === targetID);
+ this.announcementSetting.set('announcement-setting' === targetID);
}
},
@@ -152,3 +155,45 @@ BlazeComponent.extendComponent({
}];
},
}).register('accountSettings');
+
+BlazeComponent.extendComponent({
+ onCreated() {
+ this.loading = new ReactiveVar(false);
+ },
+
+ setLoading(w) {
+ this.loading.set(w);
+ },
+
+ currentSetting(){
+ return Announcements.findOne();
+ },
+
+ saveMessage() {
+ const message = $('#admin-announcement').val().trim();
+ Announcements.update(Announcements.findOne()._id, {
+ $set: { 'body': message },
+ });
+ },
+
+ toggleActive(){
+ this.setLoading(true);
+ const isActive = this.currentSetting().enabled;
+ Announcements.update(Announcements.findOne()._id, {
+ $set:{ 'enabled': !isActive},
+ });
+ this.setLoading(false);
+ if(isActive){
+ $('.admin-announcement').slideUp();
+ }else{
+ $('.admin-announcement').slideDown();
+ }
+ },
+
+ events() {
+ return [{
+ 'click a.js-toggle-activemessage': this.toggleActive,
+ 'click button.js-announcement-save': this.saveMessage,
+ }];
+ },
+}).register('announcementSettings');
diff --git a/client/components/settings/settingBody.styl b/client/components/settings/settingBody.styl
index 118d364c..fec64cee 100644
--- a/client/components/settings/settingBody.styl
+++ b/client/components/settings/settingBody.styl
@@ -61,10 +61,11 @@
.is-checked
border-bottom: 2px solid #2980b9;
border-right: 2px solid #2980b9;
-
- span
+
+ span
padding: 0 0.5rem
-
+
+ .admin-announcement,
.invite-people
padding-left 20px;
li
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index ebf743d8..3ef30996 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "الأعضاء",
"admin": "المدير",
"admin-desc": "إمكانية مشاهدة و تعديل و حذف أعضاء ، و تعديل إعدادات اللوحة أيضا.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "كل اللوحات",
"and-n-other-card": "And __count__ other بطاقة",
"and-n-other-card_plural": "And __count__ other بطاقات",
@@ -146,6 +149,7 @@
"comment-only": "التعليق فقط",
"comment-only-desc": "يمكن التعليق على بطاقات فقط.",
"computer": "حاسوب",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "إنشاء",
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index c6882ba1..2b77db28 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Izili",
"admin": "Merour",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Krouiñ",
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index a3a0e7aa..3764d81f 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membres",
"admin": "Administrador",
"admin-desc": "Pots veure i editar fitxes, eliminar membres, i canviar la configuració del tauler",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tots els taulers",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Només comentaris",
"comment-only-desc": "Només pots fer comentaris a les fitxes",
"computer": "Ordinador",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copia l'enllaç de la ftixa al porta-retalls",
"copyCardPopup-title": "Copia la fitxa",
"create": "Crea",
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index ca2cf7ef..a46529e1 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Členové",
"admin": "Administrátor",
"admin-desc": "Může zobrazovat a upravovat karty, mazat členy a měnit nastavení tabla.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Všechna tabla",
"and-n-other-card": "A __count__ další karta(y)",
"and-n-other-card_plural": "A __count__ dalších karet",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Počítač",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kopírovat adresu karty do mezipaměti",
"copyCardPopup-title": "Kopírovat kartu",
"create": "Vytvořit",
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index bc1120ed..7d180656 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Mitglieder",
"admin": "Admin",
"admin-desc": "Kann Karten anschauen und bearbeiten, Mitglieder entfernen und Boardeinstellungen ändern.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Alle Boards",
"and-n-other-card": "und eine andere Karte",
"and-n-other-card_plural": "und __count__ andere Karten",
@@ -146,6 +149,7 @@
"comment-only": "Nur kommentierbar",
"comment-only-desc": "Kann Karten nur Kommentieren",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kopiere die Karte in die Zwischenablage",
"copyCardPopup-title": "Karte kopieren",
"create": "Erstellen",
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 8db041a5..2c18438d 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index 64a720db..95be9865 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 5da9e81a..c7fa1264 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membroj",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Komputilo",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Krei",
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 5dca2df5..804fc816 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Miembros",
"admin": "Administrador",
"admin-desc": "Puedes ver y editar fichas, eliminar miembros, y cambiar los ajustes del tablero",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tableros",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Sólo comentario",
"comment-only-desc": "Solo se puede comentar en tarjetas.",
"computer": "Ordenador",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copiar enlace a la tarjeta al portapapeles",
"copyCardPopup-title": "Copy Card",
"create": "Crear",
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index edf7e09a..4aac43d4 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Kideak",
"admin": "Kudeatzailea",
"admin-desc": "Txartelak ikusi eta editatu ditzake, kideak kendu, eta arbelaren ezarpenak aldatu.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Arbel guztiak",
"and-n-other-card": "Eta beste txartel __count__",
"and-n-other-card_plural": "Eta beste __count__ txartel",
@@ -146,6 +149,7 @@
"comment-only": "Iruzkinak besterik ez",
"comment-only-desc": "Iruzkinak txarteletan soilik egin ditzake",
"computer": "Ordenagailua",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kopiatu txartela arbelera",
"copyCardPopup-title": "Copy Card",
"create": "Sortu",
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index c7c05a2b..3ff24ff7 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "اعضا",
"admin": "مدیر",
"admin-desc": "امکان دیدن و ویرایش کارتها،پاک کردن کاربران و تغییر تنظیمات برای تخته",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "تمام بردها",
"and-n-other-card": "و __count__ کارت دیگر",
"and-n-other-card_plural": "و __count__ کارت دیگر",
@@ -146,6 +149,7 @@
"comment-only": "صرفا یادداشت",
"comment-only-desc": "صرفا یادداشت برروی کارت ها",
"computer": "رایانه",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "ایجاد",
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index 0a834996..9587cee6 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Jäsenet",
"admin": "Ylläpitäjä",
"admin-desc": "Voi nähfä ja muokata kortteja, poistaa jäseniä, ja muuttaa taulun asetuksia.",
+ "admin-announcement": "Ilmoitus",
+ "admin-announcement-active": "Aktiivinen järjestelmänlaajuinen ilmoitus",
+ "admin-announcement-title": "Ilmoitus ylläpitäjältä",
"all-boards": "Kaikki taulut",
"and-n-other-card": "Ja __count__ muu kortti",
"and-n-other-card_plural": "Ja __count__ muuta korttia",
@@ -146,6 +149,7 @@
"comment-only": "Vain kommentointi",
"comment-only-desc": "Voi vain kommentoida kortteja",
"computer": "Tietokone",
+ "confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan",
"copy-card-link-to-clipboard": "Kopioi kortin linkki leikepöydälle",
"copyCardPopup-title": "Kopioi kortti",
"create": "Luo",
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index 4f431961..90738b72 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -2,8 +2,8 @@
"accept": "Accepter",
"act-activity-notify": "[Wekan] Notification d'activité",
"act-addAttachment": "a joint __attachment__ à __card__",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
+ "act-addChecklist": "a ajouté la checklist __checklist__ à __card__",
+ "act-addChecklistItem": "a ajouté l'élément __checklistItem__ à la checklist __checklist__ de __card__",
"act-addComment": "a commenté __card__ : __comment__",
"act-createBoard": "a créé __board__",
"act-createCard": "a ajouté __card__ à __list__",
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membres",
"admin": "Admin",
"admin-desc": "Peut voir et éditer les cartes, supprimer des membres et changer les paramètres du tableau.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tous les tableaux",
"and-n-other-card": "Et __count__ autre carte",
"and-n-other-card_plural": "Et __count__ autres cartes",
@@ -146,6 +149,7 @@
"comment-only": "Commentaire uniquement",
"comment-only-desc": "Ne peut que commenter des cartes.",
"computer": "Ordinateur",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copier le lien vers la carte dans le presse-papier",
"copyCardPopup-title": "Copier la carte",
"create": "Créer",
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 6b2dd9b6..523a6f53 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membros",
"admin": "Admin",
"admin-desc": "Pode ver e editar tarxetas, retirar membros e cambiar a configuración do taboleiro.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Todos os taboleiros",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computador",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Crear",
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index 17eb1ea1..ca20ac04 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -2,8 +2,8 @@
"accept": "אישור",
"act-activity-notify": "[Wekan] הודעת פעילות",
"act-addAttachment": " __attachment__ צורף לכרטיס __card__",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
+ "act-addChecklist": "רשימת משימות __checklist__ נוספה ל __card__",
+ "act-addChecklistItem": " __checklistItem__ נוסף לרשימת משימות __checklist__ בכרטיס __card__",
"act-addComment": "התקבלה תגובה על הכרטיס __card__:‏ __comment__",
"act-createBoard": "הלוח __board__ נוצר",
"act-createCard": "הכרטיס __card__ התווסף לרשימה __list__",
@@ -54,6 +54,9 @@
"addMemberPopup-title": "חברים",
"admin": "מנהל",
"admin-desc": "יש הרשאות לצפייה ולעריכת כרטיסים, להסרת חברים ולשינוי הגדרות לוח.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "כל הלוחות",
"and-n-other-card": "וכרטיס אחר",
"and-n-other-card_plural": "ו־__count__ כרטיסים אחרים",
@@ -146,6 +149,7 @@
"comment-only": "הערה בלבד",
"comment-only-desc": "ניתן להעיר על כרטיסים בלבד.",
"computer": "מחשב",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "העתק כרטיס",
"create": "יצירה",
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index 65bed443..37a296d0 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Tagok",
"admin": "Adminisztrátor",
"admin-desc": "Lehet szerkeszteni a lapot, tagokat távolíthat el, és és a fórumon-beállításainak módosítása.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Összes tábla",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Számítógép",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Létrehoz",
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index a8bb170f..08c03788 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Daftar Anggota",
"admin": "Admin",
"admin-desc": "Bisa tampilkan dan sunting kartu, menghapus partisipan, dan merubah setting panel",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Semua Panel",
"and-n-other-card": "Dan__menghitung__kartu lain",
"and-n-other-card_plural": "Dan__menghitung__kartu lain",
@@ -146,6 +149,7 @@
"comment-only": "Hanya komentar",
"comment-only-desc": "Bisa komen hanya di kartu",
"computer": "Komputer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Buat",
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index 72963a0f..02245f73 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membri",
"admin": "Amministratore",
"admin-desc": "Può vedere e modificare schede, rimuovere membri e modificare le impostazioni della bacheca.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tutte le bacheche",
"and-n-other-card": "E __count__ altra scheda",
"and-n-other-card_plural": "E __count__ altre schede",
@@ -146,6 +149,7 @@
"comment-only": "Solo commenti",
"comment-only-desc": "Puoi commentare solo le schede.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copia link della scheda sulla clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Crea",
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index f5c38263..2dcf87cd 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "メンバー",
"admin": "管理",
"admin-desc": "カードの閲覧と編集、メンバーの削除、ボードの設定変更が可能",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "全てのボード",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "コメントのみ",
"comment-only-desc": "カードにのみコメント可能",
"computer": "コンピューター",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "カードへのリンクをクリップボードにコピー",
"copyCardPopup-title": "Copy Card",
"create": "作成",
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index 1842be0a..d253d999 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "멤버",
"admin": "관리자",
"admin-desc": "카드를 보거나 수정하고, 멤버를 삭제하고, 보드에 대한 설정을 수정할 수 있습니다.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "전체 보드",
"and-n-other-card": "__count__ 개의 다른 카드",
"and-n-other-card_plural": "__count__ 개의 다른 카드들",
@@ -146,6 +149,7 @@
"comment-only": "댓글만 입력 가능",
"comment-only-desc": "카드에 댓글만 달수 있습니다.",
"computer": "내 컴퓨터",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "생성",
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index e8cbed4d..fead15c6 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Medlemmer",
"admin": "Admin",
"admin-desc": "Kan se og redigere kort, fjerne medlemmer, og endre innstillingene for tavlen.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Alle tavler",
"and-n-other-card": "Og __count__ andre kort",
"and-n-other-card_plural": "Og __count__ andre kort",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 6cbcca6b..cfebef2b 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Leden",
"admin": "Administrator",
"admin-desc": "Kan kaarten bekijken en wijzigen, leden verwijderen, en instellingen voor het bord aanpassen.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Alle borden",
"and-n-other-card": "En nog __count__ ander",
"and-n-other-card_plural": "En __count__ andere kaarten",
@@ -146,6 +149,7 @@
"comment-only": "Alleen reageren",
"comment-only-desc": "Kan alleen op kaarten reageren.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kopieer kaart link naar klembord",
"copyCardPopup-title": "Copy Card",
"create": "Aanmaken",
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 024382ff..929c89d8 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Członkowie",
"admin": "Admin",
"admin-desc": "Może widzieć i edytować karty, usuwać członków oraz zmieniać ustawienia tablicy.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Wszystkie tablice",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Komputer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Utwórz",
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 1ea99b76..ccb2bbe6 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Membros",
"admin": "Administrador",
"admin-desc": "Pode ver e editar cartões, remover membros e alterar configurações do quadro.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Todos os quadros",
"and-n-other-card": "E __count__ outro cartão",
"and-n-other-card_plural": "E __count__ outros cartões",
@@ -146,6 +149,7 @@
"comment-only": "Somente comentários",
"comment-only-desc": "Pode comentar apenas em cartões.",
"computer": "Computador",
+ "confirm-checklist-delete-dialog": "Tem a certeza de que pretende eliminar lista de verificação",
"copy-card-link-to-clipboard": "Copiar link do cartão para a área de transferência",
"copyCardPopup-title": "Copy Card",
"create": "Criar",
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index 926d63dc..ad95902b 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 5b26f7c2..88dfbce2 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Участники",
"admin": "Администратор",
"admin-desc": "Может просматривать и редактировать карточки, удалять участников и управлять настройками доски.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Все доски",
"and-n-other-card": "И __count__ другая карточка",
"and-n-other-card_plural": "И __count__ другие карточки",
@@ -146,6 +149,7 @@
"comment-only": "Только комментирование",
"comment-only-desc": "Может комментировать только карточки.",
"computer": "Загрузить с компьютера",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Создать",
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index 01b83edb..9c1a8245 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Članovi",
"admin": "Administrator",
"admin-desc": "Može da pregleda i menja kartice, uklanja članove i menja podešavanja table",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Sve table",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 180e6f58..574dc3e3 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -2,8 +2,8 @@
"accept": "Acceptera",
"act-activity-notify": "[Wekan] Aktivitetsavisering",
"act-addAttachment": "bifogade __attachment__ to __card__",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
+ "act-addChecklist": "lade till checklist __checklist__ till __card__",
+ "act-addChecklistItem": "lade till __checklistItem__ till checklistan __checklist__ on __card__",
"act-addComment": "kommenterade __card__: __comment__",
"act-createBoard": "skapade __board__",
"act-createCard": "lade till __card__ to __list__",
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Medlemmar",
"admin": "Adminstratör",
"admin-desc": "Kan visa och redigera kort, ta bort medlemmar och ändra inställningarna för anslagstavlan.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Alla anslagstavlor",
"and-n-other-card": "Och __count__ annat kort",
"and-n-other-card_plural": "Och __count__ andra kort",
@@ -146,6 +149,7 @@
"comment-only": "Kommentera endast",
"comment-only-desc": "Kan endast kommentera kort.",
"computer": "Dator",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kopiera kortlänk till urklipp",
"copyCardPopup-title": "Kopiera kort",
"create": "Skapa",
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index a1f81080..c7794d4f 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index a5cee692..0568ceae 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "สมาชิก",
"admin": "ผู้ดูแลระบบ",
"admin-desc": "สามารถดูและแก้ไขการ์ด ลบสมาชิก และเปลี่ยนการตั้งค่าบอร์ดได้",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "บอร์ดทั้งหมด",
"and-n-other-card": "และการ์ดอื่น __count__",
"and-n-other-card_plural": "และการ์ดอื่น ๆ __count__",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "คอมพิวเตอร์",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "สร้าง",
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index e64510b5..b9270ae5 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Üyeler",
"admin": "Yönetici",
"admin-desc": "Kartları görüntüleyebilir ve düzenleyebilir, üyeleri çıkarabilir ve pano ayarlarını değiştirebilir.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tüm panolar",
"and-n-other-card": "Ve __count__ diğer kart",
"and-n-other-card_plural": "Ve __count__ diğer kart",
@@ -146,6 +149,7 @@
"comment-only": "Sadece yorum",
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"computer": "Bilgisayar",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Kartın linkini kopyala",
"copyCardPopup-title": "Kartı Kopyala",
"create": "Oluştur",
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index 0da6ce1f..04121321 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Користувачі",
"admin": "Адмін",
"admin-desc": "Може переглядати і редагувати картки, відаляти учасників та змінювати налаштування для дошки.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Всі дошки",
"and-n-other-card": "та __count__ інших карток",
"and-n-other-card_plural": "та __count__ інших карток",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index 93248d56..6ae0d150 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "Thành Viên",
"admin": "Quản Trị Viên",
"admin-desc": "Có thể xem và chỉnh sửa những thẻ, xóa thành viên và thay đổi cài đặt cho bảng.",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "Tất cả các bảng",
"and-n-other-card": "Và __count__ thẻ khác",
"and-n-other-card_plural": "Và __count__ thẻ khác",
@@ -146,6 +149,7 @@
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"create": "Create",
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index f49f7b26..3c4fafb2 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "成员",
"admin": "管理员",
"admin-desc": "可以浏览并编辑卡片,移除成员,并且更改该看板的设置",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "全部看板",
"and-n-other-card": "和其他 __count__ 个卡片",
"and-n-other-card_plural": "和其他 __count__ 个卡片",
@@ -146,6 +149,7 @@
"comment-only": "仅能评论",
"comment-only-desc": "只能在卡片上评论。",
"computer": "从本机上传",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "复制卡片链接到剪贴板",
"copyCardPopup-title": "复制卡片",
"create": "创建",
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 23566314..60045b91 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -54,6 +54,9 @@
"addMemberPopup-title": "成員",
"admin": "管理員",
"admin-desc": "可以瀏覽並編輯卡片,移除成員,並且更改該看板的設定",
+ "admin-announcement": "Announcement",
+ "admin-announcement-active": "Active System-Wide Announcement",
+ "admin-announcement-title": "Announcement from Administrator",
"all-boards": "全部看板",
"and-n-other-card": "和其他 __count__ 個卡片",
"and-n-other-card_plural": "和其他 __count__ 個卡片",
@@ -146,6 +149,7 @@
"comment-only": "只可以發表評論",
"comment-only-desc": "只可以對卡片發表評論",
"computer": "從本機上傳",
+ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "將卡片連結複製到剪貼板",
"copyCardPopup-title": "Copy Card",
"create": "建立",
diff --git a/models/announcements.js b/models/announcements.js
new file mode 100644
index 00000000..2cb1e1b7
--- /dev/null
+++ b/models/announcements.js
@@ -0,0 +1,36 @@
+Announcements = new Mongo.Collection('announcements');
+
+Announcements.attachSchema(new SimpleSchema({
+ enabled: {
+ type: Boolean,
+ defaultValue: false,
+ },
+ title: {
+ type: String,
+ optional: true,
+ },
+ body: {
+ type: String,
+ optional: true,
+ },
+ sort: {
+ type: Number,
+ decimal: true,
+ },
+}));
+
+Announcements.allow({
+ update(userId) {
+ const user = Users.findOne(userId);
+ return user && user.isAdmin;
+ },
+});
+
+if (Meteor.isServer) {
+ Meteor.startup(() => {
+ const announcements = Announcements.findOne({});
+ if(!announcements){
+ Announcements.insert({enabled: false, sort: 0});
+ }
+ });
+}
diff --git a/models/trelloCreator.js b/models/trelloCreator.js
index e7f98e85..0f801ea3 100644
--- a/models/trelloCreator.js
+++ b/models/trelloCreator.js
@@ -113,7 +113,6 @@ export class TrelloCreator {
check(trelloLabels, [Match.ObjectIncluding({
// XXX refine control by validating 'color' against a list of allowed
// values (is it worth the maintenance?)
- color: String,
name: String,
})]);
}
@@ -184,7 +183,7 @@ export class TrelloCreator {
trelloBoard.labels.forEach((label) => {
const labelToCreate = {
_id: Random.id(6),
- color: label.color,
+ color: label.color ? label.color : 'black',
name: label.name,
};
// We need to remember them by Trello ID, as this is the only ref we have
@@ -398,27 +397,29 @@ export class TrelloCreator {
createChecklists(trelloChecklists) {
trelloChecklists.forEach((checklist) => {
- // Create the checklist
- const checklistToCreate = {
- cardId: this.cards[checklist.idCard],
- title: checklist.name,
- createdAt: this._now(),
- sort: checklist.pos,
- };
- const checklistId = Checklists.direct.insert(checklistToCreate);
- // keep track of Trello id => WeKan id
- this.checklists[checklist.id] = checklistId;
- // Now add the items to the checklist
- const itemsToCreate = [];
- checklist.checkItems.forEach((item) => {
- itemsToCreate.push({
- _id: checklistId + itemsToCreate.length,
- title: item.name,
- isFinished: item.state === 'complete',
- sort: item.pos,
+ if (this.cards[checklist.idCard]) {
+ // Create the checklist
+ const checklistToCreate = {
+ cardId: this.cards[checklist.idCard],
+ title: checklist.name,
+ createdAt: this._now(),
+ sort: checklist.pos,
+ };
+ const checklistId = Checklists.direct.insert(checklistToCreate);
+ // keep track of Trello id => WeKan id
+ this.checklists[checklist.id] = checklistId;
+ // Now add the items to the checklist
+ const itemsToCreate = [];
+ checklist.checkItems.forEach((item) => {
+ itemsToCreate.push({
+ _id: checklistId + itemsToCreate.length,
+ title: item.name,
+ isFinished: item.state === 'complete',
+ sort: item.pos,
+ });
});
- });
- Checklists.direct.update(checklistId, {$set: {items: itemsToCreate}});
+ Checklists.direct.update(checklistId, {$set: {items: itemsToCreate}});
+ }
});
}
diff --git a/package.json b/package.json
index 0cad0e28..71c63104 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "0.43.0",
+ "version": "0.45.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 07f1c8ef..bfd99481 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 30,
+ appVersion = 32,
# Increment this for every release.
- appMarketingVersion = (defaultText = "0.43.0~2017-09-25"),
+ appMarketingVersion = (defaultText = "0.45.0~2017-10-01"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/publications/announcements.js b/server/publications/announcements.js
new file mode 100644
index 00000000..efebf640
--- /dev/null
+++ b/server/publications/announcements.js
@@ -0,0 +1,3 @@
+Meteor.publish('announcements', function() {
+ return Announcements.find();
+});