From c1ea62f76740e5d437152e611a9bc01bfaba0c30 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Tue, 31 Mar 2015 14:32:16 +0800 Subject: [PATCH] Pman.Dialog.CoreEmail.bjs Pman.Dialog.CoreEmail.js --- Pman.Dialog.CoreEmail.bjs | 1183 +++++++++--------- Pman.Dialog.CoreEmail.js | 2412 ++++++++++++++++++++----------------- 2 files changed, 1890 insertions(+), 1705 deletions(-) diff --git a/Pman.Dialog.CoreEmail.bjs b/Pman.Dialog.CoreEmail.bjs index 20eb1aaf..70c94d36 100644 --- a/Pman.Dialog.CoreEmail.bjs +++ b/Pman.Dialog.CoreEmail.bjs @@ -1,591 +1,618 @@ { - "id": "roo-file-210", - "name": "Pman.Dialog.CoreEmail", - "parent": "", - "title": "", - "path": "/home/edward/gitlive/Pman.Core/Pman.Dialog.CoreEmail.bjs", - "items": [ + "name" : "Pman.Dialog.CoreEmail", + "parent" : "", + "title" : "", + "path" : "/home/alan/gitlive/Pman.Core/Pman.Dialog.CoreEmail.bjs", + "permname" : "", + "modOrder" : "001", + "strings" : { + "308f2757bfc9ce92fb00ff93fdffd279" : "Images / Attachments", + "dc0de523c25be298ba751c63c694109e" : "Responsive Email (1)", + "ea30b40c3caf28acb29198d20d243e54" : "Images / Attachments >>", + "4c2a8fe7eaf24721cc7a9f0175115bd4" : "Message", + "2f26e35d61be90501e099089dc533638" : "Select Images", + "ec211f7c20af43e742bf2570c3cb84f9" : "Add", + "72d6d7a1885885bb55a565fd1070581a" : "Import", + "884df8e413319ff51a3f5f528606238a" : "Use template", + "396ecabf0cd1f9503e591418851ef406" : "Edit / Create Message", + "31bb2f6e9b8fb11cbb7fb63c6025223f" : "Select Template", + "1bd18d39370b7f26c1c5e18067b74c6f" : "Html File", + "1243daf593fa297e07ab03bf06d925af" : "Searching...", + "b78a3223503896721cca1303f776159b" : "Title", + "31fde7b05ac8952dacf4af8a704074ec" : "Preview", + "5b8ef4e762c00a15a41cfc26dc3ef99c" : "Send me a test copy", + "ea4788705e6873b424c65e91c2846b19" : "Cancel", + "962b90039a542a29cedd51d87a9f28a1" : "Html Editor", + "5feb9bf3c03b32635135006cbacb9542" : "Insert Field", + "2393ad754ba179442d85e415d1d5167c" : "Displayorder", + "b9c49611cfda3259a2b837b39489e650" : "Add Image", + "e44b145bd8b49b06e0ad2ced1ad56466" : "Plain Text", + "f2a6c498fb90ee345d997f888fce3b18" : "Delete", + "1351017ac6423911223bc19a8cb7c653" : "Filename", + "c9cc8cce247e49bae79f15173ce97354" : "Save", + "e6b391a8d2c4d45902a23a8b6585703d" : "URL", + "e9968623956c15023d54335ea3699855" : "Convert Html to Text" + }, + "items" : [ + { + "listeners" : { + "show" : "function (_self)\n{\n \n _self.layout.getRegion('center').showPanel(0);\n var w = Roo.lib.Dom.getViewWidth();\r\n var h = Roo.lib.Dom.getViewHeight(); \r this.resizeTo(w-50, h-50);\r\n this.center();\r \n var ew = Math.max(250, w-320);\r\n var eh = Math.max(250, h-350) ;\r\n var e = _this.dialog.layout.getRegion('east');\n if (e.visible) {\n e.hide();\n }\n \n var el = _self.getEl();\n var elw = el.dom.clientWidth;\n \n var bdtext = _this.form.findField('bodytext');\n var ptext = _this.form.findField('plaintext');\n if(bdtext.resizeEl){\n bdtext.width = elw-100;\n bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] );\n ptext.setSize(bdtext.width , bdtext.height);\n }\n \n}" + }, + "modal" : true, + "collapsible" : false, + "title" : "Edit / Create Message", + "xtype" : "LayoutDialog", + "width" : 800, + "$ xns" : "Roo", + "closable" : true, + "resizable" : true, + "height" : 500, + "items" : [ + { + "xtype" : "LayoutRegion", + "tabPosition" : "top", + "$ xns" : "Roo", + "* prop" : "center" + }, + { + "hidden" : true, + "title" : "Images / Attachments", + "xtype" : "LayoutRegion", + "width" : 500, + "$ xns" : "Roo", + "split" : true, + "* prop" : "east", + "titlebar" : true + }, + { + "autoScroll" : false, + "fitToFrame" : true, + "region" : "center", + "xtype" : "NestedLayoutPanel", + "fitContainer" : true, + "$ xns" : "Roo", + "items" : [ + { + "xtype" : "Toolbar", + "$ xns" : "Roo", + "* prop" : "toolbar", + "items" : [ { - "listeners": { - "show": "function (_self)\n{\n \n _self.layout.getRegion('center').showPanel(0);\n var w = Roo.lib.Dom.getViewWidth();\r\n var h = Roo.lib.Dom.getViewHeight(); \r this.resizeTo(w-50, h-50);\r\n this.center();\r \n var ew = Math.max(250, w-320);\r\n var eh = Math.max(250, h-350) ;\r\n var e = _this.dialog.layout.getRegion('east');\n if (e.visible) {\n e.hide();\n }\n \n var el = _self.getEl();\n var elw = el.dom.clientWidth;\n \n var bdtext = _this.form.findField('bodytext');\n var ptext = _this.form.findField('plaintext');\n if(bdtext.resizeEl){\n bdtext.width = elw-100;\n bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] );\n ptext.setSize(bdtext.width , bdtext.height);\n }\n \n}" + "text" : "Import", + "xtype" : "Button", + "$ xns" : "Roo.Toolbar", + "items" : [ + { + "xtype" : "Menu", + "$ xns" : "Roo.menu", + "* prop" : "menu", + "items" : [ + { + "listeners" : { + "click" : "function (_self, e)\n{\n Pman.Dialog.CoreImportUrl.show({\n target : '/Core/ImportMailMessage.php'\n }, function(data) {\n if (data) {\n // Roo.log(data);\n _this.form.findField('bodytext').setValue(data);\n }\n });\n}" + }, + "text" : "URL", + "xtype" : "Item", + "$ xns" : "Roo.menu" }, - "closable": true, - "collapsible": false, - "height": 500, - "modal": true, - "resizable": true, - "title": "Edit / Create Message", - "width": 800, - "xtype": "LayoutDialog", - "|xns": "Roo", - "items": [ - { - "*prop": "center", - "tabPosition": "top", - "xtype": "LayoutRegion", - "|xns": "Roo" - }, - { - "*prop": "east", - "hidden": true, - "split": true, - "title": "Images / Attachments", - "titlebar": true, - "width": 500, - "xtype": "LayoutRegion", - "|xns": "Roo" - }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n Pman.Dialog.Image.show({\n _url : baseURL + '/Core/ImportMailMessage.php'\n }, function(data) {\n if (data) {\n _this.form.findField('bodytext').setValue(data);\n }\n });\n}" + }, + "text" : "Html File", + "xtype" : "Item", + "$ xns" : "Roo.menu" + } + ] + } + ] + }, + { + "text" : "Use template", + "xtype" : "Button", + "$ xns" : "Roo.Toolbar", + "items" : [ + { + "xtype" : "Menu", + "$ xns" : "Roo.menu", + "* prop" : "menu", + "items" : [ + { + "listeners" : { + "click" : "function (_self, e)\n{\n\n var l = document.location;\n new Pman.Request({\n\n url : baseURL + '/Core/ImportMailMessage.php',\n\n method: 'POST',\n mask : \"Loading\",\n params : {\n importUrl : l.protocol +'//' + l.host + rootURL + '/Pman/Crm/mail_templates/responsive1.html',\n },\n success : function (res) {\n\n _this.form.findField('bodytext').setValue(res.data);\n }\n \n });\n}" + }, + "text" : "Responsive Email (1)", + "xtype" : "Item", + "$ xns" : "Roo.menu" + } + ] + } + ] + }, + { + "listeners" : { + "select" : "function (combo, record, index)\n{\n \n/*\n (function() { \n combo.setValue('');\n }).defer(100);\n*/ \n if(!record){\n return;\n }\n _this.form.findField('bodytext').setValue(record.data.content);\n\n}" + }, + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Template", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "file", + "emptyText" : "Select Template", + "hiddenName" : "template", + "minChars" : 2, + "valueField" : "file", + "xtype" : "ComboBox", + "allowBlank" : true, + "typeAhead" : true, + "editable" : false, + "width" : 200, + "$ xns" : "Roo.form", + "name" : "template", + "qtip" : "Select Template", + "tpl" : "
{file}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n \n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'DESC', field: 'file' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ + { + "$ url" : "baseURL + '/Core/MailTemplateList.php'", + "xtype" : "HttpProxy", + "method" : "GET", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "name", + "root" : "data", + "xtype" : "JsonReader", + "$ fields" : "[{\"name\":\"file\",\"type\":\"string\"},{\"name\":\"content\",\"type\":\"string\"}]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + } + ] + }, + { + "xtype" : "Fill", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n var el = _this.dialog.layout.getRegion('east');\n if (el.visible) {\n el.hide();\n } else {\n el.show();\n el.showPanel(0);\n }\n \n}" + }, + "text" : "Images / Attachments >>", + "xtype" : "Button", + "$ xns" : "Roo.Toolbar" + } + ] + }, + { + "xtype" : "BorderLayout", + "$ xns" : "Roo", + "* prop" : "layout", + "items" : [ + { + "autoScroll" : true, + "xtype" : "LayoutRegion", + "$ xns" : "Roo", + "* prop" : "center" + }, + { + "listeners" : { + "resize" : "function (_self, width, height)\r\n{\r\n var ew = Math.max(250, width-50);\r\n var eh = Math.max(250,height-50) ;\n \n if (!_this.form) {\r\n return;\r\n }\r\n var bdtext = _this.form.findField('bodytext');\r\n var ptext = _this.form.findField('plaintext');\r\n if(bdtext.resizeEl){\r\n bdtext.width = ew-50;\r\n bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] );\r\n ptext.setSize(bdtext.width , bdtext.height);\r\n }\r\r\n\r\n}", + "render" : "function (_self, width, height)\n{\n \n Roo.log(\"RESIZE, \" + width + ',' + height);\n \n var ew = Math.max(250, width-50);\n var eh = Math.max(250,height-50) ;\n \n \n\n}" + }, + "autoScroll" : false, + "background" : false, + "fitToFrame" : true, + "region" : "center", + "title" : "Message", + "xtype" : "ContentPanel", + "fitContainer" : true, + "$ xns" : "Roo", + "items" : [ + { + "listeners" : { + "|actioncomplete" : "function(_self,action)\n{\n \n if (action.type == 'setdata') {\n \n _this.data.module = _this.data.module || 'crm_mailing_list_message';\n \n _this.form.url = baseURL + '/Roo/' + _this.data.module;\n \n _this.html_preview.hide();\n _this.preview_btn.hide();\n \n if(_this.data.id*1 > 0){\n _this.dialog.el.mask(\"Loading\");\n this.load({ method: 'GET', params: { '_id' : _this.data.id }});\n _this.html_preview.show();\n _this.preview_btn.show();\n \n } else {\n _this.form.setValues({\n 'from_name' : Pman.Login.authUser.name,\n 'from_email' : Pman.Login.authUser.email\n });\n }\n return;\n }\n if (action.type == 'load') {\n _this.dialog.el.unmask();\n return;\n }\n if (action.type =='submit') {\n \n _this.dialog.el.unmask();\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, action.result.data);\n }\n _this.form.reset();\n return;\n }\n}\n", + "|rendered" : "function (form)\n{\n _this.form= form;\n}\n" + }, + "labelAlign" : "right", + "$ preValidate" : "function(done_callback) {\n \n Roo.MessageBox.progress(\"Uploading Images\", \"Uploading\");\n var html = _this.form.findField('bodytext').getValue();\n \n var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement);\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n var nodes = [];\n s.select('img[src]').each(function(i) {\n nodes.push(i.dom);\n });\n var total = nodes.length;\n var mkimg = function() {\n \n if (!nodes.length) {\n Roo.MessageBox.hide();\n _this.form.findField('bodytext').syncValue();\n done_callback(true);\n // _this.form.doAction(\"submit\");\n return;\n }\n var i = nodes.pop(); \n \n var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/);\n \n if(n){\n mkimg();\n return;\n }\n \n n = i.getAttribute('src').match(/^http(.*)/)\n \n if(!n ){\n mkimg();\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/Images.php',\n method : 'POST',\n params : {\n onid : _this.form.findField('id').getValue(),\n ontable : ontable ,\n _remote_upload : i.src\n },\n success : function(res){\n if(res.success == true){ \n i.setAttribute('src', res.data);\n Roo.MessageBox.updateProgress( (total - nodes.length) / total , \"Done \" + (total - nodes.length) + '/' + total);\n }\n mkimg();\n }\n });\n \n }\n mkimg();\n}\n", + "$ url" : "baseURL + '/Roo/crm_mailing_list_message.php'", + "method" : "POST", + "style" : "margin:10px", + "xtype" : "Form", + "labelWidth" : 120, + "$ xns" : "Roo.form", + "items" : [ + { + "xtype" : "Row", + "$ xns" : "Roo.form", + "items" : [ + { + "fieldLabel" : "Mailout Name", + "xtype" : "TextField", + "allowBlank" : false, + "width" : 400, + "$ xns" : "Roo.form", + "name" : "name" + } + ] + }, + { + "xtype" : "Row", + "$ xns" : "Roo.form", + "items" : [ + { + "fieldLabel" : "From", + "xtype" : "TextField", + "allowBlank" : false, + "width" : 300, + "$ xns" : "Roo.form", + "name" : "from_name" + }, + { + "fieldLabel" : "Email address", + "xtype" : "TextField", + "allowBlank" : false, + "width" : 300, + "$ xns" : "Roo.form", + "name" : "from_email" + } + ] + }, + { + "fieldLabel" : "Subject", + "xtype" : "TextField", + "allowBlank" : false, + "width" : 600, + "$ xns" : "Roo.form", + "name" : "subject" + }, + { + "hideLabels" : true, + "xtype" : "Row", + "$ xns" : "Roo.form", + "items" : [ + { + "hideLabels" : true, + "style" : "text-align:center;", + "legend" : "Html Editor", + "xtype" : "FieldSet", + "$ xns" : "Roo.form", + "items" : [ { - "autoScroll": false, - "fitContainer": true, - "fitToFrame": true, - "region": "center", - "xtype": "NestedLayoutPanel", - "|xns": "Roo", - "items": [ + "xtype" : "HtmlEditor", + "$ cwhite" : "[ \n 'margin',\n 'padding',\n 'text-align',\n 'background',\n 'height',\n 'width',\n 'background-color',\n 'font-size',\n 'line-height',\n 'color',\n 'outline',\n 'text-decoration',\n 'position',\n 'clear',\n 'overflow',\n 'margin-top',\n 'border-bottom',\n 'top',\n 'list-style',\n 'margin-left',\n 'border',\n 'float' ,\n 'margin-right',\n 'padding-top',\n 'min-height',\n 'left',\n 'padding-left',\n 'font-weight',\n 'font-family',\n 'display',\n 'margin-bottom',\n 'padding-bottom',\n 'vertical-align',\n 'cursor',\n 'z-index',\n 'right',\n ]", + "$ xns" : "Roo.form", + "resizable" : "s", + "name" : "bodytext", + "height" : 250, + "clearUp" : false, + "items" : [ + { + "xtype" : "ToolbarContext", + "$ xns" : "Roo.form.HtmlEditor", + "* prop" : "toolbars[]" + }, + { + "xtype" : "ToolbarStandard", + "$ xns" : "Roo.form.HtmlEditor", + "* prop" : "toolbars[]", + "items" : [ + { + "listeners" : { + "render" : "function (_self)\n{\n _this.extendimgselect = _self;\n}", + "beforequery" : "function (combo, query, forceAll, cancel, e)\n{\n var id = _this.form.findField('id').getValue() * 1; \n if (!id) {\n Roo.MessageBox.alert(\"Error\", \"Save message first\");\n return false;\n }\n}", + "select" : "function (combo, record, index)\n{\n Roo.log(record);\n (function() { \n combo.setValue('');\n }).defer(100);\n var editor = _this.form.findField('bodytext').editorcore;\n editor.insertAtCursor(\n String.format('',\n baseURL, record.data.id, record.data.filename\n )\n );\n\n \n }" + }, + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Images", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Add Image", + "minChars" : 2, + "valueField" : "id", + "xtype" : "ComboBox", + "typeAhead" : true, + "editable" : false, + "width" : 100, + "$ xns" : "Roo.form", + "* prop" : "btns[]", + "qtip" : "Select Images", + "tpl" : "
{filename}
", + "loadingText" : "Searching...", + "items" : [ + { + "listeners" : { + "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n\n var id = _this.form.findField('id').getValue() * 1; \n if (!id) {\n Roo.MessageBox.alert(\"Error\", \"Save email template first\");\n return false;\n }\n o.params.onid = id\n o.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n // o.params.imgtype = 'PressRelease';\n //o.params['query[imagesize]'] = '150x150';\n // set more here\n}\n" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ direction : 'ASC', field: 'id' }", + "$ xns" : "Roo.data", + "* prop" : "store", + "items" : [ { - "|xns": "Roo", - "xtype": "Toolbar", - "*prop": "toolbar", - "items": [ - { - "text": "Import", - "xtype": "Button", - "|xns": "Roo.Toolbar", - "items": [ - { - "|xns": "Roo.menu", - "xtype": "Menu", - "*prop": "menu", - "items": [ - { - "listeners": { - "click": "function (_self, e)\n{\n Pman.Dialog.CoreImportUrl.show({\n target : '/Core/ImportMailMessage.php'\n }, function(data) {\n if (data) {\n // Roo.log(data);\n _this.form.findField('bodytext').setValue(data);\n }\n });\n}" - }, - "text": "URL", - "xtype": "Item", - "|xns": "Roo.menu" - }, - { - "listeners": { - "click": "function (_self, e)\n{\n Pman.Dialog.Image.show({\n _url : baseURL + '/Core/ImportMailMessage.php'\n }, function(data) {\n if (data) {\n _this.form.findField('bodytext').setValue(data);\n }\n });\n}" - }, - "text": "Html File", - "xtype": "Item", - "|xns": "Roo.menu" - } - ] - } - ] - }, - { - "text": "Use template", - "xtype": "Button", - "|xns": "Roo.Toolbar", - "items": [ - { - "|xns": "Roo.menu", - "xtype": "Menu", - "*prop": "menu", - "items": [ - { - "listeners": { - "click": "function (_self, e)\n{\n\n var l = document.location;\n new Pman.Request({\n\n url : baseURL + '/Core/ImportMailMessage.php',\n\n method: 'POST',\n mask : \"Loading\",\n params : {\n importUrl : l.protocol +'//' + l.host + rootURL + '/Pman/Crm/mail_templates/responsive1.html',\n },\n success : function (res) {\n\n _this.form.findField('bodytext').setValue(res.data);\n }\n \n });\n}" - }, - "text": "Responsive Email (1)", - "xtype": "Item", - "|xns": "Roo.menu" - } - ] - } - ] - }, - { - "listeners": { - "select": "function (combo, record, index)\n{\n \n/*\n (function() { \n combo.setValue('');\n }).defer(100);\n*/ \n if(!record){\n return;\n }\n _this.form.findField('bodytext').setValue(record.data.content);\n\n}" - }, - "allowBlank": true, - "alwaysQuery": true, - "displayField": "file", - "editable": false, - "emptyText": "Select Template", - "fieldLabel": "Template", - "forceSelection": true, - "hiddenName": "template", - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "name": "template", - "pageSize": 20, - "qtip": "Select Template", - "selectOnFocus": true, - "tpl": "
{file}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "file", - "width": 200, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n \n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'DESC', field: 'file' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "method": "GET", - "xtype": "HttpProxy", - "|url": "baseURL + '/Core/MailTemplateList.php'", - "|xns": "Roo.data" - }, - { - "*prop": "reader", - "id": "name", - "root": "data", - "totalProperty": "total", - "xtype": "JsonReader", - "|fields": "[{\"name\":\"file\",\"type\":\"string\"},{\"name\":\"content\",\"type\":\"string\"}]", - "|xns": "Roo.data" - } - ] - } - ] - }, - { - "|xns": "Roo.Toolbar", - "xtype": "Fill" - }, - { - "listeners": { - "click": "function (_self, e)\n{\n var el = _this.dialog.layout.getRegion('east');\n if (el.visible) {\n el.hide();\n } else {\n el.show();\n el.showPanel(0);\n }\n \n}" - }, - "text": "Images / Attachments >>", - "xtype": "Button", - "|xns": "Roo.Toolbar" - } - ] + "$ url" : "baseURL + '/Roo/Images.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" }, { - "|xns": "Roo", - "xtype": "BorderLayout", - "*prop": "layout", - "items": [ - { - "*prop": "center", - "autoScroll": true, - "xtype": "LayoutRegion", - "|xns": "Roo" - }, - { - "listeners": { - "render": "function (_self, width, height)\n{\n \n Roo.log(\"RESIZE, \" + width + ',' + height);\n \n var ew = Math.max(250, width-50);\n var eh = Math.max(250,height-50) ;\n \n \n\n}", - "resize": "function (_self, width, height)\r\n{\r\n var ew = Math.max(250, width-50);\r\n var eh = Math.max(250,height-50) ;\n \n if (!_this.form) {\r\n return;\r\n }\r\n var bdtext = _this.form.findField('bodytext');\r\n var ptext = _this.form.findField('plaintext');\r\n if(bdtext.resizeEl){\r\n bdtext.width = ew-50;\r\n bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] );\r\n ptext.setSize(bdtext.width , bdtext.height);\r\n }\r\r\n\r\n}" - }, - "autoScroll": false, - "background": false, - "fitContainer": true, - "fitToFrame": true, - "region": "center", - "title": "Message", - "xtype": "ContentPanel", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|actioncomplete": "function(_self,action)\n{\n \n if (action.type == 'setdata') {\n \n _this.data.module = _this.data.module || 'crm_mailing_list_message';\n \n _this.form.url = baseURL + '/Roo/' + _this.data.module;\n \n _this.html_preview.hide();\n _this.preview_btn.hide();\n \n if(_this.data.id*1 > 0){\n _this.dialog.el.mask(\"Loading\");\n this.load({ method: 'GET', params: { '_id' : _this.data.id }});\n _this.html_preview.show();\n _this.preview_btn.show();\n \n } else {\n _this.form.setValues({\n 'from_name' : Pman.Login.authUser.name,\n 'from_email' : Pman.Login.authUser.email\n });\n }\n return;\n }\n if (action.type == 'load') {\n _this.dialog.el.unmask();\n return;\n }\n if (action.type =='submit') {\n \n _this.dialog.el.unmask();\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, action.result.data);\n }\n _this.form.reset();\n return;\n }\n}\n", - "|rendered": "function (form)\n{\n _this.form= form;\n}\n" - }, - "labelAlign": "right", - "labelWidth": 120, - "method": "POST", - "style": "margin:10px", - "xtype": "Form", - "|preValidate": "function(done_callback) {\n \n Roo.MessageBox.progress(\"Uploading Images\", \"Uploading\");\n var html = _this.form.findField('bodytext').getValue();\n \n var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement);\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n var nodes = [];\n s.select('img[src]').each(function(i) {\n nodes.push(i.dom);\n });\n var total = nodes.length;\n var mkimg = function() {\n \n if (!nodes.length) {\n Roo.MessageBox.hide();\n _this.form.findField('bodytext').syncValue();\n done_callback(true);\n // _this.form.doAction(\"submit\");\n return;\n }\n var i = nodes.pop(); \n \n var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/);\n \n if(n){\n mkimg();\n return;\n }\n \n n = i.getAttribute('src').match(/^http(.*)/)\n \n if(!n ){\n mkimg();\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/Images.php',\n method : 'POST',\n params : {\n onid : _this.form.findField('id').getValue(),\n ontable : ontable ,\n _remote_upload : i.src\n },\n success : function(res){\n if(res.success == true){ \n i.setAttribute('src', res.data);\n Roo.MessageBox.updateProgress( (total - nodes.length) / total , \"Done \" + (total - nodes.length) + '/' + total);\n }\n mkimg();\n }\n });\n \n }\n mkimg();\n}\n", - "|url": "baseURL + '/Roo/crm_mailing_list_message.php'", - "|xns": "Roo.form", - "items": [ - { - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "allowBlank": false, - "fieldLabel": "Mailout Name", - "name": "name", - "width": 400, - "xtype": "TextField", - "|xns": "Roo.form" - } - ] - }, - { - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "allowBlank": false, - "fieldLabel": "From", - "name": "from_name", - "width": 300, - "xtype": "TextField", - "|xns": "Roo.form" - }, - { - "allowBlank": false, - "fieldLabel": "Email address", - "name": "from_email", - "width": 300, - "xtype": "TextField", - "|xns": "Roo.form" - } - ] - }, - { - "allowBlank": false, - "fieldLabel": "Subject", - "name": "subject", - "width": 600, - "xtype": "TextField", - "|xns": "Roo.form" - }, - { - "hideLabels": true, - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "hideLabels": true, - "legend": "Html Editor", - "style": "text-align:center;", - "xtype": "FieldSet", - "|xns": "Roo.form", - "items": [ - { - "clearUp": false, - "height": 250, - "name": "bodytext", - "resizable": "s", - "xtype": "HtmlEditor", - "|cwhite": "[ \n 'margin',\n 'padding',\n 'text-align',\n 'background',\n 'height',\n 'width',\n 'background-color',\n 'font-size',\n 'line-height',\n 'color',\n 'outline',\n 'text-decoration',\n 'position',\n 'clear',\n 'overflow',\n 'margin-top',\n 'border-bottom',\n 'top',\n 'list-style',\n 'margin-left',\n 'border',\n 'float' ,\n 'margin-right',\n 'padding-top',\n 'min-height',\n 'left',\n 'padding-left',\n 'font-weight',\n 'font-family',\n 'display',\n 'margin-bottom',\n 'padding-bottom',\n 'vertical-align',\n 'cursor',\n 'z-index',\n 'right',\n ]", - "|xns": "Roo.form", - "items": [ - { - "|xns": "Roo.form.HtmlEditor", - "xtype": "ToolbarContext", - "*prop": "toolbars[]" - }, - { - "*prop": "toolbars[]", - "xtype": "ToolbarStandard", - "|xns": "Roo.form.HtmlEditor", - "items": [ - { - "listeners": { - "render": "function (_self)\n{\n _this.extendimgselect = _self;\n}", - "select": "function (combo, record, index)\n{\n Roo.log(record);\n (function() { \n combo.setValue('');\n }).defer(100);\n var editor = _this.form.findField('bodytext');\n editor.insertAtCursor(\n String.format('',\n baseURL, record.data.id, record.data.filename\n )\n );\n\n \n }", - "beforequery": "function (combo, query, forceAll, cancel, e)\n{\n var id = _this.form.findField('id').getValue() * 1; \n if (!id) {\n Roo.MessageBox.alert(\"Error\", \"Save message first\");\n return false;\n }\n}" - }, - "*prop": "btns[]", - "alwaysQuery": true, - "displayField": "name", - "editable": false, - "emptyText": "Add Image", - "fieldLabel": "Images", - "forceSelection": true, - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "pageSize": 20, - "qtip": "Select Images", - "selectOnFocus": true, - "tpl": "
{filename}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "id", - "width": 100, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "|beforeload": "function (_self, o){\n o.params = o.params || {};\n\n var id = _this.form.findField('id').getValue() * 1; \n if (!id) {\n Roo.MessageBox.alert(\"Error\", \"Save email template first\");\n return false;\n }\n o.params.onid = id\n o.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n // o.params.imgtype = 'PressRelease';\n //o.params['query[imagesize]'] = '150x150';\n // set more here\n}\n" - }, - "*prop": "store", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ direction : 'ASC', field: 'id' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|xns": "Roo.data", - "|url": "baseURL + '/Roo/Images.php'" - }, - { - "*prop": "reader", - "id": "id", - "root": "data", - "totalProperty": "total", - "xtype": "JsonReader", - "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"filename\",\"type\":\"string\"},{\"name\":\"url_thumb\",\"type\":\"string\"}]", - "|xns": "Roo.data" - } - ] - } - ] - }, - { - "listeners": { - "render": "function (_self)\n{\n _this.unsubscribeselect = _self;\n}", - "select": "function (combo, record, index)\n{\n Roo.log(record);\n (function() { \n combo.setValue('');\n }).defer(100);\n var editor = _this.form.findField('bodytext');\n \n if(record.data.name == 'Unsubscribe'){\n editor.insertAtCursor(\n String.format('{1}',\n record.data.type, record.data.name\n )\n );\n return; \n }\n \n editor.insertAtCursor(\n String.format('{0}',\n record.data.type\n )\n );\n \n }" - }, - "*prop": "btns[]", - "alwaysQuery": true, - "displayField": "name", - "editable": false, - "emptyText": "Insert Field", - "fieldLabel": "Field", - "forceSelection": true, - "listWidth": 400, - "loadingText": "Searching...", - "minChars": 2, - "pageSize": 20, - "qtip": "Insert Field", - "selectOnFocus": true, - "tpl": "
{name}
", - "triggerAction": "all", - "typeAhead": true, - "valueField": "type", - "width": 100, - "xtype": "ComboBox", - "|xns": "Roo.form", - "items": [ - { - "*prop": "store", - "xtype": "SimpleStore", - "|data": "[ \n [ '{person.firstname}', \"First Name\"],\n [ '{person.lastname}' , \"Last Name\"],\n [ '{person.name}', \"Full Name\"],\n [ '#unsubscribe', \"Unsubscribe\"]\n]\n", - "|fields": "[ 'type', 'name']", - "|xns": "Roo.data" - } - ] - } - ] - } - ] - } - ] - } - ] - }, - { - "hideLabels": true, - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "listeners": { - "click": "function (_self, e)\n{\n var h = _this.form.findField('bodytext').getValue();\n var p = _this.form.findField('plaintext');\n \n new Pman.Request({\r\n url : baseURL + '/Core/ImportMailMessage.php',\r\n method : 'POST',\r\n params : {\n bodytext : h,\r\n _convertToPlain : true,\n _check_unsubscribe : true\r\n }, \r\n success : function(res) {\r\n if(res.success == true){\n p.setValue(res.data);\n }\r\n }\r\n }); \n \n}" - }, - "text": "Convert Html to Text", - "xtype": "Button", - "|xns": "Roo" - } - ] - }, - { - "hideLabels": true, - "xtype": "Row", - "|xns": "Roo.form", - "items": [ - { - "hideLabels": true, - "legend": "Plain Text", - "style": "text-align:center;", - "xtype": "FieldSet", - "|xns": "Roo.form", - "items": [ - { - "height": 50, - "name": "plaintext", - "xtype": "TextArea", - "|xns": "Roo.form" - } - ] - } - ] - }, - { - "name": "id", - "|xns": "Roo.form", - "xtype": "Hidden" - } - ] - } - ] - } - ] + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"filename\",\"type\":\"string\"},{\"name\":\"url_thumb\",\"type\":\"string\"}]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "totalProperty" : "total" } - ] - }, - { - "listeners": { - "|activate": "function() {\n _this.ipanel = this;\n if (_this.igrid) {\n _this.igrid.ds.load({});\n }\n}" + ] + } + ] }, - "autoScroll": false, - "background": false, - "fitContainer": true, - "fitToframe": true, - "region": "east", - "tableName": "Images", - "title": "Images / Attachments", - "xtype": "GridPanel", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|render": "function() \n{\n _this.igrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.ipanel.active) {\n // _this.igrid.ds.load({});\n }\n}" - }, - "*prop": "grid", - "autoExpandColumn": "filename", - "loadMask": true, - "xtype": "Grid", - "|xns": "Roo.grid", - "items": [ - { - "listeners": { - "beforeload": "function (_self, options)\n{\n options.params = options.params || {};\n if (typeof(_this.data) == 'undefined') {\n return false;\n }\n if(_this.data.id * 1 >= 0)\n {\n options.params.onid = _this.data.id;\n\n options.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n }\n}" - }, - "*prop": "dataSource", - "remoteSort": true, - "xtype": "Store", - "|sortInfo": "{ field : 'filename', direction: 'ASC' }", - "|xns": "Roo.data", - "items": [ - { - "*prop": "proxy", - "xtype": "HttpProxy", - "method": "GET", - "|url": "baseURL + '/Roo/Images.php'", - "|xns": "Roo.data" - }, - { - "*prop": "reader", - "id": "id", - "root": "data", - "totalProperty": "total", - "xtype": "JsonReader", - "|fields": "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'filename',\n 'type': 'string'\n },\n {\n 'name': 'ontable',\n 'type': 'string'\n },\n {\n 'name': 'onid',\n 'type': 'int'\n },\n {\n 'name': 'mimetype',\n 'type': 'string'\n },\n {\n 'name': 'width',\n 'type': 'int'\n },\n {\n 'name': 'height',\n 'type': 'int'\n },\n {\n 'name': 'filesize',\n 'type': 'int'\n },\n {\n 'name': 'displayorder',\n 'type': 'int'\n },\n {\n 'name': 'language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'created',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'imgtype',\n 'type': 'string'\n },\n {\n 'name': 'linkurl',\n 'type': 'string'\n },\n {\n 'name': 'descript',\n 'type': 'string'\n },\n {\n 'name': 'title',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filename',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_ontable',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_onid',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_mimetype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_width',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_height',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filesize',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_displayorder',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_created',\n 'type': 'date'\n },\n {\n 'name': 'parent_image_id_imgtype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_linkurl',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_descript',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_title',\n 'type': 'string'\n }\n]", - "|xns": "Roo.data" - } - ] - }, - { - "*prop": "toolbar", - "xtype": "Toolbar", - "|xns": "Roo", - "items": [ - { - "listeners": { - "|click": "function()\n{\n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.MessageBox.alert('Error', 'Please save the email template first');\n return;\n }\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n Pman.Dialog.Image.show( { id : 0, onid: id, ontable: ontable }, function() {\n _this.igrid.getDataSource().load({});\n }); \n}\n" - }, - "cls": "x-btn-text-icon", - "text": "Add", - "xtype": "Button", - "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", - "|xns": "Roo.Toolbar" - }, - { - "listeners": { - "|click": "function()\n{\n var s = _this.igrid.getSelectionModel().getSelected();\n if (!s || isNaN(s.id *1)) {\n Roo.MessageBox.alert(\"Error\", \"Select a image\"); \n return;\n }\n Roo.MessageBox.confirm(\"Confirm\", \"Are sure you want to delete this image?\", function (v){\n if (v != 'yes') {\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/Images.php',\n method: 'POST',\n params : {\n _delete : s.id\n },\n success : function()\n {\n Roo.log('Got Success!!');\n _this.igrid.ds.load({});\n }\n });\n });\n}\n " - }, - "cls": "x-btn-text-icon", - "text": "Delete", - "xtype": "Button", - "|icon": "rootURL + '/Pman/templates/images/trash.gif'", - "|xns": "Roo.Toolbar" - } - ] - }, - { - "*prop": "colModel[]", - "dataIndex": "filename", - "header": "Filename", - "width": 300, - "xtype": "ColumnModel", - "|renderer": "function(v,x,r)\n{\n return '';\n}", - "|xns": "Roo.grid" - }, - { - "xtype": "ColumnModel", - "header": "Displayorder", - "width": 75, - "dataIndex": "displayorder", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid", - "*prop": "colModel[]" - }, - { - "*prop": "colModel[]", - "dataIndex": "title", - "header": "Title", - "width": 75, - "xtype": "ColumnModel", - "|renderer": "function(v) { return String.format('{0}', v); }", - "|xns": "Roo.grid" - } - ] - } - ] - }, - { - "listeners": { - "click": "function (_self, e)\n{\n //_this.dialog.hide();\n Roo.log(_this.data.module);\n Pman.Dialog.CoreEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module });\n}", - "render": "function (_self)\n{\n _this.preview_btn = _self;\n}" - }, - "*prop": "buttons[]", - "text": "Preview", - "xtype": "Button", - "|xns": "Roo" - }, - { - "listeners": { - "click": "function (_self, e)\n{\n //_this.dialog.hide();\n \n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.MessageBox.alert('Error', 'Please save the message frist!');\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Core/MessagePreview',\n method : 'POST',\n mask: 'Sending',\n params : {\n _id : id,\n _table : _this.data.module\n }, \n success : function(res) { \n if(res.data == 'SUCCESS'){\n Roo.MessageBox.alert(\"Email Sent\", 'The report was sent to your email (HTML format).');\n }\n }\n });\n}", - "render": "function (_self)\n{\n _this.html_preview = _self;\n}" - }, - "*prop": "buttons[]", - "text": "Send me a test copy", - "xtype": "Button", - "|xns": "Roo" - }, - { - "listeners": { - "click": "function (_self, e)\n{\n _this.dialog.hide();\n}" - }, - "*prop": "buttons[]", - "text": "Cancel", - "xtype": "Button", - "|xns": "Roo" - }, + { + "listeners" : { + "render" : "function (_self)\n{\n _this.unsubscribeselect = _self;\n}", + "select" : "function (combo, record, index)\n{\n Roo.log(record);\n (function() { \n combo.setValue('');\n }).defer(100);\n var editor = _this.form.findField('bodytext').editorcore;\n \n if(record.data.name == 'Unsubscribe'){\n editor.insertAtCursor(\n String.format('{1}',\n record.data.type, record.data.name\n )\n );\n return; \n }\n \n editor.insertAtCursor(\n String.format('{0}',\n record.data.type\n )\n );\n \n }" + }, + "alwaysQuery" : true, + "listWidth" : 400, + "triggerAction" : "all", + "fieldLabel" : "Field", + "forceSelection" : true, + "selectOnFocus" : true, + "pageSize" : 20, + "displayField" : "name", + "emptyText" : "Insert Field", + "minChars" : 2, + "valueField" : "type", + "xtype" : "ComboBox", + "typeAhead" : true, + "editable" : false, + "width" : 100, + "$ xns" : "Roo.form", + "* prop" : "btns[]", + "qtip" : "Insert Field", + "tpl" : "
{name}
", + "loadingText" : "Searching...", + "items" : [ + { + "xtype" : "SimpleStore", + "$ data" : "[ \n [ '{person.firstname}', \"First Name\"],\n [ '{person.lastname}' , \"Last Name\"],\n [ '{person.name}', \"Full Name\"],\n [ '#unsubscribe', \"Unsubscribe\"]\n]\n", + "$ fields" : "[ 'type', 'name']", + "$ xns" : "Roo.data", + "* prop" : "store" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "hideLabels" : true, + "xtype" : "Row", + "$ xns" : "Roo.form", + "items" : [ + { + "listeners" : { + "click" : "function (_self, e)\n{\n var h = _this.form.findField('bodytext').getValue();\n var p = _this.form.findField('plaintext');\n \n new Pman.Request({\r\n url : baseURL + '/Core/ImportMailMessage.php',\r\n method : 'POST',\r\n params : {\n bodytext : h,\r\n _convertToPlain : true,\n _check_unsubscribe : true\r\n }, \r\n success : function(res) {\r\n if(res.success == true){\n p.setValue(res.data);\n }\r\n }\r\n }); \n \n}" + }, + "text" : "Convert Html to Text", + "xtype" : "Button", + "$ xns" : "Roo" + } + ] + }, + { + "hideLabels" : true, + "xtype" : "Row", + "$ xns" : "Roo.form", + "items" : [ + { + "hideLabels" : true, + "style" : "text-align:center;", + "legend" : "Plain Text", + "xtype" : "FieldSet", + "$ xns" : "Roo.form", + "items" : [ { - "listeners": { - "click": "function (_self, e)\n{\n\n // do some checks?\n _this.form.preValidate(function(res) {\n if (!res) {\n return; //failed.\n }\n _this.form.doAction(\"submit\");\n });\n\n}" - }, - "*prop": "buttons[]", - "text": "Save", - "xtype": "Button", - "|xns": "Roo" + "xtype" : "TextArea", + "$ xns" : "Roo.form", + "height" : 50, + "name" : "plaintext" } - ] + ] + } + ] + }, + { + "xtype" : "Hidden", + "$ xns" : "Roo.form", + "name" : "id" + } + ] + } + ] + } + ] + } + ] + }, + { + "listeners" : { + "|activate" : "function() {\n _this.ipanel = this;\n if (_this.igrid) {\n _this.igrid.ds.load({});\n }\n}" + }, + "autoScroll" : false, + "background" : false, + "fitToframe" : true, + "region" : "east", + "title" : "Images / Attachments", + "xtype" : "GridPanel", + "fitContainer" : true, + "$ xns" : "Roo", + "tableName" : "Images", + "items" : [ + { + "listeners" : { + "|render" : "function() \n{\n _this.igrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.ipanel.active) {\n // _this.igrid.ds.load({});\n }\n}" + }, + "autoExpandColumn" : "filename", + "xtype" : "Grid", + "loadMask" : true, + "$ xns" : "Roo.grid", + "* prop" : "grid", + "items" : [ + { + "listeners" : { + "beforeload" : "function (_self, options)\n{\n options.params = options.params || {};\n if (typeof(_this.data) == 'undefined') {\n return false;\n }\n if(_this.data.id * 1 >= 0)\n {\n options.params.onid = _this.data.id;\n\n options.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n }\n}" + }, + "xtype" : "Store", + "remoteSort" : true, + "$ sortInfo" : "{ field : 'filename', direction: 'ASC' }", + "$ xns" : "Roo.data", + "* prop" : "dataSource", + "items" : [ + { + "$ url" : "baseURL + '/Roo/Images.php'", + "method" : "GET", + "xtype" : "HttpProxy", + "$ xns" : "Roo.data", + "* prop" : "proxy" + }, + { + "id" : "id", + "root" : "data", + "xtype" : "JsonReader", + "$ fields" : "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'filename',\n 'type': 'string'\n },\n {\n 'name': 'ontable',\n 'type': 'string'\n },\n {\n 'name': 'onid',\n 'type': 'int'\n },\n {\n 'name': 'mimetype',\n 'type': 'string'\n },\n {\n 'name': 'width',\n 'type': 'int'\n },\n {\n 'name': 'height',\n 'type': 'int'\n },\n {\n 'name': 'filesize',\n 'type': 'int'\n },\n {\n 'name': 'displayorder',\n 'type': 'int'\n },\n {\n 'name': 'language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'created',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'imgtype',\n 'type': 'string'\n },\n {\n 'name': 'linkurl',\n 'type': 'string'\n },\n {\n 'name': 'descript',\n 'type': 'string'\n },\n {\n 'name': 'title',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filename',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_ontable',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_onid',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_mimetype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_width',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_height',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_filesize',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_displayorder',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'parent_image_id_created',\n 'type': 'date'\n },\n {\n 'name': 'parent_image_id_imgtype',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_linkurl',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_descript',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id_title',\n 'type': 'string'\n }\n]", + "$ xns" : "Roo.data", + "* prop" : "reader", + "totalProperty" : "total" + } + ] + }, + { + "xtype" : "Toolbar", + "$ xns" : "Roo", + "* prop" : "toolbar", + "items" : [ + { + "listeners" : { + "|click" : "function()\n{\n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.MessageBox.alert('Error', 'Please save the email template first');\n return;\n }\n \n var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';\n \n Pman.Dialog.Image.show( { id : 0, onid: id, ontable: ontable }, function() {\n _this.igrid.getDataSource().load({});\n }); \n}\n" + }, + "text" : "Add", + "xtype" : "Button", + "cls" : "x-btn-text-icon", + "$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'", + "$ xns" : "Roo.Toolbar" + }, + { + "listeners" : { + "|click" : "function()\n{\n var s = _this.igrid.getSelectionModel().getSelected();\n if (!s || isNaN(s.id *1)) {\n Roo.MessageBox.alert(\"Error\", \"Select a image\"); \n return;\n }\n Roo.MessageBox.confirm(\"Confirm\", \"Are sure you want to delete this image?\", function (v){\n if (v != 'yes') {\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/Images.php',\n method: 'POST',\n params : {\n _delete : s.id\n },\n success : function()\n {\n Roo.log('Got Success!!');\n _this.igrid.ds.load({});\n }\n });\n });\n}\n " + }, + "text" : "Delete", + "xtype" : "Button", + "cls" : "x-btn-text-icon", + "$ icon" : "rootURL + '/Pman/templates/images/trash.gif'", + "$ xns" : "Roo.Toolbar" + } + ] + }, + { + "xtype" : "ColumnModel", + "header" : "Filename", + "width" : 300, + "$ renderer" : "function(v,x,r)\n{\n return '';\n}", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "filename" + }, + { + "xtype" : "ColumnModel", + "width" : 75, + "header" : "Displayorder", + "$ renderer" : "function(v) { return String.format('{0}', v); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "displayorder" + }, + { + "xtype" : "ColumnModel", + "header" : "Title", + "width" : 75, + "$ renderer" : "function(v) { return String.format('{0}', v); }", + "$ xns" : "Roo.grid", + "* prop" : "colModel[]", + "dataIndex" : "title" } - ], - "permname": "", - "modOrder": "001" + ] + } + ] + }, + { + "listeners" : { + "render" : "function (_self)\n{\n _this.preview_btn = _self;\n}", + "click" : "function (_self, e)\n{\n //_this.dialog.hide();\n Roo.log(_this.data.module);\n Pman.Dialog.CoreEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module });\n}" + }, + "text" : "Preview", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + }, + { + "listeners" : { + "render" : "function (_self)\n{\n _this.html_preview = _self;\n}", + "click" : "function (_self, e)\n{\n //_this.dialog.hide();\n \n var id = _this.form.findField('id').getValue();\n \n if(id*1 < 1){\n Roo.MessageBox.alert('Error', 'Please save the message frist!');\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Core/MessagePreview',\n method : 'POST',\n mask: 'Sending',\n params : {\n _id : id,\n _table : _this.data.module\n }, \n success : function(res) { \n if(res.data == 'SUCCESS'){\n Roo.MessageBox.alert(\"Email Sent\", 'The report was sent to your email (HTML format).');\n }\n }\n });\n}" + }, + "text" : "Send me a test copy", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n _this.dialog.hide();\n}" + }, + "text" : "Cancel", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + }, + { + "listeners" : { + "click" : "function (_self, e)\n{\n\n // do some checks?\n _this.form.preValidate(function(res) {\n if (!res) {\n return; //failed.\n }\n _this.form.doAction(\"submit\");\n });\n\n}" + }, + "text" : "Save", + "xtype" : "Button", + "$ xns" : "Roo", + "* prop" : "buttons[]" + } + ] + } + ] } \ No newline at end of file diff --git a/Pman.Dialog.CoreEmail.js b/Pman.Dialog.CoreEmail.js index 92b392f5..31ba1f8b 100644 --- a/Pman.Dialog.CoreEmail.js +++ b/Pman.Dialog.CoreEmail.js @@ -2,1152 +2,1310 @@ // Auto generated file - created by app.Builder.js- do not edit directly (at present!) +Roo.namespace('Pman.Dialog'); + Pman.Dialog.CoreEmail = { - dialog : false, - callback: false, + _strings : { + '308f2757bfc9ce92fb00ff93fdffd279' :"Images / Attachments", + 'dc0de523c25be298ba751c63c694109e' :"Responsive Email (1)", + 'ea30b40c3caf28acb29198d20d243e54' :"Images / Attachments >>", + '4c2a8fe7eaf24721cc7a9f0175115bd4' :"Message", + '2f26e35d61be90501e099089dc533638' :"Select Images", + 'ec211f7c20af43e742bf2570c3cb84f9' :"Add", + '72d6d7a1885885bb55a565fd1070581a' :"Import", + '884df8e413319ff51a3f5f528606238a' :"Use template", + '396ecabf0cd1f9503e591418851ef406' :"Edit / Create Message", + '31bb2f6e9b8fb11cbb7fb63c6025223f' :"Select Template", + '1bd18d39370b7f26c1c5e18067b74c6f' :"Html File", + '1243daf593fa297e07ab03bf06d925af' :"Searching...", + 'b78a3223503896721cca1303f776159b' :"Title", + '31fde7b05ac8952dacf4af8a704074ec' :"Preview", + '5b8ef4e762c00a15a41cfc26dc3ef99c' :"Send me a test copy", + 'ea4788705e6873b424c65e91c2846b19' :"Cancel", + '962b90039a542a29cedd51d87a9f28a1' :"Html Editor", + '5feb9bf3c03b32635135006cbacb9542' :"Insert Field", + '2393ad754ba179442d85e415d1d5167c' :"Displayorder", + 'b9c49611cfda3259a2b837b39489e650' :"Add Image", + 'e44b145bd8b49b06e0ad2ced1ad56466' :"Plain Text", + 'f2a6c498fb90ee345d997f888fce3b18' :"Delete", + '1351017ac6423911223bc19a8cb7c653' :"Filename", + 'c9cc8cce247e49bae79f15173ce97354' :"Save", + 'e6b391a8d2c4d45902a23a8b6585703d' :"URL", + 'e9968623956c15023d54335ea3699855' :"Convert Html to Text" + }, - show : function(data, cb) - { - if (!this.dialog) { - this.create(); - } + dialog : false, + callback: false, - this.callback = cb; - this.data = data; - this.dialog.show(this.data._el); - if (this.form) { - this.form.reset(); - this.form.setValues(data); - this.form.fireEvent('actioncomplete', this.form, { type: 'setdata', data: data }); - } + show : function(data, cb) + { + if (!this.dialog) { + this.create(); + } + + this.callback = cb; + this.data = data; + this.dialog.show(this.data._el); + 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({ + center : { + '|xns' : 'Roo', + tabPosition : 'top', + xns : Roo, + xtype : 'LayoutRegion' + }, + east : { + '|xns' : 'Roo', + hidden : true, + split : true, + title : _this._strings['308f2757bfc9ce92fb00ff93fdffd279'], + titlebar : true, + width : 500, + xns : Roo, + xtype : 'LayoutRegion' + }, + '|xns' : 'Roo', + closable : true, + collapsible : false, + height : 500, + modal : true, + resizable : true, + title : _this._strings['396ecabf0cd1f9503e591418851ef406'], + width : 800, + xns : Roo, + xtype : 'LayoutDialog', + buttons : [ + { + '|xns' : 'Roo', + text : _this._strings['31fde7b05ac8952dacf4af8a704074ec'], + xns : Roo, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + //_this.dialog.hide(); + Roo.log(_this.data.module); + Pman.Dialog.CoreEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module }); + }, + render : function (_self) + { + _this.preview_btn = _self; + } + } + }, +{ + '|xns' : 'Roo', + text : _this._strings['5b8ef4e762c00a15a41cfc26dc3ef99c'], + xns : Roo, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + //_this.dialog.hide(); + + var id = _this.form.findField('id').getValue(); + + if(id*1 < 1){ + Roo.MessageBox.alert('Error', 'Please save the message frist!'); + return; + } + + new Pman.Request({ + url : baseURL + '/Core/MessagePreview', + method : 'POST', + mask: 'Sending', + params : { + _id : id, + _table : _this.data.module + }, + success : function(res) { + if(res.data == 'SUCCESS'){ + Roo.MessageBox.alert("Email Sent", 'The report was sent to your email (HTML format).'); + } + } + }); + }, + render : function (_self) + { + _this.html_preview = _self; + } + } + }, +{ + '|xns' : 'Roo', + text : _this._strings['ea4788705e6873b424c65e91c2846b19'], + xns : Roo, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + _this.dialog.hide(); + } + } + }, +{ + '|xns' : 'Roo', + text : _this._strings['c9cc8cce247e49bae79f15173ce97354'], + xns : Roo, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + + // do some checks? + _this.form.preValidate(function(res) { + if (!res) { + return; //failed. + } + _this.form.doAction("submit"); + }); + + } + } + } + ], + listeners : { + show : function (_self) + { + + _self.layout.getRegion('center').showPanel(0); + var w = Roo.lib.Dom.getViewWidth(); + var h = Roo.lib.Dom.getViewHeight(); this.resizeTo(w-50, h-50); + this.center(); + var ew = Math.max(250, w-320); + var eh = Math.max(250, h-350) ; + var e = _this.dialog.layout.getRegion('east'); + if (e.visible) { + e.hide(); + } + + var el = _self.getEl(); + var elw = el.dom.clientWidth; + + var bdtext = _this.form.findField('bodytext'); + var ptext = _this.form.findField('plaintext'); + if(bdtext.resizeEl){ + bdtext.width = elw-100; + bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] ); + ptext.setSize(bdtext.width , bdtext.height); + } + + } }, + items : [ + { + toolbar : { + '|xns' : 'Roo', + xns : Roo, + xtype : 'Toolbar', + items : [ + { + menu : { + '|xns' : 'Roo.menu', + xns : Roo.menu, + xtype : 'Menu', + items : [ + { + '|xns' : 'Roo.menu', + text : _this._strings['e6b391a8d2c4d45902a23a8b6585703d'], + xns : Roo.menu, + xtype : 'Item', + listeners : { + click : function (_self, e) + { + Pman.Dialog.CoreImportUrl.show({ + target : '/Core/ImportMailMessage.php' + }, function(data) { + if (data) { + // Roo.log(data); + _this.form.findField('bodytext').setValue(data); + } + }); + } + } + }, + { + '|xns' : 'Roo.menu', + text : _this._strings['1bd18d39370b7f26c1c5e18067b74c6f'], + xns : Roo.menu, + xtype : 'Item', + listeners : { + click : function (_self, e) + { + Pman.Dialog.Image.show({ + _url : baseURL + '/Core/ImportMailMessage.php' + }, function(data) { + if (data) { + _this.form.findField('bodytext').setValue(data); + } + }); + } + } + } + ] + + }, + '|xns' : 'Roo.Toolbar', + text : _this._strings['72d6d7a1885885bb55a565fd1070581a'], + xns : Roo.Toolbar, + xtype : 'Button', + items : [ - create : function() - { - var _this = this; - this.dialog = Roo.factory({ - xtype: 'LayoutDialog', - xns: Roo, + ] + + }, + { + menu : { + '|xns' : 'Roo.menu', + xns : Roo.menu, + xtype : 'Menu', + items : [ + { + '|xns' : 'Roo.menu', + text : _this._strings['dc0de523c25be298ba751c63c694109e'], + xns : Roo.menu, + xtype : 'Item', listeners : { - show : function (_self) - { - - _self.layout.getRegion('center').showPanel(0); - var w = Roo.lib.Dom.getViewWidth(); - var h = Roo.lib.Dom.getViewHeight(); this.resizeTo(w-50, h-50); - this.center(); - var ew = Math.max(250, w-320); - var eh = Math.max(250, h-350) ; - var e = _this.dialog.layout.getRegion('east'); - if (e.visible) { - e.hide(); - } - - var el = _self.getEl(); - var elw = el.dom.clientWidth; - - var bdtext = _this.form.findField('bodytext'); - var ptext = _this.form.findField('plaintext'); - if(bdtext.resizeEl){ - bdtext.width = elw-100; - bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] ); - ptext.setSize(bdtext.width , bdtext.height); - } - - } + click : function (_self, e) + { + + var l = document.location; + new Pman.Request({ + + url : baseURL + '/Core/ImportMailMessage.php', + + method: 'POST', + mask : "Loading", + params : { + importUrl : l.protocol +'//' + l.host + rootURL + '/Pman/Crm/mail_templates/responsive1.html', + }, + success : function (res) { + + _this.form.findField('bodytext').setValue(res.data); + } + + }); + } + } + } + ] + + }, + '|xns' : 'Roo.Toolbar', + text : _this._strings['884df8e413319ff51a3f5f528606238a'], + xns : Roo.Toolbar, + xtype : 'Button', + items : [ + + ] + + }, + { + store : { + proxy : { + '|xns' : 'Roo.data', + method : 'GET', + url : baseURL + '/Core/MailTemplateList.php', + xns : Roo.data, + xtype : 'HttpProxy' + }, + reader : { + '|xns' : 'Roo.data', + fields : [{"name":"file","type":"string"},{"name":"content","type":"string"}], + id : 'name', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + xtype : 'JsonReader' + }, + '|xns' : 'Roo.data', + remoteSort : true, + sortInfo : { direction : 'DESC', field: 'file' }, + xns : Roo.data, + xtype : 'Store', + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + // set more here + + } + }, + items : [ + + ] + + }, + '|xns' : 'Roo.form', + allowBlank : true, + alwaysQuery : true, + displayField : 'file', + editable : false, + emptyText : _this._strings['31bb2f6e9b8fb11cbb7fb63c6025223f'], + fieldLabel : 'Template', + forceSelection : true, + hiddenName : 'template', + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'], + minChars : 2, + name : 'template', + pageSize : 20, + qtip : _this._strings['31bb2f6e9b8fb11cbb7fb63c6025223f'], + selectOnFocus : true, + tpl : '
{file}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'file', + width : 200, + xns : Roo.form, + xtype : 'ComboBox', + listeners : { + select : function (combo, record, index) + { + + /* + (function() { + combo.setValue(''); + }).defer(100); + */ + if(!record){ + return; + } + _this.form.findField('bodytext').setValue(record.data.content); + + } + }, + items : [ + + ] + + }, + { + '|xns' : 'Roo.Toolbar', + xns : Roo.Toolbar, + xtype : 'Fill' + }, + { + '|xns' : 'Roo.Toolbar', + text : _this._strings['ea30b40c3caf28acb29198d20d243e54'], + xns : Roo.Toolbar, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + var el = _this.dialog.layout.getRegion('east'); + if (el.visible) { + el.hide(); + } else { + el.show(); + el.showPanel(0); + } + + } + } + } + ] + + }, + layout : { + center : { + '|xns' : 'Roo', + autoScroll : true, + xns : Roo, + xtype : 'LayoutRegion' + }, + '|xns' : 'Roo', + xns : Roo, + xtype : 'BorderLayout', + items : [ + { + '|xns' : 'Roo', + autoScroll : false, + background : false, + fitContainer : true, + fitToFrame : true, + region : 'center', + title : _this._strings['4c2a8fe7eaf24721cc7a9f0175115bd4'], + xns : Roo, + xtype : 'ContentPanel', + listeners : { + render : function (_self, width, height) + { + + Roo.log("RESIZE, " + width + ',' + height); + + var ew = Math.max(250, width-50); + var eh = Math.max(250,height-50) ; + + + + }, + resize : function (_self, width, height) + { + var ew = Math.max(250, width-50); + var eh = Math.max(250,height-50) ; + + if (!_this.form) { + return; + } + var bdtext = _this.form.findField('bodytext'); + var ptext = _this.form.findField('plaintext'); + if(bdtext.resizeEl){ + bdtext.width = ew-50; + bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] ); + ptext.setSize(bdtext.width , bdtext.height); + } + + } + }, + items : [ + { + '|xns' : 'Roo.form', + labelAlign : 'right', + labelWidth : 120, + method : 'POST', + preValidate : function(done_callback) { + + Roo.MessageBox.progress("Uploading Images", "Uploading"); + var html = _this.form.findField('bodytext').getValue(); + + var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement); + + var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; + + var nodes = []; + s.select('img[src]').each(function(i) { + nodes.push(i.dom); + }); + var total = nodes.length; + var mkimg = function() { + + if (!nodes.length) { + Roo.MessageBox.hide(); + _this.form.findField('bodytext').syncValue(); + done_callback(true); + // _this.form.doAction("submit"); + return; + } + var i = nodes.pop(); + + var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/); + + if(n){ + mkimg(); + return; + } + + n = i.getAttribute('src').match(/^http(.*)/) + + if(!n ){ + mkimg(); + return; + } + + new Pman.Request({ + url : baseURL + '/Roo/Images.php', + method : 'POST', + params : { + onid : _this.form.findField('id').getValue(), + ontable : ontable , + _remote_upload : i.src + }, + success : function(res){ + if(res.success == true){ + i.setAttribute('src', res.data); + Roo.MessageBox.updateProgress( (total - nodes.length) / total , "Done " + (total - nodes.length) + '/' + total); + } + mkimg(); + } + }); + + } + mkimg(); + }, + style : 'margin:10px', + url : baseURL + '/Roo/crm_mailing_list_message.php', + xns : Roo.form, + xtype : 'Form', + listeners : { + actioncomplete : function(_self,action) + { + + if (action.type == 'setdata') { + + _this.data.module = _this.data.module || 'crm_mailing_list_message'; + + _this.form.url = baseURL + '/Roo/' + _this.data.module; + + _this.html_preview.hide(); + _this.preview_btn.hide(); + + if(_this.data.id*1 > 0){ + _this.dialog.el.mask("Loading"); + this.load({ method: 'GET', params: { '_id' : _this.data.id }}); + _this.html_preview.show(); + _this.preview_btn.show(); + + } else { + _this.form.setValues({ + 'from_name' : Pman.Login.authUser.name, + 'from_email' : Pman.Login.authUser.email + }); + } + return; + } + if (action.type == 'load') { + _this.dialog.el.unmask(); + return; + } + if (action.type =='submit') { + + _this.dialog.el.unmask(); + _this.dialog.hide(); + + if (_this.callback) { + _this.callback.call(_this, action.result.data); + } + _this.form.reset(); + return; + } + }, + rendered : function (form) + { + _this.form= form; + } + }, + items : [ + { + '|xns' : 'Roo.form', + xns : Roo.form, + xtype : 'Row', + items : [ + { + '|xns' : 'Roo.form', + allowBlank : false, + fieldLabel : 'Mailout Name', + name : 'name', + width : 400, + xns : Roo.form, + xtype : 'TextField' + } + ] + }, - closable : true, - collapsible : false, - height : 500, - modal : true, - resizable : true, - title : "Edit / Create Message", - width : 800, - items : [ - { - xtype: 'NestedLayoutPanel', - xns: Roo, - autoScroll : false, - fitContainer : true, - fitToFrame : true, - region : 'center', - toolbar : { - xtype: 'Toolbar', - xns: Roo, - items : [ - { - xtype: 'Button', - xns: Roo.Toolbar, - text : "Import", - menu : { - xtype: 'Menu', - xns: Roo.menu, - items : [ - { - xtype: 'Item', - xns: Roo.menu, - listeners : { - click : function (_self, e) - { - Pman.Dialog.CoreImportUrl.show({ - target : '/Core/ImportMailMessage.php' - }, function(data) { - if (data) { - // Roo.log(data); - _this.form.findField('bodytext').setValue(data); - } - }); - } - }, - text : "URL" - }, - { - xtype: 'Item', - xns: Roo.menu, - listeners : { - click : function (_self, e) - { - Pman.Dialog.Image.show({ - _url : baseURL + '/Core/ImportMailMessage.php' - }, function(data) { - if (data) { - _this.form.findField('bodytext').setValue(data); - } - }); - } - }, - text : "Html File" - } - ] - } - }, - { - xtype: 'Button', - xns: Roo.Toolbar, - text : "Use template", - menu : { - xtype: 'Menu', - xns: Roo.menu, - items : [ - { - xtype: 'Item', - xns: Roo.menu, - listeners : { - click : function (_self, e) - { - - var l = document.location; - new Pman.Request({ - - url : baseURL + '/Core/ImportMailMessage.php', - - method: 'POST', - mask : "Loading", - params : { - importUrl : l.protocol +'//' + l.host + rootURL + '/Pman/Crm/mail_templates/responsive1.html', - }, - success : function (res) { - - _this.form.findField('bodytext').setValue(res.data); - } - - }); - } - }, - text : "Responsive Email (1)" - } - ] - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - listeners : { - select : function (combo, record, index) - { - - /* - (function() { - combo.setValue(''); - }).defer(100); - */ - if(!record){ - return; - } - _this.form.findField('bodytext').setValue(record.data.content); - - } - }, - allowBlank : true, - alwaysQuery : true, - displayField : 'file', - editable : false, - emptyText : "Select Template", - fieldLabel : 'Template', - forceSelection : true, - hiddenName : 'template', - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - name : 'template', - pageSize : 20, - qtip : "Select Template", - selectOnFocus : true, - tpl : '
{file}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'file', - width : 200, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - // set more here - - } - }, - remoteSort : true, - sortInfo : { direction : 'DESC', field: 'file' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Core/MailTemplateList.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'name', - root : 'data', - totalProperty : 'total', - fields : [{"name":"file","type":"string"},{"name":"content","type":"string"}] - } - } - }, - { - xtype: 'Fill', - xns: Roo.Toolbar - }, - { - xtype: 'Button', - xns: Roo.Toolbar, - listeners : { - click : function (_self, e) - { - var el = _this.dialog.layout.getRegion('east'); - if (el.visible) { - el.hide(); - } else { - el.show(); - el.showPanel(0); - } - - } - }, - text : "Images / Attachments >>" - } - ] - }, - layout : { - xtype: 'BorderLayout', - xns: Roo, - items : [ - { - xtype: 'ContentPanel', - xns: Roo, - listeners : { - render : function (_self, width, height) - { - - Roo.log("RESIZE, " + width + ',' + height); - - var ew = Math.max(250, width-50); - var eh = Math.max(250,height-50) ; - - - - }, - resize : function (_self, width, height) - { - var ew = Math.max(250, width-50); - var eh = Math.max(250,height-50) ; - - if (!_this.form) { - return; - } - var bdtext = _this.form.findField('bodytext'); - var ptext = _this.form.findField('plaintext'); - if(bdtext.resizeEl){ - bdtext.width = ew-50; - bdtext.resizeEl.resizeTo.defer(110, bdtext.resizeEl,[ bdtext.width, bdtext.height ] ); - ptext.setSize(bdtext.width , bdtext.height); - } - - } - }, - autoScroll : false, - background : false, - fitContainer : true, - fitToFrame : true, - region : 'center', - title : "Message", - items : [ - { - xtype: 'Form', - xns: Roo.form, - listeners : { - actioncomplete : function(_self,action) - { - - if (action.type == 'setdata') { - - _this.data.module = _this.data.module || 'crm_mailing_list_message'; - - _this.form.url = baseURL + '/Roo/' + _this.data.module; - - _this.html_preview.hide(); - _this.preview_btn.hide(); - - if(_this.data.id*1 > 0){ - _this.dialog.el.mask("Loading"); - this.load({ method: 'GET', params: { '_id' : _this.data.id }}); - _this.html_preview.show(); - _this.preview_btn.show(); - - } else { - _this.form.setValues({ - 'from_name' : Pman.Login.authUser.name, - 'from_email' : Pman.Login.authUser.email - }); - } - return; - } - if (action.type == 'load') { - _this.dialog.el.unmask(); - return; - } - if (action.type =='submit') { - - _this.dialog.el.unmask(); - _this.dialog.hide(); - - if (_this.callback) { - _this.callback.call(_this, action.result.data); - } - _this.form.reset(); - return; - } - }, - rendered : function (form) - { - _this.form= form; - } - }, - labelAlign : 'right', - labelWidth : 120, - method : 'POST', - style : 'margin:10px', - preValidate : function(done_callback) { - - Roo.MessageBox.progress("Uploading Images", "Uploading"); - var html = _this.form.findField('bodytext').getValue(); - - var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement); - - var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; - - var nodes = []; - s.select('img[src]').each(function(i) { - nodes.push(i.dom); - }); - var total = nodes.length; - var mkimg = function() { - - if (!nodes.length) { - Roo.MessageBox.hide(); - _this.form.findField('bodytext').syncValue(); - done_callback(true); - // _this.form.doAction("submit"); - return; - } - var i = nodes.pop(); - - var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/); - - if(n){ - mkimg(); - return; - } - - n = i.getAttribute('src').match(/^http(.*)/) - - if(!n ){ - mkimg(); - return; - } - - new Pman.Request({ - url : baseURL + '/Roo/Images.php', - method : 'POST', - params : { - onid : _this.form.findField('id').getValue(), - ontable : ontable , - _remote_upload : i.src - }, - success : function(res){ - if(res.success == true){ - i.setAttribute('src', res.data); - Roo.MessageBox.updateProgress( (total - nodes.length) / total , "Done " + (total - nodes.length) + '/' + total); - } - mkimg(); - } - }); - - } - mkimg(); - }, - url : baseURL + '/Roo/crm_mailing_list_message.php', - items : [ - { - xtype: 'Row', - xns: Roo.form, - items : [ - { - xtype: 'TextField', - xns: Roo.form, - allowBlank : false, - fieldLabel : 'Mailout Name', - name : 'name', - width : 400 - } - ] - }, - { - xtype: 'Row', - xns: Roo.form, - items : [ - { - xtype: 'TextField', - xns: Roo.form, - allowBlank : false, - fieldLabel : 'From', - name : 'from_name', - width : 300 - }, - { - xtype: 'TextField', - xns: Roo.form, - allowBlank : false, - fieldLabel : 'Email address', - name : 'from_email', - width : 300 - } - ] - }, - { - xtype: 'TextField', - xns: Roo.form, - allowBlank : false, - fieldLabel : 'Subject', - name : 'subject', - width : 600 - }, - { - xtype: 'Row', - xns: Roo.form, - hideLabels : true, - items : [ - { - xtype: 'FieldSet', - xns: Roo.form, - hideLabels : true, - legend : "Html Editor", - style : 'text-align:center;', - items : [ - { - xtype: 'HtmlEditor', - xns: Roo.form, - clearUp : false, - height : 250, - name : 'bodytext', - resizable : 's', - cwhite : [ - 'margin', - 'padding', - 'text-align', - 'background', - 'height', - 'width', - 'background-color', - 'font-size', - 'line-height', - 'color', - 'outline', - 'text-decoration', - 'position', - 'clear', - 'overflow', - 'margin-top', - 'border-bottom', - 'top', - 'list-style', - 'margin-left', - 'border', - 'float' , - 'margin-right', - 'padding-top', - 'min-height', - 'left', - 'padding-left', - 'font-weight', - 'font-family', - 'display', - 'margin-bottom', - 'padding-bottom', - 'vertical-align', - 'cursor', - 'z-index', - 'right', - ], - toolbars : [ - { - xtype: 'ToolbarContext', - xns: Roo.form.HtmlEditor - }, - { - xtype: 'ToolbarStandard', - xns: Roo.form.HtmlEditor, - btns : [ - { - xtype: 'ComboBox', - xns: Roo.form, - listeners : { - render : function (_self) - { - _this.extendimgselect = _self; - }, - select : function (combo, record, index) - { - Roo.log(record); - (function() { - combo.setValue(''); - }).defer(100); - var editor = _this.form.findField('bodytext'); - editor.insertAtCursor( - String.format('', - baseURL, record.data.id, record.data.filename - ) - ); - - - }, - beforequery : function (combo, query, forceAll, cancel, e) - { - var id = _this.form.findField('id').getValue() * 1; - if (!id) { - Roo.MessageBox.alert("Error", "Save message first"); - return false; - } - } - }, - alwaysQuery : true, - displayField : 'name', - editable : false, - emptyText : "Add Image", - fieldLabel : 'Images', - forceSelection : true, - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - pageSize : 20, - qtip : "Select Images", - selectOnFocus : true, - tpl : '
{filename}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'id', - width : 100, - store : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, o){ - o.params = o.params || {}; - - var id = _this.form.findField('id').getValue() * 1; - if (!id) { - Roo.MessageBox.alert("Error", "Save email template first"); - return false; - } - o.params.onid = id - o.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; - - // o.params.imgtype = 'PressRelease'; - //o.params['query[imagesize]'] = '150x150'; - // set more here - } - }, - remoteSort : true, - sortInfo : { direction : 'ASC', field: 'id' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/Images.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [{"name":"id","type":"int"},{"name":"filename","type":"string"},{"name":"url_thumb","type":"string"}] - } - } - }, - { - xtype: 'ComboBox', - xns: Roo.form, - listeners : { - render : function (_self) - { - _this.unsubscribeselect = _self; - }, - select : function (combo, record, index) - { - Roo.log(record); - (function() { - combo.setValue(''); - }).defer(100); - var editor = _this.form.findField('bodytext'); - - if(record.data.name == 'Unsubscribe'){ - editor.insertAtCursor( - String.format('{1}', - record.data.type, record.data.name - ) - ); - return; - } - - editor.insertAtCursor( - String.format('{0}', - record.data.type - ) - ); - - } - }, - alwaysQuery : true, - displayField : 'name', - editable : false, - emptyText : "Insert Field", - fieldLabel : 'Field', - forceSelection : true, - listWidth : 400, - loadingText : "Searching...", - minChars : 2, - pageSize : 20, - qtip : "Insert Field", - selectOnFocus : true, - tpl : '
{name}
', - triggerAction : 'all', - typeAhead : true, - valueField : 'type', - width : 100, - store : { - xtype: 'SimpleStore', - xns: Roo.data, - data : [ - [ '{person.firstname}', "First Name"], - [ '{person.lastname}' , "Last Name"], - [ '{person.name}', "Full Name"], - [ '#unsubscribe', "Unsubscribe"] - ], - fields : [ 'type', 'name'] - } - } - ] - } - ] - } - ] - } - ] - }, - { - xtype: 'Row', - xns: Roo.form, - hideLabels : true, - items : [ - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - var h = _this.form.findField('bodytext').getValue(); - var p = _this.form.findField('plaintext'); - - new Pman.Request({ - url : baseURL + '/Core/ImportMailMessage.php', - method : 'POST', - params : { - bodytext : h, - _convertToPlain : true, - _check_unsubscribe : true - }, - success : function(res) { - if(res.success == true){ - p.setValue(res.data); - } - } - }); - - } - }, - text : "Convert Html to Text" - } - ] - }, - { - xtype: 'Row', - xns: Roo.form, - hideLabels : true, - items : [ - { - xtype: 'FieldSet', - xns: Roo.form, - hideLabels : true, - legend : "Plain Text", - style : 'text-align:center;', - items : [ - { - xtype: 'TextArea', - xns: Roo.form, - height : 50, - name : 'plaintext' - } - ] - } - ] - }, - { - xtype: 'Hidden', - xns: Roo.form, - name : 'id' - } - ] - } - ] - } - ], - center : { - xtype: 'LayoutRegion', - xns: Roo, - autoScroll : true - } - } - }, + { + '|xns' : 'Roo.form', + xns : Roo.form, + xtype : 'Row', + items : [ + { + '|xns' : 'Roo.form', + allowBlank : false, + fieldLabel : 'From', + name : 'from_name', + width : 300, + xns : Roo.form, + xtype : 'TextField' + }, + { + '|xns' : 'Roo.form', + allowBlank : false, + fieldLabel : 'Email address', + name : 'from_email', + width : 300, + xns : Roo.form, + xtype : 'TextField' + } + ] + + }, + { + '|xns' : 'Roo.form', + allowBlank : false, + fieldLabel : 'Subject', + name : 'subject', + width : 600, + xns : Roo.form, + xtype : 'TextField' + }, + { + '|xns' : 'Roo.form', + hideLabels : true, + xns : Roo.form, + xtype : 'Row', + items : [ + { + '|xns' : 'Roo.form', + hideLabels : true, + legend : _this._strings['962b90039a542a29cedd51d87a9f28a1'], + style : 'text-align:center;', + xns : Roo.form, + xtype : 'FieldSet', + items : [ { - xtype: 'GridPanel', - xns: Roo, - listeners : { - activate : function() { - _this.ipanel = this; - if (_this.igrid) { - _this.igrid.ds.load({}); - } - } - }, - autoScroll : false, - background : false, - fitContainer : true, - fitToframe : true, - region : 'east', - tableName : 'Images', - title : "Images / Attachments", - grid : { - xtype: 'Grid', - xns: Roo.grid, - listeners : { - render : function() - { - _this.igrid = this; - //_this.dialog = Pman.Dialog.FILL_IN - if (_this.ipanel.active) { - // _this.igrid.ds.load({}); - } - } + '|xns' : 'Roo.form', + clearUp : false, + cwhite : [ + 'margin', + 'padding', + 'text-align', + 'background', + 'height', + 'width', + 'background-color', + 'font-size', + 'line-height', + 'color', + 'outline', + 'text-decoration', + 'position', + 'clear', + 'overflow', + 'margin-top', + 'border-bottom', + 'top', + 'list-style', + 'margin-left', + 'border', + 'float' , + 'margin-right', + 'padding-top', + 'min-height', + 'left', + 'padding-left', + 'font-weight', + 'font-family', + 'display', + 'margin-bottom', + 'padding-bottom', + 'vertical-align', + 'cursor', + 'z-index', + 'right', + ], + height : 250, + name : 'bodytext', + resizable : 's', + xns : Roo.form, + xtype : 'HtmlEditor', + toolbars : [ + { + '|xns' : 'Roo.form.HtmlEditor', + xns : Roo.form.HtmlEditor, + xtype : 'ToolbarContext' + }, +{ + '|xns' : 'Roo.form.HtmlEditor', + xns : Roo.form.HtmlEditor, + xtype : 'ToolbarStandard', + btns : [ + { + store : { + proxy : { + '|xns' : 'Roo.data', + method : 'GET', + url : baseURL + '/Roo/Images.php', + xns : Roo.data, + xtype : 'HttpProxy' }, - autoExpandColumn : 'filename', - loadMask : true, - dataSource : { - xtype: 'Store', - xns: Roo.data, - listeners : { - beforeload : function (_self, options) - { - options.params = options.params || {}; - if (typeof(_this.data) == 'undefined') { - return false; - } - if(_this.data.id * 1 >= 0) - { - options.params.onid = _this.data.id; - - options.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; - } - } - }, - remoteSort : true, - sortInfo : { field : 'filename', direction: 'ASC' }, - proxy : { - xtype: 'HttpProxy', - xns: Roo.data, - method : 'GET', - url : baseURL + '/Roo/Images.php' - }, - reader : { - xtype: 'JsonReader', - xns: Roo.data, - id : 'id', - root : 'data', - totalProperty : 'total', - fields : [ - { - 'name': 'id', - 'type': 'int' - }, - { - 'name': 'filename', - 'type': 'string' - }, - { - 'name': 'ontable', - 'type': 'string' - }, - { - 'name': 'onid', - 'type': 'int' - }, - { - 'name': 'mimetype', - 'type': 'string' - }, - { - 'name': 'width', - 'type': 'int' - }, - { - 'name': 'height', - 'type': 'int' - }, - { - 'name': 'filesize', - 'type': 'int' - }, - { - 'name': 'displayorder', - 'type': 'int' - }, - { - 'name': 'language', - 'type': 'string' - }, - { - 'name': 'parent_image_id', - 'type': 'int' - }, - { - 'name': 'created', - 'type': 'date', - 'dateFormat': 'Y-m-d' - }, - { - 'name': 'imgtype', - 'type': 'string' - }, - { - 'name': 'linkurl', - 'type': 'string' - }, - { - 'name': 'descript', - 'type': 'string' - }, - { - 'name': 'title', - 'type': 'string' - }, - { - 'name': 'parent_image_id_id', - 'type': 'int' - }, - { - 'name': 'parent_image_id_filename', - 'type': 'string' - }, - { - 'name': 'parent_image_id_ontable', - 'type': 'string' - }, - { - 'name': 'parent_image_id_onid', - 'type': 'int' - }, - { - 'name': 'parent_image_id_mimetype', - 'type': 'string' - }, - { - 'name': 'parent_image_id_width', - 'type': 'int' - }, - { - 'name': 'parent_image_id_height', - 'type': 'int' - }, - { - 'name': 'parent_image_id_filesize', - 'type': 'int' - }, - { - 'name': 'parent_image_id_displayorder', - 'type': 'int' - }, - { - 'name': 'parent_image_id_language', - 'type': 'string' - }, - { - 'name': 'parent_image_id_parent_image_id', - 'type': 'int' - }, - { - 'name': 'parent_image_id_created', - 'type': 'date' - }, - { - 'name': 'parent_image_id_imgtype', - 'type': 'string' - }, - { - 'name': 'parent_image_id_linkurl', - 'type': 'string' - }, - { - 'name': 'parent_image_id_descript', - 'type': 'string' - }, - { - 'name': 'parent_image_id_title', - 'type': 'string' - } - ] - } + reader : { + '|xns' : 'Roo.data', + fields : [{"name":"id","type":"int"},{"name":"filename","type":"string"},{"name":"url_thumb","type":"string"}], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + xtype : 'JsonReader' }, - toolbar : { - xtype: 'Toolbar', - xns: Roo, - items : [ - { - xtype: 'Button', - xns: Roo.Toolbar, - listeners : { - click : function() - { - var id = _this.form.findField('id').getValue(); - - if(id*1 < 1){ - Roo.MessageBox.alert('Error', 'Please save the email template first'); - return; - } - - var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; - - Pman.Dialog.Image.show( { id : 0, onid: id, ontable: ontable }, function() { - _this.igrid.getDataSource().load({}); - }); - } - }, - cls : 'x-btn-text-icon', - text : "Add", - icon : Roo.rootURL + 'images/default/dd/drop-add.gif' - }, - { - xtype: 'Button', - xns: Roo.Toolbar, - listeners : { - click : function() - { - var s = _this.igrid.getSelectionModel().getSelected(); - if (!s || isNaN(s.id *1)) { - Roo.MessageBox.alert("Error", "Select a image"); - return; - } - Roo.MessageBox.confirm("Confirm", "Are sure you want to delete this image?", function (v){ - if (v != 'yes') { - return; - } - - new Pman.Request({ - url : baseURL + '/Roo/Images.php', - method: 'POST', - params : { - _delete : s.id - }, - success : function() - { - Roo.log('Got Success!!'); - _this.igrid.ds.load({}); - } - }); - }); - } - }, - cls : 'x-btn-text-icon', - text : "Delete", - icon : rootURL + '/Pman/templates/images/trash.gif' - } - ] + '|xns' : 'Roo.data', + remoteSort : true, + sortInfo : { direction : 'ASC', field: 'id' }, + xns : Roo.data, + xtype : 'Store', + listeners : { + beforeload : function (_self, o){ + o.params = o.params || {}; + + var id = _this.form.findField('id').getValue() * 1; + if (!id) { + Roo.MessageBox.alert("Error", "Save email template first"); + return false; + } + o.params.onid = id + o.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; + + // o.params.imgtype = 'PressRelease'; + //o.params['query[imagesize]'] = '150x150'; + // set more here + } }, - colModel : [ - { - xtype: 'ColumnModel', - xns: Roo.grid, - dataIndex : 'filename', - header : 'Filename', - width : 300, - renderer : function(v,x,r) - { - return ''; - } - }, - { - xtype: 'ColumnModel', - xns: Roo.grid, - header : 'Displayorder', - width : 75, - dataIndex : 'displayorder', - renderer : function(v) { return String.format('{0}', v); } - }, - { - xtype: 'ColumnModel', - xns: Roo.grid, - dataIndex : 'title', - header : 'Title', - width : 75, - renderer : function(v) { return String.format('{0}', v); } - } + items : [ + ] - } + + }, + '|xns' : 'Roo.form', + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['b9c49611cfda3259a2b837b39489e650'], + fieldLabel : 'Images', + forceSelection : true, + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'], + minChars : 2, + pageSize : 20, + qtip : _this._strings['2f26e35d61be90501e099089dc533638'], + selectOnFocus : true, + tpl : '
{filename}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'id', + width : 100, + xns : Roo.form, + xtype : 'ComboBox', + listeners : { + beforequery : function (combo, query, forceAll, cancel, e) + { + var id = _this.form.findField('id').getValue() * 1; + if (!id) { + Roo.MessageBox.alert("Error", "Save message first"); + return false; + } + }, + render : function (_self) + { + _this.extendimgselect = _self; + }, + select : function (combo, record, index) + { + Roo.log(record); + (function() { + combo.setValue(''); + }).defer(100); + var editor = _this.form.findField('bodytext').editorcore; + editor.insertAtCursor( + String.format('', + baseURL, record.data.id, record.data.filename + ) + ); + + + } + }, + items : [ + + ] + + }, +{ + store : { + '|xns' : 'Roo.data', + data : [ + [ '{person.firstname}', "First Name"], + [ '{person.lastname}' , "Last Name"], + [ '{person.name}', "Full Name"], + [ '#unsubscribe', "Unsubscribe"] + ], + fields : [ 'type', 'name'], + xns : Roo.data, + xtype : 'SimpleStore' + }, + '|xns' : 'Roo.form', + alwaysQuery : true, + displayField : 'name', + editable : false, + emptyText : _this._strings['5feb9bf3c03b32635135006cbacb9542'], + fieldLabel : 'Field', + forceSelection : true, + listWidth : 400, + loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'], + minChars : 2, + pageSize : 20, + qtip : _this._strings['5feb9bf3c03b32635135006cbacb9542'], + selectOnFocus : true, + tpl : '
{name}
', + triggerAction : 'all', + typeAhead : true, + valueField : 'type', + width : 100, + xns : Roo.form, + xtype : 'ComboBox', + listeners : { + render : function (_self) + { + _this.unsubscribeselect = _self; + }, + select : function (combo, record, index) + { + Roo.log(record); + (function() { + combo.setValue(''); + }).defer(100); + var editor = _this.form.findField('bodytext').editorcore; + + if(record.data.name == 'Unsubscribe'){ + editor.insertAtCursor( + String.format('{1}', + record.data.type, record.data.name + ) + ); + return; + } + + editor.insertAtCursor( + String.format('{0}', + record.data.type + ) + ); + + } + }, + items : [ + + ] + + } + ], + items : [ + + ] + + } + ], + items : [ + + ] + } - ], - center : { - xtype: 'LayoutRegion', - xns: Roo, - tabPosition : 'top' + ] + + } + ] + }, - east : { - xtype: 'LayoutRegion', - xns: Roo, - hidden : true, - split : true, - title : "Images / Attachments", - titlebar : true, - width : 500 + { + '|xns' : 'Roo.form', + hideLabels : true, + xns : Roo.form, + xtype : 'Row', + items : [ + { + '|xns' : 'Roo', + text : _this._strings['e9968623956c15023d54335ea3699855'], + xns : Roo, + xtype : 'Button', + listeners : { + click : function (_self, e) + { + var h = _this.form.findField('bodytext').getValue(); + var p = _this.form.findField('plaintext'); + + new Pman.Request({ + url : baseURL + '/Core/ImportMailMessage.php', + method : 'POST', + params : { + bodytext : h, + _convertToPlain : true, + _check_unsubscribe : true + }, + success : function(res) { + if(res.success == true){ + p.setValue(res.data); + } + } + }); + + } + } + } + ] + }, - buttons : [ + { + '|xns' : 'Roo.form', + hideLabels : true, + xns : Roo.form, + xtype : 'Row', + items : [ + { + '|xns' : 'Roo.form', + hideLabels : true, + legend : _this._strings['e44b145bd8b49b06e0ad2ced1ad56466'], + style : 'text-align:center;', + xns : Roo.form, + xtype : 'FieldSet', + items : [ { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - //_this.dialog.hide(); - Roo.log(_this.data.module); - Pman.Dialog.CoreEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module }); - }, - render : function (_self) - { - _this.preview_btn = _self; - } - }, - text : "Preview" - }, - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - //_this.dialog.hide(); - - var id = _this.form.findField('id').getValue(); - - if(id*1 < 1){ - Roo.MessageBox.alert('Error', 'Please save the message frist!'); - return; - } - - new Pman.Request({ - url : baseURL + '/Core/MessagePreview', - method : 'POST', - mask: 'Sending', - params : { - _id : id, - _table : _this.data.module - }, - success : function(res) { - if(res.data == 'SUCCESS'){ - Roo.MessageBox.alert("Email Sent", 'The report was sent to your email (HTML format).'); - } - } - }); + '|xns' : 'Roo.form', + height : 50, + name : 'plaintext', + xns : Roo.form, + xtype : 'TextArea' + } + ] + + } + ] + + }, + { + '|xns' : 'Roo.form', + name : 'id', + xns : Roo.form, + xtype : 'Hidden' + } + ] + + } + ] + + } + ] + + }, + '|xns' : 'Roo', + autoScroll : false, + fitContainer : true, + fitToFrame : true, + region : 'center', + xns : Roo, + xtype : 'NestedLayoutPanel', + items : [ + + ] + + }, + { + grid : { + dataSource : { + proxy : { + '|xns' : 'Roo.data', + method : 'GET', + url : baseURL + '/Roo/Images.php', + xns : Roo.data, + xtype : 'HttpProxy' + }, + reader : { + '|xns' : 'Roo.data', + fields : [ + { + 'name': 'id', + 'type': 'int' + }, + { + 'name': 'filename', + 'type': 'string' + }, + { + 'name': 'ontable', + 'type': 'string' + }, + { + 'name': 'onid', + 'type': 'int' + }, + { + 'name': 'mimetype', + 'type': 'string' + }, + { + 'name': 'width', + 'type': 'int' + }, + { + 'name': 'height', + 'type': 'int' + }, + { + 'name': 'filesize', + 'type': 'int' + }, + { + 'name': 'displayorder', + 'type': 'int' + }, + { + 'name': 'language', + 'type': 'string' + }, + { + 'name': 'parent_image_id', + 'type': 'int' + }, + { + 'name': 'created', + 'type': 'date', + 'dateFormat': 'Y-m-d' + }, + { + 'name': 'imgtype', + 'type': 'string' + }, + { + 'name': 'linkurl', + 'type': 'string' + }, + { + 'name': 'descript', + 'type': 'string' + }, + { + 'name': 'title', + 'type': 'string' + }, + { + 'name': 'parent_image_id_id', + 'type': 'int' + }, + { + 'name': 'parent_image_id_filename', + 'type': 'string' + }, + { + 'name': 'parent_image_id_ontable', + 'type': 'string' + }, + { + 'name': 'parent_image_id_onid', + 'type': 'int' + }, + { + 'name': 'parent_image_id_mimetype', + 'type': 'string' + }, + { + 'name': 'parent_image_id_width', + 'type': 'int' + }, + { + 'name': 'parent_image_id_height', + 'type': 'int' + }, + { + 'name': 'parent_image_id_filesize', + 'type': 'int' + }, + { + 'name': 'parent_image_id_displayorder', + 'type': 'int' + }, + { + 'name': 'parent_image_id_language', + 'type': 'string' + }, + { + 'name': 'parent_image_id_parent_image_id', + 'type': 'int' + }, + { + 'name': 'parent_image_id_created', + 'type': 'date' + }, + { + 'name': 'parent_image_id_imgtype', + 'type': 'string' + }, + { + 'name': 'parent_image_id_linkurl', + 'type': 'string' + }, + { + 'name': 'parent_image_id_descript', + 'type': 'string' + }, + { + 'name': 'parent_image_id_title', + 'type': 'string' + } + ], + id : 'id', + root : 'data', + totalProperty : 'total', + xns : Roo.data, + xtype : 'JsonReader' + }, + '|xns' : 'Roo.data', + remoteSort : true, + sortInfo : { field : 'filename', direction: 'ASC' }, + xns : Roo.data, + xtype : 'Store', + listeners : { + beforeload : function (_self, options) + { + options.params = options.params || {}; + if (typeof(_this.data) == 'undefined') { + return false; + } + if(_this.data.id * 1 >= 0) + { + options.params.onid = _this.data.id; + + options.params.ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; + } + } + }, + items : [ + + ] + + }, + toolbar : { + '|xns' : 'Roo', + xns : Roo, + xtype : 'Toolbar', + items : [ + { + '|xns' : 'Roo.Toolbar', + cls : 'x-btn-text-icon', + icon : Roo.rootURL + 'images/default/dd/drop-add.gif', + text : _this._strings['ec211f7c20af43e742bf2570c3cb84f9'], + xns : Roo.Toolbar, + xtype : 'Button', + listeners : { + click : function() + { + var id = _this.form.findField('id').getValue(); + + if(id*1 < 1){ + Roo.MessageBox.alert('Error', 'Please save the email template first'); + return; + } + + var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message'; + + Pman.Dialog.Image.show( { id : 0, onid: id, ontable: ontable }, function() { + _this.igrid.getDataSource().load({}); + }); + } + } + }, + { + '|xns' : 'Roo.Toolbar', + cls : 'x-btn-text-icon', + icon : rootURL + '/Pman/templates/images/trash.gif', + text : _this._strings['f2a6c498fb90ee345d997f888fce3b18'], + xns : Roo.Toolbar, + xtype : 'Button', + listeners : { + click : function() + { + var s = _this.igrid.getSelectionModel().getSelected(); + if (!s || isNaN(s.id *1)) { + Roo.MessageBox.alert("Error", "Select a image"); + return; + } + Roo.MessageBox.confirm("Confirm", "Are sure you want to delete this image?", function (v){ + if (v != 'yes') { + return; + } + + new Pman.Request({ + url : baseURL + '/Roo/Images.php', + method: 'POST', + params : { + _delete : s.id }, - render : function (_self) - { - _this.html_preview = _self; - } - }, - text : "Send me a test copy" - }, - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) - { - _this.dialog.hide(); - } - }, - text : "Cancel" - }, - { - xtype: 'Button', - xns: Roo, - listeners : { - click : function (_self, e) + success : function() { - - // do some checks? - _this.form.preValidate(function(res) { - if (!res) { - return; //failed. - } - _this.form.doAction("submit"); - }); - + Roo.log('Got Success!!'); + _this.igrid.ds.load({}); } - }, - text : "Save" - } - ] - }); - } + }); + }); + } + } + } + ] + + }, + '|xns' : 'Roo.grid', + autoExpandColumn : 'filename', + loadMask : true, + xns : Roo.grid, + xtype : 'Grid', + colModel : [ + { + '|xns' : 'Roo.grid', + dataIndex : 'filename', + header : _this._strings['1351017ac6423911223bc19a8cb7c653'], + renderer : function(v,x,r) + { + return ''; + }, + width : 300, + xns : Roo.grid, + xtype : 'ColumnModel' + }, +{ + '|xns' : 'Roo.grid', + dataIndex : 'displayorder', + header : _this._strings['2393ad754ba179442d85e415d1d5167c'], + renderer : function(v) { return String.format('{0}', v); }, + width : 75, + xns : Roo.grid, + xtype : 'ColumnModel' + }, +{ + '|xns' : 'Roo.grid', + dataIndex : 'title', + header : _this._strings['b78a3223503896721cca1303f776159b'], + renderer : function(v) { return String.format('{0}', v); }, + width : 75, + xns : Roo.grid, + xtype : 'ColumnModel' + } + ], + listeners : { + render : function() + { + _this.igrid = this; + //_this.dialog = Pman.Dialog.FILL_IN + if (_this.ipanel.active) { + // _this.igrid.ds.load({}); + } + } + }, + items : [ + + ] + + }, + '|xns' : 'Roo', + autoScroll : false, + background : false, + fitContainer : true, + fitToframe : true, + region : 'east', + tableName : 'Images', + title : _this._strings['308f2757bfc9ce92fb00ff93fdffd279'], + xns : Roo, + xtype : 'GridPanel', + listeners : { + activate : function() { + _this.ipanel = this; + if (_this.igrid) { + _this.igrid.ds.load({}); + } + } + }, + items : [ + + ] + + } + ] + + }); + } }; -- 2.39.2