From 4b7705c2073e869d4cd2d1e72e1664927108bf72 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Mon, 11 Apr 2016 14:27:12 +0800 Subject: [PATCH] Pman.Tab.AdminNotify.bjs Pman.Tab.AdminNotify.js --- Pman.Tab.AdminNotify.bjs | 356 +++++++++++++++++++++- Pman.Tab.AdminNotify.js | 618 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 971 insertions(+), 3 deletions(-) diff --git a/Pman.Tab.AdminNotify.bjs b/Pman.Tab.AdminNotify.bjs index 38d5241..1e4bd8b 100644 --- a/Pman.Tab.AdminNotify.bjs +++ b/Pman.Tab.AdminNotify.bjs @@ -5,6 +5,28 @@ "path" : "/home/alan/gitlive/Pman.Admin/Pman.Tab.AdminNotify.bjs", "permname" : "", "modOrder" : "001", + "strings" : { + "136fac3c5c5881e0a7d0039e57decd68" : "Select notify type", + "bf1cb7e2a337a5e2ebf614009cbce9cc" : "Current Notifications", + "8535bcc0f05358a583bb432bbadf7e0d" : "Select type", + "e12167aa0a7698e6ebc92b4ce3909b53" : "To", + "478192f02d448c49bc6b7d76818d8483" : "Ontable", + "dca4dd744d00b6fe1362ef7825ffdee5" : "No core_notify found", + "dc873ea4b71ca217b0d8d1fdd45854ac" : "id#", + "0f6d01b16d57911731aa44b94dbfefcc" : "Act when", + "7f8c0283f16925caed8e632086b81b9c" : "Sent", + "c956c97343a45cca5d492e70c56daa8e" : "Select person", + "12832b4def6eb0b6105b3d11e16066ea" : "Msgid", + "1243daf593fa297e07ab03bf06d925af" : "Searching...", + "24463f10155b8af973300f86302c4fde" : "Who to notify", + "b22e7ea679daf5146f08f477419dd8bd" : "Triggered by", + "5da618e8e4b89c66fe86e32cdafde142" : "From", + "e4b478c05a833569833f9cc63b6c4354" : "Displaying core_notify{0} - {1} of {2}", + "4c3880bb027f159e801041b1021e88e8" : "Method", + "a4ecfc70574394990cf17bd83df499f7" : "Event", + "f2a6c498fb90ee345d997f888fce3b18" : "Delete", + "f821027bade4aa6b7a4191cd1676cf41" : "Show Completed" + }, "items" : [ { "xtype" : "NestedLayoutPanel", @@ -13,7 +35,339 @@ { "xtype" : "BorderLayout", "$ xns" : "Roo", - "* prop" : "layout" + "* prop" : "layout", + "items" : [ + { + "listeners" : { + "|activate" : "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n \n}" + }, + "bool background" : true, + "fitToframe" : true, + "region" : "center", + "title" : "Current Notifications", + "xtype" : "GridPanel", + "fitContainer" : true, + "$ xns" : "Roo", + "tableName" : "core_notify", + "items" : [ + { + "listeners" : { + "|render" : "function() \n{\n _this.grid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}" + }, + "autoExpandColumn" : "person_id_name", + "xtype" : "Grid", + "loadMask" : true, + "$ xns" : "Roo.grid", + "* prop" : "grid", + "items" : [ + { + "listeners" : { + "beforeload" : "function (_self, options)\n{\n options.params = options.params || {};\n \n options.params._evtype_align = 1;\n \n if (!_this.toggleBtn.pressed) {\n options.params['event_id'] = 0;\n }\n if (!_this.personCombo) {\n return false;\n }\n var p = _this.personCombo.getValue();\n if (p*1) { \n options.params.person_id = p;\n }\n \n var from = _this.fromDateSel.getValue();\n \n if(from){\n options.params.from = from.format('Y-m-d');\n }\n \n var to = _this.toDateSel.getValue();\n \n if(to){\n options.params.to = to.format('Y-m-d');\n }\n \n var type = _this.typeCombo.getValue();\n \n if(type.length){\n options.params.evtype = type;\n }\n}" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ field : 'act_when', direction: 'DESC' }", + "$ xns" : "Roo.data", + "* prop" : "dataSource", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_notify.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'act_when',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'onid',\n 'type': 'int'\n },\n {\n 'name': 'ontable',\n 'type': 'string'\n },\n {\n 'name': 'person_id',\n 'type': 'int'\n },\n {\n 'name': 'msgid',\n 'type': 'string'\n },\n {\n 'name': 'sent',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'event_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_office_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'person_id_phone',\n 'type': 'string'\n },\n {\n 'name': 'person_id_fax',\n 'type': 'string'\n },\n {\n 'name': 'person_id_email',\n 'type': 'string'\n },\n {\n 'name': 'person_id_company_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_role',\n 'type': 'string'\n },\n {\n 'name': 'person_id_active',\n 'type': 'int'\n },\n {\n 'name': 'person_id_remarks',\n 'type': 'string'\n },\n {\n 'name': 'person_id_passwd',\n 'type': 'string'\n },\n {\n 'name': 'person_id_owner_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_lang',\n 'type': 'string'\n },\n {\n 'name': 'person_id_no_reset_sent',\n 'type': 'int'\n },\n {\n 'name': 'person_id_action_type',\n 'type': 'string'\n },\n {\n 'name': 'person_id_project_id',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_by',\n 'type': 'int'\n },\n {\n 'name': 'person_id_deleted_dt',\n 'type': 'date'\n },\n {\n 'name': 'event_id_id',\n 'type': 'int'\n },\n {\n 'name': 'event_id_person_name',\n 'type': 'string'\n },\n {\n 'name': 'event_id_event_when',\n 'type': 'date'\n },\n {\n 'name': 'event_id_action',\n 'type': 'string'\n },\n {\n 'name': 'event_id_ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'event_id_on_id',\n 'type': 'int'\n },\n {\n 'name': 'event_id_on_table',\n 'type': 'string'\n },\n {\n 'name': 'event_id_person_id',\n 'type': 'int'\n },\n {\n 'name': 'event_id_remarks',\n 'type': 'string'\n }\n]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + }, + { + "pageSize" : 25, + "xtype" : "PagingToolbar", + "emptyMsg" : "No core_notify found", + "$ xns" : "Roo", + "displayInfo" : true, + "displayMsg" : "Displaying core_notify{0} - {1} of {2}", + "* prop" : "footer" + }, + { + "xtype" : "Toolbar", + "$ xns" : "Roo", + "* prop" : "toolbar", + "items" : [ + { + "listeners" : { + "render" : "function (_self)\n{\n _this.personCombo = _self;\n}", + "select" : "function (combo, record, index)\n{\n _this.grid.footer.onClick('first');\n}" + }, + "listWidth" : 400, + "triggerAction" : "all", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "person_id_name", + "emptyText" : "Select person", + "minChars" : 2, + "valueField" : "person_id", + "xtype" : "ComboBox", + "allowBlank" : true, + "editable" : true, + "width" : 200, + "$ xns" : "Roo.form", + "qtip" : "Select person", + "queryParam" : "query[person_id_name]", + "tpl" : "
{person_id_name} {person_id_email}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n o.params._distinct='person_id';\n o.params._columns='person_id,person_id_name,person_id_email';\n o.params['!person_id_name'] = '';\n \n // set more here\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'person_id_name' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_notify.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"ontable\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "xtype" : "Separator", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "render" : "function (_self)\n{\n _this.typeCombo = _self;\n}", + "select" : "function (combo, record, index)\n{\n _this.grid.footer.onClick('first');\n}" + }, + "listWidth" : 400, + "triggerAction" : "all", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "display_name", + "emptyText" : "Select notify type", + "minChars" : 2, + "valueField" : "name", + "xtype" : "ComboBox", + "allowBlank" : true, + "editable" : true, + "width" : 200, + "$ xns" : "Roo.form", + "qtip" : "Select type", + "queryParam" : "query[name]", + "tpl" : "
{display_name}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n o.params.etype = 'Core.NotifyType';\n o.params.active = 1;\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'id' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Roo/core_enum.php'", + "xtype" : "HttpProxy", + "method" : "GET", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ xns" : "Roo.data", + "$ fields" : "[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"display_name\",\"type\":\"string\"}]", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "xtype" : "Separator", + "$ xns" : "Roo.Toolbar" + }, + { + "text" : "From", + "xtype" : "TextItem", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "render" : "function (_self)\r\n{\r\n _this.fromDateSel = _self;\r\n //_self.setValue( new Date() );\r\n}", + "select" : "function (combo, date)\n{\n _this.grid.footer.onClick('first');\n}" + }, + "format" : "d/M/Y", + "xtype" : "DateField", + "width" : 100, + "$ xns" : "Roo.form" + }, + { + "xtype" : "Separator", + "$ xns" : "Roo.Toolbar" + }, + { + "text" : "To", + "xtype" : "TextItem", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "render" : "function (_self)\r\n{\r\n _this.toDateSel = _self;\r\n //_self.setValue( new Date() );\r\n}", + "select" : "function (combo, date)\n{\n _this.grid.footer.onClick('first');\n}" + }, + "format" : "d/M/Y", + "xtype" : "DateField", + "width" : 100, + "$ xns" : "Roo.form" + }, + { + "xtype" : "Fill", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "|click" : "function()\n{\n Pman.genericDelete(_this, 'core_notify'); \n}\n " + }, + "text" : "Delete", + "xtype" : "Button", + "cls" : "x-btn-text-icon", + "$ icon" : "rootURL + '/Pman/templates/images/trash.gif'", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "toggle" : "function (_self, pressed)\n{\n this.setText(pressed ? \"Hide Completed\" : \"Show Completed\");\n _this.grid.footer.onClick('first');\n}", + "render" : "function (_self)\n{\n _this.toggleBtn = _self;\n}" + }, + "text" : "Show Completed", + "enableToggle" : true, + "xtype" : "Button", + "$ xns" : "Roo.Toolbar" + } + ] + }, + { + "xtype" : "ColumnModel", + "sortable" : true, + "header" : "id#", + "width" : 50, + "$ renderer" : "function(v) { return String.format('{0}', v ); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "id" + }, + { + "xtype" : "ColumnModel", + "sortable" : true, + "header" : "Method", + "width" : 100, + "$ renderer" : "function(v,x,r) \n{ \n var vv = (typeof(r.data.evtype_align) != 'undefined' && r.data.evtype_align) ? r.data.evtype_align : v;\n return String.format('{1}', v, vv ); \n}", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "evtype" + }, + { + "xtype" : "ColumnModel", + "sortable" : true, + "header" : "Act when", + "width" : 150, + "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "act_when" + }, + { + "xtype" : "ColumnModel", + "sortable" : true, + "header" : "Sent", + "width" : 150, + "$ renderer" : "function(v,x,r) {\n if (r.data.event_id *1 == 0) {\n return '';\n }\n return String.format('{0}', v ? v.format('d/M/Y H:i:s') : '');\n }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "sent" + }, + { + "xtype" : "ColumnModel", + "header" : "Ontable", + "width" : 150, + "$ renderer" : "function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "ontable" + }, + { + "xtype" : "ColumnModel", + "header" : "Who to notify", + "width" : 100, + "$ renderer" : "function(v,x,r) {\n\n var pt = r.data.person_table.toLowerCase() ;\n var pt = pt.length ? pt : 'person';\n var ecol = pt + '_id_email' ;\n var ncol = pt + '_id_name' ;\n return String.format('{0} <{1}>', r.data[ncol], r.data[ecol]); \n }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "person_id_name" + }, + { + "xtype" : "ColumnModel", + "header" : "Triggered by", + "width" : 100, + "$ renderer" : "function(v,x,r) {\n return String.format(\n '{0} : {1} {2}', \n r.data.trigger_event_id_on_table, \n r.data.trigger_event_id_on_id, \n r.data.trigger_event_id_remarks\n ); \n }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "trigger_event_id" + }, + { + "xtype" : "ColumnModel", + "width" : 200, + "header" : "Msgid", + "$ renderer" : "function(v) { return String.format('{0}', v); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "msgid" + }, + { + "xtype" : "ColumnModel", + "header" : "Event", + "width" : 300, + "$ renderer" : "function(v) { return String.format('{0}', v); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "event_id_remarks" + } + ] + } + ] + } + ] } ] } diff --git a/Pman.Tab.AdminNotify.js b/Pman.Tab.AdminNotify.js index f573f3f..d2c005d 100644 --- a/Pman.Tab.AdminNotify.js +++ b/Pman.Tab.AdminNotify.js @@ -6,7 +6,28 @@ Roo.namespace('Pman.Tab'); Pman.Tab.AdminNotify = new Roo.XComponent({ - + _strings : { + '136fac3c5c5881e0a7d0039e57decd68' :"Select notify type", + 'bf1cb7e2a337a5e2ebf614009cbce9cc' :"Current Notifications", + '8535bcc0f05358a583bb432bbadf7e0d' :"Select type", + 'e12167aa0a7698e6ebc92b4ce3909b53' :"To", + '478192f02d448c49bc6b7d76818d8483' :"Ontable", + 'dca4dd744d00b6fe1362ef7825ffdee5' :"No core_notify found", + 'dc873ea4b71ca217b0d8d1fdd45854ac' :"id#", + '0f6d01b16d57911731aa44b94dbfefcc' :"Act when", + '7f8c0283f16925caed8e632086b81b9c' :"Sent", + 'c956c97343a45cca5d492e70c56daa8e' :"Select person", + '12832b4def6eb0b6105b3d11e16066ea' :"Msgid", + '1243daf593fa297e07ab03bf06d925af' :"Searching...", + '24463f10155b8af973300f86302c4fde' :"Who to notify", + 'b22e7ea679daf5146f08f477419dd8bd' :"Triggered by", + '5da618e8e4b89c66fe86e32cdafde142' :"From", + 'e4b478c05a833569833f9cc63b6c4354' :"Displaying core_notify{0} - {1} of {2}", + '4c3880bb027f159e801041b1021e88e8' :"Method", + 'a4ecfc70574394990cf17bd83df499f7' :"Event", + 'f2a6c498fb90ee345d997f888fce3b18' :"Delete", + 'f821027bade4aa6b7a4191cd1676cf41' :"Show Completed" + }, part : ["Admin", "Notify" ], order : '001-Pman.Tab.AdminNotify', @@ -26,7 +47,600 @@ Pman.Tab.AdminNotify = new Roo.XComponent({ layout : { xns : Roo, '|xns' : 'Roo', - xtype : 'BorderLayout' + xtype : 'BorderLayout', + items : [ + { + background : true, + fitContainer : true, + fitToframe : true, + region : 'center', + tableName : 'core_notify', + title : _this._strings['bf1cb7e2a337a5e2ebf614009cbce9cc'] /* Current Notifications */, + xns : Roo, + '|xns' : 'Roo', + xtype : 'GridPanel', + listeners : { + activate : function() { + _this.panel = this; + if (_this.grid) { + _this.grid.footer.onClick('first'); + } + + } + }, + grid : { + autoExpandColumn : 'person_id_name', + loadMask : true, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'Grid', + listeners : { + render : function() + { + _this.grid = this; + //_this.dialog = Pman.Dialog.FILL_IN + if (_this.panel.active) { + this.footer.onClick('first'); + } + } + }, + footer : { + displayInfo : true, + displayMsg : _this._strings['e4b478c05a833569833f9cc63b6c4354'] /* Displaying core_notify{0} - {1} of {2} */, + emptyMsg : _this._strings['dca4dd744d00b6fe1362ef7825ffdee5'] /* No core_notify found */, + pageSize : 25, + xns : Roo, + '|xns' : 'Roo', + xtype : 'PagingToolbar' + }, + toolbar : { + xns : Roo, + '|xns' : 'Roo', + xtype : 'Toolbar', + items : [ + { + allowBlank : true, + displayField : 'person_id_name', + editable : true, + emptyText : _this._strings['c956c97343a45cca5d492e70c56daa8e'] /* Select person */, + forceSelection : true, + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + pageSize : 20, + qtip : _this._strings['c956c97343a45cca5d492e70c56daa8e'] /* Select person */, + queryParam : 'query[person_id_name]', + selectOnFocus : true, + tpl : '
{person_id_name} {person_id_email}
', + triggerAction : 'all', + valueField : 'person_id', + width : 200, + xns : Roo.form, + '|xns' : 'Roo.form', + xtype : 'ComboBox', + listeners : { + render : function (_self) + { + _this.personCombo = _self; + }, + select : function (combo, record, index) + { + _this.grid.footer.onClick('first'); + } + }, + store : { + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'person_id_name' }, + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'Store', + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + o.params._distinct='person_id'; + o.params._columns='person_id,person_id_name,person_id_email'; + o.params['!person_id_name'] = ''; + + // set more here + } + }, + proxy : { + method : 'GET', + url : baseURL + '/Roo/core_notify.php', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'HttpProxy' + }, + reader : { + fields : [{"name":"id","type":"int"},{"name":"ontable","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'JsonReader' + } + } + }, + { + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Separator' + }, + { + allowBlank : true, + displayField : 'display_name', + editable : true, + emptyText : _this._strings['136fac3c5c5881e0a7d0039e57decd68'] /* Select notify type */, + forceSelection : true, + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */, + minChars : 2, + pageSize : 20, + qtip : _this._strings['8535bcc0f05358a583bb432bbadf7e0d'] /* Select type */, + queryParam : 'query[name]', + selectOnFocus : true, + tpl : '
{display_name}
', + triggerAction : 'all', + valueField : 'name', + width : 200, + xns : Roo.form, + '|xns' : 'Roo.form', + xtype : 'ComboBox', + listeners : { + render : function (_self) + { + _this.typeCombo = _self; + }, + select : function (combo, record, index) + { + _this.grid.footer.onClick('first'); + } + }, + store : { + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'id' }, + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'Store', + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + o.params.etype = 'Core.NotifyType'; + o.params.active = 1; + } + }, + proxy : { + method : 'GET', + url : baseURL + '/Roo/core_enum.php', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'HttpProxy' + }, + reader : { + fields : [{"name":"name","type":"string"},{"name":"display_name","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'JsonReader' + } + } + }, + { + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Separator' + }, + { + text : _this._strings['5da618e8e4b89c66fe86e32cdafde142'] /* From */, + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'TextItem' + }, + { + format : 'd/M/Y', + width : 100, + xns : Roo.form, + '|xns' : 'Roo.form', + xtype : 'DateField', + listeners : { + render : function (_self) + { + _this.fromDateSel = _self; + //_self.setValue( new Date() ); + }, + select : function (combo, date) + { + _this.grid.footer.onClick('first'); + } + } + }, + { + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Separator' + }, + { + text : _this._strings['e12167aa0a7698e6ebc92b4ce3909b53'] /* To */, + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'TextItem' + }, + { + format : 'd/M/Y', + width : 100, + xns : Roo.form, + '|xns' : 'Roo.form', + xtype : 'DateField', + listeners : { + render : function (_self) + { + _this.toDateSel = _self; + //_self.setValue( new Date() ); + }, + select : function (combo, date) + { + _this.grid.footer.onClick('first'); + } + } + }, + { + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Fill' + }, + { + cls : 'x-btn-text-icon', + icon : rootURL + '/Pman/templates/images/trash.gif', + text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'] /* Delete */, + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Button', + listeners : { + click : function() + { + Pman.genericDelete(_this, 'core_notify'); + } + } + }, + { + enableToggle : true, + text : _this._strings['f821027bade4aa6b7a4191cd1676cf41'] /* Show Completed */, + xns : Roo.Toolbar, + '|xns' : 'Roo.Toolbar', + xtype : 'Button', + listeners : { + render : function (_self) + { + _this.toggleBtn = _self; + }, + toggle : function (_self, pressed) + { + this.setText(pressed ? "Hide Completed" : "Show Completed"); + _this.grid.footer.onClick('first'); + } + } + } + ] + }, + dataSource : { + remoteSort : true, + sortInfo : { field : 'act_when', direction: 'DESC' }, + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'Store', + listeners : { + beforeload : function (_self, options) + { + options.params = options.params || {}; + + options.params._evtype_align = 1; + + if (!_this.toggleBtn.pressed) { + options.params['event_id'] = 0; + } + if (!_this.personCombo) { + return false; + } + var p = _this.personCombo.getValue(); + if (p*1) { + options.params.person_id = p; + } + + var from = _this.fromDateSel.getValue(); + + if(from){ + options.params.from = from.format('Y-m-d'); + } + + var to = _this.toDateSel.getValue(); + + if(to){ + options.params.to = to.format('Y-m-d'); + } + + var type = _this.typeCombo.getValue(); + + if(type.length){ + options.params.evtype = type; + } + } + }, + proxy : { + method : 'GET', + url : baseURL + '/Roo/core_notify.php', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'HttpProxy' + }, + reader : { + fields : [ + { + 'name': 'id', + 'type': 'int' + }, + { + 'name': 'act_when', + 'type': 'date', + 'dateFormat': 'Y-m-d' + }, + { + 'name': 'onid', + 'type': 'int' + }, + { + 'name': 'ontable', + 'type': 'string' + }, + { + 'name': 'person_id', + 'type': 'int' + }, + { + 'name': 'msgid', + 'type': 'string' + }, + { + 'name': 'sent', + 'type': 'date', + 'dateFormat': 'Y-m-d' + }, + { + 'name': 'event_id', + 'type': 'int' + }, + { + 'name': 'person_id_id', + 'type': 'int' + }, + { + 'name': 'person_id_office_id', + 'type': 'int' + }, + { + 'name': 'person_id_name', + 'type': 'string' + }, + { + 'name': 'person_id_phone', + 'type': 'string' + }, + { + 'name': 'person_id_fax', + 'type': 'string' + }, + { + 'name': 'person_id_email', + 'type': 'string' + }, + { + 'name': 'person_id_company_id', + 'type': 'int' + }, + { + 'name': 'person_id_role', + 'type': 'string' + }, + { + 'name': 'person_id_active', + 'type': 'int' + }, + { + 'name': 'person_id_remarks', + 'type': 'string' + }, + { + 'name': 'person_id_passwd', + 'type': 'string' + }, + { + 'name': 'person_id_owner_id', + 'type': 'int' + }, + { + 'name': 'person_id_lang', + 'type': 'string' + }, + { + 'name': 'person_id_no_reset_sent', + 'type': 'int' + }, + { + 'name': 'person_id_action_type', + 'type': 'string' + }, + { + 'name': 'person_id_project_id', + 'type': 'int' + }, + { + 'name': 'person_id_deleted_by', + 'type': 'int' + }, + { + 'name': 'person_id_deleted_dt', + 'type': 'date' + }, + { + 'name': 'event_id_id', + 'type': 'int' + }, + { + 'name': 'event_id_person_name', + 'type': 'string' + }, + { + 'name': 'event_id_event_when', + 'type': 'date' + }, + { + 'name': 'event_id_action', + 'type': 'string' + }, + { + 'name': 'event_id_ipaddr', + 'type': 'string' + }, + { + 'name': 'event_id_on_id', + 'type': 'int' + }, + { + 'name': 'event_id_on_table', + 'type': 'string' + }, + { + 'name': 'event_id_person_id', + 'type': 'int' + }, + { + 'name': 'event_id_remarks', + 'type': 'string' + } + ], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + '|xns' : 'Roo.data', + xtype : 'JsonReader' + } + }, + colModel : [ + { + dataIndex : 'id', + header : _this._strings['dc873ea4b71ca217b0d8d1fdd45854ac'] /* id# */, + renderer : function(v) { return String.format('{0}', v ); }, + sortable : true, + width : 50, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'evtype', + header : _this._strings['4c3880bb027f159e801041b1021e88e8'] /* Method */, + renderer : function(v,x,r) + { + var vv = (typeof(r.data.evtype_align) != 'undefined' && r.data.evtype_align) ? r.data.evtype_align : v; + return String.format('{1}', v, vv ); + }, + sortable : true, + width : 100, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'act_when', + header : _this._strings['0f6d01b16d57911731aa44b94dbfefcc'] /* Act when */, + renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }, + sortable : true, + width : 150, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'sent', + header : _this._strings['7f8c0283f16925caed8e632086b81b9c'] /* Sent */, + renderer : function(v,x,r) { + if (r.data.event_id *1 == 0) { + return ''; + } + return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); + }, + sortable : true, + width : 150, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'ontable', + header : _this._strings['478192f02d448c49bc6b7d76818d8483'] /* Ontable */, + renderer : function(v,x,r) { return String.format('{0}:{1}', v,r.data.onid); }, + width : 150, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'person_id_name', + header : _this._strings['24463f10155b8af973300f86302c4fde'] /* Who to notify */, + renderer : function(v,x,r) { + + var pt = r.data.person_table.toLowerCase() ; + var pt = pt.length ? pt : 'person'; + var ecol = pt + '_id_email' ; + var ncol = pt + '_id_name' ; + return String.format('{0} <{1}>', r.data[ncol], r.data[ecol]); + }, + width : 100, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'trigger_event_id', + header : _this._strings['b22e7ea679daf5146f08f477419dd8bd'] /* Triggered by */, + renderer : function(v,x,r) { + return String.format( + '{0} : {1} {2}', + r.data.trigger_event_id_on_table, + r.data.trigger_event_id_on_id, + r.data.trigger_event_id_remarks + ); + }, + width : 100, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'msgid', + header : _this._strings['12832b4def6eb0b6105b3d11e16066ea'] /* Msgid */, + renderer : function(v) { return String.format('{0}', v); }, + width : 200, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + }, + { + dataIndex : 'event_id_remarks', + header : _this._strings['a4ecfc70574394990cf17bd83df499f7'] /* Event */, + renderer : function(v) { return String.format('{0}', v); }, + width : 300, + xns : Roo.grid, + '|xns' : 'Roo.grid', + xtype : 'ColumnModel' + } + ] + } + } + ] } }; } }); -- 2.39.2