diff --git a/webui/config/autoload/global.php.in b/webui/config/autoload/global.php.in
index 861ce3bc980..097d01dde31 100644
--- a/webui/config/autoload/global.php.in
+++ b/webui/config/autoload/global.php.in
@@ -117,6 +117,13 @@ function read_configuration_ini($configuration, $configuration_ini)
$arr['dashboard']['autorefresh_interval'] = 60000;
}
+ if( array_key_exists('restore', $configuration) && array_key_exists('filetree_refresh_timeout', $configuration['restore']) && isset($configuration['restore']['filetree_refresh_timeout']) ) {
+ $arr['restore']['filetree_refresh_timeout'] = $configuration['restore']['filetree_refresh_timeout'];
+ }
+ else {
+ $arr['restore']['filetree_refresh_timeout'] = 120000;
+ }
+
return $arr;
}
diff --git a/webui/install/configuration.ini.in b/webui/install/configuration.ini.in
index 62511697a61..1aa70a38b30 100644
--- a/webui/install/configuration.ini.in
+++ b/webui/install/configuration.ini.in
@@ -45,3 +45,8 @@ save_previous_state=false
; Default: none
labelpooltype=scratch
+[restore]
+; Restore filetree refresh timeout after n milliseconds
+; Default: 120000 milliseconds
+filetree_refresh_timeout=120000
+
diff --git a/webui/module/Auth/src/Auth/Controller/AuthController.php b/webui/module/Auth/src/Auth/Controller/AuthController.php
index 63460e00ad1..2faf695979c 100644
--- a/webui/module/Auth/src/Auth/Controller/AuthController.php
+++ b/webui/module/Auth/src/Auth/Controller/AuthController.php
@@ -207,6 +207,9 @@ public function loginAction()
}
// Push dashboard configuration settings into SESSION context.
$_SESSION['bareos']['dashboard_autorefresh_interval'] = $configuration['configuration']['dashboard']['autorefresh_interval'];
+ // Push restore configuration settings into SESSION context.
+ $_SESSION['bareos']['filetree_refresh_timeout'] = $configuration['configuration']['restore']['filetree_refresh_timeout'];
+
if($this->params()->fromQuery('req')) {
$redirect = $this->params()->fromQuery('req');
$request = $this->getRequest();
diff --git a/webui/module/Restore/view/restore/restore/index.phtml b/webui/module/Restore/view/restore/restore/index.phtml
index ed0acf913b2..d639bce3387 100644
--- a/webui/module/Restore/view/restore/restore/index.phtml
+++ b/webui/module/Restore/view/restore/restore/index.phtml
@@ -343,12 +343,24 @@ $this->headTitle($title);
}
+ function displayBvfsCacheUpdateInfo() {
+ $('#filebrowser').append("
");
+ $('#filebrowser').append("
Data:
" + "" + e.data + "
"
);
+ displayBvfsCacheUpdateInfo();
},
'data' :{
'url' : 'basePath() . "/restore/filebrowser?type=" . $this->restore_params['type'] . "&jobid=" . $this->restore_params['jobid'] . "&mergefilesets=" . $this->restore_params['mergefilesets'] . "&mergejobs=" . $this->restore_params['mergejobs'] . "&limit=" . $this->restore_params['limit']; ?>',
@@ -370,6 +383,7 @@ $this->headTitle($title);
'data' : function (node) {
return { 'id' : node.id };
},
+ timeout: ,
},
},
'state' : {
diff --git a/webui/module/Restore/view/restore/restore/versions.phtml b/webui/module/Restore/view/restore/restore/versions.phtml
index 064e76093dd..823288e83fe 100644
--- a/webui/module/Restore/view/restore/restore/versions.phtml
+++ b/webui/module/Restore/view/restore/restore/versions.phtml
@@ -466,12 +466,24 @@ function updateRestoreParams(k, v) {
return params.join('&');
}
+function displayBvfsCacheUpdateInfo() {
+ $('#filebrowser').append("Data:
" + "" + e.data + "
"
);
+ displayBvfsCacheUpdateInfo();
},
'multiple': false,
'data': {
@@ -497,6 +510,7 @@ $('#filebrowser').jstree({
'state': {'checkbox_disabled': true}
};
},
+ timeout: ,
},
},
'state' : {