1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Tab.XtupleMetric = new Roo.XComponent({
6 part : ["Xtuple","Metric"],
7 order : '900-Pman.Tab.XtupleMetric',
10 name : "unnamed module",
21 activate : function() {
24 _this.grid.footer.onClick('first');
41 if (_this.panel.active) {
42 this.footer.onClick('first');
45 beforeedit : function (e)
47 var r = e.record.data.poitem_qty_received * 1;
50 Roo.MessageBox.alert("Error", "This item has been receipted");
54 var status = _this.form.findField('pohead_status').getValue();
57 Roo.MessageBox.alert("Error", "This PO has been closed");
64 autoExpandColumn : 'metric_value',
71 beforeload : function (_self, o){
72 o.params = o.params || {};
77 sortInfo : { field : 'metric_name', direction: 'ASC' },
83 url : baseURL + '/Xtuple/Roo/Metric.php'
90 totalProperty : 'total',
97 'name': 'metric_name',
101 'name': 'metric_value',
105 'name': 'metric_module',
121 var status = _this.form.findField('pohead_status').getValue();
124 Roo.MessageBox.alert("Error", "This PO has been closed");
128 var ct = _this.grid.ds.getCount();
130 var last = ct ? _this.grid.ds.getAt(ct-1).data.poitem_linenumber * 1 + 1 : 1;
132 var dt = _this.form.findField('pohead_orderdate').getValue();
134 var nr = _this.grid.ds.reader.newRow({
136 poitem_linenumber : last,
140 poitem_qty_ordered : 1,
144 _this.grid.stopEditing();
145 _this.grid.ds.insert(_this.grid.ds.getCount(), nr);
146 _this.grid.startEditing(_this.grid.ds.getCount()-1, 1);
149 cls : 'x-btn-text-icon',
151 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
159 var status = _this.form.findField('pohead_status').getValue();
162 Roo.MessageBox.alert("Error", "This PO has been closed");
166 var cs = _this.grid.getSelectionModel().getSelectedCell();
168 Roo.MessageBox.alert("Error", "Select a cell");
171 _this.grid.stopEditing();
172 var r = _this.grid.ds.getAt(cs[0]);
174 if(r.data.poitem_qty_received * 1 > 0){
175 Roo.MessageBox.alert("Error", "This item has been receipted");
180 _this.grid.ds.remove(r);
184 cls : 'x-btn-text-icon',
186 icon : rootURL + '/Pman/templates/images/trash.gif'
191 xtype: 'PagingToolbar',
194 emptyMsg : "No Metric found",
199 xtype: 'ColumnModel',
201 dataIndex : 'metric_id',
204 renderer : function(v) { return String.format('{0}', v); }
207 xtype: 'ColumnModel',
209 dataIndex : 'metric_name',
212 renderer : function(v) { return String.format('{0}', v); }
215 xtype: 'ColumnModel',
217 dataIndex : 'metric_value',
220 renderer : function(v) { return String.format('{0}', v); }
223 xtype: 'ColumnModel',
225 dataIndex : 'metric_module',
228 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); }
231 xtype: 'ColumnModel',
234 dataIndex : 'poitem_qty_ordered',
237 renderer : function(v) { return String.format('{0}', v); },
242 xtype: 'NumberField',
244 allowDecimals : false,
245 decimalPrecision : 0,
247 style : 'text-align:right'
252 xtype: 'ColumnModel',
255 dataIndex : 'poitem_qty_received',
258 renderer : function(v,x,r) {
259 return String.format(
260 r.data.poitem_qty_ordered != (v-r.data.poitem_qty_returned) ? '<span style="color:red">{0}</span>': '{0}',
261 v - r.data.poitem_qty_returned);
265 xtype: 'ColumnModel',
268 dataIndex : 'poitem_qty_vouchered',
269 header : 'Vouchered',
271 renderer : function(v,x,r) {
272 return String.format(
273 r.data.poitem_qty_ordered != v ? '<span style="color:red">{0}</span>': '{0}',
278 xtype: 'ColumnModel',
281 dataIndex : 'poitem_unitprice',
282 header : 'Unit price',
284 renderer : function(v) { return String.format('{0}', (v || v == 0) ? parseFloat(v).toFixed(3) : ''); },
289 xtype: 'NumberField',
292 allowDecimals : false,
293 decimalPrecision : 0,
295 style : 'text-align:right'