* Adjust code.

This commit is contained in:
zenggang
2023-10-19 01:32:30 +00:00
parent 15a4f68d15
commit 2129b39ac3
15 changed files with 244 additions and 22 deletions
+64
View File
@@ -0,0 +1,64 @@
<?php
$lang->solution->market = new stdclass;
$lang->solution->market->browse = 'Solution Market';
$lang->solution->market->view = 'Solution Detail';
$lang->solution->name = 'Name';
$lang->solution->browse = 'Installed';
$lang->solution->view = 'Solution Detail';
$lang->solution->detail = 'Detail';
$lang->solution->progress = 'Progress';
$lang->solution->install = 'Install';
$lang->solution->background = 'Background';
$lang->solution->cancelInstall = 'Cancel';
$lang->solution->uninstall = 'Uninstall';
$lang->solution->retryInstall = 'Retry';
$lang->solution->nextStep = 'Next';
$lang->solution->config = 'Config';
$lang->solution->introduction = 'Introduction';
$lang->solution->scenes = 'Scenes';
$lang->solution->diagram = 'Diagram';
$lang->solution->includedApp = 'Included App';
$lang->solution->features = 'Features';
$lang->solution->relatedLinks = 'Related Links';
$lang->solution->customers = 'Customers';
$lang->solution->apps = 'Installed Apps';
$lang->solution->externalApps = 'External Apps';
$lang->solution->resources = 'Resources';
$lang->solution->editName = 'Edit Name';
$lang->solution->chooseApp = 'Choose App';
$lang->solution->noInstalledSolution = 'No installed solution';
$lang->solution->toInstall = 'To Install';
$lang->solution->notices = new stdclass;
$lang->solution->notices->fail = 'Fail';
$lang->solution->notices->success = 'Success';
$lang->solution->notices->creatingSolution = 'Creating solution...';
$lang->solution->notices->uninstallingSolution = 'Uninstalling solution...';
$lang->solution->notices->installingApp = 'Installing: ';
$lang->solution->notices->installationSuccess = 'Installation success!';
$lang->solution->notices->cancelInstall = 'Are you sure to cancel installation?';
$lang->solution->notices->confirmToUninstall = 'Are you sure to uninstall?';
$lang->solution->notices->confirmReinstall = 'Are you sure to retry installation?';
$lang->solution->errors = new stdclass;
$lang->solution->errors->error = 'Error';
$lang->solution->errors->notFound = 'Not found';
$lang->solution->errors->failToInstallApp = 'Fail to install %s';
$lang->solution->errors->timeout = 'Timeout';
$lang->solution->errors->failToUninstallApp = 'Fail to uninstall %s';
$lang->solution->errors->hasInstallationError = 'Has installation error';
$lang->solution->errors->notFoundAppByVersion = 'Not found %s version of %s';
$lang->solution->errors->notEnoughResource = 'Not enough resource, please increase the configuration or release other resources and try again.';
$lang->solution->installationErrors = array();
$lang->solution->installationErrors['waiting'] = 'Installation not started.';
$lang->solution->installationErrors['uninstalling'] = 'Installation canceled.';
$lang->solution->installationErrors['cneError'] = 'Installation failed.';
$lang->solution->installationErrors['timeout'] = 'Installation timeout.';
$lang->solution->installationErrors['notFoundApp'] = 'Not found app to be installed.';
$lang->solution->installationErrors['notEnoughResource'] = 'Not enough resource, please increase the configuration or release other resources and try again.';
+64
View File
@@ -0,0 +1,64 @@
<?php
$lang->solution->market = new stdclass;
$lang->solution->market->browse = 'Solution Market';
$lang->solution->market->view = 'Solution Detail';
$lang->solution->name = 'Name';
$lang->solution->browse = 'Installed';
$lang->solution->view = 'Solution Detail';
$lang->solution->detail = 'Detail';
$lang->solution->progress = 'Progress';
$lang->solution->install = 'Install';
$lang->solution->background = 'Background';
$lang->solution->cancelInstall = 'Cancel';
$lang->solution->uninstall = 'Uninstall';
$lang->solution->retryInstall = 'Retry';
$lang->solution->nextStep = 'Next';
$lang->solution->config = 'Config';
$lang->solution->introduction = 'Introduction';
$lang->solution->scenes = 'Scenes';
$lang->solution->diagram = 'Diagram';
$lang->solution->includedApp = 'Included App';
$lang->solution->features = 'Features';
$lang->solution->relatedLinks = 'Related Links';
$lang->solution->customers = 'Customers';
$lang->solution->apps = 'Installed Apps';
$lang->solution->externalApps = 'External Apps';
$lang->solution->resources = 'Resources';
$lang->solution->editName = 'Edit Name';
$lang->solution->chooseApp = 'Choose App';
$lang->solution->noInstalledSolution = 'No installed solution';
$lang->solution->toInstall = 'To Install';
$lang->solution->notices = new stdclass;
$lang->solution->notices->fail = 'Fail';
$lang->solution->notices->success = 'Success';
$lang->solution->notices->creatingSolution = 'Creating solution...';
$lang->solution->notices->uninstallingSolution = 'Uninstalling solution...';
$lang->solution->notices->installingApp = 'Installing: ';
$lang->solution->notices->installationSuccess = 'Installation success!';
$lang->solution->notices->cancelInstall = 'Are you sure to cancel installation?';
$lang->solution->notices->confirmToUninstall = 'Are you sure to uninstall?';
$lang->solution->notices->confirmReinstall = 'Are you sure to retry installation?';
$lang->solution->errors = new stdclass;
$lang->solution->errors->error = 'Error';
$lang->solution->errors->notFound = 'Not found';
$lang->solution->errors->failToInstallApp = 'Fail to install %s';
$lang->solution->errors->timeout = 'Timeout';
$lang->solution->errors->failToUninstallApp = 'Fail to uninstall %s';
$lang->solution->errors->hasInstallationError = 'Has installation error';
$lang->solution->errors->notFoundAppByVersion = 'Not found %s version of %s';
$lang->solution->errors->notEnoughResource = 'Not enough resource, please increase the configuration or release other resources and try again.';
$lang->solution->installationErrors = array();
$lang->solution->installationErrors['waiting'] = 'Installation not started.';
$lang->solution->installationErrors['uninstalling'] = 'Installation canceled.';
$lang->solution->installationErrors['cneError'] = 'Installation failed.';
$lang->solution->installationErrors['timeout'] = 'Installation timeout.';
$lang->solution->installationErrors['notFoundApp'] = 'Not found app to be installed.';
$lang->solution->installationErrors['notEnoughResource'] = 'Not enough resource, please increase the configuration or release other resources and try again.';
+64
View File
@@ -0,0 +1,64 @@
<?php
$lang->solution->market = new stdclass;
$lang->solution->market->browse = 'Solution Market';
$lang->solution->market->view = 'Solution Detail';
$lang->solution->name = 'Name';
$lang->solution->browse = 'Installed';
$lang->solution->view = 'Solution Detail';
$lang->solution->detail = 'Detail';
$lang->solution->progress = 'Progress';
$lang->solution->install = 'Install';
$lang->solution->background = 'Background';
$lang->solution->cancelInstall = 'Cancel';
$lang->solution->uninstall = 'Uninstall';
$lang->solution->retryInstall = 'Retry';
$lang->solution->nextStep = 'Next';
$lang->solution->config = 'Config';
$lang->solution->introduction = 'Introduction';
$lang->solution->scenes = 'Scenes';
$lang->solution->diagram = 'Diagram';
$lang->solution->includedApp = 'Included App';
$lang->solution->features = 'Features';
$lang->solution->relatedLinks = 'Related Links';
$lang->solution->customers = 'Customers';
$lang->solution->apps = 'Installed Apps';
$lang->solution->externalApps = 'External Apps';
$lang->solution->resources = 'Resources';
$lang->solution->editName = 'Edit Name';
$lang->solution->chooseApp = 'Choose App';
$lang->solution->noInstalledSolution = 'No installed solution';
$lang->solution->toInstall = 'To Install';
$lang->solution->notices = new stdclass;
$lang->solution->notices->fail = 'Fail';
$lang->solution->notices->success = 'Success';
$lang->solution->notices->creatingSolution = 'Creating solution...';
$lang->solution->notices->uninstallingSolution = 'Uninstalling solution...';
$lang->solution->notices->installingApp = 'Installing: ';
$lang->solution->notices->installationSuccess = 'Installation success!';
$lang->solution->notices->cancelInstall = 'Are you sure to cancel installation?';
$lang->solution->notices->confirmToUninstall = 'Are you sure to uninstall?';
$lang->solution->notices->confirmReinstall = 'Are you sure to retry installation?';
$lang->solution->errors = new stdclass;
$lang->solution->errors->error = 'Error';
$lang->solution->errors->notFound = 'Not found';
$lang->solution->errors->failToInstallApp = 'Fail to install %s';
$lang->solution->errors->timeout = 'Timeout';
$lang->solution->errors->failToUninstallApp = 'Fail to uninstall %s';
$lang->solution->errors->hasInstallationError = 'Has installation error';
$lang->solution->errors->notFoundAppByVersion = 'Not found %s version of %s';
$lang->solution->errors->notEnoughResource = 'Not enough resource, please increase the configuration or release other resources and try again.';
$lang->solution->installationErrors = array();
$lang->solution->installationErrors['waiting'] = 'Installation not started.';
$lang->solution->installationErrors['uninstalling'] = 'Installation canceled.';
$lang->solution->installationErrors['cneError'] = 'Installation failed.';
$lang->solution->installationErrors['timeout'] = 'Installation timeout.';
$lang->solution->installationErrors['notFoundApp'] = 'Not found app to be installed.';
$lang->solution->installationErrors['notEnoughResource'] = 'Not enough resource, please increase the configuration or release other resources and try again.';
+1
View File
@@ -10,6 +10,7 @@ $lang->solution->view = '解决方案详情';
$lang->solution->detail = '查看';
$lang->solution->progress = '安装进度';
$lang->solution->install = '安装';
$lang->solution->background = '后台安装';
$lang->solution->cancelInstall = '取消安装';
$lang->solution->uninstall = '卸载';
$lang->solution->retryInstall = '重试';
+14 -1
View File
@@ -82,6 +82,12 @@ class solutionModel extends model
if(empty($selectedApps[$category])) unset($selectedApps[$category]);
}
if(!$this->app->user->account)
{
$this->app->user = new stdclass();
$this->app->user->account = $this->dao->select('*')->from(TABLE_USER)->where('deleted')->eq(0)->fetch('account');
}
/* Create solution. */
$solution = new stdclass;
$solution->name = $cloudSolution->title;
@@ -171,6 +177,7 @@ class solutionModel extends model
$solutionSchema = $this->loadModel('store')->solutionConfig('id', $solution->appID);
$channel = $this->app->session->cloudChannel ? $this->app->session->cloudChannel : $this->config->cloud->api->channel;
$components = json_decode($solution->components);
$apps = helper::arrayColumn(json_decode($solution->components, true), 'chart');
foreach($components as $categorty => $componentApp)
{
$solutionStatus = $this->dao->select('status')->from(TABLE_SOLUTION)->where('id')->eq($solutionID)->fetch();
@@ -211,7 +218,7 @@ class solutionModel extends model
}
if(!$this->checkInstallStatus($solutionID)) return false;
$settings = $this->mountSettings($solutionSchema, $componentApp->chart, $components, $allMappings, isset($components->sonarqube));
$settings = $this->mountSettings($solutionSchema, $componentApp->chart, $components, $allMappings, in_array('sonarqube', $apps));
$instance = $this->installApp($cloudApp, $settings);
}
@@ -250,6 +257,7 @@ class solutionModel extends model
}
$componentApp->status = 'installed';
$this->dao->update(TABLE_SOLUTION)->set('components')->eq(json_encode($components))->where('id')->eq($solution->id)->exec();
$this->instance->saveAuthInfo($instance);
}
else
{
@@ -291,8 +299,10 @@ class solutionModel extends model
$settings = array();
$appSettings = zget($solutionSchema->settings, $chart, array());
$apps = helper::arrayColumn((array)$components, 'chart');
foreach($appSettings as $item)
{
if(!empty($item->when) && !in_array($item->when, $apps)) continue;
switch($item->type)
{
case 'static':
@@ -308,6 +318,9 @@ class solutionModel extends model
$mappingInfo = zget($mappings, $item->target, '');
if($mappingInfo) $settings[] = array('key' => $item->key, 'value' => zget($mappingInfo, $item->key, ''));
break;
case 'auto':
if($item->value === 'protocol') $settings[] = array('key' => $item->key, 'value' => strstr(getWebRoot(true), ':', true));
break;
}
}