* redirect to most relevant ai admin page.
This commit is contained in:
@@ -239,6 +239,7 @@ $config->openMethods[] = 'custom.index';
|
||||
$config->openMethods[] = 'testcase.getxmindimport';
|
||||
$config->openMethods[] = 'testcase.showxmindimport';
|
||||
$config->openMethods[] = 'testcase.savexmindimport';
|
||||
$config->openMethods[] = 'ai.adminindex';
|
||||
|
||||
$config->openModules = array();
|
||||
$config->openModules[] = 'install';
|
||||
|
||||
@@ -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|promptview', 'ai|conversations', 'ai|models', 'ai|editmodel', 'ai|promptassignrole', 'ai|promptselectdatasource', 'ai|promptsetpurpose', 'ai|promptsettargetform', 'ai|promptfinalize', 'ai|promptedit');
|
||||
$config->admin->menuGroup['ai'] = array('ai|adminindex', 'ai|prompts', 'ai|promptview', 'ai|conversations', 'ai|models', 'ai|editmodel', 'ai|promptassignrole', 'ai|promptselectdatasource', 'ai|promptsetpurpose', 'ai|promptsettargetform', 'ai|promptfinalize', 'ai|promptedit');
|
||||
|
||||
$config->admin->menuModuleGroup['model']['custom|set'] = array('project', 'issue', 'risk', 'opportunity', 'nc');
|
||||
$config->admin->menuModuleGroup['model']['custom|required'] = array('project', 'build');
|
||||
|
||||
@@ -46,7 +46,7 @@ $lang->admin->menuList->convert['order'] = 50;
|
||||
|
||||
$lang->admin->menuList->ai['name'] = $lang->admin->menuSetting['ai']['name'];
|
||||
$lang->admin->menuList->ai['desc'] = $lang->admin->menuSetting['ai']['desc'];
|
||||
$lang->admin->menuList->ai['link'] = 'ai|models';
|
||||
$lang->admin->menuList->ai['link'] = 'ai|adminindex';
|
||||
$lang->admin->menuList->ai['order'] = 55;
|
||||
|
||||
$lang->admin->menuList->system['subMenu']['mode'] = array('link' => "{$lang->custom->mode}|custom|mode|");
|
||||
|
||||
@@ -16,6 +16,33 @@ class ai extends control
|
||||
$this->loadModel('user');
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for user's privs and model configs, redirect to most relevant page.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function adminIndex()
|
||||
{
|
||||
$modelConfig = new stdclass();
|
||||
$modelConfigData = $this->loadModel('setting')->getItems('owner=system&module=ai');
|
||||
foreach($modelConfigData as $item) $modelConfig->{$item->key} = $item->value;
|
||||
|
||||
$modelConfigured = !empty($modelConfig->key) && !empty($modelConfig->type) && (empty($modelConfig->proxyType) || !empty($modelConfig->proxyAddr));
|
||||
|
||||
/* Redirect to model edit if user has priv and model is unconfigured. */
|
||||
if(commonModel::hasPriv('ai', 'editModel') && !$modelConfigured) return $this->locate($this->createLink('ai', 'editModel'));
|
||||
|
||||
/* Redirect to prompts if user has priv. */
|
||||
if(commonModel::hasPriv('ai', 'prompts')) return $this->locate($this->createLink('ai', 'prompts'));
|
||||
|
||||
/* Redirect to models if user has priv. */
|
||||
if(commonModel::hasPriv('ai', 'models')) return $this->locate($this->createLink('ai', 'models'));
|
||||
|
||||
/* User has no priv, deny access. */
|
||||
return $this->send(array('result' => 'fail', 'message' => $this->lang->error->accessDenied, 'locate' => $this->createLink('admin', 'index')));
|
||||
}
|
||||
|
||||
/**
|
||||
* List models.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user