Fix #7123 - getting abra ready to test
[Pman.Xtuple] / Pman.Dialog.XtupleTransfer.bjs
1 {
2     "id": "roo-file-37",
3     "name": "Pman.Dialog.XtupleTransfer",
4     "parent": "",
5     "title": "",
6     "path": "/home/edward/gitlive/web.xtuple/Pman/Xtuple/Pman.Dialog.XtupleTransfer.bjs",
7     "items": [
8         {
9             "listeners": {
10                 "show": "function (_self)\n{\n    this.layout.getRegion('center').showPanel(0);\n}"
11             },
12             "closable": false,
13             "collapsible": false,
14             "height": 660,
15             "modal": true,
16             "resizable": false,
17             "title": "Edit / Create Inventory Transfer",
18             "width": 800,
19             "xtype": "LayoutDialog",
20             "|xns": "Roo",
21             "items": [
22                 {
23                     "*prop": "center",
24                     "tabPosition": "top",
25                     "xtype": "LayoutRegion",
26                     "|xns": "Roo"
27                 },
28                 {
29                     "region": "center",
30                     "title": "Inventory Transfer",
31                     "xtype": "NestedLayoutPanel",
32                     "|xns": "Roo",
33                     "items": [
34                         {
35                             "|xns": "Roo",
36                             "xtype": "BorderLayout",
37                             "*prop": "layout",
38                             "items": [
39                                 {
40                                     "*prop": "north",
41                                     "height": 260,
42                                     "xtype": "LayoutRegion",
43                                     "|xns": "Roo"
44                                 },
45                                 {
46                                     "|xns": "Roo",
47                                     "xtype": "LayoutRegion",
48                                     "*prop": "center"
49                                 },
50                                 {
51                                     "region": "north",
52                                     "xtype": "ContentPanel",
53                                     "|xns": "Roo",
54                                     "items": [
55                                         {
56                                             "listeners": {
57                                                 "|actioncomplete": "function(_self,action)\n{\n    if (action.type == 'setdata') {\n       //_this.dialog.el.mask(\"Loading\");\n       Roo.log('setdata');\n       Roo.log(_this.data);       \n       // reversal...\n       _this.toLocation._is_internalcompany = false;\n       _this.grid.setColumns();\n       _this.saveBtn.show();            \n       if (_this.data.createFromRev) {\n            Roo.log('recvg');\n            this.load({ method: 'GET', params: { '_createFromRecv' : _this.data.createFromRev }});       \n            return;\n       \n       }\n       \n        if (_this.data.invhist_transfer_id) {\n        \n        \n            var tdb = baseURL.split('/').pop().split('.').shift();\n            if (tdb != _this.data._roo_office) {\n                this.el.mask('Remote Transfer - Read Only');\n                _this.grid.view.headerPanel.mask(\"\");\n                _this.uploadBtn.hide();\n                _this.saveBtn.hide();                \n            } else {\n                this.el.unmask();\n                _this.grid.view.headerPanel.unmask();\n                _this.uploadBtn.show();\n                _this.saveBtn.show();                \n            }\n            \n        \n        \n            this.load({ method: 'GET', params: {\n                 _id : _this.data.invhist_transfer_id,\n                 _roo_office  : _this.data._roo_office\n           }});\n            return;\n        } \n        _this.grid.ds.removeAll();\n        _this.form.setValues({\n            invhist_transfer_transdate : \n                    typeof(_this.data.invhist_transfer_transdate) == 'undefined' ? \n                            (new Date()).format('Y-m-d') :\n                            _this.data.invhist_transfer_transdate\n                        ,\n            invhist_transfer_number : 'AUTOMATIC',\n            _roo_office :  _this.data._roo_office\n        });\n        \n        if(_this.data._createReverse){\n            if(_this.grid){\n                new Pman.Request({\r\n                    url : baseURL + '/Roo/invhist_transfer_item',\r\n                    method : 'GET',\r\n                    params : {\r\n                        invhist_transfer_item_invhist_transfer_id : _this.data._createReverse,\r\n                        'query[at_location]' : _this.data.invhist_transfer_from,\n                        _requestMeta : 1,\n                        limit : 999,\n                        sort : 'invhist_transfer_item_line',\n                        dir : 'ASC'\r\n                    },\r\n                    success : function (res) \r\n                    {\n                        Roo.log('loadData');\n                        Roo.log(res); \r\n                       _this.grid.ds.loadData(res,false);\r\n                    }\r\n                });\n            }\n        }\n        \n        this.setValues({\n            invhist_transfer_salesrep_id : Pman.Login.authUser.salesrep.salesrep_id,\n            invhist_transfer_salesrep_id_salesrep_name : Pman.Login.authUser.salesrep.salesrep_name\n        });\n        \n        \n        if (typeof(_this.data._ns_autofill) != 'undefined') {\n            Roo.log(\"autofill: \" +  _this.data._ns_autofill);\n        \n           \n            var locid = _this.data._ns_autofill === 1 ?_this.data.invhist_transfer_to  : _this.data.invhist_transfer_from; \n            // clear it so it's not done again..\n            \n            Roo.log(\"locid: \" + locid);\n            \n             var rn = 0;\n             var addRow = function(r) {\n                    \n                    var nsQty = r.netsuite_qty*1;\n                    nsQty = nsQty < 1 ? 0 : nsQty;\n                    \n                    var ourQty = r.itemsite_qty *1;\n                    var addQty = 0;\n                    if (_this.data._ns_autofill === 1) {\n                        // then we are trying to transfer from somewhere to her, to increase the qty to match\n                        // so if  ourQty < nsQty\n                        if (ourQty < nsQty) {\n                            addQty = nsQty - ourQty;\n                        }\n                        \n                    } else {\n                        // we are trying to transfer out to get rid of stock to match..\n                        if (nsQty < ourQty) {\n                            addQty = ourQty - nsQty;\n                        }\n                    }\n                    \n                    if (addQty * 1 < 1) {\n                    \n                        return;\n                    }\n                    \n                   var nr = _this.grid.ds.reader.newRow({\n                        invhist_transfer_item_line : rn + 1,\n                        item_id : r.itemsite_item_id,    \n                        invhist_transfer_item_itemsite_id :         r.itemsite_id,    \n                        item_number : r.itemsite_item_id_item_number,\n                        item_descrip1 : r.itemsite_item_id_item_descrip1,\n                        invhist_transfer_item_qty : addQty,\n                        item_availqty : 0 \n                       // invhist_transfer_item_transfer_id : tid << we do not know this?!?\n                   });\n                     _this.grid.ds.insert(rn++, nr); \n                \n            };\n            \n            \n            \n            \n            // do the request..\n            new Pman.Request({\n                url : baseURL + '/Roo/itemsite',\n                mask: \"Fetching Stock Quantities\",\n                method : 'GET',\n                params : {\n                    limit : 99999,\n                    location_id : locid,\n                    _as_of : _this.data.invhist_transfer_transdate,\n                    _with_stock_and_value : 1,\n                    _with_ns_all_stock : 1,\n                    'sort' :  'itemsite_item_id_item_number',\n                    'dir' : 'ASC'\n                },\n                success : function(res) {\n                    Roo.log(res);\n                     Roo.each(res.data, addRow);\n                     _this.data._ns_autofill = undefined;\n                }\n            });\n        }\n        \n       return;\n    }\n    if (action.type == 'load') {\n    \n        // fix date..\n        this.findField('_roo_office').setValue(  _this.data._roo_office );\n        Roo.log(action);\n        _this.data = action.result.data;\n        \n        _this.toLocation._is_internalcompany = true;\n        if(!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length){\n            _this.toLocation._is_internalcompany = false;\n        }\n        \n        if(_this.data.invhist_transfer_void){\n            _this.saveBtn.hide();\n        }\n        var dt = Date.parseDate(_this.data.invhist_transfer_transdate.split(' ')[0], \"Y-m-d\");\n        _this.form.findField('invhist_transfer_transdate').setValue(dt);\n        var dt = Date.parseDate(_this.data.invhist_transfer_arrivaldate.split(' ')[0],\"Y-m-d\");\n        _this.form.findField('invhist_transfer_arrivaldate').setValue(dt);\n        _this.grid.ds.load({});\n        \n        return;\n    }\n    if (action.type =='submit') {\n    \n        \n        _this.dialog.hide();\n    \n         if (_this.callback) {\n            _this.callback.call(_this, _this.form.getValues());\n         }\n         _this.form.reset();\n         return;\n    }\n}\n",
58                                                 "|rendered": "function (form)\n{\n    _this.form= form;\n}\n"
59                                             },
60                                             "method": "POST",
61                                             "style": "margin:10px;",
62                                             "xtype": "Form",
63                                             "|url": "baseURL + '/Xtuple/Roo/invhist_transfer.php'",
64                                             "|xns": "Roo.form",
65                                             "items": [
66                                                 {
67                                                     "width": 400,
68                                                     "xtype": "Column",
69                                                     "|xns": "Roo.form",
70                                                     "items": [
71                                                         {
72                                                             "legend": "Transfer Details",
73                                                             "style": "width: 380px;height:220px;",
74                                                             "xtype": "FieldSet",
75                                                             "|xns": "Roo.form",
76                                                             "items": [
77                                                                 {
78                                                                     "allowBlank": false,
79                                                                     "fieldLabel": "Date",
80                                                                     "format": "Y-m-d",
81                                                                     "name": "invhist_transfer_transdate",
82                                                                     "width": 100,
83                                                                     "xtype": "DateField",
84                                                                     "|xns": "Roo.form"
85                                                                 },
86                                                                 {
87                                                                     "allowBlank": true,
88                                                                     "fieldLabel": "Arrival date",
89                                                                     "format": "Y-m-d",
90                                                                     "name": "invhist_transfer_arrivaldate",
91                                                                     "width": 100,
92                                                                     "xtype": "DateField",
93                                                                     "|xns": "Roo.form"
94                                                                 },
95                                                                 {
96                                                                     "fieldLabel": "Reference #",
97                                                                     "name": "invhist_transfer_number",
98                                                                     "readOnly": true,
99                                                                     "width": 200,
100                                                                     "xtype": "TextField",
101                                                                     "|xns": "Roo.form"
102                                                                 },
103                                                                 {
104                                                                     "allowBlank": true,
105                                                                     "displayField": "salesrep_name",
106                                                                     "editable": false,
107                                                                     "emptyText": "Select salesrep",
108                                                                     "fieldLabel": "Sales Rep",
109                                                                     "forceSelection": true,
110                                                                     "hiddenName": "invhist_transfer_salesrep_id",
111                                                                     "listWidth": 400,
112                                                                     "loadingText": "Searching...",
113                                                                     "minChars": 2,
114                                                                     "name": "invhist_transfer_salesrep_id_salesrep_name",
115                                                                     "pageSize": 20,
116                                                                     "qtip": "Select salesrep",
117                                                                     "queryParam": "query[salesrep_name]",
118                                                                     "selectOnFocus": true,
119                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{salesrep_name}</b> </div>",
120                                                                     "triggerAction": "all",
121                                                                     "typeAhead": true,
122                                                                     "valueField": "salesrep_id",
123                                                                     "width": 250,
124                                                                     "xtype": "ComboBox",
125                                                                     "|xns": "Roo.form",
126                                                                     "items": [
127                                                                         {
128                                                                             "listeners": {
129                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    // set more here\n}\n"
130                                                                             },
131                                                                             "*prop": "store",
132                                                                             "remoteSort": true,
133                                                                             "xtype": "Store",
134                                                                             "|sortInfo": "{ direction : 'ASC', field: 'salesrep_name' }",
135                                                                             "|xns": "Roo.data",
136                                                                             "items": [
137                                                                                 {
138                                                                                     "*prop": "proxy",
139                                                                                     "xtype": "HttpProxy",
140                                                                                     "method": "GET",
141                                                                                     "|xns": "Roo.data",
142                                                                                     "|url": "baseURL + '/Roo/salesrep.php'"
143                                                                                 },
144                                                                                 {
145                                                                                     "*prop": "reader",
146                                                                                     "xtype": "JsonReader",
147                                                                                     "|xns": "Roo.data",
148                                                                                     "id": "salesrep_id",
149                                                                                     "root": "data",
150                                                                                     "totalProperty": "total",
151                                                                                     "|fields": "[{\"name\":\"salesrep_id\",\"type\":\"int\"},\"salesrep_name\"]"
152                                                                                 }
153                                                                             ]
154                                                                         }
155                                                                     ]
156                                                                 },
157                                                                 {
158                                                                     "listeners": {
159                                                                         "render": "function (_self)\n{\n    _this.fromLocation = _self;\n}"
160                                                                     },
161                                                                     "allowBlank": false,
162                                                                     "displayField": "location_descrip",
163                                                                     "editable": true,
164                                                                     "emptyText": "Select location",
165                                                                     "fieldLabel": "From Location",
166                                                                     "forceSelection": true,
167                                                                     "hiddenName": "invhist_transfer_from",
168                                                                     "listWidth": 400,
169                                                                     "loadingText": "Searching...",
170                                                                     "minChars": 2,
171                                                                     "name": "invhist_transfer_from_location_descrip",
172                                                                     "pageSize": 200,
173                                                                     "qtip": "Select location",
174                                                                     "queryParam": "query[location_name]",
175                                                                     "selectOnFocus": true,
176                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b> - {location_descrip} </div>",
177                                                                     "triggerAction": "all",
178                                                                     "valueField": "location_id",
179                                                                     "width": 250,
180                                                                     "xtype": "ComboBox",
181                                                                     "|xns": "Roo.form",
182                                                                     "items": [
183                                                                         {
184                                                                             "listeners": {
185                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    // set more here\n \n        o.params._notinternalcompany = 1;\n \n}\n"
186                                                                             },
187                                                                             "*prop": "store",
188                                                                             "remoteSort": true,
189                                                                             "xtype": "Store",
190                                                                             "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
191                                                                             "|xns": "Roo.data",
192                                                                             "items": [
193                                                                                 {
194                                                                                     "*prop": "proxy",
195                                                                                     "method": "GET",
196                                                                                     "xtype": "HttpProxy",
197                                                                                     "|url": "baseURL + '/Roo/location.php'",
198                                                                                     "|xns": "Roo.data"
199                                                                                 },
200                                                                                 {
201                                                                                     "*prop": "reader",
202                                                                                     "xtype": "JsonReader",
203                                                                                     "|xns": "Roo.data",
204                                                                                     "id": "id",
205                                                                                     "root": "data",
206                                                                                     "totalProperty": "total",
207                                                                                     "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
208                                                                                 }
209                                                                             ]
210                                                                         }
211                                                                     ]
212                                                                 },
213                                                                 {
214                                                                     "listeners": {
215                                                                         "select": "function (combo, record, index)\n{\n    combo._is_internalcompany = false;\n    \n    if(record.data.cust_to_internalcompany.length){\n        combo._is_internalcompany = true;\n    }\n    \n    _this.grid.setColumns();\n}",
216                                                                         "render": "function (_self)\n{\n    _this.toLocation = _self;\n}"
217                                                                     },
218                                                                     "allowBlank": false,
219                                                                     "displayField": "location_descrip",
220                                                                     "editable": true,
221                                                                     "emptyText": "Select location",
222                                                                     "fieldLabel": "To Location",
223                                                                     "forceSelection": true,
224                                                                     "hiddenName": "invhist_transfer_to",
225                                                                     "listWidth": 400,
226                                                                     "loadingText": "Searching...",
227                                                                     "minChars": 2,
228                                                                     "name": "invhist_transfer_to_location_descrip",
229                                                                     "pageSize": 200,
230                                                                     "qtip": "Select location",
231                                                                     "queryParam": "query[location_name]",
232                                                                     "selectOnFocus": true,
233                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b>  - <b style=\"color:red\">{location_cust_id_char_internalcompany} </b> {location_descrip} </div>",
234                                                                     "triggerAction": "all",
235                                                                     "valueField": "location_id",
236                                                                     "width": 250,
237                                                                     "xtype": "ComboBox",
238                                                                     "|xns": "Roo.form",
239                                                                     "items": [
240                                                                         {
241                                                                             "listeners": {
242                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    o.params.location_restrict = 0;\n    o.params._with_internalcompany = 1;\n    \n}\n"
243                                                                             },
244                                                                             "*prop": "store",
245                                                                             "remoteSort": true,
246                                                                             "xtype": "Store",
247                                                                             "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
248                                                                             "|xns": "Roo.data",
249                                                                             "items": [
250                                                                                 {
251                                                                                     "*prop": "proxy",
252                                                                                     "method": "GET",
253                                                                                     "xtype": "HttpProxy",
254                                                                                     "|url": "baseURL + '/Roo/location.php'",
255                                                                                     "|xns": "Roo.data"
256                                                                                 },
257                                                                                 {
258                                                                                     "*prop": "reader",
259                                                                                     "xtype": "JsonReader",
260                                                                                     "|xns": "Roo.data",
261                                                                                     "id": "id",
262                                                                                     "root": "data",
263                                                                                     "totalProperty": "total",
264                                                                                     "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
265                                                                                 }
266                                                                             ]
267                                                                         }
268                                                                     ]
269                                                                 }
270                                                             ]
271                                                         }
272                                                     ]
273                                                 },
274                                                 {
275                                                     "style": "margin-left: 10px; float: left;",
276                                                     "width": 280,
277                                                     "xtype": "Column",
278                                                     "|xns": "Roo.form",
279                                                     "items": [
280                                                         {
281                                                             "hideLabels": true,
282                                                             "legend": "Transfer Delivery Note Reference",
283                                                             "style": "width: 260px",
284                                                             "xtype": "FieldSet",
285                                                             "|xns": "Roo.form",
286                                                             "items": [
287                                                                 {
288                                                                     "fieldLabel": "invhist_transfer_delivery_note",
289                                                                     "name": "invhist_transfer_delivery_note",
290                                                                     "width": 250,
291                                                                     "xtype": "TextArea",
292                                                                     "|xns": "Roo.form"
293                                                                 }
294                                                             ]
295                                                         },
296                                                         {
297                                                             "hideLabels": true,
298                                                             "legend": "Transfer Description",
299                                                             "style": "width: 260px",
300                                                             "xtype": "FieldSet",
301                                                             "|xns": "Roo.form",
302                                                             "items": [
303                                                                 {
304                                                                     "fieldLabel": "invhist_transfer_descrip",
305                                                                     "name": "invhist_transfer_descrip",
306                                                                     "width": 250,
307                                                                     "xtype": "TextArea",
308                                                                     "|xns": "Roo.form"
309                                                                 }
310                                                             ]
311                                                         },
312                                                         {
313                                                             "|xns": "Roo.form",
314                                                             "xtype": "Row",
315                                                             "items": [
316                                                                 {
317                                                                     "actionMode": "fieldEl",
318                                                                     "allowBlank": true,
319                                                                     "displayField": "desc",
320                                                                     "editable": false,
321                                                                     "fieldLabel": "Transfer Price",
322                                                                     "hiddenName": "invhist_transfer_price",
323                                                                     "listWidth": 200,
324                                                                     "mode": "local",
325                                                                     "name": "invhist_transfer_price_desc",
326                                                                     "triggerAction": "all",
327                                                                     "value": "",
328                                                                     "valueField": "code",
329                                                                     "width": 150,
330                                                                     "xtype": "ComboBox",
331                                                                     "|xns": "Roo.form",
332                                                                     "items": [
333                                                                         {
334                                                                             "*prop": "store",
335                                                                             "xtype": "SimpleStore",
336                                                                             "|data": "[ \n    [ 'PRICELIST', \"At Transfer Price\"],\n    [ 'LASTPLUS' , \"Last Purchase +10% + 15% or stdcost +15%\"],\n    [ 'STDCOST' , \"stdcost - for old transfers only%\"]\n\n]\n",
337                                                                             "|fields": "[  'code', 'desc']",
338                                                                             "|xns": "Roo.data"
339                                                                         }
340                                                                     ]
341                                                                 }
342                                                             ]
343                                                         }
344                                                     ]
345                                                 },
346                                                 {
347                                                     "name": "transfer_items",
348                                                     "xtype": "Hidden",
349                                                     "|xns": "Roo.form"
350                                                 },
351                                                 {
352                                                     "name": "_roo_office",
353                                                     "xtype": "Hidden",
354                                                     "|xns": "Roo.form"
355                                                 },
356                                                 {
357                                                     "name": "invhist_transfer_id",
358                                                     "xtype": "Hidden",
359                                                     "|xns": "Roo.form"
360                                                 }
361                                             ]
362                                         }
363                                     ]
364                                 },
365                                 {
366                                     "listeners": {
367                                         "|activate": "function() {\n    _this.panel = this;\n    if (_this.grid) {\n        _this.grid.ds.load({});\n    }\n}"
368                                     },
369                                     "fitContainer": true,
370                                     "fitToframe": true,
371                                     "region": "center",
372                                     "tableName": "invhist_transfer_item",
373                                     "title": "invhist_transfer_item",
374                                     "xtype": "GridPanel",
375                                     "|xns": "Roo",
376                                     "items": [
377                                         {
378                                             "listeners": {
379                                                 "|render": "function() \n{\n    _this.grid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    if (_this.panel.active) {\n       this.ds.load({});\n    }\n}",
380                                                 "|rowdblclick": "function (_self, rowIndex, e)\n{\n    if (!_this.dialog) return;\n    _this.dialog.show( this.getDataSource().getAt(rowIndex), function() {\n        _this.grid.footer.onClick('first');\n    }); \n}\n",
381                                                 "beforeedit": "function (e)\n{\n    if(_this.data.invhist_transfer_posted){\n        Roo.MessageBox.alert('Error', 'This transfer has been posted');\n        return false;\n    }\n    if(_this.data.invhist_transfer_void){\n        Roo.MessageBox.alert('Error', 'This transfer has been voided');\n        return false;\n    }\n    \n    if(e.field == 'invhist_transfer_item_unit_price' && (!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length) && !_this.toLocation._is_internalcompany){\n        Roo.MessageBox.alert('Error', 'Not a inter-comany transfer');\n        return false;\n    }\n    \n    \n    \n}"
382                                             },
383                                             "*prop": "grid",
384                                             "autoExpandColumn": "item_descrip1",
385                                             "clicksToEdit": 1,
386                                             "loadMask": true,
387                                             "xtype": "EditorGrid",
388                                             "|setColumns": "function() {\n    var cm = _this.grid.getColumnModel();\n    \n    function cid(str) {\n        return cm.getIndexByDataIndex(str);\n    }\n    \n    if((!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length) && !_this.toLocation._is_internalcompany){\n        cm.setHidden(cid('invhist_transfer_item_unit_price'), true);\n        cm.setHidden(cid('invhist_transfer_item_unit_price_default'), true);\n        _this.form.findField('invhist_transfer_price').hide();\n        return;\n    }\n    \n    cm.setHidden(cid('invhist_transfer_item_unit_price'), false);\n    cm.setHidden(cid('invhist_transfer_item_unit_price_default'), false);\n    _this.form.findField('invhist_transfer_price').show();\n}\n",
389                                             "|xns": "Roo.grid",
390                                             "items": [
391                                                 {
392                                                     "listeners": {
393                                                         "tabend": "function (_self)\n{\n    _this.addItemBtn.fireEvent('click', _this.addItemBtn);\n}"
394                                                     },
395                                                     "*prop": "sm",
396                                                     "xtype": "CellSelectionModel",
397                                                     "|xns": "Roo.grid"
398                                                 },
399                                                 {
400                                                     "listeners": {
401                                                         "beforeload": "function (_self, o)\n{\n   \n    o.params = o.params || {};\n    if (!_this.form) {\n        return false;\n    }\n    \n    o.params.invhist_transfer_item_invhist_transfer_id = _this.form.findField('invhist_transfer_id').getValue() * 1;\n    \n    if ( !o.params.invhist_transfer_item_invhist_transfer_id) {\n        _this.grid.ds.removeAll();\n        return false;\n    }\n\n    o.params['query[at_location]'] = _this.form.findField('invhist_transfer_from').getValue();\n    o.params.limit = 999;\n    o.params._roo_office =  _this.form.findField('_roo_office').getValue();\n    \n    _this.grid.setColumns();\n        \n    if(!_this.data.cust_to_internalcompany || !_this.data.cust_to_internalcompany.length){\n        return;\n    }\n    \n    o.params._inter_transfer = 1;    \n\n    \n    \n}"
402                                                     },
403                                                     "*prop": "dataSource",
404                                                     "remoteSort": true,
405                                                     "xtype": "Store",
406                                                     "|sortInfo": "{ field : 'invhist_transfer_item_line', direction: 'ASC' }",
407                                                     "|xns": "Roo.data",
408                                                     "items": [
409                                                         {
410                                                             "*prop": "proxy",
411                                                             "method": "GET",
412                                                             "timeout": 180000,
413                                                             "xtype": "HttpProxy",
414                                                             "|url": "baseURL + '/Xtuple/Roo/invhist_transfer_item.php'",
415                                                             "|xns": "Roo.data"
416                                                         },
417                                                         {
418                                                             "*prop": "reader",
419                                                             "id": "id",
420                                                             "root": "data",
421                                                             "totalProperty": "total",
422                                                             "xtype": "JsonReader",
423                                                             "|fields": "[\n    {\n        'name': 'invhist_transfer_item_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_invhist_transfer_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_itemsite_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_qty',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_line',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_invhist_id',\n        'type': 'int'\n    }, \n    'item_id',\n    'item_number',    \n    'item_descrip1',\n    'avail_at_location'\n    \n    \n]",
424                                                             "|xns": "Roo.data"
425                                                         }
426                                                     ]
427                                                 },
428                                                 {
429                                                     "*prop": "toolbar",
430                                                     "xtype": "Toolbar",
431                                                     "|xns": "Roo",
432                                                     "items": [
433                                                         {
434                                                             "listeners": {
435                                                                 "|click": "function()\n{\n    \n     if (_this.data.invhist_transfer_posted) {\n        Roo.MessageBox.alert(\"Error\", \"Transfer has been posted, void it first\");\n        return;\n    }\n    \n    // work out last \n    var grid = _this.grid;\n    var last = 0;\n    \n    _this.grid.ds.each(function(r) {\n        last = r.data.invhist_transfer_item_line;\n    });\n    \n    last++;\n    \n    var nr = _this.grid.ds.reader.newRow({\n        invhist_transfer_item_line : last,\n        item_number : '',\n        item_descrip1 : '',\n        invhist_transfer_item_qty : 0,\n        item_availqty : 0,\n        invhist_transfer_item_transfer_id : _this.form.findField('invhist_transfer_id').getValue()\n   });\n\n    grid.stopEditing();\n    grid.ds.insert(grid.ds.getCount(), nr); \n    grid.startEditing(grid.ds.getCount()-1, 1); // type..\n}\n",
436                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
437                                                             },
438                                                             "cls": "x-btn-text-icon",
439                                                             "text": "Add",
440                                                             "xtype": "Button",
441                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
442                                                             "|xns": "Roo.Toolbar"
443                                                         },
444                                                         {
445                                                             "cls": "x-btn-text-icon",
446                                                             "text": "Fill based on Stock",
447                                                             "xtype": "Button",
448                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
449                                                             "|xns": "Roo.Toolbar",
450                                                             "items": [
451                                                                 {
452                                                                     "|xns": "Roo.menu",
453                                                                     "xtype": "Menu",
454                                                                     "*prop": "menu",
455                                                                     "items": [
456                                                                         {
457                                                                             "listeners": {
458                                                                                 "|click": "function()\n{\n    var    rn =      _this.grid.ds.getCount();\n    var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n    var addRow = function(r) {\n    \n        if (r.itemsite_qty * 1 < 1) {\n        \n            return;\n            }\n      var nr = _this.grid.ds.reader.newRow({\n            invhist_transfer_item_line : rn + 1,\n            item_id : r.itemsite_item_id,    \n            invhist_transfer_item_itemsite_id :         r.itemsite_id,    \n            item_number : r.itemsite_item_id_item_number,\n            item_descrip1 : r.itemsite_item_id_item_descrip1,\n            invhist_transfer_item_qty : r.itemsite_qty,\n            item_availqty : 0,\n            invhist_transfer_item_transfer_id : tid\n       });\n         _this.grid.ds.insert(rn++, nr); \n    \n    };\n     \n    var loc  = _this.form.findField('invhist_transfer_from').getValue()*1;\n    var dt  = _this.form.findField('invhist_transfer_transdate').getValue().format('Y-m-d');    \n    \n    _this.grid.stopEditing();\n    \n    new Pman.Request({\n        url :  baseURL + '/Roo/itemsite',\n        mask : 'Fetching stock',\n        method : 'GET',\n        params : {\n            limit : 2000, // alot!\n            _with_stock_and_value : 1,\n            _viewtype : 1,\n            location_id : loc,\n            _as_of : dt,\n            'sort' : 'itemsite_item_id_item_number',\n            'dir'  : 'ASC'\n        },\n        success : function(r) {\n            Roo.log(r);\n            Roo.each(r.data, addRow);\n            \n        \n        }\n    \n    });\n\n    \n\n    \n\n    \n     \n}\n",
459                                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
460                                                                             },
461                                                                             "cls": "x-btn-text-icon",
462                                                                             "text": "Transfer all from Location",
463                                                                             "xtype": "Item",
464                                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
465                                                                             "|xns": "Roo.menu"
466                                                                         },
467                                                                         {
468                                                                             "listeners": {
469                                                                                 "|click": "function()\n{\n var    rn =      _this.grid.ds.getCount();\n        var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n        \n        \n        var addRow = function(r) {\n        \n            if (r.itemsite_qty * 1 > -1) {\n            \n                return;\n            }\n          var nr = _this.grid.ds.reader.newRow({\n                invhist_transfer_item_line : rn + 1,\n                item_id : r.itemsite_item_id,    \n                invhist_transfer_item_itemsite_id :         r.itemsite_id,    \n                item_number : r.itemsite_item_id_item_number,\n                item_descrip1 : r.itemsite_item_id_item_descrip1,\n                invhist_transfer_item_qty : Math.abs(r.itemsite_qty),\n                item_availqty : 0,\n                invhist_transfer_item_transfer_id : tid\n           });\n             _this.grid.ds.insert(rn++, nr); \n        \n        };\n         \n        var loc  = _this.form.findField('invhist_transfer_to').getValue()*1;\n        var dt  = _this.form.findField('invhist_transfer_transdate').getValue().format('Y-m-d');    \n        \n        _this.grid.stopEditing();\n        \n        new Pman.Request({\n            url :  baseURL + '/Roo/itemsite',\n            mask : 'Fetching stock',\n            method : 'GET',\n            params : {\n                limit : 2000, // alot!\n                _with_stock_and_value : 1,\n                _viewtype : -1,\n                location_id : loc,\n                _as_of : dt,\n                'sort' : 'itemsite_item_id_item_number',\n                'dir'  : 'ASC'\n            },\n            success : function(r) {\n                Roo.log(r);\n                Roo.each(r.data, addRow);\n                \n            \n            }\n        \n        });\n    \n    \n\n    \n\n    \n     \n}\n",
470                                                                                 "render": "function (_self)\n{\n    _this.addItemBtn = _self;\n}"
471                                                                             },
472                                                                             "cls": "x-btn-text-icon",
473                                                                             "text": "Fill negative at Target",
474                                                                             "xtype": "Item",
475                                                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
476                                                                             "|xns": "Roo.menu"
477                                                                         }
478                                                                     ]
479                                                                 }
480                                                             ]
481                                                         },
482                                                         {
483                                                             "|xns": "Roo.Toolbar",
484                                                             "xtype": "Fill"
485                                                         },
486                                                         {
487                                                             "listeners": {
488                                                                 "|click": "function()\n{\n     _this.grid.stopEditing();     \n\n     if (_this.data.invhist_transfer_posted) {\n        Roo.MessageBox.alert(\"Error\", \"Transfer has been posted, void it first\");\n        return;\n    }\n\n    var rc= _this.grid.selModel.getSelectedCell();\n     if (!rc) {\n        Roo.MessageBox.alert(\"Error\", \"Select a item to delete\");\n        return;\n     }\n         \n     var rec = _this.grid.ds.getAt(rc[0]);\n     _this.grid.ds.remove(rec);\n     \n\n    rec = _this.grid.ds.getAt(rc[0]);\n    if (rec) {\n        _this.grid.selModel.select(rc[0], 2);\n        return;\n    }\n    var ln = rc[0]-1;\n    if (ln < 0) {\n      return;\n    } // nothing left to select..\n    _this.grid.selModel.select(rc[0]-1, 2);\n     \n    \n    \n    \n}\n        "
489                                                             },
490                                                             "cls": "x-btn-text-icon",
491                                                             "text": "Delete",
492                                                             "xtype": "Button",
493                                                             "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
494                                                             "|xns": "Roo.Toolbar"
495                                                         }
496                                                     ]
497                                                 },
498                                                 {
499                                                     "*prop": "colModel[]",
500                                                     "dataIndex": "invhist_transfer_item_line",
501                                                     "header": "Line",
502                                                     "width": 75,
503                                                     "xtype": "ColumnModel",
504                                                     "|renderer": "function(v) { return String.format('{0}', v); }",
505                                                     "|xns": "Roo.grid"
506                                                 },
507                                                 {
508                                                     "*prop": "colModel[]",
509                                                     ".builderCfg": "{\"table\":\"coitem\",\"column\":\"coitem_itemsite_id\",\"columnshort\":\"coitem_itemsite_id\",\"ctype\":\"int4\",\"desc\":\"\",\"maps_to\":\"itemsite_id\",\"deps\":[{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_item_id\",\"columnshort\":\"itemsite_item_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_warehous_id\",\"columnshort\":\"itemsite_warehous_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_qtyonhand\",\"columnshort\":\"itemsite_qtyonhand\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_reorderlevel\",\"columnshort\":\"itemsite_reorderlevel\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordertoqty\",\"columnshort\":\"itemsite_ordertoqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_cyclecountfreq\",\"columnshort\":\"itemsite_cyclecountfreq\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_datelastcount\",\"columnshort\":\"itemsite_datelastcount\",\"ctype\":\"date\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_datelastused\",\"columnshort\":\"itemsite_datelastused\",\"ctype\":\"date\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_loccntrl\",\"columnshort\":\"itemsite_loccntrl\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_safetystock\",\"columnshort\":\"itemsite_safetystock\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_minordqty\",\"columnshort\":\"itemsite_minordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_multordqty\",\"columnshort\":\"itemsite_multordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_leadtime\",\"columnshort\":\"itemsite_leadtime\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_abcclass\",\"columnshort\":\"itemsite_abcclass\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_issuemethod\",\"columnshort\":\"itemsite_issuemethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_controlmethod\",\"columnshort\":\"itemsite_controlmethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_active\",\"columnshort\":\"itemsite_active\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_plancode_id\",\"columnshort\":\"itemsite_plancode_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_costcat_id\",\"columnshort\":\"itemsite_costcat_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_eventfence\",\"columnshort\":\"itemsite_eventfence\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_sold\",\"columnshort\":\"itemsite_sold\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_stocked\",\"columnshort\":\"itemsite_stocked\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_freeze\",\"columnshort\":\"itemsite_freeze\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location_id\",\"columnshort\":\"itemsite_location_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_useparams\",\"columnshort\":\"itemsite_useparams\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_useparamsmanual\",\"columnshort\":\"itemsite_useparamsmanual\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_soldranking\",\"columnshort\":\"itemsite_soldranking\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createpr\",\"columnshort\":\"itemsite_createpr\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location\",\"columnshort\":\"itemsite_location\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_location_comments\",\"columnshort\":\"itemsite_location_comments\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_notes\",\"columnshort\":\"itemsite_notes\",\"ctype\":\"text\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_perishable\",\"columnshort\":\"itemsite_perishable\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_nnqoh\",\"columnshort\":\"itemsite_nnqoh\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_autoabcclass\",\"columnshort\":\"itemsite_autoabcclass\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordergroup\",\"columnshort\":\"itemsite_ordergroup\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_disallowblankwip\",\"columnshort\":\"itemsite_disallowblankwip\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_maxordqty\",\"columnshort\":\"itemsite_maxordqty\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_mps_timefence\",\"columnshort\":\"itemsite_mps_timefence\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createwo\",\"columnshort\":\"itemsite_createwo\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_warrpurc\",\"columnshort\":\"itemsite_warrpurc\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_autoreg\",\"columnshort\":\"itemsite_autoreg\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_costmethod\",\"columnshort\":\"itemsite_costmethod\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_value\",\"columnshort\":\"itemsite_value\",\"ctype\":\"numeric\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_ordergroup_first\",\"columnshort\":\"itemsite_ordergroup_first\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_supply_itemsite_id\",\"columnshort\":\"itemsite_supply_itemsite_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_planning_type\",\"columnshort\":\"itemsite_planning_type\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_wosupply\",\"columnshort\":\"itemsite_wosupply\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_posupply\",\"columnshort\":\"itemsite_posupply\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_lsseq_id\",\"columnshort\":\"itemsite_lsseq_id\",\"ctype\":\"int4\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_cosdefault\",\"columnshort\":\"itemsite_cosdefault\",\"ctype\":\"bpchar\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createsopr\",\"columnshort\":\"itemsite_createsopr\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_createsopo\",\"columnshort\":\"itemsite_createsopo\",\"ctype\":\"bool\",\"desc\":\"\"},{\"table\":\"itemsite\",\"column\":\"coitem_itemsite_id_itemsite_dropship\",\"columnshort\":\"itemsite_dropship\",\"ctype\":\"bool\",\"desc\":\"\"}],\"use\":1,\"use_ex\":\"\",\"title\":\"\"}",
510                                                     "dataIndex": "item_id",
511                                                     "header": "Item Code",
512                                                     "width": 75,
513                                                     "xtype": "ColumnModel",
514                                                     "|renderer": "function(v,x,r) { \n    return String.format('{0}', r.data.item_number);\n }",
515                                                     "|xns": "Roo.grid",
516                                                     "items": [
517                                                         {
518                                                             "|xns": "Roo.grid",
519                                                             "xtype": "GridEditor",
520                                                             "*prop": "editor",
521                                                             "items": [
522                                                                 {
523                                                                     "listeners": {
524                                                                         "beforeselect": "function (combo, record, index)\n{\n  // set _this.data values ..\n  var ar = _this.grid.activeEditor.record;\n  //Roo.log('beforeselect');\n  (function() { \n     //  Roo.log('beforeselect-cb');\n      ar.set('item_descrip1', record.data.itemsite_item_id_item_descrip1);\n     // ar.set('coitem_price', record.data.item_listprice);\n     // ar.set('coitem_custprice', record.data.item_price);\n       ar.set('invhist_transfer_item_itemsite_id', record.data.itemsite_id);\n      ar.set('item_number', record.data.itemsite_item_id_item_number);\n      ar.set('avail_at_location', record.data.avail_at_location);\n      ar.commit();\n  }).defer(100);\n  \n}"
525                                                                     },
526                                                                     "*prop": "field",
527                                                                     "allowBlank": false,
528                                                                     "displayField": "itemsite_item_id_item_number",
529                                                                     "editable": true,
530                                                                     "emptyText": "Select item",
531                                                                     "forceSelection": true,
532                                                                     "hiddenName": "itemsite_item_id_item_number",
533                                                                     "listWidth": 400,
534                                                                     "loadingText": "Searching...",
535                                                                     "minChars": 2,
536                                                                     "name": "item_number",
537                                                                     "pageSize": 20,
538                                                                     "qtip": "Select item",
539                                                                     "queryParam": "query[number]",
540                                                                     "selectOnFocus": true,
541                                                                     "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{itemsite_item_id_item_number}</b>  {itemsite_item_id_item_descrip1} ({avail_at_location})</div>",
542                                                                     "triggerAction": "all",
543                                                                     "valueField": "item_number",
544                                                                     "xtype": "ComboBox",
545                                                                     "|xns": "Roo.form",
546                                                                     "items": [
547                                                                         {
548                                                                             "listeners": {
549                                                                                 "|beforeload": "function (_self, o){\n    o.params = o.params || {};\n    \n    o.params['query[at_location]'] = _this.form.findField('invhist_transfer_from').getValue();\n    \n}\n"
550                                                                             },
551                                                                             "*prop": "store",
552                                                                             "remoteSort": true,
553                                                                             "xtype": "Store",
554                                                                             "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }",
555                                                                             "|xns": "Roo.data",
556                                                                             "items": [
557                                                                                 {
558                                                                                     "*prop": "proxy",
559                                                                                     "method": "GET",
560                                                                                     "xtype": "HttpProxy",
561                                                                                     "|url": "baseURL + '/Roo/itemsite.php'",
562                                                                                     "|xns": "Roo.data"
563                                                                                 },
564                                                                                 {
565                                                                                     "*prop": "reader",
566                                                                                     "id": "shipto_id",
567                                                                                     "root": "data",
568                                                                                     "totalProperty": "total",
569                                                                                     "xtype": "JsonReader",
570                                                                                     "|fields": "[{\"name\":\"item_id\",\"type\":\"int\"},\"item_number\"]",
571                                                                                     "|xns": "Roo.data"
572                                                                                 }
573                                                                             ]
574                                                                         }
575                                                                     ]
576                                                                 }
577                                                             ]
578                                                         }
579                                                     ]
580                                                 },
581                                                 {
582                                                     "*prop": "colModel[]",
583                                                     "dataIndex": "item_descrip1",
584                                                     "header": "Description",
585                                                     "width": 75,
586                                                     "xtype": "ColumnModel",
587                                                     "|renderer": "function(v,x,r) { return String.format('{0}', v); }",
588                                                     "|xns": "Roo.grid"
589                                                 },
590                                                 {
591                                                     "*prop": "colModel[]",
592                                                     "align": "right",
593                                                     "dataIndex": "avail_at_location",
594                                                     "header": "Cur. Avail",
595                                                     "width": 75,
596                                                     "xtype": "ColumnModel",
597                                                     "|renderer": "function(v,x,r) { return String.format('{0}', v); }",
598                                                     "|xns": "Roo.grid"
599                                                 },
600                                                 {
601                                                     "*prop": "colModel[]",
602                                                     "align": "right",
603                                                     "dataIndex": "invhist_transfer_item_qty",
604                                                     "header": "Qty",
605                                                     "width": "50.00",
606                                                     "xtype": "ColumnModel",
607                                                     "|renderer": "function(v,x,r) { \n    var vv = parseInt(v);\n    //var aq = parseInt(r.data.avail_qty);\n    //aq = isNaN(aq) ? 0 : aq;\n   \n   \n   \n   \n    return String.format('{0}', vv.toFixed(0)); \n    \n}",
608                                                     "|xns": "Roo.grid",
609                                                     "items": [
610                                                         {
611                                                             "*prop": "editor",
612                                                             "xtype": "GridEditor",
613                                                             "|xns": "Roo.grid",
614                                                             "items": [
615                                                                 {
616                                                                     "*prop": "field",
617                                                                     "allowDecimals": false,
618                                                                     "decimalPrecision": 0,
619                                                                     "minValue": 1,
620                                                                     "style": "text-align:right",
621                                                                     "xtype": "NumberField",
622                                                                     "|xns": "Roo.form"
623                                                                 }
624                                                             ]
625                                                         }
626                                                     ]
627                                                 },
628                                                 {
629                                                     "*prop": "colModel[]",
630                                                     "align": "right",
631                                                     "dataIndex": "invhist_transfer_item_unit_price",
632                                                     "header": "Unit Price",
633                                                     "hidden": true,
634                                                     "width": 75,
635                                                     "xtype": "ColumnModel",
636                                                     "|renderer": "function(v,x,r) \n{ \n    if(!v && v !== 0){\n        return '';\n    }\n    var color = '#666'; // orignal color\n    \n    if(r.data.invhist_transfer_item_unit_price_default != v){\n        color = 'red';\n    }\n    \n    return String.format('<span style=\"color:{0};\">{1} {2}</span>', color, (r.data.invhist_transfer_item_curr_name) ? r.data.invhist_transfer_item_curr_name : '' , Roo.util.Format.number(v,2)); \n}",
637                                                     "|xns": "Roo.grid",
638                                                     "items": [
639                                                         {
640                                                             "|xns": "Roo.grid",
641                                                             "xtype": "GridEditor",
642                                                             "*prop": "editor",
643                                                             "items": [
644                                                                 {
645                                                                     "*prop": "field",
646                                                                     "allowBlank": false,
647                                                                     "allowDecimals": true,
648                                                                     "decimalPrecision": 2,
649                                                                     "style": "text-align:right",
650                                                                     "xtype": "NumberField",
651                                                                     "|xns": "Roo.form"
652                                                                 }
653                                                             ]
654                                                         }
655                                                     ]
656                                                 },
657                                                 {
658                                                     "*prop": "colModel[]",
659                                                     "align": "right",
660                                                     "dataIndex": "invhist_transfer_item_unit_price_default",
661                                                     "header": "Default Price",
662                                                     "hidden": true,
663                                                     "width": 75,
664                                                     "xtype": "ColumnModel",
665                                                     "|renderer": "function(v,x,r) \n{ \n    if(!v && v !== 0){\n        return '';\n    }\n    return String.format('{0} {1}', (r.data.invhist_transfer_item_curr_name) ? r.data.invhist_transfer_item_curr_name : '' , Roo.util.Format.number(v,2)); \n}",
666                                                     "|xns": "Roo.grid"
667                                                 }
668                                             ]
669                                         }
670                                     ]
671                                 }
672                             ]
673                         }
674                     ]
675                 },
676                 {
677                     "listeners": {
678                         "|activate": "function() {\n    _this.ipanel = this;\n    if (_this.igrid) {\n        _this.igrid.footer.onClick('first');\n    }\n}"
679                     },
680                     "background": false,
681                     "fitContainer": true,
682                     "fitToframe": true,
683                     "region": "center",
684                     "tableName": "Images",
685                     "title": "Reference Files",
686                     "xtype": "GridPanel",
687                     "|xns": "Roo",
688                     "items": [
689                         {
690                             "listeners": {
691                                 "|render": "function() { \n    _this.igrid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    //if (_this.panel.active) {\n    //   this.footer.onClick('first');\n    //}\n}",
692                                 "|rowdblclick": "function (_self, rowIndex, e)\n{\n  \n   var s =  _self.getDataSource().getAt(rowIndex);\n   new Pman.Download({\n        url : baseURL + '/Images/' + s.data.id\n         \n    });\n   \n}"
693                             },
694                             "*prop": "grid",
695                             "autoExpandColumn": "id",
696                             "loadMask": true,
697                             "xtype": "Grid",
698                             "|xns": "Roo.grid",
699                             "items": [
700                                 {
701                                     "listeners": {
702                                         "|beforeload": "function (_self, o)\n{\n    //o.params.ontable = 'Companies';\n    \n  //   o.params.imgtype = 'PressRelease';\n    \n    o.params = o.params || {};\n    o.params.onid = _this.form.findField('invhist_transfer_id').getValue();\n    o.params.ontable = 'invhist_transfer';\n    Roo.log(_this);\n    \n}",
703                                         "|load": "function (_self, records, options)\n{\n _this.panel.el.unmask();\n}"
704                                     },
705                                     "*prop": "dataSource",
706                                     "remoteSort": true,
707                                     "xtype": "Store",
708                                     "|sortInfo": "{ field: 'created' , direction: 'DESC' }",
709                                     "|xns": "Roo.data",
710                                     "items": [
711                                         {
712                                             "*prop": "reader",
713                                             "id": "id",
714                                             "root": "data",
715                                             "totalProperty": "total",
716                                             "xtype": "JsonReader",
717                                             "|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 H:i:s'\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]",
718                                             "|xns": "Roo.data"
719                                         },
720                                         {
721                                             "*prop": "proxy",
722                                             "xtype": "HttpProxy",
723                                             "method": "GET",
724                                             "|url": "baseURL + '/Roo/Images.php'",
725                                             "|xns": "Roo.data"
726                                         }
727                                     ]
728                                 },
729                                 {
730                                     "*prop": "footer",
731                                     "xtype": "PagingToolbar",
732                                     "pageSize": 25,
733                                     "displayInfo": true,
734                                     "displayMsg": "Displaying Images  {0} - {1} of {2}",
735                                     "emptyMsg": "No Images found",
736                                     "|xns": "Roo"
737                                 },
738                                 {
739                                     "*prop": "toolbar",
740                                     "xtype": "Toolbar",
741                                     "|xns": "Roo",
742                                     "items": [
743                                         {
744                                             "listeners": {
745                                                 "|click": "function()\n{\n            \n    //var sel = Pman.Tab.PressReleaseCompanies  ? Pman.Tab.PressReleaseCompanies.grid.getSelectionModel().getSelected() : false\n     \n    Pman.Dialog.Image.show({\n        id : 0, \n        ontable: 'invhist_transfer',\n        onid: _this.form.findField('invhist_transfer_id').getValue(),\n        imgtype : ''\n    }, function(data){\n        if (!data) { return; } \n        _this.igrid.footer.onClick('first');\n    }); \n\n}       "
746                                             },
747                                             "cls": "x-btn-text-icon",
748                                             "text": "Add",
749                                             "xtype": "Button",
750                                             "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
751                                             "|xns": "Roo.Toolbar"
752                                         },
753                                         {
754                                             "listeners": {
755                                                 "|click": "function()\n        {\n        Pman.genericDelete(_this, 'Images'); \n        }\n        "
756                                             },
757                                             "cls": "x-btn-text-icon",
758                                             "text": "Delete",
759                                             "xtype": "Button",
760                                             "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
761                                             "|xns": "Roo.Toolbar"
762                                         }
763                                     ]
764                                 },
765                                 {
766                                     "*prop": "colModel[]",
767                                     "dataIndex": "created",
768                                     "header": "Created",
769                                     "sortable": true,
770                                     "width": 200,
771                                     "xtype": "ColumnModel",
772                                     "|renderer": "function(v,x,r) {\n       return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',\n            v.format('d/M/Y'), r.data.mimetype, r.data.filename,\n    r.data.width, r.data.height\n    ); \n}\n     ",
773                                     "|xns": "Roo.grid"
774                                 },
775                                 {
776                                     "*prop": "colModel[]",
777                                     "dataIndex": "id",
778                                     "header": "Image",
779                                     "width": 100,
780                                     "xtype": "ColumnModel",
781                                     "|renderer": "function(v,x,r) { return String.format('<img src=\"{0}/Images/Thumb/100/{1}/{2}\" height=\"100\">', baseURL, v, r.data.filename); }",
782                                     "|xns": "Roo.grid"
783                                 }
784                             ]
785                         }
786                     ]
787                 },
788                 {
789                     "listeners": {
790                         "|activate": "function() {\n    _this.hpanel = this;\n    if (_this.hgrid) {\n        _this.hgrid.footer.onClick('first');\n    }\n}"
791                     },
792                     "background": true,
793                     "fitContainer": true,
794                     "fitToframe": true,
795                     "region": "center",
796                     "tableName": "events",
797                     "title": "History",
798                     "xtype": "GridPanel",
799                     "|xns": "Roo",
800                     "items": [
801                         {
802                             "listeners": {
803                                 "|render": "function() \n{\n    _this.hgrid = this; \n    if (_this.hpanel.active) {\n       this.footer.onClick('first');\n    }\n}"
804                             },
805                             "*prop": "grid",
806                             "autoExpandColumn": "remarks",
807                             "loadMask": true,
808                             "xtype": "Grid",
809                             "|xns": "Roo.grid",
810                             "items": [
811                                 {
812                                     "listeners": {
813                                         "beforeload": "function (_self, options)\n{\n    options.params = options.params || {};\n    \n    options.params.on_table = 'invhist_transfer';\n    options.params.on_id = _this.form.findField('invhist_transfer_id').getValue();\n}"
814                                     },
815                                     "*prop": "dataSource",
816                                     "remoteSort": true,
817                                     "xtype": "Store",
818                                     "|sortInfo": "{ field : 'event_when', direction: 'DESC' }",
819                                     "|xns": "Roo.data",
820                                     "items": [
821                                         {
822                                             "*prop": "proxy",
823                                             "method": "GET",
824                                             "xtype": "HttpProxy",
825                                             "|url": "baseURL + '/Roo/events.php'",
826                                             "|xns": "Roo.data"
827                                         },
828                                         {
829                                             "*prop": "reader",
830                                             "id": "id",
831                                             "root": "data",
832                                             "totalProperty": "total",
833                                             "xtype": "JsonReader",
834                                             "|fields": "[\n    {\n        'name': 'event_when',\n        'type': 'date'\n    },\n    {\n        'name': 'action',\n        'type': 'string'\n    },\n    {\n        'name': 'ipaddr',\n        'type': 'string'\n    },\n    {\n        'name': 'person_id_name',\n        'type': 'string'\n    },\n    {\n        'name': 'remarks',\n        'type': 'string'\n    }\n]",
835                                             "|xns": "Roo.data"
836                                         }
837                                     ]
838                                 },
839                                 {
840                                     "*prop": "footer",
841                                     "displayInfo": true,
842                                     "displayMsg": "Displaying events{0} - {1} of {2}",
843                                     "emptyMsg": "No Events found",
844                                     "pageSize": 25,
845                                     "xtype": "PagingToolbar",
846                                     "|xns": "Roo"
847                                 },
848                                 {
849                                     "*prop": "colModel[]",
850                                     "dataIndex": "event_when",
851                                     "header": "Changed",
852                                     "width": 120,
853                                     "xtype": "ColumnModel",
854                                     "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }",
855                                     "|xns": "Roo.grid"
856                                 },
857                                 {
858                                     "*prop": "colModel[]",
859                                     "dataIndex": "action",
860                                     "header": "Action",
861                                     "width": 200,
862                                     "xtype": "ColumnModel",
863                                     "|renderer": "function(v,x,r) { return String.format('{0} - {1}', v, r.data.on_table); }",
864                                     "|xns": "Roo.grid"
865                                 },
866                                 {
867                                     "*prop": "colModel[]",
868                                     "dataIndex": "ipaddr",
869                                     "header": "IP Address",
870                                     "width": 200,
871                                     "xtype": "ColumnModel",
872                                     "|renderer": "function(v) { return String.format('{0}', v); }",
873                                     "|xns": "Roo.grid"
874                                 },
875                                 {
876                                     "*prop": "colModel[]",
877                                     "dataIndex": "person_id_name",
878                                     "header": "Who",
879                                     "width": 75,
880                                     "xtype": "ColumnModel",
881                                     "|renderer": "function(v) { return String.format('{0}', v); }",
882                                     "|xns": "Roo.grid"
883                                 },
884                                 {
885                                     "*prop": "colModel[]",
886                                     "dataIndex": "remarks",
887                                     "header": "Notes",
888                                     "width": 200,
889                                     "xtype": "ColumnModel",
890                                     "|renderer": "function(v) { return String.format('{0}', v); }",
891                                     "|xns": "Roo.grid"
892                                 }
893                             ]
894                         }
895                     ]
896                 },
897                 {
898                     "listeners": {
899                         "|activate": "function() {\n    _this.tpanel = this;\n    if (_this.tgrid) {\n        _this.tgrid.ds.load({});\n    }\n}"
900                     },
901                     "background": true,
902                     "fitContainer": true,
903                     "fitToframe": true,
904                     "region": "center",
905                     "tableName": "invhist_transfer_item",
906                     "title": "Transfered",
907                     "xtype": "GridPanel",
908                     "|xns": "Roo",
909                     "items": [
910                         {
911                             "listeners": {
912                                 "|render": "function() \n{\n    _this.tgrid = this; \n    if (_this.tpanel.active) {\n       this.ds.load({});\n    }\n}"
913                             },
914                             "*prop": "grid",
915                             "autoExpandColumn": "item_number",
916                             "loadMask": true,
917                             "xtype": "Grid",
918                             "|xns": "Roo.grid",
919                             "items": [
920                                 {
921                                     "|xns": "Roo",
922                                     "xtype": "Toolbar",
923                                     "*prop": "toolbar",
924                                     "items": [
925                                         {
926                                             "listeners": {
927                                                 "|click": "function()\n{\n    var id = _this.form.findField('invhist_transfer_id').getValue();\n\n    if(id * 1 < 1){\n        return;\n    }\n    \n    var err = false;\n    \n    _this.tgrid.ds.each(function (r) {\n        if (_this.data.invhist_transfer_void && r.data.transfered_qty * 1 == 0 && r.data.expected_qty * 1 == 0) {\n            return;\n        }\n        if(!_this.data.invhist_transfer_void && r.data.transfered_qty * 1 - r.data.expected_qty * 1 == 0){\n            return;\n        }\n        \n        err = true;\n   });\n   \n   if(!err){\n        Roo.MessageBox.alert(\"Notice\", \"Nothing Wrong!\");\n        return;\n   }\n   \n    new Pman.Request({\n        url : baseURL + '/Roo/invhist_transfer',\n        method : 'POST',\n        mask: 'Fixing',\n        timeout : 1200000, //20 minutes...! - big xfer should be 10mins.\n        params : {\n            invhist_transfer_id : id,\n            _fix : 1\n        },\n        success : function () \n        {\n            _this.tgrid.ds.load({});\n        }\n    });\n    \n    \n    \n}\n"
928                                             },
929                                             "cls": "x-btn-text-icon",
930                                             "text": "Fix Transfer",
931                                             "xtype": "Button",
932                                             "|icon": "Roo.rootURL + 'images/default/tree/leaf.gif'",
933                                             "|xns": "Roo.Toolbar"
934                                         }
935                                     ]
936                                 },
937                                 {
938                                     "listeners": {
939                                         "beforeload": "function (_self, options)\n{\n    options.params = options.params || {};\n    options.params.limit = 9999;\n    if(_this.data.cust_to_internalcompany.length){\n        this.removeAll();\n        return false;\n    }\n    \n    var id = _this.form.findField('invhist_transfer_id').getValue();\n    \n    if(id * 1 < 1){\n        this.removeAll();\n        return false;\n    }\n    \n    options.params.invhist_transfer_item_invhist_transfer_id = id;\n    \n    options.params._with_expected = 1;\n    \n}"
940                                     },
941                                     "*prop": "dataSource",
942                                     "remoteSort": true,
943                                     "xtype": "Store",
944                                     "|sortInfo": "{ field : 'invhist_transfer_item_line', direction: 'ASC' }",
945                                     "|xns": "Roo.data",
946                                     "items": [
947                                         {
948                                             "*prop": "proxy",
949                                             "method": "GET",
950                                             "xtype": "HttpProxy",
951                                             "|url": "baseURL + '/Roo/invhist_transfer_item.php'",
952                                             "|xns": "Roo.data"
953                                         },
954                                         {
955                                             "*prop": "reader",
956                                             "id": "invhist_transfer_item_id",
957                                             "root": "data",
958                                             "totalProperty": "total",
959                                             "xtype": "JsonReader",
960                                             "|fields": "[\n    {\n        'name': 'invhist_transfer_item_id',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_qty',\n        'type': 'int'\n    },\n    {\n        'name': 'invhist_transfer_item_line',\n        'type': 'int'\n    }\n]",
961                                             "|xns": "Roo.data"
962                                         }
963                                     ]
964                                 },
965                                 {
966                                     "*prop": "colModel[]",
967                                     "dataIndex": "item_number",
968                                     "header": "Item#",
969                                     "width": 120,
970                                     "xtype": "ColumnModel",
971                                     "|renderer": "function(v) { return String.format('{0}', v ? v : ''); }",
972                                     "|xns": "Roo.grid"
973                                 },
974                                 {
975                                     "*prop": "colModel[]",
976                                     "dataIndex": "transfered_qty",
977                                     "header": "Transfered",
978                                     "width": 100,
979                                     "xtype": "ColumnModel",
980                                     "|renderer": "function(v,x,r) \n{ \n    if(v && r.data.transfered_qty * 1 != r.data.expected_qty * 1){\n        return String.format('<span style=\"color:red\">{0}</span>', v); \n    }\n    return String.format('{0}', v ? v : 0);  \n}",
981                                     "|xns": "Roo.grid"
982                                 },
983                                 {
984                                     "*prop": "colModel[]",
985                                     "dataIndex": "expected_qty",
986                                     "header": "Expected",
987                                     "width": 100,
988                                     "xtype": "ColumnModel",
989                                     "|renderer": "function(v,x,r) \n{ \n    \n    if(v && r.data.transfered_qty * 1 != r.data.expected_qty * 1){\n        return String.format('<span style=\"color:red\">{0}</span>', v); \n    }\n    return String.format('{0}', v ? v : 0); \n}",
990                                     "|xns": "Roo.grid"
991                                 }
992                             ]
993                         }
994                     ]
995                 },
996                 {
997                     "listeners": {
998                         "click": "function (_self, e)\n{\n   \n    var rn =      _this.grid.ds.getCount();\n    var tid = 1 * _this.form.findField('invhist_transfer_id').getValue();\n    var addRow = function(r) {\n        if (r.itemsite_qty * 1 < 1) {\n            return;\n        }\n        \n        var nr = _this.grid.ds.reader.newRow({\n            invhist_transfer_item_line : rn + 1,\n            item_id : r.itemsite_item_id,    \n            invhist_transfer_item_itemsite_id : r.itemsite_id,    \n            item_number : r.itemsite_item_id_item_number,\n            item_descrip1 : r.itemsite_item_id_item_descrip1,\n            invhist_transfer_item_qty : r.itemsite_qty,\n            item_availqty : 0,\n            avail_at_location : '',\n            invhist_transfer_item_transfer_id : tid,\n            invhist_transfer_item_unit_price : r.unit_price,\n            invhist_transfer_item_unit_price_default : r.unit_price,\n        });\n        _this.grid.ds.insert(rn++, nr); \n    \n    };\n   \n    Pman.Dialog.Image.show(\n       {\n            _url : baseURL + '/Xtuple/Import/Transfer'\n        \n       },\n       function (r) {\n            Roo.log(r);\n            Roo.each(r.items, addRow);\n            \n            if (typeof(r.Date) !='undefined') {\n                _this.form.findField('invhist_transfer_transdate').setValue( Date.parseDate((r.Date) ? r.Date : (new Date()).format('Y-m-d'), \"Y-m-d\"));\n            }\n            if (typeof(r.ArrivalDate) !='undefined') {            \n                _this.form.findField('invhist_transfer_arrivaldate').setValue(Date.parseDate((r.ArrivalDate) ? r.ArrivalDate : (new Date()).format('Y-m-d'), \"Y-m-d\"));\n            }\n            if(r.invhist_transfer_from){\n                _this.fromLocation.setValue(r.invhist_transfer_from);\n                _this.fromLocation.el.dom.value = r.invhist_transfer_from_location_name;\n            }\n            if(r.invhist_transfer_to){\n                _this.toLocation.setValue(r.invhist_transfer_to);\n                _this.toLocation.el.dom.value = r.invhist_transfer_to_location_name;\n            }\n            \n            if(r.isInter == 1){\n                _this.toLocation._is_internalcompany = true;\n            }\n            _this.grid.setColumns();\r\n       }\n   );\n}",
999                         "render": "function (_self)\n{\n    _this.uploadBtn = _self;\n}"
1000                     },
1001                     "*prop": "buttons[]",
1002                     "text": "Upload (Excel)",
1003                     "xtype": "Button",
1004                     "|xns": "Roo"
1005                 },
1006                 {
1007                     "listeners": {
1008                         "click": "function (_self, e)\n{\n\n   new Pman.Download({\n        url : baseURL + '/Xtuple/Roo/invhist_transfer',\n        method : 'GET',\n        timeout : 90000,\n        params : {\n            _roo_office : _this.form.findField('_roo_office').getValue(),\n           _download : _this.data.invhist_transfer_id \n             \n        }\n    });\n    \n    \n\n}"
1009                     },
1010                     "*prop": "buttons[]",
1011                     "text": "Download (Excel)",
1012                     "xtype": "Button",
1013                     "|xns": "Roo"
1014                 },
1015                 {
1016                     "listeners": {
1017                         "click": "function (_self, e)\n{\n    _this.grid.stopEditing();\n    if (_this.data.invhist_transfer_posted || _this.data.invhist_transfer_void) {\n        _this.dialog.hide();\n        return;\n    }\n    \n    if (_this.data.createFromRev) {\n        Roo.MessageBox.alert(\"Warning\", \"A draft item reciept has been created - please void it if it is not needed\");\n        _this.dialog.hide();        \n        return;\n    }\n    \n    \n\n    Roo.MessageBox.confirm(\"Confirm\", \"Are you sure want to cancel, all changes will be lost\", function(r) {\n    \n        if (r !='yes') {\n            return;\n        }\n        _this.dialog.hide();\n    \n   })\n    \n    \n\n}"
1018                     },
1019                     "*prop": "buttons[]",
1020                     "text": "Cancel",
1021                     "xtype": "Button",
1022                     "|xns": "Roo"
1023                 },
1024                 {
1025                     "listeners": {
1026                         "click": "function (_self, e)\n{\n    // do some checks?\n    _this.grid.stopEditing();\n    var ar = []; \n    var err = false;\n    _this.grid.ds.each(function (r) {\n        var missingqty = r.data.invhist_transfer_item_qty < 1;\n        var missingsku = r.data.invhist_transfer_item_itemsite_id < 1;\n        if (missingsku && missingqty) {\n            return;\n        }\n        \n    \n        if (missingqty) {\n            err = \"Missing Quantity on line : \" + r.data.invhist_transfer_item_line;\n        }\n        if (missingsku) {\n           err = \"Missing SKU on line : \" + r.data.invhist_transfer_item_line;\n        }\n        ar.push({\n            id: r.data.invhist_transfer_item_id,\n            itemsite_id : r.data.invhist_transfer_item_itemsite_id,\n            line:  r.data.invhist_transfer_item_line,\n            qty: r.data.invhist_transfer_item_qty,\n            price : r.data.invhist_transfer_item_unit_price\n        });\n        \n     });\n     if (err) { \n        Roo.MessageBox.alert(\"Error\", err);\n        return;\n     }\n     if (!ar.length) {\n       Roo.MessageBox.alert(\"Error\", \"Nothing listed to transfer\");\n        return;\n     }\n     _this.form.findField('transfer_items').setValue(  Roo.encode(ar));\n    \n    var arrivaldate = _this.form.findField('invhist_transfer_arrivaldate').getValue();\n    var transferprice = _this.form.findField('invhist_transfer_price').getValue();\n    \n    if(_this.toLocation._is_internalcompany && !arrivaldate){\n        Roo.MessageBox.alert(\"Error\", \"Arrival date must be filled in\");\n        return;\n    }\n    if(_this.toLocation._is_internalcompany && !transferprice.length){\n        Roo.MessageBox.alert(\"Error\", \"For inter company transfer a price must be set\");\n        return;\n    }\n    if(!arrivaldate){\n        _this.form.findField('invhist_transfer_arrivaldate').setValue(_this.form.findField('invhist_transfer_transdate').getValue());\n    }\n    _this.form.doAction(\"submit\");\n    \n\n\n\n}",
1027                         "render": "function (_self)\n{\n    _this.saveBtn = _self;\n}"
1028                     },
1029                     "*prop": "buttons[]",
1030                     "text": "Save",
1031                     "xtype": "Button",
1032                     "|xns": "Roo"
1033                 }
1034             ]
1035         }
1036     ],
1037     "permname": "",
1038     "modOrder": "001"
1039 }