diff --git a/module/dev/model.php b/module/dev/model.php index 207f1e893a..42a52c5914 100644 --- a/module/dev/model.php +++ b/module/dev/model.php @@ -69,7 +69,7 @@ class devModel extends model $type = substr($rawField->type, 0, $firstPOS > 0 ? $firstPOS : strlen($rawField->type)); $type = str_replace(array('big', 'small', 'medium', 'tiny'), '', $type); $field = array(); - $field['name'] = isset($this->lang->$module->{$rawField->field}) ? sprintf($this->lang->$module->{$rawField->field}, $this->lang->dev->tableList[$module]) : ''; + $field['name'] = (isset($this->lang->$module->{$rawField->field}) and is_string($this->lang->$module->{$rawField->field})) ? sprintf($this->lang->$module->{$rawField->field}, $this->lang->dev->tableList[$module]) : ''; if((empty($field['name']) or !is_string($field['name'])) and $aliasModule) $field['name'] = isset($this->lang->$aliasModule->{$rawField->field}) ? $this->lang->$aliasModule->{$rawField->field} : ''; if($subLang) $field['name'] = isset($this->lang->$aliasModule->$subLang->{$rawField->field}) ? $this->lang->$aliasModule->$subLang->{$rawField->field} : $field['name']; if(!is_string($field['name'])) $field['name'] = ''; diff --git a/module/execution/model.php b/module/execution/model.php index ee546cacb1..53d34b207f 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -109,7 +109,8 @@ class executionModel extends model unset($this->lang->execution->menu->build); } - if($this->config->edition == 'open' and in_array($execution->attribute, array('request', 'design', 'review'))) + $stageFilter = array('request', 'design', 'review'); + if($this->config->edition == 'open' and in_array($execution->attribute, $stageFilter)) { unset($this->lang->execution->menu->qa); unset($this->lang->execution->menu->build); @@ -4638,14 +4639,14 @@ class executionModel extends model } } } - echo '' . zget($users, $execution->PM) . ''; echo "" . zget($this->lang->project->statusList, $execution->status) . ''; - echo '' . html::ring($execution->hours->progress) . ''; + echo '' . zget($users, $execution->PM) . ''; echo helper::isZeroDate($execution->begin) ? '' : '' . $execution->begin . ''; echo helper::isZeroDate($execution->end) ? '' : '' . $execution->end . ''; echo "" . $execution->hours->totalEstimate . $this->lang->execution->workHourUnit . ''; echo "" . $execution->hours->totalConsumed . $this->lang->execution->workHourUnit . ''; echo "" . $execution->hours->totalLeft . $this->lang->execution->workHourUnit . ''; + echo '' . html::ring($execution->hours->progress) . ''; echo ""; echo ''; common::printIcon('execution', 'start', "executionID={$execution->id}", $execution, 'list', '', '', 'iframe', true); diff --git a/module/kanban/view/importticket.html.php b/module/kanban/view/importticket.html.php index bee56d2888..be9bbb8870 100644 --- a/module/kanban/view/importticket.html.php +++ b/module/kanban/view/importticket.html.php @@ -41,6 +41,7 @@ ticket->title;?> ticket->priAB;?> + ticket->status;?> ticket->type;?> ticket->createdDate;?> ticket->assignedTo;?> @@ -64,6 +65,7 @@ title;?> lang ->ticket->priList, $ticket->pri, $ticket->pri); ?> + lang->ticket->statusList, $ticket->status, $ticket->status);?> lang->ticket->typeList, $ticket->type, $ticket->type);?> openedDate;?> assignedTo;?> diff --git a/module/my/css/requirement.css b/module/my/css/requirement.css index c21f9cb03d..86ed41a8c0 100644 --- a/module/my/css/requirement.css +++ b/module/my/css/requirement.css @@ -2,7 +2,7 @@ .table tbody > tr.table-children.table-child-top {border-top: 2px solid #cbd0db;} .table tbody > tr.table-children.table-child-bottom {border-bottom: 2px solid #cbd0db;} .table td.has-child > a:not(.story-toggle) {max-width: 90%; max-width: calc(100% - 30px); display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} -.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px;} +.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px; left: 2px;} .table td.has-child > .story-toggle:hover {color: #006af1; cursor: pointer;} .table td.has-child > .story-toggle > .icon {font-size: 16px; display: inline-block; transition: transform .2s; -ms-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -o-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); transform: rotate(-90deg);} .table td.has-child > .story-toggle > .icon:before {text-align: left;} diff --git a/module/my/css/story.css b/module/my/css/story.css index be4c747589..50d561ac67 100644 --- a/module/my/css/story.css +++ b/module/my/css/story.css @@ -2,7 +2,7 @@ .table tbody > tr.table-children.table-child-top {border-top: 2px solid #cbd0db;} .table tbody > tr.table-children.table-child-bottom {border-bottom: 2px solid #cbd0db;} .table td.has-child > a:not(.story-toggle) {max-width: 90%; max-width: calc(100% - 30px); display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} -.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px;} +.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px; left: 2px;} .table td.has-child > .story-toggle:hover {color: #006af1; cursor: pointer;} .table td.has-child > .story-toggle > .icon {font-size: 16px; display: inline-block; transition: transform .2s; -ms-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -o-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); transform: rotate(-90deg);} .table td.has-child > .story-toggle > .icon:before {text-align: left;} diff --git a/module/product/css/browse.css b/module/product/css/browse.css index dd98a82845..16cd40473a 100644 --- a/module/product/css/browse.css +++ b/module/product/css/browse.css @@ -21,7 +21,7 @@ a.removeModule:hover {color: red;} .table tbody > tr.table-children.table-child-top {border-top: 2px solid #cbd0db;} .table tbody > tr.table-children.table-child-bottom {border-bottom: 2px solid #cbd0db;} .table td.has-child > a:not(.story-toggle) {max-width: 90%; max-width: calc(100% - 50px); display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;} -.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px;} +.table td.has-child > .story-toggle {color: #838a9d; position: relative; top: 1px; left: 2px;} .table td.has-child > .story-toggle:hover {color: #006af1; cursor: pointer;} .table td.has-child > .story-toggle > .icon {font-size: 16px; display: inline-block; transition: transform .2s; -ms-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -o-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); transform: rotate(-90deg);} .table td.has-child > .story-toggle > .icon:before {text-align: left;} @@ -41,4 +41,3 @@ a.removeModule:hover {color: red;} #productStoryForm tbody tr td .label {max-width: 100px; text-overflow: unset;} .c-span {margin-left: 19px;} .btn-toolbar #query span.text{overflow: hidden; width: 52px; vertical-align: middle; margin-right: 1px;} -#productStoryForm table thead th.c-title {min-width: 50px;} diff --git a/module/product/js/browse.js b/module/product/js/browse.js index e953e365e8..e4e9e68bb2 100644 --- a/module/product/js/browse.js +++ b/module/product/js/browse.js @@ -11,7 +11,7 @@ $(function() var $title = $('#storyList thead th.c-title'); var headerWidth = $('#storyList thead th.c-title a').innerWidth(); var buttonWidth = $('#storyList thead th.c-title button').innerWidth(); - if($title.width() < headerWidth + buttonWidth) $title.width(headerWidth + buttonWidth + 20); + if($title.width() < headerWidth + buttonWidth + 2) $title.width(headerWidth + buttonWidth + 30); }); $('#storyList td.has-child .story-toggle').each(function() diff --git a/module/project/view/execution.html.php b/module/project/view/execution.html.php index 24183757e2..0c47eaabf2 100644 --- a/module/project/view/execution.html.php +++ b/module/project/view/execution.html.php @@ -79,14 +79,14 @@ - execution->owner;?> project->status;?> - project->progress;?> + execution->owner;?> programplan->begin;?> programplan->end;?> task->estimateAB;?> task->consumedAB;?> task->leftAB;?> + project->progress;?> execution->burn;?> actions;?> diff --git a/module/stage/model.php b/module/stage/model.php index a967e38b48..86c3fb0b88 100644 --- a/module/stage/model.php +++ b/module/stage/model.php @@ -123,13 +123,13 @@ class stageModel extends model */ public function getStages($orderBy = 'id_desc', $projectID = 0) { - $stages = $this->dao->select('t1.id,name,type,percent,openedBy as createdBy,begin as createdDate,lastEditedBy as editedBy,end as editedDate,deleted') - ->from(TABLE_EXECUTION)->alias('t1') - ->where('t1.type')->in('sprint,stage,kanban') - ->andWhere('t1.deleted')->eq('0') - ->andWhere('t1.vision')->eq($this->config->vision) - ->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi() - ->beginIF($projectID)->andWhere('t1.project')->eq($projectID)->fi() + $stages = $this->dao->select('id,name,type,percent,openedBy as createdBy,begin as createdDate,lastEditedBy as editedBy,end as editedDate,deleted') + ->from(TABLE_EXECUTION) + ->where('type')->in('sprint,stage,kanban') + ->andWhere('deleted')->eq('0') + ->andWhere('vision')->eq($this->config->vision) + ->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->sprints)->fi() + ->beginIF($projectID)->andWhere('project')->eq($projectID)->fi() ->orderBy($orderBy) ->fetchAll('id'); $stages = !empty($stages) ? $stages : $this->dao->select('*')->from(TABLE_STAGE)->where('deleted')->eq(0)->orderBy($orderBy)->fetchAll('id'); diff --git a/module/task/model.php b/module/task/model.php index 3367fd100a..391b13cf33 100755 --- a/module/task/model.php +++ b/module/task/model.php @@ -4059,14 +4059,14 @@ class taskModel extends model } } $list .= ''; - $list .= '' . zget($users, $task->assignedTo, '') . ''; $list .= "" . $this->processStatus('task', $task) . ''; - $list .= ''; + $list .= '' . zget($users, $task->assignedTo, '') . ''; $list .= helper::isZeroDate($task->estStarted) ? '' : '' . $task->estStarted . ''; $list .= helper::isZeroDate($task->deadline) ? '' : '' . $task->deadline . ''; - $list .= '' . $task->estimate . $this->lang->execution->workHourUnit . ''; - $list .= '' . $task->consumed . $this->lang->execution->workHourUnit . ''; - $list .= '' . $task->left . $this->lang->execution->workHourUnit . ''; + $list .= '' . $task->estimate . $this->lang->execution->workHourUnit . ''; + $list .= '' . $task->consumed . $this->lang->execution->workHourUnit . ''; + $list .= '' . $task->left . $this->lang->execution->workHourUnit . ''; + $list .= ''; $list .= ''; $list .= ''; $list .= $this->buildOperateMenu($task, 'browse'); diff --git a/module/tree/model.php b/module/tree/model.php index 574008eff8..f320a40290 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -84,7 +84,11 @@ class treeModel extends model /* If feedback module is merge add story module.*/ $syncConfig = json_decode($this->config->global->syncProduct, true); $syncConfig = isset($syncConfig[$type]) ? $syncConfig[$type] : array(); - if(($type == 'feedback' or $type == 'ticket') and strpos($param, 'noproduct') === false and isset($syncConfig[$rootID])) $type = 'story,' . $type; + if(($type == 'feedback' or $type == 'ticket') and strpos($param, 'noproduct') === false and isset($syncConfig[$rootID])) + { + $grade = $syncConfig[$rootID]; + $type = 'story,' . $type; + } if($this->isMergeModule($rootID, $type)) { return $this->dao->select('*')->from(TABLE_MODULE) @@ -107,7 +111,7 @@ class treeModel extends model ->where('1=1') ->beginIF($type != 'feedback' or !empty($rootID))->andwhere('root')->eq((int)$rootID)->fi() ->andWhere('type')->in($type) - ->beginIF($grade)->andWhere('grade')->lt($grade)->fi() + ->beginIF($grade)->andWhere('grade')->le($grade)->fi() ->beginIF($startModulePath)->andWhere('path')->like($startModulePath)->fi() ->beginIF($branch !== 'all' and $branch !== '' and $branch !== false) ->andWhere('(branch')->eq(0)