diff options
69 files changed, 630 insertions, 108 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d954f603..594e3513 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +# Upcoming Wekan release + +This release adds the following new features: + +- [Pre-fill the title of checklists (Trello-style)](https://github.com/wekan/wekan/pull/3030). + Thanks to boeserwolf. +- [Implement option to change the first day of the week in user settings](https://github.com/wekan/wekan/pull/3032). + Thanks to marc1006. + +and fixes the following bugs: + +- [Multiple lint issue fixes](https://github.com/wekan/wekan/pull/3031). + Thanks to marc1006. +- [Fix lint errors in lint error fix](https://github.com/wekan/wekan/commit/9e95c06415e614e587d684ff9660cc53c5f8c8d3). + Thanks to xet7. +- [Set Snap MongoDB compatibility to 4.2 according to Meteor ChangeLog](https://github.com/wekan/wekan/commit/7de18eccea3854db3be6197bf21afbfd3ddb65a6). + Thanks to xet7. + +Thanks to above GitHub users for their contributions and translators for their translations. + # v3.97 2020-04-19 Wekan release This release adds the following new features: diff --git a/client/components/boards/boardArchive.js b/client/components/boards/boardArchive.js index 9f4d60a1..5a5cf772 100644 --- a/client/components/boards/boardArchive.js +++ b/client/components/boards/boardArchive.js @@ -7,7 +7,7 @@ BlazeComponent.extendComponent({ return Boards.find( { archived: true }, { - sort: { sort: 1 /* boards default sorting */ } + sort: { sort: 1 /* boards default sorting */ }, }, ); }, diff --git a/client/components/boards/boardsList.js b/client/components/boards/boardsList.js index c700084f..9208fdb2 100644 --- a/client/components/boards/boardsList.js +++ b/client/components/boards/boardsList.js @@ -9,7 +9,7 @@ Template.boardListHeaderBar.events({ Template.boardListHeaderBar.helpers({ title() { - return FlowRouter.getRouteName() == 'home' ? 'my-boards' : 'public'; + return FlowRouter.getRouteName() === 'home' ? 'my-boards' : 'public'; }, templatesBoardId() { return Meteor.user() && Meteor.user().getTemplatesBoardId(); @@ -82,11 +82,13 @@ BlazeComponent.extendComponent({ archived: false, type: 'board', }; - if (FlowRouter.getRouteName() == 'home') + if (FlowRouter.getRouteName() === 'home') query['members.userId'] = Meteor.userId(); else query.permission = 'public'; - return Boards.find(query, { sort: { sort: 1 /* boards default sorting */ } }); + return Boards.find(query, { + sort: { sort: 1 /* boards default sorting */ }, + }); }, isStarred() { const user = Meteor.user(); diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index ce504146..b958d5bf 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -56,9 +56,8 @@ BlazeComponent.extendComponent({ }, votePublic() { const card = this.currentData(); - if (card.vote) - return card.vote.public - return null + if (card.vote) return card.vote.public; + return null; }, voteCountPositive() { const card = this.currentData(); @@ -380,7 +379,7 @@ BlazeComponent.extendComponent({ } }, 'click .js-go-to-linked-card'() { - Utils.goCardId(this.data().linkedId) + Utils.goCardId(this.data().linkedId); }, 'click .js-member': Popup.open('cardMember'), 'click .js-add-members': Popup.open('cardMembers'), @@ -391,7 +390,7 @@ BlazeComponent.extendComponent({ 'click .js-start-date': Popup.open('editCardStartDate'), 'click .js-due-date': Popup.open('editCardDueDate'), 'click .js-end-date': Popup.open('editCardEndDate'), - 'click .js-show-positive-votes':Popup.open('positiveVoteMembers'), + 'click .js-show-positive-votes': Popup.open('positiveVoteMembers'), 'click .js-show-negative-votes': Popup.open('negativeVoteMembers'), 'mouseenter .js-card-details'() { const parentComponent = this.parentComponent().parentComponent(); @@ -420,9 +419,9 @@ BlazeComponent.extendComponent({ const forIt = $(e.target).hasClass('js-vote-positive'); let newState = null; if ( - this.voteState() == null || - (this.voteState() == false && forIt) || - (this.voteState() == true && !forIt) + this.voteState() === null || + (this.voteState() === false && forIt) || + (this.voteState() === true && !forIt) ) { newState = forIt; } @@ -658,7 +657,7 @@ Template.cardDetailsActionsPopup.events({ }, }); -Template.editCardTitleForm.onRendered(function () { +Template.editCardTitleForm.onRendered(function() { autosize(this.$('.js-edit-card-title')); }); @@ -672,7 +671,7 @@ Template.editCardTitleForm.events({ }, }); -Template.editCardRequesterForm.onRendered(function () { +Template.editCardRequesterForm.onRendered(function() { autosize(this.$('.js-edit-card-requester')); }); @@ -685,7 +684,7 @@ Template.editCardRequesterForm.events({ }, }); -Template.editCardAssignerForm.onRendered(function () { +Template.editCardAssignerForm.onRendered(function() { autosize(this.$('.js-edit-card-assigner')); }); @@ -825,7 +824,7 @@ Template.copyChecklistToManyCardsPopup.events({ // copy subtasks cursor = Cards.find({ parentId: oldId }); - cursor.forEach(function () { + cursor.forEach(function() { 'use strict'; const subtask = arguments[0]; subtask.parentId = _id; diff --git a/client/components/main/popup.styl b/client/components/main/popup.styl index 023cba3d..f1db3927 100644 --- a/client/components/main/popup.styl +++ b/client/components/main/popup.styl @@ -135,6 +135,10 @@ $popupWidth = 300px margin-bottom: 8px .pop-over-list + li + display: block + clear: both + li > a clear: both cursor: pointer diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 11471c2f..cbe00797 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -196,14 +196,14 @@ Template.boardMenuPopup.events({ }, 'click .js-change-board-color': Popup.open('boardChangeColor'), 'click .js-change-language': Popup.open('changeLanguage'), - 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function () { + 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() { const currentBoard = Boards.findOne(Session.get('currentBoard')); currentBoard.archive(); // XXX We should have some kind of notification on top of the page to // confirm that the board was successfully archived. FlowRouter.go('home'); }), - 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function () { + 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() { const currentBoard = Boards.findOne(Session.get('currentBoard')); Popup.close(); Boards.remove(currentBoard._id); @@ -215,17 +215,16 @@ Template.boardMenuPopup.events({ 'click .js-card-settings': Popup.open('boardCardSettings'), }); - -Template.boardMenuPopup.onCreated(function () { +Template.boardMenuPopup.onCreated(function() { this.apiEnabled = new ReactiveVar(false); Meteor.call('_isApiEnabled', (e, result) => { - this.apiEnabled.set(result) - }) -}) + this.apiEnabled.set(result); + }); +}); Template.boardMenuPopup.helpers({ withApi() { - return Template.instance().apiEnabled.get() + return Template.instance().apiEnabled.get(); }, exportUrl() { const params = { @@ -248,7 +247,7 @@ Template.memberPopup.events({ Popup.close(); }, 'click .js-change-role': Popup.open('changePermissions'), - 'click .js-remove-member': Popup.afterConfirm('removeMember', function () { + 'click .js-remove-member': Popup.afterConfirm('removeMember', function() { const boardId = Session.get('currentBoard'); const memberId = this.userId; Cards.find({ boardId, members: memberId }).forEach(card => { diff --git a/client/components/users/userHeader.jade b/client/components/users/userHeader.jade index 1cd9da6b..3747d882 100644 --- a/client/components/users/userHeader.jade +++ b/client/components/users/userHeader.jade @@ -117,6 +117,17 @@ template(name="changeSettingsPopup") | {{_ 'show-cards-minimum-count'}} input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false") input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}") + li + label.bold + i.fa.fa-calendar + | {{_ 'start-day-of-week'}} + select#start-day-of-week.inline-input.left + each day in weekDays startDayOfWeek + if day.isSelected + option(selected="true", value="#{day.value}") #{day.name} + else + option(value="#{day.value}") #{day.name} + input.js-apply-start-day-of-week.left(type="submit" value="{{_ 'apply'}}") template(name="userDeletePopup") unless currentUser.isWorker diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js index cd315bd6..5298e99a 100644 --- a/client/components/users/userHeader.js +++ b/client/components/users/userHeader.js @@ -224,6 +224,27 @@ Template.changeSettingsPopup.helpers({ return cookies.get('limitToShowCardsCount'); } }, + weekDays(startDay) { + return [ + TAPi18n.__('sunday'), + TAPi18n.__('monday'), + TAPi18n.__('tuesday'), + TAPi18n.__('wednesday'), + TAPi18n.__('thursday'), + TAPi18n.__('friday'), + TAPi18n.__('saturday'), + ].map(function(day, index) { + return { name: day, value: index, isSelected: index === startDay }; + }); + }, + startDayOfWeek() { + currentUser = Meteor.user(); + if (currentUser) { + return currentUser.getStartDayOfWeek(); + } else { + return cookies.get('startDayOfWeek'); + } + }, }); Template.changeSettingsPopup.events({ @@ -263,4 +284,20 @@ Template.changeSettingsPopup.events({ Popup.back(); } }, + 'click .js-apply-start-day-of-week'(event, templateInstance) { + event.preventDefault(); + const startDay = parseInt( + templateInstance.$('#start-day-of-week').val(), + 10, + ); + if (!isNaN(startDay)) { + currentUser = Meteor.user(); + if (currentUser) { + Meteor.call('changeStartDayOfWeek', startDay); + } else { + cookies.set('startDayOfWeek', startDay); + } + Popup.back(); + } + }, }); diff --git a/client/lib/datepicker.js b/client/lib/datepicker.js index 8ad66c5f..aa05310c 100644 --- a/client/lib/datepicker.js +++ b/client/lib/datepicker.js @@ -10,12 +10,22 @@ DatePicker = BlazeComponent.extendComponent({ this.defaultTime = defaultTime; }, + startDayOfWeek() { + const currentUser = Meteor.user(); + if (currentUser) { + return currentUser.getStartDayOfWeek(); + } else { + return 1; + } + }, + onRendered() { const $picker = this.$('.js-datepicker') .datepicker({ todayHighlight: true, todayBtn: 'linked', language: TAPi18n.getLanguage(), + weekStart: this.startDayOfWeek(), }) .on( 'changeDate', diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 3b13f1a9..b63e7c0a 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index 30b9e9ed..43e69f61 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index d64276e0..eb787032 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index 398dc094..ba717349 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 1668c5b7..9fdf2cae 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Označit vše jako přečtené", "remove-all-read": "Remove all read", "allow-rename": "Povolit přejmenování", - "allowRenamePopup-title": "Povolit přejmenování" + "allowRenamePopup-title": "Povolit přejmenování", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json index e7629b3e..ff0de818 100644 --- a/i18n/da.i18n.json +++ b/i18n/da.i18n.json @@ -1,9 +1,9 @@ { - "accept": "Accepter", + "accept": "Acceptér", "act-activity-notify": "Aktivitetsnotits", "act-addAttachment": "tilføjede vedhæftningen __attachment__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", "act-deleteAttachment": "slettede vedhæftning __attachment__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", - "act-addSubtask": "tilføjede delopgave __subtask__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", + "act-addSubtask": "tilføjede delopgaven __subtask__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", "act-addLabel": "Tilføjede etiketten __label__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", "act-addedLabel": "Tilføjede etiketten __label__ til kortet __card__ på listen __list__ i svømmebanen __swimlane__ på tavlen __board__", "act-removeLabel": "Fjernede etiketten __label__ fra kortet __card__ på listen __list__ i svømmebanen __swimlane__ på kortet __board__", @@ -336,7 +336,7 @@ "filter-on-desc": "Du filtrerer kort på denne tavle. Klik her for at redigere filteret.", "filter-to-selection": "Filtrér til valgte", "advanced-filter-label": "Avanceret filter", - "advanced-filter-description": "Avanceret filter gør det muligt at skrive en tekststreng indeholdende følgende operatører: == != <= >= && || ( ) Mellemrum anvendes som adskillelsestegn mellem operatørerne. Du kan filtrere alle Brugerdefinerede felter ved at taste deres navne og værdier. Som eksempel: Felt1 == Værdi1. Bemærk: Hvis felter eller værdier indeholder mellemrum, så skal du indkapsle dem i enkeltcitationstegn. Som eksempel: 'Felt 1' == I\\'m. Du kan også kombinere flere betingelser. Som eksempel: F1 == V1 || F1 == V2. Normalt vil alle operatører blive fortolket fra venstre mod højre. Du kan ændre rækkefølgen ved brug af parenteser. Som eksempel: F1 == V1 && (F2 == V2 || F2 == V3). Du kan også søge i tekstfelter med brug af regulære udtryk: F1 == /Tes.*/i", + "advanced-filter-description": "Avanceret filter gør det muligt at skrive en tekststreng indeholdende følgende operatører: == != <= >= && || ( ) Mellemrum anvendes som adskillelsestegn mellem operatørerne. Du kan filtrere alle Brugerdefinerede felter ved at taste deres navne og værdier. Som eksempel: Felt1 == Værdi1. Bemærk: Hvis felter eller værdier indeholder mellemrum, så skal du indkapsle dem i enkeltcitationstegn. Som eksempel: 'Felt 1' == 'Værdi1'. For at springe over enkelte kontroltegn (' \\/), så kan \\ benyttes. Som eksempel: Felt1 == Så\\'n. Du kan også kombinere flere betingelser. Som eksempel: F1 == V1 || F1 == V2. Normalt vil alle operatører blive fortolket fra venstre mod højre. Du kan ændre rækkefølgen ved brug af parenteser. Som eksempel: F1 == V1 && (F2 == V2 || F2 == V3). Du kan også søge i tekstfelter med brug af regulære udtryk: F1 == /Tes.*/i", "fullname": "Fuldt navn", "header-logo-title": "Gå tilbage til siden med dine tavler", "hide-system-messages": "Skjul systembeskeder", @@ -469,7 +469,7 @@ "star-board-title": "Klik for at stjernemarkere denne tavle. Den vil blive vist i toppen af din liste over tavler.", "starred-boards": "Tavler med stjerner", "starred-boards-description": "Tavler med stjerner vises i toppen af din liste over tavler.", - "subscribe": "Annonér", + "subscribe": "Abonnér", "team": "Team", "this-board": "denne tavle", "this-card": "dette kort", @@ -774,5 +774,13 @@ "mark-all-as-read": "Markér alle som læst", "remove-all-read": "Fjern alle læste", "allow-rename": "Tillad omdøb", - "allowRenamePopup-title": "Tillad omdøb" + "allowRenamePopup-title": "Tillad omdøb", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 1dd108e7..0a674651 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Alle als gelesen markieren", "remove-all-read": "Alle gelesenen entfernen", "allow-rename": "Umbenennen erlauben", - "allowRenamePopup-title": "Umbenennen erlauben" + "allowRenamePopup-title": "Umbenennen erlauben", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index a092fcaf..2ff705a4 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index 12fccd9a..18a6b3fe 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 18a0680b..864d60ce 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -777,5 +777,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index db235e97..f218c1e4 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index 31c8e0ed..0485a6d7 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 47b48e6d..722aef45 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Marcar todo como leido", "remove-all-read": "Remove all read", "allow-rename": "Permitir renombrar", - "allowRenamePopup-title": "Permitir renombrar" + "allowRenamePopup-title": "Permitir renombrar", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 4bd56017..8753bbd8 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index 67d53de3..92259816 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "علامت همه به خوانده شده", "remove-all-read": "حذف همه خوانده شده", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 465357c8..dbbd8eb4 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Merkkaa kaikki luetuksi", "remove-all-read": "Poista kaikki luetut", "allow-rename": "Salli uudelleennimeäminen", - "allowRenamePopup-title": "Salli uudelleennimeäminen" + "allowRenamePopup-title": "Salli uudelleennimeäminen", + "start-day-of-week": "Aseta viikon alkamispäivä", + "monday": "Maanantai", + "tuesday": "Tiistai", + "wednesday": "Keskiviikko", + "thursday": "Torstai", + "friday": "Perjantai", + "saturday": "Lauantai", + "sunday": "Sunnuntai" } diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index a29ad08a..7e8af821 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Marquer comme lus", "remove-all-read": "Supprimer les lus", "allow-rename": "Autoriser le renommage", - "allowRenamePopup-title": "Autoriser le renommage" + "allowRenamePopup-title": "Autoriser le renommage", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index 30f2fa4d..192d3609 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index e6f8e41c..a93e6089 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "לסמן הכול כאילו שנקראו", "remove-all-read": "הסרת כל אלו שנקראו", "allow-rename": "לאפשר שינוי שם", - "allowRenamePopup-title": "לאפשר שינוי שם" + "allowRenamePopup-title": "לאפשר שינוי שם", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json index de746c61..13010c04 100644 --- a/i18n/hi.i18n.json +++ b/i18n/hi.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index 8744e1e2..36e217af 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index b21d395c..75e1df8b 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index c772506e..7ffe160a 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 5e3b2d8e..9c4b790f 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index e58f5cb2..a74ac4bc 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Segna come letto", "remove-all-read": "Rimuovi tutti i già letti", "allow-rename": "Consenti Rinomina", - "allowRenamePopup-title": "Consenti Rinomina" + "allowRenamePopup-title": "Consenti Rinomina", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index 1af80f46..7b597428 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "全て既読にする", "remove-all-read": "全ての既読を削除", "allow-rename": "リネームを許可する", - "allowRenamePopup-title": "リネームを許可する" + "allowRenamePopup-title": "リネームを許可する", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json index 2bba65b5..40a71568 100644 --- a/i18n/ka.i18n.json +++ b/i18n/ka.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json index 75a210c5..e66d0f61 100644 --- a/i18n/km.i18n.json +++ b/i18n/km.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 1df5cd18..ba04d6c0 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index 8151ef79..0cd5d581 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json index bb579170..b4bd4abc 100644 --- a/i18n/mk.i18n.json +++ b/i18n/mk.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index af9b80aa..92146847 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index b039d5b2..d10a148d 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index 212094dc..9b9ad584 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Markeer alles als gelezen", "remove-all-read": "verwijder alle gelezen", "allow-rename": "Sta Hernoemen toe", - "allowRenamePopup-title": "Sta Hernoemen toe" + "allowRenamePopup-title": "Sta Hernoemen toe", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json index 2fb6c433..e5746cd4 100644 --- a/i18n/oc.i18n.json +++ b/i18n/oc.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 728516e1..ae3faf4b 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Zaznacz wszystkie jako przeczytane", "remove-all-read": "Usuń wszystkie przeczytane", "allow-rename": "Zezwól na zmianę nazwy", - "allowRenamePopup-title": "Zezwól na zmianę nazwy" + "allowRenamePopup-title": "Zezwól na zmianę nazwy", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index caed8edf..96504d41 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Marcar todas como lidas", "remove-all-read": "Remover todas lidas", "allow-rename": "Permitir renomear", - "allowRenamePopup-title": "Permitir renomear" + "allowRenamePopup-title": "Permitir renomear", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 962a7abc..563f86ef 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index d3e8011d..526c58c6 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 65f5a732..49b3e056 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Отметить все как прочитанные", "remove-all-read": "Удалить все прочитанные", "allow-rename": "Разрешить переименование", - "allowRenamePopup-title": "Разрешить переименование" + "allowRenamePopup-title": "Разрешить переименование", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/sl.i18n.json b/i18n/sl.i18n.json index c33f6cdd..5e72372f 100644 --- a/i18n/sl.i18n.json +++ b/i18n/sl.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index 64f3a453..34270a76 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Označi sve kao pročitano", "remove-all-read": "Ukloni sve pročitano", "allow-rename": "Dozvoli preimenovanje", - "allowRenamePopup-title": "Dozvoli preimenovanje" + "allowRenamePopup-title": "Dozvoli preimenovanje", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 10b74f60..9d15d681 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json index 5d2eb441..75b87822 100644 --- a/i18n/sw.i18n.json +++ b/i18n/sw.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index 4a5c146a..ec84aa7e 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index 72192541..1d3a1606 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index a63c721d..631a3e68 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index 53891914..8c550c10 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index e47f24a1..c2add077 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index fbbb592d..88baeb0b 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "标记全部已读", "remove-all-read": "移除所有已读", "allow-rename": "允许重命名", - "allowRenamePopup-title": "允许重命名" + "allowRenamePopup-title": "允许重命名", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/zh-HK.i18n.json b/i18n/zh-HK.i18n.json index 3bbdda5a..9fe4f710 100644 --- a/i18n/zh-HK.i18n.json +++ b/i18n/zh-HK.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "Mark all as read", "remove-all-read": "Remove all read", "allow-rename": "Allow Rename", - "allowRenamePopup-title": "Allow Rename" + "allowRenamePopup-title": "Allow Rename", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 99e7bd06..dc98e0d5 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -774,5 +774,13 @@ "mark-all-as-read": "標示全部已讀", "remove-all-read": "移除所有已讀", "allow-rename": "允許更名", - "allowRenamePopup-title": "允許更名" + "allowRenamePopup-title": "允許更名", + "start-day-of-week": "Set day of the week start", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday" } diff --git a/models/boards.js b/models/boards.js index 170ebc5a..26dc6127 100644 --- a/models/boards.js +++ b/models/boards.js @@ -1297,7 +1297,10 @@ if (Meteor.isServer) { // Insert new board at last position in sort order. Boards.before.insert((userId, doc) => { - const lastBoard = Boards.findOne({ sort: { $exists: true } }, { sort: { sort: -1 } }); + const lastBoard = Boards.findOne( + { sort: { $exists: true } }, + { sort: { sort: -1 } }, + ); if (lastBoard && typeof lastBoard.sort !== 'undefined') { doc.sort = lastBoard.sort + 1; } diff --git a/models/cards.js b/models/cards.js index 5a812679..72153132 100644 --- a/models/cards.js +++ b/models/cards.js @@ -732,7 +732,7 @@ Cards.helpers({ parentString(sep) { return this.parentList() - .map(function (elem) { + .map(function(elem) { return elem.title; }) .join(sep); @@ -1050,13 +1050,13 @@ Cards.helpers({ voteMemberPositive() { if (this.vote && this.vote.positive) - return Users.find({ _id: { $in: this.vote.positive } }) - return [] + return Users.find({ _id: { $in: this.vote.positive } }); + return []; }, voteMemberNegative() { if (this.vote && this.vote.negative) - return Users.find({ _id: { $in: this.vote.negative } }) - return [] + return Users.find({ _id: { $in: this.vote.negative } }); + return []; }, getId() { @@ -1929,7 +1929,7 @@ if (Meteor.isServer) { }); //New activity for card moves - Cards.after.update(function (userId, doc, fieldNames) { + Cards.after.update(function(userId, doc, fieldNames) { const oldListId = this.previous.listId; const oldSwimlaneId = this.previous.swimlaneId; const oldBoardId = this.previous.boardId; @@ -1975,7 +1975,7 @@ if (Meteor.isServer) { // change list modifiedAt, when user modified the key values in timingaction array, if it's endAt, put the modifiedAt of list back to one year ago for sorting purpose const modifiedAt = new Date( new Date(value).getTime() - - (action === 'endAt' ? 365 * 24 * 3600 * 1e3 : 0), + (action === 'endAt' ? 365 * 24 * 3600 * 1e3 : 0), ); // set it as 1 year before const boardId = list.boardId; Lists.direct.update( @@ -2029,7 +2029,7 @@ if (Meteor.isServer) { JsonRoutes.add( 'GET', '/api/boards/:boardId/swimlanes/:swimlaneId/cards', - function (req, res) { + function(req, res) { const paramBoardId = req.params.boardId; const paramSwimlaneId = req.params.swimlaneId; Authentication.checkBoardAccess(req.userId, paramBoardId); @@ -2039,7 +2039,7 @@ if (Meteor.isServer) { boardId: paramBoardId, swimlaneId: paramSwimlaneId, archived: false, - }).map(function (doc) { + }).map(function(doc) { return { _id: doc._id, title: doc.title, @@ -2063,7 +2063,7 @@ if (Meteor.isServer) { * title: string, * description: string}] */ - JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function ( + JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function( req, res, ) { @@ -2076,7 +2076,7 @@ if (Meteor.isServer) { boardId: paramBoardId, listId: paramListId, archived: false, - }).map(function (doc) { + }).map(function(doc) { return { _id: doc._id, title: doc.title, @@ -2098,7 +2098,7 @@ if (Meteor.isServer) { JsonRoutes.add( 'GET', '/api/boards/:boardId/lists/:listId/cards/:cardId', - function (req, res) { + function(req, res) { const paramBoardId = req.params.boardId; const paramListId = req.params.listId; const paramCardId = req.params.cardId; @@ -2130,7 +2130,7 @@ if (Meteor.isServer) { * @param {string} [assignees] the array of maximum one ID of assignee of the new card * @return_type {_id: string} */ - JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function ( + JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function( req, res, ) { @@ -2237,7 +2237,7 @@ if (Meteor.isServer) { JsonRoutes.add( 'PUT', '/api/boards/:boardId/lists/:listId/cards/:cardId', - function (req, res) { + function(req, res) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; const paramCardId = req.params.cardId; @@ -2536,7 +2536,7 @@ if (Meteor.isServer) { JsonRoutes.add( 'DELETE', '/api/boards/:boardId/lists/:listId/cards/:cardId', - function (req, res) { + function(req, res) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; const paramListId = req.params.listId; diff --git a/models/settings.js b/models/settings.js index 03ef9052..fb823205 100644 --- a/models/settings.js +++ b/models/settings.js @@ -338,7 +338,6 @@ if (Meteor.isServer) { isPasswordLoginDisabled() { return process.env.PASSWORD_LOGIN_ENABLED === 'false'; }, - }); } diff --git a/models/trelloCreator.js b/models/trelloCreator.js index 28982f43..1c5bcd93 100644 --- a/models/trelloCreator.js +++ b/models/trelloCreator.js @@ -1,4 +1,4 @@ -const DateString = Match.Where(function (dateAsString) { +const DateString = Match.Where(function(dateAsString) { check(dateAsString, String); return moment(dateAsString, moment.ISO_8601).isValid(); }); @@ -299,13 +299,13 @@ export class TrelloCreator { } } return true; - }) + }); if (positiveVotes.length > 0) { cardToCreate.vote = { question: cardToCreate.title, public: true, positive: positiveVotes, - } + }; } } @@ -369,7 +369,7 @@ export class TrelloCreator { // so we make it server only, and let UI catch up once it is done, forget about latency comp. const self = this; if (Meteor.isServer) { - file.attachData(att.url, function (error) { + file.attachData(att.url, function(error) { file.boardId = boardId; file.cardId = cardId; file.userId = self._user(att.idMemberCreator); diff --git a/models/users.js b/models/users.js index f4b7329a..f4f4f38e 100644 --- a/models/users.js +++ b/models/users.js @@ -190,6 +190,13 @@ Users.attachSchema( type: Number, optional: true, }, + 'profile.startDayOfWeek': { + /** + * startDayOfWeek field of the user + */ + type: Number, + optional: true, + }, 'profile.starredBoards': { /** * list of starred board IDs @@ -521,6 +528,11 @@ Users.helpers({ return profile.language || 'en'; }, + getStartDayOfWeek() { + const profile = this.profile || {}; + return profile.startDayOfWeek || 1; + }, + getTemplatesBoardId() { return (this.profile || {}).templatesBoardId; }, @@ -652,6 +664,10 @@ Users.mutations({ return { $set: { 'profile.showCardsCountAt': limit } }; }, + setStartDayOfWeek(startDay) { + return { $set: { 'profile.startDayOfWeek': startDay } }; + }, + setBoardView(view) { return { $set: { @@ -682,6 +698,10 @@ Meteor.methods({ check(limit, Number); Meteor.user().setShowCardsCountAt(limit); }, + changeStartDayOfWeek(startDay) { + check(startDay, Number); + Meteor.user().setStartDayOfWeek(startDay); + }, }); if (Meteor.isServer) { diff --git a/public/api/wekan.yml b/public/api/wekan.yml index 6dccbe7f..8cd4acfa 100644 --- a/public/api/wekan.yml +++ b/public/api/wekan.yml @@ -2544,6 +2544,10 @@ definitions: description: | showCardCountAt field of the user type: number + startDayOfWeek: + description: | + startDayOfWeek field of the user + type: number starredBoards: description: | list of starred board IDs diff --git a/server/migrations.js b/server/migrations.js index 21b54bda..a6c945fa 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -1036,12 +1036,8 @@ Migrations.add('add-description-text-allowed', () => { Migrations.add('add-sort-field-to-boards', () => { Boards.find().forEach((board, index) => { - if (!board.hasOwnProperty('sort')) { - Boards.direct.update( - board._id, - { $set: { sort: index } }, - noValidate - ); + if (!board.hasOwnProperty('sort')) { + Boards.direct.update(board._id, { $set: { sort: index } }, noValidate); } }); }); diff --git a/snap-src/bin/mongodb-control b/snap-src/bin/mongodb-control index 246c3acb..92bc36d6 100755 --- a/snap-src/bin/mongodb-control +++ b/snap-src/bin/mongodb-control @@ -66,3 +66,5 @@ fi # Drop indexes on database upgrade, when starting MongoDB #mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS + +mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS |