3 "name": "Pman.Tab.XtupleAdjustment",
4 "parent": "Pman.Tab.XtupleAdjustmentTab",
5 "title": "Pman.Tab.XtupleAdjustment",
6 "path": "/home/alan/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleAdjustment.bjs",
10 "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}"
16 "tableName": "invadj",
17 "title": "Inventory Adjustments",
23 "|render": "function() \n{\n _this.grid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}",
24 "afteredit": "function (e)\n{\n if (e.record.data.invadj_posted) {\n return;\n }\n var req = [ 'invadj_transdate', 'invadj_location_id', 'invadj_itemsite_id', \n 'invadj_qty_by', 'invadj_comments' ];\n var valid = true;\n Roo.each(req, function(c) {\n var val = '' + e.record.get(c);\n if (!val.length) {\n valid = false;\n }\n });\n if (!valid) {\n return;\n }\n e.record.commit();\n \n \n \n}",
25 "validateedit": "function (e)\n{\n switch(e.field) {\n case 'invadj_transdate':\n // e.record.setValue('invadj_transdate', Date.parseDate(e.value, 'Y-m-d'));\n e.value = Date.parseDate(e.value, 'Y-m-d');\n break;\n }\n}",
26 "beforeedit": "function (e)\n{\n Roo.log(e.record);\n if (e.record.data.invadj_posted) {\n \n e.cancel = true;\n return false;\n }\n}",
27 "cellclick": "function (_self, rowIndex, columnIndex, e)\n{\n var c = _this.grid.colModel.config[columnIndex];\n var di = c.dataIndex;\n if (di != 'invadj_posted') {\n return;\n }\n \n var r = _this.grid.ds.getAt(rowIndex);\n if (r.data.invadj_posted || !r.data.invadj_id) {\n return;\n }\n // attempting to post..\n // validation - done at other end..\n new Pman.Request({\n url : baseURL + '/Roo/Invadj',\n method : 'POST',\n mask : 'Posting',\n params : {\n invadj_id : r.data.invadj_id,\n _post : 1\n },\n success : function(res) {\n r.set('invadj_posted', true);\n if (r.data.invadj_voids_id > 0) {\n _this.grid.ds.each(function(rr) {\n if (rr.data.invadj_id == r.data.invadj_voids_id) {\n rr.set('invadj_voided_by_id', r.data.invadj_id);\n rr.set('invadj_comments', rr.data.invadj_comments);\n }\n });\n \n \n }\n \n \n \n },\n failure : function (res) {\n Roo.log(res);\n Roo.MessageBox.alert(\"Error\",res.errorMsg);\n if (res.errors.trandate) {\n r.set('invadj_transdate', Date.parseDate(res.errors.trandate,'Y-m-d'));\n r.commit();\n }\n \n }\n });\n \n \n \n \n}"
30 "autoExpandColumn": "invadj_comments",
33 "xtype": "EditorGrid",
38 "tabend": "function (eventdata)\n{\n _this.addBtn.fireEvent('click', this); \n\n}"
41 "xtype": "CellSelectionModel",
46 "beforeload": "function (_self, options)\n{\n options.params.invadj_location_id = _this.locationCombo.getValue();\n options.params.invadj_itemsite_id = _this.itemCombo.getValue(); \n switch(_this.status.getValue()) {\n case 'ALL':\n \n break;\n case 'ALL-WITHVOID':\n options.params._show_void = 2; \n break; \n \n case 'VOID':\n options.params._show_void = 1;\n \n break;\n \n case 'POSTED':\n\n options.params.invadj_posted = 1;\n break;\n \n case 'UNPOSTED':\n options.params.invadj_posted = 0;\n options.params._show_void = 2; \n break; \n\n case 'ALL-NOGROUP':\n options.params._hide_group = 1; \n break;\n\n case 'ALL-NOGROUP-WITHVOID':\n options.params._show_void = 2; \n options.params._hide_group = 1; \n break; \n \n case 'VOID-NOGROUP':\n options.params._show_void = 1; \n options.params._hide_group = 1; \n break;\n \n case 'POSTED-NOGROUP':\n options.params.invadj_posted = 1;\n options.params._hide_group = 1; \n break;\n \n case 'UNPOSTED-NOGROUP':\n options.params._hide_group = 1; \n options.params.invadj_posted = 0;\n options.params._show_void = 2; \n break; \n \n \n }\n options.params['query[comment]'] = _this.search.getValue();\n}",
47 "update": "function (_self, record, operation)\n{\n \n Roo.log(operation);\n if (operation != 'commit' || _this.incom) {\n return;\n }\n\n \n var p = Roo.apply({}, record.data);\n \n if (p.invadj_posted) {\n return;\n }\n p.invadj_transdate = record.data.invadj_transdate.format('Y-m-d');\n p.invadj_posted = 0; \n\n _this.incom = true; \n new Pman.Request( {\n url : baseURL + '/Roo/Invadj',\n mask : 'Saving',\n method : 'POST',\n params : p,\n success : function(res) {\n record.set('invadj_id', res.data.invadj_id);\n _this.incom = false;\n },\n failure : function()\n {\n Roo.MessageBox.alert(\"Error\", \"Saving failed\");\n _this.incom = false; \n }\n \n });\n \n \n \n}"
49 "*prop": "dataSource",
52 "|sortInfo": "{ field : 'invadj_id', direction: 'DESC' }",
59 "|url": "baseURL + '/Roo/invadj.php'",
64 "xtype": "JsonReader",
65 "totalProperty": "total",
69 "|fields": "[\n {\n 'name': 'invadj_id',\n 'type': 'int'\n },\n {\n 'name': 'invadj_transdate',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'invadj_location_id',\n 'type': 'int'\n },\n {\n 'name': 'invadj_itemsite_id',\n 'type': 'int'\n },\n {\n 'name': 'invadj_qty_by',\n 'type': 'int'\n },\n {\n 'name': 'invadj_posted',\n 'type': 'int'\n }\n]"
75 "xtype": "PagingToolbar",
78 "displayMsg": "Displaying invadj{0} - {1} of {2}",
79 "emptyMsg": "No invadj found",
89 "render": "function (_self)\n{\n _this.locationCombo = _self;\n}",
90 "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}"
93 "displayField": "location_name",
95 "emptyText": "Select location",
96 "fieldLabel": "location",
97 "forceSelection": true,
98 "hiddenName": "invadj_location_id",
100 "loadingText": "Searching...",
102 "name": "invadj_location_id_location_name",
104 "qtip": "Select location",
105 "queryParam": "query[location_name]",
106 "selectOnFocus": true,
107 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b> </div>",
108 "triggerAction": "all",
110 "valueField": "location_id",
117 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
122 "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
127 "xtype": "HttpProxy",
130 "|url": "baseURL + '/Roo/location.php'"
134 "xtype": "JsonReader",
138 "totalProperty": "total",
139 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
147 "render": "function (_self)\n{\n _this.itemCombo = _self;\n}",
148 "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}"
151 "displayField": "itemsite_item_id_item_number",
153 "emptyText": "Select itemsite",
154 "fieldLabel": "itemsite",
155 "forceSelection": true,
156 "hiddenName": "invadj_itemsite_id",
158 "loadingText": "Searching...",
160 "name": "invadj_itemsite_id_item_number",
162 "qtip": "Select itemsite",
163 "queryParam": "query[number]",
164 "selectOnFocus": true,
165 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{itemsite_item_id_item_number}</b> </div>",
166 "triggerAction": "all",
168 "valueField": "itemsite_id",
175 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
180 "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }",
185 "xtype": "HttpProxy",
188 "|url": "baseURL + '/Roo/itemsite.php'"
192 "xtype": "JsonReader",
196 "totalProperty": "total",
197 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"itemsite_abcclass\",\"type\":\"string\"}]"
205 "render": "function (_self)\n{\n _this.status = _self;\n}",
206 "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}"
209 "displayField": "fname",
211 "fieldLabel": "Status",
212 "hiddenName": "cm_status",
215 "name": "cm_status_name",
216 "triggerAction": "all",
217 "value": "ALL-NOGROUP",
218 "valueField": "ftype",
225 "xtype": "SimpleStore",
226 "|data": "[ \n [ 'ALL-NOGROUP', \"All (not in Group)\"],\n [ 'ALL-NOGROUP WITHVOID', \"All (not in Group) (with Void)\"], \n [ 'UNPOSTED-NOGROUP', \"Unposted only (not in Group)\"] ,\n [ 'POSTED-NOGROUP', \"Posted only (not in Group)\"] ,\n [ 'VOID-NOGROUP' ,\"Void (not in Group)\"],\n [ 'ALL', \"All\"],\n [ 'ALL-WITHVOID', \"All (with Void)\"], \n [ 'UNPOSTED', \"Unposted only\"] ,\n [ 'POSTED', \"Posted only\"] ,\n [ 'VOID', \"Void only\"] \n \n]\n\n",
227 "|fields": "[ 'ftype', 'fname']",
234 "specialkey": "function (_self, e)\n{\n _this.grid.footer.onClick('first');\n}",
235 "render": "function (_self)\n{\n _this.search = _self;\n}"
238 "xtype": "TextField",
243 "|click": "function (_self, e)\n{\n_this.grid.footer.onClick('first');\n}"
247 "|icon": "rootURL + '/Pman/templates/images/search.gif'",
248 "|xns": "Roo.Toolbar"
252 "|click": "function (_self, e)\n{\n _this.locationCombo.reset();\n _this.itemCombo.reset();\n \n _this.grid.footer.onClick('first');\n}"
256 "|icon": "rootURL + '/Pman/templates/images/edit-clear.gif'",
257 "|xns": "Roo.Toolbar"
260 "|xns": "Roo.Toolbar",
265 "click": "function ()\n{ \n new Pman.Download({\n grid : _this.grid\n });\n \n}"
267 "cls": "x-btn-text-icon",
268 "text": "Download Excel",
270 "|icon": "rootURL + '/Pman/templates/images/spreadsheet.gif'",
271 "|xns": "Roo.Toolbar"
275 "|click": "function()\n{\n \n Roo.log(\"add presed\");\n \n // work out last \n var grid = _this.grid;\n \n // uses form defaults or last row value.\n var nr = _this.grid.ds.reader.newRow({\n invadj_id : 0,\n invadj_transdate : (new Date()),\n invadj_location_id : 0,\n invadj_location_id_location_name : '', \n invadj_itemsite_id : 0, \n invadj_itemsite_id_item_number : '', \n invadj_qty_by : '', \n invadj_comments: '', \n invadj_posted: false\n \n });\n grid.stopEditing();\n grid.ds.insert(0, nr); \n grid.startEditing(0, 1); // type..\n\n}\n",
276 "render": "function (_self)\n{\n _this.addBtn = _self;\n}"
278 "cls": "x-btn-text-icon",
281 "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
282 "|xns": "Roo.Toolbar"
286 "|click": "function()\n{\n \n Roo.log(\"add presed\");\n \n var grid = _this.grid;\n var r = grid.selModel.getSelectedCell();\n \n \n if (!r) {\n Roo.MessageBox.alert(\"Error\", \"Select an adjustment\");\n return;\n } \n var rec = grid.ds.getAt(r[0]);\n \n var nrec = Roo.apply({}, rec.data);\n nrec.invadj_qty_by *= -1;\n nrec.invadj_comments = (rec.data.invadj_voids_id * 1 > 1) ? 'Restore of Adjustment #' + rec.data.invadj_voids_id : 'Void of Adjustment #' + rec.data.invadj_id;\n nrec.invadj_posted = 0;\n nrec.invadj_id = 0; \n nrec.invadj_invdetail_id = '';\n nrec.invadj_voids_id = rec.data.invadj_id;\n //nrec.invadj_transdate = rec.data.invadj_transdate.format('Y-m-d');\n \n var nr = _this.grid.ds.reader.newRow(nrec);\n grid.stopEditing();\n grid.ds.insert(r[0], nr); \n (function() { \n grid.ds.getAt(r[0]).commit();\n }).defer(100);\n \n}\n "
288 "cls": "x-btn-text-icon",
291 "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
292 "|xns": "Roo.Toolbar"
296 "|click": "function()\n{\n \n var g = _this.grid;\n var s = g.selModel.getSelectedCell();\n if (!s) {\n Roo.MessageBox.alert(\"Error\", \"Select Adjustment\");\n return;\n }\n var r = g.ds.getAt(s[0]);\n if (r.data.invadj_posted) {\n Roo.MessageBox.alert(\"Error\", \"You can not delete posted adjustments - try voiding them\");\n return;\n }\n new Pman.Request({\n url : baseURL + '/Roo/Invadj',\n method : 'POST',\n params : { _delete : r.data.invadj_id },\n mask : 'Deleteing',\n success : function(res) {\n g.ds.remove(r);\n }\n \n });\n \n \n}\n "
298 "cls": "x-btn-text-icon",
301 "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
302 "|xns": "Roo.Toolbar"
307 "*prop": "colModel[]",
308 "dataIndex": "invadj_id",
312 "xtype": "ColumnModel",
313 "|renderer": "function(v) { return String.format('{0}', v); }",
317 "*prop": "colModel[]",
318 "dataIndex": "invadj_transdate",
322 "xtype": "ColumnModel",
323 "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
328 "xtype": "GridEditor",
335 "xtype": "DateField",
343 "*prop": "colModel[]",
344 "dataIndex": "invadj_location_id",
345 "header": "Location",
347 "xtype": "ColumnModel",
348 "|renderer": "function(v,x,r) { \n\n return String.format('{0}', \n r.data.invadj_location_id_location_name\n ); \n }",
353 "xtype": "GridEditor",
359 "displayField": "location_name",
361 "emptyText": "Select location",
362 "fieldLabel": "location",
363 "forceSelection": true,
364 "hiddenName": "invadj_location_id",
366 "loadingText": "Searching...",
368 "name": "invadj_location_id_location_name",
370 "qtip": "Select location",
371 "queryParam": "query[location_name]",
372 "selectOnFocus": true,
373 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b> </div>",
374 "triggerAction": "all",
376 "valueField": "location_id",
383 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
388 "|sortInfo": "{ direction : 'ASC', field: 'location_name' }",
393 "xtype": "HttpProxy",
396 "|url": "baseURL + '/Roo/location.php'"
400 "xtype": "JsonReader",
404 "totalProperty": "total",
405 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]"
416 "*prop": "colModel[]",
417 "dataIndex": "invadj_itemsite_id_item_number",
418 "header": "Item Number",
422 "xtype": "ColumnModel",
423 "|renderer": "function(v) { return String.format('{0}', v); }",
427 "*prop": "colModel[]",
428 "dataIndex": "invadj_itemsite_id",
431 "xtype": "ColumnModel",
432 "|renderer": "function(v,x,r) { return String.format('{0}', r.data.invadj_itemsite_id_item_number); }",
437 "xtype": "GridEditor",
443 "displayField": "itemsite_item_id_item_number",
445 "emptyText": "Select itemsite",
446 "fieldLabel": "itemsite",
447 "forceSelection": true,
448 "hiddenName": "invadj_itemsite_id",
450 "loadingText": "Searching...",
452 "name": "invadj_itemsite_id_item_number",
454 "qtip": "Select itemsite",
455 "queryParam": "query[number]",
456 "selectOnFocus": true,
457 "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{itemsite_item_id_item_number}</b> </div>",
458 "triggerAction": "all",
460 "valueField": "itemsite_id",
467 "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
472 "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }",
477 "xtype": "HttpProxy",
480 "|url": "baseURL + '/Roo/itemsite.php'"
484 "xtype": "JsonReader",
488 "totalProperty": "total",
489 "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"itemsite_abcclass\",\"type\":\"string\"}]"
500 "*prop": "colModel[]",
502 "dataIndex": "invadj_qty_by",
503 "header": "Adjust By #",
505 "xtype": "ColumnModel",
506 "|renderer": "function(v) { return String.format('{0}', v); }",
511 "xtype": "GridEditor",
516 "allowDecimals": false,
517 "cls": "align-right",
518 "xtype": "NumberField",
526 "*prop": "colModel[]",
527 "dataIndex": "invadj_comments",
528 "header": "Comments",
530 "xtype": "ColumnModel",
531 "|renderer": "function(v,x,r) {\n return String.format(r.data.invfifo_void * 1 > 0 ? '<s style=\"color:#ccc\">{0}</s>' : '{0}', v); \n }\n ",
536 "xtype": "GridEditor",
541 "xtype": "TextField",
549 "*prop": "colModel[]",
550 "dataIndex": "invadj_posted",
553 "xtype": "ColumnModel",
554 "|renderer": "function(v) { \n var state = v * 1 > 0 ? '-checked' : '';\n\n return '<img class=\"x-grid-check-icon' + state + '\" src=\"' + Roo.BLANK_IMAGE_URL + '\"/>';\n \n }",