Fix #7123 - getting abra ready to test
[Pman.Xtuple] / Pman.Tab.XtupleAdjustmentGroup.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.Tab.XtupleAdjustmentGroup = new Roo.XComponent({
6     part     :  ["Xtuple","AdjustmentGroup"],
7     order    : '001-Pman.Tab.XtupleAdjustmentGroup',
8     region   : 'center',
9     parent   : 'Pman.Tab.XtupleAdjustmentTab',
10     name     : "unnamed module",
11     disabled : false, 
12     permname : '', 
13     _tree : function()
14     {
15         var _this = this;
16         var MODULE = this;
17         return {
18             xtype: 'GridPanel',
19             xns: Roo,
20             listeners : {
21                 activate : function() {
22                     _this.panel = this;
23                     if (_this.grid) {
24                         _this.grid.footer.onClick('first');
25                     }
26                 }
27             },
28             background : true,
29             fitContainer : true,
30             fitToframe : true,
31             region : 'center',
32             tableName : 'invadjgrp',
33             title : "Inventroy Adjustment Groups",
34             grid : {
35                 xtype: 'Grid',
36                 xns: Roo.grid,
37                 listeners : {
38                     render : function() 
39                     {
40                         _this.grid = this; 
41                         if (_this.panel.active) {
42                            this.footer.onClick('first');
43                         }
44                     },
45                     rowdblclick : function (_self, rowIndex, e)
46                     {
47                         var s = _this.grid.ds.getAt(rowIndex);
48                         
49                         Pman.Dialog.XtupleAdjustmentGroup.show( { invadjgrp_id : s.data.invadjgrp_id } , function() {
50                             _this.grid.footer.onClick('first');
51                        });
52                     },
53                     cellclick : function (_self, rowIndex, columnIndex, e)
54                     {
55                         var c = _this.grid.colModel.config[columnIndex];
56                         var di = c.dataIndex;
57                         
58                         if (di != 'invadjgrp_posted') {
59                             return;
60                         }
61                         
62                         var r = _this.grid.ds.getAt(rowIndex);
63                         if (r.data.invadjgrp_posted  ) { // nos ur
64                             Roo.MessageBox.alert("Error", "Group is already posted");
65                             return;
66                         }
67                          if (r.data.invadjgrp_void * 1 )  {
68                             Roo.MessageBox.alert("Error", "Group is already void");
69                             return;
70                         }
71                         Roo.MessageBox.confirm(
72                             "Confirm",
73                             "Are you sure it's ready to post?",
74                             function(bu) {
75                                 if (bu != 'yes') {
76                                     return;
77                                 }
78                                 
79                                 new Pman.Request({
80                                     url : baseURL + '/Roo/Invadjgrp',
81                                     method  : 'POST',
82                                     mask : 'Posting',
83                                     timeout: 120000,
84                                     params : {
85                                         invadjgrp_id : r.data.invadjgrp_id,
86                                         invadjgrp_posted : 1,
87                                         _post : 1
88                                     },
89                                     success : function(res) {
90                                         _this.grid.footer.onClick('first');
91                                     },
92                                     failure : function (res) {
93                                         Roo.log(res);
94                                         Roo.MessageBox.alert("Error",res.errorMsg || "Error sending");
95                                         
96                                     }
97                                 });
98                         });
99                         
100                     }
101                 },
102                 autoExpandColumn : 'invadjgrp_comments',
103                 loadMask : true,
104                 sm : {
105                     xtype: 'RowSelectionModel',
106                     xns: Roo.grid,
107                     singleSelect : true
108                 },
109                 dataSource : {
110                     xtype: 'Store',
111                     xns: Roo.data,
112                     listeners : {
113                         beforeload : function (_self, o)
114                         {
115                             o.params = o.params || {};
116                             
117                             o.params._with_qty_detail = 1;
118                         }
119                     },
120                     remoteSort : true,
121                     sortInfo : { field : 'invadjgrp_id', direction: 'DESC' },
122                     proxy : {
123                         xtype: 'HttpProxy',
124                         xns: Roo.data,
125                         method : 'GET',
126                         url : baseURL + '/Roo/Invadjgrp.php'
127                     },
128                     reader : {
129                         xtype: 'JsonReader',
130                         xns: Roo.data,
131                         id : 'id',
132                         root : 'data',
133                         totalProperty : 'total',
134                         fields : [
135                             {
136                                 'name': 'invadjgrp_id',
137                                 'type': 'int'
138                             },
139                             {
140                                 'name': 'invadjgrp_location_id',
141                                 'type': 'int'
142                             }
143                         ]
144                     }
145                 },
146                 footer : {
147                     xtype: 'PagingToolbar',
148                     xns: Roo,
149                     displayInfo : true,
150                     displayMsg : "Displaying Inventory Adjustment Groups{0} - {1} of {2}",
151                     emptyMsg : "No Inventory Adjustment Groups found",
152                     pageSize : 25
153                 },
154                 toolbar : {
155                     xtype: 'Toolbar',
156                     xns: Roo,
157                     items : [
158                         {
159                             xtype: 'Button',
160                             xns: Roo.Toolbar,
161                             listeners : {
162                                 click : function()
163                                 {
164                                     Pman.Dialog.XtupleAdjustmentGroup.show( { invadjgrp_id : 0 } , function() {
165                                         _this.grid.footer.onClick('first');
166                                    }); 
167                                 }
168                             },
169                             cls : 'x-btn-text-icon',
170                             text : "Add",
171                             icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
172                         },
173                         {
174                             xtype: 'Fill',
175                             xns: Roo.Toolbar
176                         },
177                         {
178                             xtype: 'Button',
179                             xns: Roo.Toolbar,
180                             listeners : {
181                                 click : function()
182                                 {
183                                     var s = _this.grid.getSelectionModel().getSelected();
184                                     if (!s || s.data.invadjgrp_id * 1 < 1 )  {
185                                         Roo.MessageBox.alert("Error", "Select a inventory adjustment group");
186                                         return;
187                                     }
188                                      if (!s || s.data.invadjgrp_void * 1 )  {
189                                         Roo.MessageBox.alert("Error", "Group is already void");
190                                         return;
191                                     }
192                                     
193                                     if (!s.data.invadjgrp_posted) {
194                                         Roo.MessageBox.alert('Error', 'This group has not been posted yet!');
195                                         return;
196                                     }
197                                     
198                                     var voidit = function(force){
199                                         new Pman.Request({
200                                             url : baseURL + '/Roo/Invadjgrp',
201                                             method  : 'POST',
202                                             mask : 'Voiding',
203                                             params : {
204                                                 invadjgrp_id : s.data.invadjgrp_id,
205                                                 _void : 1,
206                                                 _force : force
207                                             },
208                                             success : function(res) {
209                                                 _this.grid.footer.onClick('first');
210                                             },
211                                             failure : function (res) {
212                                                 Roo.log(res);
213                                                 try {
214                                                     if (res.errors.confirm) {
215                                                                       
216                                                         Roo.MessageBox.confirm(
217                                                             "Confirm", 
218                                                             "There are some adjustments have been voided of this group! Do you want to void this group anyway?",
219                                                             function(x) {
220                                                                 if (x != 'yes') {
221                                                                     return;
222                                                                 }
223                                                                 voidit(1);
224                                                             }
225                                                         );
226                                                         return;
227                                                     }
228                                                 } catch(e) { }
229                                                 Roo.MessageBox.alert("Error", res.errorMsg);
230                                                 
231                                             }
232                                         });
233                                     }
234                                     
235                                     voidit(0)
236                                 }
237                             },
238                             cls : 'x-btn-text-icon',
239                             text : "Void",
240                             icon : rootURL + '/Pman/templates/images/trash.gif'
241                         },
242                         {
243                             xtype: 'Button',
244                             xns: Roo.Toolbar,
245                             listeners : {
246                                 click : function()
247                                 { 
248                                     var s = _this.grid.getSelectionModel().getSelected();
249                                     
250                                     if (!s || s.data.invadjgrp_id * 1 < 1 )  {
251                                         Roo.MessageBox.alert("Error", "Select a inventory adjustment group");
252                                         return;
253                                     }
254                                     
255                                     if (s.data.invadjgrp_posted) {
256                                         Roo.MessageBox.alert('Error', 'You can not delete the posted adjustment, try void it');
257                                         return;
258                                     }
259                                     
260                                     new Pman.Request({
261                                         url : baseURL + '/Roo/Invadjgrp',
262                                         method : 'POST',
263                                         params  : { _delete : s.data.invadjgrp_id },
264                                         mask : 'Deleteing',
265                                         success : function(res) {
266                                             _this.grid.footer.onClick('first');
267                                         }
268                                     
269                                     });
270                                 }
271                             },
272                             cls : 'x-btn-text-icon',
273                             text : "Delete",
274                             icon : rootURL + '/Pman/templates/images/trash.gif'
275                         }
276                     ]
277                 },
278                 colModel : [
279                     {
280                         xtype: 'ColumnModel',
281                         xns: Roo.grid,
282                         dataIndex : 'invadjgrp_id',
283                         header : 'Ref#',
284                         width : 50,
285                         renderer : function(v,x,r) { return String.format(r.data.invadjgrp_void *1 ? '<s>{0}</s>' : '{0}', v); }
286                     },
287                     {
288                         xtype: 'ColumnModel',
289                         xns: Roo.grid,
290                         dataIndex : 'invadjgrp_name',
291                         header : 'Name',
292                         width : 150,
293                         renderer : function(v,x,r) { return String.format(r.data.invadjgrp_void *1 ? '<s>{0}</s>' : '{0}', v); }
294                     },
295                     {
296                         xtype: 'ColumnModel',
297                         xns: Roo.grid,
298                         dataIndex : 'invadjgrp_transdate',
299                         header : 'Date',
300                         width : 100,
301                         renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); }
302                     },
303                     {
304                         xtype: 'ColumnModel',
305                         xns: Roo.grid,
306                         dataIndex : 'invadjgrp_neg_qty',
307                         header : 'Negative',
308                         width : 75,
309                         renderer : function(v) { return String.format('{0}', parseInt(v).toFixed(0)); }
310                     },
311                     {
312                         xtype: 'ColumnModel',
313                         xns: Roo.grid,
314                         dataIndex : 'invadjgrp_pos_qty',
315                         header : 'Positive',
316                         width : 75,
317                         renderer : function(v) { return String.format('{0}', parseInt(v).toFixed(0)); }
318                     },
319                     {
320                         xtype: 'ColumnModel',
321                         xns: Roo.grid,
322                         dataIndex : 'invadjgrp_location_id_location_name',
323                         header : 'Location',
324                         width : 200,
325                         renderer : function(v) { return String.format('{0}', v); }
326                     },
327                     {
328                         xtype: 'ColumnModel',
329                         xns: Roo.grid,
330                         dataIndex : 'invadjgrp_comments',
331                         header : 'Comments',
332                         width : 200,
333                         renderer : function(v,x,r) { return String.format(r.data.invadjgrp_void *1 ? '<s>{0}</s>' : '{0}', v); }
334                     },
335                     {
336                         xtype: 'ColumnModel',
337                         xns: Roo.grid,
338                         dataIndex : 'invadjgrp_posted',
339                         header : 'Posted',
340                         width : 75,
341                         renderer : function(v,x,r) {  
342                             
343                            if  (r.data.invadjgrp_void *1) { 
344                             return '';
345                             }
346                             var state = v * 1 > 0 ?  '-checked' : '';
347                         
348                             return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
349                                         
350                          }
351                     }
352                 ]
353             }
354         };
355     }
356 });