From 00d7d83484ce628f645771649f64be17a93a433c Mon Sep 17 00:00:00 2001 From: liumengyi Date: Tue, 21 Feb 2023 00:36:33 +0000 Subject: [PATCH] * Finish task #85038, #85039. --- db/update18.1.sql | 12 +++++ db/zentao.sql | 20 +++++--- module/admin/lang/menu.php | 38 +++++++++------ module/common/lang/zh-cn.php | 75 +++++++++++++++--------------- module/programplan/control.php | 2 +- module/stage/control.php | 54 +++++++++++++++++---- module/stage/model.php | 47 +++++++++++++++---- module/stage/view/browse.html.php | 11 ++--- module/stage/view/settype.html.php | 1 - 9 files changed, 173 insertions(+), 87 deletions(-) diff --git a/db/update18.1.sql b/db/update18.1.sql index dea20bab4f..7a9b0d9d6a 100644 --- a/db/update18.1.sql +++ b/db/update18.1.sql @@ -8,3 +8,15 @@ REPLACE INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`, ` UPDATE `zt_project` AS parent INNER JOIN (select `id`,`parent`,`attribute` from `zt_project` where `parent` != 0 and `type` = 'stage') AS child ON parent.`id` = child.`parent` SET parent.`attribute`='mix' where parent.`grade`=1 and parent.`type`='stage' and parent.`attribute` != child.`attribute`; REPLACE INTO `zt_grouppriv` (SELECT `group`,`module`,'batchChangeStatus' FROM `zt_grouppriv` WHERE `module` = 'execution' AND `method` = 'batchEdit'); + +ALTER table `zt_stage` ADD `projectType` varchar(255) NOT NULL DEFAULT '' AFTER `type`; +UPDATE `zt_stage` SET `projectType` = 'waterfall' WHERE `projectType` = ''; + +REPLACE INTO `zt_stage` (`name`,`percent`,`type`, `projectType`, `createdBy`,`createdDate`,`editedBy`,`editedDate`,`deleted`) VALUES +('需求','10','request','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('设计','10','design','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('开发','50','dev','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('测试','15','qa','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('发布','10','release','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('总结评审','5','review','waterfallplus','admin','2020-02-08 21:08:45','admin','2020-02-12 13:50:27','0'); + diff --git a/db/zentao.sql b/db/zentao.sql index 9d5ffb171a..b7c0f371e0 100755 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -6391,13 +6391,19 @@ REPLACE INTO `zt_lang` (`lang`, `module`, `section`, `key`, `value`, `system`) V ('all','stage','typeList','review','总结评审','1'), ('all','stage','typeList','other','其他','1'); -REPLACE INTO `zt_stage` (`name`,`percent`,`type`,`createdBy`,`createdDate`,`editedBy`,`editedDate`,`deleted`) VALUES -('需求','10','request','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), -('设计','10','design','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), -('开发','50','dev','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), -('测试','15','qa','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), -('发布','10','release','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), -('总结评审','5','review','admin','2020-02-08 21:08:45','admin','2020-02-12 13:50:27','0'); +REPLACE INTO `zt_stage` (`name`,`percent`,`type`,`projectType`,`createdBy`,`createdDate`,`editedBy`,`editedDate`,`deleted`) VALUES +('需求','10','request','waterfall','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('设计','10','design','waterfall','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('开发','50','dev','waterfall','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('测试','15','qa','waterfall','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('发布','10','release','waterfall','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('总结评审','5','review','waterfall','admin','2020-02-08 21:08:45','admin','2020-02-12 13:50:27','0'); +('需求','10','request','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('设计','10','design','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('开发','50','dev','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('测试','15','qa','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('发布','10','release','waterfallplus','admin','2020-02-08 21:08:30','admin','2020-02-12 13:50:27','0'), +('总结评审','5','review','waterfallplus','admin','2020-02-08 21:08:45','admin','2020-02-12 13:50:27','0'); INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'custom', '', 'hourPoint', '0'); INSERT INTO `zt_config` (`owner`, `module`, `section`, `key`, `value`) VALUES ('system', 'common', '', 'CRProduct', '1'); diff --git a/module/admin/lang/menu.php b/module/admin/lang/menu.php index 28890757f0..290221bc48 100644 --- a/module/admin/lang/menu.php +++ b/module/admin/lang/menu.php @@ -75,26 +75,34 @@ $lang->admin->menuList->switch['subMenu']['setmodule'] = array('link' => "{$lang $lang->admin->menuList->switch['menuOrder']['5'] = 'setmodule'; -$lang->admin->menuList->model['subMenu']['common'] = array('link' => "{$lang->globalSetting}|custom|required|module=project", 'subModule' => 'custom,subject,holiday'); -$lang->admin->menuList->model['subMenu']['scrum'] = array('link' => "{$lang->scrumModel}|auditcl|scrumbrowse|", 'subModule' => 'auditcl'); -$lang->admin->menuList->model['subMenu']['waterfall'] = array('link' => "{$lang->waterfallModel}|stage|settype|", 'subModule' => 'stage'); +$lang->admin->menuList->model['subMenu']['common'] = array('link' => "{$lang->globalSetting}|custom|required|module=project", 'subModule' => 'custom,subject,holiday,stage', 'exclude' => 'stage-browse,stage-plusbrowse,stage-create,stage-edit,stage-batchcreate'); +$lang->admin->menuList->model['subMenu']['scrum'] = array('link' => "{$lang->scrumModel}|auditcl|scrumbrowse|", 'subModule' => 'auditcl'); +$lang->admin->menuList->model['subMenu']['waterfall'] = array('link' => "{$lang->waterfallModel}|stage|browse|", 'subModule' => 'stage', 'exclude' => 'stage-settype,stage-plusbrowse'); +$lang->admin->menuList->model['subMenu']['agileplus'] = array('link' => "{$lang->agilePlusModel}|auditcl|agileplusbrowse|", 'subModule' => 'auditcl'); +$lang->admin->menuList->model['subMenu']['waterfallplus'] = array('link' => "{$lang->waterfallPlusModel}|stage|plusbrowse|", 'subModule' => 'stage', 'exclude' => 'stage-settype,stage-browse'); $lang->admin->menuList->model['menuOrder']['5'] = 'common'; $lang->admin->menuList->model['menuOrder']['10'] = 'scrum'; $lang->admin->menuList->model['menuOrder']['15'] = 'waterfall'; +$lang->admin->menuList->model['menuOrder']['20'] = 'agileplus'; +$lang->admin->menuList->model['menuOrder']['25'] = 'waterfallplus'; -$lang->admin->menuList->model['tabMenu']['common']['project'] = array('link' => "{$lang->project->common}|custom|required|module=project", 'alias' => 'set', 'exclude' => 'custom', 'links' => array('custom|set|')); -$lang->admin->menuList->model['tabMenu']['common']['build'] = array('link' => "{$lang->build->common}|custom|required|module=build", 'alias' => 'set', 'exclude' => 'custom'); -$lang->admin->menuList->model['tabMenu']['common']['flow'] = array('link' => "{$lang->custom->flow}|custom|flow|", 'divider' => true); -$lang->admin->menuList->model['tabMenu']['common']['code'] = array('link' => "{$lang->code}|custom|code|"); -$lang->admin->menuList->model['tabMenu']['common']['hours'] = array('link' => "{$lang->workingHour}|custom|hours|", 'subModule' => 'holiday', 'links' => array('holiday|browse|')); -$lang->admin->menuList->model['tabMenu']['waterfall']['stage'] = array('link' => "{$lang->stage->common}|stage|settype|", 'subModule' => 'stage', 'links' => array('stage|browse|')); -$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['5'] = 'project'; -$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['10'] = 'build'; -$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['35'] = 'flow'; -$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['40'] = 'code'; -$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['45'] = 'hours'; -$lang->admin->menuList->model['tabMenu']['menuOrder']['waterfall']['5'] = 'stage'; +$lang->admin->menuList->model['tabMenu']['common']['project'] = array('link' => "{$lang->project->common}|custom|required|module=project", 'alias' => 'set', 'exclude' => 'custom', 'links' => array('custom|set|')); +$lang->admin->menuList->model['tabMenu']['common']['stage'] = array('link' => "{$lang->stage->common}|stage|settype|", 'subModule' => 'stage', 'links' => array('stage|browse|')); +$lang->admin->menuList->model['tabMenu']['common']['build'] = array('link' => "{$lang->build->common}|custom|required|module=build", 'alias' => 'set', 'exclude' => 'custom'); +$lang->admin->menuList->model['tabMenu']['common']['flow'] = array('link' => "{$lang->custom->flow}|custom|flow|", 'divider' => true); +$lang->admin->menuList->model['tabMenu']['common']['code'] = array('link' => "{$lang->code}|custom|code|"); +$lang->admin->menuList->model['tabMenu']['common']['hours'] = array('link' => "{$lang->workingHour}|custom|hours|", 'subModule' => 'holiday', 'links' => array('holiday|browse|')); +$lang->admin->menuList->model['tabMenu']['waterfall']['stage'] = array('link' => "{$lang->stage->common}|stage|browse|", 'subModule' => 'stage', 'exclude' => 'stage-plusbrowse'); +$lang->admin->menuList->model['tabMenu']['waterfallplus']['stage'] = array('link' => "{$lang->stage->common}|stage|plusbrowse|", 'subModule' => 'stage', 'exclude' => 'stage-browse'); +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['5'] = 'project'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['7'] = 'stage'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['10'] = 'build'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['35'] = 'flow'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['40'] = 'code'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['common']['45'] = 'hours'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['waterfall']['5'] = 'stage'; +$lang->admin->menuList->model['tabMenu']['menuOrder']['waterfallplus']['5'] = 'stage'; $lang->admin->menuList->feature['subMenu']['my'] = array('link' => "{$lang->my->common}|custom|set|module=todo&field=priList", 'exclude' => 'set,required'); $lang->admin->menuList->feature['subMenu']['product'] = array('link' => "{$lang->productCommon}|custom|required|module=product", 'exclude' => 'set,required', 'alias' => 'browsestoryconcept,product'); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index e6a1814f28..1fe380222a 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -49,43 +49,44 @@ $lang->runInfo = "
未经许可,不得去除、隐藏或遮掩禅道软件的任何标志及链接。"; $lang->designedByAIUX = " 艾体验设计"; -$lang->reset = '重填'; -$lang->cancel = '取消'; -$lang->refresh = '刷新'; -$lang->refreshIcon = ""; -$lang->create = '新建'; -$lang->edit = '编辑'; -$lang->delete = '删除'; -$lang->activate = '激活'; -$lang->close = '关闭'; -$lang->unlink = '移除'; -$lang->import = '导入'; -$lang->export = '导出'; -$lang->setFileName = '文件名:'; -$lang->submitting = '稍候...'; -$lang->save = '保存'; -$lang->confirm = '确认'; -$lang->preview = '查看'; -$lang->goback = '返回'; -$lang->goPC = 'PC版'; -$lang->more = '更多'; -$lang->moreLink = 'More'; -$lang->day = '天'; -$lang->customConfig = '自定义'; -$lang->public = '公共'; -$lang->trunk = '主干'; -$lang->sort = '排序'; -$lang->required = '必填'; -$lang->noData = '暂无'; -$lang->fullscreen = '全屏'; -$lang->retrack = '收起'; -$lang->whitelist = '访问白名单'; -$lang->globalSetting = '通用'; -$lang->waterfallModel = '瀑布模型'; -$lang->scrumModel = '敏捷模型'; -$lang->agilePlusModel = '融合敏捷模型'; -$lang->all = '所有'; -$lang->viewDetails = '查看详情'; +$lang->reset = '重填'; +$lang->cancel = '取消'; +$lang->refresh = '刷新'; +$lang->refreshIcon = ""; +$lang->create = '新建'; +$lang->edit = '编辑'; +$lang->delete = '删除'; +$lang->activate = '激活'; +$lang->close = '关闭'; +$lang->unlink = '移除'; +$lang->import = '导入'; +$lang->export = '导出'; +$lang->setFileName = '文件名:'; +$lang->submitting = '稍候...'; +$lang->save = '保存'; +$lang->confirm = '确认'; +$lang->preview = '查看'; +$lang->goback = '返回'; +$lang->goPC = 'PC版'; +$lang->more = '更多'; +$lang->moreLink = 'More'; +$lang->day = '天'; +$lang->customConfig = '自定义'; +$lang->public = '公共'; +$lang->trunk = '主干'; +$lang->sort = '排序'; +$lang->required = '必填'; +$lang->noData = '暂无'; +$lang->fullscreen = '全屏'; +$lang->retrack = '收起'; +$lang->whitelist = '访问白名单'; +$lang->globalSetting = '通用'; +$lang->waterfallModel = '瀑布模型'; +$lang->scrumModel = '敏捷模型'; +$lang->agilePlusModel = '融合敏捷模型'; +$lang->waterfallPlusModel = '融合瀑布模型'; +$lang->all = '所有'; +$lang->viewDetails = '查看详情'; $lang->actions = '操作'; $lang->restore = '恢复默认'; diff --git a/module/programplan/control.php b/module/programplan/control.php index 7a7783561f..ccf3baa0a5 100644 --- a/module/programplan/control.php +++ b/module/programplan/control.php @@ -211,7 +211,7 @@ class programplan extends control $this->view->productList = $productList; $this->view->project = $project; $this->view->productID = $productID ? $productID : key($productList); - $this->view->stages = empty($planID) ? $this->loadModel('stage')->getStages('id_asc') : array(); + $this->view->stages = empty($planID) ? $this->loadModel('stage')->getStages('id_asc', 0, $project->model) : array(); $this->view->programPlan = $programPlan; $this->view->plans = empty($executions) ? $plans : $executions; $this->view->planID = $planID; diff --git a/module/stage/control.php b/module/stage/control.php index 1012136791..fe00fe1b34 100644 --- a/module/stage/control.php +++ b/module/stage/control.php @@ -15,13 +15,19 @@ class stage extends control * Browse stages. * * @param string $orderBy + * @param string $type * @access public * @return void */ - public function browse($orderBy = "id_asc") + public function browse($orderBy = "id_asc", $type = 'waterfall') { - $this->view->stages = $this->stage->getStages($orderBy); + if($type == 'waterfallplus') $this->locate($this->createLink('stage', 'plusBrowse', "orderBy=$orderBy&type=waterfallplus")); + + $this->stage->setMenu($type); + + $this->view->stages = $this->stage->getStages($orderBy, 0, $type); $this->view->orderBy = $orderBy; + $this->view->type = $type; $this->view->title = $this->lang->stage->common . $this->lang->colon . $this->lang->stage->browse; $this->view->position[] = $this->lang->stage->common; $this->view->position[] = $this->lang->stage->browse; @@ -30,16 +36,41 @@ class stage extends control } /** - * Create a stage. + * Browse stages. * + * @param string $orderBy * @access public * @return void */ - public function create() + public function plusBrowse($orderBy = "id_asc", $type = 'waterfallplus') { + if($type == 'waterfall') $this->locate($this->createLink('stage', 'browse', "orderBy=$orderBy&type=waterfall")); + + $this->stage->setMenu($type); + + $this->view->stages = $this->stage->getStages($orderBy, 0, $type); + $this->view->orderBy = $orderBy; + $this->view->type = $type; + $this->view->title = $this->lang->stage->common . $this->lang->colon . $this->lang->stage->browse; + $this->view->position[] = $this->lang->stage->common; + $this->view->position[] = $this->lang->stage->browse; + + $this->display('stage', 'browse'); + } + + /** + * Create a stage. + * + * @param string $type + * @access public + * @return void + */ + public function create($type = 'waterfall') + { + $this->stage->setMenu($type); if($_POST) { - $stageID = $this->stage->create(); + $stageID = $this->stage->create($type); if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); $response['result'] = 'success'; @@ -52,7 +83,7 @@ class stage extends control } $this->loadModel('action')->create('stage', $stageID, 'Opened'); - $response['locate'] = inlink('browse'); + $response['locate'] = inlink($type == 'waterfall' ? 'browse' : 'plusBrowse', "orderBy=id_asc&type=$type"); return $this->send($response); } @@ -66,14 +97,16 @@ class stage extends control /** * Batch create stages. * + * @param string $type * @access public * @return void */ - public function batchCreate() + public function batchCreate($type = 'waterfall') { + $this->stage->setMenu($type); if($_POST) { - $this->stage->batchCreate(); + $this->stage->batchCreate($type); $response['result'] = 'success'; $response['message'] = $this->lang->saveSuccess; @@ -84,7 +117,7 @@ class stage extends control return $this->send($response); } - $response['locate'] = inlink('browse'); + $response['locate'] = inlink($type == 'waterfall' ? 'browse' : 'plusBrowse', "orderBy=id_asc&type=$type"); return $this->send($response); } @@ -105,6 +138,7 @@ class stage extends control public function edit($stageID = 0) { $stage = $this->stage->getByID($stageID); + $this->stage->setMenu($stage->projectType); if($_POST) { $changes = $this->stage->update($stageID); @@ -120,7 +154,7 @@ class stage extends control $actionID = $this->loadModel('action')->create('stage', $stageID, 'Edited'); if(!empty($changes)) $this->action->logHistory($actionID, $changes); - $response['locate'] = inlink('browse'); + $response['locate'] = inlink($type == 'waterfall' ? 'browse' : 'plusBrowse', "orderBy=id_asc&type=$stage->projectType"); return $this->send($response); } diff --git a/module/stage/model.php b/module/stage/model.php index b4e616d0fe..cdbd8e43e1 100644 --- a/module/stage/model.php +++ b/module/stage/model.php @@ -19,14 +19,15 @@ class stageModel extends model * @access public * @return int|bool */ - public function create() + public function create($type = 'waterfall') { $stage = fixer::input('post') + ->setDefault('projectType', $type) ->add('createdBy', $this->app->user->account) ->add('createdDate', helper::today()) ->get(); - $totalPercent = $this->getTotalPercent(); + $totalPercent = $this->getTotalPercent($type); if(!is_numeric($stage->percent)) return dao::$errors['message'][] = $this->lang->stage->error->notNum; if(round($totalPercent + $stage->percent) > 100) return dao::$errors['message'][] = $this->lang->stage->error->percentOver; @@ -48,11 +49,11 @@ class stageModel extends model * @access public * @return bool */ - public function batchCreate() + public function batchCreate($type = 'waterfall') { $data = fixer::input('post')->get(); - $totalPercent = $this->getTotalPercent(); + $totalPercent = $this->getTotalPercent($type); if(round($totalPercent + array_sum($data->percent)) > 100) return dao::$errors['message'][] = $this->lang->stage->error->percentOver; @@ -98,7 +99,7 @@ class stageModel extends model ->add('editedDate', helper::today()) ->get(); - $totalPercent = $this->getTotalPercent(); + $totalPercent = $this->getTotalPercent($oldStage->projectType); if(round($totalPercent + $stage->percent - $oldStage->percent) > 100) return dao::$errors['message'][] = $this->lang->stage->error->percentOver; @@ -118,10 +119,11 @@ class stageModel extends model * * @param string $orderBy * @param int $projectID + * @param string $type * @access public * @return array */ - public function getStages($orderBy = 'id_desc', $projectID = 0) + public function getStages($orderBy = 'id_desc', $projectID = 0, $type = '') { if($projectID) { @@ -137,7 +139,7 @@ class stageModel extends model } else { - return $this->dao->select('*')->from(TABLE_STAGE)->where('deleted')->eq(0)->orderBy($orderBy)->fetchAll('id'); + return $this->dao->select('*')->from(TABLE_STAGE)->where('deleted')->eq(0)->andWhere('projectType')->eq($type)->orderBy($orderBy)->fetchAll('id'); } } @@ -175,10 +177,35 @@ class stageModel extends model /** * Get stage total percent * - * return string + * @param string $type + * @return string */ - public function getTotalPercent() + public function getTotalPercent($type) { - return $this->dao->select('sum(percent) as total')->from(TABLE_STAGE)->where('deleted')->eq('0')->fetch('total'); + return $this->dao->select('sum(percent) as total')->from(TABLE_STAGE)->where('deleted')->eq('0')->andWhere('projectType')->eq($type)->fetch('total'); + } + + /** + * Set menu. + * + * @param string $type + * @access public + * @return void + */ + public function setMenu($type) + { + $this->app->loadLang('admin'); + $moduleName = $this->app->rawModule; + $methodName = $this->app->rawMethod; + if(!isset($this->lang->admin->menuList->model['subMenu']['waterfall']['exclude'])) $this->lang->admin->menuList->model['subMenu']['waterfall']['exclude'] = ''; + if(!isset($this->lang->admin->menuList->model['subMenu']['waterfallplus']['exclude'])) $this->lang->admin->menuList->model['subMenu']['agileplus']['exclude'] = ''; + if($type == 'waterfall') + { + $this->lang->admin->menuList->model['subMenu']['waterfallplus']['exclude'] .= ",{$moduleName}-{$methodName}"; + } + if($type == 'waterfallplus') + { + $this->lang->admin->menuList->model['subMenu']['waterfall']['exclude'] .= ",{$moduleName}-{$methodName}"; + } } } diff --git a/module/stage/view/browse.html.php b/module/stage/view/browse.html.php index 266234a805..51213afa41 100644 --- a/module/stage/view/browse.html.php +++ b/module/stage/view/browse.html.php @@ -17,7 +17,7 @@

stage->noStage;?> - createLink('stage', 'create'), " " . $lang->stage->create, '', "class='btn btn-info'");?> + createLink('stage', 'create', "type={$type}"), " " . $lang->stage->create, '', "class='btn btn-info'");?>

@@ -26,8 +26,7 @@
- stage->setType);?> - stage->browse, '', "class='selected'");?> + stage->browse, '', "class='selected'");?>
@@ -38,12 +37,12 @@ stage->browse;?>
- " . $lang->stage->batchCreate, '', "class='btn btn-primary'");?> - " . $lang->stage->create, '', "class='btn btn-primary'");?> + " . $lang->stage->batchCreate, '', "class='btn btn-primary'");?> + " . $lang->stage->create, '', "class='btn btn-primary'");?>
- + diff --git a/module/stage/view/settype.html.php b/module/stage/view/settype.html.php index 4dd7d72696..0546bd890f 100644 --- a/module/stage/view/settype.html.php +++ b/module/stage/view/settype.html.php @@ -34,7 +34,6 @@ EOT;
stage->setType, '', "class='selected'");?> - stage->browse);?>
stage->id);?>