diff --git a/module/zanode/control.php b/module/zanode/control.php index 73559c7886..ef0141ded4 100644 --- a/module/zanode/control.php +++ b/module/zanode/control.php @@ -439,14 +439,15 @@ class zanode extends control $snapshotList = $this->zanode->getSnapshotList($nodeID, $browseType, $param, $orderBy, $pager); - $this->view->title = $this->lang->zanode->browseSnapshot; - $this->view->nodeID = $nodeID; - $this->view->snapshotList = $snapshotList; - $this->view->users = $this->loadModel('user')->getPairs('noletter'); - $this->view->pager = $pager; - $this->view->param = $param; - $this->view->orderBy = $orderBy; - $this->view->browseType = $browseType; + $this->view->title = $this->lang->zanode->browseSnapshot; + $this->view->nodeID = $nodeID; + $this->view->node = $this->zanode->getNodeByID($nodeID); + $this->view->snapshotList = $snapshotList; + $this->view->users = $this->loadModel('user')->getPairs('noletter'); + $this->view->pager = $pager; + $this->view->param = $param; + $this->view->orderBy = $orderBy; + $this->view->browseType = $browseType; $this->display(); } @@ -472,7 +473,7 @@ class zanode extends control } else { - if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent')); + if(isonlybody()) return print(js::alert($this->lang->zanode->actionSuccess) . js::reload('parent.parent')); return print(js::alert($this->lang->zanode->actionSuccess) . js::locate($this->createLink('zanode', 'browse'), 'parent')); } } diff --git a/module/zanode/lang/de.php b/module/zanode/lang/de.php index 9d05efbc81..35fb26c602 100644 --- a/module/zanode/lang/de.php +++ b/module/zanode/lang/de.php @@ -117,6 +117,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/en.php b/module/zanode/lang/en.php index 2e088159cb..5c671c31a1 100644 --- a/module/zanode/lang/en.php +++ b/module/zanode/lang/en.php @@ -121,6 +121,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/fr.php b/module/zanode/lang/fr.php index 9d05efbc81..35fb26c602 100644 --- a/module/zanode/lang/fr.php +++ b/module/zanode/lang/fr.php @@ -117,6 +117,7 @@ $lang->zanode->statusList['shutodown'] = 'shutdown'; $lang->zanode->statusList['destroy_fail'] = 'Destroy Fail'; $lang->zanode->statusList['wait'] = 'Initializing'; $lang->zanode->statusList['online'] = 'Online'; +$lang->zanode->statusList['restoring'] = 'Restoring'; $lang->zanode->initNotice = "Succeeded. Please initialize the execution node or return to the list."; $lang->zanode->initButton = "Initialize"; diff --git a/module/zanode/lang/zh-cn.php b/module/zanode/lang/zh-cn.php index 4372c17879..a000f90a49 100644 --- a/module/zanode/lang/zh-cn.php +++ b/module/zanode/lang/zh-cn.php @@ -121,6 +121,7 @@ $lang->zanode->statusList['shutodown'] = '已关机'; $lang->zanode->statusList['destroy_fail'] = '销毁失败'; $lang->zanode->statusList['wait'] = '初始化中'; $lang->zanode->statusList['online'] = '已上架'; +$lang->zanode->statusList['restoring'] = '还原中'; $lang->zanode->initNotice = "保存成功,请初始化执行节点或返回列表。"; $lang->zanode->initButton = "去初始化"; diff --git a/module/zanode/model.php b/module/zanode/model.php index a594af4650..5b7c426a5c 100644 --- a/module/zanode/model.php +++ b/module/zanode/model.php @@ -277,6 +277,7 @@ class zanodemodel extends model ->set('restoreDate')->eq(helper::now()) ->where('id')->eq($snapshotID)->exec(); + /* Prepare create params. */ $agnetUrl = 'http://' . $node->ip . ':' . $node->hzap; $param = array(array( @@ -290,6 +291,7 @@ class zanodemodel extends model if(!empty($result) and $result->code == 'success') { + $this->dao->update(TABLE_HOST)->set('status')->eq('restoring')->where('id')->eq($node->id)->exec(); $this->loadModel('action')->create('zanode', $zanodeID, 'restoredsnapshot', '', $snap->name); return true; } diff --git a/module/zanode/view/browsesnapshot.html.php b/module/zanode/view/browsesnapshot.html.php index 8abc25f631..067087af4a 100644 --- a/module/zanode/view/browsesnapshot.html.php +++ b/module/zanode/view/browsesnapshot.html.php @@ -40,7 +40,7 @@ $editAttr = $snapshot->status == 'failed' ? 'class="btn disabled"' : "title={$lang->zanode->editSnapshot} onclick='window.parent.editSnapshot(\"" . $this->createLink('zanode', 'editSnapshot', "snapshotID={$snapshot->id}") . "\")' class='btn'"; $restoreAttr = "title='{$lang->zanode->restoreSnapshot}' target='hiddenwin'"; - $restoreAttr .= ($snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; + $restoreAttr .= ($node->status !='running' or $snapshot->status == 'restoring' or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"'; $deleteAttr = "title='{$lang->zanode->deleteSnapshot}' target='hiddenwin'"; $deleteAttr .= (($snapshot->status == 'restoring' and (time() - strtotime($snapshot->restoreDate)) <= 600) or $snapshot->status == 'failed') ? ' class="btn disabled"' : 'class="btn"';