{ "id": "roo-file-367", "name": "Pman.Tab.XtupleExpenses", "parent": "Pman.Tab.XtupleSales", "title": "Pman.Tab.XtupleExpenses", "path": "/home/alan/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleExpenses.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": "expense", "title": "Expenses", "xtype": "GridPanel", "|xns": "Roo", "items": [ { "listeners": { "|render": "function() \n{\n _this.grid = this; \n _this.dialog = Pman.Dialog.XtupleExpenses;\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}", "|rowdblclick": "function (_self, rowIndex, e)\n{\n if (!_this.dialog) return;\n _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {\n _this.grid.footer.onClick('first');\n }); \n}\n" }, "*prop": "grid", "autoExpandColumn": "expense_memo", "loadMask": true, "xtype": "Grid", "|xns": "Roo.grid", "items": [ { "listeners": { "beforeload": "function (_self, options)\n{\n options.params._applyPerms = 1;\n}" }, "*prop": "dataSource", "remoteSort": true, "xtype": "Store", "|sortInfo": "{ field : 'expense_id', direction: 'DESC' }", "|xns": "Roo.data", "items": [ { "*prop": "proxy", "xtype": "HttpProxy", "method": "GET", "|url": "baseURL + '/Roo/expense.php'", "|xns": "Roo.data" }, { "|xns": "Roo.data", "xtype": "JsonReader", "totalProperty": "total", "root": "data", "*prop": "reader", "id": "id", "|fields": "[\n {\n 'name': 'expense_id',\n 'type': 'int'\n },\n {\n 'name': 'expense_accnt_id',\n 'type': 'int'\n },\n {\n 'name': 'expense_emp_id',\n 'type': 'int'\n },\n {\n 'name': 'expense_number',\n 'type': 'string'\n },\n {\n 'name': 'expense_trandate',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'expense_created',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'expense_modified',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'expense_duedate',\n 'type': 'date',\n 'dateFormat': 'Y-m-d'\n },\n {\n 'name': 'expense_memo',\n 'type': 'string'\n },\n {\n 'name': 'expense_status',\n 'type': 'string'\n },\n {\n 'name': 'expense_advance',\n 'type': 'float'\n },\n {\n 'name': 'expense_amount',\n 'type': 'float'\n },\n {\n 'name': 'expense_tax',\n 'type': 'float'\n },\n {\n 'name': 'expense_total',\n 'type': 'float'\n }\n]" } ] }, { "*prop": "footer", "xtype": "PagingToolbar", "pageSize": 25, "displayInfo": true, "displayMsg": "Displaying expense{0} - {1} of {2}", "emptyMsg": "No expense found", "|xns": "Roo" }, { "*prop": "toolbar", "xtype": "Toolbar", "|xns": "Roo", "items": [ { "listeners": { "|click": "function()\n{\n if (!_this.dialog) return;\n _this.dialog.show( { \n expense_id : 0,\n expense_emp_id_emp_name : Pman.Login.authUser.name\n } , function() {\n _this.grid.footer.onClick('first');\n }); \n}\n" }, "cls": "x-btn-text-icon", "text": "Add", "xtype": "Button", "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'", "|xns": "Roo.Toolbar" }, { "|xns": "Roo.Toolbar", "xtype": "Fill" }, { "listeners": { "|click": "function()\n{\n var rec = _this.grid.selModel.getSelected();\n if (!rec) {\n Roo.MessageBox.alert(\"Error\", \"Select a line to delete\");\n return;\n }\n if (['Draft', ''].indexOf(rec.data.expense_status) < 0) {\n Roo.MessageBox.alert(\"Error\", \"You can only delete draft entries\");\n return;\n }\n \n Roo.MessageBox.confirm(\"Confirm\", \"Are you sure you want to delete that?\", function(r) {\n if (r!='yes') {\n return;\n }\n \n \n new Pman.Request({\n mask : 'Deleting',\n url : baseURL + '/Roo/expense',\n method : 'POST',\n params : {\n _delete : rec.data.expense_id\n },\n success : function()\n {\n _this.grid.ds.remove(rec); \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": "expense_emp_id_emp_name", "header": "Employee", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "expense_number", "header": "no#", "width": 70, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "expense_trandate", "header": "Post Date", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "expense_duedate", "header": "Due Date", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "expense_memo", "header": "Desc", "width": 200, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "dataIndex": "expense_status", "header": "Status", "width": 100, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', v); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "align": "right", "dataIndex": "expense_advance", "header": "Advance", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "align": "right", "dataIndex": "expense_amount", "header": "Amount", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "align": "right", "dataIndex": "expense_tax", "header": "Tax", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }", "|xns": "Roo.grid" }, { "*prop": "colModel[]", "align": "right", "dataIndex": "expense_total", "header": "Total", "width": 75, "xtype": "ColumnModel", "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }", "|xns": "Roo.grid" } ] } ] } ], "permname": "", "modOrder": "800" }