* [task#133126,doing,3h,1h] Add backup and deletion function.

This commit is contained in:
zhaixiaojian
2024-11-20 16:47:14 +08:00
committed by 曹延义
parent b1f263c9ae
commit 10daf60fcc
4 changed files with 41 additions and 2 deletions
+7 -1
View File
@@ -50,10 +50,16 @@ if(!isset($config->backup))
$config->backup->dtable->fieldList['actions']['type'] = 'actions';
$config->backup->dtable->fieldList['actions']['width'] = '100';
$config->backup->dtable->fieldList['actions']['menu'] = array('restore');
$config->backup->dtable->fieldList['actions']['menu'] = array('restore', 'delete');
$config->backup->dtable->fieldList['actions']['list']['restore']['icon'] = 'icon-restart';
$config->backup->dtable->fieldList['actions']['list']['restore']['hint'] = $lang->instance->restore->common;
$config->backup->dtable->fieldList['actions']['list']['restore']['url'] = array('module' => 'instance', 'method' => 'ajaxRestore', 'params' => 'instanceID={instanceId}&backupName={name}');
$config->backup->dtable->fieldList['actions']['list']['restore']['className'] = 'ajax-submit';
$config->backup->dtable->fieldList['actions']['list']['delete']['icon'] = 'icon-trash';
$config->backup->dtable->fieldList['actions']['list']['delete']['hint'] = $lang->instance->backup->delete;
$config->backup->dtable->fieldList['actions']['list']['delete']['url'] = array('module' => 'instance', 'method' => 'ajaxDeleteBackup', 'params' => 'instanceID={instanceId}&backupName={name}');
$config->backup->dtable->fieldList['actions']['list']['delete']['className'] = 'ajax-submit';
$config->backup->dtable->fieldList['actions']['list']['delete']['data-confirm'] = array('message' => $lang->instance->backup->confirmDeleteTip, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x');
}
+20
View File
@@ -652,4 +652,24 @@ class instance extends control
}
return $this->send(array('result' => 'success', 'message' => zget($this->lang->instance->notices, 'backupSuccess')));
}
/**
* Delete backup by ajax.
* 删除备份。
* @param int $backupID
* @access public
* @return void
*/
public function ajaxDeleteBackup(string $instanceID, string $backupName)
{
$instance = $this->instance->getByID((int)$instanceID);
if(empty($instance)) $this->send(array('result' => 'success', 'message' => $this->lang->instance->instanceNotExists));
$success = $this->instance->deleteBackup($instance, $backupName);
if(!$success) return $this->send(array('result' => 'fail', 'message' => zget($this->lang->instance->notices, 'deleteFail')));
$this->action->create('instance', $instance->id, 'manualdeletebackup', '', json_encode(array('result' => 'success')));
$locate = $this->createLink('instance', 'view', 'id=' . $instanceID);
return $this->send(array('result' => 'success', 'load' => array('alert' => zget($this->lang->instance->notices, 'deleteSuccess'), 'locate' => $locate, 'closeModal' => true)));
}
}
+13
View File
@@ -1379,4 +1379,17 @@ class instanceModel extends model
if(count($deleteData) > 0) $this->action->create('instance', $instance->id, 'deleteexpiredbackup', '', json_encode(array('result' => 'success', 'data' =>$deleteData)));
return true;
}
/**
* Delete backup.
* 删除备份。
* @param object $instance
* @param string $backupName
* @access public
* @return bool
*/
public function deleteBackup($instance, $backupName)
{
return $this->cne->deleteBackup($instance, $backupName);
}
}
+1 -1
View File
@@ -28,7 +28,7 @@ formPanel
set::label($this->lang->instance->backup->keepDays),
set::control('input'),
set::value((int)$instance->backupKeepDays),
span($this->lang->instance->backup->backupSettingsTips, set::className('text-warning inline-block mt-2'))
span($this->lang->instance->backup->backupSettingsTip, set::className('text-warning inline-block mt-2'))
),
),
formRow