summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md21
-rw-r--r--client/components/settings/settingBody.jade10
-rw-r--r--client/components/settings/settingBody.js67
-rw-r--r--client/components/users/userHeader.jade5
-rw-r--r--client/components/users/userHeader.js3
-rw-r--r--i18n/ar.i18n.json1
-rw-r--r--i18n/bg.i18n.json1
-rw-r--r--i18n/br.i18n.json1
-rw-r--r--i18n/ca.i18n.json1
-rw-r--r--i18n/cs.i18n.json1
-rw-r--r--i18n/de.i18n.json3
-rw-r--r--i18n/el.i18n.json1
-rw-r--r--i18n/en-GB.i18n.json1
-rw-r--r--i18n/en.i18n.json1
-rw-r--r--i18n/eo.i18n.json1
-rw-r--r--i18n/es-AR.i18n.json1
-rw-r--r--i18n/es.i18n.json1
-rw-r--r--i18n/eu.i18n.json1
-rw-r--r--i18n/fa.i18n.json1
-rw-r--r--i18n/fi.i18n.json5
-rw-r--r--i18n/fr.i18n.json1
-rw-r--r--i18n/gl.i18n.json1
-rw-r--r--i18n/he.i18n.json1
-rw-r--r--i18n/hu.i18n.json1
-rw-r--r--i18n/hy.i18n.json1
-rw-r--r--i18n/id.i18n.json1
-rw-r--r--i18n/ig.i18n.json1
-rw-r--r--i18n/it.i18n.json1
-rw-r--r--i18n/ja.i18n.json1
-rw-r--r--i18n/ko.i18n.json1
-rw-r--r--i18n/lv.i18n.json1
-rw-r--r--i18n/mn.i18n.json1
-rw-r--r--i18n/nb.i18n.json1
-rw-r--r--i18n/nl.i18n.json1
-rw-r--r--i18n/pl.i18n.json1
-rw-r--r--i18n/pt-BR.i18n.json1
-rw-r--r--i18n/pt.i18n.json1
-rw-r--r--i18n/ro.i18n.json1
-rw-r--r--i18n/ru.i18n.json1
-rw-r--r--i18n/sr.i18n.json1
-rw-r--r--i18n/sv.i18n.json1
-rw-r--r--i18n/ta.i18n.json1
-rw-r--r--i18n/th.i18n.json1
-rw-r--r--i18n/tr.i18n.json1
-rw-r--r--i18n/uk.i18n.json1
-rw-r--r--i18n/vi.i18n.json1
-rw-r--r--i18n/zh-CN.i18n.json1
-rw-r--r--i18n/zh-TW.i18n.json1
-rw-r--r--models/accountSettings.js8
-rw-r--r--models/boards.js29
-rw-r--r--models/cards.js7
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/migrations.js2
54 files changed, 165 insertions, 42 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 34c1b50d..49ee9b39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,22 @@
+# v0.95 2018-05-08 Wekan release
+
+This release adds the following new features:
+
+* [REST API Edit Card Labels](https://github.com/wekan/wekan/pull/1626);
+* [Add a new API route to create a new label in a given board](https://github.com/wekan/wekan/pull/1630);
+* [Admin Panel: Option to block username change](https://github.com/wekan/wekan/pull/1627).
+
+and fixed the following bugs:
+
+* [Error: title is required](https://github.com/wekan/wekan/issues/1576).
+
+Thanks to GitHub users Shahar-Y, thiagofernando and ThisNeko for their contributions.
+
# v0.94 2018-05-03 Wekan release
This release adds the following new features:
-* [REST API POST /cards: allow setting card members](https://github.com/wekan/wekan/commit/e576e0f9cfc4f61e54da8920a8e29fe43227c266).
+* [REST API POST /cards: allow setting card members](https://github.com/wekan/wekan/pull/1622).
Thanks to GitHub user couscous3 for contributions.
@@ -44,8 +58,7 @@ Thanks to GitHub user xet7 for contributions.
This release fixes the following bugs:
-- [Fix Wekan import / Export for
- ChecklistItems](https://github.com/wekan/wekan/commit/30b17ff6c92df07922f875071e864cf688902293).
+- [Fix Wekan import / Export for ChecklistItems](https://github.com/wekan/wekan/pull/1613).
Thanks to GitHub user zebby76 for contributions.
@@ -85,7 +98,7 @@ This release fixes the following bugs:
- [Fix Switch List/swimlane view only working with admin privileges](https://github.com/wekan/wekan/issues/1567);
- [Fix Wekan logo positioning](https://github.com/wekan/wekan/issues/1378);
-- [Fix checklists items migration error "title is required"](https://github.com/wekan/wekan/issues/1576);
+- [Tried to fix, but fix did not work: Fix checklists items migration error "title is required"](https://github.com/wekan/wekan/issues/1576);
- [Removed paxctl alpine fix #1303 , because it did not work anymore, so Docker container
did not build correctly](https://github.com/wekan/wekan/commit/ce659632174ba25ca9b5e85b053fde02fd9c3928);
- [Use curl to download 100% CPU fibers fixed node in snap, and remove paxctl from
diff --git a/client/components/settings/settingBody.jade b/client/components/settings/settingBody.jade
index 479ccd3e..5bc7972d 100644
--- a/client/components/settings/settingBody.jade
+++ b/client/components/settings/settingBody.jade
@@ -94,7 +94,7 @@ template(name='email')
template(name='accountSettings')
ul#account-setting.setting-detail
- li.smtp-form
+ li.accounts-form
.title {{_ 'accounts-allowEmailChange'}}
.form-group.flex
input.form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="true" checked="{{#if allowEmailChange}}checked{{/if}}")
@@ -102,6 +102,14 @@ template(name='accountSettings')
input.form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="false" checked="{{#unless allowEmailChange}}checked{{/unless}}")
span {{_ 'no'}}
li
+ li.accounts-form
+ .title {{_ 'accounts-allowUserNameChange'}}
+ .form-group.flex
+ input.form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="true" checked="{{#if allowUserNameChange}}checked{{/if}}")
+ span {{_ 'yes'}}
+ input.form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="false" checked="{{#unless allowUserNameChange}}checked{{/unless}}")
+ span {{_ 'no'}}
+ li
button.js-accounts-save.primary {{_ 'save'}}
template(name='announcementSettings')
diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js
index 8c1ff1c7..7230d893 100644
--- a/client/components/settings/settingBody.js
+++ b/client/components/settings/settingBody.js
@@ -23,7 +23,7 @@ BlazeComponent.extendComponent({
checkField(selector) {
const value = $(selector).val();
- if(!value || value.trim() === ''){
+ if (!value || value.trim() === '') {
$(selector).parents('li.smtp-form').addClass('has-error');
throw Error('blank field');
} else {
@@ -31,7 +31,7 @@ BlazeComponent.extendComponent({
}
},
- currentSetting(){
+ currentSetting() {
return Settings.findOne();
},
@@ -44,23 +44,23 @@ BlazeComponent.extendComponent({
sort: ['title'],
});
},
- toggleRegistration(){
+ toggleRegistration() {
this.setLoading(true);
const registrationClosed = this.currentSetting().disableRegistration;
- Settings.update(Settings.findOne()._id, {$set:{disableRegistration: !registrationClosed}});
+ Settings.update(Settings.findOne()._id, {$set: {disableRegistration: !registrationClosed}});
this.setLoading(false);
- if(registrationClosed){
+ if (registrationClosed) {
$('.invite-people').slideUp();
- }else{
+ } else {
$('.invite-people').slideDown();
}
},
- toggleTLS(){
+ toggleTLS() {
$('#mail-server-tls').toggleClass('is-checked');
},
- switchMenu(event){
+ switchMenu(event) {
const target = $(event.target);
- if(!target.hasClass('active')){
+ if (!target.hasClass('active')) {
$('.side-menu li.active').removeClass('active');
target.parent().addClass('active');
const targetID = target.data('id');
@@ -71,9 +71,9 @@ BlazeComponent.extendComponent({
}
},
- checkBoard(event){
+ checkBoard(event) {
let target = $(event.target);
- if(!target.hasClass('js-toggle-board-choose')){
+ if (!target.hasClass('js-toggle-board-choose')) {
target = target.parent();
}
const checkboxId = target.attr('id');
@@ -81,7 +81,7 @@ BlazeComponent.extendComponent({
$(`#${checkboxId}`).toggleClass('is-checked');
},
- inviteThroughEmail(){
+ inviteThroughEmail() {
const emails = $('#email-to-invite').val().trim().split('\n').join(',').split(',');
const boardsToInvite = [];
$('.js-toggle-board-choose .materialCheckBox.is-checked').each(function () {
@@ -104,19 +104,23 @@ BlazeComponent.extendComponent({
}
},
- saveMailServerInfo(){
+ saveMailServerInfo() {
this.setLoading(true);
$('li').removeClass('has-error');
- try{
+ try {
const host = this.checkField('#mail-server-host');
const port = this.checkField('#mail-server-port');
const username = $('#mail-server-username').val().trim();
const password = $('#mail-server-password').val().trim();
const from = this.checkField('#mail-server-from');
const tls = $('#mail-server-tls.is-checked').length > 0;
- Settings.update(Settings.findOne()._id, {$set:{'mailServer.host':host, 'mailServer.port': port, 'mailServer.username': username,
- 'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from}});
+ Settings.update(Settings.findOne()._id, {
+ $set: {
+ 'mailServer.host': host, 'mailServer.port': port, 'mailServer.username': username,
+ 'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from,
+ },
+ });
} catch (e) {
return;
} finally {
@@ -136,11 +140,12 @@ BlazeComponent.extendComponent({
const message = `${TAPi18n.__(err.error)}\n${reason}`;
console.log(message, err);
alert(message);
- } /* eslint-enable no-console */
+ }
+ /* eslint-enable no-console */
});
},
- events(){
+ events() {
return [{
'click a.js-toggle-registration': this.toggleRegistration,
'click a.js-toggle-tls': this.toggleTLS,
@@ -154,20 +159,28 @@ BlazeComponent.extendComponent({
}).register('setting');
BlazeComponent.extendComponent({
- saveAllowEmailChange() {
+
+ saveAccountsChange() {
const allowEmailChange = ($('input[name=allowEmailChange]:checked').val() === 'true');
+ const allowUserNameChange = ($('input[name=allowUserNameChange]:checked').val() === 'true');
AccountSettings.update('accounts-allowEmailChange', {
- $set: { 'booleanValue': allowEmailChange },
+ $set: {'booleanValue': allowEmailChange},
+ });
+ AccountSettings.update('accounts-allowUserNameChange', {
+ $set: {'booleanValue': allowUserNameChange},
});
},
allowEmailChange() {
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
},
+ allowUserNameChange() {
+ return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
+ },
events() {
return [{
- 'click button.js-accounts-save': this.saveAllowEmailChange,
+ 'click button.js-accounts-save': this.saveAccountsChange,
}];
},
}).register('accountSettings');
@@ -181,27 +194,27 @@ BlazeComponent.extendComponent({
this.loading.set(w);
},
- currentSetting(){
+ currentSetting() {
return Announcements.findOne();
},
saveMessage() {
const message = $('#admin-announcement').val().trim();
Announcements.update(Announcements.findOne()._id, {
- $set: { 'body': message },
+ $set: {'body': message},
});
},
- toggleActive(){
+ toggleActive() {
this.setLoading(true);
const isActive = this.currentSetting().enabled;
Announcements.update(Announcements.findOne()._id, {
- $set:{ 'enabled': !isActive},
+ $set: {'enabled': !isActive},
});
this.setLoading(false);
- if(isActive){
+ if (isActive) {
$('.admin-announcement').slideUp();
- }else{
+ } else {
$('.admin-announcement').slideDown();
}
},
diff --git a/client/components/users/userHeader.jade b/client/components/users/userHeader.jade
index 4ac59f45..a8fdb143 100644
--- a/client/components/users/userHeader.jade
+++ b/client/components/users/userHeader.jade
@@ -33,7 +33,10 @@ template(name="editProfilePopup")
| {{_ 'username'}}
span.error.hide.username-taken
| {{_ 'error-username-taken'}}
- input.js-profile-username(type="text" value=username)
+ if allowUserNameChange
+ input.js-profile-username(type="text" value=username)
+ else
+ input.js-profile-username(type="text" value=username readonly)
label
| {{_ 'initials'}}
input.js-profile-initials(type="text" value=profile.initials)
diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js
index be7d4dcb..d96a9b3d 100644
--- a/client/components/users/userHeader.js
+++ b/client/components/users/userHeader.js
@@ -24,6 +24,9 @@ Template.editProfilePopup.helpers({
allowEmailChange() {
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
},
+ allowUserNameChange() {
+ return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
+ },
});
Template.editProfilePopup.events({
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index c91f0225..4e77fa42 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -434,6 +434,7 @@
"no": "لا",
"accounts": "الحسابات",
"accounts-allowEmailChange": "السماح بتغيير البريد الإلكتروني",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index e1c76a3d..26fea252 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -434,6 +434,7 @@
"no": "Не",
"accounts": "Профили",
"accounts-allowEmailChange": "Разреши промяна на имейла",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Създаден на",
"verified": "Потвърден",
"active": "Активен",
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index 26367e66..817615bf 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index cea7aa35..02e07af8 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Comptes",
"accounts-allowEmailChange": "Permet modificar correu electrònic",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Creat ",
"verified": "Verificat",
"active": "Actiu",
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 926c44f5..058e5184 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -434,6 +434,7 @@
"no": "Ne",
"accounts": "Účty",
"accounts-allowEmailChange": "Povolit změnu Emailu",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Vytvořeno v",
"verified": "Ověřen",
"active": "Aktivní",
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index c27ba255..c87a5297 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -433,7 +433,8 @@
"yes": "Ja",
"no": "Nein",
"accounts": "Konten",
- "accounts-allowEmailChange": "Ändern der E-Mailadresse zulassen",
+ "accounts-allowEmailChange": "Ändern der E-Mailadresse erlauben",
+ "accounts-allowUserNameChange": "Ändern des Benutzernamens erlauben",
"createdAt": "Erstellt am",
"verified": "Geprüft",
"active": "Aktiv",
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index ae1d7317..0befbe1f 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -434,6 +434,7 @@
"no": "Όχι",
"accounts": "Λογαριασμοί",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 4a4b96da..d9b4c0f9 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index 1f46dce6..6e7d5526 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 09c4ddb2..5b783648 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index e9a7d38c..d450d000 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Cuentas",
"accounts-allowEmailChange": "Permitir Cambio de Email",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Creado en",
"verified": "Verificado",
"active": "Activo",
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index c1d9fa3c..08aca6e2 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Cuentas",
"accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Creado en",
"verified": "Verificado",
"active": "Activo",
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index c57233a4..025fddfb 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -434,6 +434,7 @@
"no": "Ez",
"accounts": "Kontuak",
"accounts-allowEmailChange": "Baimendu e-mail aldaketa",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Noiz sortua",
"verified": "Egiaztatuta",
"active": "Gaituta",
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index cb963369..cf9e062f 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -434,6 +434,7 @@
"no": "خیر",
"accounts": "حساب‌ها",
"accounts-allowEmailChange": "اجازه تغییر رایانامه",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "ساخته شده در",
"verified": "معتبر",
"active": "فعال",
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index 35e98eeb..a68831dc 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -372,7 +372,7 @@
"upload": "Lähetä",
"upload-avatar": "Lähetä profiilikuva",
"uploaded-avatar": "Profiilikuva lähetetty",
- "username": "Käyttäjänimi",
+ "username": "Käyttäjätunnus",
"view-it": "Näytä se",
"warn-list-archived": "varoitus: tämä kortti on roskakorissa olevassa listassa",
"watch": "Seuraa",
@@ -400,7 +400,7 @@
"smtp-tls-description": "Ota käyttöön TLS tuki SMTP palvelimelle",
"smtp-host": "SMTP isäntä",
"smtp-port": "SMTP portti",
- "smtp-username": "Käyttäjänimi",
+ "smtp-username": "Käyttäjätunnus",
"smtp-password": "Salasana",
"smtp-tls": "TLS tuki",
"send-from": "Lähettäjä",
@@ -434,6 +434,7 @@
"no": "Ei",
"accounts": "Tilit",
"accounts-allowEmailChange": "Salli sähköpostiosoitteen muuttaminen",
+ "accounts-allowUserNameChange": "Salli käyttäjätunnuksen muuttaminen",
"createdAt": "Luotu",
"verified": "Varmistettu",
"active": "Aktiivinen",
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index bc51682b..a16a1b5b 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -434,6 +434,7 @@
"no": "Non",
"accounts": "Comptes",
"accounts-allowEmailChange": "Autoriser le changement d'adresse mail",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Créé le",
"verified": "Vérifié",
"active": "Actif",
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 4539656e..faab1d9b 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index a2ca8e9d..4ae0505e 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -434,6 +434,7 @@
"no": "לא",
"accounts": "חשבונות",
"accounts-allowEmailChange": "אפשר שינוי דוא\"ל",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "נוצר ב",
"verified": "עבר אימות",
"active": "פעיל",
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index eeb7b24a..94af52d1 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -434,6 +434,7 @@
"no": "Nem",
"accounts": "Fiókok",
"accounts-allowEmailChange": "E-mail megváltoztatásának engedélyezése",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Létrehozva",
"verified": "Ellenőrizve",
"active": "Aktív",
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index afc4cfa8..8c06d36d 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index f9fbb1b0..2bc60852 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index 360eb6bb..f7746d5c 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -434,6 +434,7 @@
"no": "Mba",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Ekere na",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index 2908c287..36879924 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Profili",
"accounts-allowEmailChange": "Permetti modifica dell'email",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "creato alle",
"verified": "Verificato",
"active": "Attivo",
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index 59b7b02a..c55be771 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -434,6 +434,7 @@
"no": "いいえ",
"accounts": "アカウント",
"accounts-allowEmailChange": "メールアドレスの変更を許可",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index 1eb8f47e..35d2b447 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index 29a4f808..82bfa1cc 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index 208b4b9c..13e96ed6 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index 4cb55831..3b30ada9 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 2896d5b1..0696409d 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -434,6 +434,7 @@
"no": "Nee",
"accounts": "Accounts",
"accounts-allowEmailChange": "Sta E-mailadres wijzigingen toe",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Gemaakt op",
"verified": "Geverifieerd",
"active": "Actief",
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index d1a91b2d..99c7ae3c 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -434,6 +434,7 @@
"no": "Nie",
"accounts": "Konto",
"accounts-allowEmailChange": "Zezwól na zmianę adresu email",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Stworzono o",
"verified": "Zweryfikowane",
"active": "Aktywny",
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 976379f5..613ae44b 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -434,6 +434,7 @@
"no": "Não",
"accounts": "Contas",
"accounts-allowEmailChange": "Permitir Mudança de Email",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Criado em",
"verified": "Verificado",
"active": "Ativo",
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index a5cbb475..b78bbca8 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -434,6 +434,7 @@
"no": "Não",
"accounts": "Contas",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verificado",
"active": "Ativo",
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index 916524a1..014ad3d4 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 1fbadbb7..447e8f0d 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -434,6 +434,7 @@
"no": "Нет",
"accounts": "Учетные записи",
"accounts-allowEmailChange": "Разрешить изменение электронной почты",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Создано на",
"verified": "Проверено",
"active": "Действующий",
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index 22cad5ec..14475751 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 4ad85e22..4cc2d987 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -434,6 +434,7 @@
"no": "Nej",
"accounts": "Konton",
"accounts-allowEmailChange": "Tillåt e-poständring",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Skapad vid",
"verified": "Verifierad",
"active": "Aktiv",
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index ab7c9880..d4cf4d88 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index 1118c6db..7cae51e4 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index 2389e1c7..7f9cfd3d 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -434,6 +434,7 @@
"no": "Hayır",
"accounts": "Hesaplar",
"accounts-allowEmailChange": "E-posta Değiştirmeye İzin Ver",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Oluşturulma tarihi",
"verified": "Doğrulanmış",
"active": "Aktif",
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index a3266b8d..599ebf91 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index eb8bada9..73fc1bcb 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -434,6 +434,7 @@
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index 059ccf39..f1860a83 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -434,6 +434,7 @@
"no": "否",
"accounts": "账号",
"accounts-allowEmailChange": "允许邮箱变更",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "创建于",
"verified": "已验证",
"active": "活跃",
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 251d6344..082668dd 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -434,6 +434,7 @@
"no": "否",
"accounts": "帳號",
"accounts-allowEmailChange": "准許變更電子信箱",
+ "accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
diff --git a/models/accountSettings.js b/models/accountSettings.js
index db4087c0..6dfbac5d 100644
--- a/models/accountSettings.js
+++ b/models/accountSettings.js
@@ -23,11 +23,17 @@ AccountSettings.allow({
if (Meteor.isServer) {
Meteor.startup(() => {
- AccountSettings.upsert({ _id: 'accounts-allowEmailChange' }, {
+ AccountSettings.upsert({_id: 'accounts-allowEmailChange'}, {
$setOnInsert: {
booleanValue: false,
sort: 0,
},
});
+ AccountSettings.upsert({_id: 'accounts-allowUserNameChange'}, {
+ $setOnInsert: {
+ booleanValue: false,
+ sort: 1,
+ },
+ });
});
}
diff --git a/models/boards.js b/models/boards.js
index 3e05b499..c863c5ce 100644
--- a/models/boards.js
+++ b/models/boards.js
@@ -719,4 +719,33 @@ if (Meteor.isServer) {
});
}
});
+
+ JsonRoutes.add('PUT', '/api/boards/:id/labels', function (req, res) {
+ Authentication.checkUserId(req.userId);
+ const id = req.params.id;
+ try {
+ if (req.body.hasOwnProperty('label')) {
+ const board = Boards.findOne({ _id: id });
+ const color = req.body.label.color;
+ const name = req.body.label.name;
+ const labelId = Random.id(6);
+ if (!board.getLabel(name, color)) {
+ Boards.direct.update({ _id: id }, { $push: { labels: { _id: labelId, name, color } } });
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ data: labelId,
+ });
+ } else {
+ JsonRoutes.sendResult(res, {
+ code: 200,
+ });
+ }
+ }
+ }
+ catch (error) {
+ JsonRoutes.sendResult(res, {
+ data: error,
+ });
+ }
+ });
}
diff --git a/models/cards.js b/models/cards.js
index 721e1ee7..01f79847 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -499,7 +499,7 @@ if (Meteor.isServer) {
userId: req.body.authorId,
swimlaneId: req.body.swimlaneId,
sort: 0,
- members: members,
+ members,
});
JsonRoutes.sendResult(res, {
code: 200,
@@ -543,6 +543,11 @@ if (Meteor.isServer) {
Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false},
{$set: {description: newDescription}});
}
+ if (req.body.hasOwnProperty('labelIds')) {
+ const newlabelIds = req.body.labelIds;
+ Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false},
+ {$set: {labelIds: newlabelIds}});
+ }
JsonRoutes.sendResult(res, {
code: 200,
data: {
diff --git a/package.json b/package.json
index 68b5fd5c..a7f02cae 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "0.94.0",
+ "version": "0.95.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 12a001c2..bd5994e9 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 = 79,
+ appVersion = 80,
# Increment this for every release.
- appMarketingVersion = (defaultText = "0.94.0~2018-05-03"),
+ appMarketingVersion = (defaultText = "0.95.0~2018-05-08"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/migrations.js b/server/migrations.js
index 684a8bbe..0fdd1fe0 100644
--- a/server/migrations.js
+++ b/server/migrations.js
@@ -193,7 +193,7 @@ Migrations.add('add-checklist-items', () => {
// Create new items
_.sortBy(checklist.items, 'sort').forEach((item, index) => {
ChecklistItems.direct.insert({
- title: item.title,
+ title: checklist.title,
sort: index,
isFinished: item.isFinished,
checklistId: checklist._id,