+ ai prompts list page with modules tree, task #94380,94383.

This commit is contained in:
liwenrui
2023-06-08 16:13:44 +08:00
parent 7249113d81
commit 3206e9383e
7 changed files with 170 additions and 4 deletions
+18
View File
@@ -87,4 +87,22 @@ class ai extends control
return $this->send(array('result' => 'success', 'message' => $this->lang->ai->models->testConnectionResult->success));
}
/**
* List prompts.
*
* @param string $module
* @param string $status
* @access public
* @return void
*/
public function prompts($module = '', $status = '')
{
$this->view->module = $module;
$this->view->status = $status;
$this->view->prompts = $this->ai->getPrompts($module, $status);
$this->view->title = $this->lang->ai->prompts->common;
$this->view->position[] = $this->lang->ai->prompts->common;
$this->display();
}
}
+21 -1
View File
@@ -11,7 +11,27 @@
$lang->ai->common = 'AI';
$lang->ai->prompts = new stdclass();
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->emptyList = 'There is no prompts yet.';
$lang->ai->prompts->create = 'Create a prompt';
$lang->ai->prompts->statuses = array();
$lang->ai->prompts->statuses[''] = 'All';
// $lang->ai->prompts->statuses['draft'] = 'Draft';
$lang->ai->prompts->modules = array();
$lang->ai->prompts->modules[''] = 'All';
$lang->ai->prompts->modules['my'] = 'My';
$lang->ai->prompts->modules['product'] = 'Product';
$lang->ai->prompts->modules['project'] = 'Project';
$lang->ai->prompts->modules['story'] = 'Story';
$lang->ai->prompts->modules['productplan'] = 'Product Plan';
$lang->ai->prompts->modules['release'] = 'Release';
$lang->ai->prompts->modules['execution'] = 'Execution';
$lang->ai->prompts->modules['task'] = 'Task';
$lang->ai->prompts->modules['case'] = 'Test Case';
$lang->ai->prompts->modules['bug'] = 'Bug';
$lang->ai->prompts->modules['doc'] = 'Document';
$lang->ai->conversations = new stdclass();
$lang->ai->conversations->common = 'Conversations';
+21 -1
View File
@@ -11,7 +11,27 @@
$lang->ai->common = 'AI';
$lang->ai->prompts = new stdclass();
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->emptyList = 'There is no prompts yet.';
$lang->ai->prompts->create = 'Create a prompt';
$lang->ai->prompts->statuses = array();
$lang->ai->prompts->statuses[''] = 'All';
// $lang->ai->prompts->statuses['draft'] = 'Draft';
$lang->ai->prompts->modules = array();
$lang->ai->prompts->modules[''] = 'All';
$lang->ai->prompts->modules['my'] = 'My';
$lang->ai->prompts->modules['product'] = 'Product';
$lang->ai->prompts->modules['project'] = 'Project';
$lang->ai->prompts->modules['story'] = 'Story';
$lang->ai->prompts->modules['productplan'] = 'Product Plan';
$lang->ai->prompts->modules['release'] = 'Release';
$lang->ai->prompts->modules['execution'] = 'Execution';
$lang->ai->prompts->modules['task'] = 'Task';
$lang->ai->prompts->modules['case'] = 'Test Case';
$lang->ai->prompts->modules['bug'] = 'Bug';
$lang->ai->prompts->modules['doc'] = 'Document';
$lang->ai->conversations = new stdclass();
$lang->ai->conversations->common = 'Conversations';
+21 -1
View File
@@ -11,7 +11,27 @@
$lang->ai->common = 'AI';
$lang->ai->prompts = new stdclass();
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->common = 'Prompts';
$lang->ai->prompts->emptyList = 'There is no prompts yet.';
$lang->ai->prompts->create = 'Create a prompt';
$lang->ai->prompts->statuses = array();
$lang->ai->prompts->statuses[''] = 'All';
// $lang->ai->prompts->statuses['draft'] = 'Draft';
$lang->ai->prompts->modules = array();
$lang->ai->prompts->modules[''] = 'All';
$lang->ai->prompts->modules['my'] = 'My';
$lang->ai->prompts->modules['product'] = 'Product';
$lang->ai->prompts->modules['project'] = 'Project';
$lang->ai->prompts->modules['story'] = 'Story';
$lang->ai->prompts->modules['productplan'] = 'Product Plan';
$lang->ai->prompts->modules['release'] = 'Release';
$lang->ai->prompts->modules['execution'] = 'Execution';
$lang->ai->prompts->modules['task'] = 'Task';
$lang->ai->prompts->modules['case'] = 'Test Case';
$lang->ai->prompts->modules['bug'] = 'Bug';
$lang->ai->prompts->modules['doc'] = 'Document';
$lang->ai->conversations = new stdclass();
$lang->ai->conversations->common = 'Conversations';
+21 -1
View File
@@ -11,7 +11,27 @@
$lang->ai->common = 'AI';
$lang->ai->prompts = new stdclass();
$lang->ai->prompts->common = '提词';
$lang->ai->prompts->common = '提词';
$lang->ai->prompts->emptyList = '暂时没有提词。';
$lang->ai->prompts->create = '创建提词';
$lang->ai->prompts->statuses = array();
$lang->ai->prompts->statuses[''] = '全部';
// $lang->ai->prompts->statuses['draft'] = '草稿';
$lang->ai->prompts->modules = array();
$lang->ai->prompts->modules[''] = '所有分组';
$lang->ai->prompts->modules['my'] = '地盘';
$lang->ai->prompts->modules['product'] = '产品';
$lang->ai->prompts->modules['project'] = '项目';
$lang->ai->prompts->modules['story'] = '需求';
$lang->ai->prompts->modules['productplan'] = '计划';
$lang->ai->prompts->modules['release'] = '发布';
$lang->ai->prompts->modules['execution'] = '执行';
$lang->ai->prompts->modules['task'] = '任务';
$lang->ai->prompts->modules['case'] = '用例';
$lang->ai->prompts->modules['bug'] = 'Bug';
$lang->ai->prompts->modules['doc'] = '文档';
$lang->ai->conversations = new stdclass();
$lang->ai->conversations->common = '会话';
+15
View File
@@ -298,4 +298,19 @@ class aiModel extends model
$response = $this->makeRequest('chat', $postData);
return $this->parseChatResponse($response);
}
/**
* Get list of prompts.
*
* TODO: implement this.
*
* @param string $module
* @param string $status
* @access public
* @return array
*/
public function getPrompts($module = '', $status = '')
{
return array();
}
}
+53
View File
@@ -0,0 +1,53 @@
<?php
/**
* The ai prompts view file of ai module of ZenTaoPMS.
*
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(http://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';?>
<div id="mainMenu" class="clearfix">
<div id="sidebarHeader">
<div class="title" title="<?php echo $this->lang->ai->prompts->modules[$module];?>">
<?php echo $this->lang->ai->prompts->modules[$module];?>
<?php if($module) echo html::a($this->createLink('ai', 'prompts'), "<i class='icon icon-sm icon-close'></i>", '', "class='text-muted'");?>
</div>
</div>
<div class="btn-toolbar pull-left">
<?php
foreach($this->lang->ai->prompts->statuses as $statusKey => $statusName)
{
echo html::a($this->createLink('ai', 'prompts', "module=$module&status=$statusKey"), "<span class='text'>{$this->lang->ai->prompts->statuses[$statusKey]}</span>", '' ,"id='status-$statusKey' class='btn btn-link" . ($status == $statusKey ? ' btn-active-text' : '') . "'");
}
?>
</div>
<div class="btn-toolbar pull-right">
<?php echo html::a($this->createLink('ai', 'createprompt'), "<i class='icon icon-plus'></i> " . $lang->ai->prompts->create, '', "class='btn btn-primary'");?>
</div>
</div>
<div id="mainContent" class="main-row fade">
<div class="side-col" id="sidebar">
<div class="cell">
<ul id="modules" class="tree" data-ride="tree" data-name="tree-modules">
<?php foreach($this->lang->ai->prompts->modules as $moduleKey => $moduleName):?>
<li <?php if($module == $moduleKey) echo 'class="active"';?>><a href="<?php echo $this->createLink('ai', 'prompts', "module=$moduleKey");?>"><?php echo $moduleName;?></a></li>
<?php endforeach;?>
</ul>
</div>
</div>
<div class="main-col">
<?php if(empty($prompts)):?>
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->ai->prompts->emptyList;?></span>
<?php echo html::a($this->createLink('ai', 'createprompt'), "<i class='icon icon-plus'></i> " . $lang->ai->prompts->create, '', "class='btn btn-info'");?>
</p>
</div>
<?php endif;?>
</div>
</div>
<?php include '../../common/view/footer.html.php';?>