diff --git a/module/bug/model.php b/module/bug/model.php index 6b9b0df027..facb21345d 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -134,8 +134,8 @@ class bugModel extends model { $now = helper::now(); $bug = fixer::input('post') - ->add('openedBy', $this->app->user->account) - ->add('openedDate', $now) + ->setDefault('openedBy', $this->app->user->account) + ->setDefault('openedDate', $now) ->setDefault('project,story,task', 0) ->setDefault('openedBuild', '') ->setDefault('deadline', '0000-00-00') @@ -611,9 +611,9 @@ class bugModel extends model ->setDefault('plan', 0) ->setDefault('deadline', '0000-00-00') ->setDefault('resolvedDate', '0000-00-00 00:00:00') + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->setIF(strpos($this->config->bug->edit->requiredFields, 'deadline') !== false, 'deadline', $this->post->deadline) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) ->join('openedBuild', ',') ->join('mailto', ',') ->join('linkBug', ',') @@ -919,15 +919,15 @@ class bugModel extends model $now = helper::now(); $oldBug = $this->getById($bugID); $bug = fixer::input('post') - ->add('resolvedBy', $this->app->user->account) - ->add('status', 'resolved') - ->add('confirmed', 1) - ->add('assignedDate', $now) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) - ->setDefault('resolvedDate', $now) - ->setDefault('duplicateBug', 0) - ->setDefault('assignedTo', $oldBug->openedBy) + ->add('status', 'resolved') + ->add('confirmed', 1) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('resolvedBy', $this->app->user->account) + ->setDefault('assignedDate', $now) + ->setDefault('resolvedDate', $now) + ->setDefault('duplicateBug', 0) + ->setDefault('assignedTo', $oldBug->openedBy) ->remove('comment,files,labels') ->get(); @@ -1122,8 +1122,11 @@ class bugModel extends model $oldBug = $this->getById($bugID); $now = helper::now(); $bug = fixer::input('post') - ->setDefault('assignedTo', $oldBug->resolvedBy) - ->add('assignedDate', $now) + ->setDefault('assignedTo', $oldBug->resolvedBy) + ->setDefault('assignedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('activatedDate', $now) ->add('resolution', '') ->add('status', 'active') ->add('resolvedDate', '0000-00-00') @@ -1134,9 +1137,6 @@ class bugModel extends model ->add('duplicateBug', 0) ->add('toTask', 0) ->add('toStory', 0) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) - ->add('activatedDate', $now) ->join('openedBuild', ',') ->remove('comment,files,labels') ->get(); @@ -1160,14 +1160,14 @@ class bugModel extends model $now = helper::now(); $oldBug = $this->getById($bugID); $bug = fixer::input('post') - ->add('assignedTo', 'closed') - ->add('assignedDate', $now) - ->add('status', 'closed') - ->add('closedBy', $this->app->user->account) - ->add('closedDate', $now) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) - ->add('confirmed', 1) + ->add('assignedTo', 'closed') + ->add('status', 'closed') + ->add('confirmed', 1) + ->setDefault('assignedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('closedBy', $this->app->user->account) + ->setDefault('closedDate', $now) ->remove('comment') ->get(); @@ -1967,8 +1967,8 @@ class bugModel extends model public function saveUserBugTemplate() { $template = fixer::input('post') - ->add('account', $this->app->user->account) - ->add('type', 'bug') + ->setDefault('account', $this->app->user->account) + ->setDefault('type', 'bug') ->stripTags('content', $this->config->allowedTags) ->get(); diff --git a/module/doc/control.php b/module/doc/control.php index b0e78e7a73..0ef8b93243 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -532,7 +532,7 @@ class doc extends control * @access public * @return void */ - public function sort() + public function sort($type = '') { if($_POST) { @@ -543,6 +543,12 @@ class doc extends control if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError())); $this->send(array('result' => 'success')); } + + if($type) + { + $this->view->libs = $this->doc->getLibs($type); + $this->display(); + } } /** diff --git a/module/doc/css/alllibs.css b/module/doc/css/alllibs.css deleted file mode 100644 index 515312e555..0000000000 --- a/module/doc/css/alllibs.css +++ /dev/null @@ -1,4 +0,0 @@ -#libs .libs-group-heading{border:1px solid #ddd;overflow:hidden} -#libs .libs-group{border:1px solid #ddd; border-top:0px;overflow:hidden; margin-bottom:20px;} -#libs .libs-group.libs-custom{border-top:1px solid #ddd;overflow:hidden; margin-bottom:20px;} -#libs .lib-custom{width:130px; margin-bottom:10px;} diff --git a/module/doc/css/index.css b/module/doc/css/index.css index f07a46ead0..8e943f4aa7 100644 --- a/module/doc/css/index.css +++ b/module/doc/css/index.css @@ -1,14 +1 @@ -.lib-heading{border-right:1px solid #ddd;} -.lib-more a.more{font-weight:bold; display:block;} -#libs .libs-group-heading{border:1px solid #ddd;} -#libs .libs-group{border:1px solid #ddd; border-top:0px; margin-bottom:20px;} -#libs .libs-group.lib-more{border:0px; text-align:center; height:120px; line-height:110px;} -#libs .libs-group.lib-more:hover{background-color: #EBF2F9} -#libs .libs-custom-heading{text-align:center; height:120px; line-height:110px; position: relative; margin-bottom:20px;} -#libs .libs-custom-heading:hover{background-color: #EBF2F9} -#libs .libs-custom-heading a{display:block;height:100%;} -#libs .libs-custom-heading .lable-custom{position: absolute;left:8px;} -#libs hr {margin-top:0px;} -#libs .panel-body {overflow: auto; max-height: 224px;} - #pageActions ul.dropdown-menu{left: 67px} diff --git a/module/doc/js/common.js b/module/doc/js/common.js index 580e2e3f0c..e81305c241 100644 --- a/module/doc/js/common.js +++ b/module/doc/js/common.js @@ -80,7 +80,6 @@ $(document).ready(function() } }, 'json'); } - }); 'use strict'; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index 867064191a..e0c57bfa8f 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -141,7 +141,8 @@ $lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star'; $lang->doc->customObjectLibs['files'] = '显示附件库'; $lang->doc->customObjectLibs['customFiles'] = '显示自定义文档库'; -$lang->doc->customShowLibs = '文档库显示设置'; +$lang->doc->orderLib = '文档库排序'; +$lang->doc->customShowLibs = '显示设置'; $lang->doc->customShowLibsList['zero'] = '显示空文档的库'; $lang->doc->customShowLibsList['unclosed'] = '只显示未关闭的项目'; diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php index a7722821ff..446b66d703 100644 --- a/module/doc/view/side.html.php +++ b/module/doc/view/side.html.php @@ -161,7 +161,20 @@ if(empty($type)) $type = 'product'; - + +goback);?> + diff --git a/module/doc/view/sort.html.php b/module/doc/view/sort.html.php new file mode 100644 index 0000000000..921e284452 --- /dev/null +++ b/module/doc/view/sort.html.php @@ -0,0 +1,9 @@ +
+ + $libName):?> +
+ +
diff --git a/module/productplan/view/browse.html.php b/module/productplan/view/browse.html.php index fbedcc65f0..7e3d59eade 100644 --- a/module/productplan/view/browse.html.php +++ b/module/productplan/view/browse.html.php @@ -52,7 +52,7 @@ idAB);?> - productplan->title);?> + productplan->title);?> session->currentProductType != 'normal'):?> product->branch);?> @@ -97,7 +97,7 @@ id);?> - ' title="title?>"> + ' title="title?>"> id"), $plan->title); if($plan->parent == '-1') echo ''; diff --git a/module/story/model.php b/module/story/model.php index 4291d032a8..6921f834ed 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -147,12 +147,12 @@ class storyModel extends model ->cleanInt('product,module,pri,plan') ->cleanFloat('estimate') ->callFunc('title', 'trim') - ->setDefault('plan,verify', '') - ->add('openedBy', $this->app->user->account) - ->add('openedDate', $now) ->add('assignedDate', 0) ->add('version', 1) ->add('status', 'draft') + ->setDefault('plan,verify', '') + ->setDefault('openedBy', $this->app->user->account) + ->setDefault('openedDate', $now) ->setIF($this->post->assignedTo != '', 'assignedDate', $now) ->setIF($this->post->needNotReview or $projectID > 0, 'status', 'active') ->setIF($this->post->plan > 0, 'stage', 'planned') @@ -416,8 +416,8 @@ class storyModel extends model $now = helper::now(); $story = fixer::input('post') ->callFunc('title', 'trim') - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->setIF($this->post->assignedTo != $oldStory->assignedTo, 'assignedDate', $now) ->setIF($specChanged, 'version', $oldStory->version + 1) ->setIF($specChanged and $oldStory->status == 'active' and $this->post->needNotReview == false, 'status', 'changed') @@ -478,9 +478,9 @@ class storyModel extends model $story = fixer::input('post') ->cleanInt('product,module,pri,duplicateStory') ->cleanFloat('estimate') - ->add('assignedDate', $oldStory->assignedDate) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) + ->setDefault('assignedDate', $oldStory->assignedDate) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->setDefault('plan', '') ->setDefault('status', $oldStory->status) ->setDefault('product', $oldStory->product) @@ -688,8 +688,8 @@ class storyModel extends model $story = fixer::input('post') ->remove('result,preVersion,comment') ->setDefault('reviewedDate', $date) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->setIF($this->post->result == 'pass' and $oldStory->status == 'draft', 'status', 'active') ->setIF($this->post->result == 'pass' and $oldStory->status == 'changed', 'status', 'active') ->setIF($this->post->result == 'reject', 'closedBy', $this->app->user->account) @@ -831,14 +831,14 @@ class storyModel extends model $oldStory = $this->dao->findById($storyID)->from(TABLE_STORY)->fetch(); $now = helper::now(); $story = fixer::input('post') - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) - ->add('closedDate', $now) - ->add('closedBy', $this->app->user->account) ->add('assignedTo', 'closed') - ->add('assignedDate', $now) ->add('status', 'closed') ->add('stage', 'closed') + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('closedDate', $now) + ->setDefault('closedBy', $this->app->user->account) + ->setDefault('assignedDate', $now) ->removeIF($this->post->closedReason != 'duplicate', 'duplicateStory') ->removeIF($this->post->closedReason != 'subdivided', 'childStories') ->setIF($this->post->closedReason == 'done', 'stage', 'released') @@ -1098,9 +1098,6 @@ class storyModel extends model $oldStory = $this->dao->findById($storyID)->from(TABLE_STORY)->fetch(); $now = helper::now(); $story = fixer::input('post') - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) - ->add('assignedDate', $now) ->add('closedBy', '') ->add('closedReason', '') ->add('closedDate', '0000-00-00') @@ -1108,6 +1105,9 @@ class storyModel extends model ->add('reviewedDate', '0000-00-00') ->add('duplicateStory', 0) ->add('childStories', '') + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('assignedDate', $now) ->remove('comment') ->get(); $this->dao->update(TABLE_STORY)->data($story)->autoCheck()->where('id')->eq($storyID)->exec(); diff --git a/module/task/model.php b/module/task/model.php index 5487f33fa3..9c5bb36250 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -616,8 +616,8 @@ class taskModel extends model ->setIF($this->post->status == 'wait' and $this->post->left == $oldTask->left and $this->post->consumed == 0 and $this->post->estimate, 'left', $this->post->estimate) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->stripTags($this->config->task->editor->edit['id'], $this->config->allowedTags) ->join('mailto', ',') ->remove('comment,files,labels,uid,multiple,team,teamEstimate,teamConsumed,teamLeft,contactListMenu') @@ -626,7 +626,7 @@ class taskModel extends model if($task->consumed < $oldTask->consumed) die(js::error($this->lang->task->error->consumedSmall)); /* Fix bug#1388, Check children task projectID and moduleID. */ - if($task->project != $oldTask->project) + if(isset($task->project) and $task->project != $oldTask->project) { $this->dao->update(TABLE_TASK)->set('project')->eq($task->project)->set('module')->eq($task->module)->where('parent')->eq($taskID)->exec(); } @@ -705,7 +705,7 @@ class taskModel extends model { if($task->status == 'done') $this->loadModel('score')->create('task', 'finish', $taskID); if($task->status == 'closed') $this->loadModel('score')->create('task', 'close', $taskID); - if($task->parent) + if(!empty($task->parent)) { $this->dao->update(TABLE_TASK)->set('parent')->eq(-1)->where('id')->eq($task->parent)->exec(); $this->updateParentStatus($taskID); diff --git a/module/testcase/model.php b/module/testcase/model.php index e9b095e2ec..6fb57ab2c6 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -185,11 +185,11 @@ class testcaseModel extends model { $now = helper::now(); $case = fixer::input('post') - ->add('openedBy', $this->app->user->account) - ->add('openedDate', $now) ->add('status', $this->forceNotReview() || $this->post->forceNotReview ? 'normal' : 'wait') ->add('version', 1) ->add('fromBug', $bugID) + ->setDefault('openedBy', $this->app->user->account) + ->setDefault('openedDate', $now) ->setIF($this->post->story != false, 'storyVersion', $this->loadModel('story')->getVersion((int)$this->post->story)) ->remove('steps,expects,files,labels,stepType,forceNotReview') ->setDefault('story', 0) @@ -676,11 +676,11 @@ class testcaseModel extends model $version = $stepChanged ? $oldCase->version + 1 : $oldCase->version; $case = fixer::input('post') - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) ->add('version', $version) ->setIF($this->post->story != false and $this->post->story != $oldCase->story, 'storyVersion', $this->loadModel('story')->getVersion($this->post->story)) - ->setDefault('story,branch', 0) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) + ->setDefault('story,branch', 0) ->join('stage', ',') ->join('linkCase', ',') ->remove('comment,steps,expects,files,labels,stepType') @@ -752,8 +752,8 @@ class testcaseModel extends model $case = fixer::input('post') ->remove('result,comment') ->setDefault('reviewedDate', substr($now, 0, 10)) - ->add('lastEditedBy', $this->app->user->account) - ->add('lastEditedDate', $now) + ->setDefault('lastEditedBy', $this->app->user->account) + ->setDefault('lastEditedDate', $now) ->setIF($this->post->result == 'pass', 'status', 'normal') ->join('reviewedBy', ',') ->get(); diff --git a/module/testtask/model.php b/module/testtask/model.php index 31ea1eb449..9cf83de325 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -915,8 +915,8 @@ class testtaskModel extends model ->add('run', $runID) ->add('caseResult', $caseResult) ->setForce('stepResults', serialize($stepResults)) - ->add('lastRunner', $this->app->user->account) - ->add('date', $now) + ->setDefault('lastRunner', $this->app->user->account) + ->setDefault('date', $now) ->skipSpecial('stepResults') ->remove('steps,reals,result') ->get(); diff --git a/module/tree/model.php b/module/tree/model.php index b6ae0881dd..ce3cabb835 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -112,7 +112,7 @@ class treeModel extends model ksort($treeMenu); $topMenu = @array_shift($treeMenu); $topMenu = explode("\n", trim($topMenu)); - $lastMenu[] = in_array($type, array('bug', 'story')) ? '' : '/'; + $lastMenu[] = '/'; foreach($topMenu as $menu) { if(!strpos($menu, '|')) continue;