diff --git a/module/action/model.php b/module/action/model.php index 4aff2f30df..7392802e49 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -32,6 +32,7 @@ class actionModel extends model */ public function create($objectType, $objectID, $actionType, $comment = '', $extra = '', $actor = '', $autoDelete = true) { + if(empty($comment)) return false; $actor = $actor ? $actor : $this->app->user->account; $actionType = strtolower($actionType); if($actor == 'guest' and $actionType == 'logout') return false; diff --git a/module/api/control.php b/module/api/control.php index fd0a3ae46b..31a5822d87 100644 --- a/module/api/control.php +++ b/module/api/control.php @@ -37,7 +37,15 @@ class api extends control */ public function getModel($moduleName, $methodName, $params = '') { - parse_str(str_replace(',', '&', $params), $params); + $params = explode(',', $params); + $newParams = array_shift($params); + foreach($params as $param) + { + $sign = strpos($param, '=') !== false ? '&' : ','; + $newParams .= $sign . $param; + } + + parse_str($newParams, $params); $module = $this->loadModel($moduleName); $result = call_user_func_array(array(&$module, $methodName), $params); if(dao::isError()) die(json_encode(dao::getError())); diff --git a/module/branch/model.php b/module/branch/model.php index 111fa63718..2201ad1b8c 100644 --- a/module/branch/model.php +++ b/module/branch/model.php @@ -82,12 +82,14 @@ class branchModel extends model * * @param array $products * @param string $params + * @param array $appendBranch * @access public * @return array */ - public function getByProducts($products, $params = '') + public function getByProducts($products, $params = '', $appendBranch = '') { - $branches = $this->dao->select('*')->from(TABLE_BRANCH)->where('product')->in($products)->andWhere('deleted')->eq(0)->orderBy('`order`')->fetchAll(); + $branches = $this->dao->select('*')->from(TABLE_BRANCH)->where('product')->in($products)->andWhere('deleted')->eq(0)->orderBy('`order`')->fetchAll('id'); + if(!empty($appendBranch)) $branches += $this->dao->select('*')->from(TABLE_BRANCH)->where('id')->in($appendBranch)->orderBy('`order`')->fetchAll('id'); $products = $this->loadModel('product')->getByIdList($products); $branchGroups = array(); @@ -154,6 +156,12 @@ class branchModel extends model $case = $this->dao->select('id')->from(TABLE_CASE)->where('branch')->eq($branchID)->andWhere('deleted')->eq(0)->limit(1)->fetch(); $release = $this->dao->select('id')->from(TABLE_RELEASE)->where('branch')->eq($branchID)->andWhere('deleted')->eq(0)->limit(1)->fetch(); $build = $this->dao->select('id')->from(TABLE_BUILD)->where('branch')->eq($branchID)->andWhere('deleted')->eq(0)->limit(1)->fetch(); - return empty($module) and empty($story) and empty($bug) and empty($case) and empty($release) and empty($build) and empty($plan); + $project = $this->dao->select('t1.id')->from(TABLE_PROJECT)->alias('t1') + ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id=t2.project') + ->where('t2.branch')->eq($branchID) + ->andWhere('t1.deleted')->eq(0) + ->limit(1) + ->fetch(); + return empty($module) && empty($story) && empty($bug) && empty($case) && empty($release) && empty($build) && empty($plan) && empty($project); } } diff --git a/module/bug/config.php b/module/bug/config.php index 6ac9bc0717..4008b48e33 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -38,7 +38,7 @@ $config->bug->list->exportFields = 'id, product, branch, module, project, story, lastEditedDate, files'; $config->bug->list->customCreateFields = 'project,story,task,pri,severity,os,browser,deadline,mailto,keywords'; -$config->bug->list->customBatchCreateFields = 'module,project,steps,type,pri,severity,os,browser,keywords'; +$config->bug->list->customBatchCreateFields = 'module,project,steps,type,pri,deadline,severity,os,browser,keywords'; $config->bug->list->customBatchEditFields = 'type,severity,pri,productplan,assignedTo,deadline,status,resolvedBy,resolution,os,browser,keywords'; $config->bug->custom = new stdclass(); diff --git a/module/bug/model.php b/module/bug/model.php index d812de7b2d..4b84c3d816 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -163,6 +163,7 @@ class bugModel extends model $bug->openedBuild = implode(',', $data->openedBuilds[$i]); $bug->color = $data->color[$i]; $bug->title = $data->title[$i]; + $bug->deadline = $data->deadlines[$i]; $bug->steps = nl2br($data->stepses[$i]); $bug->type = $data->types[$i]; $bug->pri = $data->pris[$i]; diff --git a/module/bug/view/batchcreate.html.php b/module/bug/view/batchcreate.html.php index 8e61ff3e94..73bd313475 100644 --- a/module/bug/view/batchcreate.html.php +++ b/module/bug/view/batchcreate.html.php @@ -11,6 +11,7 @@ */ ?> +
icons['bug']);?> @@ -27,11 +28,20 @@
config->bug->create->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->bug->list->customBatchCreateFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} ?>
@@ -40,16 +50,44 @@ foreach(explode(',', $showFields) as $field) - + - - - - - - - + + + + + + + + @@ -89,7 +127,8 @@ foreach(explode(',', $showFields) as $field) - + + @@ -122,7 +161,8 @@ foreach(explode(',', $showFields) as $field) - + + @@ -151,7 +191,8 @@ foreach(explode(',', $showFields) as $field) - + + diff --git a/module/bug/view/batchedit.html.php b/module/bug/view/batchedit.html.php index 2791797bac..78dbacb25a 100644 --- a/module/bug/view/batchedit.html.php +++ b/module/bug/view/batchedit.html.php @@ -26,11 +26,20 @@
config->bug->edit->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->bug->list->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} $columns = count($visibleFields) + 2; ?> "> @@ -38,20 +47,47 @@ $columns = count($visibleFields) + 2; - - - + + + - - - + + + - - - + + + diff --git a/module/custom/config.php b/module/custom/config.php index 52f94670e7..66f30bfb46 100644 --- a/module/custom/config.php +++ b/module/custom/config.php @@ -30,7 +30,7 @@ $config->custom->requiredModules[85] = 'user'; $config->custom->fieldList['product']['create'] = 'name,code,line,PO,QD,RD,type,desc'; $config->custom->fieldList['product']['edit'] = 'name,code,line,PO,QD,RD,type,desc,status'; -$config->custom->fieldList['story']['create'] = 'product,plan,source,sourceNote,title,pri,estimate,mailto,keywords,spec,verify'; +$config->custom->fieldList['story']['create'] = 'module,plan,source,title,pri,estimate,keywords,spec,verify'; $config->custom->fieldList['story']['change'] = 'title,spec,verify,comment'; $config->custom->fieldList['story']['close'] = 'closedReason,comment'; $config->custom->fieldList['story']['review'] = 'reviewedDate,assignedTo,reviewedBy,comment'; @@ -38,16 +38,16 @@ $config->custom->fieldList['productplan'] = 'title,begin,end,desc'; $config->custom->fieldList['release'] = 'name,build,date,desc'; $config->custom->fieldList['project']['create'] = 'name,code,begin,end,days,type,desc'; $config->custom->fieldList['project']['edit'] = 'name,code,begin,end,days,type,desc,PO,PM,QD,RD'; -$config->custom->fieldList['task']['create'] = 'type,story,name,pri,estimate,desc,estStarted,deadline,mailto'; -$config->custom->fieldList['task']['edit'] = 'type,assignedTo,story,name,pri,estimate,desc,estStarted,deadline,mailto'; +$config->custom->fieldList['task']['create'] = 'type,story,name,pri,estimate,desc,estStarted,deadline'; +$config->custom->fieldList['task']['edit'] = 'type,name,pri,estimate,estStarted,deadline'; $config->custom->fieldList['task']['finish'] = 'consumed,finishedDate,comment'; $config->custom->fieldList['task']['activate'] = 'assignedTo,left,comment'; $config->custom->fieldList['build'] = 'product,name,builder,date,scmPath,filePath,desc'; -$config->custom->fieldList['bug']['create'] = 'product,project,openedBuild,assignedTo,deadline,type,os,browser,title,severity,pri,steps,story,task,mailto,keywords'; -$config->custom->fieldList['bug']['edit'] = 'product,plan,project,openedBuild,assignedTo,deadline,type,os,browser,title,severity,pri,steps,story,task,mailto,keywords'; +$config->custom->fieldList['bug']['create'] = 'module,project,openedBuild,deadline,type,os,browser,title,severity,pri,steps,keywords'; +$config->custom->fieldList['bug']['edit'] = 'productplan,openedBuild,assignedTo,deadline,type,os,browser,title,severity,pri,steps,keywords'; $config->custom->fieldList['bug']['resolve'] = 'resolution,resolvedBuild,resolvedDate,assignedTo,comment'; -$config->custom->fieldList['testcase']['create'] = 'product,type,stage,story,title,pri,precondition,keywords'; -$config->custom->fieldList['testcase']['edit'] = 'product,type,stage,story,title,pri,precondition,keywords,status'; +$config->custom->fieldList['testcase']['create'] = 'type,stage,story,title,pri,precondition,keywords'; +$config->custom->fieldList['testcase']['edit'] = 'type,stage,story,title,pri,precondition,keywords,status'; $config->custom->fieldList['testsuite'] = 'name,desc'; $config->custom->fieldList['testcase']['createcase'] = 'lib,type,stage,title,pri,precondition,keywords'; $config->custom->fieldList['testreport'] = 'begin,end,owner,members,title,report'; diff --git a/module/product/view/batchedit.html.php b/module/product/view/batchedit.html.php index 8fbbf58909..9e64e6577c 100755 --- a/module/product/view/batchedit.html.php +++ b/module/product/view/batchedit.html.php @@ -20,10 +20,19 @@ config->product->edit->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->product->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } } ?> '> @@ -33,18 +42,39 @@ foreach(explode(',', $showFields) as $field) - - - - - - - + + + + + + + - + diff --git a/module/productplan/view/browse.html.php b/module/productplan/view/browse.html.php index 8c1bbc55bd..b5f68a6ecc 100644 --- a/module/productplan/view/browse.html.php +++ b/module/productplan/view/browse.html.php @@ -71,15 +71,13 @@ session->currentProductType != 'normal'):?> - + - - - - - - - + + + + + - + - + diff --git a/module/story/view/batchcreate.html.php b/module/story/view/batchcreate.html.php index c05b21b158..60ee3966be 100644 --- a/module/story/view/batchcreate.html.php +++ b/module/story/view/batchcreate.html.php @@ -27,29 +27,60 @@ config->story->create->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->story->list->customBatchCreateFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} if($this->story->checkForceReview()) unset($visibleFields['review']); +unset($visibleFields['module']); ?>
idAB;?> '> product->branch;?> bug->module;?> '>bug->project;?>'> + bug->project;?> + ";?> + bug->openedBuild;?> bug->title;?> '> bug->steps;?>'> typeAB;?>'> bug->pri;?>'>bug->severity;?>'> bug->os;?>'>bug->browser;?>'> bug->keywords;?>'> + bug->deadline;?> + ";?> + '> + bug->steps;?> + ";?> + '> + typeAB;?> + ";?> + '> + bug->pri;?> + ";?> + '> + bug->severity;?> + ";?> + '> + bug->os;?> + ";?> + '> + bug->browser;?> + ";?> + '> + bug->keywords;?> + ";?> +
'> '>'> ' style='overflow:visible'> bug->typeList, $type, "class='form-control chosen'");?> ' style='overflow:visible'> bug->priList, $pri, "class='form-control chosen'");?> ' style='overflow:visible'>bug->severityList, '', "class='form-control chosen'");?> '> '>'> ' style='overflow:visible'> bug->typeList, $type, "class='form-control chosen'");?> ' style='overflow:visible'> bug->priList, $pri, "class='form-control chosen'");?> ' style='overflow:visible'>bug->severityList, '', "class='form-control chosen'");?> '> '>'> ' style='overflow:visible'> bug->typeList, $type, "class='form-control'");?> ' style='overflow:visible'> bug->priList, '', "class='form-control'");?> ' style='overflow:visible'>bug->severityList, '', "class='form-control'");?>
idAB;?>'>bug->type;?>'>bug->severityAB;?>'>bug->pri;?>'> + bug->type;?> + ";?> + '> + bug->severityAB;?> + ";?> + '> + bug->pri;?> + ";?> + = 10) echo "class='w-150px'"?>>bug->title;?> '>bug->branch;?> '>bug->productplan;?>'>bug->assignedTo;?>'>bug->deadline;?>'> + bug->productplan;?> + ";?> + '> + bug->assignedTo;?> + ";?> + '> + bug->deadline;?> + ";?> + '>bug->status;?>'>bug->os;?>'>bug->browser;?>'>bug->keywords;?>'> + bug->os;?> + ";?> + '> + bug->browser;?> + ";?> + '> + bug->keywords;?> + ";?> + '>bug->resolvedByAB;?> '>bug->resolutionAB;?>
idAB;?> product->name;?> product->code;?> product->line;?>'>product->PO;?>'>product->QD;?>'>product->RD;?>'>product->type;?>'>product->status;?>'>product->desc;?> + product->line;?> + ";?> + '> + product->PO;?> + ";?> + '> + product->QD;?> + ";?> + '> + product->RD;?> + ";?> + '> + product->type;?> + ";?> + '> + product->status;?> + ";?> + '> + product->desc;?> + ";?> + product->order;?>
name, "class='form-control' autocomplete='off'");?> code, "class='form-control' autocomplete='off'");?>branch];?> begin;?>begin == '2030-01-01' ? $lang->productplan->future : $plan->begin;?> end == '2030-01-01' ? $lang->productplan->future : $plan->end;?> stories;?> bugs;?> hour;?> projectID)) echo html::a(helper::createLink('project', 'task', 'projectID=' . $plan->projectID), '');?>
desc;?>
begin == '2030-01-01' ? $lang->productplan->future : $plan->begin;?>end == '2030-01-01' ? $lang->productplan->future : $plan->end;?> id"), '', '', "class='btn-icon' title='{$lang->project->create}'"); diff --git a/module/project/control.php b/module/project/control.php index 60f1303222..baf1643134 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1025,9 +1025,11 @@ class project extends control $allProducts = array(0 => '') + $this->loadModel('product')->getPairs('noclosed|nocode'); $linkedProducts = $this->project->getProducts($project->id); + $linkedBranches = array(); foreach($linkedProducts as $product) { if(!isset($allProducts[$product->id])) $allProducts[$product->id] = $product->name; + if($product->branch) $linkedBranches[$product->branch] = $product->branch; } $this->view->title = $title; @@ -1041,7 +1043,7 @@ class project extends control $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->allProducts = $allProducts; $this->view->linkedProducts = $linkedProducts; - $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($linkedProducts)); + $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($linkedProducts), '', $linkedBranches); $this->display(); } @@ -1291,6 +1293,11 @@ class project extends control if(!$project) die(js::error($this->lang->notFound) . js::locate('back')); $products = $this->project->getProducts($project->id); + $linkedBranches = array(); + foreach($products as $product) + { + if($product->branch) $linkedBranches[$product->branch] = $product->branch; + } /* Set menu. */ $this->project->setMenu($this->projects, $project->id); @@ -1301,7 +1308,7 @@ class project extends control $this->view->project = $project; $this->view->products = $products; - $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products)); + $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products), '', $linkedBranches); $this->view->planGroups = $this->project->getPlans($products); $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->actions = $this->loadModel('action')->getList('project', $projectID); @@ -1599,10 +1606,12 @@ class project extends control $allProducts = $this->product->getPairs('noclosed|nocode'); $linkedProducts = $this->project->getProducts($project->id); + $linkedBranches = array(); // Merge allProducts and linkedProducts for closed product. foreach($linkedProducts as $product) { if(!isset($allProducts[$product->id])) $allProducts[$product->id] = $product->name; + if(!empty($product->branch)) $linkedBranches[$product->branch] = $product->branch; } /* Assign. */ @@ -1610,7 +1619,7 @@ class project extends control $this->view->position = $position; $this->view->allProducts = $allProducts; $this->view->linkedProducts = $linkedProducts; - $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts)); + $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts), '', $linkedBranches); $this->display(); } diff --git a/module/project/view/batchedit.html.php b/module/project/view/batchedit.html.php index df024c668b..e8ac03801f 100755 --- a/module/project/view/batchedit.html.php +++ b/module/project/view/batchedit.html.php @@ -21,11 +21,20 @@ config->project->edit->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->project->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} $minWidth = (count($visibleFields) > 5) ? 'w-150px' : ''; ?> '> @@ -35,17 +44,38 @@ $minWidth = (count($visibleFields) > 5) ? 'w-150px' : ''; idAB;?> project->name;?> project->code;?> '>project->PM;?>'>project->PO;?>'>project->QD;?>'>project->RD;?>'>project->type;?>'> + project->PM;?> + ";?> + '> + project->PO;?> + ";?> + '> + project->QD;?> + ";?> + '> + project->RD;?> + ";?> + '> + project->type;?> + ";?> + '>project->status;?> project->begin;?> project->end;?> '> project->desc;?>'> + project->desc;?> + ";?> + '>project->teamname;?>'>project->days;?>'> + project->days;?> + ";?> + project->order;?>
- - - - - - - - - + + + + + + + + + - + @@ -62,7 +93,7 @@ if($this->story->checkForceReview()) unset($visibleFields['review']); - + - + - + - - type != 'ops'):?> + type != 'ops'):?> + + - - - - - + + + + + diff --git a/module/task/view/batchedit.html.php b/module/task/view/batchedit.html.php index 46ddcb32cc..ba9ac08331 100755 --- a/module/task/view/batchedit.html.php +++ b/module/task/view/batchedit.html.php @@ -26,11 +26,20 @@
config->task->edit->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->task->custom->batchEditFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} ?> ">
idAB;?>'>product->branch;?>story->module;?> '>story->plan;?>= 9) echo "class='w-150px'"?>>story->title;?> '>story->spec;?>'>story->source;?>'>story->verify;?>'>story->pri;?>'>story->estimate;?>'>product->branch;?>story->module;?> '> + story->plan;?> + ";?> + = 9) echo "class='w-200px'"?>>story->title;?> '> + story->spec;?> + ";?> + '> + story->source;?> + ";?> + '> + story->verify;?> + ";?> + '> + story->pri;?> + ";?> + '> + story->estimate;?> + ";?> + '>story->review;?>'>story->keywords;?>'> + story->keywords;?> + ";?> +
'>' style='overflow:visible'> ' style='overflow:visible'>
@@ -94,7 +125,7 @@ if($this->story->checkForceReview()) unset($visibleFields['review']);
' style='overflow:visible'>' style='overflow:visible'> ' style='overflow:visible'>
@@ -122,7 +153,7 @@ if($this->story->checkForceReview()) unset($visibleFields['review']);
%s ' style='overflow:visible'>' style='overflow:visible'> ' style='overflow:visible'>
diff --git a/module/story/view/batchedit.html.php b/module/story/view/batchedit.html.php index 427dd46b61..c4d22b70fb 100644 --- a/module/story/view/batchedit.html.php +++ b/module/story/view/batchedit.html.php @@ -87,7 +87,7 @@ foreach(explode(',', $showFields) as $field) branch, "class='form-control chosen' onchange='loadBranches($branchProductID, this.value, $storyID);' $disabled");?>
' style='overflow:visible'> + ' style='overflow:visible'> module, "class='form-control chosen'");?> ' style='overflow:visible'> diff --git a/module/task/view/batchcreate.html.php b/module/task/view/batchcreate.html.php index c36983494c..3c5c3c9673 100644 --- a/module/task/view/batchcreate.html.php +++ b/module/task/view/batchcreate.html.php @@ -24,11 +24,20 @@ config->task->create->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->task->custom->batchCreateFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} $colspan = count($visibleFields) + 3; $hiddenStory = ((isonlybody() and $storyID) || $this->config->global->flow == 'onlyTask') ? ' hidden' : ''; if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1; @@ -39,15 +48,35 @@ if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
idAB;?> '>task->module?>'>task->story;?>'> + task->story;?> + ";?> + task->name;?> typeAB;?> '>task->assignedTo;?>'>task->estimateAB;?>'>task->estStarted;?>'>task->deadline;?>'>task->desc;?>'>task->pri;?>'> + task->estimateAB;?> + ";?> + '> + task->estStarted;?> + ";?> + '> + task->deadline;?> + ";?> + '> + task->desc;?> + ";?> + '> + task->pri;?> + ";?> +
@@ -42,12 +51,24 @@ foreach(explode(',', $showFields) as $field) - - + + - - + + diff --git a/module/testcase/view/batchcreate.html.php b/module/testcase/view/batchcreate.html.php index 774f0dc58b..919feb7754 100644 --- a/module/testcase/view/batchcreate.html.php +++ b/module/testcase/view/batchcreate.html.php @@ -32,11 +32,20 @@ config->testcase->create->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->bug->customBatchCreateFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} $colspan = count($visibleFields) + 3; $hiddenStory = (isonlybody() and $story) ? ' hidden' : ''; if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1; @@ -48,14 +57,29 @@ if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1; - + - - - - - + + + + + diff --git a/module/testcase/view/batchedit.html.php b/module/testcase/view/batchedit.html.php index 6e344f2577..b611b6c991 100644 --- a/module/testcase/view/batchedit.html.php +++ b/module/testcase/view/batchedit.html.php @@ -25,29 +25,56 @@
config->testcase->edit->requiredFields) as $field) +{ + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$config->bug->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } +} ?>
'>task->assignedTo;?> typeAB;?> '>task->status;?>'>task->pri;?>'>task->estimateAB;?>'> + task->pri;?> + ";?> + '> + task->estimateAB;?> + ";?> + '>task->consumedThisTime?> '>task->leftAB?>'>task->estStarted?>'>task->deadline?>'> + task->estStarted?> + ";?> + '> + task->deadline?> + ";?> + '>task->finishedBy;?> '>task->canceledBy;?> '>task->closedBy;?> idAB;?> '>product->branch;?> '>testcase->module;?>'> testcase->story;?>'> + testcase->story;?> + ";?> + testcase->title;?> testcase->type;?> '> testcase->pri;?>'>testcase->precondition;?>'> testcase->keywords;?>'> testcase->stage;?>'> testcase->review;?>'> + testcase->pri;?> + ";?> + '> + testcase->precondition;?> + ";?> + '> + testcase->keywords;?> + ";?> + '> + testcase->stage;?> + ";?> + '>testcase->review;?>
- - + + - - - - - - + + + + + + diff --git a/module/todo/css/create.css b/module/todo/css/create.css index 71c2d8c97b..d2f9f434f0 100644 --- a/module/todo/css/create.css +++ b/module/todo/css/create.css @@ -1 +1,3 @@ #begin_chosen{width:50% !important;} +.switchDate{border-left: none;} +#end_chosen .chosen-single{border-left: none;} diff --git a/module/todo/css/edit.css b/module/todo/css/edit.css index 71c2d8c97b..a7f105a695 100644 --- a/module/todo/css/edit.css +++ b/module/todo/css/edit.css @@ -1 +1,2 @@ #begin_chosen{width:50% !important;} +#end_chosen .chosen-single{border-left: none;} diff --git a/module/todo/view/create.html.php b/module/todo/view/create.html.php index 275b239f0c..42c1054f96 100644 --- a/module/todo/view/create.html.php +++ b/module/todo/view/create.html.php @@ -28,7 +28,7 @@ diff --git a/module/user/view/batchedit.html.php b/module/user/view/batchedit.html.php index ee2624613e..1d0a981d97 100644 --- a/module/user/view/batchedit.html.php +++ b/module/user/view/batchedit.html.php @@ -36,8 +36,8 @@ $minWidth = (count($visibleFields) > 7) ? 'w-120px' : ''; - - + + diff --git a/module/webhook/model.php b/module/webhook/model.php index 81a5e6a6a2..c053433e9d 100644 --- a/module/webhook/model.php +++ b/module/webhook/model.php @@ -227,16 +227,13 @@ class webhookModel extends model $mobile = ''; $email = ''; - if($actionType == 'assigned') + foreach($users as $user) { - foreach($users as $user) + if($user->account == $object->assignedTo) { - if($user->account == $object->assignedTo) - { - $mobile = $user->mobile; - $email = $user->email; - break; - } + $mobile = $user->mobile; + $email = $user->email; + break; } } $action->text = $text;
idAB;?>'> priAB;?>'>statusAB;?>'> + priAB;?> + ";?> + '> + statusAB;?> + ";?> + '>testcase->branch;?> '>testcase->module;?>'>testcase->story;?>testcase->title;?>testcase->type;?>'> testcase->precondition;?>'>testcase->keywords;?>'> testcase->stage;?>'> + testcase->story;?> + ";?> + testcase->title;?> testcase->type;?> '> + testcase->precondition;?> + ";?> + '> + testcase->keywords;?> + ";?> + '> + testcase->stage;?> + ";?> +
- todo->periods['future'];?> + todo->periods['future'];?> todo->cycle;?>
idAB;?> '> user->dept;?>user->account;?>user->realname;?>user->account;?> user->realname;?> user->role;?> '>user->commiter;?> '> user->email;?>