Pman.Dialog.BAdminEmail.bjs
[Pman.BAdmin] / Pman.Dialog.BAdminEmail.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Roo.namespace('Pman.Dialog');
6
7 Pman.Dialog.BAdminEmail= function() {}
8 Roo.apply(Pman.Dialog.BAdminEmail.prototype, {
9
10  _strings : {
11   '843627586c62e389041a4d8800143974' :"Searching",
12   '2c466a2c159463f1d9ef5a7b57b52827' :"Select BCC Group",
13   '396ecabf0cd1f9503e591418851ef406' :"Edit / Create Message",
14   '3858712080cb3d846ea206d1d1070674' :"Test Class (for system reference only):",
15   '31fde7b05ac8952dacf4af8a704074ec' :"Preview",
16   '5b8ef4e762c00a15a41cfc26dc3ef99c' :"Send me a test copy",
17   '4182c8f19d40c7ca236a5f4f83faeb6b' :"Unsubscribe",
18   'b2bce8099bf8e6f51345bee5c9015c89' :"Convert HTML to Plain Text",
19   'ea4788705e6873b424c65e91c2846b19' :"Cancel",
20   'c4ca4238a0b923820dcc509a6f75849b' :"1",
21   '1e6d57e813355689e9c77e947d73ad8f' :"From:",
22   '292f75d54a6892cfe18a93e64230112a' :"Mailout Name:",
23   '47a0be8d1015d526a1fbaa56c3102135' :"Subject:",
24   '5feb9bf3c03b32635135006cbacb9542' :"Insert Field",
25   '7038eac66e387c3b3a0834d786a88757' :"Insert Image",
26   'e71c729cd7f3c6b6ebdb447e65952dfd' :"From email address:",
27   'edddfc18b2ffb806573a1b3f341832cd' :"BCC to Group:",
28   'bd88a20b53a47f7b5704a83a15ff5506' :"Saved Version",
29   'e44b145bd8b49b06e0ad2ced1ad56466' :"Plain Text",
30   'c9cc8cce247e49bae79f15173ce97354' :"Save",
31   '49ee3087348e8d44e1feda1917443987' :"Name",
32   '28690be026c0bb9003aa58e45e5662ca' :"Enabled - will be sent out",
33   'fb981fe689fbec75c6531eb7410971f4' :"To group:",
34   'e05f77bdf3f659c1fd354a88526c03da' :"Select Group",
35   '36a65bbd12f7586ea1f9b0be4e8848aa' :"HTML Editor"
36  },
37  _named_strings : {
38   'active_boxLabel' : '28690be026c0bb9003aa58e45e5662ca' /* Enabled - will be sent out */ ,
39   'to_group_id_name_loadingText' : '843627586c62e389041a4d8800143974' /* Searching */ ,
40   'to_group_id_name_fieldLabel' : 'fb981fe689fbec75c6531eb7410971f4' /* To group: */ ,
41   'save_html' : 'c9cc8cce247e49bae79f15173ce97354' /* Save */ ,
42   'name_fieldLabel' : '292f75d54a6892cfe18a93e64230112a' /* Mailout Name: */ ,
43   'bcc_group_id_name_placeholder' : '2c466a2c159463f1d9ef5a7b57b52827' /* Select BCC Group */ ,
44   'cancel_html' : 'ea4788705e6873b424c65e91c2846b19' /* Cancel */ ,
45   'from_email_fieldLabel' : 'e71c729cd7f3c6b6ebdb447e65952dfd' /* From email address: */ ,
46   'to_group_id_name_placeholder' : 'e05f77bdf3f659c1fd354a88526c03da' /* Select Group */ ,
47   'preview_html' : '31fde7b05ac8952dacf4af8a704074ec' /* Preview */ ,
48   'active_value' : 'c4ca4238a0b923820dcc509a6f75849b' /* 1 */ ,
49   'send_html' : '5b8ef4e762c00a15a41cfc26dc3ef99c' /* Send me a test copy */ ,
50   'from_name_fieldLabel' : '1e6d57e813355689e9c77e947d73ad8f' /* From: */ ,
51   'bcc_group_id_name_loadingText' : '843627586c62e389041a4d8800143974' /* Searching */ ,
52   'bcc_group_id_name_fieldLabel' : 'edddfc18b2ffb806573a1b3f341832cd' /* BCC to Group: */ ,
53   'subject_fieldLabel' : '47a0be8d1015d526a1fbaa56c3102135' /* Subject: */ ,
54   'test_class_fieldLabel' : '3858712080cb3d846ea206d1d1070674' /* Test Class (for system reference only): */ 
55  },
56
57  dialog : false,
58  callback:  false,
59
60  show : function(data, cb)
61  {
62   if (!this.dialog) {
63    this.create();
64   }
65
66   this.callback = cb;
67   this.data = data;
68   this.dialog.show(this.data._el);
69   if (this.form) {
70    this.form.reset();
71    this.form.setValues(data);
72    this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
73   }
74
75  },
76
77  create : function()
78  {
79   var _this = this;
80   this.dialog = Roo.factory({
81     xtype : 'Modal',
82     cls : 'modal-body-enable-overflow-y',
83     fitwindow : true,
84     title : _this._strings['396ecabf0cd1f9503e591418851ef406'] /* Edit / Create Message */,
85     listeners : {
86      hide : function (_self)
87       {
88           if(_this.autosave) {
89               
90               clearInterval(_this.autosave);
91           }
92       },
93      render : function (_self)
94       {
95       
96       },
97      show : function (_self)
98       {
99       
100       }
101     },
102     xns : Roo.bootstrap,
103     '|xns' : 'Roo.bootstrap',
104     buttons : [
105      {
106       xtype : 'Button',
107       html : _this._strings['5b8ef4e762c00a15a41cfc26dc3ef99c'] /* Send me a test copy */,
108       name : 'send',
109       weight : 'default',
110       listeners : {
111        click : function (_self, e)
112         {
113             var id = _this.form.findField('id').getValue();
114             
115             if(id*1 < 1){
116                 Roo.bootstrap.MessageBox.alert('Error', 'Please save the message first!');
117                 return;
118             }
119            
120             new Pman.Request({
121                 url : baseURL + '/Core/MessagePreview',
122                 method : 'POST',
123                 mask: 'Sending',
124                 params : {
125                     _id : id,
126                     _table : _this.data.module
127                 }, 
128                 success : function(res) {
129                     if(res.data == 'SUCCESS'){
130                         Roo.bootstrap.MessageBox.alert("Email Sent", 'The report was sent to your email (HTML format).');
131                     }
132                 }
133             });
134         }
135       },
136       xns : Roo.bootstrap,
137       '|xns' : 'Roo.bootstrap'
138      },
139      {
140       xtype : 'Button',
141       html : _this._strings['31fde7b05ac8952dacf4af8a704074ec'] /* Preview */,
142       name : 'preview',
143       weight : 'default',
144       listeners : {
145        click : function (_self, e)
146         {
147             Pman.Dialog.BAdminEmailPreview.show({ id : _this.form.findField('id').getValue(), module : _this.data.module });
148         }
149       },
150       xns : Roo.bootstrap,
151       '|xns' : 'Roo.bootstrap'
152      },
153      {
154       xtype : 'Button',
155       html : _this._strings['ea4788705e6873b424c65e91c2846b19'] /* Cancel */,
156       name : 'cancel',
157       weight : 'default',
158       listeners : {
159        click : function (_self, e)
160         {
161             _this.dialog.hide();
162         }
163       },
164       xns : Roo.bootstrap,
165       '|xns' : 'Roo.bootstrap'
166      },
167      {
168       xtype : 'Button',
169       html : _this._strings['c9cc8cce247e49bae79f15173ce97354'] /* Save */,
170       name : 'save',
171       weight : 'primary',
172       listeners : {
173        click : function (_self, e)
174         {
175             _this.form.preValidate(function(res) {
176                 if (!res) {
177                     return; //failed.
178                 }
179             });
180         }
181       },
182       xns : Roo.bootstrap,
183       '|xns' : 'Roo.bootstrap'
184      }
185     ],
186     items  : [
187      {
188       xtype : 'Container',
189       xns : Roo.bootstrap,
190       '|xns' : 'Roo.bootstrap',
191       items  : [
192        {
193         xtype : 'Form',
194         errorMask : true,
195         hideshow : function()
196         {
197             _this.to_group_row.hide();
198             
199             if (this.findField('to_group_id').getValue() == -1) {
200                 return;
201             }
202             
203             _this.to_group_row.show();
204         },
205         method : 'POST',
206         preValidate : function(done_callback) {
207             
208             if(!_this.form.findField('bodytext').editorcore.sourceEditMode){
209                 _this.form.findField('bodytext').syncValue();
210             }else{
211                 _this.form.findField('bodytext').pushValue();
212             }
213             
214             var html = _this.form.findField('bodytext').getValue();
215             
216             var s = Roo.get(_this.form.findField('bodytext').editorcore.doc.documentElement);
217             
218             var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';
219             
220             
221             var nodes = [];
222             
223             s.select('img[src]').each(function(i) {
224                 nodes.push(i.dom);
225             });
226             
227             
228             var total = nodes.length;
229             
230             var mkimg = function() {
231                 if (!nodes.length) {
232                       _this.form.findField('bodytext').syncValue();
233                       done_callback(true);
234                       _this.form.doAction("submit");
235                       return;
236                 }
237                 var i = nodes.pop(); 
238                 
239                 var n = i.getAttribute('src').match(/(baseURL|server_baseurl)/);
240                 
241                 if(n){
242                     mkimg();
243                     return;
244                 }
245                 
246                 n = i.getAttribute('src').match(/^http(.*)/);
247                
248                 if(!n ){
249                     mkimg();
250                     return;
251                 }
252                 
253                 
254                 
255                 new Pman.Request({
256                     url : baseURL + '/Roo/Images.php',
257                     method : 'POST',
258                     params : {
259                         onid : _this.form.findField('id').getValue(),
260                         ontable : ontable ,
261                         _remote_upload : i.src
262                     },
263                     success : function(res){
264                         if(res.success == true){      
265                             i.setAttribute('src', res.data);
266                         }
267                         mkimg();
268                     }
269                 });
270                
271             }
272             mkimg();
273         },
274         url : baseURL + '/Roo/crm_mailing_list_message.php',
275         listeners : {
276          actioncomplete : function(_self,action)
277           {
278              
279               if (action.type == 'setdata') {
280                   
281                   _this.data.module = _this.data.module || 'crm_mailing_list_message';
282                   this.url = baseURL + '/Roo/' + _this.data.module;
283                   
284                   if(_this.data.id*1 > 0){
285                       _this.dialog.el.mask("Loading");
286                       this.doAction(
287                           'load',
288                           { method: 'GET', params: { '_id' : _this.data.id, '_with_css' : 1 }}
289                       );
290                       return;
291                   }
292                   
293                   this.findField('name').setDisabled(false);
294                   this.findField('test_class').setDisabled(false);
295                   
296                   this.reset();
297                   
298                   this.findField('to_group_id').setValue(-1);
299                   this.findField('bodytext').setValue('');
300                   
301                   this.setValues({
302                       'from_name' : Pman.Login.authUser.name,
303                       'from_email' : Pman.Login.authUser.email
304                   });
305                   
306                   this.clearInvalid();
307                   
308                   this.hideshow();
309                   
310                   return;
311               }
312               
313               if (action.type == 'load') {
314                   
315                   this.findField('name').setDisabled(false);
316                   this.findField('test_class').setDisabled(false);
317                   
318                   if(action.result.data['is_system'] == 1) {
319                       this.findField('name').setDisabled(true);
320                       this.findField('test_class').setDisabled(true);
321                   }
322                   
323                   _this.dialog.el.unmask();
324                   
325                   this.findField('bodytext').originalValue = this.findField('bodytext').getValue();
326                   
327                   _this.form_data = action.result.data;
328                   
329                   if(_this.form_data._css && _this.form_data._css.length){
330                       _this.htmleditor.editorcore.setStyle(_this.form_data._css);
331                   }
332                   
333                   this.findField('_ignore_group_count').setValue('0');
334                   
335                   this.hideshow();
336                   
337                   return;
338               }
339               
340               if (action.type =='submit') {
341               
342                   _this.dialog.el.unmask();
343                   _this.dialog.hide();
344                   
345                    if (_this.callback) {
346                       _this.callback.call(_this, action.result.data);
347                    }
348                    
349                    this.reset();
350                    
351                    return;
352               }
353           },
354          actionfailed : function (_self, action)
355           {
356           
357              var displayErr = function() {
358                  if(action.result.errorMsg.length >= 200) {
359                      Roo.bootstrap.MessageBox.alert("Error", action.result.errorMsg.substring(0,199) + '...');
360                  } else {
361                      Roo.bootstrap.MessageBox.alert("Error", action.result.errorMsg);
362                  }
363              }
364              switch(action.failureType) {
365               case Roo.form.Action.SERVER_INVALID: 
366                  if(action.result.errors.errcode) {
367                      switch (action.result.errors.errcode) {
368                          case 100:
369                              console.log(Roo.bootstrap.MessageBox);
370                              Roo.bootstrap.MessageBox.confirm('Confirm Save', 'No member found in To Group: ' + _this.combo_to_group.getRawValue() ,function(ret) {
371                                  if(ret == 'no'){
372                                      return;
373                                  }
374                                  _this.form.findField('_ignore_group_count').setValue('1');
375                                  _this.form.doAction("submit");                       
376                                  
377                              }, this);
378                              
379                          break;
380                          
381                          default:
382                              displayErr();
383                              break;
384                      }
385                      return;
386                  }
387                  displayErr();
388                  
389                  break;
390               case Roo.form.Action.CLIENT_INVALID: //for validation
391                  break;
392               case Roo.form.Action.CONNECT_FAILURE:
393                  Roo.bootstrap.MessageBox.alert("Connect Error", action.result.errorMsg);
394                  break;
395               default: 
396                  Roo.bootstrap.MessageBox.alert("Error", action.result.errorMsg);
397                  break;
398                  
399               }
400           },
401          render : function (_self)
402           {
403               _this.form = this;
404           }
405         },
406         xns : Roo.bootstrap,
407         '|xns' : 'Roo.bootstrap',
408         items  : [
409          {
410           xtype : 'Row',
411           xns : Roo.bootstrap,
412           '|xns' : 'Roo.bootstrap',
413           items  : [
414            {
415             xtype : 'Column',
416             md : 8,
417             xs : 12,
418             xns : Roo.bootstrap,
419             '|xns' : 'Roo.bootstrap',
420             items  : [
421              {
422               xtype : 'Input',
423               allowBlank : false,
424               fieldLabel : _this._strings['292f75d54a6892cfe18a93e64230112a'] /* Mailout Name: */,
425               indicatorpos : 'right',
426               labelWidth : 3,
427               name : 'name',
428               xns : Roo.bootstrap,
429               '|xns' : 'Roo.bootstrap'
430              }
431             ]
432            },
433            {
434             xtype : 'Column',
435             md : 4,
436             xns : Roo.bootstrap,
437             '|xns' : 'Roo.bootstrap',
438             items  : [
439              {
440               xtype : 'CheckBox',
441               boxLabel : _this._strings['28690be026c0bb9003aa58e45e5662ca'] /* Enabled - will be sent out */,
442               checked : true,
443               indicatorpos : 'right',
444               name : 'active',
445               value : 1,
446               valueOff : 0,
447               listeners : {
448                check : function (_self, checked)
449                 {
450                     var boxLabel = 'Enabled - will be sent out';
451                     
452                     if(!checked){
453                         boxLabel = 'Disabled - will NOT be sent out';
454                     }
455                     
456                     //this.setBoxLabel(boxLabel);
457                 }
458               },
459               xns : Roo.bootstrap,
460               '|xns' : 'Roo.bootstrap'
461              }
462             ]
463            }
464           ]
465          },
466          {
467           xtype : 'Row',
468           xns : Roo.bootstrap,
469           '|xns' : 'Roo.bootstrap',
470           items  : [
471            {
472             xtype : 'Column',
473             md : 6,
474             name : 'from_name',
475             xs : 12,
476             xns : Roo.bootstrap,
477             '|xns' : 'Roo.bootstrap',
478             items  : [
479              {
480               xtype : 'Input',
481               allowBlank : false,
482               fieldLabel : _this._strings['1e6d57e813355689e9c77e947d73ad8f'] /* From: */,
483               indicatorpos : 'right',
484               labelWidth : 4,
485               name : 'from_name',
486               xns : Roo.bootstrap,
487               '|xns' : 'Roo.bootstrap'
488              }
489             ]
490            },
491            {
492             xtype : 'Column',
493             md : 6,
494             xs : 12,
495             xns : Roo.bootstrap,
496             '|xns' : 'Roo.bootstrap',
497             items  : [
498              {
499               xtype : 'Input',
500               allowBlank : false,
501               fieldLabel : _this._strings['e71c729cd7f3c6b6ebdb447e65952dfd'] /* From email address: */,
502               indicatorpos : 'right',
503               labelWidth : 4,
504               name : 'from_email',
505               vtype : 'email',
506               xns : Roo.bootstrap,
507               '|xns' : 'Roo.bootstrap'
508              }
509             ]
510            }
511           ]
512          },
513          {
514           xtype : 'Row',
515           xns : Roo.bootstrap,
516           '|xns' : 'Roo.bootstrap',
517           items  : [
518            {
519             xtype : 'Column',
520             md : 6,
521             xs : 12,
522             listeners : {
523              render : function (_self)
524               {
525                   _this.to_group_row = this;
526               }
527             },
528             xns : Roo.bootstrap,
529             '|xns' : 'Roo.bootstrap',
530             items  : [
531              {
532               xtype : 'ComboBox',
533               allowBlank : true,
534               alwaysQuery : true,
535               displayField : 'name',
536               editable : false,
537               fieldLabel : _this._strings['fb981fe689fbec75c6531eb7410971f4'] /* To group: */,
538               forceSelection : true,
539               hiddenName : 'to_group_id',
540               indicatorpos : 'right',
541               labelAlign : 'left',
542               labelWidth : 4,
543               loadingText : _this._strings['843627586c62e389041a4d8800143974'] /* Searching */,
544               minChars : 2,
545               name : 'to_group_id_name',
546               pageSize : 20,
547               placeholder : _this._strings['e05f77bdf3f659c1fd354a88526c03da'] /* Select Group */,
548               triggerAction : 'all',
549               typeAhead : true,
550               valueField : 'id',
551               listeners : {
552                render : function (_self)
553                 {
554                     _this.combo_to_group = _self;
555                 }
556               },
557               xns : Roo.bootstrap,
558               '|xns' : 'Roo.bootstrap',
559               store : {
560                xtype : 'Store',
561                remoteSort : true,
562                sortInfo : { direction : 'ASC', field: 'name' },
563                listeners : {
564                 beforeload : function (_self, o){
565                      o.params = o.params || {};
566                      
567                      o.params._direct_return = 1;
568                  }
569                },
570                xns : Roo.data,
571                '|xns' : 'Roo.data',
572                proxy : {
573                 xtype : 'HttpProxy',
574                 method : 'GET',
575                 url : baseURL + '/Roo/Core_group',
576                 xns : Roo.data,
577                 '|xns' : 'Roo.data'
578                },
579                reader : {
580                 xtype : 'JsonReader',
581                 fields : [{"name":"name","type":"string"},{"name":"id","type":"int"}],
582                 id : 'name',
583                 root : 'data',
584                 totalProperty : 'total',
585                 xns : Roo.data,
586                 '|xns' : 'Roo.data'
587                }
588               }
589              }
590             ]
591            },
592            {
593             xtype : 'Column',
594             md : 6,
595             xs : 12,
596             xns : Roo.bootstrap,
597             '|xns' : 'Roo.bootstrap',
598             items  : [
599              {
600               xtype : 'ComboBox',
601               allowBlank : true,
602               alwaysQuery : true,
603               displayField : 'name',
604               editable : false,
605               fieldLabel : _this._strings['edddfc18b2ffb806573a1b3f341832cd'] /* BCC to Group: */,
606               forceSelection : true,
607               hiddenName : 'bcc_group_id',
608               indicatorpos : 'right',
609               labelAlign : 'left',
610               labelWidth : 4,
611               loadingText : _this._strings['843627586c62e389041a4d8800143974'] /* Searching */,
612               minChars : 2,
613               name : 'bcc_group_id_name',
614               pageSize : 20,
615               placeholder : _this._strings['2c466a2c159463f1d9ef5a7b57b52827'] /* Select BCC Group */,
616               triggerAction : 'all',
617               typeAhead : true,
618               valueField : 'id',
619               xns : Roo.bootstrap,
620               '|xns' : 'Roo.bootstrap',
621               store : {
622                xtype : 'Store',
623                remoteSort : true,
624                sortInfo : { direction : 'ASC', field: 'name' },
625                listeners : {
626                 beforeload : function (_self, o){
627                      o.params = o.params || {};
628                      
629                      o.params._direct_return = 1;
630                  }
631                },
632                xns : Roo.data,
633                '|xns' : 'Roo.data',
634                proxy : {
635                 xtype : 'HttpProxy',
636                 method : 'GET',
637                 url : baseURL + '/Roo/Core_group',
638                 xns : Roo.data,
639                 '|xns' : 'Roo.data'
640                },
641                reader : {
642                 xtype : 'JsonReader',
643                 fields : [{"name":"name","type":"string"},{"name":"id","type":"int"}],
644                 id : 'name',
645                 root : 'data',
646                 totalProperty : 'total',
647                 xns : Roo.data,
648                 '|xns' : 'Roo.data'
649                }
650               }
651              }
652             ]
653            }
654           ]
655          },
656          {
657           xtype : 'Row',
658           xns : Roo.bootstrap,
659           '|xns' : 'Roo.bootstrap',
660           items  : [
661            {
662             xtype : 'Column',
663             md : 12,
664             xs : 12,
665             xns : Roo.bootstrap,
666             '|xns' : 'Roo.bootstrap',
667             items  : [
668              {
669               xtype : 'Input',
670               allowBlank : false,
671               fieldLabel : _this._strings['47a0be8d1015d526a1fbaa56c3102135'] /* Subject: */,
672               indicatorpos : 'right',
673               labelWidth : 2,
674               name : 'subject',
675               xns : Roo.bootstrap,
676               '|xns' : 'Roo.bootstrap'
677              }
678             ]
679            }
680           ]
681          },
682          {
683           xtype : 'Row',
684           xns : Roo.bootstrap,
685           '|xns' : 'Roo.bootstrap',
686           items  : [
687            {
688             xtype : 'Column',
689             md : 12,
690             xns : Roo.bootstrap,
691             '|xns' : 'Roo.bootstrap',
692             items  : [
693              {
694               xtype : 'Container',
695               header : _this._strings['36a65bbd12f7586ea1f9b0be4e8848aa'] /* HTML Editor */,
696               panel : 'default',
697               xns : Roo.bootstrap,
698               '|xns' : 'Roo.bootstrap',
699               items  : [
700                {
701                 xtype : 'HtmlEditor',
702                 bodyCls : 'roo-email',
703                 name : 'bodytext',
704                 stylesheets : '',
705                 listeners : {
706                  autosave : function (_self)
707                   {
708                       Roo.log('autosave');
709                       
710                       var id = _this.form.findField('id').getValue() * 1;
711                       
712                       new Pman.Request({
713                           url : baseURL + '/Roo/Events.php',
714                           method :'POST',
715                           params : {
716                               id : 0,
717                               action : 'AUTOSAVE',
718                               on_id : (id > 0) ? id : 0,
719                               on_table : 'crm_mailing_list_message',
720                               remarks : 'BODY',
721                               source: _self.getValue()
722                           },
723                           success : function() {
724                               _self.originalValue = _self.getValue();
725                               
726                           },
727                           failure : function() 
728                           {
729                               Roo.log('body autosave failed?!');
730                           }
731                       });
732                       
733                   },
734                  render : function (_self)
735                   {
736                       _this.htmleditor = this;
737                   },
738                  savedpreview : function (_self)
739                   {
740                       var id = _this.form.findField('id').getValue() * 1;
741                       
742                       var successFn = function(res){
743                           return res.data.POST.source;
744                       };
745                       
746                       var params = {
747                           action : 'AUTOSAVE',
748                           remarks : 'BODY',
749                           on_id : (id < 1) ? 0 : id,
750                           on_table : 'core_email',
751                           successFn : successFn
752                       };
753                       
754                       
755                       Pman.Dialog.BAdminAutoSavePreview.show(params, function(res){
756                           _self.setValue(res);
757                           _self.originalValue = res;
758                       });
759                   }
760                 },
761                 xns : Roo.bootstrap,
762                 '|xns' : 'Roo.bootstrap',
763                 btns : [
764                  {
765                   xtype : 'Button',
766                   glyphicon : 'camera',
767                   html : _this._strings['7038eac66e387c3b3a0834d786a88757'] /* Insert Image */,
768                   toggle : false,
769                   listeners : {
770                    click : function (_self, e)
771                     {
772                         if (!_this.form.findField('bodytext').editorcore.activated) {
773                             Roo.bootstrap.MessageBox.alert('Cannot add any image', 'Please select a place in the belowing text area where the image will insert at');
774                             return;
775                         }
776                         
777                         var id = _this.form.findField('id').getValue();
778                         
779                         if(id*1 < 1){
780                             Roo.bootstrap.MessageBox.alert('Cannot add any image', 'Please save the email template first');
781                             return;
782                         }
783                         
784                         var ontable = (_this.data.module) ? _this.data.module : 'crm_mailing_list_message';
785                         
786                         Pman.Dialog.BAdminImageManager.show({
787                             id : 0,
788                             onid: id,
789                             ontable: ontable
790                         });
791                         
792                     }
793                   },
794                   xns : Roo.bootstrap,
795                   '|xns' : 'Roo.bootstrap'
796                  },
797                  {
798                   xtype : 'Button',
799                   glyphicon : 'tag',
800                   html : _this._strings['5feb9bf3c03b32635135006cbacb9542'] /* Insert Field */,
801                   toggle : false,
802                   xns : Roo.bootstrap,
803                   '|xns' : 'Roo.bootstrap',
804                   menu : {
805                    xtype : 'Menu',
806                    xns : Roo.bootstrap,
807                    '|xns' : 'Roo.bootstrap',
808                    items  : [
809                     {
810                      xtype : 'MenuItem',
811                      html : _this._strings['49ee3087348e8d44e1feda1917443987'] /* Name */,
812                      listeners : {
813                       click : function (_self, e)
814                        {
815                            if (!_this.form.findField('bodytext').editorcore.activated) {
816                                Roo.bootstrap.MessageBox.alert('Cannot add the name tag', 'Please select a place in the belowing text area where the tag will insert at');
817                                return;
818                            }
819                            
820                            _this.form.findField('bodytext').editorcore.insertAtCursor(
821                                String.format('{0}',
822                                    '{person.name}'
823                                )
824                            );
825                        }
826                      },
827                      xns : Roo.bootstrap,
828                      '|xns' : 'Roo.bootstrap'
829                     },
830                     {
831                      xtype : 'MenuItem',
832                      html : _this._strings['4182c8f19d40c7ca236a5f4f83faeb6b'] /* Unsubscribe */,
833                      listeners : {
834                       click : function (_self, e)
835                        {
836                            if (!_this.form.findField('bodytext').editorcore.activated) {
837                                Roo.bootstrap.MessageBox.alert('Cannot add the unsubscribe tag', 'Please select a place in the belowing text area where the tag will insert at');
838                                return;
839                            }
840                            
841                            _this.form.findField('bodytext').editorcore.insertAtCursor(
842                                String.format('<a href="{0}">{1}</a>',
843                                    '#unsubscribe',  "Unsubscribe"
844                                )
845                            );
846                        }
847                      },
848                      xns : Roo.bootstrap,
849                      '|xns' : 'Roo.bootstrap'
850                     }
851                    ]
852                   }
853                  },
854                  {
855                   xtype : 'Button',
856                   glyphicon : 'refresh',
857                   html : _this._strings['b2bce8099bf8e6f51345bee5c9015c89'] /* Convert HTML to Plain Text */,
858                   toggle : false,
859                   listeners : {
860                    click : function (_self, e)
861                     {
862                         var h = _this.form.findField('bodytext').getValue();
863                         var p = _this.form.findField('plaintext');
864                         
865                         new Pman.Request({\r
866                             url : baseURL + '/Core/ImportMailMessage.php',\r
867                             method : 'POST',\r
868                             params : {
869                               bodytext : h,\r
870                               _convertToPlain : true,
871                               _check_unsubscribe : true\r
872                             }, \r
873                             success : function(res) {\r
874                                 if(res.success == true){
875                                    p.setValue(res.data);
876                                 }\r
877                             }\r
878                         });
879                         
880                     }
881                   },
882                   xns : Roo.bootstrap,
883                   '|xns' : 'Roo.bootstrap'
884                  },
885                  {
886                   xtype : 'Button',
887                   glyphicon : 'floppy-disk',
888                   html : _this._strings['bd88a20b53a47f7b5704a83a15ff5506'] /* Saved Version */,
889                   toggle : false,
890                   listeners : {
891                    click : function (_self, e)
892                     {
893                         this.scope.owner.fireEvent('savedpreview', this.scope.owner);
894                     }
895                   },
896                   xns : Roo.bootstrap,
897                   '|xns' : 'Roo.bootstrap'
898                  }
899                 ]
900                }
901               ]
902              }
903             ]
904            }
905           ]
906          },
907          {
908           xtype : 'Row',
909           listeners : {
910            click : function (_self, e)
911             {
912                 var h = _this.form.findField('bodytext').getValue();
913                 var p = _this.form.findField('plaintext');
914                 
915                 new Pman.Request({\r
916                     url : baseURL + '/Core/ImportMailMessage.php',\r
917                     method : 'POST',\r
918                     params : {
919                       bodytext : h,\r
920                       _convertToPlain : true,
921                       _check_unsubscribe : true\r
922                     }, \r
923                     success : function(res) {\r
924                         if(res.success == true){
925                            p.setValue(res.data);
926                         }\r
927                     }\r
928                 });
929                 
930             }
931           },
932           xns : Roo.bootstrap,
933           '|xns' : 'Roo.bootstrap',
934           items  : [
935            {
936             xtype : 'Column',
937             md : 12,
938             xns : Roo.bootstrap,
939             '|xns' : 'Roo.bootstrap',
940             items  : [
941              {
942               xtype : 'Container',
943               header : _this._strings['e44b145bd8b49b06e0ad2ced1ad56466'] /* Plain Text */,
944               panel : 'default',
945               xns : Roo.bootstrap,
946               '|xns' : 'Roo.bootstrap',
947               items  : [
948                {
949                 xtype : 'TextArea',
950                 name : 'plaintext',
951                 xns : Roo.bootstrap,
952                 '|xns' : 'Roo.bootstrap'
953                }
954               ]
955              }
956             ]
957            }
958           ]
959          },
960          {
961           xtype : 'Row',
962           xns : Roo.bootstrap,
963           '|xns' : 'Roo.bootstrap',
964           items  : [
965            {
966             xtype : 'Column',
967             md : 12,
968             xns : Roo.bootstrap,
969             '|xns' : 'Roo.bootstrap',
970             items  : [
971              {
972               xtype : 'Input',
973               fieldLabel : _this._strings['3858712080cb3d846ea206d1d1070674'] /* Test Class (for system reference only): */,
974               labelAlign : 'top',
975               name : 'test_class',
976               xns : Roo.bootstrap,
977               '|xns' : 'Roo.bootstrap'
978              }
979             ]
980            }
981           ]
982          },
983          {
984           xtype : 'Input',
985           inputType : 'hidden',
986           labelWidth : 3,
987           name : 'id',
988           xns : Roo.bootstrap,
989           '|xns' : 'Roo.bootstrap'
990          },
991          {
992           xtype : 'Input',
993           inputType : 'hidden',
994           labelWidth : 3,
995           name : '_ignore_group_count',
996           xns : Roo.bootstrap,
997           '|xns' : 'Roo.bootstrap'
998          }
999         ]
1000        }
1001       ]
1002      }
1003     ]
1004    }  );
1005  }
1006 });
1007 Roo.apply(Pman.Dialog.BAdminEmail, Pman.Dialog.BAdminEmail.prototype);