diff --git a/module/admin/config.php b/module/admin/config.php index d015db6e9e..9c3cddb3c3 100755 --- a/module/admin/config.php +++ b/module/admin/config.php @@ -15,7 +15,7 @@ $config->admin->menuGroup['message'] = array('mail', 'webhook', 'sms', 'messag $config->admin->menuGroup['dev'] = array('dev', 'entry', 'editor'); $config->admin->menuGroup['extension'] = array('extension'); $config->admin->menuGroup['convert'] = array('convert'); -$config->admin->menuGroup['ai'] = array('ai|prompts', 'ai|conversations', 'ai|models', 'ai|editmodel'); +$config->admin->menuGroup['ai'] = array('ai|prompts', 'ai|conversations', 'ai|models', 'ai|editmodel', 'ai|promptassignrole', 'ai|promptselectdatasource', 'ai|promptsetpurpose', 'ai|promptsettargetform', 'ai|promptfinalize'); $config->admin->menuModuleGroup['model']['custom|set'] = array('project', 'issue', 'risk', 'opportunity', 'nc'); $config->admin->menuModuleGroup['model']['custom|required'] = array('project', 'build'); diff --git a/module/admin/lang/menu.php b/module/admin/lang/menu.php index 2c8e45b1d6..94dcdea833 100644 --- a/module/admin/lang/menu.php +++ b/module/admin/lang/menu.php @@ -182,7 +182,7 @@ $lang->admin->menuList->dev['menuOrder']['15'] = 'langItem'; $lang->admin->menuList->dev['menuOrder']['20'] = 'editor'; $lang->admin->menuList->dev['menuOrder']['25'] = 'entry'; -$lang->admin->menuList->ai['subMenu']['prompts'] = array('link' => "{$lang->admin->ai->prompt}|ai|prompts|"); +$lang->admin->menuList->ai['subMenu']['prompts'] = array('link' => "{$lang->admin->ai->prompt}|ai|prompts|", 'alias' => 'promptassignrole,promptselectdatasource,promptsetpurpose,promptsettargetform,promptfinalize'); $lang->admin->menuList->ai['subMenu']['conversations'] = array('link' => "{$lang->admin->ai->conversation}|ai|conversations|"); $lang->admin->menuList->ai['subMenu']['models'] = array('link' => "{$lang->admin->ai->model}|ai|models|", 'alias' => 'editmodel'); diff --git a/module/ai/control.php b/module/ai/control.php index bea18e6ac4..4e1aa5ea33 100644 --- a/module/ai/control.php +++ b/module/ai/control.php @@ -124,15 +124,85 @@ class ai extends control { if(strtolower($this->server->request_method) == 'post') { - $prompt = fixer::input('post')->get(); - $this->ai->createPrompt($prompt); + $prompt = fixer::input('post')->get(); + $promptID = $this->ai->createPrompt($prompt); if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError())); - return print(js::closeModal('parent.parent')); // TODO: jump to step 2 of creation process. + return $this->send(array('result' => 'success', 'callback' => "gotoPrompt($promptID)")); } $this->view->title = $this->lang->ai->prompts->create; $this->view->position[] = $this->lang->ai->prompts->common; $this->display(); } + + /** + * Edit role of prompt, prompt editing step 2. + * + * @param int $prompt + * @access public + * @return void + */ + public function promptAssignRole($prompt) + { + $this->view->title = $this->lang->ai->prompts->assignRole . " {$this->lang->colon} " . $this->lang->ai->prompts->common; + $this->view->position[] = $this->lang->ai->prompts->common; + $this->display(); + } + + /** + * Set data source of prompt, prompt editing step 3. + * + * @param int $prompt + * @access public + * @return void + */ + public function promptSelectDataSource($prompt) + { + $this->view->title = $this->lang->ai->prompts->selectDataSource . " {$this->lang->colon} " . $this->lang->ai->prompts->common; + $this->view->position[] = $this->lang->ai->prompts->common; + $this->display(); + } + + /** + * Edit purpose and purpose elaboration of prompt, prompt editing step 4. + * + * @param int $prompt + * @access public + * @return void + */ + public function promptSetPurpose($prompt) + { + $this->view->title = $this->lang->ai->prompts->setPurpose . " {$this->lang->colon} " . $this->lang->ai->prompts->common; + $this->view->position[] = $this->lang->ai->prompts->common; + $this->display(); + } + + /** + * Set target form of prompt, prompt editing step 5. + * + * @param int $prompt + * @access public + * @return void + */ + public function promptSetTargetForm($prompt) + { + $this->view->title = $this->lang->ai->prompts->setTargetForm . " {$this->lang->colon} " . $this->lang->ai->prompts->common; + $this->view->position[] = $this->lang->ai->prompts->common; + $this->display(); + } + + /** + * Edit additional information of prompt, final prompt editing step. + * + * @param int $prompt + * @access public + * @return void + */ + public function promptFinalize($prompt) + { + $this->view->title = $this->lang->ai->prompts->finalize . " {$this->lang->colon} " . $this->lang->ai->prompts->common; + $this->view->position[] = $this->lang->ai->prompts->common; + $this->display(); + } } diff --git a/module/ai/lang/de.php b/module/ai/lang/de.php index d59597e5d1..70acab5fb9 100644 --- a/module/ai/lang/de.php +++ b/module/ai/lang/de.php @@ -29,6 +29,12 @@ $lang->ai->prompts->createdDate = 'Created Date'; $lang->ai->prompts->targetForm = 'Target Form'; $lang->ai->prompts->funcDesc = 'Function Description'; +$lang->ai->prompts->assignRole = 'Assign Role'; +$lang->ai->prompts->selectDataSource = 'Select Data Source'; +$lang->ai->prompts->setPurpose = 'Set Purpose'; +$lang->ai->prompts->setTargetForm = 'Set Target Form'; +$lang->ai->prompts->finalize = 'Finalize'; + $lang->ai->prompts->statuses = array(); $lang->ai->prompts->statuses[''] = 'All'; $lang->ai->prompts->statuses['draft'] = 'Draft'; diff --git a/module/ai/lang/en.php b/module/ai/lang/en.php index 2cd57e6b7e..0d0e0e0a40 100644 --- a/module/ai/lang/en.php +++ b/module/ai/lang/en.php @@ -29,6 +29,12 @@ $lang->ai->prompts->createdDate = 'Created Date'; $lang->ai->prompts->targetForm = 'Target Form'; $lang->ai->prompts->funcDesc = 'Function Description'; +$lang->ai->prompts->assignRole = 'Assign Role'; +$lang->ai->prompts->selectDataSource = 'Select Data Source'; +$lang->ai->prompts->setPurpose = 'Set Purpose'; +$lang->ai->prompts->setTargetForm = 'Set Target Form'; +$lang->ai->prompts->finalize = 'Finalize'; + $lang->ai->prompts->statuses = array(); $lang->ai->prompts->statuses[''] = 'All'; $lang->ai->prompts->statuses['draft'] = 'Draft'; diff --git a/module/ai/lang/fr.php b/module/ai/lang/fr.php index 77bf2eb4a9..4ebd692e64 100644 --- a/module/ai/lang/fr.php +++ b/module/ai/lang/fr.php @@ -29,6 +29,12 @@ $lang->ai->prompts->createdDate = 'Created Date'; $lang->ai->prompts->targetForm = 'Target Form'; $lang->ai->prompts->funcDesc = 'Function Description'; +$lang->ai->prompts->assignRole = 'Assign Role'; +$lang->ai->prompts->selectDataSource = 'Select Data Source'; +$lang->ai->prompts->setPurpose = 'Set Purpose'; +$lang->ai->prompts->setTargetForm = 'Set Target Form'; +$lang->ai->prompts->finalize = 'Finalize'; + $lang->ai->prompts->statuses = array(); $lang->ai->prompts->statuses[''] = 'All'; $lang->ai->prompts->statuses['draft'] = 'Draft'; diff --git a/module/ai/lang/zh-cn.php b/module/ai/lang/zh-cn.php index 6ad9a5db93..13c6e7560c 100644 --- a/module/ai/lang/zh-cn.php +++ b/module/ai/lang/zh-cn.php @@ -29,6 +29,12 @@ $lang->ai->prompts->createdDate = '创建时间'; $lang->ai->prompts->targetForm = '表单'; $lang->ai->prompts->funcDesc = '功能描述'; +$lang->ai->prompts->assignRole = '指定角色'; +$lang->ai->prompts->selectDataSource = '选择对象'; +$lang->ai->prompts->setPurpose = '确认操作'; +$lang->ai->prompts->setTargetForm = '结果处理'; +$lang->ai->prompts->finalize = '准备发布'; + $lang->ai->prompts->statuses = array(); $lang->ai->prompts->statuses[''] = '全部'; $lang->ai->prompts->statuses['draft'] = '草稿'; diff --git a/module/ai/view/createprompt.html.php b/module/ai/view/createprompt.html.php index 5c8bf3cd3c..dff3ca1150 100644 --- a/module/ai/view/createprompt.html.php +++ b/module/ai/view/createprompt.html.php @@ -39,7 +39,8 @@ diff --git a/module/ai/view/promptassignrole.html.php b/module/ai/view/promptassignrole.html.php new file mode 100644 index 0000000000..af09f20197 --- /dev/null +++ b/module/ai/view/promptassignrole.html.php @@ -0,0 +1,13 @@ + + * @package ai + * @link https://www.zentao.net + */ +?> + + diff --git a/module/ai/view/promptfinalize.html.php b/module/ai/view/promptfinalize.html.php new file mode 100644 index 0000000000..7901bf33c2 --- /dev/null +++ b/module/ai/view/promptfinalize.html.php @@ -0,0 +1,13 @@ + + * @package ai + * @link https://www.zentao.net + */ +?> + + diff --git a/module/ai/view/prompts.html.php b/module/ai/view/prompts.html.php index d40794fb07..bd371749da 100644 --- a/module/ai/view/prompts.html.php +++ b/module/ai/view/prompts.html.php @@ -77,7 +77,7 @@ ', '', "class='btn'"); - echo html::a('#', '', '', "class='btn'"); + echo html::a(inlink('promptassignrole', "prompt=$prompt->id"), '', '', "class='btn'"); echo html::a('#', '', '', "class='btn'"); echo html::a('#', '', '', "class='btn'"); echo html::a('#', '', '', "class='btn'"); diff --git a/module/ai/view/promptselectdatasource.html.php b/module/ai/view/promptselectdatasource.html.php new file mode 100644 index 0000000000..35bbf7d518 --- /dev/null +++ b/module/ai/view/promptselectdatasource.html.php @@ -0,0 +1,13 @@ + + * @package ai + * @link https://www.zentao.net + */ +?> + + diff --git a/module/ai/view/promptsetpurpose.html.php b/module/ai/view/promptsetpurpose.html.php new file mode 100644 index 0000000000..4e2ce2040e --- /dev/null +++ b/module/ai/view/promptsetpurpose.html.php @@ -0,0 +1,13 @@ + + * @package ai + * @link https://www.zentao.net + */ +?> + + diff --git a/module/ai/view/promptsettargetform.html.php b/module/ai/view/promptsettargetform.html.php new file mode 100644 index 0000000000..43a57313f1 --- /dev/null +++ b/module/ai/view/promptsettargetform.html.php @@ -0,0 +1,13 @@ + + * @package ai + * @link https://www.zentao.net + */ +?> + +