Fix #7123 - getting abra ready to test
[Pman.Xtuple] / Pman.Tab.XtuplePriceLists.bjs
index e652aca..c95a666 100644 (file)
@@ -57,7 +57,7 @@
                                     "items": [
                                         {
                                             "listeners": {
-                                                "selectionchange": "function (_self)\n{\n    _this.igrid.footer.onClick('first');\n}"
+                                                "afterselectionchange": "function (_self)\n{\n    _this.igrid.footer.onClick('first');\n}"
                                             },
                                             "*prop": "sm",
                                             "singleSelect": true,
                                 {
                                     "listeners": {
                                         "|render": "function() \n{\n    _this.igrid = this; \n    //_this.dialog = Pman.Dialog.FILL_IN\n    if (_this.ipanel.active) {\n       //this.footer.onClick('first');\n    }\n}",
-                                        "afteredit": "function (e)\n{\n    \n    \n    Roo.log(e);\n    new Pman.Request({\n        url : baseURL +'/Roo/Charass',\n        params : {\n             charass_char_id_char_name : e.field.replace(/^item_char_/,'').toUpperCase(),\n             charass_value : e.value,\n             charass_target_type : 'I',\n             charass_default : 1,\n             charass_target_id : e.record.data.item_id\n         },\n         method : 'POST'\n     });\n    \n    \n    e.record.commit();\n    \n    \n    \n}",
-                                        "beforeedit": "function (e)\n{\n\n}"
+                                        "afteredit": "function (e)\n{\n    if(e.value == e.originalValue){\n        return false;       \n    }\n    \n    var p = _this.grid.getSelectionModel().getSelected();\n    \n    if(!p || p.data.ipshead_id * 1 < 1){\n        Roo.MessageBox.alert('Error','Please select a price list');\n        return false;       \n    }\n    \n    new Pman.Request({\n        url : baseURL +'/Roo/Item',\n        method : 'POST',\n        marks : 'Posting',\n        params : {\n             update_ipshead : 1,\n             ipshead_id : p.data.ipshead_id,\n             item_id : e.record.data.item_id,\n             _price : e.value,\n         },\n         success : function() {\n            _this.igrid.footer.onClick('refresh');\n        }\n         \n     });\n    \n}",
+                                        "beforeedit": "function (e)\n{\n    if(e.field != 'ipshead_price'){\n        return false;\n    }\n\n}"
                                     },
                                     "*prop": "grid",
                                     "autoExpandColumn": "item_number",
                                     "items": [
                                         {
                                             "listeners": {
-                                                "beforeload": "function (_self, o)\n{\n    o.params = o.params || {}\n    \n    var p = _this.grid.getSelectionModel().getSelected();\n    \n    if(!p || p.data.ipshead_id * 1 < 1){\n        this.removeAll();\n        return false;\n    }\n    \n    o.params.item_active = 1;\n    o.params._ipshead_price = 1;\n    o.params._ipshead_id = p.data.ipshead_id;\n\n}",
-                                                "update": "function (_self, record, operation)\n{\n    if(operation != 'commit'){\n        return;\n    }\n    \n    var nv  = record.data.itemsrc_active ? 0 : 1;\n    new Pman.Request({\n        mask : 'Saving',\n        url : baseURL + '/Roo/Itemsrc',\n        params : {\n            _update_by_item : 1,\n            item_id : record.data.item_id,\n            itemsrc_active : nv\n        },\n        success : function(res) {\n            record.set('itemsrc_active', nv);\n        }\n    });\n}"
+                                                "beforeload": "function (_self, o)\n{\n    o.params = o.params || {}\n    \n    var p = _this.grid.getSelectionModel().getSelected();\n    \n    if(!p || p.data.ipshead_id * 1 < 1){\n        this.removeAll();\n        return false;\n    }\n    \n    //o.params.item_active = 1;\n    o.params._ipshead_price = 1;\n    o.params._ipshead_id = p.data.ipshead_id;\n\n}"
                                             },
                                             "*prop": "dataSource",
                                             "remoteSort": true,
                                             "width": 100,
                                             "xtype": "ColumnModel",
                                             "|renderer": "function(v) { return String.format('{0}', Roo.util.Format.number(v*1,2)); }",
-                                            "|xns": "Roo.grid"
+                                            "|xns": "Roo.grid",
+                                            "items": [
+                                                {
+                                                    "|xns": "Roo.grid",
+                                                    "xtype": "GridEditor",
+                                                    "*prop": "editor",
+                                                    "items": [
+                                                        {
+                                                            "*prop": "field",
+                                                            "decimalPrecision": 2,
+                                                            "minValue": 1,
+                                                            "style": "text-align:right",
+                                                            "xtype": "NumberField",
+                                                            "|xns": "Roo.form"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
                                         }
                                     ]
                                 }