+ createLink('custom', 'ajaxSaveCustomFields', 'module=programplan§ion=custom&key=createFields')?>
+
+
diff --git a/module/programplan/config.php b/module/programplan/config.php index 2710d95c98..549feae6ff 100644 --- a/module/programplan/config.php +++ b/module/programplan/config.php @@ -52,3 +52,7 @@ $config->programplan->datatable->fieldList['actions']['fixed'] = 'right'; $config->programplan->datatable->fieldList['actions']['width'] = '150'; $config->programplan->datatable->fieldList['actions']['required'] = 'yes'; $config->programplan->datatable->fieldList['actions']['sort'] = 'no'; + +$config->programplan->customCreateFields = 'PM,percent,attribute,acl,milestone,realBegan,realEnd'; +$config->programplan->custom = new stdclass(); +$config->programplan->custom->createFields = 'PM,percent,attribute,acl,milestone'; diff --git a/module/programplan/control.php b/module/programplan/control.php index 9eb751e67d..947d58a950 100644 --- a/module/programplan/control.php +++ b/module/programplan/control.php @@ -137,15 +137,38 @@ class programplan extends control $this->view->position[] = html::a($this->createLink('programplan', 'browse', "projectID=$projectID"), $project->name); $this->view->position[] = $this->lang->programplan->create; - $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->programPlan = $this->project->getById($planID, 'stage'); - $this->view->plans = $this->programplan->getStage($planID ? $planID : $projectID, $this->productID, 'parent'); - $this->view->planID = $planID; - $this->view->type = 'lists'; - $this->view->PMUsers = $this->loadModel('user')->getPairs('noclosed|nodeleted|pmfirst', $project->PM); + $visibleFields = array(); + $requiredFields = array(); + foreach(explode(',', $this->config->programplan->customCreateFields) as $field) $customFields[$field] = $this->lang->programplan->$field; + $showFields = $this->config->programplan->custom->createFields; + foreach(explode(',', $showFields) as $field) + { + if($field)$visibleFields[$field] = ''; + } + foreach(explode(',', $this->config->programplan->create->requiredFields) as $field) + { + if($field) + { + $requiredFields[$field] = ''; + if(strpos(",{$this->config->programplan->customCreateFields},", ",{$field},") !== false) $visibleFields[$field] = ''; + } + } + + $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->programPlan = $this->project->getById($planID, 'stage'); + $this->view->plans = $this->programplan->getStage($planID ? $planID : $projectID, $this->productID, 'parent'); + $this->view->planID = $planID; + $this->view->type = 'lists'; + $this->view->PMUsers = $this->loadModel('user')->getPairs('noclosed|nodeleted|pmfirst', $project->PM); + $this->view->customFields = $customFields; + $this->view->showFields = $showFields; + $this->view->visibleFields = $visibleFields; + $this->view->requiredFields = $requiredFields; + $this->view->colspan = count($visibleFields) + 3; + $this->display(); } diff --git a/module/programplan/lang/en.php b/module/programplan/lang/en.php index 0d93fbccb9..ddd4931d7f 100644 --- a/module/programplan/lang/en.php +++ b/module/programplan/lang/en.php @@ -22,6 +22,7 @@ $lang->programplan->parent = 'Parent Stage'; $lang->programplan->emptyParent = 'N/A'; $lang->programplan->name = 'Stage Name'; $lang->programplan->PM = 'Stage Manager'; +$lang->programplan->acl = 'Access Control'; $lang->programplan->subStageName = 'Sub Stage Name'; $lang->programplan->percent = 'Workload Ratio'; $lang->programplan->percentAB = 'Ratio'; diff --git a/module/programplan/lang/zh-cn.php b/module/programplan/lang/zh-cn.php index 69bebee6ad..c67b97931a 100644 --- a/module/programplan/lang/zh-cn.php +++ b/module/programplan/lang/zh-cn.php @@ -22,6 +22,7 @@ $lang->programplan->parent = '父阶段'; $lang->programplan->emptyParent = '无'; $lang->programplan->name = '阶段名称'; $lang->programplan->PM = '阶段负责人'; +$lang->programplan->acl = '访问控制'; $lang->programplan->subStageName = '子阶段名称'; $lang->programplan->percent = '工作量占比'; $lang->programplan->percentAB = '工作量占比'; diff --git a/module/programplan/view/create.html.php b/module/programplan/view/create.html.php index 812f4b8d97..8c95132dd4 100644 --- a/module/programplan/view/create.html.php +++ b/module/programplan/view/create.html.php @@ -40,29 +40,34 @@ programplan->name : $lang->programplan->subStageName;?>