Merge branch 'sprint212_leiyong_task_59528'

This commit is contained in:
wangyidong
2022-07-07 09:38:40 +08:00
17 changed files with 73 additions and 31 deletions
+6
View File
@@ -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);
+1
View File
@@ -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();
+16 -7
View File
@@ -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;}
+3 -1
View File
@@ -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
View File
@@ -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)
+1
View File
@@ -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';
+1
View File
@@ -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';
+1
View File
@@ -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';
+1
View File
@@ -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 = '模块';
+7 -7
View File
@@ -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') . " &nbsp; ";
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'") . "&nbsp;";
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()
{
+6
View File
@@ -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);
+2
View File
@@ -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);
+2
View File
@@ -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>.");
+2
View File
@@ -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>.");
+2
View File
@@ -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>.");
+2
View File
@@ -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>。");
+6
View File
@@ -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';?>