Compare commits

..
12 Commits
10 changed files with 61 additions and 26 deletions

No files matched your search

+22 -2
View File
@@ -1,3 +1,22 @@
# v2.47 2019-03-14 Wekan release
This release fixes the following bugs, thanks to GitHub user xet7:
- [Remove ordering of cards by starred/color/description, so that cards would not reorder all the time](https://github.com/wekan/wekan/issues/2241).
- Try to fix [LDAP Login: "Login forbidden", ReferenceError: req is not defined](https://github.com/wekan/wekan-ldap/44).
# v2.46 2019-03-13 Wekan release
This release fixes the following bugs:
- [Fix watchers undefined](https://github.com/wekan/wekan/pull/2253).
Thanks to justinr1234.
- [Revert hiding of Subtask boards](https://github.com/wekan/wekan/commit/1968b7da31d75757fd6383417d729ff6af6bbc5b)
because of feedback from Wekan users, that need Subtask boards to be visible.
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v2.45 2019-03-11 Wekan release
This release fixes the following bugs, thanks to andresmanelli:
@@ -25,7 +44,7 @@ and fixes the following bugs:
Thanks to andresmanelli.
- Try to fix [Order All Boards by starred, color, board name and board description. Part 2](https://github.com/wekan/wekan/commit/8f337f17e45f8af8d96b6043d54466e5878b7e0b).
Works on new Wekan install. Could still have boards keeping reording happening all the time on old Wekan installs.
Thanks to xet7.
Thanks to xet7. Note: Ordering by starred/color/description was removed at Wekan v2.47.
- [Changed brute force protection package from eluck:accounts-lockout to lucasantoniassi:accounts-lockout that is maintained and works.
Added Snap/Docker/Source settings](https://github.com/wekan/wekan/commit/b7c000b78b9af253fb115bbfa5ef0d4c0681abbb).
Thanks to xet7.
@@ -36,8 +55,9 @@ Thanks to above Wekan contributors for their contributions.
This release adds the following new features, thanks to xet7:
- [Hide Subtask boards from All Boards](https://github.com/wekan/wekan/issues/1990).
- [Hide Subtask boards from All Boards](https://github.com/wekan/wekan/issues/1990). This was reverted in Wekan v2.46 to make Subtask boards visible again.
- [Order All Boards by Starred, Color, Title and Description](https://github.com/wekan/wekan/commit/856872815292590e0c4eff2848ea1b857a318dc4).
This was removed at Wekan v2.47.
- [HTTP header automatic login](https://github.com/wekan/wekan/commit/ff825d6123ecfd033ccb08ce97c11cefee676104)
for [3rd party authentication server method](https://github.com/wekan/wekan/issues/2019) like siteminder, and any webserver that
handles authentication and based on it adds HTTP headers to be used for login. Please test.
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v2.45.0"
appVersion: "v2.47.0"
files:
userUploads:
- README.md
+1 -2
View File
@@ -25,8 +25,7 @@ BlazeComponent.extendComponent({
archived: false,
'members.userId': Meteor.userId(),
type: 'board',
subtasksDefaultListId: null,
}, { sort: [['stars', 'desc'], ['color', 'asc'], ['title', 'asc'], ['description', 'asc'], ['_id', 'asc']] });
}, { sort: ['title'] });
},
isStarred() {
const user = Meteor.user();
+5 -5
View File
@@ -105,10 +105,10 @@ async function authentication(event, instance) {
// If header login id is set, use it for login.
// Header username = Email address
// Header password = Login ID
// Not user currently: req.headers[process.env.HEADER_LOGIN_FIRSTNAME]
// and req.headers[process.env.HEADER_LOGIN_LASTNAME]
const match = req.headers[process.env.HEADER_LOGIN_EMAIL] || $('#at-field-username_and_email').val();
const password = req.headers[process.env.HEADER_LOGIN_ID] || $('#at-field-password').val();
// Not user currently: request.headers[Meteor.settings.public.headerLoginFirstname]
// and request.headers[Meteor.settings.public.headerLoginLastname]
const match = request.headers[Meteor.settings.public.headerLoginEmail] || $('#at-field-username_and_email').val();
const password = request.headers[Meteor.settings.public.headerLoginId] || $('#at-field-password').val();
if (!match || !password) return;
@@ -117,7 +117,7 @@ async function authentication(event, instance) {
if (result === 'password') return;
// If header login id is not set, don't try to login automatically.
if (!process.env.HEADER_LOGIN_ID) {
if (!Meteor.settings.public.headerLoginId) {
// Stop submit #at-pwd-form
event.preventDefault();
event.stopImmediatePropagation();
+2 -2
View File
@@ -567,8 +567,8 @@
"activity-added-label-card": "a ajouté l'étiquette '%s'",
"activity-removed-label-card": "a supprimé l'étiquette '%s'",
"activity-delete-attach-card": "a supprimé une pièce jointe",
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
"activity-unset-customfield": "unset custom field '%s' in %s",
"activity-set-customfield": "a défini le champ personnalisé '%s' à '%s' dans %s",
"activity-unset-customfield": "a effacé le champ personnalisé '%s' dans %s",
"r-rule": "Règle",
"r-add-trigger": "Ajouter un déclencheur",
"r-add-action": "Ajouter une action",
+2 -2
View File
@@ -567,8 +567,8 @@
"activity-added-label-card": "добавил метку '%s'",
"activity-removed-label-card": "удалил метку '%s'",
"activity-delete-attach-card": "удалил вложение",
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
"activity-unset-customfield": "unset custom field '%s' in %s",
"activity-set-customfield": "сменил значение поля '%s' на '%s' в карточке %s",
"activity-unset-customfield": "очистил поле '%s' в карточке %s",
"r-rule": "Правило",
"r-add-trigger": "Задать условие",
"r-add-action": "Задать действие",
+15 -9
View File
@@ -113,9 +113,11 @@ if (Meteor.isServer) {
}
if (activity.oldBoardId) {
const oldBoard = activity.oldBoard();
watchers = _.union(watchers, oldBoard.watchers || []);
params.oldBoard = oldBoard.title;
params.oldBoardId = activity.oldBoardId;
if (oldBoard) {
watchers = _.union(watchers, oldBoard.watchers || []);
params.oldBoard = oldBoard.title;
params.oldBoardId = activity.oldBoardId;
}
}
if (activity.memberId) {
participants = _.union(participants, [activity.memberId]);
@@ -129,15 +131,19 @@ if (Meteor.isServer) {
}
if (activity.oldListId) {
const oldList = activity.oldList();
watchers = _.union(watchers, oldList.watchers || []);
params.oldList = oldList.title;
params.oldListId = activity.oldListId;
if (oldList) {
watchers = _.union(watchers, oldList.watchers || []);
params.oldList = oldList.title;
params.oldListId = activity.oldListId;
}
}
if (activity.oldSwimlaneId) {
const oldSwimlane = activity.oldSwimlane();
watchers = _.union(watchers, oldSwimlane.watchers || []);
params.oldSwimlane = oldSwimlane.title;
params.oldSwimlaneId = activity.oldSwimlaneId;
if (oldSwimlane) {
watchers = _.union(watchers, oldSwimlane.watchers || []);
params.oldSwimlane = oldSwimlane.title;
params.oldSwimlaneId = activity.oldSwimlaneId;
}
}
if (activity.cardId) {
const card = activity.card();
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v2.45.0",
"version": "v2.47.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 247,
appVersion = 249,
# Increment this for every release.
appMarketingVersion = (defaultText = "2.45.0~2019-03-11"),
appMarketingVersion = (defaultText = "2.47.0~2019-03-14"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+10
View File
@@ -0,0 +1,10 @@
Meteor.startup(() => {
if ( process.env.HEADER_LOGIN_ID ) {
Meteor.settings.public.headerLoginId = process.env.HEADER_LOGIN_ID;
Meteor.settings.public.headerLoginEmail = process.env.HEADER_LOGIN_EMAIL;
Meteor.settings.public.headerLoginFirstname = process.env.HEADER_LOGIN_FIRSTNAME;
Meteor.settings.public.headerLoginLastname = process.env.HEADER_LOGIN_LASTNAME;
}
});