+ dummy pages for prompt creation process, and navigate to role assign on create.

This commit is contained in:
liwenrui
2023-06-15 16:17:48 +08:00
parent 589fd1bd20
commit f9da95803b
14 changed files with 172 additions and 7 deletions
+1 -1
View File
@@ -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');
+1 -1
View File
@@ -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');
+73 -3
View File
@@ -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();
}
}
+6
View File
@@ -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';
+6
View File
@@ -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';
+6
View File
@@ -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';
+6
View File
@@ -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'] = '草稿';
+7 -1
View File
@@ -39,7 +39,8 @@
</div>
<script>
$(function() {
$('input[name="name"]').on('input', function() {
$('input[name="name"]').on('input', function()
{
if($(this).val().length > 0)
{
$('button[type="submit"]').removeClass('disabled');
@@ -50,5 +51,10 @@ $(function() {
}
});
});
function gotoPrompt(id)
{
parent.location.href = createLink('ai', 'promptassignrole', 'prompt=' + id);
}
</script>
<?php include '../../common/view/footer.lite.html.php';?>
+13
View File
@@ -0,0 +1,13 @@
<?php
/**
* The ai prompt role assign view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Wenrui LI <liwenrui@easycorp.ltd>
* @package ai
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>
+13
View File
@@ -0,0 +1,13 @@
<?php
/**
* The ai prompt finalize view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Wenrui LI <liwenrui@easycorp.ltd>
* @package ai
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>
+1 -1
View File
@@ -77,7 +77,7 @@
<td class='text-center c-actions'>
<?php
echo html::a('#', '<i class="icon-bars text-primary"></i>', '', "class='btn'");
echo html::a('#', '<i class="icon-design text-primary"></i>', '', "class='btn'");
echo html::a(inlink('promptassignrole', "prompt=$prompt->id"), '<i class="icon-design text-primary"></i>', '', "class='btn'");
echo html::a('#', '<i class="icon-edit text-primary"></i>', '', "class='btn'");
echo html::a('#', '<i class="icon-lock text-primary"></i>', '', "class='btn'");
echo html::a('#', '<i class="icon-trash text-primary"></i>', '', "class='btn'");
@@ -0,0 +1,13 @@
<?php
/**
* The ai prompt data source selection view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Wenrui LI <liwenrui@easycorp.ltd>
* @package ai
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>
+13
View File
@@ -0,0 +1,13 @@
<?php
/**
* The ai prompt set purpose view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Wenrui LI <liwenrui@easycorp.ltd>
* @package ai
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>
@@ -0,0 +1,13 @@
<?php
/**
* The ai prompt target form select view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Wenrui LI <liwenrui@easycorp.ltd>
* @package ai
* @link https://www.zentao.net
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>