diff --git a/module/design/control.php b/module/design/control.php index e30754a40d..c0ff369315 100755 --- a/module/design/control.php +++ b/module/design/control.php @@ -44,7 +44,7 @@ class design extends control ksort($products); - $productID = $this->product->getAccessableProductID($productID, $products); + $productID = $this->product->getAccessableProductID($productID, $products); $this->lang->modulePageNav = $this->design->setMenu($projectID, $products, $productID); $this->project->setMenu($projectID); @@ -147,7 +147,7 @@ class design extends control * @access public * @return void */ - public function create($projectID = 0, $productID = 0, $type = 'all') + public function create(int $projectID = 0, int $productID = 0, string $type = 'all') { $productID = $this->commonAction($projectID, $productID); @@ -173,16 +173,14 @@ class design extends control $products = $this->product->getProductPairsByProject($projectID); $productIdList = $productID ? $productID : array_keys($products); - $project = $this->loadModel('project')->getByID($projectID); - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->create; - $this->view->users = $this->loadModel('user')->getPairs('noclosed'); $this->view->stories = $this->loadModel('story')->getProductStoryPairs($productIdList, 'all', 0, 'active', 'id_desc', 0, 'full', 'story', false); $this->view->productID = $productID; $this->view->projectID = $projectID; + $this->view->products = $products; $this->view->type = $type; - $this->view->typeList = $project->model == 'waterfall' ? $this->lang->design->typeList : $this->lang->design->plusTypeList; + $this->view->project = $this->loadModel('project')->getByID($projectID); $this->display(); } diff --git a/module/design/ui/create.html.php b/module/design/ui/create.html.php new file mode 100644 index 0000000000..0ee3e5a0c5 --- /dev/null +++ b/module/design/ui/create.html.php @@ -0,0 +1,86 @@ + + * @package design + * @link https://www.zentao.net + */ +namespace zin; +/* Cannot show product field in no-product project. */ +$productRow = ''; +if($project->hasProduct) +{ + $productRow = formRow( + formGroup + ( + set::width('1/2'), + set::name('product'), + set::label($lang->design->product), + set::value($productID), + set::items($products), + ) + ); +} + +formPanel +( + set::title($lang->design->create), + $productRow, + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('product'), + set::label($lang->design->story), + set::items($stories), + ) + ), + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('type'), + set::label($lang->design->type), + set::items($lang->design->typeList), + ) + ), + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('name'), + set::label($lang->design->name), + ) + ), + formRow + ( + formGroup + ( + set::label($lang->design->desc), + editor + ( + set::name('desc'), + set::rows('5'), + ) + ), + ), + formRow + ( + formGroup + ( + set::label($lang->design->file), + set::name('files[]'), + set::control('file'), + ), + ), +); + +/* ====== Render page ====== */ +render(); +