2020-10-20 11:10:09 +02:00
Ext . define ( 'PBS.window.VerifyJobEdit' , {
extend : 'Proxmox.window.Edit' ,
alias : 'widget.pbsVerifyJobEdit' ,
mixins : [ 'Proxmox.Mixin.CBind' ] ,
userid : undefined ,
2020-11-10 11:45:43 +01:00
onlineHelp : 'maintenance-verification' ,
2020-10-20 11:10:09 +02:00
isAdd : true ,
2021-03-28 16:57:00 +02:00
subject : gettext ( 'Verification Job' ) ,
2020-10-20 11:10:09 +02:00
fieldDefaults : { labelWidth : 120 } ,
2020-10-28 21:25:07 +01:00
defaultFocus : 'field[name="ignore-verified"]' ,
2020-10-20 11:10:09 +02:00
cbindData : function ( initialConfig ) {
let me = this ;
let baseurl = '/api2/extjs/config/verify' ;
let id = initialConfig . id ;
me . isCreate = ! id ;
me . url = id ? ` ${ baseurl } / ${ id } ` : baseurl ;
me . method = id ? 'PUT' : 'POST' ;
2021-01-12 10:21:17 +01:00
me . scheduleValue = id ? null : 'daily' ;
2020-10-20 11:10:09 +02:00
me . autoLoad = ! ! id ;
2020-11-09 16:01:25 +01:00
me . editDatastore = me . datastore === undefined && me . isCreate ;
2020-10-20 11:10:09 +02:00
return { } ;
} ,
2020-10-28 21:25:07 +01:00
viewModel : {
data : {
2022-05-11 09:42:49 +02:00
'ignoreVerified' : true ,
2020-10-28 21:25:07 +01:00
} ,
} ,
2022-05-11 17:20:29 +02:00
controller : {
xclass : 'Ext.app.ViewController' ,
control : {
'pbsDataStoreSelector' : {
change : 'storeChange' ,
} ,
} ,
storeChange : function ( field , value ) {
let view = this . getView ( ) ;
let nsSelector = view . down ( 'pbsNamespaceSelector' ) ;
nsSelector . setDatastore ( value ) ;
} ,
} ,
2020-10-28 21:25:07 +01:00
2020-10-20 11:10:09 +02:00
items : {
xtype : 'inputpanel' ,
2020-10-28 21:25:07 +01:00
onGetValues : function ( values ) {
let me = this ;
if ( ! values . id && me . up ( 'pbsVerifyJobEdit' ) . isCreate ) {
2020-11-11 07:30:52 +01:00
values . id = 'v-' + Ext . data . identifier . Uuid . Global . generate ( ) . slice ( 0 , 13 ) ;
2020-10-28 21:25:07 +01:00
}
return values ;
} ,
2020-10-20 11:10:09 +02:00
column1 : [
{
2020-11-09 16:01:25 +01:00
xtype : 'pmxDisplayEditField' ,
fieldLabel : gettext ( 'Local Datastore' ) ,
2020-10-28 21:25:07 +01:00
name : 'store' ,
submitValue : true ,
2020-10-20 11:10:09 +02:00
cbind : {
2020-11-09 16:01:25 +01:00
editable : '{editDatastore}' ,
2020-10-28 21:25:07 +01:00
value : '{datastore}' ,
2020-10-20 11:10:09 +02:00
} ,
2020-11-09 16:01:25 +01:00
editConfig : {
xtype : 'pbsDataStoreSelector' ,
allowBlank : false ,
} ,
2020-10-20 11:10:09 +02:00
} ,
2022-05-11 09:42:49 +02:00
{
xtype : 'pbsNamespaceSelector' ,
name : 'ns' ,
fieldLabel : gettext ( 'Namespace' ) ,
cbind : {
datastore : '{datastore}' ,
} ,
} ,
{
xtype : 'pbsNamespaceMaxDepth' ,
name : 'max-depth' ,
fieldLabel : gettext ( 'Max. Depth' ) ,
2024-03-06 12:21:04 +01:00
cbind : {
deleteEmpty : '{!isCreate}' ,
} ,
2022-05-11 09:42:49 +02:00
} ,
] ,
column2 : [
2020-10-20 11:10:09 +02:00
{
2020-10-28 21:25:07 +01:00
xtype : 'pbsCalendarEvent' ,
name : 'schedule' ,
fieldLabel : gettext ( 'Schedule' ) ,
emptyText : gettext ( 'none (disabled)' ) ,
2020-10-27 16:20:08 +01:00
cbind : {
2021-01-12 10:21:17 +01:00
value : '{scheduleValue}' ,
2020-10-28 21:25:07 +01:00
deleteEmpty : '{!isCreate}' ,
2020-10-27 16:20:08 +01:00
} ,
2020-10-20 11:10:09 +02:00
} ,
{
xtype : 'proxmoxcheckbox' ,
name : 'ignore-verified' ,
2022-05-11 09:42:49 +02:00
fieldLabel : gettext ( 'Skip Verified' ) ,
2020-10-20 11:10:09 +02:00
uncheckedValue : false ,
value : true ,
2020-10-28 21:25:07 +01:00
bind : {
2022-05-11 09:42:49 +02:00
value : '{ignoreVerified}' ,
2020-10-28 21:25:07 +01:00
} ,
2020-10-20 11:10:09 +02:00
} ,
{
2022-05-11 09:42:49 +02:00
xtype : 'fieldcontainer' ,
layout : 'hbox' ,
fieldLabel : gettext ( 'Re-Verify After' ) ,
items : [
{
xtype : 'pbsVerifyOutdatedAfter' ,
name : 'outdated-after' ,
bind : {
disabled : '{!ignoreVerified}' ,
} ,
cbind : {
deleteEmpty : '{!isCreate}' ,
} ,
flex : 1 ,
} ,
{
xtype : 'displayfield' ,
padding : '0 0 0 5' ,
name : 'unit' ,
submitValue : false ,
value : gettext ( 'days' ) ,
bind : {
disabled : '{!ignoreVerified}' ,
} ,
} ,
] ,
2020-10-20 11:10:09 +02:00
} ,
] ,
columnB : [
{
fieldLabel : gettext ( 'Comment' ) ,
xtype : 'proxmoxtextfield' ,
name : 'comment' ,
cbind : {
deleteEmpty : '{!isCreate}' ,
} ,
} ,
] ,
2022-05-16 18:48:44 +02:00
advancedColumn1 : [
{
2022-05-17 09:47:15 +02:00
xtype : 'pmxDisplayEditField' ,
2022-05-16 18:48:44 +02:00
fieldLabel : gettext ( 'Job ID' ) ,
emptyText : gettext ( 'Autogenerate' ) ,
name : 'id' ,
allowBlank : true ,
regex : PBS . Utils . SAFE _ID _RE ,
2022-05-17 09:47:15 +02:00
cbind : {
editable : '{isCreate}' ,
} ,
2022-05-16 18:48:44 +02:00
} ,
] ,
2020-10-20 11:10:09 +02:00
} ,
} ) ;