From: Kern Sibbald Date: Sat, 10 Nov 2007 10:44:24 +0000 (+0000) Subject: Merge in changes from trunk X-Git-Tag: Release-2.2.6~5 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b67705f13aec8200b92bdfff347240cc6c0c033f;p=bacula%2Fbacula Merge in changes from trunk git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.2@5884 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/gui/brestore/ReleaseNotes b/gui/brestore/ReleaseNotes index 8924420792..163243ba01 100644 --- a/gui/brestore/ReleaseNotes +++ b/gui/brestore/ReleaseNotes @@ -1,5 +1,12 @@ Release Notes for brestore 2.2.0 +Version 2.2.5-2: + - Use 2 transactions in brestore.pl -b + (you can use Ctrl-C in cleanup) + +Version 2.2.5-1: + - Fix warning, thanks to Tuomas Jormola + Version 2.2.0-2: - cleanup brestore - update brestore_xxx only when job is in (T, f, A) diff --git a/gui/brestore/brestore.pl b/gui/brestore/brestore.pl index 6a8da81835..bfcbeaba63 100755 --- a/gui/brestore/brestore.pl +++ b/gui/brestore/brestore.pl @@ -2397,6 +2397,9 @@ sub update_cache $self->update_brestore_table(map { $_->[0] } @$jobs); + $self->{conf}->{dbh}->commit(); + $self->{conf}->{dbh}->begin_work(); + print STDERR "Cleaning path visibility\n"; my $nb = $self->dbh_do(" @@ -3275,7 +3278,7 @@ sub HELP_MESSAGE exit 1; } -my $file_conf = "$ENV{HOME}/.brestore.conf" ; +my $file_conf = (exists $ENV{HOME})? "$ENV{HOME}/.brestore.conf" : undef ; my $batch_mod; GetOptions("conf=s" => \$file_conf, @@ -3283,6 +3286,11 @@ GetOptions("conf=s" => \$file_conf, "debug" => \$debug, "help" => \&HELP_MESSAGE) ; +if (! defined $file_conf) { + print STDERR "Could not detect default config and no config file specified\n"; + HELP_MESSAGE(); +} + my $p = new Pref($file_conf); if (! -f $file_conf) { @@ -3300,7 +3308,7 @@ if ($batch_mod) { exit (0); } -$glade_file = $p->{glade_file}; +$glade_file = $p->{glade_file} || $glade_file; foreach my $path ('','.','/usr/share/brestore','/usr/local/share/brestore') { if (-f "$path/$glade_file") { diff --git a/gui/bweb/ReleaseNotes b/gui/bweb/ReleaseNotes index a4c3f51ee1..fe08902b62 100644 --- a/gui/bweb/ReleaseNotes +++ b/gui/bweb/ReleaseNotes @@ -1,4 +1,19 @@ Release Notes for bweb 2.2 +2007/11/08 + - Add Prev/Next on job log output + +2007/10/31 + - Add a error filter to Job zoom view + +2007/10/30 + - Replace VolStatus by Enabled in volume location + - Add Enabled in volume update and zoom + +2007/10/26 + - add an option to view only expired media + +2007/09/26 + - add bresto.pl, bresto.html and bresto.js 2007/08/20 - fix update of locationid field during label barcodes diff --git a/gui/bweb/cgi/bgraph.pl b/gui/bweb/cgi/bgraph.pl index e3d0024d44..cb3cdcab61 100755 --- a/gui/bweb/cgi/bgraph.pl +++ b/gui/bweb/cgi/bgraph.pl @@ -110,6 +110,9 @@ if ($arg->{jclient_groups}) { $groupq = " AND client_group_name IN ($arg->{jclient_groups}) "; } +$bweb->can_do('r_view_job'); +my $filter = $bweb->get_client_filter(); + my $gtype = CGI::param('gtype') || 'bars'; print CGI::header('image/png'); @@ -205,7 +208,7 @@ SELECT Client.Name AS clientname, $jobt.Name AS jobname, $jobt.JobBytes AS jobbytes -FROM $jobt, FileSet, Client $groupf +FROM $jobt, FileSet, Client $filter $groupf WHERE $jobt.ClientId = Client.ClientId AND $jobt.FileSetId = FileSet.FileSetId AND $jobt.Type = 'B' @@ -243,7 +246,7 @@ SELECT Client.Name AS clientname, $jobt.Name AS jobname, $jobt.JobFiles AS jobfiles -FROM $jobt, FileSet, Client $groupf +FROM $jobt, FileSet, Client $filter $groupf WHERE $jobt.ClientId = Client.ClientId AND $jobt.FileSetId = FileSet.FileSetId AND $jobt.Type = 'B' @@ -285,7 +288,7 @@ SELECT UNIX_TIMESTAMP(Job.StartTime) AS starttime, Job.Name AS jobname, base64_decode_lstat(8,LStat) AS lstat -FROM Job, FileSet, Filename, Path, File, Client +FROM Job, FileSet, Filename, Path, File, Client $filter WHERE Job.ClientId = Client.ClientId AND Job.FileSetId = FileSet.FileSetId AND Job.Type = 'B' @@ -335,7 +338,7 @@ SELECT UNIX_TIMESTAMP(Job.StartTime) AS starttime, Job.Name AS jobname, brestore_pathvisibility.size AS size -FROM Job, Client, FileSet, Path, brestore_pathvisibility +FROM Job, Client $filter, FileSet, Path, brestore_pathvisibility WHERE Job.ClientId = Client.ClientId AND Job.FileSetId = FileSet.FileSetId AND Job.Type = 'B' @@ -382,7 +385,7 @@ SELECT - $bweb->{sql}->{UNIX_TIMESTAMP}(StartTime)) + 0.01) AS rate -FROM $jobt, FileSet, Client $groupf +FROM $jobt, FileSet, Client $filter $groupf WHERE $jobt.ClientId = Client.ClientId AND $jobt.FileSetId = FileSet.FileSetId AND $jobt.Type = 'B' @@ -424,7 +427,7 @@ SELECT $bweb->{sql}->{SEC_TO_INT}( $bweb->{sql}->{UNIX_TIMESTAMP}(EndTime) - $bweb->{sql}->{UNIX_TIMESTAMP}(StartTime)) AS duration -FROM $jobt, FileSet, Client $groupf +FROM $jobt, FileSet, Client $filter $groupf WHERE $jobt.ClientId = Client.ClientId AND $jobt.FileSetId = FileSet.FileSetId AND $jobt.Type = 'B' @@ -485,7 +488,7 @@ $limitq SELECT " . ($per_t?"":"UNIX_TIMESTAMP") . "($stime) AS A, $t(JobBytes) AS nb -FROM $jobt, FileSet, Client $groupf +FROM $jobt, FileSet, Client $filter $groupf WHERE $jobt.ClientId = Client.ClientId AND $jobt.FileSetId = FileSet.FileSetId AND $jobt.Type = 'B' @@ -507,7 +510,7 @@ $limit ); my $all = $dbh->selectall_arrayref($query) ; - print STDERR Data::Dumper::Dumper($all); +# print STDERR Data::Dumper::Dumper($all); my ($ret) = make_tab_sum($all); print $obj->plot([$ret->{date}, $ret->{nb}])->png; diff --git a/gui/bweb/cgi/bweb.pl b/gui/bweb/cgi/bweb.pl index b6d1e97dfa..1fc7b768a7 100755 --- a/gui/bweb/cgi/bweb.pl +++ b/gui/bweb/cgi/bweb.pl @@ -84,14 +84,32 @@ if ($action eq 'begin') { # main display $bweb->display_job(limit => 10); } elsif ($action eq 'view_conf') { + $bweb->can_do('r_configure'); $conf->view() } elsif ($action eq 'edit_conf') { + $bweb->can_do('r_configure'); $conf->edit(); } elsif ($action eq 'apply_conf') { + $bweb->can_do('r_configure'); $conf->modify(); +} elsif ($action eq 'user_del') { + $bweb->users_del(); + +} elsif ($action eq 'user_add') { + $bweb->users_add(); + +} elsif ($action eq 'user_edit') { + $bweb->display_user(); + +} elsif ($action eq 'user_save') { + $bweb->users_add(); + +} elsif ($action eq 'users') { + $bweb->display_users(); + } elsif ($action eq 'client') { $bweb->display_clients(); @@ -112,7 +130,7 @@ if ($action eq 'begin') { # main display } elsif ($action eq 'media') { print "
\n"; - my $fields = $bweb->get_form(qw/db_locations db_pools + my $fields = $bweb->get_form(qw/db_locations db_pools expired qlocations qpools volstatus qre_media limit qmediatypes db_mediatypes/); $bweb->display($fields, "display_form_media.tpl"); @@ -122,10 +140,12 @@ if ($action eq 'begin') { # main display limit => $arg->{limit}); print "
"; -} elsif ($action eq 'medias') { - $bweb->display_medias(); +} elsif ($action eq 'allmedia') { + $bweb->display_allmedia(); } elsif ($action eq 'eject') { + $bweb->can_do('r_autochanger_mgnt'); + my $arg = $bweb->get_form("ach"); my $a = $bweb->ach_get($arg->{ach}); @@ -147,6 +167,8 @@ if ($action eq 'begin') { # main display $bweb->eject_media(); } elsif ($action eq 'clear_io') { + $bweb->can_do('r_autochanger_mgnt'); + my $arg = $bweb->get_form('ach'); my $a = $bweb->ach_get($arg->{ach}); @@ -163,6 +185,8 @@ if ($action eq 'begin') { # main display $bweb->ach_del(); } elsif ($action eq 'ach_view') { + $bweb->can_do('r_autochanger_mgnt'); + # TODO : get autochanger name and create it $bweb->connect_db(); my $arg = $bweb->get_form('ach'); @@ -177,6 +201,8 @@ if ($action eq 'begin') { # main display $bweb->ach_add(); } elsif ($action eq 'ach_load') { + $bweb->can_do('r_autochanger_mgnt'); + my $arg = $bweb->get_form('ach', 'drive', 'slot'); my $a = $bweb->ach_get($arg->{ach}); @@ -193,6 +219,8 @@ if ($action eq 'begin') { # main display } } elsif ($action eq 'ach_unload') { + $bweb->can_do('r_autochanger_mgnt'); + my $arg = $bweb->get_form('drive', 'slot', 'ach'); my $a = $bweb->ach_get($arg->{ach}); @@ -221,6 +249,9 @@ if ($action eq 'begin') { # main display $bweb->help_extern_compute(); } elsif ($action eq 'extern') { + $bweb->can_do('r_media_mgnt'); + $bweb->can_do('r_autochanger_mgnt'); + print "
"; my @achs = $bweb->eject_media(); for my $ach (@achs) { @@ -228,7 +259,7 @@ if ($action eq 'begin') { # main display $bweb->update_slots(); } print "
"; - $bweb->move_media(); + $bweb->move_media('no'); # enabled = no print "
"; } elsif ($action eq 'move_email') { @@ -244,10 +275,11 @@ if ($action eq 'begin') { # main display $bweb->display($bweb, 'about.tpl'); } elsif ($action eq 'intern') { - $bweb->move_media(); # TODO : remove that + $bweb->move_media('yes'); # TODO : remove that } elsif ($action eq 'move_media') { - $bweb->move_media(); + my $a = $bweb->get_form('enabled'); + $bweb->move_media($a->{enabled}); } elsif ($action eq 'save_location') { $bweb->save_location(); @@ -292,9 +324,10 @@ if ($action eq 'begin') { # main display $bweb->groups_del(); } elsif ($action eq 'job') { - + $bweb->can_do('r_view_job'); print "
\n"; - my $fields = $bweb->get_form(qw/status level db_clients db_filesets + my $fields = $bweb->get_form(qw/status level filter db_clients + db_filesets limit age offset qclients qfilesets jobtype qpools db_pools db_client_groups qclient_groups/); # drop this to hide @@ -307,9 +340,9 @@ if ($action eq 'begin') { # main display limit => $arg->{limit}); print "
"; } elsif ($action eq 'job_group') { - + $bweb->can_do('r_view_job'); print "
+ + + diff --git a/gui/bweb/lang/es/tpl/config_view.tpl b/gui/bweb/lang/es/tpl/config_view.tpl index 7380b743d8..dffc499e0e 100644 --- a/gui/bweb/lang/es/tpl/config_view.tpl +++ b/gui/bweb/lang/es/tpl/config_view.tpl @@ -18,6 +18,8 @@ + + diff --git a/gui/bweb/lang/es/tpl/display_client_job.tpl b/gui/bweb/lang/es/tpl/display_client_job.tpl index ba62845fd3..e69de29bb2 100644 --- a/gui/bweb/lang/es/tpl/display_client_job.tpl +++ b/gui/bweb/lang/es/tpl/display_client_job.tpl @@ -1,65 +0,0 @@ -
-
-

ültimos jobs de () -

-
-
- -
\n"; - my $fields = $bweb->get_form(qw/limit level age + my $fields = $bweb->get_form(qw/limit level age filter db_client_groups qclient_groups/); # drop this to hide $fields->{hide_status} = 1; @@ -332,7 +365,6 @@ if ($action eq 'begin') { # main display } } elsif ($action eq 'group_stats') { - $bweb->display_group_stats(age => $arg->{age}); } elsif ($action eq 'running') { @@ -342,6 +374,7 @@ if ($action eq 'begin') { # main display $bweb->display_running_job(); } elsif ($action eq 'update_from_pool') { + $bweb->can_do('r_media_mgnt'); my $elt = $bweb->get_form(qw/media pool/); unless ($elt->{media} || $elt->{pool}) { $bweb->error("Can't get media or pool param"); @@ -358,6 +391,7 @@ if ($action eq 'begin') { # main display $bweb->update_media(); } elsif ($action eq 'client_status') { + $bweb->can_do('r_client_status'); my $b; foreach my $client (CGI::param('client')) { if ($client =~ m/$client_re/) { @@ -415,7 +449,7 @@ if ($action eq 'begin') { # main display $bweb->fileset_view(); } else { - $bweb->error("Sorry, this action don't exist"); + $bweb->error("Sorry, this action doesn't exist"); } $bweb->display_end(); diff --git a/gui/bweb/html/bresto.html b/gui/bweb/html/bresto.html new file mode 100644 index 0000000000..ecc139b6f6 --- /dev/null +++ b/gui/bweb/html/bresto.html @@ -0,0 +1,34 @@ + + + + + Bweb - restore + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+ + + + diff --git a/gui/bweb/html/bresto.js b/gui/bweb/html/bresto.js new file mode 100644 index 0000000000..559850076c --- /dev/null +++ b/gui/bweb/html/bresto.js @@ -0,0 +1,772 @@ + +// Bweb - A Bacula web interface +// Bacula® - The Network Backup Solution +// +// Copyright (C) 2000-2006 Free Software Foundation Europe e.V. +// +// The main author of Bweb is Eric Bollengier. +// The main author of Bacula is Kern Sibbald, with contributions from +// many others, a complete list can be found in the file AUTHORS. +// +// This program is Free Software; you can redistribute it and/or +// modify it under the terms of version two of the GNU General Public +// License as published by the Free Software Foundation plus additions +// that are listed in the file LICENSE. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +// 02110-1301, USA. +// +// Bacula® is a registered trademark of John Walker. +// The licensor of Bacula is the Free Software Foundation Europe +// (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zurich, +// Switzerland, email:ftf@fsfeurope.org. + +// render if vol is online/offline +function rd_vol_is_online(val) +{ + return ''; +} + +// TODO: fichier ou rep +function rd_file_or_dir(val) +{ + if (val == 'F') { + return ''; + } else { + return ''; + } +} + +Ext.namespace('Ext.brestore'); + +Ext.brestore.jobid=0; // selected jobid +Ext.brestore.jobdate=''; // selected date +Ext.brestore.client=''; // selected client +Ext.brestore.path=''; // current path (without user location) +Ext.brestore.root_path=''; // user location + +Ext.brestore.option_vosb = false; +Ext.brestore.option_vafv = false; + + +function get_node_path(node) +{ + var temp=''; + for (var p = node; p; p = p.parentNode) { + if (p.parentNode) { + if (p.text == '/') { + temp = p.text + temp; + } else { + temp = p.text + '/' + temp; + } + } + } + return Ext.brestore.root_path + temp; +} + + +function init_params(baseParams) +{ + baseParams['client']= Ext.brestore.client; + + if (Ext.brestore.option_vosb) { + baseParams['jobid'] = Ext.brestore.jobid; + } else { + baseParams['date'] = Ext.brestore.jobdate; + } + return baseParams; +} + + +function ext_init() +{ +//////////////////////////////////////////////////////////////: + var Tree = Ext.tree; + var tree_loader = new Ext.tree.TreeLoader({ + baseParams:{}, + dataUrl:'/cgi-bin/bweb/bresto.pl' + }); + + var tree = new Ext.tree.TreePanel('div-tree', { + animate:true, + loader: tree_loader, + enableDD:true, + enableDragDrop: true, + containerScroll: true + }); + + // set the root node + var root = new Ext.tree.AsyncTreeNode({ + text: 'Select a job', + draggable:false, + id:'source' + }); + tree.setRootNode(root); + + // render the tree + tree.render(); +// root.expand(); + + tree.on('click', function(node, event) { + Ext.brestore.path = get_node_path(node); + + file_store.removeAll(); + file_versions_store.removeAll(); + file_store.load({params:init_params({action: 'list_files', + node:node.id}) + }); + return true; + }); + + tree.on('beforeload', function(e) { + file_store.removeAll(); + return true; + }); + + +//////////////////////////////////////////////////////////////// + + var file_store = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: '/cgi-bin/bweb/bresto.pl', + method: 'GET', + params:{} + }), + + reader: new Ext.data.ArrayReader({ + }, Ext.data.Record.create([ + {name: 'fileid' }, + {name: 'filenameid'}, + {name: 'pathid' }, + {name: 'name' }, + {name: 'size', type: 'int' }, + {name: 'mtime', type: 'date', dateFormat: 'Y-m-d h:i:s'} + ])) + }); + + var cm = new Ext.grid.ColumnModel([{ + id: 'name', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b { color:#333 }) + header: 'File', + dataIndex: 'name', + width: 100, + css: 'white-space:normal;' + },{ + header: "Size", + dataIndex: 'size', + renderer: human_size, + width: 50 + },{ + header: "Date", + dataIndex: 'mtime', + width: 100 + },{ + dataIndex: 'pathid', + hidden: true + },{ + dataIndex: 'filenameid', + hidden: true + },{ + dataIndex: 'fileid', + hidden: true + } + ]); + + // by default columns are sortable + cm.defaultSortable = true; + + // create the grid + var files_grid = new Ext.grid.Grid('div-files', { + ds: file_store, + cm: cm, + ddGroup : 'TreeDD', + enableDrag: true, + enableDragDrop: true, + selModel: new Ext.grid.RowSelectionModel(), + loadMask: true, + enableColLock:false + + }); + + // when we reload the view, + // we clear the file version box + file_store.on('beforeload', function(e) { + file_versions_store.removeAll(); + return true; + }); + + // TODO: selection only when using dblclick + files_grid.selModel.on('rowselect', function(e,i,r) { + Ext.brestore.filename = r.json[3]; + file_versions_store.load({params:init_params({action: 'list_versions', + vafv: Ext.brestore.option_vafv, + pathid: r.json[2], + filenameid: r.json[1] + }) + }); + return true; + }); + files_grid.render(); + +//////////////////////////////////////////////////////////////: + + var file_selection_store = new Ext.data.Store({ + proxy: new Ext.data.MemoryProxy(), + + reader: new Ext.data.ArrayReader({ + }, Ext.data.Record.create([ + {name: 'jobid' }, + {name: 'fileid' }, + {name: 'filenameid'}, + {name: 'pathid' }, + {name: 'name' }, + {name: 'size', type: 'int' }, + {name: 'mtime', type: 'date', dateFormat: 'Y-m-d h:i:s'} + ])) + }); + + var file_selection_cm = new Ext.grid.ColumnModel([{ + id: 'name', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b { color:#333 }) + header: "Name", + dataIndex: 'name', + width: 250 + },{ + header: "JobId", + width: 50, + dataIndex: 'jobid' + },{ + header: "Size", + dataIndex: 'size', + renderer: human_size, + width: 50 + },{ + header: "Date", + dataIndex: 'mtime', + width: 100 + },{ + dataIndex: 'pathid', + hidden: true + },{ + dataIndex: 'filenameid', + hidden: true + },{ + dataIndex: 'fileid', + hidden: true + } + ]); + + + // create the grid + var file_selection_grid = new Ext.grid.Grid('div-file-selection', { + cm: file_selection_cm, + ds: file_selection_store, + ddGroup : 'TreeDD', + enableDrag: false, + enableDrop: true, + selModel: new Ext.grid.RowSelectionModel(), + loadMask: true, + enableColLock:false + + }); + + var file_selection_record = Ext.data.Record.create( + {name: 'jobid'}, + {name: 'fileid'}, + {name: 'filenameid'}, + {name: 'pathid'}, + {name: 'size'}, + {name: 'mtime'} + ); +// data.selections[0].json[] +// data.node.id +// http://extjs.com/forum/showthread.php?t=12582&highlight=drag+drop + var ddrow = new Ext.dd.DropTarget(file_selection_grid.container, { + ddGroup : 'TreeDD', + copy:false, + notifyDrop : function(dd, e, data){ + var r; + if (data.selections) { + if (data.grid.id == 'div-files') { + for(var i=0;i
  • Estadísticas
  • -
  • Configuración
  • +
  • Configuración + + + +
  • Acerca
  •  Usuario
  • diff --git a/gui/bweb/lang/es/tpl/change_location.tpl b/gui/bweb/lang/es/tpl/change_location.tpl index 496c61ab06..58d3ae2659 100644 --- a/gui/bweb/lang/es/tpl/change_location.tpl +++ b/gui/bweb/lang/es/tpl/change_location.tpl @@ -20,7 +20,7 @@ Estimado, Puede mover este medio a Medio : - + - () diff --git a/gui/bweb/lang/es/tpl/config_edit.tpl b/gui/bweb/lang/es/tpl/config_edit.tpl index 3c9b6900be..fde3b60149 100644 --- a/gui/bweb/lang/es/tpl/config_edit.tpl +++ b/gui/bweb/lang/es/tpl/config_edit.tpl @@ -46,6 +46,10 @@
  • display_log_time : checked='checked' value='on' >
    security : checked='checked' value='on' > +
    security acl: checked='checked' value='on' >
    debug : checked='checked' value='on' >
    stat_job_table : Job
    bconsole :
    display_log_time :
    security :
    security acl :
    debug :
    Libreria
    - - - backup size - - - backup duration - - - backup rate - -
    - - - diff --git a/gui/bweb/lang/es/tpl/display_form_media.tpl b/gui/bweb/lang/es/tpl/display_form_media.tpl index 3839f5122d..46e7f4f57c 100644 --- a/gui/bweb/lang/es/tpl/display_form_media.tpl +++ b/gui/bweb/lang/es/tpl/display_form_media.tpl @@ -58,6 +58,13 @@ value= class='formulaire' size='8'> + + + +

    Expired media

    + checked + class='formulaire'> + diff --git a/gui/bweb/lang/es/tpl/display_job_zoom.tpl b/gui/bweb/lang/es/tpl/display_job_zoom.tpl index b314ea95f0..3f72329a96 100644 --- a/gui/bweb/lang/es/tpl/display_job_zoom.tpl +++ b/gui/bweb/lang/es/tpl/display_job_zoom.tpl @@ -77,6 +77,13 @@ + + + + view errors View only errors + + diff --git a/gui/bweb/lang/es/tpl/display_log.tpl b/gui/bweb/lang/es/tpl/display_log.tpl index f71f2098c9..22164090c0 100644 --- a/gui/bweb/lang/es/tpl/display_log.tpl +++ b/gui/bweb/lang/es/tpl/display_log.tpl @@ -6,4 +6,75 @@
     
       
    + + + + diff --git a/gui/bweb/lang/es/tpl/display_media.tpl b/gui/bweb/lang/es/tpl/display_media.tpl index f803c6e3b7..b19014e581 100644 --- a/gui/bweb/lang/es/tpl/display_media.tpl +++ b/gui/bweb/lang/es/tpl/display_media.tpl @@ -42,7 +42,7 @@ var img; var chkbox; var d; - + d = percent_usage(); img = document.createElement('IMG'); diff --git a/gui/bweb/lang/es/tpl/display_media_zoom.tpl b/gui/bweb/lang/es/tpl/display_media_zoom.tpl index 6f7b564f4c..d9ef11eb4f 100644 --- a/gui/bweb/lang/es/tpl/display_media_zoom.tpl +++ b/gui/bweb/lang/es/tpl/display_media_zoom.tpl @@ -40,7 +40,7 @@ diff --git a/gui/bweb/lang/es/tpl/update_location.tpl b/gui/bweb/lang/es/tpl/update_location.tpl index 11b4335f2a..5e54c0935c 100644 --- a/gui/bweb/lang/es/tpl/update_location.tpl +++ b/gui/bweb/lang/es/tpl/update_location.tpl @@ -21,7 +21,7 @@ var header = new Array("Nombre del Volumen", "Ubicaci var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.value = ''; diff --git a/gui/bweb/lang/es/tpl/update_media.tpl b/gui/bweb/lang/es/tpl/update_media.tpl index fd7af0f89e..2ce07c7e62 100644 --- a/gui/bweb/lang/es/tpl/update_media.tpl +++ b/gui/bweb/lang/es/tpl/update_media.tpl @@ -46,6 +46,15 @@ + Enabled: + + + + Ubicación : checked='checked' value='on' > + security : + checked='checked' value='on' > + security acl: + checked='checked' value='on' > debug : checked='checked' value='on' > diff --git a/gui/bweb/lang/fr/tpl/config_view.tpl b/gui/bweb/lang/fr/tpl/config_view.tpl index c179d74b81..3ca01a2ab3 100644 --- a/gui/bweb/lang/fr/tpl/config_view.tpl +++ b/gui/bweb/lang/fr/tpl/config_view.tpl @@ -18,6 +18,8 @@ stat_job_table : Job bconsole : display_log_time : + security : + security acl : debug : Robotique (Autochanger) diff --git a/gui/bweb/lang/fr/tpl/display_client_job.tpl b/gui/bweb/lang/fr/tpl/display_client_job.tpl index 0440f5546b..e69de29bb2 100644 --- a/gui/bweb/lang/fr/tpl/display_client_job.tpl +++ b/gui/bweb/lang/fr/tpl/display_client_job.tpl @@ -1,65 +0,0 @@ -
    -
    -

    Historique de () -

    -
    -
    - -
    - - - taille des sauvegardes - - - durée des sauvegardes - - - vitesse des sauvegardes - -
    - - - diff --git a/gui/bweb/lang/fr/tpl/display_form_media.tpl b/gui/bweb/lang/fr/tpl/display_form_media.tpl index 58619705a0..d5ab73c83a 100644 --- a/gui/bweb/lang/fr/tpl/display_form_media.tpl +++ b/gui/bweb/lang/fr/tpl/display_form_media.tpl @@ -58,6 +58,13 @@ value= class='formulaire' size='8'> + + + +

    Médias expirés

    + checked
    + class='formulaire'> + diff --git a/gui/bweb/lang/fr/tpl/display_job_zoom.tpl b/gui/bweb/lang/fr/tpl/display_job_zoom.tpl index 9259ecdb6a..a464fa1f5b 100644 --- a/gui/bweb/lang/fr/tpl/display_job_zoom.tpl +++ b/gui/bweb/lang/fr/tpl/display_job_zoom.tpl @@ -79,6 +79,13 @@ + + + + Voir les erreurs Voir les erreurs + + diff --git a/gui/bweb/lang/fr/tpl/display_log.tpl b/gui/bweb/lang/fr/tpl/display_log.tpl index d093f58a38..d4ffea3f3e 100644 --- a/gui/bweb/lang/fr/tpl/display_log.tpl +++ b/gui/bweb/lang/fr/tpl/display_log.tpl @@ -6,4 +6,75 @@
     
       
    + + + + diff --git a/gui/bweb/lang/fr/tpl/display_media.tpl b/gui/bweb/lang/fr/tpl/display_media.tpl index 9e4f8ec56a..b5e9eb257b 100644 --- a/gui/bweb/lang/fr/tpl/display_media.tpl +++ b/gui/bweb/lang/fr/tpl/display_media.tpl @@ -42,7 +42,7 @@ var img; var chkbox; var d; - + d = percent_usage(); img = document.createElement('IMG'); diff --git a/gui/bweb/lang/fr/tpl/display_media_zoom.tpl b/gui/bweb/lang/fr/tpl/display_media_zoom.tpl index a73d7b3ba1..7e392008bd 100644 --- a/gui/bweb/lang/fr/tpl/display_media_zoom.tpl +++ b/gui/bweb/lang/fr/tpl/display_media_zoom.tpl @@ -40,7 +40,7 @@ diff --git a/gui/bweb/lang/fr/tpl/update_location.tpl b/gui/bweb/lang/fr/tpl/update_location.tpl index acc484ca38..48ac5de29a 100644 --- a/gui/bweb/lang/fr/tpl/update_location.tpl +++ b/gui/bweb/lang/fr/tpl/update_location.tpl @@ -21,7 +21,7 @@ var header = new Array("Nom de volume", "Localisation", "S var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.value = ''; diff --git a/gui/bweb/lang/fr/tpl/update_media.tpl b/gui/bweb/lang/fr/tpl/update_media.tpl index 4b4e5a13c7..211fc5fe57 100644 --- a/gui/bweb/lang/fr/tpl/update_media.tpl +++ b/gui/bweb/lang/fr/tpl/update_media.tpl @@ -46,6 +46,15 @@ + Enabled : + + + + Localisation :   + 
    diff --git a/gui/bweb/tpl/change_location.tpl b/gui/bweb/tpl/change_location.tpl index d7f96519ce..e804e060f5 100644 --- a/gui/bweb/tpl/change_location.tpl +++ b/gui/bweb/tpl/change_location.tpl @@ -20,7 +20,7 @@ Hi, Could you move these media to Media : - + - () diff --git a/gui/bweb/tpl/config_edit.tpl b/gui/bweb/tpl/config_edit.tpl index c918cf2988..e470d372b4 100644 --- a/gui/bweb/tpl/config_edit.tpl +++ b/gui/bweb/tpl/config_edit.tpl @@ -46,6 +46,10 @@ display_log_time : checked='checked' value='on' > + security : + checked='checked' value='on' > + security acl: + checked='checked' value='on' > debug : checked='checked' value='on' > diff --git a/gui/bweb/tpl/config_view.tpl b/gui/bweb/tpl/config_view.tpl index 5056458da2..ea3ccfff25 100644 --- a/gui/bweb/tpl/config_view.tpl +++ b/gui/bweb/tpl/config_view.tpl @@ -18,6 +18,8 @@ stat_job_table : Job bconsole : display_log_time : + security : + security acl : debug : Autochanger diff --git a/gui/bweb/tpl/display_client_job.tpl b/gui/bweb/tpl/display_client_job.tpl index 33199f279f..e69de29bb2 100644 --- a/gui/bweb/tpl/display_client_job.tpl +++ b/gui/bweb/tpl/display_client_job.tpl @@ -1,65 +0,0 @@ -
    -
    -

    Last jobs for () -

    -
    -
    - -
    - - - backup size - - - backup duration - - - backup rate - -
    - - - diff --git a/gui/bweb/tpl/display_form_job.tpl b/gui/bweb/tpl/display_form_job.tpl index 857796b8cf..3840ee7a4c 100644 --- a/gui/bweb/tpl/display_form_job.tpl +++ b/gui/bweb/tpl/display_form_job.tpl @@ -121,6 +121,10 @@ document.getElementById('client_' + ).selected = true;
    + + document.getElementById('group_' + ).selected = true; + + document.getElementById('status_').selected=true; diff --git a/gui/bweb/tpl/display_form_media.tpl b/gui/bweb/tpl/display_form_media.tpl index e4ce0c951b..6944073b4d 100644 --- a/gui/bweb/tpl/display_form_media.tpl +++ b/gui/bweb/tpl/display_form_media.tpl @@ -58,6 +58,14 @@ value= class='formulaire' size='8'> + + + +

    Expired media

    + checked + class='formulaire'> + + diff --git a/gui/bweb/tpl/display_job_zoom.tpl b/gui/bweb/tpl/display_job_zoom.tpl index a9b30f386a..78f1505892 100644 --- a/gui/bweb/tpl/display_job_zoom.tpl +++ b/gui/bweb/tpl/display_job_zoom.tpl @@ -77,6 +77,13 @@ + + + + view errors View only errors + + diff --git a/gui/bweb/tpl/display_log.tpl b/gui/bweb/tpl/display_log.tpl index 251a7b094a..28ec41acdf 100644 --- a/gui/bweb/tpl/display_log.tpl +++ b/gui/bweb/tpl/display_log.tpl @@ -6,4 +6,75 @@
     
       
    + + + + diff --git a/gui/bweb/tpl/display_media.tpl b/gui/bweb/tpl/display_media.tpl index e4a029b44f..cad256d73b 100644 --- a/gui/bweb/tpl/display_media.tpl +++ b/gui/bweb/tpl/display_media.tpl @@ -42,7 +42,7 @@ var img; var chkbox; var d; - + d = percent_usage(); img = document.createElement('IMG'); diff --git a/gui/bweb/tpl/display_media_zoom.tpl b/gui/bweb/tpl/display_media_zoom.tpl index 6dcadbad35..6f8a53a5cb 100644 --- a/gui/bweb/tpl/display_media_zoom.tpl +++ b/gui/bweb/tpl/display_media_zoom.tpl @@ -40,7 +40,7 @@ diff --git a/gui/bweb/tpl/display_users.tpl b/gui/bweb/tpl/display_users.tpl new file mode 100644 index 0000000000..7a477a9852 --- /dev/null +++ b/gui/bweb/tpl/display_users.tpl @@ -0,0 +1,65 @@ +
    +
    +

    Users

    +
    +
    +
    +
    +   +   +   + +   +   +
    +
    + + + + diff --git a/gui/bweb/tpl/help_extern_compute.tpl b/gui/bweb/tpl/help_extern_compute.tpl index 816353d8f9..906e6c332e 100644 --- a/gui/bweb/tpl/help_extern_compute.tpl +++ b/gui/bweb/tpl/help_extern_compute.tpl @@ -24,7 +24,7 @@ var header = new Array("Volume Name","Vol Status", var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.value = ''; diff --git a/gui/bweb/tpl/help_intern_compute.tpl b/gui/bweb/tpl/help_intern_compute.tpl index 0f10329d55..cd4aa6db94 100644 --- a/gui/bweb/tpl/help_intern_compute.tpl +++ b/gui/bweb/tpl/help_intern_compute.tpl @@ -10,6 +10,7 @@ + @@ -25,7 +26,7 @@ var header = new Array("Volume Name","Vol Status", var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.name = 'media'; diff --git a/gui/bweb/tpl/move_media.tpl b/gui/bweb/tpl/move_media.tpl index 80520a13a5..3c5c66cd61 100644 --- a/gui/bweb/tpl/move_media.tpl +++ b/gui/bweb/tpl/move_media.tpl @@ -3,7 +3,7 @@

    Move media

    -
    +
    + + + +
    New location: @@ -12,19 +12,11 @@ -
    Status: -
    Enabled: +
    User: @@ -46,7 +38,7 @@ var header = new Array("Volume Name", "Location", "Select"); var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.value = ''; @@ -82,4 +74,13 @@ nrsTable.setup( rows_per_page: rows_per_page } ); + +ok=1; +for (var i=0; ok && i < document.form1.enabled.length; ++i) { + if (document.form1.enabled[i].value == '') { + document.form1.enabled[i].selected = true; + ok=0; + } +} + diff --git a/gui/bweb/tpl/update_location.tpl b/gui/bweb/tpl/update_location.tpl index 75adcbaaaf..93fc9eabf3 100644 --- a/gui/bweb/tpl/update_location.tpl +++ b/gui/bweb/tpl/update_location.tpl @@ -21,7 +21,7 @@ var header = new Array("Volume Name", "Location", "Select"); var data = new Array(); var chkbox; - + chkbox = document.createElement('INPUT'); chkbox.type = 'checkbox'; chkbox.value = ''; diff --git a/gui/bweb/tpl/update_media.tpl b/gui/bweb/tpl/update_media.tpl index 2c9a0c14ee..f09db42d7a 100644 --- a/gui/bweb/tpl/update_media.tpl +++ b/gui/bweb/tpl/update_media.tpl @@ -46,6 +46,15 @@
    Enabled: +
    Location :