]> git.proxmox.com Git - proxmox-backup.git/commitdiff
ui: datastore: rework verify layout, make job ID optional
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 28 Oct 2020 20:25:07 +0000 (21:25 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 28 Oct 2020 20:25:07 +0000 (21:25 +0100)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
www/config/VerifyView.js
www/window/VerifyJobEdit.js

index 7e391226956e27347b220bb4aeaf5c0ef0cc38cd..adcccfce228a6095bf526b427adf1585d8826dd7 100644 (file)
@@ -204,7 +204,7 @@ Ext.define('PBS.config.VerifyJobView', {
        '-',
        {
            xtype: 'proxmoxButton',
-           text: gettext('Log'),
+           text: gettext('Show Log'),
            handler: 'openTaskLog',
            enableFn: (rec) => !!rec.data['last-run-upid'],
            disabled: true,
@@ -223,62 +223,65 @@ Ext.define('PBS.config.VerifyJobView', {
 
     columns: [
        {
-           header: gettext('Verify Job'),
-           width: 100,
-           sortable: true,
-           renderer: Ext.String.htmlEncode,
+           header: gettext('Job ID'),
            dataIndex: 'id',
+           renderer: Ext.String.htmlEncode,
+           flex: 2,
+           sortable: true,
+           hidden: true,
        },
        {
-           header: gettext('Days valid'),
-           width: 125,
+           header: gettext('Skip Verified'),
+           dataIndex: 'ignore-verified',
+           renderer: Proxmox.Utils.format_boolean,
+           flex: 2,
            sortable: true,
-           dataIndex: 'outdated-after',
        },
        {
-           header: gettext('Ignore verified'),
-           width: 125,
+           header: gettext('Re-Verfiy Age'),
+           dataIndex: 'outdated-after',
+           renderer: v => v ? v +' '+ gettext('Days') : gettext('Never'),
+           flex: 2,
            sortable: true,
-           renderer: Proxmox.Utils.format_boolean,
-           dataIndex: 'ignore-verified',
        },
        {
            header: gettext('Schedule'),
-           sortable: true,
            dataIndex: 'schedule',
+           sortable: true,
+           flex: 2,
        },
        {
            header: gettext('Status'),
            dataIndex: 'last-run-state',
-           flex: 1,
            renderer: 'render_verify_status',
+           flex: 4,
        },
        {
            header: gettext('Last Verification'),
-           sortable: true,
-           minWidth: 200,
-           renderer: 'render_optional_timestamp',
            dataIndex: 'last-run-endtime',
+           renderer: 'render_optional_timestamp',
+           flex: 3,
+           sortable: true,
        },
        {
            text: gettext('Duration'),
            dataIndex: 'duration',
-           width: 60,
            renderer: Proxmox.Utils.render_duration,
+           flex: 2,
        },
        {
            header: gettext('Next Run'),
-           sortable: true,
-           minWidth: 200,
-           renderer: 'render_next_run',
            dataIndex: 'next-run',
+           renderer: 'render_next_run',
+           flex: 3,
+           sortable: true,
        },
        {
            header: gettext('Comment'),
-           hidden: true,
-           sortable: true,
-           renderer: Ext.String.htmlEncode,
            dataIndex: 'comment',
+           renderer: Ext.String.htmlEncode,
+           flex: 4,
+           sortable: true,
        },
     ],
 });
index ddcf355bb6423970aa5dd02dac55f903c1b8a1cb..0a1826f6be7aa82dc1980ca709408fbff8cc1f67 100644 (file)
@@ -12,6 +12,7 @@ Ext.define('PBS.window.VerifyJobEdit', {
     subject: gettext('VerifyJob'),
 
     fieldDefaults: { labelWidth: 120 },
+    defaultFocus: 'field[name="ignore-verified"]',
 
     cbindData: function(initialConfig) {
        let me = this;
@@ -26,55 +27,83 @@ Ext.define('PBS.window.VerifyJobEdit', {
        return { };
     },
 
+    viewModel: {
+       data: {
+           'ignore-verified': true,
+       },
+    },
+
     items: {
        xtype: 'inputpanel',
+       onGetValues: function(values) {
+           let me = this;
+
+           if (!values.id && me.up('pbsVerifyJobEdit').isCreate) {
+               values.id = 'auto-' + Ext.data.identifier.Uuid.Global.generate().slice(0, 23);
+           }
+           return values;
+       },
        column1: [
            {
-               fieldLabel: gettext('Verify Job ID'),
-               xtype: 'pmxDisplayEditField',
-               name: 'id',
-               renderer: Ext.htmlEncode,
+               xtype: 'displayfield',
+               name: 'store',
+               fieldLabel: gettext('Datastore'),
                allowBlank: false,
-               minLength: 4,
+               submitValue: true,
                cbind: {
-                   editable: '{isCreate}',
+                   value: '{datastore}',
                },
            },
            {
-               xtype: 'hiddenfield',
-               allowBlank: false,
-               name: 'store',
+               xtype: 'pbsCalendarEvent',
+               name: 'schedule',
+               fieldLabel: gettext('Schedule'),
+               emptyText: gettext('none (disabled)'),
+               value: 'daily',
                cbind: {
-                   value: '{datastore}',
+                   deleteEmpty: '{!isCreate}',
                },
            },
+       ],
+       advancedColumn1: [
            {
-               xtype: 'proxmoxintegerfield',
-               fieldLabel: gettext('Days valid'),
-               minValue: 1,
-               value: '',
+               xtype: 'pmxDisplayEditField',
+               name: 'id',
+               fieldLabel: gettext('Verify Job ID'),
+               emptyText: gettext('Automatic'),
+               renderer: Ext.htmlEncode,
                allowBlank: true,
-               name: 'outdated-after',
-               emptyText: gettext('no expiration'),
+               minLength: 4,
                cbind: {
-                   deleteEmpty: '{!isCreate}',
+                   editable: '{isCreate}',
                },
            },
        ],
 
        column2: [
            {
-               fieldLabel: gettext('Ignore verified'),
                xtype: 'proxmoxcheckbox',
                name: 'ignore-verified',
+               fieldLabel: gettext('Skip verified snapshots'),
+               labelWidth: 150,
                uncheckedValue: false,
                value: true,
+               bind: {
+                   value: '{ignore-verified}',
+               },
            },
            {
-               fieldLabel: gettext('Schedule'),
-               xtype: 'pbsCalendarEvent',
-               name: 'schedule',
-               emptyText: gettext('none'),
+               xtype: 'proxmoxintegerfield',
+               name: 'outdated-after',
+               fieldLabel: gettext('Re-Verify After (days)'),
+               labelWidth: 150,
+               minValue: 1,
+               value: 30,
+               allowBlank: true,
+               emptyText: gettext('Never'),
+               bind: {
+                   disabled: '{!ignore-verified}',
+               },
                cbind: {
                    deleteEmpty: '{!isCreate}',
                },