mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 01:20:07 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3168c4067d | ||
|
|
115d23f929 | ||
|
|
975258ef39 | ||
|
|
b13d28203b | ||
|
|
4786b0c18d | ||
|
|
bc9512b750 | ||
|
|
abb31cb603 | ||
|
|
351d4767d7 |
No files matched your search
@@ -1,3 +1,17 @@
|
||||
# v3.55 2019-11-19 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [When logged in, use database for setting, so that changes are immediate. Only on public board use cookies.
|
||||
Comment out Collapse CSS that is not in use](https://github.com/wekan/wekan/commit/351d4767d7e93c90ac798769d6071da8730d834f).
|
||||
Thanks to xet7.
|
||||
- [Use database when logged in. Part 2](https://github.com/wekan/wekan/commit/4786b0c18ddeb8f48525216eabebdced7159467d).
|
||||
Thanks to xet7.
|
||||
- [Use database when logged in. Part 3](https://github.com/wekan/wekan/commit/115d23f9293cad8a93f18f75a47a8a65756f71ce).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.54 2019-11-18 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v3.54.0"
|
||||
appVersion: "v3.55.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -196,9 +196,21 @@ BlazeComponent.extendComponent({
|
||||
const cookies = new Cookies();
|
||||
|
||||
this.autorun(() => {
|
||||
let showDesktopDragHandles = false;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
showDesktopDragHandles = (currentUser.profile || {})
|
||||
.showDesktopDragHandles;
|
||||
} else {
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
showDesktopDragHandles = true;
|
||||
} else {
|
||||
showDesktopDragHandles = false;
|
||||
}
|
||||
}
|
||||
if (
|
||||
Utils.isMiniScreen() ||
|
||||
(!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles'))
|
||||
(!Utils.isMiniScreen() && showDesktopDragHandles)
|
||||
) {
|
||||
$swimlanesDom.sortable({
|
||||
handle: '.js-swimlane-header-handle',
|
||||
@@ -230,33 +242,36 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
isViewSwimlanes() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
return cookies.get('boardView') === 'board-view-swimlanes';
|
||||
}
|
||||
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
|
||||
},
|
||||
|
||||
isViewLists() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView === 'board-view-lists';
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
return cookies.get('boardView') === 'board-view-lists';
|
||||
}
|
||||
return (currentUser.profile || {}).boardView === 'board-view-lists';
|
||||
},
|
||||
|
||||
isViewCalendar() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView === 'board-view-cal';
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
return cookies.get('boardView') === 'board-view-cal';
|
||||
}
|
||||
return (currentUser.profile || {}).boardView === 'board-view-cal';
|
||||
},
|
||||
|
||||
openNewListForm() {
|
||||
@@ -413,12 +428,13 @@ BlazeComponent.extendComponent({
|
||||
};
|
||||
},
|
||||
isViewCalendar() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView === 'board-view-cal';
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
return cookies.get('boardView') === 'board-view-cal';
|
||||
}
|
||||
return (currentUser.profile || {}).boardView === 'board-view-cal';
|
||||
},
|
||||
}).register('calendarView');
|
||||
@@ -173,78 +173,33 @@ Template.boardHeaderBar.helpers({
|
||||
);
|
||||
},
|
||||
boardView() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') === 'board-view-lists') {
|
||||
return 'board-view-lists';
|
||||
} else if (cookies.get('boardView') === 'board-view-swimlanes') {
|
||||
return 'board-view-swimlanes';
|
||||
} else if (cookies.get('boardView') === 'board-view-collapse') {
|
||||
return 'board-view-collapse';
|
||||
} else if (cookies.get('boardView') === 'board-view-cal') {
|
||||
return 'board-view-cal';
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
collapseSwimlane() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('collapseSwimlane')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return Utils.boardView();
|
||||
},
|
||||
//collapseSwimlane() {
|
||||
// import { Cookies } from 'meteor/ostrio:cookies';
|
||||
// const cookies = new Cookies();
|
||||
// if (cookies.has('collapseSwimlane')) {
|
||||
// return true;
|
||||
// } else {
|
||||
// return false;
|
||||
// }
|
||||
//},
|
||||
});
|
||||
|
||||
Template.boardChangeViewPopup.events({
|
||||
'click .js-open-lists-view'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') !== 'board-view-lists') {
|
||||
cookies.set('boardView', 'board-view-lists');
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-lists');
|
||||
}
|
||||
}
|
||||
Utils.setBoardView('board-view-lists');
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-open-swimlanes-view'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') !== 'board-view-swimlanes') {
|
||||
cookies.set('boardView', 'board-view-swimlanes');
|
||||
cookies.remove('collapseSwimlane');
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-swimlanes');
|
||||
}
|
||||
}
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-open-collapse-view'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') !== 'board-view-swimlanes') {
|
||||
cookies.set('boardView', 'board-view-swimlanes');
|
||||
cookies.set('collapseSwimlane', 'true');
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-swimlanes');
|
||||
}
|
||||
}
|
||||
Utils.setBoardView('board-view-swimlanes');
|
||||
Popup.close();
|
||||
},
|
||||
//'click .js-open-collapse-view'() {
|
||||
// Utils.setBoardView('board-view-collapse');
|
||||
//Popup.close();
|
||||
'click .js-open-cal-view'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
cookies.set('boardView', 'board-view-cal');
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-cal');
|
||||
}
|
||||
Utils.setBoardView('board-view-cal');
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-open-rules-view'() {
|
||||
|
||||
@@ -33,21 +33,31 @@ BlazeComponent.extendComponent({
|
||||
|
||||
Template.minicard.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
hiddenMinicardLabelText() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).hiddenMinicardLabelText;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -119,7 +119,20 @@ BlazeComponent.extendComponent({
|
||||
const cookies = new Cookies();
|
||||
|
||||
this.autorun(() => {
|
||||
if (!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles')) {
|
||||
let showDesktopDragHandles = false;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
showDesktopDragHandles = (currentUser.profile || {})
|
||||
.showDesktopDragHandles;
|
||||
} else {
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
showDesktopDragHandles = true;
|
||||
} else {
|
||||
showDesktopDragHandles = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
|
||||
$cards.sortable({
|
||||
handle: '.handle',
|
||||
});
|
||||
@@ -163,12 +176,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
Template.list.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -713,13 +713,11 @@ BlazeComponent.extendComponent({
|
||||
.data()._id;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Utils.boardView() === 'board-view-swimlanes') {
|
||||
this.swimlaneId = this.parentComponent()
|
||||
.parentComponent()
|
||||
.parentComponent()
|
||||
.data()._id;
|
||||
}
|
||||
} else if (Utils.boardView() === 'board-view-swimlanes') {
|
||||
this.swimlaneId = this.parentComponent()
|
||||
.parentComponent()
|
||||
.parentComponent()
|
||||
.data()._id;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ template(name="listHeader")
|
||||
i.list-header-watch-icon.fa.fa-eye
|
||||
div.list-header-menu
|
||||
unless currentUser.isCommentOnly
|
||||
if isBoardAdmin
|
||||
a.fa.js-list-star.list-header-plus-icon(class="fa-star{{#unless starred}}-o{{/unless}}")
|
||||
//if isBoardAdmin
|
||||
// a.fa.js-list-star.list-header-plus-icon(class="fa-star{{#unless starred}}-o{{/unless}}")
|
||||
if canSeeAddCard
|
||||
a.js-add-card.fa.fa-plus.list-header-plus-icon
|
||||
a.fa.fa-navicon.js-open-list-menu
|
||||
|
||||
@@ -102,12 +102,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
Template.listHeader.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -107,12 +107,17 @@ BlazeComponent.extendComponent({
|
||||
'click .js-toggle-sidebar': this.toggle,
|
||||
'click .js-back-home': this.setView,
|
||||
'click .js-toggle-minicard-label-text'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
cookies.remove('hiddenMinicardLabelText'); //true
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.call('toggleMinicardLabelText');
|
||||
} else {
|
||||
cookies.set('hiddenMinicardLabelText', 'true'); //true
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
cookies.remove('hiddenMinicardLabelText');
|
||||
} else {
|
||||
cookies.set('hiddenMinicardLabelText', 'true');
|
||||
}
|
||||
}
|
||||
},
|
||||
'click .js-shortcuts'() {
|
||||
@@ -127,12 +132,17 @@ Blaze.registerHelper('Sidebar', () => Sidebar);
|
||||
|
||||
Template.homeSidebar.helpers({
|
||||
hiddenMinicardLabelText() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).hiddenMinicardLabelText;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hiddenMinicardLabelText')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -30,12 +30,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
Template.swimlaneHeader.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -20,28 +20,28 @@ template(name="swimlane")
|
||||
if currentUser.isBoardMember
|
||||
unless currentUser.isCommentOnly
|
||||
+addListForm
|
||||
if collapseSwimlane
|
||||
// Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
|
||||
button(class="accordion")
|
||||
div(class="panel")
|
||||
.swimlane.js-lists.js-swimlane
|
||||
if isMiniScreen
|
||||
if currentListIsInThisSwimlane _id
|
||||
+list(currentList)
|
||||
unless currentList
|
||||
each lists
|
||||
+miniList(this)
|
||||
if currentUser.isBoardMember
|
||||
unless currentUser.isCommentOnly
|
||||
+addListForm
|
||||
else
|
||||
each lists
|
||||
+list(this)
|
||||
if currentCardIsInThisList _id ../_id
|
||||
+cardDetails(currentCard)
|
||||
if currentUser.isBoardMember
|
||||
unless currentUser.isCommentOnly
|
||||
+addListForm
|
||||
//if collapseSwimlane
|
||||
// // Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
|
||||
// button(class="accordion")
|
||||
// div(class="panel")
|
||||
// .swimlane.js-lists.js-swimlane
|
||||
// if isMiniScreen
|
||||
// if currentListIsInThisSwimlane _id
|
||||
// +list(currentList)
|
||||
// unless currentList
|
||||
// each lists
|
||||
// +miniList(this)
|
||||
// if currentUser.isBoardMember
|
||||
// unless currentUser.isCommentOnly
|
||||
// +addListForm
|
||||
// else
|
||||
// each lists
|
||||
// +list(this)
|
||||
// if currentCardIsInThisList _id ../_id
|
||||
// +cardDetails(currentCard)
|
||||
// if currentUser.isBoardMember
|
||||
// unless currentUser.isCommentOnly
|
||||
// +addListForm
|
||||
|
||||
template(name="listsGroup")
|
||||
.swimlane.list-group.js-lists
|
||||
|
||||
@@ -99,7 +99,22 @@ function initSortable(boardComponent, $listsDom) {
|
||||
boardComponent.autorun(() => {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles')) {
|
||||
let showDesktopDragHandles = false;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
showDesktopDragHandles = (currentUser.profile || {})
|
||||
.showDesktopDragHandles;
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
showDesktopDragHandles = true;
|
||||
} else {
|
||||
showDesktopDragHandles = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
|
||||
$listsDom.sortable({
|
||||
handle: '.js-list-handle',
|
||||
});
|
||||
@@ -186,10 +201,24 @@ BlazeComponent.extendComponent({
|
||||
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
let showDesktopDragHandles = false;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
showDesktopDragHandles = (currentUser.profile || {})
|
||||
.showDesktopDragHandles;
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
showDesktopDragHandles = true;
|
||||
} else {
|
||||
showDesktopDragHandles = false;
|
||||
}
|
||||
}
|
||||
|
||||
const noDragInside = ['a', 'input', 'textarea', 'p'].concat(
|
||||
Utils.isMiniScreen() ||
|
||||
(!Utils.isMiniScreen() && cookies.has('showDesktopDragHandles'))
|
||||
(!Utils.isMiniScreen() && showDesktopDragHandles)
|
||||
? ['.js-list-handle', '.js-swimlane-header-handle']
|
||||
: ['.js-list-header'],
|
||||
);
|
||||
@@ -270,12 +299,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
Template.swimlane.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
canSeeAddList() {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
@import 'nib'
|
||||
|
||||
/*
|
||||
// Minimize swimlanes start https://www.w3schools.com/howto/howto_js_accordion.asp
|
||||
|
||||
.accordion
|
||||
@@ -33,6 +34,7 @@
|
||||
padding: 0px
|
||||
|
||||
// Minimize swimlanes end https://www.w3schools.com/howto/howto_js_accordion.asp
|
||||
*/
|
||||
|
||||
.swimlane
|
||||
// Even if this background color is the same as the body we can't leave it
|
||||
|
||||
@@ -5,10 +5,22 @@ Template.headerUserBar.events({
|
||||
|
||||
Template.memberMenuPopup.helpers({
|
||||
templatesBoardId() {
|
||||
return Meteor.user().getTemplatesBoardId();
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return Meteor.user().getTemplatesBoardId();
|
||||
} else {
|
||||
// No need to getTemplatesBoardId on public board
|
||||
return false;
|
||||
}
|
||||
},
|
||||
templatesBoardSlug() {
|
||||
return Meteor.user().getTemplatesBoardSlug();
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return Meteor.user().getTemplatesBoardSlug();
|
||||
} else {
|
||||
// No need to getTemplatesBoardSlug() on public board
|
||||
return false;
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -162,44 +174,73 @@ Template.changeLanguagePopup.events({
|
||||
|
||||
Template.changeSettingsPopup.helpers({
|
||||
showDesktopDragHandles() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).showDesktopDragHandles;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
hiddenSystemMessages() {
|
||||
const currentUser = Meteor.user();
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return Meteor.user().hasHiddenSystemMessages();
|
||||
return (currentUser.profile || {}).hasHiddenSystemMessages;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hasHiddenSystemMessages')) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
showCardsCountAt() {
|
||||
const currentUser = Meteor.user();
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return Meteor.user().getLimitToShowCardsCount();
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
return cookies.get('limitToShowCardsCount');
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Template.changeSettingsPopup.events({
|
||||
'click .js-toggle-desktop-drag-handles'() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
cookies.remove('showDesktopDragHandles'); //true
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.call('toggleDesktopDragHandles');
|
||||
} else {
|
||||
cookies.set('showDesktopDragHandles', 'true'); //true
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('showDesktopDragHandles')) {
|
||||
cookies.remove('showDesktopDragHandles');
|
||||
} else {
|
||||
cookies.set('showDesktopDragHandles', 'true');
|
||||
}
|
||||
}
|
||||
},
|
||||
'click .js-toggle-system-messages'() {
|
||||
Meteor.call('toggleSystemMessages');
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.call('toggleSystemMessages');
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.has('hasHiddenSystemMessages')) {
|
||||
cookies.remove('hasHiddenSystemMessages');
|
||||
} else {
|
||||
cookies.set('hasHiddenSystemMessages', 'true');
|
||||
}
|
||||
}
|
||||
},
|
||||
'click .js-apply-show-cards-at'(event, templateInstance) {
|
||||
event.preventDefault();
|
||||
@@ -208,7 +249,14 @@ Template.changeSettingsPopup.events({
|
||||
10,
|
||||
);
|
||||
if (!isNaN(minLimit)) {
|
||||
Meteor.call('changeLimitToShowCardsCount', minLimit);
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.call('changeLimitToShowCardsCount', minLimit);
|
||||
} else {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
cookies.set('limitToShowCardsCount', minLimit);
|
||||
}
|
||||
Popup.back();
|
||||
}
|
||||
},
|
||||
|
||||
+31
-34
@@ -3,26 +3,18 @@ Utils = {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
currentUser = Meteor.user();
|
||||
if (view === 'board-view-lists') {
|
||||
cookies.set('boardView', 'board-view-lists'); //true
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-lists');
|
||||
}
|
||||
} else if (view === 'board-view-swimlanes') {
|
||||
cookies.set('boardView', 'board-view-swimlanes'); //true
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-swimlanes');
|
||||
}
|
||||
} else if (view === 'board-view-collapse') {
|
||||
cookies.set('boardView', 'board-view-swimlane'); //true
|
||||
cookies.set('collapseSwimlane', 'true'); //true
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-swimlane');
|
||||
}
|
||||
} else if (view === 'board-view-cal') {
|
||||
cookies.set('boardView', 'board-view-cal'); //true
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView('board-view-cal');
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView(view);
|
||||
} else {
|
||||
if (view === 'board-view-lists') {
|
||||
cookies.set('boardView', 'board-view-lists'); //true
|
||||
} else if (view === 'board-view-swimlanes') {
|
||||
cookies.set('boardView', 'board-view-swimlanes'); //true
|
||||
//} else if (view === 'board-view-collapse') {
|
||||
// cookies.set('boardView', 'board-view-swimlane'); //true
|
||||
// cookies.set('collapseSwimlane', 'true'); //true
|
||||
} else if (view === 'board-view-cal') {
|
||||
cookies.set('boardView', 'board-view-cal'); //true
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -35,21 +27,26 @@ Utils = {
|
||||
},
|
||||
|
||||
boardView() {
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') === 'board-view-lists') {
|
||||
return 'board-view-lists';
|
||||
} else if (
|
||||
cookies.get('boardView') === 'board-view-swimlanes' &&
|
||||
!cookies.has('collapseSwimlane')
|
||||
) {
|
||||
return 'board-view-swimlanes';
|
||||
} else if (cookies.has('collapseSwimlane')) {
|
||||
return 'board-view-swimlanes';
|
||||
} else if (cookies.get('boardView') === 'board-view-cal') {
|
||||
return 'board-view-cal';
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView;
|
||||
} else {
|
||||
return false;
|
||||
import { Cookies } from 'meteor/ostrio:cookies';
|
||||
const cookies = new Cookies();
|
||||
if (cookies.get('boardView') === 'board-view-lists') {
|
||||
return 'board-view-lists';
|
||||
} else if (
|
||||
cookies.get('boardView') === 'board-view-swimlanes'
|
||||
//&& !cookies.has('collapseSwimlane')
|
||||
) {
|
||||
return 'board-view-swimlanes';
|
||||
//} else if (cookies.has('collapseSwimlane')) {
|
||||
// return 'board-view-swimlanes';
|
||||
} else if (cookies.get('boardView') === 'board-view-cal') {
|
||||
return 'board-view-cal';
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@
|
||||
"board-view": "תצוגת לוח",
|
||||
"board-view-cal": "לוח שנה",
|
||||
"board-view-swimlanes": "מסלולים",
|
||||
"board-view-collapse": "Collapse",
|
||||
"board-view-collapse": "צמצום",
|
||||
"board-view-lists": "רשימות",
|
||||
"bucket-example": "כמו למשל „רשימת המשימות“",
|
||||
"cancel": "ביטול",
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@
|
||||
"board-view": "Pogled table",
|
||||
"board-view-cal": "Koledar",
|
||||
"board-view-swimlanes": "Plavalne steze",
|
||||
"board-view-collapse": "Collapse",
|
||||
"board-view-collapse": "Skrči",
|
||||
"board-view-lists": "Seznami",
|
||||
"bucket-example": "Kot na primer \"Življenjski seznam\"",
|
||||
"cancel": "Prekliči",
|
||||
|
||||
+53
-18
@@ -119,6 +119,13 @@ Users.attachSchema(
|
||||
type: String,
|
||||
optional: true,
|
||||
},
|
||||
'profile.showDesktopDragHandles': {
|
||||
/**
|
||||
* does the user want to hide system messages?
|
||||
*/
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
'profile.hiddenSystemMessages': {
|
||||
/**
|
||||
* does the user want to hide system messages?
|
||||
@@ -126,6 +133,13 @@ Users.attachSchema(
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
'profile.hiddenMinicardLabelText': {
|
||||
/**
|
||||
* does the user want to hide minicard label texts?
|
||||
*/
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
'profile.initials': {
|
||||
/**
|
||||
* initials of the user
|
||||
@@ -184,7 +198,6 @@ Users.attachSchema(
|
||||
allowedValues: [
|
||||
'board-view-lists',
|
||||
'board-view-swimlanes',
|
||||
'board-view-collapse',
|
||||
'board-view-cal',
|
||||
],
|
||||
},
|
||||
@@ -382,18 +395,10 @@ Users.helpers({
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
//hasSortBy() {
|
||||
// if use doesn't have dragHandle, then we can let user to choose sort list by different order
|
||||
//return this.hasShowDesktopDragHandles();
|
||||
// return false;
|
||||
/*
|
||||
if (typeof currentUser === 'undefined' || typeof currentUser === 'null') {
|
||||
return false;
|
||||
} else {
|
||||
return this.hasShowDesktopDragHandles();
|
||||
}
|
||||
*/
|
||||
//},
|
||||
hasSortBy() {
|
||||
// if use doesn't have dragHandle, then we can let user to choose sort list by different order
|
||||
return !this.hasShowDesktopDragHandles();
|
||||
},
|
||||
getListSortBy() {
|
||||
return this._getListSortBy()[0];
|
||||
},
|
||||
@@ -414,11 +419,21 @@ Users.helpers({
|
||||
return _.contains(notifications, activityId);
|
||||
},
|
||||
|
||||
hasShowDesktopDragHandles() {
|
||||
const profile = this.profile || {};
|
||||
return profile.showDesktopDragHandles || false;
|
||||
},
|
||||
|
||||
hasHiddenSystemMessages() {
|
||||
const profile = this.profile || {};
|
||||
return profile.hiddenSystemMessages || false;
|
||||
},
|
||||
|
||||
hasHiddenMinicardLabelText() {
|
||||
const profile = this.profile || {};
|
||||
return profile.hiddenMinicardLabelText || false;
|
||||
},
|
||||
|
||||
getEmailBuffer() {
|
||||
const { emailBuffer = [] } = this.profile || {};
|
||||
return emailBuffer;
|
||||
@@ -440,11 +455,8 @@ Users.helpers({
|
||||
},
|
||||
|
||||
getLimitToShowCardsCount() {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
const profile = this.profile || {};
|
||||
return profile.showCardsCountAt;
|
||||
}
|
||||
const profile = this.profile || {};
|
||||
return profile.showCardsCountAt;
|
||||
},
|
||||
|
||||
getName() {
|
||||
@@ -524,6 +536,13 @@ Users.mutations({
|
||||
},
|
||||
};
|
||||
},
|
||||
toggleDesktopHandles(value = false) {
|
||||
return {
|
||||
$set: {
|
||||
'profile.showDesktopDragHandles': !value,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
toggleSystem(value = false) {
|
||||
return {
|
||||
@@ -533,6 +552,14 @@ Users.mutations({
|
||||
};
|
||||
},
|
||||
|
||||
toggleLabelText(value = false) {
|
||||
return {
|
||||
$set: {
|
||||
'profile.hiddenMinicardLabelText': !value,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
addNotification(activityId) {
|
||||
return {
|
||||
$addToSet: {
|
||||
@@ -597,10 +624,18 @@ Meteor.methods({
|
||||
check(value, String);
|
||||
Meteor.user().setListSortBy(value);
|
||||
},
|
||||
toggleDesktopDragHandles() {
|
||||
const user = Meteor.user();
|
||||
user.toggleDesktopHandles(user.hasShowDesktopDragHandles());
|
||||
},
|
||||
toggleSystemMessages() {
|
||||
const user = Meteor.user();
|
||||
user.toggleSystem(user.hasHiddenSystemMessages());
|
||||
},
|
||||
toggleMinicardLabelText() {
|
||||
const user = Meteor.user();
|
||||
user.toggleLabelText(user.hasHiddenMinicardLabelText());
|
||||
},
|
||||
changeLimitToShowCardsCount(limit) {
|
||||
check(limit, Number);
|
||||
Meteor.user().setShowCardsCountAt(limit);
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.54.0",
|
||||
"version": "v3.55.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.54.0",
|
||||
"version": "v3.55.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
+22
-4
@@ -11621,7 +11621,9 @@ System.out.println(response.toString());
|
||||
<span class="hljs-string">"string"</span>
|
||||
],
|
||||
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"invitedBoards"</span>: [
|
||||
<span class="hljs-string">"string"</span>
|
||||
@@ -12274,7 +12276,9 @@ System.out.println(response.toString());
|
||||
<span class="hljs-string">"string"</span>
|
||||
],
|
||||
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"invitedBoards"</span>: [
|
||||
<span class="hljs-string">"string"</span>
|
||||
@@ -15432,7 +15436,9 @@ UserSecurity
|
||||
<span class="hljs-string">"string"</span>
|
||||
],
|
||||
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"invitedBoards"</span>: [
|
||||
<span class="hljs-string">"string"</span>
|
||||
@@ -15598,7 +15604,9 @@ UserSecurity
|
||||
<span class="hljs-string">"string"</span>
|
||||
],
|
||||
<span class="hljs-attr">"fullname"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"showDesktopDragHandles"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenSystemMessages"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"hiddenMinicardLabelText"</span>: <span class="hljs-literal">true</span>,
|
||||
<span class="hljs-attr">"initials"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-attr">"invitedBoards"</span>: [
|
||||
<span class="hljs-string">"string"</span>
|
||||
@@ -15655,6 +15663,13 @@ UserSecurity
|
||||
<td>full name of the user</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>showDesktopDragHandles</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>none</td>
|
||||
<td>does the user want to hide system messages?</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hiddenSystemMessages</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
@@ -15662,6 +15677,13 @@ UserSecurity
|
||||
<td>does the user want to hide system messages?</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hiddenMinicardLabelText</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>none</td>
|
||||
<td>does the user want to hide minicard label texts?</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>initials</td>
|
||||
<td>string</td>
|
||||
<td>false</td>
|
||||
@@ -15773,10 +15795,6 @@ UserSecurity
|
||||
</tr>
|
||||
<tr>
|
||||
<td>boardView</td>
|
||||
<td>board-view-collapse</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>boardView</td>
|
||||
<td>board-view-cal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -2896,10 +2896,18 @@ definitions:
|
||||
description: |
|
||||
full name of the user
|
||||
type: string
|
||||
showDesktopDragHandles:
|
||||
description: |
|
||||
does the user want to hide system messages?
|
||||
type: boolean
|
||||
hiddenSystemMessages:
|
||||
description: |
|
||||
does the user want to hide system messages?
|
||||
type: boolean
|
||||
hiddenMinicardLabelText:
|
||||
description: |
|
||||
does the user want to hide minicard label texts?
|
||||
type: boolean
|
||||
initials:
|
||||
description: |
|
||||
initials of the user
|
||||
@@ -2944,7 +2952,6 @@ definitions:
|
||||
enum:
|
||||
- board-view-lists
|
||||
- board-view-swimlanes
|
||||
- board-view-collapse
|
||||
- board-view-cal
|
||||
listSortBy:
|
||||
description: |
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 356,
|
||||
appVersion = 357,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "3.54.0~2019-11-18"),
|
||||
appMarketingVersion = (defaultText = "3.55.0~2019-11-19"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
+16
-8
@@ -794,24 +794,32 @@ Migrations.add('add-assignee', () => {
|
||||
);
|
||||
});
|
||||
|
||||
Migrations.add('remove-profile-showDesktopDragHandles', () => {
|
||||
Migrations.add('add-profile-showDesktopDragHandles', () => {
|
||||
Users.update(
|
||||
{},
|
||||
{
|
||||
$unset: {
|
||||
'profile.showDesktopDragHandles': 1,
|
||||
'profile.showDesktopDragHandles': {
|
||||
$exists: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
'profile.showDesktopDragHandles': false,
|
||||
},
|
||||
},
|
||||
noValidateMulti,
|
||||
);
|
||||
});
|
||||
|
||||
Migrations.add('remove-profile-hiddenMinicardLabelText', () => {
|
||||
Migrations.add('add-profile-hiddenMinicardLabelText', () => {
|
||||
Users.update(
|
||||
{},
|
||||
{
|
||||
$unset: {
|
||||
'profile.hiddenMinicardLabelText': 1,
|
||||
'profile.hiddenMinicardLabelText': {
|
||||
$exists: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
'profile.hiddenMinicardLabelText': false,
|
||||
},
|
||||
},
|
||||
noValidateMulti,
|
||||
|
||||
Reference in new issue
Block a user