add core notify server config
authorAlan <alan@roojs.com>
Thu, 5 Oct 2023 07:19:49 +0000 (15:19 +0800)
committerAlan <alan@roojs.com>
Thu, 5 Oct 2023 07:19:49 +0000 (15:19 +0800)
Pman.Dialog.CoreNotifyServer.bjs [new file with mode: 0644]
Pman.Dialog.CoreNotifyServer.js [new file with mode: 0644]
Pman.Tab.CoreNotifyServers.bjs [new file with mode: 0644]
Pman.Tab.CoreNotifyServers.js [new file with mode: 0644]

diff --git a/Pman.Dialog.CoreNotifyServer.bjs b/Pman.Dialog.CoreNotifyServer.bjs
new file mode 100644 (file)
index 0000000..3c1a5be
--- /dev/null
@@ -0,0 +1,176 @@
+{
+ "items" : [
+  {
+   "$ xns" : "Roo",
+   "Boolean closable" : true,
+   "collapsible" : false,
+   "height" : 200,
+   "items" : [
+    {
+     "$ xns" : "Roo",
+     "* prop" : "center",
+     "xtype" : "LayoutRegion"
+    },
+    {
+     "$ xns" : "Roo",
+     "items" : [
+      {
+       "$ url" : "baseURL + '/Roo/core_notify_server'",
+       "$ xns" : "Roo.form",
+       "items" : [
+        {
+         "$ xns" : "Roo.form",
+         "allowBlank" : false,
+         "fieldLabel" : "Hostname",
+         "name" : "hostname",
+         "width" : 200,
+         "xtype" : "TextField"
+        },
+        {
+         "$ xns" : "Roo.form",
+         "allowBlank" : false,
+         "fieldLabel" : "Helo Name",
+         "name" : "helo",
+         "width" : 200,
+         "xtype" : "TextField"
+        },
+        {
+         "$ xns" : "Roo.form",
+         "allowBlank" : false,
+         "fieldLabel" : "Pool Name",
+         "name" : "poolname",
+         "width" : 200,
+         "xtype" : "TextField"
+        },
+        {
+         "$ xns" : "Roo.form",
+         "String fieldLabel" : "Is Active?",
+         "String name" : "is_active",
+         "xtype" : "Checkbox"
+        },
+        {
+         "$ xns" : "Roo.form",
+         "name" : "id",
+         "xtype" : "Hidden"
+        }
+       ],
+       "labelWidth" : 150,
+       "listeners" : {
+        "actionfailed" : [
+         "function (_self, action)",
+         "{",
+         "    _this.dialog.el.unmask();",
+         "    ",
+         "    Pman.standardActionFailed(_self, action);",
+         "}"
+        ],
+        "|actioncomplete" : [
+         "function(_self,action)",
+         "{",
+         "    if (action.type == 'setdata') {",
+         "       ",
+         "       if (_this.data.clone_of) {",
+         "           _this.dialog.el.mask(\"Loading\");",
+         "            this.load({ method: 'GET', params: { '_id' : _this.data.clone_of }});",
+         "       }",
+         "       return;",
+         "    }",
+         "    if (action.type == 'load') {",
+         "        _this.dialog.el.unmask();",
+         "        // unset the id..",
+         "        ",
+         "        return;",
+         "    }",
+         "    if (action.type =='submit') {",
+         "    ",
+         "        _this.dialog.el.unmask();",
+         "        _this.dialog.hide();",
+         "        ",
+         "         ",
+         "        _this.form.reset();",
+         "         ",
+         "         _this.callback.call(_this, action.result.data);",
+         "  ",
+         "        ",
+         "         return;",
+         "    }",
+         "}",
+         ""
+        ],
+        "|rendered" : [
+         "function (form)",
+         "{",
+         "    _this.form= form;",
+         "}",
+         ""
+        ]
+       },
+       "method" : "POST",
+       "style" : "margin:10px;",
+       "xtype" : "Form"
+      }
+     ],
+     "region" : "center",
+     "xtype" : "ContentPanel"
+    },
+    {
+     "$ xns" : "Roo",
+     "* prop" : "buttons[]",
+     "listeners" : {
+      "click" : [
+       "function (_self, e)",
+       "{",
+       "   _this.dialog.hide();",
+       "",
+       "}"
+      ]
+     },
+     "text" : "Cancel",
+     "xtype" : "Button"
+    },
+    {
+     "$ xns" : "Roo",
+     "* prop" : "buttons[]",
+     "listeners" : {
+      "click" : [
+       "function (_self, e)",
+       "{",
+       " ",
+       "    _this.form.doAction(\"submit\");",
+       "",
+       "}"
+      ]
+     },
+     "text" : "Save",
+     "xtype" : "Button"
+    }
+   ],
+   "modal" : true,
+   "resizable" : false,
+   "title" : "Add / Edit Server",
+   "width" : 500,
+   "xtype" : "LayoutDialog"
+  }
+ ],
+ "modOrder" : "001",
+ "name" : "Pman.Dialog.CoreNotifyServer",
+ "named_strings" : {
+  "helo_fieldLabel" : "2059e6f007c7ec60d08be149f4196c0c",
+  "hostname_fieldLabel" : "c8f4b8c435b3d99a66e1b91bec60737c",
+  "is_active_fieldLabel" : "e253f01e45700c07327115a5e6d677bf",
+  "poolname_fieldLabel" : "7e240928383acb93e5066a6149430337"
+ },
+ "parent" : "",
+ "path" : "/home/alan/gitlive/Pman.Admin/Pman.Dialog.CoreNotifyServer.bjs",
+ "permname" : "",
+ "strings" : {
+  "2059e6f007c7ec60d08be149f4196c0c" : "Helo Name",
+  "7082f08d3a32017e44122c3c708ce06a" : "Add / Edit Server",
+  "7e240928383acb93e5066a6149430337" : "Pool Name",
+  "c8f4b8c435b3d99a66e1b91bec60737c" : "Hostname",
+  "c9cc8cce247e49bae79f15173ce97354" : "Save",
+  "e253f01e45700c07327115a5e6d677bf" : "Is Active?",
+  "ea4788705e6873b424c65e91c2846b19" : "Cancel"
+ },
+ "title" : ""
+}
\ No newline at end of file
diff --git a/Pman.Dialog.CoreNotifyServer.js b/Pman.Dialog.CoreNotifyServer.js
new file mode 100644 (file)
index 0000000..1e54e39
--- /dev/null
@@ -0,0 +1,198 @@
+//<script type="text/javascript">
+
+// Auto generated file - created by app.Builder.js- do not edit directly (at present!)
+
+Roo.namespace('Pman.Dialog');
+
+Pman.Dialog.CoreNotifyServer = {
+
+ _strings : {
+  '7082f08d3a32017e44122c3c708ce06a' :"Add / Edit Server",
+  '7e240928383acb93e5066a6149430337' :"Pool Name",
+  'ea4788705e6873b424c65e91c2846b19' :"Cancel",
+  '2059e6f007c7ec60d08be149f4196c0c' :"Helo Name",
+  'e253f01e45700c07327115a5e6d677bf' :"Is Active?",
+  'c8f4b8c435b3d99a66e1b91bec60737c' :"Hostname",
+  'c9cc8cce247e49bae79f15173ce97354' :"Save"
+ },
+ _named_strings : {
+  'hostname_fieldLabel' : 'c8f4b8c435b3d99a66e1b91bec60737c' /* Hostname */ ,
+  'is_active_fieldLabel' : 'e253f01e45700c07327115a5e6d677bf' /* Is Active? */ ,
+  'poolname_fieldLabel' : '7e240928383acb93e5066a6149430337' /* Pool Name */ ,
+  'helo_fieldLabel' : '2059e6f007c7ec60d08be149f4196c0c' /* Helo Name */ 
+ },
+
+ dialog : false,
+ callback:  false,
+
+ show : function(data, cb)
+ {
+  if (!this.dialog) {
+   this.create();
+  }
+
+  this.callback = cb;
+  this.data = data;
+  this.dialog.show.apply(this.dialog,  Array.prototype.slice.call(arguments).slice(2));
+  if (this.form) {
+   this.form.reset();
+   this.form.setValues(data);
+   this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
+  }
+
+ },
+
+ create : function()
+ {
+   var _this = this;
+   this.dialog = Roo.factory({
+    xtype : 'LayoutDialog',
+    closable : true,
+    collapsible : false,
+    height : 200,
+    modal : true,
+    resizable : false,
+    title : _this._strings['7082f08d3a32017e44122c3c708ce06a'] /* Add / Edit Server */,
+    width : 500,
+    xns : Roo,
+    '|xns' : 'Roo',
+    center : {
+     xtype : 'LayoutRegion',
+     xns : Roo,
+     '|xns' : 'Roo'
+    },
+    buttons : [
+     {
+      xtype : 'Button',
+      text : _this._strings['ea4788705e6873b424c65e91c2846b19'] /* Cancel */,
+      listeners : {
+       click : function (_self, e)
+        {
+           _this.dialog.hide();
+        
+        }
+      },
+      xns : Roo,
+      '|xns' : 'Roo'
+     },
+     {
+      xtype : 'Button',
+      text : _this._strings['c9cc8cce247e49bae79f15173ce97354'] /* Save */,
+      listeners : {
+       click : function (_self, e)
+        {
+         
+            _this.form.doAction("submit");
+        
+        }
+      },
+      xns : Roo,
+      '|xns' : 'Roo'
+     }
+    ],
+    items  : [
+     {
+      xtype : 'ContentPanel',
+      region : 'center',
+      xns : Roo,
+      '|xns' : 'Roo',
+      items  : [
+       {
+        xtype : 'Form',
+        labelWidth : 150,
+        method : 'POST',
+        style : 'margin:10px;',
+        url : baseURL + '/Roo/core_notify_server',
+        listeners : {
+         actioncomplete : function(_self,action)
+          {
+              if (action.type == 'setdata') {
+                 
+                 if (_this.data.clone_of) {
+                     _this.dialog.el.mask("Loading");
+                      this.load({ method: 'GET', params: { '_id' : _this.data.clone_of }});
+                 }
+                 return;
+              }
+              if (action.type == 'load') {
+                  _this.dialog.el.unmask();
+                  // unset the id..
+                  
+                  return;
+              }
+              if (action.type =='submit') {
+              
+                  _this.dialog.el.unmask();
+                  _this.dialog.hide();
+                  
+                   
+                  _this.form.reset();
+                   
+                   _this.callback.call(_this, action.result.data);
+            
+                  
+                   return;
+              }
+          },
+         actionfailed : function (_self, action)
+          {
+              _this.dialog.el.unmask();
+              
+              Pman.standardActionFailed(_self, action);
+          },
+         rendered : function (form)
+          {
+              _this.form= form;
+          }
+        },
+        xns : Roo.form,
+        '|xns' : 'Roo.form',
+        items  : [
+         {
+          xtype : 'TextField',
+          allowBlank : false,
+          fieldLabel : _this._strings['c8f4b8c435b3d99a66e1b91bec60737c'] /* Hostname */,
+          name : 'hostname',
+          width : 200,
+          xns : Roo.form,
+          '|xns' : 'Roo.form'
+         },
+         {
+          xtype : 'TextField',
+          allowBlank : false,
+          fieldLabel : _this._strings['2059e6f007c7ec60d08be149f4196c0c'] /* Helo Name */,
+          name : 'helo',
+          width : 200,
+          xns : Roo.form,
+          '|xns' : 'Roo.form'
+         },
+         {
+          xtype : 'TextField',
+          allowBlank : false,
+          fieldLabel : _this._strings['7e240928383acb93e5066a6149430337'] /* Pool Name */,
+          name : 'poolname',
+          width : 200,
+          xns : Roo.form,
+          '|xns' : 'Roo.form'
+         },
+         {
+          xtype : 'Checkbox',
+          fieldLabel : _this._strings['e253f01e45700c07327115a5e6d677bf'] /* Is Active? */,
+          name : 'is_active',
+          xns : Roo.form,
+          '|xns' : 'Roo.form'
+         },
+         {
+          xtype : 'Hidden',
+          name : 'id',
+          xns : Roo.form,
+          '|xns' : 'Roo.form'
+         }
+        ]
+       }
+      ]
+     }
+    ]
+   });
+ }
+};
diff --git a/Pman.Tab.CoreNotifyServers.bjs b/Pman.Tab.CoreNotifyServers.bjs
new file mode 100644 (file)
index 0000000..d4418ae
--- /dev/null
@@ -0,0 +1,389 @@
+{
+ "items" : [
+  {
+   "$ xns" : "Roo",
+   "Boolean background" : true,
+   "String region" : "center",
+   "String title" : "Notify Servers",
+   "items" : [
+    {
+     "$ xns" : "Roo",
+     "* prop" : "layout",
+     "items" : [
+      {
+       "$ xns" : "Roo",
+       "* prop" : "south",
+       "Boolean split" : true,
+       "Number height" : 200,
+       "xtype" : "LayoutRegion"
+      },
+      {
+       "$ xns" : "Roo",
+       "* prop" : "center",
+       "xtype" : "LayoutRegion"
+      },
+      {
+       "$ xns" : "Roo",
+       "Boolean background" : true,
+       "fitContainer" : true,
+       "fitToframe" : true,
+       "items" : [
+        {
+         "$ xns" : "Roo.grid",
+         "* prop" : "grid",
+         "autoExpandColumn" : "hostname",
+         "items" : [
+          {
+           "$ xns" : "Roo",
+           "* prop" : "toolbar",
+           "items" : [
+            {
+             "$ xns" : "Roo.Toolbar",
+             "String text" : "Add",
+             "listeners" : {
+              "click" : [
+               "function() ",
+               "{",
+               "    Pman.Dialog.CoreNotifyServer.show(",
+               "         {}, function() {",
+               "        _this.sgrid.footer.onClick('first');",
+               "    }); ",
+               "}"
+              ]
+             },
+             "xtype" : "Button"
+            },
+            {
+             "$ xns" : "Roo.Toolbar",
+             "xtype" : "Fill"
+            },
+            {
+             "$ xns" : "Roo.Toolbar",
+             "String text" : "Remove",
+             "listeners" : {
+              "click" : [
+               "function (_self, e)",
+               "{",
+               "       Pman.genericDelete(_this.spanel, 'core_notify_server');",
+               "}"
+              ]
+             },
+             "xtype" : "Button"
+            }
+           ],
+           "xtype" : "Toolbar"
+          },
+          {
+           "$ sortInfo" : "{ field : 'hostname', direction: 'ASC' }",
+           "$ xns" : "Roo.data",
+           "* prop" : "dataSource",
+           "items" : [
+            {
+             "$ url" : "baseURL + '/Roo/core_notify_server'",
+             "$ xns" : "Roo.data",
+             "* prop" : "proxy",
+             "method" : "GET",
+             "xtype" : "HttpProxy"
+            },
+            {
+             "$ xns" : "Roo.data",
+             "* prop" : "reader",
+             "id" : "id",
+             "root" : "data",
+             "totalProperty" : "total",
+             "xtype" : "JsonReader"
+            }
+           ],
+           "listeners" : {
+            "beforeload" : [
+             "function (_self, options)",
+             "{",
+             "   ",
+             "    ",
+             "}"
+            ]
+           },
+           "remoteSort" : true,
+           "xtype" : "Store"
+          },
+          {
+           "$ xns" : "Roo",
+           "* prop" : "footer",
+           "displayInfo" : true,
+           "displayMsg" : "Displaying Servers {0} - {1} of {2}",
+           "emptyMsg" : "No Servers found",
+           "pageSize" : 25,
+           "xtype" : "PagingToolbar"
+          },
+          {
+           "$ renderer" : [
+            "function(v) {",
+            "    var state = v> 0 ?  '-checked' : '';",
+            "",
+            "    return '<img class=\"x-grid-check-icon' + state + '\" src=\"' + Roo.BLANK_IMAGE_URL + '\"/>';",
+            "}"
+           ],
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "is_active",
+           "header" : "Is Active",
+           "width" : 100,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "hostname",
+           "header" : "Hostname",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "helo",
+           "header" : "Helo",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "poolname",
+           "header" : "Pool",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ Function renderer" : [
+            "function(v,x,r) {",
+            "",
+            "    return r.data.in_queue || 0;",
+            "}"
+           ],
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "in_queue",
+           "header" : "In Queue",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y  H:i:s') : ''); }",
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "last_send",
+           "header" : "Last Sent",
+           "width" : 120,
+           "xtype" : "ColumnModel"
+          }
+         ],
+         "listeners" : {
+          "rowclick" : [
+           "function (_self, rowIndex, e)",
+           "{",
+           "    (function() { ",
+           "        _this.bgrid.footer.onClick('first');",
+           "    }).defer(100);",
+           "}"
+          ],
+          "|render" : [
+           "function() ",
+           "{",
+           "    _this.sgrid = this; ",
+           "    //_this.dialog = Pman.Dialog.FILL_IN",
+           "    if (_this.spanel.active) {",
+           "       this.footer.onClick('first');",
+           "    }",
+           "}"
+          ],
+          "|rowdblclick" : [
+           "function (_self, rowIndex, e)",
+           "{",
+           "    ",
+           "    Pman.Dialog.CoreNotifyServer.show(",
+           "         this.getDataSource().getAt(rowIndex).data, function() {",
+           "        _this.sgrid.footer.onClick('first');",
+           "    }); ",
+           "}",
+           ""
+          ]
+         },
+         "loadMask" : true,
+         "xtype" : "Grid"
+        }
+       ],
+       "listeners" : {
+        "|activate" : [
+         "function() {",
+         "    _this.spanel = this;",
+         "    if (_this.sgrid) {",
+         "        _this.sgrid.footer.onClick('first');",
+         "    }",
+         "}"
+        ]
+       },
+       "region" : "center",
+       "tableName" : "core_notify_server",
+       "title" : "Servers",
+       "xtype" : "GridPanel"
+      },
+      {
+       "$ xns" : "Roo",
+       "Boolean background" : true,
+       "fitContainer" : true,
+       "fitToframe" : true,
+       "items" : [
+        {
+         "$ xns" : "Roo.grid",
+         "* prop" : "grid",
+         "autoExpandColumn" : "error_msg",
+         "items" : [
+          {
+           "$ xns" : "Roo",
+           "* prop" : "toolbar",
+           "items" : [
+            {
+             "$ xns" : "Roo.Toolbar",
+             "xtype" : "Fill"
+            },
+            {
+             "$ xns" : "Roo.Toolbar",
+             "String text" : "Remove",
+             "xtype" : "Button"
+            }
+           ],
+           "xtype" : "Toolbar"
+          },
+          {
+           "$ sortInfo" : "{ field : 'person_id_name', direction: 'ASC' }",
+           "$ xns" : "Roo.data",
+           "* prop" : "dataSource",
+           "items" : [
+            {
+             "$ url" : "baseURL + '/Roo/core_notify_blacklist'",
+             "$ xns" : "Roo.data",
+             "* prop" : "proxy",
+             "method" : "GET",
+             "xtype" : "HttpProxy"
+            },
+            {
+             "$ xns" : "Roo.data",
+             "* prop" : "reader",
+             "id" : "id",
+             "root" : "data",
+             "totalProperty" : "total",
+             "xtype" : "JsonReader"
+            }
+           ],
+           "listeners" : {
+            "beforeload" : [
+             "function (_self, opts)",
+             "{",
+             "    if(!_this.sgrid.getSelectionModel().getSelected()) {",
+             "        return false;",
+             "    }",
+             "    ",
+             "    opts.params.server_id =    _this.sgrid.getSelectionModel().getSelected().data.id;",
+             "}"
+            ]
+           },
+           "remoteSort" : true,
+           "xtype" : "Store"
+          },
+          {
+           "$ xns" : "Roo",
+           "* prop" : "footer",
+           "displayInfo" : true,
+           "displayMsg" : "Displaying Blacklists {0} - {1} of {2}",
+           "emptyMsg" : "No Blacklists found",
+           "pageSize" : 25,
+           "xtype" : "PagingToolbar"
+          },
+          {
+           "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }",
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "added_dt",
+           "header" : "Added",
+           "width" : 120,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "domain_id_domain",
+           "header" : "Domain",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          },
+          {
+           "$ xns" : "Roo.grid",
+           "* prop" : "colModel[]",
+           "dataIndex" : "error_msg",
+           "header" : "Error",
+           "width" : 150,
+           "xtype" : "ColumnModel"
+          }
+         ],
+         "listeners" : {
+          "|render" : [
+           "function() ",
+           "{",
+           "    _this.bgrid = this; ",
+           "    //_this.dialog = Pman.Dialog.FILL_IN",
+           "    ",
+           "}"
+          ]
+         },
+         "loadMask" : true,
+         "xtype" : "Grid"
+        }
+       ],
+       "listeners" : {
+        "|activate" : [
+         "function() {",
+         "    _this.bpanel = this;",
+         "   ",
+         "}"
+        ]
+       },
+       "region" : "south",
+       "tableName" : "core_notify_recur",
+       "title" : "Recurrent Notifications",
+       "xtype" : "GridPanel"
+      }
+     ],
+     "xtype" : "BorderLayout"
+    }
+   ],
+   "xtype" : "NestedLayoutPanel"
+  }
+ ],
+ "modOrder" : "900",
+ "name" : "Pman.Tab.CoreNotifyServers",
+ "parent" : "Pman.Tab.AdminWatchNotify",
+ "path" : "/home/alan/gitlive/Pman.Admin/Pman.Tab.CoreNotifyServers.bjs",
+ "permname" : "",
+ "strings" : {
+  "1063e38cb53d94d386f21227fcd84717" : "Remove",
+  "1203cd27e4d1ab6f1296728c021d9c1a" : "Is Active",
+  "2023301a71db57f37d50da7d045b881a" : "Displaying Servers {0} - {1} of {2}",
+  "2ddb157d4780e8883fbde96f354c57d2" : "Displaying Blacklists {0} - {1} of {2}",
+  "774ff60df30a64fad1d29f6c2daa8691" : "No Servers found",
+  "825bd435c12978e8492330c2a0d823db" : "Helo",
+  "902b0d55fddef6f8d651fe1035b7d4bd" : "Error",
+  "ac659513b2353187192e88c5d1988228" : "Servers",
+  "b26686c0a708faee42861d8b905e882e" : "Last Sent",
+  "be6838286e448ad65c5b55d690e2c38b" : "In Queue",
+  "c348b06d2667edd048ded3c1b1878cc1" : "Recurrent Notifications",
+  "c5dd93dd1011986763b5925e0af25e08" : "No Blacklists found",
+  "c8f4b8c435b3d99a66e1b91bec60737c" : "Hostname",
+  "def36b726efed529b13ba240dd331a12" : "Pool",
+  "e3974584afa867d8619253bc669d6197" : "Notify Servers",
+  "eae639a70006feff484a39363c977e24" : "Domain",
+  "ec211f7c20af43e742bf2570c3cb84f9" : "Add",
+  "f29ddbfb905eb2593fdcdfb243f9af85" : "Added"
+ },
+ "title" : "Pman.Tab.CoreNotifyServers"
+}
\ No newline at end of file
diff --git a/Pman.Tab.CoreNotifyServers.js b/Pman.Tab.CoreNotifyServers.js
new file mode 100644 (file)
index 0000000..dc604db
--- /dev/null
@@ -0,0 +1,373 @@
+//<script type="text/javascript">
+
+// Auto generated file - created by app.Builder.js- do not edit directly (at present!)
+
+Roo.namespace('Pman.Tab');
+
+Pman.Tab.CoreNotifyServers = new Roo.XComponent({
+
+ _strings : {
+  'ac659513b2353187192e88c5d1988228' :"Servers",
+  'ec211f7c20af43e742bf2570c3cb84f9' :"Add",
+  '2ddb157d4780e8883fbde96f354c57d2' :"Displaying Blacklists {0} - {1} of {2}",
+  'c348b06d2667edd048ded3c1b1878cc1' :"Recurrent Notifications",
+  '774ff60df30a64fad1d29f6c2daa8691' :"No Servers found",
+  '2023301a71db57f37d50da7d045b881a' :"Displaying Servers {0} - {1} of {2}",
+  'c5dd93dd1011986763b5925e0af25e08' :"No Blacklists found",
+  'f29ddbfb905eb2593fdcdfb243f9af85' :"Added",
+  'b26686c0a708faee42861d8b905e882e' :"Last Sent",
+  '1203cd27e4d1ab6f1296728c021d9c1a' :"Is Active",
+  'def36b726efed529b13ba240dd331a12' :"Pool",
+  'be6838286e448ad65c5b55d690e2c38b' :"In Queue",
+  '902b0d55fddef6f8d651fe1035b7d4bd' :"Error",
+  'eae639a70006feff484a39363c977e24' :"Domain",
+  'e3974584afa867d8619253bc669d6197' :"Notify Servers",
+  '825bd435c12978e8492330c2a0d823db' :"Helo",
+  '1063e38cb53d94d386f21227fcd84717' :"Remove",
+  'c8f4b8c435b3d99a66e1b91bec60737c' :"Hostname"
+ },
+
+  part     :  ["Admin", "CoreNotifyServers" ],
+  order    : '900-Pman.Tab.CoreNotifyServers',
+  region   : 'center',
+  parent   : 'Pman.Tab.AdminWatchNotify',
+  name     : "Pman.Tab.CoreNotifyServers",
+  disabled : false, 
+  permname : '', 
+  _tree : function(_data)
+  {
+   var _this = this;
+   var MODULE = this;
+   return {
+   xtype : 'NestedLayoutPanel',
+   background : true,
+   region : 'center',
+   title : _this._strings['e3974584afa867d8619253bc669d6197'] /* Notify Servers */,
+   xns : Roo,
+   '|xns' : 'Roo',
+   layout : {
+    xtype : 'BorderLayout',
+    xns : Roo,
+    '|xns' : 'Roo',
+    center : {
+     xtype : 'LayoutRegion',
+     xns : Roo,
+     '|xns' : 'Roo'
+    },
+    south : {
+     xtype : 'LayoutRegion',
+     height : 200,
+     split : true,
+     xns : Roo,
+     '|xns' : 'Roo'
+    },
+    items  : [
+     {
+      xtype : 'GridPanel',
+      background : true,
+      fitContainer : true,
+      fitToframe : true,
+      region : 'center',
+      tableName : 'core_notify_server',
+      title : _this._strings['ac659513b2353187192e88c5d1988228'] /* Servers */,
+      listeners : {
+       activate : function() {
+            _this.spanel = this;
+            if (_this.sgrid) {
+                _this.sgrid.footer.onClick('first');
+            }
+        }
+      },
+      xns : Roo,
+      '|xns' : 'Roo',
+      grid : {
+       xtype : 'Grid',
+       autoExpandColumn : 'hostname',
+       loadMask : true,
+       listeners : {
+        render : function() 
+         {
+             _this.sgrid = this; 
+             //_this.dialog = Pman.Dialog.FILL_IN
+             if (_this.spanel.active) {
+                this.footer.onClick('first');
+             }
+         },
+        rowclick : function (_self, rowIndex, e)
+         {
+             (function() { 
+                 _this.bgrid.footer.onClick('first');
+             }).defer(100);
+         },
+        rowdblclick : function (_self, rowIndex, e)
+         {
+             
+             Pman.Dialog.CoreNotifyServer.show(
+                  this.getDataSource().getAt(rowIndex).data, function() {
+                 _this.sgrid.footer.onClick('first');
+             }); 
+         }
+       },
+       xns : Roo.grid,
+       '|xns' : 'Roo.grid',
+       footer : {
+        xtype : 'PagingToolbar',
+        displayInfo : true,
+        displayMsg : _this._strings['2023301a71db57f37d50da7d045b881a'] /* Displaying Servers {0} - {1} of {2} */,
+        emptyMsg : _this._strings['774ff60df30a64fad1d29f6c2daa8691'] /* No Servers found */,
+        pageSize : 25,
+        xns : Roo,
+        '|xns' : 'Roo'
+       },
+       toolbar : {
+        xtype : 'Toolbar',
+        xns : Roo,
+        '|xns' : 'Roo',
+        items  : [
+         {
+          xtype : 'Button',
+          text : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'] /* Add */,
+          listeners : {
+           click : function() 
+            {
+                Pman.Dialog.CoreNotifyServer.show(
+                     {}, function() {
+                    _this.sgrid.footer.onClick('first');
+                }); 
+            }
+          },
+          xns : Roo.Toolbar,
+          '|xns' : 'Roo.Toolbar'
+         },
+         {
+          xtype : 'Fill',
+          xns : Roo.Toolbar,
+          '|xns' : 'Roo.Toolbar'
+         },
+         {
+          xtype : 'Button',
+          text : _this._strings['1063e38cb53d94d386f21227fcd84717'] /* Remove */,
+          listeners : {
+           click : function (_self, e)
+            {
+                   Pman.genericDelete(_this.spanel, 'core_notify_server');
+            }
+          },
+          xns : Roo.Toolbar,
+          '|xns' : 'Roo.Toolbar'
+         }
+        ]
+       },
+       dataSource : {
+        xtype : 'Store',
+        remoteSort : true,
+        sortInfo : { field : 'hostname', direction: 'ASC' },
+        listeners : {
+         beforeload : function (_self, options)
+          {
+             
+              
+          }
+        },
+        xns : Roo.data,
+        '|xns' : 'Roo.data',
+        proxy : {
+         xtype : 'HttpProxy',
+         method : 'GET',
+         url : baseURL + '/Roo/core_notify_server',
+         xns : Roo.data,
+         '|xns' : 'Roo.data'
+        },
+        reader : {
+         xtype : 'JsonReader',
+         id : 'id',
+         root : 'data',
+         totalProperty : 'total',
+         xns : Roo.data,
+         '|xns' : 'Roo.data'
+        }
+       },
+       colModel : [
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'is_active',
+         header : _this._strings['1203cd27e4d1ab6f1296728c021d9c1a'] /* Is Active */,
+         renderer : function(v) {
+             var state = v> 0 ?  '-checked' : '';
+         
+             return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
+         },
+         width : 100,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'hostname',
+         header : _this._strings['c8f4b8c435b3d99a66e1b91bec60737c'] /* Hostname */,
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'helo',
+         header : _this._strings['825bd435c12978e8492330c2a0d823db'] /* Helo */,
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'poolname',
+         header : _this._strings['def36b726efed529b13ba240dd331a12'] /* Pool */,
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'in_queue',
+         header : _this._strings['be6838286e448ad65c5b55d690e2c38b'] /* In Queue */,
+         renderer : function(v,x,r) {
+         
+             return r.data.in_queue || 0;
+         },
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'last_send',
+         header : _this._strings['b26686c0a708faee42861d8b905e882e'] /* Last Sent */,
+         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y  H:i:s') : ''); },
+         width : 120,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        }
+       ]
+      }
+     },
+     {
+      xtype : 'GridPanel',
+      background : true,
+      fitContainer : true,
+      fitToframe : true,
+      region : 'south',
+      tableName : 'core_notify_recur',
+      title : _this._strings['c348b06d2667edd048ded3c1b1878cc1'] /* Recurrent Notifications */,
+      listeners : {
+       activate : function() {
+            _this.bpanel = this;
+           
+        }
+      },
+      xns : Roo,
+      '|xns' : 'Roo',
+      grid : {
+       xtype : 'Grid',
+       autoExpandColumn : 'error_msg',
+       loadMask : true,
+       listeners : {
+        render : function() 
+         {
+             _this.bgrid = this; 
+             //_this.dialog = Pman.Dialog.FILL_IN
+             
+         }
+       },
+       xns : Roo.grid,
+       '|xns' : 'Roo.grid',
+       footer : {
+        xtype : 'PagingToolbar',
+        displayInfo : true,
+        displayMsg : _this._strings['2ddb157d4780e8883fbde96f354c57d2'] /* Displaying Blacklists {0} - {1} of {2} */,
+        emptyMsg : _this._strings['c5dd93dd1011986763b5925e0af25e08'] /* No Blacklists found */,
+        pageSize : 25,
+        xns : Roo,
+        '|xns' : 'Roo'
+       },
+       toolbar : {
+        xtype : 'Toolbar',
+        xns : Roo,
+        '|xns' : 'Roo',
+        items  : [
+         {
+          xtype : 'Fill',
+          xns : Roo.Toolbar,
+          '|xns' : 'Roo.Toolbar'
+         },
+         {
+          xtype : 'Button',
+          text : _this._strings['1063e38cb53d94d386f21227fcd84717'] /* Remove */,
+          xns : Roo.Toolbar,
+          '|xns' : 'Roo.Toolbar'
+         }
+        ]
+       },
+       dataSource : {
+        xtype : 'Store',
+        remoteSort : true,
+        sortInfo : { field : 'person_id_name', direction: 'ASC' },
+        listeners : {
+         beforeload : function (_self, opts)
+          {
+              if(!_this.sgrid.getSelectionModel().getSelected()) {
+                  return false;
+              }
+              
+              opts.params.server_id =    _this.sgrid.getSelectionModel().getSelected().data.id;
+          }
+        },
+        xns : Roo.data,
+        '|xns' : 'Roo.data',
+        proxy : {
+         xtype : 'HttpProxy',
+         method : 'GET',
+         url : baseURL + '/Roo/core_notify_blacklist',
+         xns : Roo.data,
+         '|xns' : 'Roo.data'
+        },
+        reader : {
+         xtype : 'JsonReader',
+         id : 'id',
+         root : 'data',
+         totalProperty : 'total',
+         xns : Roo.data,
+         '|xns' : 'Roo.data'
+        }
+       },
+       colModel : [
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'added_dt',
+         header : _this._strings['f29ddbfb905eb2593fdcdfb243f9af85'] /* Added */,
+         renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); },
+         width : 120,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'domain_id_domain',
+         header : _this._strings['eae639a70006feff484a39363c977e24'] /* Domain */,
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        },
+        {
+         xtype : 'ColumnModel',
+         dataIndex : 'error_msg',
+         header : _this._strings['902b0d55fddef6f8d651fe1035b7d4bd'] /* Error */,
+         width : 150,
+         xns : Roo.grid,
+         '|xns' : 'Roo.grid'
+        }
+       ]
+      }
+     }
+    ]
+   }
+  };  }
+});