Fix #7123 - getting abra ready to test
[Pman.Xtuple] / Pman.Tab.XtupleExpenses.bjs
1 {
2     "id": "roo-file-367",
3     "name": "Pman.Tab.XtupleExpenses",
4     "parent": "Pman.Tab.XtupleSales",
5     "title": "Pman.Tab.XtupleExpenses",
6     "path": "/home/alan/gitlive/web.xtuple/Pman/Xtuple/Pman.Tab.XtupleExpenses.bjs",
7     "items": [
8         {
9             "listeners": {
10                 "|activate": "function() {\n    _this.panel = this;\n    if (_this.grid) {\n        _this.grid.footer.onClick('first');\n    }\n}"
11             },
12             "background": true,
13             "fitContainer": true,
14             "fitToframe": true,
15             "region": "center",
16             "tableName": "expense",
17             "title": "Expenses",
18             "xtype": "GridPanel",
19             "|xns": "Roo",
20             "items": [
21                 {
22                     "listeners": {
23                         "|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}",
24                         "|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"
25                     },
26                     "*prop": "grid",
27                     "autoExpandColumn": "expense_memo",
28                     "loadMask": true,
29                     "xtype": "Grid",
30                     "|xns": "Roo.grid",
31                     "items": [
32                         {
33                             "listeners": {
34                                 "beforeload": "function (_self, options)\n{\n    options.params._applyPerms = 1;\n}"
35                             },
36                             "*prop": "dataSource",
37                             "remoteSort": true,
38                             "xtype": "Store",
39                             "|sortInfo": "{ field : 'expense_id', direction: 'DESC' }",
40                             "|xns": "Roo.data",
41                             "items": [
42                                 {
43                                     "*prop": "proxy",
44                                     "xtype": "HttpProxy",
45                                     "method": "GET",
46                                     "|url": "baseURL + '/Roo/expense.php'",
47                                     "|xns": "Roo.data"
48                                 },
49                                 {
50                                     "|xns": "Roo.data",
51                                     "xtype": "JsonReader",
52                                     "totalProperty": "total",
53                                     "root": "data",
54                                     "*prop": "reader",
55                                     "id": "id",
56                                     "|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]"
57                                 }
58                             ]
59                         },
60                         {
61                             "*prop": "footer",
62                             "xtype": "PagingToolbar",
63                             "pageSize": 25,
64                             "displayInfo": true,
65                             "displayMsg": "Displaying expense{0} - {1} of {2}",
66                             "emptyMsg": "No expense found",
67                             "|xns": "Roo"
68                         },
69                         {
70                             "*prop": "toolbar",
71                             "xtype": "Toolbar",
72                             "|xns": "Roo",
73                             "items": [
74                                 {
75                                     "listeners": {
76                                         "|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"
77                                     },
78                                     "cls": "x-btn-text-icon",
79                                     "text": "Add",
80                                     "xtype": "Button",
81                                     "|icon": "Roo.rootURL + 'images/default/dd/drop-add.gif'",
82                                     "|xns": "Roo.Toolbar"
83                                 },
84                                 {
85                                     "|xns": "Roo.Toolbar",
86                                     "xtype": "Fill"
87                                 },
88                                 {
89                                     "listeners": {
90                                         "|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        "
91                                     },
92                                     "cls": "x-btn-text-icon",
93                                     "text": "Delete",
94                                     "xtype": "Button",
95                                     "|icon": "rootURL + '/Pman/templates/images/trash.gif'",
96                                     "|xns": "Roo.Toolbar"
97                                 }
98                             ]
99                         },
100                         {
101                             "*prop": "colModel[]",
102                             "dataIndex": "expense_emp_id_emp_name",
103                             "header": "Employee",
104                             "width": 75,
105                             "xtype": "ColumnModel",
106                             "|renderer": "function(v) { return String.format('{0}', v); }",
107                             "|xns": "Roo.grid"
108                         },
109                         {
110                             "*prop": "colModel[]",
111                             "dataIndex": "expense_number",
112                             "header": "no#",
113                             "width": 70,
114                             "xtype": "ColumnModel",
115                             "|renderer": "function(v) { return String.format('{0}', v); }",
116                             "|xns": "Roo.grid"
117                         },
118                         {
119                             "*prop": "colModel[]",
120                             "dataIndex": "expense_trandate",
121                             "header": "Post Date",
122                             "width": 75,
123                             "xtype": "ColumnModel",
124                             "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
125                             "|xns": "Roo.grid"
126                         },
127                         {
128                             "*prop": "colModel[]",
129                             "dataIndex": "expense_duedate",
130                             "header": "Due Date",
131                             "width": 75,
132                             "xtype": "ColumnModel",
133                             "|renderer": "function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); }",
134                             "|xns": "Roo.grid"
135                         },
136                         {
137                             "*prop": "colModel[]",
138                             "dataIndex": "expense_memo",
139                             "header": "Desc",
140                             "width": 200,
141                             "xtype": "ColumnModel",
142                             "|renderer": "function(v) { return String.format('{0}', v); }",
143                             "|xns": "Roo.grid"
144                         },
145                         {
146                             "*prop": "colModel[]",
147                             "dataIndex": "expense_status",
148                             "header": "Status",
149                             "width": 100,
150                             "xtype": "ColumnModel",
151                             "|renderer": "function(v) { return String.format('{0}', v); }",
152                             "|xns": "Roo.grid"
153                         },
154                         {
155                             "*prop": "colModel[]",
156                             "align": "right",
157                             "dataIndex": "expense_advance",
158                             "header": "Advance",
159                             "width": 75,
160                             "xtype": "ColumnModel",
161                             "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }",
162                             "|xns": "Roo.grid"
163                         },
164                         {
165                             "*prop": "colModel[]",
166                             "align": "right",
167                             "dataIndex": "expense_amount",
168                             "header": "Amount",
169                             "width": 75,
170                             "xtype": "ColumnModel",
171                             "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }",
172                             "|xns": "Roo.grid"
173                         },
174                         {
175                             "*prop": "colModel[]",
176                             "align": "right",
177                             "dataIndex": "expense_tax",
178                             "header": "Tax",
179                             "width": 75,
180                             "xtype": "ColumnModel",
181                             "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }",
182                             "|xns": "Roo.grid"
183                         },
184                         {
185                             "*prop": "colModel[]",
186                             "align": "right",
187                             "dataIndex": "expense_total",
188                             "header": "Total",
189                             "width": 75,
190                             "xtype": "ColumnModel",
191                             "|renderer": "function(v) { return String.format('{0}', (1*v).toFixed(2)); }",
192                             "|xns": "Roo.grid"
193                         }
194                     ]
195                 }
196             ]
197         }
198     ],
199     "permname": "",
200     "modOrder": "800"
201 }