Merge branch 'sprint212_leiyong_task_59528'
This commit is contained in:
@@ -395,6 +395,12 @@ class bug extends control
|
||||
{
|
||||
$this->dao->update(TABLE_TODO)->set('status')->eq('done')->where('id')->eq($output['todoID'])->exec();
|
||||
$this->action->create('todo', $output['todoID'], 'finished', '', "BUG:$bugID");
|
||||
|
||||
if($this->config->edition == 'biz' || $this->config->edition == 'max')
|
||||
{
|
||||
$todo = $this->dao->select('type, idvalue')->from(TABLE_TODO)->where('id')->eq($output['todoID'])->fetch();
|
||||
if($todo->type == 'feedback' && $todo->idvalue) $this->loadModel('feedback')->updateStatus('todo', $todo->idvalue, 'done');
|
||||
}
|
||||
}
|
||||
|
||||
$message = $this->executeHooks($bugID);
|
||||
|
||||
@@ -409,6 +409,7 @@ class deptModel extends model
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF(strpos($params, 'all') === false)->andWhere('type')->eq($type)->fi()
|
||||
->beginIF($childDepts)->andWhere('dept')->in($childDepts)->fi()
|
||||
->beginIF($deptID === '0')->andWhere('dept')->eq($deptID)->fi()
|
||||
->beginIF($this->config->vision)->andWhere("CONCAT(',', visions, ',')")->like("%,{$this->config->vision},%")->fi()
|
||||
->orderBy('account')
|
||||
->fetchPairs();
|
||||
|
||||
@@ -2,24 +2,33 @@
|
||||
|
||||
.pull-left .input-control {margin-right: 10px;}
|
||||
|
||||
#cfdWrapper {max-width: 1450px; padding: 25px 0px 10px; position: relative}
|
||||
#cfdYUnit {position: absolute; color: #CBD0DB; top: 40px; left: 30px}
|
||||
#cfdXUnit {position: absolute; color: #CBD0DB; bottom: 20px; left: 1200px}
|
||||
@media screen and (max-width: 1920px)
|
||||
{
|
||||
#cfdWrapper {max-width: 1400px; padding: 25px 0px 10px; position: relative}
|
||||
#cfdChart {width:1400px !important; height:600px !important}
|
||||
#cfdYUnit {position: absolute; color: #CBD0DB; top: 40px; left: 30px}
|
||||
#cfdXUnit {position: absolute; color: #CBD0DB; bottom: 20px; right: 0px}
|
||||
#mainContent {min-width: 1550px !important;}
|
||||
#burnStatistics {left: 1400px !important;}
|
||||
#cfdXUnit {left: 1400px;}
|
||||
}
|
||||
@media screen and (max-width: 1680px)
|
||||
{
|
||||
#cfdChart {width:1100px !important; height:400px !important}
|
||||
#mainContent {min-width: 1300px !important;}
|
||||
#burnStatistics {left: 1100px !important;}
|
||||
#cfdChart {width:1150px !important; height:500px !important}
|
||||
#mainContent {min-width: 1350px !important;}
|
||||
#burnStatistics {left: 1150px !important;}
|
||||
#cfdXUnit {left: 1150px;}
|
||||
}
|
||||
@media screen and (max-width: 1366px)
|
||||
{
|
||||
#cfdChart {width:1000px !important; height:400px !important}
|
||||
#mainContent {min-width: 1200px !important;}
|
||||
#burnStatistics {left: 1000px !important;}
|
||||
#cfdXUnit {left: 1000px;}
|
||||
}
|
||||
|
||||
#mainContent {min-width: 1400px;}
|
||||
#burnStatistics {position: absolute; width: 180px; left: 1250px; height: 200px; top: 20%; margin-top: -30px; line-height: 30px; color: #838A9D; font-size: 12px; border: 1px solid #dcdcdc; background-color: #F8F8F8; padding: 15px 20px; color: #3c4353; border-radius: 8px;}
|
||||
#burnStatistics {position: absolute; width: 180px; left: 1200px; height: 200px; top: 20%; margin-top: -30px; line-height: 30px; color: #838A9D; font-size: 12px; border: 1px solid #dcdcdc; background-color: #F8F8F8; padding: 15px 20px; color: #3c4353; border-radius: 8px;}
|
||||
#burnStatistics .bg-primary {margin-right: 5px;}
|
||||
#burnStatistics .icon-help {color: black;}
|
||||
#burnStatistics h3 {margin-top: 10px; text-indent: 10px; margin-bottom: 30px;}
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
|
||||
#dateRange {vertical-align: top; padding-top: 13px;}
|
||||
#dateRangeOption {vertical-align: top; padding-top: 13px;}
|
||||
#beginLabel {white-space: nowrap;}
|
||||
#endLabel {white-space: nowrap;}
|
||||
#copyProjectModal .projectSelect {display: inline-block; margin-left: 10px; width: 20%;}
|
||||
#copyProjectModal .titleBox{position: relative; bottom: 3px; display: inline-block;}
|
||||
a.chosen-single > div > b {top: -4px !important;}
|
||||
a.chosen-single > div > b {top: -4px !important;}
|
||||
+14
-16
@@ -315,6 +315,20 @@ class report extends control
|
||||
$users[''] = $this->lang->report->annualData->allUser;
|
||||
|
||||
$depts = $this->loadModel('dept')->getOptionMenu();
|
||||
$accounts = array();
|
||||
if($userID)
|
||||
{
|
||||
$user = $this->loadModel('user')->getById($userID, 'id');
|
||||
$dept = $user->dept;
|
||||
$users = $this->loadModel('dept')->getDeptUserPairs($dept, 'id');
|
||||
$accounts = array($user->account => ($user->realname ? $user->realname : $user->account));
|
||||
}
|
||||
else
|
||||
{
|
||||
$users = $this->loadModel('dept')->getDeptUserPairs($dept, 'id');
|
||||
$users = array('' => $this->lang->report->annualData->allUser) + $users;
|
||||
$accounts = $this->loadModel('dept')->getDeptUserPairs($dept);
|
||||
}
|
||||
if(!$this->app->user->admin)
|
||||
{
|
||||
foreach($depts as $id => $name) if($id != $this->app->user->dept) unset($depts[$id]);
|
||||
@@ -323,25 +337,9 @@ class report extends control
|
||||
{
|
||||
$depts = array('' => $this->lang->report->annualData->allDept) + $depts;
|
||||
}
|
||||
if(empty($userID)) unset($depts[0]);
|
||||
|
||||
$accounts = array();
|
||||
if($dept) $accounts = $this->loadModel('dept')->getDeptUserPairs($dept);
|
||||
if($userID)
|
||||
{
|
||||
$user = $this->loadModel('user')->getById($userID, 'id');
|
||||
$dept = $user->dept;
|
||||
$accounts = array($user->account => ($user->realname ? $user->realname : $user->account));
|
||||
}
|
||||
if(empty($accounts)) $accounts = $this->user->getPairs('noletter|noclosed');
|
||||
if($accounts) $accounts = array_keys($accounts);
|
||||
|
||||
if($dept)
|
||||
{
|
||||
$users = $this->loadModel('dept')->getDeptUserPairs($dept, 'id');
|
||||
$users = array('' => $this->lang->report->annualData->allUser) + $users;
|
||||
}
|
||||
|
||||
/* Get annual data. */
|
||||
$data = array();
|
||||
if(!$userID)
|
||||
|
||||
@@ -30,6 +30,7 @@ $lang->search->noQuery = 'Keine Suche gespeichert';
|
||||
$lang->search->onMenuBar = 'In Menü anzeigen';
|
||||
$lang->search->custom = 'Eigene';
|
||||
$lang->search->setCommon = 'Set as public query criteria';
|
||||
$lang->search->saveCondition = 'Save search options';
|
||||
|
||||
$lang->search->account = 'Konto';
|
||||
$lang->search->module = 'Module';
|
||||
|
||||
@@ -30,6 +30,7 @@ $lang->search->noQuery = 'No query is saved yet!';
|
||||
$lang->search->onMenuBar = 'Show in Menu';
|
||||
$lang->search->custom = 'Custom';
|
||||
$lang->search->setCommon = 'Set as public query criteria';
|
||||
$lang->search->saveCondition = 'Save search options';
|
||||
|
||||
$lang->search->account = 'Account';
|
||||
$lang->search->module = 'Module';
|
||||
|
||||
@@ -30,6 +30,7 @@ $lang->search->noQuery = 'Aucune query de sauvegardée !';
|
||||
$lang->search->onMenuBar = 'Montrer dans le Menu';
|
||||
$lang->search->custom = 'Personnalisation';
|
||||
$lang->search->setCommon = 'Set as public query criteria';
|
||||
$lang->search->saveCondition = 'Save search options';
|
||||
|
||||
$lang->search->account = 'Compte';
|
||||
$lang->search->module = 'Module';
|
||||
|
||||
@@ -30,6 +30,7 @@ $lang->search->noQuery = '还没有保存查询!';
|
||||
$lang->search->onMenuBar = '显示在菜单栏';
|
||||
$lang->search->custom = '自定义';
|
||||
$lang->search->setCommon = '设为公共查询条件';
|
||||
$lang->search->saveCondition = '保存搜索条件';
|
||||
|
||||
$lang->search->account = '用户名';
|
||||
$lang->search->module = '模块';
|
||||
|
||||
@@ -64,6 +64,7 @@ $formId = 'searchForm-' . uniqid('');
|
||||
html[lang^='zh-'] .fieldWidth {width: 110px !important;}
|
||||
html[lang^='zh-'] .operatorWidth {width: 90px !important;}
|
||||
.table tbody tr td input {display: block !important;}
|
||||
#save-query {color: #0061f2;}
|
||||
</style>
|
||||
<?php if($style != 'simple'):?>
|
||||
<div id='toggle-queries'>
|
||||
@@ -242,12 +243,9 @@ foreach($fieldParams as $fieldName => $param)
|
||||
echo html::hidden('actionURL', $actionURL);
|
||||
echo html::hidden('groupItems', $groupItems);
|
||||
echo html::submitButton($lang->search->common, '', 'btn btn-primary') . " ";
|
||||
if($style != 'simple')
|
||||
{
|
||||
if(common::hasPriv('search', 'saveQuery')) echo html::a($this->createLink('search', 'saveQuery', "module=$module&onMenuBar=$onMenuBar"), $lang->save, '', "class='btn-save-form btn btn-secondary iframe' id='save-query'") . " ";
|
||||
echo html::commonButton($lang->search->reset, '', 'btn-reset-form btn');
|
||||
}
|
||||
if($style != 'simple') echo html::commonButton($lang->search->reset, '', 'btn-reset-form btn');
|
||||
echo html::commonButton('<i class="icon icon-chevron-double-down"></i>', '', 'btn-expand-form btn btn-info pull-right');
|
||||
if($style != 'simple' and common::hasPriv('search', 'saveQuery')) echo html::a($this->createLink('search', 'saveQuery', "module=$module&onMenuBar=$onMenuBar"), '<i class="icon-bug-confirmBug icon-ok"></i> ' . $lang->search->saveCondition, '', "class='btn-save-form btn btn-link iframe pull-right' id='save-query'");
|
||||
echo html::hidden('formType', zget($formSession, 'formType', 'lite'));
|
||||
?>
|
||||
</td>
|
||||
@@ -306,9 +304,11 @@ $(function()
|
||||
$select.picker(pickerOptions);
|
||||
});
|
||||
|
||||
$('#queryBox select, #queryBox input').change(function(){
|
||||
$('#save-query').attr("disabled","disabled");
|
||||
$('#queryBox select, #queryBox input').change(function()
|
||||
{
|
||||
$('#save-query').attr("disabled", "disabled");
|
||||
})
|
||||
|
||||
/* Toggle user queries action. */
|
||||
$('#toggle-queries').click(function()
|
||||
{
|
||||
|
||||
@@ -175,6 +175,12 @@ class story extends control
|
||||
{
|
||||
$this->dao->update(TABLE_TODO)->set('status')->eq('done')->where('id')->eq($todoID)->exec();
|
||||
$this->action->create('todo', $todoID, 'finished', '', "STORY:$storyID");
|
||||
|
||||
if($this->config->edition == 'biz' || $this->config->edition == 'max')
|
||||
{
|
||||
$todo = $this->dao->select('type, idvalue')->from(TABLE_TODO)->where('id')->eq($todoID)->fetch();
|
||||
if($todo->type == 'feedback' && $todo->idvalue) $this->loadModel('feedback')->updateStatus('todo', $todo->idvalue, 'done');
|
||||
}
|
||||
}
|
||||
|
||||
$message = $this->executeHooks($storyID);
|
||||
|
||||
@@ -168,6 +168,8 @@ class task extends control
|
||||
{
|
||||
$this->dao->update(TABLE_TODO)->set('status')->eq('done')->where('id')->eq($todoID)->exec();
|
||||
$this->action->create('todo', $todoID, 'finished', '', "TASK:$taskID");
|
||||
|
||||
if(($this->config->edition == 'biz' || $this->config->edition == 'max') && $todo->type == 'feedback' && $todo->idvalue) $this->loadModel('feedback')->updateStatus('todo', $todo->idvalue, 'done');
|
||||
}
|
||||
|
||||
$message = $this->executeHooks($taskID);
|
||||
|
||||
@@ -73,6 +73,8 @@ $lang->tree->all = 'Alle Module';
|
||||
$lang->tree->executionDoc = "{$lang->executionCommon} Dok";
|
||||
$lang->tree->product = $lang->productCommon;
|
||||
|
||||
$lang->tree->emptyHistory = "No History";
|
||||
|
||||
$lang->module = new stdclass();
|
||||
$lang->module->action = new stdclass();
|
||||
$lang->module->action->created = array('main' => "\$date, created <strong>\$extra</strong> by <strong>\$actor</strong>.");
|
||||
|
||||
@@ -73,6 +73,8 @@ $lang->tree->all = 'All Modules';
|
||||
$lang->tree->executionDoc = "{$lang->executionCommon} Document";
|
||||
$lang->tree->product = $lang->productCommon;
|
||||
|
||||
$lang->tree->emptyHistory = "No History";
|
||||
|
||||
$lang->module = new stdclass();
|
||||
$lang->module->action = new stdclass();
|
||||
$lang->module->action->created = array('main' => "\$date, created <strong>\$extra</strong> by <strong>\$actor</strong>.");
|
||||
|
||||
@@ -73,6 +73,8 @@ $lang->tree->all = 'Tous les Modules';
|
||||
$lang->tree->executionDoc = "Document {$lang->executionCommon}";
|
||||
$lang->tree->product = $lang->productCommon;
|
||||
|
||||
$lang->tree->emptyHistory = "Pas Historique";
|
||||
|
||||
$lang->module = new stdclass();
|
||||
$lang->module->action = new stdclass();
|
||||
$lang->module->action->created = array('main' => "\$date, créé <strong>\$extra</strong> par <strong>\$actor</strong>.");
|
||||
|
||||
@@ -73,6 +73,8 @@ $lang->tree->all = '所有模块';
|
||||
$lang->tree->executionDoc = "{$lang->executionCommon}文档";
|
||||
$lang->tree->product = "所属{$lang->productCommon}";
|
||||
|
||||
$lang->tree->emptyHistory = "暂时没有历史记录。";
|
||||
|
||||
$lang->module = new stdclass();
|
||||
$lang->module->action = new stdclass();
|
||||
$lang->module->action->created = array('main' => "\$date, 由 <strong>\$actor</strong> 创建了 <strong>\$extra</strong>。");
|
||||
|
||||
@@ -11,5 +11,11 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php if(empty($actions)):?>
|
||||
<div class="table-empty-tip" id="emptyBox">
|
||||
<p><span class="text-muted"><?php echo $lang->tree->emptyHistory;?></span></p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<?php include '../../common/view/action.html.php';?>
|
||||
<?php endif;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user