Pman.Dialog.CoreCompanies.bjs
[Pman.Core] / Pman.Dialog.CoreCompanies.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.CoreCompanies = {
8
9  _strings : {
10   'ce8ae9da5b7cd6c3df2929543a9af92d' :"Email",
11   '231bc72756b5e6de492aaaa1577f61b1' :"Remarks",
12   'b33457e7e1cd5dbf1db34a0c60fcb75f' :"Company ID (for filing Ref.)",
13   '023a5dfa857c4aa0156e6685231a1dbd' :"Select Type",
14   '8535bcc0f05358a583bb432bbadf7e0d' :"Select type",
15   '733640ec0c9367df1b4d85eb286ed9ae' :"Enter code",
16   '8c04eb09879a05470fae436ba76e3bb9' :"Enter Url",
17   '4ef6052d74436756f08e95fd63949653' :"Enter Company Name",
18   'c54b90756cfbeff9217293b567cb2eb0' :"Enter remarks",
19   '1243daf593fa297e07ab03bf06d925af' :"Searching...",
20   'bcc254b55c4a1babdf1dcb82c207506b' :"Phone",
21   'cf3a5d25d39613ad5bbc2f5eb0f9b675' :"Enter Fax Number",
22   '9f86c00615b1a210935ac28ff8ebbb22' :"Enter Email Address",
23   'e7b47c58815acf1d3afa59a84b5db7fb' :"Company Name",
24   'ea4788705e6873b424c65e91c2846b19' :"Cancel",
25   '32c4e9483403d60115b21519178e5384' :"Enter Address",
26   'b9c49611cfda3259a2b837b39489e650' :"Add Image",
27   '72b9d3d2e231f1de7a2bd70737f644aa' :"Add / Edit Organization",
28   'a1fa27779242b4902f7ae3bdd5c6d508' :"Type",
29   '02a3a357710cc2a5dfdfb74ed012fb59' :"Url",
30   'dd7bf230fde8d4836917806aff6a6b27' :"Address",
31   'c9cc8cce247e49bae79f15173ce97354' :"Save",
32   'bc3a4c40d007b8d610a16312970e5cb3' :"Enter Phone Number",
33   '9810aa2b9f44401be4bf73188ef2b67d' :"Fax",
34   '35cb9e66ff801a819684ee0fbeabaeeb' :"Background Colour",
35   'bc87ef2144ae15ef4f78211e73948051' :"Logo Image"
36  },
37
38  dialog : false,
39  callback:  false,
40
41  show : function(data, cb)
42  {
43   if (!this.dialog) {
44    this.create();
45   }
46
47   this.callback = cb;
48   this.data = data;
49   this.dialog.show(this.data._el);
50   if (this.form) {
51    this.form.reset();
52    this.form.setValues(data);
53    this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
54   }
55
56  },
57
58  create : function()
59  {
60    var _this = this;
61    this.dialog = Roo.factory({
62     xtype : 'LayoutDialog',
63     autoCreate : true,
64     closable : false,
65     collapsible : false,
66     draggable : false,
67     height : 400,
68     modal : true,
69     shadow : true,
70     title : _this._strings['72b9d3d2e231f1de7a2bd70737f644aa'] /* Add / Edit Organization */,
71     width : 750,
72     xns : Roo,
73     '|xns' : 'Roo',
74     center : {
75      xtype : 'LayoutRegion',
76      alwaysShowTabs : false,
77      autoScroll : false,
78      closeOnTab : true,
79      hideTabs : true,
80      titlebar : false,
81      xns : Roo,
82      '|xns' : 'Roo'
83     },
84     buttons : [
85      {
86       xtype : 'Button',
87       text : _this._strings['ea4788705e6873b424c65e91c2846b19'] /* Cancel */,
88       listeners : {
89        click : function (_self, e)
90         {
91             _this.dialog.hide();
92         }
93       },
94       xns : Roo,
95       '|xns' : 'Roo'
96      },
97      {
98       xtype : 'Button',
99       text : _this._strings['c9cc8cce247e49bae79f15173ce97354'] /* Save */,
100       listeners : {
101        click : function (_self, e)
102         {
103             if(!_this.form.isValid()){
104                 Roo.MessageBox.alert('Error', 'Please Correct all the errors in red');
105                 return;
106             }
107             
108             new Pman.Request({
109                 url : baseURL + '/Roo/Core_company.php',
110                 method : 'POST',
111                 params : {
112                   id : _this.form.findField('id').getValue() * 1,
113                   name : _this.form.findField('name').getValue(),
114                   _check_name : 1
115                 }, 
116                 success : function(res) {
117                     _this.dialog.el.mask("Saving");
118                     _this.form.doAction("submit");
119                 },
120                 failure : function(res) {
121                     Roo.MessageBox.confirm(
122                         "Confirm", 
123                         "The company name has been used. Save it anyway?", 
124                         function(res) {
125                             if(res != 'yes') {
126                                 return;
127                             }
128                             
129                             _this.dialog.el.mask("Saving");
130                             _this.form.doAction("submit");
131                         }
132                     );
133                 }
134             });
135             
136             return;
137             
138         }
139       },
140       xns : Roo,
141       '|xns' : 'Roo'
142      }
143     ],
144     items  : [
145      {
146       xtype : 'ContentPanel',
147       autoCreate : true,
148       fitToFrame : true,
149       region : 'center',
150       xns : Roo,
151       '|xns' : 'Roo',
152       items  : [
153        {
154         xtype : 'Form',
155         fileUpload : true,
156         labelWidth : 160,
157         url : baseURL + '/Roo/Companies.php',
158         listeners : {
159          actioncomplete : function(f, act) {
160               _this.dialog.el.unmask();
161               //console.log('load completed'); 
162               // error messages?????
163               if(act.type == 'setdata'){
164                   this.load({ method: 'GET', params: { '_id' : _this.data.id }});
165                   return;
166               }
167              
168               if (act.type == 'load') {
169                   _this.data = act.result.data;
170                   var meth = _this.data.comptype == 'OWNER' ? 'disable' : 'enable';
171                
172                       
173                   if (_this.form.findField('comptype')) {
174                       _this.form.findField('comptype')[meth]();
175                   }
176                    
177                  // _this.loaded();
178                   return;
179               }
180               
181               
182               if (act.type == 'submit') { // only submitted here if we are 
183                   _this.dialog.hide();
184                  
185                   if (_this.callback) {
186                       _this.callback.call(this, act.result.data);
187                   }
188                   return; 
189               }
190               // unmask?? 
191           },
192          actionfailed : function(f, act) {
193               _this.dialog.el.unmask();
194               // error msg???
195               Pman.standardActionFailed(f,act);
196                         
197           },
198          rendered : function (form)
199           {
200               _this.form = form;
201           }
202         },
203         xns : Roo.form,
204         '|xns' : 'Roo.form',
205         items  : [
206          {
207           xtype : 'Column',
208           width : 500,
209           xns : Roo.form,
210           '|xns' : 'Roo.form',
211           items  : [
212            {
213             xtype : 'TextField',
214             allowBlank : true,
215             fieldLabel : _this._strings['b33457e7e1cd5dbf1db34a0c60fcb75f'] /* Company ID (for filing Ref.) */,
216             name : 'code',
217             qtip : _this._strings['733640ec0c9367df1b4d85eb286ed9ae'] /* Enter code */,
218             width : 100,
219             xns : Roo.form,
220             '|xns' : 'Roo.form'
221            },
222            {
223             xtype : 'ComboBox',
224             allowBlank : false,
225             alwaysQuery : true,
226             displayField : 'display_name',
227             emptyText : _this._strings['023a5dfa857c4aa0156e6685231a1dbd'] /* Select Type */,
228             fieldLabel : _this._strings['a1fa27779242b4902f7ae3bdd5c6d508'] /* Type */,
229             forceSelection : true,
230             hiddenName : 'comptype',
231             listWidth : 250,
232             loadingText : _this._strings['1243daf593fa297e07ab03bf06d925af'] /* Searching... */,
233             minChars : 2,
234             name : 'comptype_display_name',
235             pageSize : 20,
236             qtip : _this._strings['8535bcc0f05358a583bb432bbadf7e0d'] /* Select type */,
237             queryParam : 'query[name]',
238             selectOnFocus : true,
239             tpl : '<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> : {display_name}</div>',
240             triggerAction : 'all',
241             typeAhead : false,
242             valueField : 'name',
243             width : 200,
244             listeners : {
245              render : function (_self)
246               {
247                   _this.etypeCombo = _self;
248               }
249             },
250             xns : Roo.form,
251             '|xns' : 'Roo.form',
252             store : {
253              xtype : 'Store',
254              remoteSort : true,
255              sortInfo : { direction : 'ASC', field: 'id' },
256              listeners : {
257               beforeload : function (_self, o){
258                    o.params = o.params || {};
259                    // set more here
260                    //o.params['query[empty_etype]'] = 1;
261                    o.params.etype = 'COMPTYPE';
262                }
263              },
264              xns : Roo.data,
265              '|xns' : 'Roo.data',
266              proxy : {
267               xtype : 'HttpProxy',
268               method : 'GET',
269               url : baseURL + '/Roo/core_enum.php',
270               xns : Roo.data,
271               '|xns' : 'Roo.data'
272              },
273              reader : {
274               xtype : 'JsonReader',
275               fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}],
276               id : 'id',
277               root : 'data',
278               totalProperty : 'total',
279               xns : Roo.data,
280               '|xns' : 'Roo.data'
281              }
282             }
283            },
284            {
285             xtype : 'TextField',
286             allowBlank : false,
287             fieldLabel : _this._strings['e7b47c58815acf1d3afa59a84b5db7fb'] /* Company Name */,
288             name : 'name',
289             qtip : _this._strings['4ef6052d74436756f08e95fd63949653'] /* Enter Company Name */,
290             width : 300,
291             xns : Roo.form,
292             '|xns' : 'Roo.form'
293            },
294            {
295             xtype : 'TextField',
296             allowBlank : true,
297             fieldLabel : _this._strings['bcc254b55c4a1babdf1dcb82c207506b'] /* Phone */,
298             name : 'tel',
299             qtip : _this._strings['bc3a4c40d007b8d610a16312970e5cb3'] /* Enter Phone Number */,
300             width : 300,
301             xns : Roo.form,
302             '|xns' : 'Roo.form'
303            },
304            {
305             xtype : 'TextField',
306             allowBlank : true,
307             fieldLabel : _this._strings['9810aa2b9f44401be4bf73188ef2b67d'] /* Fax */,
308             name : 'fax',
309             qtip : _this._strings['cf3a5d25d39613ad5bbc2f5eb0f9b675'] /* Enter Fax Number */,
310             width : 300,
311             xns : Roo.form,
312             '|xns' : 'Roo.form'
313            },
314            {
315             xtype : 'TextField',
316             allowBlank : true,
317             fieldLabel : _this._strings['ce8ae9da5b7cd6c3df2929543a9af92d'] /* Email */,
318             name : 'email',
319             qtip : _this._strings['9f86c00615b1a210935ac28ff8ebbb22'] /* Enter Email Address */,
320             width : 300,
321             xns : Roo.form,
322             '|xns' : 'Roo.form'
323            },
324            {
325             xtype : 'TextField',
326             allowBlank : true,
327             fieldLabel : _this._strings['02a3a357710cc2a5dfdfb74ed012fb59'] /* Url */,
328             name : 'url',
329             qtip : _this._strings['8c04eb09879a05470fae436ba76e3bb9'] /* Enter Url */,
330             width : 300,
331             xns : Roo.form,
332             '|xns' : 'Roo.form'
333            },
334            {
335             xtype : 'TextField',
336             allowBlank : true,
337             fieldLabel : _this._strings['dd7bf230fde8d4836917806aff6a6b27'] /* Address */,
338             name : 'address',
339             qtip : _this._strings['32c4e9483403d60115b21519178e5384'] /* Enter Address */,
340             width : 300,
341             xns : Roo.form,
342             '|xns' : 'Roo.form'
343            },
344            {
345             xtype : 'TextArea',
346             allowBlank : true,
347             fieldLabel : _this._strings['231bc72756b5e6de492aaaa1577f61b1'] /* Remarks */,
348             height : 120,
349             name : 'remarks',
350             qtip : _this._strings['c54b90756cfbeff9217293b567cb2eb0'] /* Enter remarks */,
351             width : 300,
352             xns : Roo.form,
353             '|xns' : 'Roo.form'
354            }
355           ]
356          },
357          {
358           xtype : 'Column',
359           labelAlign : 'top',
360           width : 200,
361           xns : Roo.form,
362           '|xns' : 'Roo.form',
363           items  : [
364            {
365             xtype : 'ColorField',
366             fieldLabel : _this._strings['35cb9e66ff801a819684ee0fbeabaeeb'] /* Background Colour */,
367             name : 'background_color',
368             xns : Roo.form,
369             '|xns' : 'Roo.form'
370            },
371            {
372             xtype : 'DisplayField',
373             fieldLabel : _this._strings['bc87ef2144ae15ef4f78211e73948051'] /* Logo Image */,
374             height : 170,
375             icon : 'rootURL + \'images/default/dd/drop-add.gif\'',
376             name : 'logo_id',
377             style : 'border: 1px solid #ccc;',
378             valueRenderer : function(v) {
379                 //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO';
380                 if (!v) {
381                     return "No Image Available" + '<BR/>';
382                 }
383                 return String.format('<a target="_new" href="{1}"><img src="{0}" width="150"></a>', 
384                         baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg',
385                         baseURL + '/Images/'+v+'/logo.jpg'           // fixme - put escaped company name..
386                 );
387             },
388             width : 170,
389             xns : Roo.form,
390             '|xns' : 'Roo.form'
391            },
392            {
393             xtype : 'Button',
394             text : _this._strings['b9c49611cfda3259a2b837b39489e650'] /* Add Image */,
395             listeners : {
396              click : function (_self, e)
397               {
398                   var _t = _this.form.findField('logo_id');
399                                        
400                   Pman.Dialog.Image.show({
401                       onid :_this.data.id,
402                       ontable : 'Companies',
403                       imgtype : 'LOGO'
404                   }, function(data) {
405                       if  (data) {
406                           _t.setValue(data.id);
407                       }
408                       
409                   });
410               }
411             },
412             xns : Roo,
413             '|xns' : 'Roo'
414            }
415           ]
416          },
417          {
418           xtype : 'Hidden',
419           name : 'id',
420           xns : Roo.form,
421           '|xns' : 'Roo.form'
422          }
423         ]
424        }
425       ]
426      }
427     ]
428    });
429  }
430 };