DataObjects/Core_domain.php
[Pman.Core] / Pman.Dialog.CorePersonContact.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Pman.Dialog.CorePersonContact = {
6
7     dialog : false,
8     callback:  false,
9
10     show : function(data, cb)
11     {
12         if (!this.dialog) {
13             this.create();
14         }
15
16         this.callback = cb;
17         this.data = data;
18         this.dialog.show(this.data._el);
19         if (this.form) {
20            this.form.reset();
21            this.form.setValues(data);
22            this.form.fireEvent('actioncomplete', this.form,  { type: 'setdata', data: data });
23         }
24
25     },
26
27     create : function()
28     {
29         var _this = this;
30         this.dialog = Roo.factory({
31             xtype: 'LayoutDialog',
32             xns: Roo,
33             closable : false,
34             collapsible : false,
35             height : 290,
36             resizable : false,
37             title : "Edit / Create Contact Details",
38             width : 450,
39             items : [
40                 {
41                     xtype: 'ContentPanel',
42                     xns: Roo,
43                     region : 'center',
44                     items : [
45                         {
46                             xtype: 'Form',
47                             xns: Roo.form,
48                             listeners : {
49                                 actioncomplete : function(_self,action)
50                                 {
51                                     if (action.type == 'setdata') {
52                                        //_this.dialog.el.mask("Loading");
53                                        //this.load({ method: 'GET', params: { '_id' : _this.data.id }});
54                                        return;
55                                     }
56                                     if (action.type == 'load') {
57                                         _this.dialog.el.unmask();
58                                         return;
59                                     }
60                                     if (action.type =='submit') {
61                                     
62                                         _this.dialog.el.unmask();
63                                         _this.dialog.hide();
64                                     
65                                          if (_this.callback) {
66                                             _this.callback.call(_this, _this.form.getValues());
67                                          }
68                                          _this.form.reset();
69                                          return;
70                                     }
71                                 },
72                                 rendered : function (form)
73                                 {
74                                     _this.form= form;
75                                 }
76                             },
77                             method : 'POST',
78                             style : 'margin:10px;',
79                             url : baseURL + '/Roo/Person.php',
80                             items : [
81                                 {
82                                     xtype: 'ComboBox',
83                                     xns: Roo.form,
84                                     listeners : {
85                                         add : function (combo)
86                                         {
87                                         
88                                             Pman.Dialog.Companies.show( {  id: 0 },  function(data) {
89                                                     _this.form.setValues({
90                                                             company_id_name : data.name,
91                                                             company_id : data.id
92                                                     });
93                                             }); 
94                                         }
95                                     },
96                                     allowBlank : 'false',
97                                     displayField : 'code',
98                                     editable : 'false',
99                                     emptyText : "Select Companies",
100                                     fieldLabel : 'Company',
101                                     forceSelection : true,
102                                     hiddenName : 'company_id',
103                                     listWidth : 400,
104                                     loadingText : "Searching...",
105                                     minChars : 2,
106                                     name : 'company_id_code',
107                                     pageSize : 20,
108                                     qtip : "Select Companies",
109                                     queryParam : 'query[code]',
110                                     selectOnFocus : true,
111                                     tpl : '<div class="x-grid-cell-text x-btn button"><b>{code}</b> </div>',
112                                     triggerAction : 'all',
113                                     typeAhead : true,
114                                     valueField : 'id',
115                                     width : 300,
116                                     store : {
117                                         xtype: 'Store',
118                                         xns: Roo.data,
119                                         remoteSort : true,
120                                         sortInfo : { direction : 'ASC', field: 'id' },
121                                         listeners : {
122                                             beforeload : function (_self, o){
123                                                 o.params = o.params || {};
124                                                 // set more here
125                                             }
126                                         },
127                                         proxy : {
128                                             xtype: 'HttpProxy',
129                                             xns: Roo.data,
130                                             method : 'GET',
131                                             url : baseURL + '/Roo/Companies.php'
132                                         },
133                                         reader : {
134                                             xtype: 'JsonReader',
135                                             xns: Roo.data,
136                                             id : 'id',
137                                             root : 'data',
138                                             totalProperty : 'total',
139                                             fields : [{"name":"id","type":"int"},{"name":"code","type":"string"}]
140                                         }
141                                     }
142                                 },
143                                 {
144                                     xtype: 'ComboBox',
145                                     xns: Roo.form,
146                                     listeners : {
147                                         add : function (combo)
148                                         {
149                                             var coid = _this.form.findField('company_id').getValue();
150                                             if (!coid ) {
151                                             
152                                                  Ext.MessageBox.alert("Error", "Select An Company First");
153                                                 return false;
154                                         
155                                             }
156                                             Pman.Dialog.Office.show(cfg, function(data) {
157                                                         _this.form.setValues({
158                                                             office_id_name : data.name,
159                                                             office_id : data.id
160                                                     });
161                                                 }); 
162                                             
163                                             
164                                         },
165                                         beforequery : function (combo, query, forceAll, cancel, e)
166                                         {
167                                                 var coid = _this.form.findField('company_id').getValue();
168                                                 if (coid < 1 ) {
169                                                     Ext.MessageBox.alert("Error", "Select An Company First");
170                                                     return false;
171                                                 }
172                                         }
173                                     },
174                                     allowBlank : 'false',
175                                     displayField : 'name',
176                                     editable : 'false',
177                                     emptyText : "Select Office",
178                                     fieldLabel : 'Office',
179                                     forceSelection : true,
180                                     hiddenName : 'office_id',
181                                     listWidth : 400,
182                                     loadingText : "Searching...",
183                                     minChars : 2,
184                                     name : 'office_id_name',
185                                     pageSize : 20,
186                                     qtip : "Select Office",
187                                     queryParam : 'query[name]',
188                                     selectOnFocus : true,
189                                     tpl : '<div class="x-grid-cell-text x-btn button"><b>{name}</b> </div>',
190                                     triggerAction : 'all',
191                                     typeAhead : true,
192                                     valueField : 'id',
193                                     width : 300,
194                                     store : {
195                                         xtype: 'Store',
196                                         xns: Roo.data,
197                                         listeners : {
198                                             beforeload : function (_self, o){
199                                                 o.params = o.params || {};
200                                                 var coid = _this.form.findField('company_id').getValue();
201                                                 o.params.company_id = coid;
202                                             }
203                                         },
204                                         remoteSort : true,
205                                         sortInfo : { direction : 'ASC', field: 'id' },
206                                         proxy : {
207                                             xtype: 'HttpProxy',
208                                             xns: Roo.data,
209                                             method : 'GET',
210                                             url : baseURL + '/Roo/Office.php'
211                                         },
212                                         reader : {
213                                             xtype: 'JsonReader',
214                                             xns: Roo.data,
215                                             id : 'id',
216                                             root : 'data',
217                                             totalProperty : 'total',
218                                             fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}]
219                                         }
220                                     }
221                                 },
222                                 {
223                                     xtype: 'TextField',
224                                     xns: Roo.form,
225                                     fieldLabel : 'Name',
226                                     name : 'name',
227                                     width : 300,
228                                     allowBlank : true
229                                 },
230                                 {
231                                     xtype: 'TextField',
232                                     xns: Roo.form,
233                                     fieldLabel : 'Role',
234                                     name : 'role',
235                                     width : 200
236                                 },
237                                 {
238                                     xtype: 'TextField',
239                                     xns: Roo.form,
240                                     fieldLabel : 'Phone',
241                                     name : 'phone',
242                                     width : 200
243                                 },
244                                 {
245                                     xtype: 'TextField',
246                                     xns: Roo.form,
247                                     fieldLabel : 'Fax',
248                                     name : 'fax',
249                                     width : 200
250                                 },
251                                 {
252                                     xtype: 'TextField',
253                                     xns: Roo.form,
254                                     allowBlank : false,
255                                     fieldLabel : 'Email',
256                                     name : 'email',
257                                     width : 200
258                                 },
259                                 {
260                                     xtype: 'Hidden',
261                                     xns: Roo.form,
262                                     name : 'id'
263                                 }
264                             ]
265                         }
266                     ]
267                 }
268             ],
269             center : {
270                 xtype: 'LayoutRegion',
271                 xns: Roo
272             },
273             buttons : [
274                 {
275                     xtype: 'Button',
276                     xns: Roo,
277                     listeners : {
278                         click : function (_self, e)
279                         {
280                             _this.dialog.hide();
281                         }
282                     },
283                     text : "Cancel"
284                 },
285                 {
286                     xtype: 'Button',
287                     xns: Roo,
288                     listeners : {
289                         click : function (_self, e)
290                         {
291                             // do some checks?
292                              
293                             
294                             _this.dialog.el.mask("Saving");
295                             _this.form.doAction("submit");
296                         
297                         }
298                     },
299                     text : "Save"
300                 }
301             ]
302         });
303     }
304 };