View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000936 | bareos-core | webui | public | 2018-03-28 23:28 | 2023-09-19 11:42 |
Reporter | msilveira | Assigned To | frank | ||
Priority | high | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | any | OS Version | 3 |
Product Version | 17.2.5 | ||||
Summary | 0000936: The field "Restore location on client" Should be updated after selecting "Restore Job" | ||||
Description | I've been engaged in programming this feature, because it bothered me too much to have to type the destination folder, considering that I have a real path ( Where parameter ) set for every RestoreJob. | ||||
Additional Information | I've written a patch to make the webui force a RestoreJob selection and then, the system will check for the selected RestoreJob's "Where = " parameter. The patch has been written against the source from bareos-webui-17.2.4-15.1.el7.src.rpm . I'm not a professional programmer, it took me almost half a day to find out how to get this working. But it was worthy. I hope it makes into the master branch. | ||||
Tags | No tags attached. | ||||
bareos-webui-populate-where-from-restorejob.patch (4,813 bytes)
diff -udpr bareos-webui-17.2.4/module/Job/src/Job/Model/JobModel.php bareos-webui-17.2.4-20180328/module/Job/src/Job/Model/JobModel.php --- bareos-webui-17.2.4/module/Job/src/Job/Model/JobModel.php 2017-12-14 09:19:17.000000000 -0200 +++ bareos-webui-17.2.4-20180328/module/Job/src/Job/Model/JobModel.php 2018-03-28 17:45:36.994980164 -0300 @@ -449,6 +449,28 @@ class JobModel } } + /** + * Get Restore job Where + * + * @param $bsock + * @param $name + * + * @return string + */ + public function getRestoreJobWhere(&$bsock=null, $name=null) + { + $defaultpath = "/tmp/bareos-restores"; + if(isset($bsock, $name)) { + $cmd = '.defaults job="'.$name.'"'; + $result = $bsock->send_command($cmd, 2, null); + $jobdefaults = \Zend\Json\Json::decode($result, \Zend\Json\Json::TYPE_ARRAY); + return $jobdefaults['result']['defaults']['where']; + } + else { + return $defaultpath; + } + } + /** * Run a custom job * diff -udpr bareos-webui-17.2.4/module/Restore/src/Restore/Controller/RestoreController.php bareos-webui-17.2.4-20180328/module/Restore/src/Restore/Controller/RestoreController.php --- bareos-webui-17.2.4/module/Restore/src/Restore/Controller/RestoreController.php 2018-03-28 17:47:08.418303894 -0300 +++ bareos-webui-17.2.4-20180328/module/Restore/src/Restore/Controller/RestoreController.php 2018-03-28 17:42:41.287434645 -0300 @@ -116,6 +116,16 @@ class RestoreController extends Abstract } } + if($this->restore_params['restorejob'] != null ) { + try { + $restorepath = $this->getJobModel()->getRestoreJobWhere($this->bsock, $this->restore_params['restorejob']); + $this->restore_params['where'] = $restorepath; + } + catch(Exception $e) { + echo $e->getMessage(); + } + } + if(isset($this->restore_params['mergejobs']) && $this->restore_params['mergejobs'] == 1) { $jobids = $this->restore_params['jobid']; } diff -udpr bareos-webui-17.2.4/module/Restore/src/Restore/Form/RestoreForm.php bareos-webui-17.2.4-20180328/module/Restore/src/Restore/Form/RestoreForm.php --- bareos-webui-17.2.4/module/Restore/src/Restore/Form/RestoreForm.php 2017-12-14 09:19:14.000000000 -0200 +++ bareos-webui-17.2.4-20180328/module/Restore/src/Restore/Form/RestoreForm.php 2018-03-28 17:45:09.291579043 -0300 @@ -271,6 +271,7 @@ class RestoreForm extends Form 'attributes' => array( 'class' => 'form-control selectpicker show-tick', 'data-live-search' => 'true', + 'title' => _('Please select a Restore Job'), 'id' => 'restorejob', 'value' => $restore_params['restorejob'] ) @@ -289,6 +290,7 @@ class RestoreForm extends Form 'attributes' => array( 'class' => 'form-control selectpicker show-tick', 'data-live-search' => 'true', + 'title' => _('Please select a Restore Job'), 'id' => 'restorejob', 'value' => @array_pop($this->getRestoreJobList()) ) @@ -306,6 +308,7 @@ class RestoreForm extends Form 'attributes' => array( 'class' => 'form-control selectpicker show-tick', 'data-live-search' => 'true', + 'title' => _('Please select a Restore Job'), 'id' => 'restorejob' ) )); @@ -422,7 +425,7 @@ class RestoreForm extends Form ), 'attributes' => array( 'class' => 'form-control selectpicker show-tick', - 'value' => '/tmp/bareos-restores/', + 'value' => $restore_params['where'], 'id' => 'where', 'size' => '30', 'placeholder' => _('e.g. / or /tmp/bareos-restores/') diff -udpr bareos-webui-17.2.4/module/Restore/view/restore/restore/index.phtml bareos-webui-17.2.4-20180328/module/Restore/view/restore/restore/index.phtml --- bareos-webui-17.2.4/module/Restore/view/restore/restore/index.phtml 2017-12-14 09:19:14.000000000 -0200 +++ bareos-webui-17.2.4-20180328/module/Restore/view/restore/restore/index.phtml 2018-03-28 17:46:18.066574842 -0300 @@ -353,6 +353,10 @@ $this->headTitle($title); window.location.href = window.location.pathname + '?' + updateRestoreParams('mergejobs', this.value); }); + $('#restorejob').change(function(event) { + window.location.href = window.location.pathname + '?' + updateRestoreParams('restorejob', this.value); + }); + $('#limit').change(function(event) { window.location.href = window.location.pathname + '?' + updateRestoreParams('limit', this.value); }); |
|
closed | |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-03-28 23:28 | msilveira | New Issue | |
2018-03-28 23:28 | msilveira | File Added: bareos-webui-populate-where-from-restorejob.patch | |
2018-04-06 16:38 | frank | Assigned To | => frank |
2018-04-06 16:38 | frank | Status | new => assigned |
2021-11-25 12:32 | frank | Assigned To | frank => |
2021-11-25 12:32 | frank | Status | assigned => resolved |
2021-11-25 12:32 | frank | Resolution | open => fixed |
2023-09-19 11:42 | bruno-at-bareos | Assigned To | => frank |
2023-09-19 11:42 | bruno-at-bareos | Status | resolved => closed |
2023-09-19 11:42 | bruno-at-bareos | Note Added: 0005443 |