]> git.proxmox.com Git - pmg-gui.git/blobdiff - js/UserBlackWhiteList.js
bump version to 1.0-42
[pmg-gui.git] / js / UserBlackWhiteList.js
index 1c9ad0776093077c8b3fb5cb0fe6be61fbd953e0..3cc5adbf340e0f9fe69b49b907c48578030f0153 100644 (file)
@@ -1,3 +1,4 @@
+/*global Proxmox*/
 Ext.define('pmg-address-list', {
     extend: 'Ext.data.Model',
     fields: [ 'address' ],
@@ -11,6 +12,8 @@ Ext.define('PMG.UserBlackWhiteList', {
     border: false,
     listname: undefined, // 'blacklist' or 'whitelist',
 
+    emptyText: gettext('No data in database'),
+
     controller: {
 
         xclass: 'Ext.app.ViewController',
@@ -31,14 +34,15 @@ Ext.define('PMG.UserBlackWhiteList', {
                items.push({
                    xtype: 'hidden',
                    name: key,
-                   value: value,
+                   value: value
                });
            });
 
            var config = {
                method: 'POST',
                url: url,
-               create: true,
+               onlineHelp: 'pmg_userblackwhitelist',
+               isCreate: true,
                isAdd: true,
                items: items
            };
@@ -52,14 +56,16 @@ Ext.define('PMG.UserBlackWhiteList', {
            }
 
            var win = Ext.createWidget('proxmoxWindowEdit', config);
-           win.on('destroy', function() { me.store.load() });
+           win.on('destroy', function() { me.store.load(); });
            win.show();
        },
 
        onRemoveAddress: function() {
            var me = this.getView();
            var rec = me.selModel.getSelection()[0];
-           if (!rec) return;
+           if (!rec) {
+               return;
+           }
 
            var params = me.getStore().getProxy().getExtraParams() || {};
            var url = '/quarantine/' + me.listname + '/' + rec.getId();
@@ -79,18 +85,20 @@ Ext.define('PMG.UserBlackWhiteList', {
 
        changeEmail: function(combobox, value) {
            var view = this.getView();
-           view.getStore().getProxy().setExtraParams({
-               pmail: value
-           });
-           view.getStore().load();
+           if (value && combobox.isValid()) {
+               view.getStore().getProxy().setExtraParams({
+                   pmail: value
+               });
+               view.getStore().load();
+           }
        },
 
-       init: function() {
-           var view = this.getView();
-
+       init: function(view) {
            if (PMG.view === 'quarantineview') {
                this.lookupReference('email').setVisible(false);
+               view.getStore().load();
            }
+           Proxmox.Utils.monStoreErrors(view.getView(), view.getStore(), true);
        },
 
        control: {
@@ -107,19 +115,27 @@ Ext.define('PMG.UserBlackWhiteList', {
        {
            xtype: 'combobox',
            displayField: 'mail',
+           vtype: 'email',
+           allowBlank: false,
            valueField: 'mail',
            store: {
                proxy: {
                    type: 'proxmox',
                    url: '/api2/json/quarantine/quarusers'
-               }
+               },
+               fields: [
+                   {
+                       name: 'mail',
+                       renderer: Ext.htmlEncode
+                   }
+               ]
            },
            queryParam: false,
            queryCaching: false,
            editable: true,
            reference: 'email',
            name: 'email',
-           fieldLabel: 'E-Mail',
+           fieldLabel: 'E-Mail'
        },
        {
            text: gettext('Add'),
@@ -161,11 +177,11 @@ Ext.define('PMG.UserBlacklist', {
 
     store: {
        model: 'pmg-address-list',
-       autoLoad: true,
+       autoDestroy: true,
        proxy: {
             type: 'proxmox',
             url: "/api2/json/quarantine/blacklist"
-       },
+       }
     },
 
     dockedItems: [
@@ -174,7 +190,7 @@ Ext.define('PMG.UserBlacklist', {
            bodyStyle: {
                padding: '10px',
                'border-left': '0px',
-               'border-right': '0px',
+               'border-right': '0px'
            },
             html: gettext('With this feature, you can manually mark E-mails from certain domains or addresses as spam.') + '<br><br>' +
                '<b>*.com</b> (all mails from <b>.com</b> domains)' + '<br>' +
@@ -195,11 +211,11 @@ Ext.define('PMG.UserWhitelist', {
 
     store: {
        model: 'pmg-address-list',
-       autoLoad: true,
+       autoDestroy: true,
        proxy: {
             type: 'proxmox',
             url: "/api2/json/quarantine/whitelist"
-       },
+       }
     },
 
     dockedItems: [
@@ -208,7 +224,7 @@ Ext.define('PMG.UserWhitelist', {
            bodyStyle: {
                padding: '10px',
                'border-left': '0px',
-               'border-right': '0px',
+               'border-right': '0px'
            },
             html: gettext('With this feature, you can manually bypass spam checking for certain domains or E-mail addresses.') + '<br><br>' +
                '<b>*.com</b> (all mails from <b>.com</b> domains)' + '<br>' +