2 "name" : "Pman.Dialog.XtupleItem",
5 "path" : "/home/edward/gitlive/web.xtuple/Pman/Xtuple/Pman.Dialog.XtupleItem.bjs",
11 "show" : "function (_self)\n{\n _this.dialog.layout.getRegion('center').showPanel(0);\n}"
14 "collapsible" : false,
15 "title" : "Edit / Create item",
16 "xtype" : "LayoutDialog",
24 "alwaysShowTabs" : true,
25 "xtype" : "LayoutRegion",
26 "tabPosition" : "top",
33 "xtype" : "ContentPanel",
38 "|actioncomplete" : "function(_self,action)\n{\n if (action.type == 'setdata') {\n _this.form.findField('item_number').el.dom.readOnly = true;\n _this.form.findField('item_type').disabled = true; \n \n if(_this.data.item_id * 1 > 0){\n \n this.load({ \n method: 'GET', \n params: {\n '_id' : _this.data.item_id,\n '_with_itemsite' : 1,\n '_with_itemcost' : 1,\n '_with_prodcat' : 1 ,\n '_with_salesaccnt' : 1 \n }\n });\n return;\n }\n // if it's new..\n _this.form.findField('item_number').el.dom.readOnly = false;\n _this.form.findField('item_type').disabled = false; \n _this.form.findField('item_salesaccnt').setValue('');\n \n return;\n }\n if (action.type == 'load') {\n _this.form.findField('item_type').showHide();\n return;\n }\n if (action.type =='submit') {\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if (id < 1) {\n \n this.load({ \n method: 'GET', \n params: {\n '_id' : action.result.data.item_id,\n '_with_itemsite' : 1,\n '_with_itemcost' : 1,\n '_with_prodcat' : 1 ,\n '_with_salesaccnt' : 1 \n }\n });\n return;\n }\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset();\n return;\n }\n}\n",
39 "|rendered" : "function (form)\n{\n _this.form= form;\n}\n"
41 "$ url" : "baseURL + '/Roo/item.php'",
43 "style" : "margin:10px;",
50 "xtype" : "TextField",
54 "name" : "item_number"
57 "fieldLabel" : "Description",
58 "xtype" : "TextField",
61 "name" : "item_descrip1"
64 "fieldLabel" : "Description (2)",
65 "xtype" : "TextField",
68 "name" : "item_descrip2"
77 "beforeselect" : "function (combo, record, index)\n{\n (function() { combo.showHide(); }).defer(100);\n}"
80 "triggerAction" : "all",
81 "fieldLabel" : "Type",
82 "displayField" : "fname",
83 "emptyText" : "Select Type",
84 "hiddenName" : "item_type",
85 "valueField" : "ftype",
88 "$ showHide" : "function() {\n\n var it = this.getValue();\n \n var options = [ \n 'item_itemcost_id_itemcost_curr_id',\n 'item_itemcost_id_itemcost_actcost',\n 'item_itemsite_id_itemsite_reorderlevel',\n 'item_itemsite_id_itemsite_leadtime',\n 'item_itemsite_id_itemsite_location_id',\n 'item_itemsite_id_itemsite_loccntrl',\n 'item_itemsite_id_itemsite_stocked',\n 'item_itemsite_id_itemsite_perishable',\n \n 'item_itemsite_id_itemsite_safetystock',\n 'item_itemsite_id_itemsite_controlmethod',\n 'item_itemsite_id_itemsite_plancode_id',\n 'item_itemsite_id_itemsite_costcat_id',\n 'item_itemsite_id_itemsite_active',\n 'item_itemsite_id_itemsite_sold'\n \n ];\n \n var r_req = [ \n 'item_listprice'\n ];\n \n var state = true;\n \n _this.standardCostFieldSet.show();\n _this.itemsiteFieldSet.show();\n _this.form.findField('_update_related').setValue(1);\n \n switch(it) {\n case 'K':\n state = false;\n\n _this.form.findField('item_listprice').allowBlank = false;\n _this.form.findField('item_listprice').actionMode = 'fieldEl';\n _this.form.findField('item_listprice').hideMode = 'display';\n _this.form.findField('item_listprice').show();\n \n break;\n \n case 'R': // refrence\n options = options.concat(r_req);\n state = false;\n _this.standardCostFieldSet.hide();\n break;\n \n case 'P': // purchased..\n options = options.concat(r_req);\n // must have\n break;\n }\n \n Roo.each(options, function(n) {\n var ff = _this.form.findField(n);\n ff.allowBlank = !state;\n ff.actionMode = 'fieldEl';\n ff.hideMode = 'display';\n state ? ff.show() : ff.hide(); \n \n });\n \n \n if(!state){\n _this.standardCostFieldSet.hide();\n _this.itemsiteFieldSet.hide();\n _this.form.findField('_update_related').setValue(0);\n }\n \n \n \n}\n",
93 "name" : "item_type_name",
94 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{fname}</b> </div>",
97 "xtype" : "SimpleStore",
98 "$ data" : "[ \n [ 'P', \"Purchased (eg. a standard product)\"],\n [ 'R' , \"Reference (Non-Product)\"],\n [ 'K', \"Kit (made up of products)\"] \n]\n",
99 "$ fields" : "[ 'ftype', 'fname']",
100 "$ xns" : "Roo.data",
107 "triggerAction" : "all",
108 "fieldLabel" : "Class",
109 "forceSelection" : true,
110 "selectOnFocus" : true,
112 "displayField" : "classcode_code",
113 "emptyText" : "Select classcode",
114 "hiddenName" : "item_classcode_id",
116 "valueField" : "classcode_id",
117 "xtype" : "ComboBox",
118 "allowBlank" : false,
122 "$ xns" : "Roo.form",
123 "name" : "item_classcode_id_classcode_code",
124 "qtip" : "Select classcode",
126 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{classcode_code}</b> </div>",
127 "loadingText" : "Searching...",
131 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
135 "$ sortInfo" : "{ direction : 'ASC', field: 'id' }",
136 "$ xns" : "Roo.data",
140 "$ url" : "baseURL + '/Roo/classcode.php'",
141 "xtype" : "HttpProxy",
143 "$ xns" : "Roo.data",
149 "xtype" : "JsonReader",
150 "$ xns" : "Roo.data",
151 "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"classcode_code\",\"type\":\"string\"}]",
153 "totalProperty" : "total"
160 "fieldLabel" : "Weight",
161 "xtype" : "NumberField",
162 "allowBlank" : false,
163 "allowDecimals" : true,
164 "decimalPrecision" : 2,
166 "$ xns" : "Roo.form",
167 "name" : "item_prodweight"
170 "fieldLabel" : "Item comments",
171 "xtype" : "TextArea",
173 "$ xns" : "Roo.form",
174 "name" : "item_comments",
178 "fieldLabel" : "Item sold",
180 "xtype" : "Checkbox",
183 "$ xns" : "Roo.form",
187 "fieldLabel" : "Item active",
189 "xtype" : "Checkbox",
192 "$ xns" : "Roo.form",
193 "name" : "item_active"
197 "add" : "function (combo)\n{\n Pman.Dialog.XtupleProdcat.show({prodcat_id : 0});\n}",
198 "edit" : "function (combo, record)\n{\n var s = _this.form.findField('item_prodcat_id').getValue() * 1;\n if(s < 1){\n Roo.MessageBox.alert('Error','Please select a account assignment');\n return;\n }\n Pman.Dialog.XtupleProdcat.show({prodcat_id : s});\n}"
200 "alwaysQuery" : true,
202 "triggerAction" : "all",
203 "fieldLabel" : "Product Category",
204 "forceSelection" : true,
205 "selectOnFocus" : true,
207 "displayField" : "prodcat_code",
208 "emptyText" : "Select Category",
209 "hiddenName" : "item_prodcat_id",
211 "valueField" : "prodcat_id",
212 "xtype" : "ComboBox",
213 "allowBlank" : false,
217 "$ xns" : "Roo.form",
218 "name" : "item_prodcat_id_prodcat_code",
219 "qtip" : "Select prodcat",
221 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{prodcat_code}</b> </div>",
222 "loadingText" : "Searching...",
226 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
230 "$ xns" : "Roo.data",
231 "$ sortInfo" : "{ direction : 'ASC', field: 'id' }",
235 "$ url" : "baseURL + '/Roo/prodcat.php'",
236 "xtype" : "HttpProxy",
238 "$ xns" : "Roo.data",
244 "xtype" : "JsonReader",
245 "$ xns" : "Roo.data",
246 "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"prodcat_code\",\"type\":\"string\"}]",
248 "totalProperty" : "total"
255 "fieldLabel" : "Sales Account",
256 "xtype" : "DisplayField",
257 "$ xns" : "Roo.form",
258 "name" : "item_salesaccnt"
261 "fieldLabel" : "Item listprice",
262 "xtype" : "NumberField",
264 "$ xns" : "Roo.form",
265 "name" : "item_listprice"
269 "render" : "function (_self)\n{\n _this.standardCostFieldSet = _self;\n}"
271 "style" : "width:320px",
272 "xtype" : "FieldSet",
273 "legend" : "Standard Cost",
274 "$ xns" : "Roo.form",
278 "triggerAction" : "all",
279 "fieldLabel" : "Currency",
280 "forceSelection" : true,
281 "selectOnFocus" : true,
283 "displayField" : "curr_name",
284 "emptyText" : "Select Currency",
285 "hiddenName" : "item_itemcost_id_itemcost_curr_id",
287 "valueField" : "curr_id",
288 "xtype" : "ComboBox",
289 "allowBlank" : false,
293 "$ xns" : "Roo.form",
294 "name" : "curr_name",
295 "qtip" : "Select Currency",
296 "queryParam" : "query[curr_name]",
297 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{curr_name}</b> </div>",
298 "loadingText" : "Searching...",
302 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n \n}\n"
306 "$ sortInfo" : "{ direction : 'ASC', field: 'curr_symbol' }",
307 "$ xns" : "Roo.data",
311 "$ url" : "baseURL + '/Roo/curr_symbol.php'",
312 "xtype" : "HttpProxy",
314 "$ xns" : "Roo.data",
320 "xtype" : "JsonReader",
321 "$ xns" : "Roo.data",
322 "$ fields" : "[{\"name\":\"curr_id\",\"type\":\"int\"},\"curr_symbol\"]",
324 "totalProperty" : "total"
331 "fieldLabel" : "Value",
332 "xtype" : "NumberField",
333 "allowBlank" : false,
335 "$ xns" : "Roo.form",
336 "name" : "item_itemcost_id_itemcost_actcost"
344 "$ xns" : "Roo.form",
348 "render" : "function (_self)\n{\n _this.itemsiteFieldSet = _self;\n}"
350 "xtype" : "FieldSet",
351 "legend" : "Itemsite Settings",
352 "$ xns" : "Roo.form",
353 "String/Object/Function style" : "width:335px;",
354 "Number labelWidth" : 120,
357 "fieldLabel" : "Reorder Level",
358 "xtype" : "NumberField",
359 "allowBlank" : false,
361 "$ xns" : "Roo.form",
362 "name" : "item_itemsite_id_itemsite_reorderlevel"
365 "fieldLabel" : "Stock Safety Level",
366 "xtype" : "NumberField",
367 "allowBlank" : false,
369 "$ xns" : "Roo.form",
370 "name" : "item_itemsite_id_itemsite_safetystock"
373 "fieldLabel" : "Lead time (Days)",
374 "xtype" : "NumberField",
375 "allowBlank" : false,
377 "$ xns" : "Roo.form",
378 "name" : "item_itemsite_id_itemsite_leadtime"
382 "triggerAction" : "all",
383 "fieldLabel" : "Control Method",
384 "displayField" : "fname",
385 "hiddenName" : "item_itemsite_id_itemsite_controlmethod",
386 "valueField" : "ftype",
387 "xtype" : "ComboBox",
388 "allowBlank" : false,
391 "$ xns" : "Roo.form",
393 "name" : "item_itemsite_id_itemsite_controlmethod_name",
394 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{fname}</b> </div>",
397 "xtype" : "SimpleStore",
398 "$ data" : "[ \n [ 'N', \"None\"],\n [ 'R' , \"Regular\"]\n]\n",
399 "$ fields" : "[ 'ftype', 'fname']",
400 "$ xns" : "Roo.data",
407 "triggerAction" : "all",
408 "fieldLabel" : "Planner Code",
409 "forceSelection" : true,
410 "selectOnFocus" : true,
412 "displayField" : "plancode_name",
413 "emptyText" : "Select plancode",
414 "hiddenName" : "item_itemsite_id_itemsite_plancode_id",
416 "valueField" : "plancode_id",
417 "xtype" : "ComboBox",
418 "allowBlank" : false,
422 "$ xns" : "Roo.form",
423 "name" : "plancode_name",
424 "qtip" : "Select plancode",
426 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{plancode_name}</b> </div>",
427 "loadingText" : "Searching...",
431 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
435 "$ xns" : "Roo.data",
436 "$ sortInfo" : "{ direction : 'ASC', field: 'id' }",
440 "$ url" : "baseURL + '/Roo/plancode.php'",
441 "xtype" : "HttpProxy",
443 "$ xns" : "Roo.data",
449 "xtype" : "JsonReader",
450 "$ xns" : "Roo.data",
451 "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"plancode_code\",\"type\":\"string\"}]",
453 "totalProperty" : "total"
461 "triggerAction" : "all",
462 "fieldLabel" : "Costcat",
463 "forceSelection" : true,
464 "selectOnFocus" : true,
466 "displayField" : "costcat_code",
467 "emptyText" : "Select costcat",
468 "hiddenName" : "item_itemsite_id_itemsite_costcat_id",
470 "valueField" : "costcat_id",
471 "xtype" : "ComboBox",
472 "allowBlank" : false,
476 "$ xns" : "Roo.form",
477 "name" : "costcat_code",
478 "qtip" : "Select costcat",
480 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{costcat_code}</b> </div>",
481 "loadingText" : "Searching...",
485 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
489 "$ xns" : "Roo.data",
490 "$ sortInfo" : "{ direction : 'ASC', field: 'id' }",
494 "$ url" : "baseURL + '/Roo/costcat.php'",
495 "xtype" : "HttpProxy",
497 "$ xns" : "Roo.data",
503 "xtype" : "JsonReader",
504 "$ xns" : "Roo.data",
505 "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"costcat_code\",\"type\":\"string\"}]",
507 "totalProperty" : "total"
514 "fieldLabel" : "Active",
516 "xtype" : "Checkbox",
519 "$ xns" : "Roo.form",
520 "name" : "item_itemsite_id_itemsite_active"
523 "fieldLabel" : "Sold",
525 "xtype" : "Checkbox",
528 "$ xns" : "Roo.form",
529 "name" : "item_itemsite_id_itemsite_sold"
532 "fieldLabel" : "Stocked",
534 "xtype" : "Checkbox",
537 "$ xns" : "Roo.form",
538 "name" : "item_itemsite_id_itemsite_stocked"
541 "fieldLabel" : "Perishable",
543 "xtype" : "Checkbox",
546 "$ xns" : "Roo.form",
547 "name" : "item_itemsite_id_itemsite_perishable"
550 "fieldLabel" : "Multi Location",
552 "xtype" : "Checkbox",
555 "$ xns" : "Roo.form",
556 "name" : "item_itemsite_id_itemsite_loccntrl"
560 "triggerAction" : "all",
561 "fieldLabel" : "Default Location",
562 "forceSelection" : true,
563 "selectOnFocus" : true,
565 "displayField" : "location_name",
566 "emptyText" : "Default Location",
567 "hiddenName" : "item_itemsite_id_itemsite_location_id",
569 "valueField" : "location_id",
570 "xtype" : "ComboBox",
571 "allowBlank" : false,
575 "$ xns" : "Roo.form",
576 "name" : "location_name",
577 "qtip" : "Select terms",
578 "queryParam" : "query[location_name]",
579 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{location_name}</b> </div>",
580 "loadingText" : "Searching...",
584 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n o.params.location_netable = 1;\n o.params._notinternalcompany = 1;\n o.params.location_restrict = 0;\n}\n"
588 "$ sortInfo" : "{ direction : 'ASC', field: 'location_name' }",
589 "$ xns" : "Roo.data",
593 "$ url" : "baseURL + '/Roo/location.php'",
595 "xtype" : "HttpProxy",
596 "$ xns" : "Roo.data",
600 "id" : "location_id",
602 "xtype" : "JsonReader",
603 "$ fields" : "[{\"name\":\"location_id\",\"type\":\"int\"},\"location_name\"]",
604 "$ xns" : "Roo.data",
606 "totalProperty" : "total"
618 "$ xns" : "Roo.form",
626 "$ xns" : "Roo.form",
627 "name" : "_update_related"
635 "|activate" : "function() {\n _this.partspanel = this;\n \n try { if (MODULE.isBuilder) {\n return;\n } } catch(e) { }\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if (id < 1) {\n Roo.MessageBox.alert(\"Save First\", \"Save the item first, before adding parts\");\n _this.dialog.layout.getRegion('center').showPanel(0);\n return;\n }\n \n var type = _this.form.findField('item_type').getValue();\n \n if(!type.length || type != 'K'){\n Roo.MessageBox.alert(\"Error\", \"Can't add parts to non-kit item\");\n _this.dialog.layout.getRegion('center').showPanel(0);\n return;\n }\n \n if (_this.partsgrid) {\n _this.partsgrid.footer.onClick('first');\n \n }\n}"
640 "title" : "Item Parts",
641 "xtype" : "GridPanel",
642 "fitContainer" : true,
644 "tableName" : "bomitem",
648 "beforeedit" : "function (e)\n{\n if(e.field != 'bomitem_qtyper'){\n return false;\n }\n \n}",
649 "|render" : "function() \n{\n _this.partsgrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.partspanel.active) {\n this.footer.onClick('first');\n }\n}",
650 "afteredit" : "function (e)\n{\n Roo.log('after');\n Roo.log(e);\n return false;\n if(e.originalValue == e.value){\n return false;\n }\n return false;\n \n \n var id = _this.form.findField('item_id').getValue() * 1;\n if(id < 1){\n return false;\n }\n \n new Pman.Request({\n method : 'POST',\n url : baseURL + '/Roo/ipsiteminfo',\n mask : 'Saving',\n params : {\n ipsitem_ipshead_id : e.record.data.ipshead_id,\n ipsitem_item_id : id,\n ipsitem_price : e.record.data.ipshead_ipsitem_price,\n ipsitem_id : e.record.data.ipshead_ipsitem_id\n }\n \n });\n \n \n \n \n}"
652 "autoExpandColumn" : "bomitem_item_id_item_descrip1",
653 "xtype" : "EditorGrid",
656 "$ xns" : "Roo.grid",
662 "* prop" : "toolbar",
666 "render" : "function (_self)\n{\n _this.partsBox = _self;\n}",
667 "select" : "function (combo, record, index)\n{\n var item_id = _this.form.findField('item_id').getValue() * 1;\n \n if(typeof(record) == 'undefined' || !record || record.data.id * 1 < 1 || item_id < 1){\n return;\n }\n \n var err = false;\n\n _this.partsgrid.ds.each(function(d){\n if(record.data.item_id == d.data.bomitem_item_id){\n err = true;\n }\n });\n\n if(err){\n Roo.MessageBox.alert('Error', record.data.item_number + ' already exists!');\n _this.partsBox.reset();\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/bomitem.php',\n method : 'POST',\n params : {\n bomitem_parent_item_id : item_id,\n bomitem_item_id : record.data.item_id\n }, \n success : function(res) {\n _this.partsBox.reset();\n _this.partsgrid.footer.onClick('first');\n }\n }); \n}"
669 "alwaysQuery" : true,
670 "triggerAction" : "all",
671 "fieldLabel" : "Item",
672 "forceSelection" : true,
673 "selectOnFocus" : true,
675 "displayField" : "item_number",
676 "emptyText" : "Select item",
679 "xtype" : "ComboBox",
684 "$ xns" : "Roo.bootstrap",
685 "qtip" : "Select item",
686 "queryParam" : "query[number_or_name]",
687 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{item_number}</b> </div>",
688 "loadingText" : "Searching...",
692 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n \n o.params.item_active = 1;\n o.params['!item_type'] = 'K';\n}\n"
696 "$ sortInfo" : "{ direction : 'ASC', field: 'item_number' }",
697 "$ xns" : "Roo.data",
701 "$ url" : "baseURL + '/Roo/item.php'",
703 "xtype" : "HttpProxy",
704 "$ xns" : "Roo.data",
710 "xtype" : "JsonReader",
711 "$ fields" : "[\n {\"name\":\"id\",\"type\":\"int\"},\n {\"name\":\"item_number\",\"type\":\"string\"}\n]",
712 "$ xns" : "Roo.data",
714 "totalProperty" : "total"
722 "$ xns" : "Roo.Toolbar"
726 "|click" : "function ()\n{\n var sel = _this.partsgrid.getSelectionModel().getSelectedCell();\n \n if(!sel || !sel.length){\n Roo.MessageBox.alert(\"Error\", \"Please select a item from below list\");\n return;\n }\n \n var d = _this.partsgrid.ds.getAt(sel[0]); \n \n if(d.data.bomitem_id * 1 < 1){\n Roo.MessageBox.alert(\"Error\", \"Invaild selection\");\n return;\n }\n \n new Pman.Request({\n url : baseURL + '/Roo/bomitem.php',\n method : 'POST',\n params : {\n _delete : d.data.bomitem_id\n }, \n success : function(res) {\n _this.partsgrid.footer.onClick('first');\n }\n }); \n \n}"
730 "cls" : "x-btn-text-icon",
731 "$ icon" : "rootURL + '/Pman/templates/images/trash.gif'",
738 "beforeload" : "function (_self, o)\n{\n o.params = o.params || {};\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if(id < 1){\n return false;\n }\n \n o.params.bom_parent_item_id = id;\n}"
742 "$ sortInfo" : "{ field : 'bomitem_item_id_item_name', direction: 'ASC' }",
743 "$ xns" : "Roo.data",
744 "* prop" : "dataSource",
747 "$ url" : "baseURL + '/Roo/bomitem.php'",
748 "xtype" : "HttpProxy",
750 "$ xns" : "Roo.data",
756 "xtype" : "JsonReader",
757 "$ fields" : "[\n {\n 'name': 'bomitem_id',\n 'type': 'int'\n }\n]",
758 "$ xns" : "Roo.data",
760 "totalProperty" : "total"
766 "xtype" : "PagingToolbar",
767 "emptyMsg" : "Nothing found",
769 "displayMsg" : "Displaying parts {0} - {1} of {2}",
770 "displayInfo" : true,
774 "xtype" : "ColumnModel",
777 "$ renderer" : "function(v) { return String.format('{0}', v); }",
778 "$ xns" : "Roo.grid",
779 "* prop" : "colModel[]",
780 "dataIndex" : "bomitem_item_id_item_number"
783 "xtype" : "ColumnModel",
784 "header" : "Description",
786 "$ renderer" : "function(v) { return String.format('{0}', v); }",
787 "$ xns" : "Roo.grid",
788 "* prop" : "colModel[]",
789 "dataIndex" : "bomitem_item_id_item_descrip1"
792 "xtype" : "ColumnModel",
793 "String align" : "right",
796 "$ renderer" : "function(v) { return String.format('{0}', v); }",
797 "$ xns" : "Roo.grid",
798 "* prop" : "colModel[]",
799 "dataIndex" : "bomitem_qtyper",
802 "xtype" : "GridEditor",
803 "$ xns" : "Roo.grid",
807 "Boolean allowBlank" : false,
808 "String cls" : "align-right",
809 "xtype" : "NumberField",
810 "Number decimalPrecision" : 0,
811 "$ xns" : "Roo.form",
813 "Number minValue" : 0
825 "|activate" : "function() {\n _this.panel = this;\n \n try { if (MODULE.isBuilder) {\n return;\n } } catch(e) { }\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if (id < 1) {\n Roo.MessageBox.alert(\"Save First\", \"Save the item first, before adding image\");\n _this.dialog.layout.getRegion('center').showPanel(0);\n return;\n }\n \n if (_this.grid) {\n _this.grid.footer.onClick('first');\n \n }\n}"
830 "title" : "Reference Files",
831 "xtype" : "GridPanel",
832 "fitContainer" : true,
834 "tableName" : "Images",
838 "|rowdblclick" : "function (_self, rowIndex, e)\n{\n \n var s = _self.getDataSource().getAt(rowIndex);\n new Pman.Download({\n url : baseURL + '/Images/Download/' + s.data.id\n });\n \n}",
839 "|render" : "function() { \n _this.grid = this; \n\n if (_this.panel.active) {\n this.footer.onClick('first');\n }\n}"
841 "autoExpandColumn" : "id",
844 "$ xns" : "Roo.grid",
849 "beforeload" : "function (_self, o)\n{\n o.params = o.params || {};\n \n var id = _this.form.findField('item_id').getValue();\n \n if(id * 1 < 1){\n return false;\n }\n \n o.params.onid = id;\n o.params.ontable = 'item';\n \n}"
853 "$ sortInfo" : "{ field: 'created' , direction: 'DESC' }",
854 "$ xns" : "Roo.data",
855 "* prop" : "dataSource",
860 "xtype" : "JsonReader",
861 "$ fields" : "[\n {\n 'name': 'id',\n 'type': 'int'\n },\n {\n 'name': 'filename',\n 'type': 'string'\n },\n {\n 'name': 'ontable',\n 'type': 'string'\n },\n {\n 'name': 'onid',\n 'type': 'int'\n },\n {\n 'name': 'mimetype',\n 'type': 'string'\n },\n {\n 'name': 'width',\n 'type': 'int'\n },\n {\n 'name': 'height',\n 'type': 'int'\n },\n {\n 'name': 'filesize',\n 'type': 'int'\n },\n {\n 'name': 'displayorder',\n 'type': 'int'\n },\n {\n 'name': 'language',\n 'type': 'string'\n },\n {\n 'name': 'parent_image_id',\n 'type': 'int'\n },\n {\n 'name': 'created',\n 'type': 'date',\n 'dateFormat' : 'Y-m-d H:i:s'\n },\n {\n 'name': 'imgtype',\n 'type': 'string'\n },\n {\n 'name': 'linkurl',\n 'type': 'string'\n },\n {\n 'name': 'descript',\n 'type': 'string'\n },\n {\n 'name': 'title',\n 'type': 'string'\n }\n]",
862 "$ xns" : "Roo.data",
864 "totalProperty" : "total"
867 "$ url" : "baseURL + '/Roo/Images.php'",
868 "xtype" : "HttpProxy",
870 "$ xns" : "Roo.data",
877 "xtype" : "PagingToolbar",
878 "emptyMsg" : "No Images found",
880 "displayInfo" : true,
881 "displayMsg" : "Displaying Images {0} - {1} of {2}",
887 "* prop" : "toolbar",
891 "|click" : "function()\n{\n Pman.Dialog.Image.show({\n id : 0, \n ontable: 'item',\n onid: _this.form.findField('item_id').getValue() * 1,\n imgtype : ''\n }, function(data){\n if (!data) { return; } \n _this.grid.footer.onClick('first');\n }); \n\n} "
895 "cls" : "x-btn-text-icon",
896 "$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'",
897 "$ xns" : "Roo.Toolbar"
901 "|click" : "function()\n{\n Pman.genericDelete(_this, 'Images'); \n}\n "
905 "cls" : "x-btn-text-icon",
906 "$ icon" : "rootURL + '/Pman/templates/images/trash.gif'",
907 "$ xns" : "Roo.Toolbar"
912 "xtype" : "ColumnModel",
914 "header" : "Created",
916 "$ renderer" : "function(v,x,r) {\n return String.format('{0}<br/><i>{1}</i><br/>{2}<br/><i>{3}x{4}</i>',\n v.format('d/M/Y'), r.data.mimetype, r.data.filename,\n r.data.width, r.data.height\n ); \n}\n ",
917 "$ xns" : "Roo.grid",
918 "* prop" : "colModel[]",
919 "dataIndex" : "created"
922 "xtype" : "ColumnModel",
925 "$ renderer" : "function(v,x,r) { return String.format('<img src=\"{0}/Images/Thumb/100/{1}/{2}\" height=\"100\">', baseURL, v, r.data.filename); }",
926 "$ xns" : "Roo.grid",
927 "* prop" : "colModel[]",
936 "|activate" : "function() {\n _this.lpanel = this;\n \n try { if (MODULE.isBuilder) {\n return;\n } } catch(e) { }\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if (id < 1) {\n Roo.MessageBox.alert(\"Save First\", \"Save the item first, before adding image\");\n _this.dialog.layout.getRegion('center').showPanel(0);\n return;\n }\n \n if (_this.lgrid) {\n _this.lgrid.footer.onClick('first');\n \n }\n}"
941 "title" : "Price List",
942 "xtype" : "GridPanel",
943 "fitContainer" : true,
945 "tableName" : "ipshead",
949 "beforeedit" : "function (e)\n{\n if(e.field != 'ipshead_ipsitem_price'){\n return false;\n }\n \n}",
950 "|render" : "function() \n{\n _this.lgrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n if (_this.lpanel.active) {\n this.footer.onClick('first');\n }\n}",
951 "afteredit" : "function (e)\n{\n if(e.originalValue == e.value){\n return false;\n }\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if(id < 1){\n return false;\n }\n \n new Pman.Request({\n method : 'POST',\n url : baseURL + '/Roo/ipsiteminfo',\n mask : 'Saving',\n params : {\n ipsitem_ipshead_id : e.record.data.ipshead_id,\n ipsitem_item_id : id,\n ipsitem_price : e.record.data.ipshead_ipsitem_price,\n ipsitem_id : e.record.data.ipshead_ipsitem_id\n }\n \n });\n \n \n \n \n}"
953 "autoExpandColumn" : "ipshead_descrip",
954 "xtype" : "EditorGrid",
957 "$ xns" : "Roo.grid",
962 "beforeload" : "function (_self, o)\n{\n o.params = o.params || {};\n \n var id = _this.form.findField('item_id').getValue() * 1;\n if(id < 1){\n return false;\n }\n \n o.params._with_item = id;\n}"
966 "$ sortInfo" : "{ field : 'ipshead_id', direction: 'ASC' }",
967 "$ xns" : "Roo.data",
968 "* prop" : "dataSource",
971 "$ url" : "baseURL + '/Roo/ipshead.php'",
973 "xtype" : "HttpProxy",
974 "$ xns" : "Roo.data",
980 "xtype" : "JsonReader",
981 "$ fields" : "[\n {\n 'name': 'ipshead_id',\n 'type': 'int'\n },\n {\n 'name': 'ipshead_name',\n 'type': 'string'\n }\n]",
982 "$ xns" : "Roo.data",
984 "totalProperty" : "total"
990 "xtype" : "PagingToolbar",
991 "emptyMsg" : "Nothing found",
993 "displayMsg" : "Displaying records {0} - {1} of {2}",
994 "displayInfo" : true,
998 "xtype" : "ColumnModel",
1001 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1002 "$ xns" : "Roo.grid",
1003 "* prop" : "colModel[]",
1004 "dataIndex" : "ipshead_name"
1007 "xtype" : "ColumnModel",
1009 "header" : "Description",
1010 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1011 "$ xns" : "Roo.grid",
1012 "* prop" : "colModel[]",
1013 "dataIndex" : "ipshead_descrip"
1016 "xtype" : "ColumnModel",
1018 "header" : "Currency",
1019 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1020 "$ xns" : "Roo.grid",
1021 "* prop" : "colModel[]",
1022 "dataIndex" : "ipshead_curr_id_curr_name"
1026 "xtype" : "ColumnModel",
1029 "$ renderer" : "function(v) { return String.format('{0}', Roo.util.Format.number(v*1,2)); }",
1030 "$ xns" : "Roo.grid",
1031 "* prop" : "colModel[]",
1032 "dataIndex" : "ipshead_ipsitem_price",
1035 "xtype" : "GridEditor",
1036 "$ xns" : "Roo.grid",
1037 "* prop" : "editor",
1040 "xtype" : "NumberField",
1041 "cls" : "align-right",
1042 "decimalPrecision" : 2,
1043 "$ xns" : "Roo.form",
1056 "|activate" : "function() {\n _this.itemsrcpanel = this;\n if (_this.itemsrcgrid) {\n _this.itemsrcgrid.footer.onClick('first');\n }\n}"
1058 "region" : "center",
1059 "fitToframe" : true,
1060 "background" : true,
1061 "title" : "Suppliers",
1062 "xtype" : "GridPanel",
1063 "fitContainer" : true,
1065 "tableName" : "itemsrc",
1069 "|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",
1070 "|render" : "function() \n{\n _this.itemsrcgrid = this; \n //_this.dialog = Pman.Dialog.FILL_IN\n \n}",
1071 "afteredit" : "function (e)\n{\n e.record.commit();\n}"
1073 "autoExpandColumn" : "itemsrc_comments",
1074 "xtype" : "EditorGrid",
1077 "$ xns" : "Roo.grid",
1082 "update" : "function (_self, record, operation)\n{\n Roo.log(operation);\n Roo.log(record);\n \n if (operation != 'commit') {\n return;\n }\n if (record.data.itemsrc_vend_id * 1 < 1) {\n return; // do not save.\n }\n if (record.data.itemsrc_id * 1 < 0) {\n return; // do not save. -- updating at present...\n }\n \n var p = Roo.apply({}, record.data);\n record.set('itemsrc_id', -1); \n \n new Pman.Request({\n url : baseURL + '/Roo/Itemsrc',\n params : p,\n method : 'POST',\n success: function(res) {\n if (record.data.itemsrc_id *1 < 1) { \n record.set('itemsrc_id', res.data.itemsrc_id);\n }\n }\n });\n \n \n}",
1083 "beforeload" : "function (_self, o)\n{\n \n var id = 1 * _this.form.findField('item_id').getValue();\n if (!id) {\n this.removeAll();\n return false;\n }\n o.params.itemsrc_item_id = id;\n}"
1086 "remoteSort" : true,
1087 "$ sortInfo" : "{ field : 'itemsrc_vend_id_vend_name', direction: 'ASC' }",
1088 "$ xns" : "Roo.data",
1089 "* prop" : "dataSource",
1092 "$ url" : "baseURL + '/Roo/itemsrc.php'",
1093 "xtype" : "HttpProxy",
1095 "$ xns" : "Roo.data",
1101 "xtype" : "JsonReader",
1102 "$ xns" : "Roo.data",
1103 "$ fields" : "[\n {\n 'name': 'itemsrc_id',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_item_id',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_item_id',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_vend_id',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_vend_id',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_vend_item_number',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_vend_item_descrip',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_comments',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_vend_uom',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_invvendoruomratio',\n 'type': 'float'\n },\n {\n 'name': 'itemsrc_minordqty',\n 'type': 'float'\n },\n {\n 'name': 'itemsrc_multordqty',\n 'type': 'float'\n },\n {\n 'name': 'itemsrc_leadtime',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_ranking',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_active',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_manuf_name',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_manuf_item_number',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_manuf_item_descrip',\n 'type': 'string'\n },\n {\n 'name': 'itemsrc_default',\n 'type': 'int'\n },\n {\n 'name': 'itemsrc_upccode',\n 'type': 'string'\n }\n]",
1104 "* prop" : "reader",
1105 "totalProperty" : "total"
1111 "xtype" : "PagingToolbar",
1112 "emptyMsg" : "No itemsrc found",
1114 "displayInfo" : true,
1115 "displayMsg" : "Displaying itemsrc{0} - {1} of {2}",
1119 "xtype" : "Toolbar",
1121 "* prop" : "toolbar",
1125 "|click" : "function()\n{\n \n Roo.log(\"add presed\");\n \n // work out last \n var grid = _this.itemsrcgrid;\n \n // uses form defaults or last row value.\n var nr = grid.ds.reader.newRow({\n itemsrc_id : 0,\n itemsrc_item_id : _this.form.findField('item_id').getValue(),\n\n itemsrc_vend_id : 0,\n itemsrc_vend_item_number : '',\n itemsrc_vend_item_descrip : '',\n itemsrc_comments : '',\n itemsrc_vend_uom : 'EA',\n itemsrc_invvendoruomratio : 1.0,\n itemsrc_minordqty : 0,\n itemsrc_multordqty : 0,\n itemsrc_leadtime : 30,\n itemsrc_ranking : 0,\n itemsrc_active : true,\n itemsrc_manuf_name : '',\n itemsrc_manuf_item_number : '',\n itemsrc_manuf_item_descrip: '',\n itemsrc_default : true,\n itemsrc_upccode : ''\n \n });\n grid.stopEditing();\n grid.ds.insert(0, nr); \n grid.startEditing(0, 0); // type..\n\n}\n \n"
1129 "cls" : "x-btn-text-icon",
1130 "$ icon" : "Roo.rootURL + 'images/default/dd/drop-add.gif'",
1131 "$ xns" : "Roo.Toolbar"
1136 "xtype" : "ColumnModel",
1138 "header" : "Vendor",
1139 "$ renderer" : "function(v,x,r) { return String.format('{0}', r.data.itemsrc_vend_id_vend_name); }",
1140 "$ xns" : "Roo.grid",
1141 "* prop" : "colModel[]",
1142 "dataIndex" : "itemsrc_vend_id",
1145 "xtype" : "GridEditor",
1146 "$ xns" : "Roo.grid",
1147 "* prop" : "editor",
1151 "triggerAction" : "all",
1152 "forceSelection" : true,
1153 "selectOnFocus" : true,
1155 "displayField" : "vend_name",
1156 "emptyText" : "Select Vendor",
1157 "hiddenName" : "itemsrc_vend_id",
1159 "valueField" : "vend_id",
1160 "xtype" : "ComboBox",
1161 "allowBlank" : false,
1165 "$ xns" : "Roo.form",
1167 "name" : "itemsrc_vend_id_vend_name",
1168 "qtip" : "Select vendinfo",
1169 "queryParam" : "q[search]",
1170 "tpl" : "<div class=\"x-grid-cell-text x-btn button\"><b>{vend_name}</b> </div>",
1171 "loadingText" : "Searching...",
1175 "|beforeload" : "function (_self, o){\n o.params = o.params || {};\n // set more here\n}\n"
1178 "remoteSort" : true,
1179 "$ xns" : "Roo.data",
1180 "$ sortInfo" : "{ direction : 'ASC', field: 'id' }",
1184 "$ url" : "baseURL + '/Roo/vendinfo.php'",
1185 "xtype" : "HttpProxy",
1187 "$ xns" : "Roo.data",
1193 "xtype" : "JsonReader",
1194 "$ xns" : "Roo.data",
1195 "$ fields" : "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"vend_name\",\"type\":\"string\"}]",
1196 "* prop" : "reader",
1197 "totalProperty" : "total"
1208 "xtype" : "ColumnModel",
1210 "header" : "Vendor Ref#",
1211 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1212 "$ xns" : "Roo.grid",
1213 "* prop" : "colModel[]",
1214 "dataIndex" : "itemsrc_vend_item_number",
1217 "xtype" : "GridEditor",
1218 "$ xns" : "Roo.grid",
1219 "* prop" : "editor",
1222 "xtype" : "TextField",
1223 "$ xns" : "Roo.form",
1231 "xtype" : "ColumnModel",
1233 "header" : "Comments",
1234 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1235 "$ xns" : "Roo.grid",
1236 "* prop" : "colModel[]",
1237 "dataIndex" : "itemsrc_comments",
1240 "xtype" : "GridEditor",
1241 "$ xns" : "Roo.grid",
1242 "* prop" : "editor",
1245 "xtype" : "TextField",
1246 "$ xns" : "Roo.form",
1254 "xtype" : "ColumnModel",
1257 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1258 "$ xns" : "Roo.grid",
1259 "* prop" : "colModel[]",
1260 "dataIndex" : "itemsrc_vend_uom"
1264 "xtype" : "ColumnModel",
1265 "header" : "Min Qty",
1267 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1268 "$ xns" : "Roo.grid",
1269 "* prop" : "colModel[]",
1270 "dataIndex" : "itemsrc_minordqty",
1273 "xtype" : "GridEditor",
1274 "$ xns" : "Roo.grid",
1275 "* prop" : "editor",
1279 "xtype" : "NumberField",
1280 "decimalPrecision" : 0,
1281 "$ xns" : "Roo.form",
1290 "xtype" : "ColumnModel",
1291 "header" : "Lead time",
1293 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1294 "$ xns" : "Roo.grid",
1295 "* prop" : "colModel[]",
1296 "dataIndex" : "itemsrc_leadtime",
1299 "xtype" : "GridEditor",
1300 "$ xns" : "Roo.grid",
1301 "* prop" : "editor",
1305 "xtype" : "NumberField",
1306 "decimalPrecision" : 0,
1307 "$ xns" : "Roo.form",
1315 "xtype" : "ColumnModel",
1317 "header" : "Active",
1318 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1319 "$ xns" : "Roo.grid",
1320 "* prop" : "colModel[]",
1321 "dataIndex" : "itemsrc_active"
1329 "|activate" : "function() {\n _this.hpanel = this;\n if (_this.hgrid) {\n _this.hgrid.footer.onClick('first');\n }\n}"
1331 "region" : "center",
1332 "fitToframe" : true,
1333 "background" : true,
1334 "title" : "History",
1335 "xtype" : "GridPanel",
1336 "fitContainer" : true,
1338 "tableName" : "events",
1342 "|render" : "function() \n{\n _this.hgrid = this; \n if (_this.hpanel.active) {\n this.footer.onClick('first');\n }\n}"
1344 "autoExpandColumn" : "remarks",
1347 "$ xns" : "Roo.grid",
1352 "beforeload" : "function (_self, options)\n{\n options.params = options.params || {};\n \n options.params.on_table = 'item';\n options.params.on_id = _this.form.findField('item_id').getValue();\n}"
1355 "remoteSort" : true,
1356 "$ sortInfo" : "{ field : 'event_when', direction: 'DESC' }",
1357 "$ xns" : "Roo.data",
1358 "* prop" : "dataSource",
1361 "$ url" : "baseURL + '/Roo/events.php'",
1363 "xtype" : "HttpProxy",
1364 "$ xns" : "Roo.data",
1370 "xtype" : "JsonReader",
1371 "$ fields" : "[\n {\n 'name': 'event_when',\n 'type': 'date'\n },\n {\n 'name': 'action',\n 'type': 'string'\n },\n {\n 'name': 'ipaddr',\n 'type': 'string'\n },\n {\n 'name': 'person_id_name',\n 'type': 'string'\n },\n {\n 'name': 'remarks',\n 'type': 'string'\n }\n]",
1372 "$ xns" : "Roo.data",
1373 "* prop" : "reader",
1374 "totalProperty" : "total"
1380 "xtype" : "PagingToolbar",
1381 "emptyMsg" : "No Events found",
1383 "displayMsg" : "Displaying events{0} - {1} of {2}",
1384 "displayInfo" : true,
1388 "xtype" : "ColumnModel",
1390 "header" : "Changed",
1391 "$ renderer" : "function(v) { return String.format('{0}', v ? v.format('d/M/Y H:i:s') : ''); }",
1392 "$ xns" : "Roo.grid",
1393 "* prop" : "colModel[]",
1394 "dataIndex" : "event_when"
1397 "xtype" : "ColumnModel",
1399 "header" : "Action",
1400 "$ renderer" : "function(v,x,r) { return String.format('{0} - {1}', v, r.data.on_table); }",
1401 "$ xns" : "Roo.grid",
1402 "* prop" : "colModel[]",
1403 "dataIndex" : "action"
1406 "xtype" : "ColumnModel",
1408 "header" : "IP Address",
1409 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1410 "$ xns" : "Roo.grid",
1411 "* prop" : "colModel[]",
1412 "dataIndex" : "ipaddr"
1415 "xtype" : "ColumnModel",
1418 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1419 "$ xns" : "Roo.grid",
1420 "* prop" : "colModel[]",
1421 "dataIndex" : "person_id_name"
1424 "xtype" : "ColumnModel",
1427 "$ renderer" : "function(v) { return String.format('{0}', v); }",
1428 "$ xns" : "Roo.grid",
1429 "* prop" : "colModel[]",
1430 "dataIndex" : "remarks"
1438 "click" : "function (_self, e)\n{\n _this.dialog.hide();\n}"
1443 "* prop" : "buttons[]"
1447 "render" : "function (_self)\n{\n _this.saveBtn = this;\n}",
1448 "click" : "function (_self, e)\n{\n // do some checks?\n \n \n // _this.dialog.el.mask(\"Saving\");\n _this.form.doAction(\"submit\");\n\n}"
1453 "* prop" : "buttons[]"