Merge branch 'sprint/master_fixbug'
This commit is contained in:
@@ -6002,8 +6002,6 @@ INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('
|
||||
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'project', '', 'unitList', 'CNY,USD');
|
||||
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'project', '', 'defaultCurrency', 'CNY');
|
||||
INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'story', '', 'reviewRules', 'allpass');
|
||||
INSERT INTO `zt_config` (`vision`,`owner`, `module`, `section`, `key`, `value`) VALUES ('lite','system', 'project', '', 'unitList', 'CNY,USD');
|
||||
INSERT INTO `zt_config` (`vision`,`owner`, `module`, `section`, `key`, `value`) VALUES ('lite','system', 'project', '', 'defaultCurrency', 'CNY');
|
||||
-- DROP TABLE IF EXISTS `zt_im_chat`;
|
||||
CREATE TABLE IF NOT EXISTS `zt_im_chat` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<script>
|
||||
$('#plansBox').parent().remove();
|
||||
</script>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$lang->todo->typeList['task'] = '任务';
|
||||
|
||||
if($this->config->visions == ',lite,') unset($lang->todo->typeList['feedback']);
|
||||
unset($lang->todo->typeList['bug']);
|
||||
unset($lang->todo->typeList['testtask']);
|
||||
unset($lang->todo->typeList['review']);
|
||||
|
||||
@@ -22,7 +22,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
|
||||
.block-todoes .todoes > li {position: relative; padding: 5px 10px 5px 35px; list-style: none; white-space:nowrap; overflow: auto; overflow-x:hidden;}
|
||||
.block-todoes .todoes > li:hover {background-color: #e9f2fb;}
|
||||
.block-todoes .todo-title {padding: 5px 15px 5px 5px;}
|
||||
.titleBox {width: 700px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;}
|
||||
.titleBox {max-width: 700px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;}
|
||||
.block-todoes .todo-pri {margin: 0 5px;}
|
||||
.block-todoes .todo-time {display: inline-block; padding: 0 5px; font-size: 12px; color: #8e939a; width: 95px;}
|
||||
.block-todoes .todo-check {position: absolute; top: 5px; left: 10px; display: block; width: 20px; height: 20px; font-size: 20px; color: transparent; cursor: pointer; background: #fff; border: 2px solid #eee; border-radius: 50%;}
|
||||
|
||||
@@ -1530,9 +1530,9 @@ class docModel extends model
|
||||
{
|
||||
$issueIdList = $this->dao->select('id')->from(TABLE_ISSUE)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->projects)->get();
|
||||
$meetingIdList = $this->dao->select('id')->from(TABLE_MEETING)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->projects)->get();
|
||||
$designIdList = $this->dao->select('id')->from(TABLE_DESIGN)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->projects)->get();
|
||||
}
|
||||
|
||||
$designIdList = $this->dao->select('id')->from(TABLE_DESIGN)->where('project')->eq($objectID)->andWhere('deleted')->eq('0')->andWhere('project')->in($this->app->user->view->projects)->get();
|
||||
$executionIdList = $this->loadModel('execution')->getIdList($objectID);
|
||||
$taskPairs = $this->dao->select('id')->from(TABLE_TASK)->where('execution')->in($executionIdList)->andWhere('deleted')->eq('0')->andWhere('execution')->in($this->app->user->view->sprints)->fetchPairs('id');
|
||||
if(!empty($taskPairs)) $taskIdList = implode(',', $taskPairs);
|
||||
|
||||
@@ -6,3 +6,4 @@ th.c-deadline {text-align: center;}
|
||||
.c-estimate {text-align: right;}
|
||||
.c-consumed {text-align: right;}
|
||||
.c-left {text-align: right;}
|
||||
.table-footer {z-index: 1;}
|
||||
|
||||
@@ -363,6 +363,8 @@ function findDropColumns($element, $root)
|
||||
var laneType = $element.closest('.kanban-lane').data().lane.type;
|
||||
var kanbanRules = window.kanbanDropRules ? window.kanbanDropRules[laneType] : null;
|
||||
|
||||
hideKanbanAction();
|
||||
|
||||
if(!kanbanRules) return $root.find('.kanban-lane-col:not([data-type="' + col.type + '"])');
|
||||
|
||||
var colRules = kanbanRules[col.type];
|
||||
@@ -993,23 +995,27 @@ function changeCardColType(cardID, fromColID, toColID, fromLaneID, toLaneID, car
|
||||
*/
|
||||
function deleteCard(objectType, objectID, regionID)
|
||||
{
|
||||
var objectLang = objectType + 'Lang';
|
||||
var result = confirm(window[objectLang].confirmDelete) ? true : false;
|
||||
|
||||
if(!result) return false;
|
||||
if(!objectID) return false;
|
||||
|
||||
var url = createLink('kanban', 'deleteObjectCard', 'objectType=' + objectType + '&objectID=' + objectID + '®ionID=' + regionID);
|
||||
return $.ajax(
|
||||
$.zui.ContextMenu.hide();
|
||||
setTimeout(function()
|
||||
{
|
||||
method: 'post',
|
||||
dataType: 'json',
|
||||
url: url,
|
||||
success: function(data)
|
||||
var objectLang = objectType + 'Lang';
|
||||
var result = confirm(window[objectLang].confirmDelete) ? true : false;
|
||||
|
||||
if(!result) return false;
|
||||
if(!objectID) return false;
|
||||
|
||||
var url = createLink('kanban', 'deleteObjectCard', 'objectType=' + objectType + '&objectID=' + objectID + '®ionID=' + regionID);
|
||||
return $.ajax(
|
||||
{
|
||||
updateRegion(regionID, data[regionID]);
|
||||
}
|
||||
});
|
||||
method: 'post',
|
||||
dataType: 'json',
|
||||
url: url,
|
||||
success: function(data)
|
||||
{
|
||||
updateRegion(regionID, data[regionID]);
|
||||
}
|
||||
});
|
||||
}, 200)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -515,6 +515,8 @@ function findDropColumns($element, $root)
|
||||
var kanbanID = $root.data('id');
|
||||
var kanbanRules = window.kanbanDropRules ? window.kanbanDropRules[kanbanID] : null;
|
||||
|
||||
$.zui.ContextMenu.hide();
|
||||
|
||||
if(!kanbanRules) return $root.find('.kanban-lane-col:not([data-type="' + col.type + '"])');
|
||||
|
||||
var colRules = kanbanRules[col.type];
|
||||
@@ -1238,3 +1240,8 @@ function resetKanbanHeight()
|
||||
|
||||
$('.kanban-lane').css('height', height -2);
|
||||
}
|
||||
|
||||
$(document).on('click', '.dropdown-menu', function()
|
||||
{
|
||||
$.zui.ContextMenu.hide();
|
||||
});
|
||||
|
||||
@@ -1592,7 +1592,7 @@ function resetRegionHeight(fold)
|
||||
}
|
||||
}
|
||||
|
||||
$('.dropdown-menu').click(function()
|
||||
$(document).on('click', '.dropdown-menu', function()
|
||||
{
|
||||
$.zui.ContextMenu.hide();
|
||||
})
|
||||
});
|
||||
|
||||
@@ -118,9 +118,11 @@ class projectModel extends model
|
||||
public function saveState($projectID = 0, $projects = array())
|
||||
{
|
||||
if(defined('TUTORIAL')) return $projectID;
|
||||
|
||||
|
||||
if($projectID == 0 and $this->cookie->lastProject) $projectID = $this->cookie->lastProject;
|
||||
if($projectID == 0 and $this->session->project == '') $projectID = key($projects);
|
||||
if(($projectID == 0 and (int)$this->session->project == 0) or !isset($projects[$projectID])) $projectID = key($projects);
|
||||
if($projectID == 0) $projectID = key($projects);
|
||||
|
||||
$this->session->set('project', (int)$projectID, $this->app->tab);
|
||||
|
||||
if(!isset($projects[$this->session->project]))
|
||||
|
||||
@@ -368,11 +368,11 @@ class task extends control
|
||||
if($story)
|
||||
{
|
||||
$moduleID = $story->module;
|
||||
$stories = $this->story->getExecutionStoryPairs($executionID, 0, 'all', $moduleID, 'short');
|
||||
$stories = $this->story->getExecutionStoryPairs($executionID, 0, 'all', $moduleID, 'short', 'unclosed');
|
||||
}
|
||||
else
|
||||
{
|
||||
$stories = $this->story->getExecutionStoryPairs($executionID, 0, 'all', 0, 'short');
|
||||
$stories = $this->story->getExecutionStoryPairs($executionID, 0, 'all', 0, 'short', 'unclosed');
|
||||
}
|
||||
|
||||
$members = $this->loadModel('user')->getTeamMemberPairs($executionID, 'execution', 'nodeleted');
|
||||
|
||||
Reference in New Issue
Block a user