diff options
author | Lauri Ojansivu <x@xet7.org> | 2018-05-08 11:14:26 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2018-05-08 11:14:26 +0300 |
commit | 0ecbb734198280de83f1e306647e5d9d8a3ffef8 (patch) | |
tree | 0ed596f95d3b46a0080a8869dab90a3b177b8365 | |
parent | daeb06f7b793f2e9f7590296e45b3d129ccb0a3a (diff) | |
parent | f3aa524b773f746d44c69fb432b6905bd139792d (diff) | |
download | wekan-0ecbb734198280de83f1e306647e5d9d8a3ffef8.tar.gz wekan-0ecbb734198280de83f1e306647e5d9d8a3ffef8.tar.bz2 wekan-0ecbb734198280de83f1e306647e5d9d8a3ffef8.zip |
Merge branch 'devel'
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, |