the api call can take a very long time (for now), until we can
improve that, increase the timeout from the default of 30s
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Not even hard feeling on 'Datastore' vs. 'Data Store' but consistency
is desired in such names.
Talked shortly with Dominik, which also slightly favored the one
without space - so just go for that one.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
it is only designed to be a quick overview, so having holes there
is not really pretty and since we do not even show any date
for the points, we can simply reuse the last value for holes
the 'real' graph with holes is still available on the
DataStoreStatistics panel
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this will make refactoring easier for panels that are reused from pve
(where we always have a hostname)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we have to use the correct store, and we have to manually show the
error (since monStoreErrors only works for Proxmox Proxies)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Get the first visible node through the Ext.data.NodeInterface defined
"firstChild" element and expand that if there's only one archive
present.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
enables to be able to download whole files from the backup (e.g.
the decoded didx/fidx/blobs) for unencrypted backups
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
do not use two different gettexts for groups and single backups
and correct logic for backup groups
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this also contains an adapted CreateDirectory window
for now this is mostly copied, since refactoring was not that
straightforward (changed parameters, etc.)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
by querying the new /status/task api every 15 seconds
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
[w.bumiller@proxmox.com: fixup from d.csapak@proxmox.com]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
LongestTasks:
grid that shows tasks sorted by duration in descending order
RunningTasks:
grid that shows all running tasks
TaskSummary:
an overview of backup,prune,gc and sync tasks (error/warning/ok)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
with these changes fa icons in actioncolumns,
they have the same layout as <i> elements on the same line
(they were slightly bigger and offset before)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
shows an overview over the datastores, including a small chart of the
past month and an estimation of when its full
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
by adding them as columns for the config view,
and as a seperate tab on the edit window (this is done to not show
too many options at once)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
split them into two files and put them into the respective directory
refactor the DataStoreConfigPanel to controller/view
and the DataStoreEdit window/inputpanel to simply an editwindow
(there is no need to have a seperate inputpanel) which also
prepares the window for edit (by using pmxDisplayEditFields)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We will show an overall status of the DataStores in the Dashboard, so there
is no need for a seperate DataStores Status.
This means we can move the Config to where the Status was, and remove
the duplicated entry in the NavigationTree, reducing confusion for users
We can still seperate the permissions by simply showing a permission
denied error, or simply leaving the list empty
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the remove button did not get the selModel since the xytpe was not
'grid' so give it the correct xtype
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
if the last sync job is too far in the past (or there was none at all
for now) we run it at the next iteration, so we want to show that
we now calculate the next_run by using either the real last endtime
as time or 0
then in the frontend, we check if the next_run is < now and show 'pending'
(we do it this way also for replication on pve)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this uses different parameters which we want to be the same for
all products (e.g. secure cookie)
leave the PBS.Utils.updateLoginData for the case that we want to do
something more here (as in pve for example)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
while touching it, make columns and tbar in DataStoreContent.js
declarative members and remove the (now) unnecessary initComponent
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
shows a nice overview of sync jobs (incl status of last run, estimated
next run, etc.) with options to add/edit/remove and also show the
log of the last run and manually run it now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
'sync' is used for manually pulling a remote datastore
changing it for a scheduled sync to 'syncjob' so that we can
differentiate between both types of syncs
this also adds a seperate task description for it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
when using a diffstore, we have to add all used columns to the model,
else they will not refresh on a load
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Avoid triggering non-required background updates during browsing a
datastores content or statistics panels. They're not expensive, but I
do not like such behavior at all (having traveled with trains and
spotty network to often)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Mostly refactoring, but actually fixes an issue where one seldom run
into a undefined dereference due to the store onLoad callback getting
triggered after some of the componet was destroyed - on quick
switching through the datastores.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
adding a new one after load will append it still at the end, though.
But datastores are not something which get frequently added after
initial setup, so don't care about that for now..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
by introducing a datastorepanel (a TabPanel) which holds the content
and acl panel for now.
to be able to handle this in the router, we have to change the logic
of how to select the datastore from using the subpath to putting it
into the path (and extracting it when necessary)
if we need this again (e.g. possibly for remotes), we can further
refactor this logic to be more generic
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this has to be different from pve for now, since the default of
'enabled' is reverted (pve: default disabled, pbs: default enabled)
if we decide to change this either here or in pve, we can refactor
it to the widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
using a handlebars instance in ApiConfig, to cache the templates
as long as possible, this is currently ok, as the index template
can only change when the whole package changes
if we split this in the future, we have to trigger a reload of
the daemon on gui package upgrade (so that the template gets reloaded)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>