Compare commits

...
20 Commits
Author SHA1 Message Date
Lauri Ojansivu 3ee2156399 v5.69 2021-10-28 14:08:32 +03:00
Lauri Ojansivu 90cd26e78e Updated ChangeLog. 2021-10-28 14:00:35 +03:00
Lauri Ojansivu 4c9d10f7a7 Merge pull request #4101 from mfilser/popup_fixes_archive_cards_attachement_etc
Popup fixes: Archive cards, upload attachements etc
2021-10-28 13:54:44 +03:00
Martin Filser a686a18809 Fix: Card color setting reloaded the board (hotfix)
- There is another issue why the board get's reloaded again. If i comment
  out the whole events() block so the card color is not saved, the boards
  get reloaded too ...
2021-10-28 12:41:12 +02:00
Martin Filser c7ab0403a6 Card watching closes now the popup after confirmation 2021-10-28 12:40:18 +02:00
Martin Filser f90fb28483 Card archive closes now the popup after confirmation 2021-10-28 12:40:18 +02:00
Martin Filser fecb9cdb66 Popup#afterConfirm popup broke features like "Archiv Cards", "Upload Attachements" and so on -> fixed 2021-10-28 12:40:18 +02:00
Lauri Ojansivu 66df3cc2ee Updated ChangeLog. 2021-10-28 13:09:09 +03:00
Lauri Ojansivu d9adce7b67 Fix Docs: Only MAIL_URL and MAIL_FROM for email settings. Not Admin Panel anymore.
Thanks to niklasdahlheimer !

Fixes #4090
2021-10-28 13:06:43 +03:00
Lauri Ojansivu dfd5acea97 Updated ChangeLog. 2021-10-27 23:40:21 +03:00
Lauri Ojansivu 5411113544 Updated Docker base image to Ubuntu 21.10 Impish.
Thanks to Ubuntu developers!
2021-10-27 23:37:30 +03:00
Lauri Ojansivu d1eb6f2355 v5.68 2021-10-27 22:43:36 +03:00
Lauri Ojansivu aed1e71094 Updated ChangeLog. 2021-10-27 22:20:04 +03:00
Lauri Ojansivu 46f6d1e989 Merge pull request #4087 from mfilser/fix_labels_desktop_view_add_and_delete
Fix labels desktop view add and delete
2021-10-27 22:19:01 +03:00
Martin Filser e9c1b2b2c4 Fix: Labels on desktop view can be added/deleted again 2021-10-27 17:29:11 +02:00
Martin Filser 94f8fb2393 Fix: Labels at desktop view with enabled drag handles were sortable 2021-10-27 17:29:11 +02:00
Martin Filser 2055d916e9 Labels/Drag handles on desktop view with drag handles were too long 2021-10-27 17:29:11 +02:00
Lauri Ojansivu 70dbd1518d Updated ChangeLog. 2021-10-27 16:44:47 +03:00
Lauri Ojansivu 3db3a5bad9 Merge pull request #4084 from mfilser/labels_drag_drop
Adding drag/drop to labels
2021-10-27 16:21:43 +03:00
Martin Filser c8b8fb83dc Labels drag/drop 2021-10-27 08:02:46 +02:00
23 changed files with 134 additions and 33 deletions

No files matched your search

+30
View File
@@ -1,5 +1,35 @@
[Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
# v5.69 2021-10-28 WeKan ® release
This release adds the following updates:
- [Updated Docker base image to Ubuntu 21.10 Impish](https://github.com/wekan/wekan/commit/5411113544f040cab2df86234745e4846029660f).
Thanks to Ubuntu developers.
and fixes the following bugs:
- [Fix Docs: Only MAIL_URL and MAIL_FROM for email settings. Not Admin Panel anymore](https://github.com/wekan/wekan/commit/d9adce7b676b705da786eb44cd2c2c4dba120d30).
Thanks to niklasdahlheimer.
- [Popup fixes: Archive cards, upload attachements etc](https://github.com/wekan/wekan/pull/4101).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.68 2021-10-27 WeKan ® release
This release adds the following new features:
- [Labels are now drag/drop/sortable](https://github.com/wekan/wekan/pull/4084).
Thanks to mfilser.
and fixes the following bugs:
- [Fix labels desktop view add and delete](https://github.com/wekan/wekan/pull/4087).
Thanks to mfilser.
Thanks to above GitHub users for their contributions and translators for their translations.
# v5.67 2021-10-27 WeKan ® release
This release fixes the following bugs:
+1 -1
View File
@@ -1,4 +1,4 @@
FROM quay.io/wekan/ubuntu:hirsute-20210825
FROM quay.io/wekan/ubuntu:impish-20211015
LABEL maintainer="wekan"
# 2021-09-18:
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v5.67.0"
appVersion: "v5.69.0"
files:
userUploads:
- README.md
+3 -3
View File
@@ -692,7 +692,7 @@ Template.cardDetailsActionsPopup.events({
this.move(this.boardId, this.swimlaneId, this.listId, maxOrder + 1);
},
'click .js-archive': Popup.afterConfirm('cardArchive', function () {
Popup.back();
Popup.close();
this.archive();
Utils.goBoardId(this.boardId);
}),
@@ -701,7 +701,7 @@ Template.cardDetailsActionsPopup.events({
const currentCard = this;
const level = currentCard.findWatcher(Meteor.userId()) ? null : 'watching';
Meteor.call('watch', 'card', currentCard._id, level, (err, ret) => {
if (!err && ret) Popup.back();
if (!err && ret) Popup.close();
});
},
});
@@ -1007,7 +1007,7 @@ BlazeComponent.extendComponent({
},
'click .js-submit'() {
this.currentCard.setColor(this.currentColor.get());
Popup.back();
Popup.close();
},
'click .js-remove-color'() {
this.currentCard.setColor(null);
+4 -2
View File
@@ -27,9 +27,11 @@ template(name="deleteLabelPopup")
template(name="cardLabelsPopup")
ul.edit-labels-pop-over
each board.labels
li
li.js-card-label-item
a.card-label-edit-button.fa.fa-pencil.js-edit-label
span.card-label.card-label-selectable.js-select-label(class="card-label-{{color}}"
if isMiniScreenOrShowDesktopDragHandles
span.fa.label-handle(class="fa-arrows" title="{{_ 'dragLabel'}}")
span.card-label.card-label-selectable.js-select-label.card-label-wrapper(class="card-label-{{color}}"
class="{{# if isLabelSelected ../_id }}active{{/if}}")
+viewer
= name
+51 -8
View File
@@ -39,15 +39,58 @@ Template.createLabelPopup.helpers({
},
});
Template.cardLabelsPopup.events({
'click .js-select-label'(event) {
const card = Utils.getCurrentCard();
const labelId = this._id;
card.toggleLabel(labelId);
event.preventDefault();
BlazeComponent.extendComponent({
onRendered() {
const itemsSelector = 'li.js-card-label-item:not(.placeholder)';
const $labels = this.$('.edit-labels-pop-over');
$labels.sortable({
connectWith: '.edit-labels-pop-over',
tolerance: 'pointer',
appendTo: '.edit-labels-pop-over',
helper: 'clone',
distance: 7,
items: itemsSelector,
placeholder: 'card-label-wrapper placeholder',
start(evt, ui) {
ui.helper.css('z-index', 1000);
ui.placeholder.height(ui.helper.height());
EscapeActions.clickExecute(evt.target, 'inlinedForm');
},
stop(evt, ui) {
const newLabelOrderOnlyIds = ui.item.parent().children().toArray().map(_element => Blaze.getData(_element)._id)
const card = Blaze.getData(this);
card.board().setNewLabelOrder(newLabelOrderOnlyIds);
},
});
Utils.enableClickOnTouch(itemsSelector);
// Disable drag-dropping if the current user is not a board member or is comment only
this.autorun(() => {
if (Utils.isMiniScreenOrShowDesktopDragHandles()) {
$labels.sortable({
handle: '.label-handle',
});
}
});
},
'click .js-edit-label': Popup.open('editLabel'),
'click .js-add-label': Popup.open('createLabel'),
events() {
return [
{
'click .js-select-label'(event) {
const card = Utils.getCurrentCard();
const labelId = this.currentData()._id;
card.toggleLabel(labelId);
event.preventDefault();
},
'click .js-edit-label': Popup.open('editLabel'),
'click .js-add-label': Popup.open('createLabel'),
}
];
}
}).register('cardLabelsPopup');
Template.cardLabelsPopup.events({
});
Template.formLabel.events({
+6
View File
@@ -222,3 +222,9 @@
&:hover
background: #dbdbdb
ul.edit-labels-pop-over
span.fa.label-handle
padding-right: 10px;
span.fa.label-handle + .card-label
max-width: 180px
+1 -1
View File
@@ -55,7 +55,7 @@ BlazeComponent.extendComponent({
*/
cardLabelsPopup(event) {
if (this.find('.js-card-label:hover')) {
Popup.open("cardLabels")(event, this.currentData());
Popup.open("cardLabels")(event, {dataContextIfCurrentDataIsUndefined: this.currentData()});
}
},
+3 -3
View File
@@ -32,9 +32,9 @@ window.Popup = new (class {
}
/** opens the popup
* @param evt the current event
* @param dataContextIfCurrentDataIsUndefined use this dataContext if this.currentData() is undefined
* @param options options (dataContextIfCurrentDataIsUndefined use this dataContext if this.currentData() is undefined)
*/
return function(evt, dataContextIfCurrentDataIsUndefined) {
return function(evt, options) {
// If a popup is already opened, clicking again on the opener element
// should close it -- and interrupt the current `open` function.
if (self.isOpen()) {
@@ -71,7 +71,7 @@ window.Popup = new (class {
title: self._getTitle(popupName),
depth: self._stack.length,
offset: self._getOffset(openerElement),
dataContext: (this && this.currentData && this.currentData()) || dataContextIfCurrentDataIsUndefined || this,
dataContext: (this && this.currentData && this.currentData()) || (options && options.dataContextIfCurrentDataIsUndefined) || this,
});
// If there are no popup currently opened we use the Blaze API to render
+3 -1
View File
@@ -160,7 +160,8 @@ services:
- ROOT_URL=http://localhost # <=== using only at same laptop/desktop where Wekan is installed
#---------------------------------------------------------------
# ==== EMAIL SETTINGS ====
# Email settings are required in both MAIL_URL and Admin Panel,
# Email settings are only at MAIL_URL and MAIL_FROM.
# Admin Panel has test button, but it's not used for settings.
# see https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
# For SSL in email, change smtp:// to smtps://
# NOTE: Special characters need to be url-encoded in MAIL_URL.
@@ -168,6 +169,7 @@ services:
#- MAIL_URL=smtp://user:pass@mailserver.example.com:25/
- MAIL_URL=smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}
- MAIL_FROM=Wekan Notifications <noreply.wekan@mydomain.com>
# Currently MAIL_SERVICE is not in use.
#- MAIL_SERVICE=Outlook365
#- MAIL_SERVICE_USER=firstname.lastname@hotmail.com
#- MAIL_SERVICE_PASSWORD=SecretPassword
+1 -1
View File
@@ -1,5 +1,5 @@
apiVersion: v2
appVersion: "5.67"
appVersion: "5.69"
dependencies:
- condition: mongodb.enabled
name: mongodb
+1 -1
View File
@@ -14,7 +14,7 @@ serviceAccounts:
##
image:
repository: quay.io/wekan/wekan
tag: v5.67
tag: v5.69
pullPolicy: IfNotPresent
## Configuration for wekan component
+14
View File
@@ -901,6 +901,20 @@ Boards.helpers({
return _id;
},
/** sets the new label order
* @param newLabelOrderOnlyIds new order array of _id, e.g. Array(4) [ "FvtD34", "PAEgDP", "LjRBxH", "YJ8sZz" ]
*/
setNewLabelOrder(newLabelOrderOnlyIds) {
if (this.labels.length == newLabelOrderOnlyIds.length) {
if (this.labels.every(_label => newLabelOrderOnlyIds.indexOf(_label._id) >= 0)) {
const newLabels = _.sortBy(this.labels, _label => newLabelOrderOnlyIds.indexOf(_label._id));
if (this.labels.length == newLabels.length) {
Boards.direct.update(this._id, {$set: {labels: newLabels}});
}
}
}
},
searchBoards(term) {
check(term, Match.OneOf(String, null, undefined));
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v5.67.0",
"version": "v5.69.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v5.67.0",
"version": "v5.69.0",
"description": "Open-Source kanban",
"private": true,
"repository": {
+3 -3
View File
@@ -7,7 +7,7 @@
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Wekan REST API v5.67</title>
<title>Wekan REST API v5.69</title>
<style>
</style>
@@ -1555,7 +1555,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.67">Wekan REST API v5.67</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v5.69">Wekan REST API v5.69</a>
</li>
@@ -2128,7 +2128,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v5.67</h1>
<h1 id="wekan-rest-api">Wekan REST API v5.69</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v5.67
version: v5.69
description: |
The REST API allows you to control and extend Wekan with ease.
+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 = 567,
appVersion = 569,
# Increment this for every release.
appMarketingVersion = (defaultText = "5.67.0~2021-10-27"),
appMarketingVersion = (defaultText = "5.69.0~2021-10-28"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+1 -1
View File
@@ -54,7 +54,7 @@ echo -e "mail-url:"
echo -e "\t$ snap set $SNAP_NAME mail-url='smtp://username:password@email-smtp.eu-west-1.amazonaws.com:587?tls={ciphers:\"SSLv3\"}&secureConnection=false'"
echo -e "mail-from:"
echo -e "\t$ snap set $SNAP_NAME mail-from='Boards Support <support@example.com>'"
echo -e "mail-service:"
echo -e "mail-service (CURRENTLY NOT IN USE):"
echo -e "\t$ snap set $SNAP_NAME mail-service='Outlook365'"
echo -e "mail-service-user:"
echo -e "\t$ snap set $SNAP_NAME mail-service-user='firstname.lastname@hotmail.com'"
+1 -1
View File
@@ -1,5 +1,5 @@
name: wekan
version: '5.67'
version: '5.69'
summary: Open Source kanban
description: |
WeKan ® is an Open Source and collaborative kanban board application.
+1
View File
@@ -14,6 +14,7 @@ SET MONGO_URL=mongodb://127.0.0.1:27017/wekan
REM # https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
REM SET MAIL_URL=smtps://username:password@email-smtp.eu-west-1.amazonaws.com:587/
REM SET MAIL_FROM="Wekan Boards <info@example.com>"
REM # Currently MAIL_SERVICE is not in use.
REM SET MAIL_SERVICE=Outlook365
REM SET MAIL_SERVICE_USER=firstname.lastname@hotmail.com
REM SET MAIL_SERVICE_PASSWORD=SecretPassword
+1
View File
@@ -18,6 +18,7 @@
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
export MAIL_FROM='Wekan Boards <info@example.com>'
# Currently MAIL_SERVICE is not in use.
#export MAIL_SERVICE=Outlook365
#export MAIL_SERVICE_USER=firstname.lastname@hotmail.com
#export MAIL_SERVICE_PASSWORD=SecretPassword
+3 -1
View File
@@ -163,13 +163,15 @@ services:
# - http://192.168.1.100 <=== using at local LAN
- ROOT_URL=http://localhost # <=== using only at same laptop/desktop where Wekan is installed
# ==== EMAIL SETTINGS ====
# Email settings are required in both MAIL_URL and Admin Panel,
# Email settings are only at MAIL_URL and MAIL_FROM.
# Admin Panel has test button, but it's not used for settings.
# see https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
# For SSL in email, change smtp:// to smtps://
# NOTE: Special characters need to be url-encoded in MAIL_URL.
# You can encode those characters for example at: https://www.urlencoder.org
- MAIL_URL=smtp://user:pass@mailserver.example.com:25/
- MAIL_FROM='Example Wekan Support <support@example.com>'
# Currently MAIL_SERVICE is not in use.
#- MAIL_SERVICE=Outlook365
#- MAIL_SERVICE_USER=firstname.lastname@hotmail.com
#- MAIL_SERVICE_PASSWORD=SecretPassword