From 1ada739b5338a5ebe47aec908ac021a356637fb1 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 13 Jun 2023 13:24:54 +0800 Subject: [PATCH] * Code for task #95342. --- module/design/control.php | 13 ++--- module/design/ui/edit.html.php | 97 ++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 8 deletions(-) create mode 100644 module/design/ui/edit.html.php diff --git a/module/design/control.php b/module/design/control.php index 25ef0a429f..c8781b9906 100755 --- a/module/design/control.php +++ b/module/design/control.php @@ -37,7 +37,7 @@ class design extends control * @access public * @return void */ - public function commonAction($projectID = 0, $productID = 0, $designID = 0) + public function commonAction(int $projectID = 0, int $productID = 0, int $designID = 0) { $products = $this->product->getProductPairsByProject($projectID); $products[0] = $this->lang->product->all; @@ -178,7 +178,6 @@ class design extends control $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->project = $this->loadModel('project')->getByID($projectID); @@ -271,7 +270,7 @@ class design extends control * @access public * @return void */ - public function edit($designID = 0) + public function edit(int $designID = 0) { $design = $this->design->getByID($designID); $design = $this->design->getAffectedScope($design); @@ -296,17 +295,15 @@ class design extends control $response['result'] = 'success'; $response['message'] = $this->lang->saveSuccess; - $response['locate'] = $this->createLink('design', 'view', "id=$design->id"); + $response['load'] = $this->createLink('design', 'view', "id={$designID}"); return $this->send($response); } $products = $this->product->getProductPairsByProject($design->project); $productIdList = $design->product ? $design->product : array_keys($products); + $project = $this->loadModel('project')->getByID($design->project); - $project = $this->loadModel('project')->getByID($design->project); - - $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->edit; - + $this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->edit; $this->view->design = $design; $this->view->project = $project; $this->view->stories = $this->loadModel('story')->getProductStoryPairs($productIdList); diff --git a/module/design/ui/edit.html.php b/module/design/ui/edit.html.php new file mode 100644 index 0000000000..d4f43cc758 --- /dev/null +++ b/module/design/ui/edit.html.php @@ -0,0 +1,97 @@ + + * @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($design->product), + set::items($products), + set::required(true), + ) + ); +} + +formPanel +( + set::title(''), + entityLabel + ( + set::entityID($design->id), + set::level(1), + set::text($design->name), + ), + $productRow, + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('story'), + set::label($lang->design->story), + set::value($design->story), + set::items($stories), + ) + ), + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('type'), + set::label($lang->design->type), + set::value($design->type), + set::items($lang->design->typeList), + ) + ), + formRow + ( + formGroup + ( + set::width('1/2'), + set::name('name'), + set::value($design->name), + set::label($lang->design->name), + ) + ), + formRow + ( + formGroup + ( + set::label($lang->design->desc), + editor + ( + set::name('desc'), + set::value($design->desc), + set::rows('5'), + ) + ), + ), + formRow + ( + formGroup + ( + set::label($lang->design->file), + set::name('files[]'), + set::control('file'), + ), + ), +); + +/* ====== Render page ====== */ +render();