diff --git a/module/kanban/css/view.css b/module/kanban/css/view.css
index 9362b65e3b..c2392a81c8 100644
--- a/module/kanban/css/view.css
+++ b/module/kanban/css/view.css
@@ -58,15 +58,16 @@ body {background-color: #fff}
.region .kanban-lane-items {overflow: auto; padding-bottom: 10px;}
.region .kanban-item {position: relative}
-.region .kanban-item > .title {display: block; max-height: 38px; overflow: hidden; color: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
-.region .kanban-item > .title:hover {color: #2272eb}
-.region .kanban-item > .info {margin-top: 5px; position: relative;}
-.region .kanban-item > .info > .pri {height: 14px; border-width: 1px; font-size: 12px; line-height: 12px; min-width: 14px; padding: 0 1px;}
-.region .kanban-item > .info > .time {margin-left: 10px; font-size: 12px}
-.region .kanban-item > .info > .user {position: absolute; right: 0; top: 0}
-.region .kanban-item > .actions {position: absolute; top: 0px; right: 4px; opacity: 0;}
-.region .kanban-item > .actions > a {display: block; float: left; width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; opacity: .7;}
-.region .kanban-item > .actions > a:hover {background-color: rgba(0,0,0,.075); opacity: 1;}
+.region .kanban-item > .kanban-card > .title {display: block; max-height: 38px; overflow: hidden; color: inherit; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
+.region .kanban-item > .kanban-card > .title:hover {color: #2272eb}
+.region .kanban-item > .kanban-card > .info {margin-top: 5px; position: relative;}
+.region .kanban-item > .kanban-card > .info > .pri {height: 14px; border-width: 1px; font-size: 12px; line-height: 12px; min-width: 14px; padding: 0 1px;}
+.region .kanban-item > .kanban-card > .info > .estimate{margin-left: 10px; color: #999}
+.region .kanban-item > .kanban-card > .info > .time {margin-left: 10px; font-size: 12px; background: rgb(242, 242, 242)}
+.region .kanban-item > .kanban-card > .info > .user {position: absolute; right: 0; top: 0}
+.region .kanban-item > .kanban-card > .actions {position: absolute; top: 0px; right: 4px; opacity: 0;}
+.region .kanban-item > .kanban-card > .actions > a {display: block; float: left; width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 4px; opacity: .7;}
+.region .kanban-item > .kanban-card > .actions > a:hover {background-color: rgba(0,0,0,.075); opacity: 1;}
.region .kanban-item:hover > .actions {opacity: 1;}
.region .kanban-item.has-color .title,
.region .kanban-item.has-color .actions .icon-more-v,
diff --git a/module/kanban/js/setwip.js b/module/kanban/js/setwip.js
index c1506dfd42..766ae76518 100644
--- a/module/kanban/js/setwip.js
+++ b/module/kanban/js/setwip.js
@@ -23,7 +23,7 @@ $(function()
function setWIPLimit()
{
var count = $('#WIPCount').val();
- if($('#noLimit').attr('checked') == 'checked') count = -1;;
+ if($('#noLimit').attr('checked') == 'checked') count = -1;
$('#limit').val(count);
}
diff --git a/module/kanban/js/view.js b/module/kanban/js/view.js
index 18c0c37889..2460d61f9c 100644
--- a/module/kanban/js/view.js
+++ b/module/kanban/js/view.js
@@ -26,7 +26,7 @@ function fullScreen()
{
var afterEnterFullscreen = function()
{
- $('#mainContent').addClass('scrollbar-hover');
+ $('#kanban').css('background', '#fff');
$.cookie('isFullScreen', 1);
};
@@ -222,6 +222,7 @@ function renderKanbanItem(item, $item)
[
'
'
@@ -229,6 +230,8 @@ function renderKanbanItem(item, $item)
$item.data('card', item);
+ $info.children('.estimate').text(item.estimate + kanbancardLang.lblHour);
+
$info.children('.pri')
.attr('class', 'pri label-pri label-pri-' + item.pri)
.text(item.pri);
@@ -237,9 +240,9 @@ function renderKanbanItem(item, $item)
if(item.end && item.end !== '0000-00-00')
{
var end = $.zui.createDate(item.end);
- var today = $.zui.createDate(today);
+ var today = new Date();
var isExpired = end.getTime() < today.getTime();
- var dateFormat = (today.getFullYear() === end.getFullYear() ? 'MM-dd ' : 'yyyy-MM-dd ') + kanbancardLang.end;
+ var dateFormat = (today.getFullYear() === end.getFullYear() ? 'MM-dd ' : 'yyyy-MM-dd ') + kanbancardLang.deadlineAB;
$time.text($.zui.formatDate(end, dateFormat))
.toggleClass('text-red', isExpired)
.show();
@@ -599,6 +602,13 @@ function processMinusBtn()
}
}
+/**
+ * Create lane menu.
+ *
+ * @param object $options
+ * @access public
+ * @return void
+ */
function createLaneMenu(options)
{
var lane = options.$trigger.closest('.kanban-lane').data('lane');
@@ -614,6 +624,13 @@ function createLaneMenu(options)
return items;
}
+/**
+ * Create card menu;
+ *
+ * @param object $options
+ * @access public
+ * @return void
+ */
function createCardMenu(options)
{
var card = options.$trigger.closest('.kanban-item').data('item');
diff --git a/module/kanban/lang/en.php b/module/kanban/lang/en.php
index e2eb05a826..6a0131a2f2 100644
--- a/module/kanban/lang/en.php
+++ b/module/kanban/lang/en.php
@@ -40,23 +40,23 @@ $lang->kanban->archiveColumn = 'Archive Column';
$lang->kanban->spaceCommon = 'Kanban Space';
/* Fields. */
-$lang->kanban->space = 'Space';
-$lang->kanban->name = 'Name';
-$lang->kanban->owner = 'Owner';
-$lang->kanban->team = 'Team';
-$lang->kanban->desc = 'Description';
-$lang->kanban->acl = 'ACL';
-$lang->kanban->whitelist = 'White List';
-$lang->kanban->status = 'Status';
-$lang->kanban->createdBy = 'Created By';
-$lang->kanban->createdDate = 'Created Date';
-$lang->kanban->lastEditedBy = 'Edited By';
-$lang->kanban->lastEditedDate = 'Edited Date';
-$lang->kanban->closed = 'Closed';
-$lang->kanban->closedBy = 'Closed By';
-$lang->kanban->closedDate = 'Closed Date';
-$lang->kanban->empty = 'No Kanban';
-$lang->kanban->teamSumCount = '%s people in total';
+$lang->kanban->space = 'Space';
+$lang->kanban->name = 'Name';
+$lang->kanban->owner = 'Owner';
+$lang->kanban->team = 'Team';
+$lang->kanban->desc = 'Description';
+$lang->kanban->acl = 'ACL';
+$lang->kanban->whitelist = 'White List';
+$lang->kanban->status = 'Status';
+$lang->kanban->createdBy = 'Created By';
+$lang->kanban->createdDate = 'Created Date';
+$lang->kanban->lastEditedBy = 'Edited By';
+$lang->kanban->lastEditedDate = 'Edited Date';
+$lang->kanban->closed = 'Closed';
+$lang->kanban->closedBy = 'Closed By';
+$lang->kanban->closedDate = 'Closed Date';
+$lang->kanban->empty = 'No Kanban';
+$lang->kanban->teamSumCount = '%s people in total';
$lang->kanban->createColumnOnLeft = 'Create Column On Left';
$lang->kanban->createColumnOnRight = 'Create Column On Right';
@@ -252,6 +252,7 @@ $lang->kanbancard->archivedBy = 'Archived By';
$lang->kanbancard->archivedDate = 'Archived Date';
$lang->kanbancard->lblHour = 'h';
$lang->kanbancard->noAssigned = 'No Assigned';
+$lang->kanbancard->deadlineAB = 'DL';
$lang->kanbancard->priList[1] = 1;
$lang->kanbancard->priList[2] = 2;
diff --git a/module/kanban/lang/zh-cn.php b/module/kanban/lang/zh-cn.php
index 0ca4450ded..7e9a6338fe 100644
--- a/module/kanban/lang/zh-cn.php
+++ b/module/kanban/lang/zh-cn.php
@@ -252,6 +252,7 @@ $lang->kanbancard->archivedBy = '由谁归档';
$lang->kanbancard->archivedDate = '归档时间';
$lang->kanbancard->lblHour = 'h';
$lang->kanbancard->noAssigned = '未指派';
+$lang->kanbancard->deadlineAB = '截止';
$lang->kanbancard->priList[1] = 1;
$lang->kanbancard->priList[2] = 2;
diff --git a/module/kanban/model.php b/module/kanban/model.php
index 2dc4a8e7c2..767467b529 100644
--- a/module/kanban/model.php
+++ b/module/kanban/model.php
@@ -320,6 +320,7 @@ class kanbanModel extends model
->add('assignedDate', $now)
->trim('name')
->setDefault('estimate', 0)
+ ->join('assignedTo', ',')
->setIF(is_numeric($this->post->estimate), 'estimate', (float)$this->post->estimate)
->remove('uid')
->get();
diff --git a/module/kanban/view/createcard.html.php b/module/kanban/view/createcard.html.php
index c63ce3b692..12969bb369 100644
--- a/module/kanban/view/createcard.html.php
+++ b/module/kanban/view/createcard.html.php
@@ -19,36 +19,11 @@