{ "id": "roo-file-360", "name": "Pman.Tab.XtupleAdjustment", "parent": "Pman.Tab.XtupleAdjustmentTab", "title": "Pman.Tab.XtupleAdjustment", "path": "/home/alan/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleAdjustment.bjs", "items": [ { "listeners": { "|activate": "function() {\n _this.panel = this;\n if (_this.grid) {\n _this.grid.footer.onClick('first');\n }\n}" }, "background": true, "fitContainer": true, "fitToframe": true, "region": "center", "tableName": "invadj", "title": "Inventory Adjustments", "xtype": "GridPanel", "|xns": "Roo", "items": [ { "listeners": { "|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}", "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}", "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}", "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}", "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}" }, "*prop": "grid", "autoExpandColumn": "invadj_comments", "clicksToEdit": 1, "loadMask": true, "xtype": "EditorGrid", "|xns": "Roo.grid", "items": [ { "listeners": { "tabend": "function (eventdata)\n{\n _this.addBtn.fireEvent('click', this); \n\n}" }, "*prop": "sm", "xtype": "CellSelectionModel", "|xns": "Roo.grid" }, { "listeners": { "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}", "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}" }, "*prop": "dataSource", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ field : 'invadj_id', direction: 'DESC' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|url": "baseURL + '/Roo/invadj.php'", "|xns": "Roo.data" }, { "|xns": "Roo.data", "xtype": "JsonReader", "totalProperty": "total", "root": "data", "*prop": "reader", "id": "id", "|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]" } ] }, { "*prop": "footer", "xtype": "PagingToolbar", "pageSize": 25, "displayInfo": true, "displayMsg": "Displaying invadj{0} - {1} of {2}", "emptyMsg": "No invadj found", "|xns": "Roo" }, { "*prop": "toolbar", "xtype": "Toolbar", "|xns": "Roo", "items": [ { "listeners": { "render": "function (_self)\n{\n _this.locationCombo = _self;\n}", "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}" }, "allowBlank": true, "displayField": "location_name", "editable": true, "emptyText": "Select location", "fieldLabel": "location", "forceSelection": true, "hiddenName": "invadj_location_id", "listWidth": 400, "loadingText": "Searching...", "minChars": 2, "name": "invadj_location_id_location_name", "pageSize": 100, "qtip": "Select location", "queryParam": "query[location_name]", "selectOnFocus": true, "tpl": "
{location_name}
", "triggerAction": "all", "typeAhead": false, "valueField": "location_id", "width": 150, "xtype": "ComboBox", "|xns": "Roo.form", "items": [ { "listeners": { "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" }, "*prop": "store", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ direction : 'ASC', field: 'location_name' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|xns": "Roo.data", "|url": "baseURL + '/Roo/location.php'" }, { "*prop": "reader", "xtype": "JsonReader", "|xns": "Roo.data", "id": "id", "root": "data", "totalProperty": "total", "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]" } ] } ] }, { "listeners": { "render": "function (_self)\n{\n _this.itemCombo = _self;\n}", "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}" }, "allowBlank": true, "displayField": "itemsite_item_id_item_number", "editable": true, "emptyText": "Select itemsite", "fieldLabel": "itemsite", "forceSelection": true, "hiddenName": "invadj_itemsite_id", "listWidth": 400, "loadingText": "Searching...", "minChars": 2, "name": "invadj_itemsite_id_item_number", "pageSize": 20, "qtip": "Select itemsite", "queryParam": "query[number]", "selectOnFocus": true, "tpl": "
{itemsite_item_id_item_number}
", "triggerAction": "all", "typeAhead": false, "valueField": "itemsite_id", "width": 150, "xtype": "ComboBox", "|xns": "Roo.form", "items": [ { "listeners": { "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" }, "*prop": "store", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|xns": "Roo.data", "|url": "baseURL + '/Roo/itemsite.php'" }, { "*prop": "reader", "xtype": "JsonReader", "|xns": "Roo.data", "id": "id", "root": "data", "totalProperty": "total", "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"itemsite_abcclass\",\"type\":\"string\"}]" } ] } ] }, { "listeners": { "render": "function (_self)\n{\n _this.status = _self;\n}", "select": "function (combo, record, index)\n{\n Roo.log('select');\n _this.grid.footer.onClick('first');\n}" }, "allowBlank": false, "displayField": "fname", "editable": false, "fieldLabel": "Status", "hiddenName": "cm_status", "listWidth": 200, "mode": "local", "name": "cm_status_name", "triggerAction": "all", "value": "ALL-NOGROUP", "valueField": "ftype", "width": 150, "xtype": "ComboBox", "|xns": "Roo.form", "items": [ { "*prop": "store", "xtype": "SimpleStore", "|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", "|fields": "[ 'ftype', 'fname']", "|xns": "Roo.data" } ] }, { "listeners": { "specialkey": "function (_self, e)\n{\n _this.grid.footer.onClick('first');\n}", "render": "function (_self)\n{\n _this.search = _self;\n}" }, "width": 100, "xtype": "TextField", "|xns": "Roo.form" }, { "listeners": { "|click": "function (_self, e)\n{\n_this.grid.footer.onClick('first');\n}" }, "cls": "x-btn-icon", "xtype": "Button", "|icon": "rootURL + '/Pman/templates/images/search.gif'", "|xns": "Roo.Toolbar" }, { "listeners": { "|click": "function (_self, e)\n{\n _this.locationCombo.reset();\n _this.itemCombo.reset();\n \n _this.grid.footer.onClick('first');\n}" }, "cls": "x-btn-icon", "xtype": "Button", "|icon": "rootURL + '/Pman/templates/images/edit-clear.gif'", "|xns": "Roo.Toolbar" }, { "|xns": "Roo.Toolbar", "xtype": "Fill" }, { "listeners": { "click": "function ()\n{ \n new Pman.Download({\n grid : _this.grid\n });\n \n}" }, "cls": "x-btn-text-icon", "text": "Download Excel", "xtype": "Button", "|icon": "rootURL + '/Pman/templates/images/spreadsheet.gif'", "|xns": "Roo.Toolbar" }, { "listeners": { "|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", "render": "function (_self)\n{\n _this.addBtn = _self;\n}" }, "cls": "x-btn-text-icon", "text": "Add", "xtype": "Button", "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", "|xns": "Roo.Toolbar" }, { "listeners": { "|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 " }, "cls": "x-btn-text-icon", "text": "Void", "xtype": "Button", "|icon": "rootURL + '/Pman/templates/images/trash.gif'", "|xns": "Roo.Toolbar" }, { "listeners": { "|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 " }, "cls": "x-btn-text-icon", "text": "Delete", "xtype": "Button", "|icon": "rootURL + '/Pman/templates/images/trash.gif'", "|xns": "Roo.Toolbar" } ] }, { "*prop": "colModel[]", "dataIndex": "invadj_id", "header": "Ref#", "sortable": true, "width": 50, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "invadj_transdate", "header": "Date", "sortable": true, "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", "|xns": "Roo.grid", "items": [ { "|xns": "Roo.grid", "xtype": "GridEditor", "*prop": "editor", "items": [ { "*prop": "field", "format": "Y-m-d", "useIso": true, "xtype": "DateField", "|xns": "Roo.form" } ] } ] }, { "*prop": "colModel[]", "dataIndex": "invadj_location_id", "header": "Location", "width": 150, "xtype": "ColumnModel", "|renderer": "function(v,x,r) { \n\n return String.format('{0}', \n r.data.invadj_location_id_location_name\n ); \n }", "|xns": "Roo.grid", "items": [ { "|xns": "Roo.grid", "xtype": "GridEditor", "*prop": "editor", "items": [ { "*prop": "field", "allowBlank": false, "displayField": "location_name", "editable": true, "emptyText": "Select location", "fieldLabel": "location", "forceSelection": true, "hiddenName": "invadj_location_id", "listWidth": 400, "loadingText": "Searching...", "minChars": 2, "name": "invadj_location_id_location_name", "pageSize": 200, "qtip": "Select location", "queryParam": "query[location_name]", "selectOnFocus": true, "tpl": "
{location_name}
", "triggerAction": "all", "typeAhead": false, "valueField": "location_id", "width": 300, "xtype": "ComboBox", "|xns": "Roo.form", "items": [ { "listeners": { "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" }, "*prop": "store", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ direction : 'ASC', field: 'location_name' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|xns": "Roo.data", "|url": "baseURL + '/Roo/location.php'" }, { "*prop": "reader", "xtype": "JsonReader", "|xns": "Roo.data", "id": "id", "root": "data", "totalProperty": "total", "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"location_name\",\"type\":\"string\"}]" } ] } ] } ] } ] }, { "*prop": "colModel[]", "dataIndex": "invadj_itemsite_id_item_number", "header": "Item Number", "hidden": true, "sortable": true, "width": 50, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "invadj_itemsite_id", "header": "Item", "width": 100, "xtype": "ColumnModel", "|renderer": "function(v,x,r) { return String.format('{0}', r.data.invadj_itemsite_id_item_number); }", "|xns": "Roo.grid", "items": [ { "|xns": "Roo.grid", "xtype": "GridEditor", "*prop": "editor", "items": [ { "*prop": "field", "allowBlank": false, "displayField": "itemsite_item_id_item_number", "editable": true, "emptyText": "Select itemsite", "fieldLabel": "itemsite", "forceSelection": true, "hiddenName": "invadj_itemsite_id", "listWidth": 400, "loadingText": "Searching...", "minChars": 2, "name": "invadj_itemsite_id_item_number", "pageSize": 20, "qtip": "Select itemsite", "queryParam": "query[number]", "selectOnFocus": true, "tpl": "
{itemsite_item_id_item_number}
", "triggerAction": "all", "typeAhead": false, "valueField": "itemsite_id", "width": 300, "xtype": "ComboBox", "|xns": "Roo.form", "items": [ { "listeners": { "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n" }, "*prop": "store", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ direction : 'ASC', field: 'itemsite_item_id_item_number' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|xns": "Roo.data", "|url": "baseURL + '/Roo/itemsite.php'" }, { "*prop": "reader", "xtype": "JsonReader", "|xns": "Roo.data", "id": "id", "root": "data", "totalProperty": "total", "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"itemsite_abcclass\",\"type\":\"string\"}]" } ] } ] } ] } ] }, { "*prop": "colModel[]", "align": "right", "dataIndex": "invadj_qty_by", "header": "Adjust By #", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid", "items": [ { "|xns": "Roo.grid", "xtype": "GridEditor", "*prop": "editor", "items": [ { "*prop": "field", "allowDecimals": false, "cls": "align-right", "xtype": "NumberField", "|xns": "Roo.form" } ] } ] }, { "*prop": "colModel[]", "dataIndex": "invadj_comments", "header": "Comments", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v,x,r) {\n return String.format(r.data.invfifo_void * 1 > 0 ? '{0}' : '{0}', v); \n }\n ", "|xns": "Roo.grid", "items": [ { "|xns": "Roo.grid", "xtype": "GridEditor", "*prop": "editor", "items": [ { "|xns": "Roo.form", "xtype": "TextField", "*prop": "field" } ] } ] }, { "*prop": "colModel[]", "dataIndex": "invadj_posted", "header": "Posted", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { \n var state = v * 1 > 0 ? '-checked' : '';\n\n return '';\n \n }", "|xns": "Roo.grid" } ] } ] } ], "permname": "", "modOrder": "100" }