* Finish task #48005.
This commit is contained in:
@@ -670,7 +670,6 @@ $lang->resource->kanban->deleteCard = 'deleteCard';
|
||||
$lang->resource->kanban->moveCard = 'moveCard';
|
||||
$lang->resource->kanban->setCardColor = 'setCardColor';
|
||||
$lang->resource->kanban->laneMove = 'laneMove';
|
||||
$lang->resource->kanban->cardsSort = 'cardsSort';
|
||||
$lang->resource->kanban->viewArchivedColumn = 'viewArchivedColumn';
|
||||
$lang->resource->kanban->viewArchivedCard = 'viewArchivedCard';
|
||||
$lang->resource->kanban->restoreCard = 'restoreCard';
|
||||
@@ -714,12 +713,11 @@ $lang->kanban->methodOrder[170] = 'assigntoCard';
|
||||
$lang->kanban->methodOrder[175] = 'moveCard';
|
||||
$lang->kanban->methodOrder[180] = 'setCardColor';
|
||||
$lang->kanban->methodOrder[185] = 'laneMove';
|
||||
$lang->kanban->methodorder[190] = 'cardsSort';
|
||||
$lang->kanban->methodOrder[195] = 'viewArchivedColumn';
|
||||
$lang->kanban->methodorder[200] = 'viewArchivedCard';
|
||||
$lang->kanban->methodorder[205] = 'archiveColumn';
|
||||
$lang->kanban->methodorder[210] = 'restoreCard';
|
||||
$lang->kanban->methodorder[215] = 'setLaneHeight';
|
||||
$lang->kanban->methodOrder[190] = 'viewArchivedColumn';
|
||||
$lang->kanban->methodorder[195] = 'viewArchivedCard';
|
||||
$lang->kanban->methodorder[200] = 'archiveColumn';
|
||||
$lang->kanban->methodorder[205] = 'restoreCard';
|
||||
$lang->kanban->methodorder[210] = 'setLaneHeight';
|
||||
|
||||
/* Execution. */
|
||||
$lang->resource->execution = new stdclass();
|
||||
|
||||
@@ -781,6 +781,26 @@ class kanban extends control
|
||||
die(json_encode($kanbanGroup));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort cards.
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @param int $laneID
|
||||
* @param int $columnID
|
||||
* @param string $cards
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function sortCard($kanbanID, $laneID, $columnID, $cards = '')
|
||||
{
|
||||
if(empty($cards)) return;
|
||||
|
||||
$this->dao->update(TABLE_KANBANCELL)->set('cards')->eq(",$cards,")->where('kanban')->eq($kanbanID)->andWhere('lane')->eq($laneID)->andWhere('`column`')->eq($columnID)->exec();
|
||||
|
||||
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess));
|
||||
}
|
||||
|
||||
/**
|
||||
* Archive a card.
|
||||
*
|
||||
|
||||
@@ -258,6 +258,8 @@ function renderKanbanItem(item, $item)
|
||||
var $title = $item.children('.title');
|
||||
var privs = item.actions;
|
||||
var printMoreBtn = (privs.includes('editCard') || privs.includes('archiveCard') || privs.includes('copyCard') || privs.includes('deleteCard') || privs.includes('moveCard') || privs.includes('setCardColor'));
|
||||
|
||||
if(privs.includes('sortCard')) $item.parent().addClass('sort');
|
||||
if(!$title.length)
|
||||
{
|
||||
if(privs.includes('viewCard')) $title = $('<a class="title iframe" data-toggle="modal" data-width="80%"></a>').appendTo($item).attr('href', createLink('kanban', 'viewCard', 'cardID=' + item.id, '', true));
|
||||
@@ -930,29 +932,29 @@ $(function()
|
||||
var $cards = null;
|
||||
$('#kanban').sortable(
|
||||
{
|
||||
selector: '.region, .kanban-board, .kanban-lane',
|
||||
trigger: '.region.sort > .region-header, .kanban-board.sort > .kanban-header > .kanban-group-header, .kanban-lane.sort > .kanban-lane-name',
|
||||
selector: '.region, .kanban-board, .kanban-lane, .kanban-item.sort',
|
||||
trigger: '.region.sort > .region-header, .kanban-board.sort > .kanban-header > .kanban-group-header, .kanban-lane.sort > .kanban-lane-name, .kanban-item.sort',
|
||||
container: function($ele)
|
||||
{
|
||||
return $ele.parent();
|
||||
},
|
||||
targetSelector: function($ele)
|
||||
{
|
||||
/* Sort regions */
|
||||
/* Sort regions. */
|
||||
if($ele.hasClass('region'))
|
||||
{
|
||||
sortType = 'region';
|
||||
return $ele.parent().children('.region');
|
||||
}
|
||||
|
||||
/* Sort boards */
|
||||
/* Sort boards. */
|
||||
if($ele.hasClass('kanban-board'))
|
||||
{
|
||||
sortType = 'board';
|
||||
return $ele.parent().children('.kanban-board');
|
||||
}
|
||||
|
||||
/* Sort lanes */
|
||||
/* Sort lanes. */
|
||||
if($ele.hasClass('kanban-lane'))
|
||||
{
|
||||
sortType = 'lane';
|
||||
@@ -961,10 +963,10 @@ $(function()
|
||||
return $ele.parent().children('.kanban-lane');
|
||||
}
|
||||
|
||||
/* Sort lanes */
|
||||
/* Sort cards. */
|
||||
if($ele.hasClass('kanban-item'))
|
||||
{
|
||||
sortType = 'item';
|
||||
sortType = 'card';
|
||||
return $ele.parent().children('.kanban-item');
|
||||
}
|
||||
},
|
||||
@@ -1015,9 +1017,11 @@ $(function()
|
||||
var region = e.element.parent().parent().data('id');
|
||||
url = createLink('kanban', 'sortLane', 'region=' + region + '&lanes=' + orders.join(','));
|
||||
}
|
||||
if(sortType == 'item')
|
||||
if(sortType == 'card')
|
||||
{
|
||||
url = createLink('task', 'sort', 'kanbanID=' + kanbanID + '&tasks=' + orders.join(','));
|
||||
var laneID = e.element.closest('.kanban-lane').data('id');
|
||||
var columnID = e.element.closest('.kanban-col').data('id');
|
||||
url = createLink('kanban', 'sortCard', 'kanbanID=' + kanbanID + '&laneID=' + laneID + '&columnID=' + columnID + '&cards=' + orders.join(','));
|
||||
}
|
||||
if(!url) return true;
|
||||
|
||||
|
||||
@@ -858,17 +858,21 @@ class kanbanModel extends model
|
||||
*/
|
||||
public function getCardGroupByKanban($kanbanID)
|
||||
{
|
||||
$cards = $this->dao->select('t1.*,t2.kanban,t2.lane,t2.column')->from(TABLE_KANBANCARD)->alias('t1')
|
||||
/* Get card data.*/
|
||||
$sql = $this->dao->select('t1.*,t2.kanban,t2.lane,t2.column')->from(TABLE_KANBANCARD)->alias('t1')
|
||||
->leftJoin(TABLE_KANBANCELL)->alias('t2')->on('t1.kanban=t2.kanban')
|
||||
->where('deleted')->eq(0)
|
||||
->andWhere("INSTR(t2.cards, CONCAT(',',t1.id,','))")->gt(0)
|
||||
->andWhere('archived')->eq(0)
|
||||
->andWhere('t2.kanban')->eq($kanbanID)
|
||||
->andWhere('t2.type')->eq('common')
|
||||
//->orderBy('`order` asc')
|
||||
->fetchAll('id');
|
||||
->get();
|
||||
|
||||
$sql .= "ORDER BY FIND_IN_SET(t1.id, t2.cards)";
|
||||
$stmt = $this->dbh->query($sql);
|
||||
$cards = $stmt->fetchAll();
|
||||
$actions = array('editCard', 'archiveCard', 'deleteCard', 'moveCard', 'setCardColor', 'viewCard', 'sortCard');
|
||||
|
||||
$actions = array('editCard', 'archiveCard', 'deleteCard', 'moveCard', 'setCardColor', 'viewCard');
|
||||
$cardGroup = array();
|
||||
foreach($cards as $card)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user