Spaces:
Sleeping
Sleeping
| var saveButton; | |
| var testButton; | |
| var storeUsers; | |
| var disableAll; | |
| var enableInterfazCertificate; | |
| Ext.onReady(function() { | |
| Ext.QuickTips.init(); | |
| testButton = new Ext.Action({ | |
| text : _('ID_TEST_CONNECTION'), | |
| disabled : true, | |
| handler : testSettings | |
| }); | |
| saveButton = new Ext.Action({ | |
| text : _('ID_SAVE_SETTINGS'), | |
| disabled : true, | |
| handler : saveSettings | |
| }); | |
| disableAll = function () { | |
| Ext.getCmp('emailServiceAccount').disable(); | |
| Ext.getCmp('googleCertificate').disable(); | |
| Ext.getCmp('labelFileGoogleCertificate').disable(); | |
| testButton.disable(); | |
| saveButton.disable(); | |
| Ext.getCmp('emailServiceAccount').hide(); | |
| Ext.getCmp('googleCertificate').hide(); | |
| Ext.getCmp('labelFileGoogleCertificate').hide(); | |
| Ext.getCmp('listUsers').hide(); | |
| Ext.getCmp('testPMGmail').hide(); | |
| }; | |
| enableInterfazCertificate = function () { | |
| Ext.getCmp('emailServiceAccount').enable(); | |
| Ext.getCmp('googleCertificate').enable(); | |
| Ext.getCmp('labelFileGoogleCertificate').enable(); | |
| Ext.getCmp('emailServiceAccount').show(); | |
| Ext.getCmp('googleCertificate').show(); | |
| Ext.getCmp('labelFileGoogleCertificate').show(); | |
| testButton.enable(); | |
| }; | |
| var configurationPMGmail = new Ext.form.FieldSet({ | |
| title: _('ID_PMGMAIL_SETTINGS'), | |
| items: [ | |
| { | |
| xtype: 'checkbox', | |
| id: 'serviceGmailStatus', | |
| name: 'serviceGmailStatus', | |
| boxLabel: _('ID_ENABLE_PMGMAIL'), | |
| value: 0, | |
| inputValue: 1, | |
| uncheckedValue: 0, | |
| disabled: disableGmail, | |
| listeners : { | |
| check : function(that, checked) { | |
| disableAll(); | |
| if (checked) { | |
| enableInterfazCertificate(); | |
| } else { | |
| Ext.MessageBox.confirm( | |
| _('ID_CONFIRM'), | |
| _('ID_PMGMAIL_DISABLE'), | |
| function (btn, text) { | |
| if (btn == "yes") { | |
| if (Ext.getCmp('serviceDriveStatus').getValue()) { | |
| enableInterfazCertificate(); | |
| } | |
| saveButton.enable(); | |
| } else { | |
| enableInterfazCertificate(); | |
| Ext.getCmp('serviceGmailStatus').setValue(1); | |
| } | |
| } | |
| ); | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : '', | |
| text : _('ID_GMAIL_HELP_ENABLE'), | |
| style : "padding-left:180px; display: inline-block;" | |
| }, | |
| { | |
| xtype: 'checkbox', | |
| id: 'serviceDriveStatus', | |
| name: 'serviceDriveStatus', | |
| boxLabel: _('ID_ENABLE_PMDRIVE'), | |
| value: 0, | |
| inputValue: 1, | |
| uncheckedValue: 0, | |
| disabled: disableDrive, | |
| listeners : { | |
| check : function(that, checked) { | |
| disableAll(); | |
| if (checked) { | |
| enableInterfazCertificate(); | |
| } else { | |
| Ext.MessageBox.confirm( | |
| _('ID_CONFIRM'), | |
| _('ID_PMDRIVE_DISABLE'), | |
| function (btn, text) { | |
| if (btn == "yes") { | |
| if (Ext.getCmp('serviceGmailStatus').getValue()) { | |
| enableInterfazCertificate(); | |
| } | |
| saveButton.enable(); | |
| } else { | |
| enableInterfazCertificate(); | |
| Ext.getCmp('serviceDriveStatus').setValue(1); | |
| } | |
| } | |
| ); | |
| } | |
| } | |
| } | |
| }, | |
| { | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : '', | |
| text : _('ID_DRIVE_HELP_ENABLE'), | |
| style : "padding-left:180px; display: inline-block;" | |
| }, | |
| { | |
| xtype : 'textfield', | |
| id : 'emailServiceAccount', | |
| name : 'emailServiceAccount', | |
| fieldLabel : _('ID_PMG_EMAIL'), | |
| width : 400, | |
| allowBlank : false, | |
| value : accountEmail, | |
| listeners : { | |
| change: function(){ | |
| changeSettings(); | |
| }, | |
| focus : function(tb, e) { | |
| Ext.QuickTips.register({ | |
| target: tb, | |
| title: _('ID_PMG_EMAIL'), | |
| text: accountEmail | |
| }); | |
| } | |
| } | |
| }, | |
| { | |
| xtype : 'fileuploadfield', | |
| id : 'googleCertificate', | |
| emptyText : _('ID_PMG_SELECT_FILE'), | |
| fieldLabel : _('ID_PMG_FILE'), | |
| name : 'googleCertificate', | |
| buttonText : '', | |
| width : 400, | |
| buttonCfg : { | |
| iconCls : 'upload-icon' | |
| }, | |
| listeners:{ | |
| change : function(){ | |
| changeSettings(); | |
| }, | |
| afterrender:function(cmp){ | |
| changeSettings(); | |
| cmp.fileInput.set({ | |
| accept:'*/json' | |
| }); | |
| } | |
| }, | |
| regex : /(.)+((\.json)(\w)?)$/i, | |
| regexText : _('ID_PMG_TYPE_ACCEPT') | |
| }, | |
| { | |
| xtype : 'label', | |
| id : 'labelFileGoogleCertificate', | |
| name : 'labelFileGoogleCertificate', | |
| labelAlign : 'right', | |
| fieldLabel : '', | |
| text : googleCertificate, | |
| width : 400, | |
| style : "padding-left:180px;" | |
| } | |
| ] | |
| }); | |
| var testPMGmail = new Ext.form.FieldSet({ | |
| id : 'testPMGmail', | |
| title : _('ID_TEST_CONNECTION'), | |
| hidden : true, | |
| items : [ | |
| { | |
| id : 'currentUserName', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : _('ID_CURRENT_USER'), | |
| text : '', | |
| width : 400 | |
| }, | |
| { | |
| id : 'rootFolderId', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : _('ID_ROOT_FOLDER'), | |
| text : '', | |
| width : 400 | |
| }, | |
| { | |
| id : 'quotaType', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : _('ID_QUOTA_TYPE'), | |
| text : '', | |
| width : 400 | |
| }, | |
| { | |
| id : 'quotaBytesTotal', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : _('ID_QUOTA_TOTAL'), | |
| text : '', | |
| width : 400 | |
| }, | |
| { | |
| id : 'quotaBytesUsed', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| fieldLabel : _('ID_QUOTA_USED'), | |
| text : '', | |
| width : 400 | |
| }, | |
| { | |
| id : 'responseGmailTest', | |
| xtype : 'label', | |
| labelAlign : 'right', | |
| labelStyle : 'font-weight:bold;', | |
| fieldLabel : _('SERVER_RESPONSE'), | |
| text : '', | |
| width : 400 | |
| } | |
| ] | |
| }); | |
| storeUsers = new Ext.data.JsonStore({ | |
| url: '../pmGmail/testUserGmail', | |
| fields: [ | |
| 'USR_UID', | |
| 'FULL_NAME', | |
| 'EMAIL' | |
| ] | |
| }); | |
| var listViewUsers = new Ext.list.ListView({ | |
| store: storeUsers, | |
| singleSelect: true, | |
| emptyText: _('ID_GRID_PAGE_NO_USERS_MESSAGE'), | |
| reserveScrollOffset: true, | |
| columns: [ | |
| { | |
| header: _('ID_FULL_NAME'), | |
| width:.4, | |
| dataIndex: 'FULL_NAME' | |
| },{ | |
| header: _('ID_EMAIL'), | |
| width:.4, | |
| dataIndex: 'EMAIL' | |
| }] | |
| }); | |
| var listUsers = new Ext.form.FieldSet({ | |
| id : 'listUsers', | |
| title : _('ID_USERS'), | |
| hidden : true, | |
| items : [ | |
| listViewUsers | |
| ] | |
| }); | |
| var formPMGmail = new Ext.FormPanel({ | |
| title : ' ', | |
| id :'formPMGmail', | |
| labelWidth : 170, | |
| labelAlign :'right', | |
| autoScroll : true, | |
| fileUpload : true, | |
| bodyStyle :'padding:5px', | |
| waitMsgTarget : true, | |
| frame : true, | |
| defaults: { | |
| allowBlank: false, | |
| msgTarget: 'side', | |
| align:'center' | |
| }, | |
| items:[ configurationPMGmail, testPMGmail, listUsers ], | |
| buttons : [testButton, saveButton] | |
| }); | |
| var viewport = new Ext.Viewport({ | |
| layout: 'fit', | |
| autoScroll: false, | |
| items: [ | |
| formPMGmail | |
| ] | |
| }); | |
| Ext.getCmp('serviceGmailStatus').checked = statusGmail; | |
| Ext.getCmp('serviceGmailStatus').setValue(statusGmail); | |
| Ext.getCmp('serviceDriveStatus').checked = statusDrive; | |
| Ext.getCmp('serviceDriveStatus').setValue(statusDrive); | |
| if (statusGmail || statusDrive){ | |
| enableInterfazCertificate(); | |
| } | |
| }); | |
| var testSettings = function () | |
| { | |
| storeUsers.reload(); | |
| Ext.getCmp('testPMGmail').hide(); | |
| Ext.getCmp('listUsers').hide(); | |
| Ext.getCmp('currentUserName').setText(''); | |
| Ext.getCmp('rootFolderId').setText(''); | |
| Ext.getCmp('quotaType').setText(''); | |
| Ext.getCmp('quotaBytesTotal').setText(''); | |
| Ext.getCmp('quotaBytesUsed').setText(''); | |
| Ext.getCmp('responseGmailTest').setText(''); | |
| Ext.getCmp('responseGmailTest').container.dom.style.color = 'red'; | |
| Ext.getCmp('formPMGmail').getForm().submit( { | |
| url : '../pmGmail/testConfigPmGmail', | |
| waitMsg : _('ID_TEST_CONNECTION'), | |
| waitTitle : " ", | |
| timeout : 60000, | |
| success : function(obj, resp) { | |
| Ext.getCmp('testPMGmail').show(); | |
| Ext.getCmp('listUsers').show(); | |
| var response = Ext.decode(resp.response.responseText); | |
| Ext.getCmp('currentUserName').setText(response.currentUserName); | |
| Ext.getCmp('rootFolderId').setText(response.rootFolderId); | |
| Ext.getCmp('quotaType').setText(response.quotaType); | |
| Ext.getCmp('quotaBytesTotal').setText(response.quotaBytesTotal); | |
| Ext.getCmp('quotaBytesUsed').setText(response.quotaBytesUsed); | |
| Ext.getCmp('responseGmailTest').setText(response.responseGmailTest); | |
| Ext.getCmp('responseGmailTest').container.dom.style.color = 'green'; | |
| if (storeUsers.data.length == 0) { | |
| saveButton.enable(); | |
| } | |
| }, | |
| failure: function(obj, resp) { | |
| Ext.getCmp('testPMGmail').show(); | |
| Ext.getCmp('listUsers').hide(); | |
| saveButton.disable(); | |
| Ext.getCmp('responseGmailTest').setText(resp.result.responseGmailTest); | |
| } | |
| }); | |
| }; | |
| var saveSettings = function () | |
| { | |
| Ext.getCmp('formPMGmail').getForm().submit( { | |
| url : '../pmGmail/saveConfigPmGmail', | |
| waitMsg : _('ID_SAVING_PROCESS'), | |
| waitTitle : " ", | |
| timeout : 60000, | |
| success : function(obj, resp) { | |
| var response = Ext.decode(resp.response.responseText); | |
| parent.PMExt.notify(_('ID_INFO'),_('ID_SAVED_SUCCESSFULLY')); | |
| location.href = '../pmGmail/formPMGmail'; | |
| }, | |
| failure: function(obj, resp) { | |
| PMExt.error( _('ID_ERROR'), resp.result.message); | |
| } | |
| }); | |
| }; | |
| var changeSettings = function() | |
| { | |
| disableAll(); | |
| if (Ext.getCmp('serviceGmailStatus').checked || Ext.getCmp('serviceDriveStatus').checked) { | |
| enableInterfazCertificate(); | |
| } | |
| }; | |