summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Model/Task.php7
-rw-r--r--app/Templates/board_show.php2
-rw-r--r--app/common.php3
-rw-r--r--assets/css/app.css4
-rw-r--r--assets/js/app.js3
-rw-r--r--config.default.php3
6 files changed, 18 insertions, 4 deletions
diff --git a/app/Model/Task.php b/app/Model/Task.php
index 0753c57d..09c77573 100644
--- a/app/Model/Task.php
+++ b/app/Model/Task.php
@@ -387,6 +387,7 @@ class Task extends Base
// Prepare data
$this->prepare($values);
$values['date_creation'] = time();
+ $values['date_modification'] = $values['date_creation'];
$values['position'] = $this->countByColumnId($values['project_id'], $values['column_id']);
// Save task
@@ -426,9 +427,13 @@ class Task extends Base
// Prepare data
$this->prepare($values);
$updated_task = $values;
- $updated_task['date_modification'] = time();
unset($updated_task['id']);
+ // We update the modification date only for the selected task to highlight recent moves
+ if ($trigger_events) {
+ $updated_task['date_modification'] = time();
+ }
+
$result = $this->db->table(self::TABLE)->eq('id', $values['id'])->update($updated_task);
// Trigger events
diff --git a/app/Templates/board_show.php b/app/Templates/board_show.php
index 2d857497..e91ab4cf 100644
--- a/app/Templates/board_show.php
+++ b/app/Templates/board_show.php
@@ -32,7 +32,7 @@
data-task-limit="<?= $column['task_limit'] ?>"
>
<?php foreach ($column['tasks'] as $task): ?>
- <div class="task-board draggable-item task-<?= $task['color_id'] ?>"
+ <div class="task-board draggable-item task-<?= $task['color_id'] ?> <?= $task['date_modification'] > time() - RECENT_TASK_PERIOD ? 'task-board-recent' : '' ?>"
data-task-id="<?= $task['id'] ?>"
data-owner-id="<?= $task['owner_id'] ?>"
data-category-id="<?= $task['category_id'] ?>"
diff --git a/app/common.php b/app/common.php
index f66a3fa9..9d48442b 100644
--- a/app/common.php
+++ b/app/common.php
@@ -33,6 +33,9 @@ defined('BOARD_PUBLIC_CHECK_INTERVAL') or define('BOARD_PUBLIC_CHECK_INTERVAL',
// Board refresh frequency in seconds (the value 0 disable this feature)
defined('BOARD_CHECK_INTERVAL') or define('BOARD_CHECK_INTERVAL', 10);
+// Period (in second) to consider a task was modified recently
+defined('RECENT_TASK_PERIOD') or define('RECENT_TASK_PERIOD', 48*60*60);
+
// Custom session save path
defined('SESSION_SAVE_PATH') or define('SESSION_SAVE_PATH', '');
diff --git a/assets/css/app.css b/assets/css/app.css
index fae922ab..2866151d 100644
--- a/assets/css/app.css
+++ b/assets/css/app.css
@@ -584,6 +584,10 @@ a.filter-on {
font-size: 95%;
}
+.task-board-recent {
+ box-shadow: 0px 0px 10px rgba(82, 158, 236, 1);
+}
+
.task-table a,
.task-board a {
color: #000;
diff --git a/assets/js/app.js b/assets/js/app.js
index 78354dde..20af61eb 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -77,8 +77,7 @@ Kanboard.Board = (function() {
connectWith: ".column",
placeholder: "draggable-placeholder",
stop: function(event, ui) {
- var task_id = parseInt(ui.item[0].getAttribute("data-task-id"));
- board_save(task_id);
+ board_save(ui.item.attr('data-task-id'));
}
});
diff --git a/config.default.php b/config.default.php
index b79bad94..9e597488 100644
--- a/config.default.php
+++ b/config.default.php
@@ -21,6 +21,9 @@ define('BOARD_PUBLIC_CHECK_INTERVAL', 60);
// Board refresh frequency in seconds (the value 0 disable this feature, 10 seconds by default)
define('BOARD_CHECK_INTERVAL', 10);
+// Period (in second) to consider a task was modified recently (0 to disable, 2 days by default)
+define('RECENT_TASK_PERIOD', 48*60*60);
+
// Database driver: sqlite or mysql (sqlite by default)
define('DB_DRIVER', 'sqlite');