Acknowledged, thank you, Azazahmed. Aleksey
On Fri, Apr 1, 2011 at 2:46 AM, Azazahmed Saiyed (OpenERP) <[email protected]> wrote: > Hello Aleksey, > > Thanks for the reply. But still did not face any error in neither stable > nor trunk version. I have made the video of my test case which i did on > the stable version. So please gone through it and tried it again and > notify us. > > For now I am closing the issue, you can reopen it later with the more > specific information to reproduce it. > > Thanks. > > ** Attachment added: "test.ogv" > > https://bugs.launchpad.net/openobject-addons/+bug/746085/+attachment/1962935/+files/test.ogv > > ** Changed in: openobject-addons > Status: Incomplete => Invalid > > -- > You received this bug notification because you are a direct subscriber > of the bug. > https://bugs.launchpad.net/bugs/746085 > > Title: > Attaching files in Communications History tab of Add Internal Note > produces python script error > > Status in OpenERP Modules (addons): > Invalid > > Bug description: > This is an error similar to the one reported in > http://www.openerp.com/forum/topic22828.html > > I am in the Helpdesk Ticket System (Sales -> After-sales Service -> > Helpdesk) and I am adding an internal note to a case, I go to > Communications History, and I try to attach a file, and I get a > screenful of python error message. > > I'll put the message here. > > > > <type 'exceptions.TypeError'> Python 2.5.5: > /home/openerp/virtualenv/python2.5/bin/python > Wed Mar 30 14:55:18 2011 > > A problem occurred in a Python script. Here is the sequence of function > calls leading up to the error, in the order they occurred. > > /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cprequest.py > in respond(self=<cherrypy._cprequest.Request object at 0x11a4f250>, > path_info='/openerp/openo2m/save') > 604 if self.handler: > 605 self.stage = 'handler' > 606 cherrypy.response.body = self.handler() > 607 > 608 self.stage = 'before_finalize' > global cherrypy = <module 'cherrypy' from > '/opt/python-2.5.5/lib/p.../CherryPy-3.1.2-py2.5.egg/cherrypy/__init__.pyc'>, > cherrypy.response = <cherrypy._ThreadLocalProxy object at 0x1082da50>, > cherrypy.response.body = [], self = <cherrypy._cprequest.Request object at > 0x11a4f250>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object > at 0x11d38390> > > /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cpdispatch.py > in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at > 0x123b8f10>) > 23 def __call__(self): > 24 try: > 25 return self.callable(*self.args, **self.kwargs) > 26 except TypeError, x: > 27 test_callable_spec(self.callable, self.args, self.kwargs) > self = <cherrypy._cpdispatch.LateParamPageHandler object at 0x123b8f10>, > self.callable = <bound method Root.default of > <openobject.controllers._root.Root object at 0x10dcc0d0>>, self.args = > ('openerp', 'openo2m', 'save'), self.kwargs = {'_terp_filter_domain': '[]', > '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', > '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': > 'crm.send.mail.attachment', '_terp_parent_context': 'None', > '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/openobject/tools/_expose.py in > func_wrapper(*args=(<openobject.controllers._root.Root object at 0x10dcc0d0>, > 'openerp', 'openo2m', 'save'), **kw={'_terp_filter_domain': '[]', > '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', > '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': > 'crm.send.mail.attachment', '_terp_parent_context': 'None', > '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...}) > 180 raise cherrypy.HTTPError(405) > 181 > 182 res = func(*args, **kw) > 183 if format == 'json' or (allow_json and 'allow_json' in > cherrypy.request.params): > 184 cherrypy.response.headers['Content-Type'] = > 'text/javascript' > global res = > '/home/openerp/openerp-web-6.0.1/openobject/widgets/templates/label.mako', > func = <function default at 0x10dc4cf8>, args = > (<openobject.controllers._root.Root object at 0x10dcc0d0>, 'openerp', > 'openo2m', 'save'), kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': > '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', > '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', > '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': > 'crm.add.note', '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/openobject/controllers/_root.py in > default(self=<openobject.controllers._root.Root object at 0x10dcc0d0>, > *args=('openerp', 'openo2m', 'save'), **kw={'_terp_filter_domain': '[]', > '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', > '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': > 'crm.send.mail.attachment', '_terp_parent_context': 'None', > '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...}) > 85 request.handler = cherrypy.NotFound() > 86 > 87 return request.handler() > 88 > 89 def find_handler(self): > request = <cherrypy._ThreadLocalProxy object at 0x1082da10>, request.handler > = <cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390> > > /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cpdispatch.py > in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at > 0x11d38390>) > 23 def __call__(self): > 24 try: > 25 return self.callable(*self.args, **self.kwargs) > 26 except TypeError, x: > 27 test_callable_spec(self.callable, self.args, self.kwargs) > self = <cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390>, > self.callable = <function save at 0x1201a050>, self.args = (), self.kwargs = > {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': > 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/addons/openerp/controllers/utils.py in > wrapper(*args=(), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': > '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', > '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', > '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': > 'crm.add.note', '_terp_search_data': '', ...}) > 110 # User is logged in; allow access > 111 clear_login_fields(kw) > 112 return fn(*args, **kw) > 113 else: > 114 action = kw.get('login_action', '') > fn = <bound method OpenO2M.save of <openerp.controllers.openo2m.OpenO2M > object at 0x116a9c90>>, args = (), kw = {'_terp_filter_domain': '[]', > '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', > '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': > 'crm.send.mail.attachment', '_terp_parent_context': 'None', > '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/openobject/tools/_expose.py in > func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at > 0x116a9c90>,), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', > '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...}) > 180 raise cherrypy.HTTPError(405) > 181 > 182 res = func(*args, **kw) > 183 if format == 'json' or (allow_json and 'allow_json' in > cherrypy.request.params): > 184 cherrypy.response.headers['Content-Type'] = > 'text/javascript' > global res = > '/home/openerp/openerp-web-6.0.1/openobject/widgets/templates/label.mako', > func = <function save at 0x1114e7d0>, args = > (<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), kw = > {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': > 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/openobject/tools/_validate.py in > func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at > 0x116a9c90>,), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', > '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...}) > 47 return func(*args, **kw) > 48 > 49 form = init_form(args and args[0] or kw["self"]) > 50 args, kw = to_kw(func, args, kw) > 51 > form undefined, init_form = <function <lambda> at 0x1114e668>, args = > (<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), kw = > {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': > 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/openobject/tools/_validate.py in > (self=<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>) > 37 > 38 if callable(form) and not hasattr(form, "validate"): > 39 init_form = lambda self: form(self) > 40 else: > 41 init_form = lambda self: form > init_form undefined, self = <openerp.controllers.openo2m.OpenO2M object at > 0x116a9c90>, form = <function get_validation_schema at 0x110b7c08> > /home/openerp/openerp-web-6.0.1/addons/openerp/controllers/form.py in > get_validation_schema(self=<openerp.controllers.openo2m.OpenO2M object at > 0x116a9c90>) > 128 > 129 kw = cherrypy.request.params > 130 params, data = TinyDict.split(kw) > 131 > 132 # bypass validations, if saving from button in non-editable view > params undefined, data undefined, global TinyDict = <class > 'openerp.utils.utils.TinyDict'>, TinyDict.split = <function split at > 0x10fba140>, kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', > '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...} > /home/openerp/openerp-web-6.0.1/addons/openerp/utils/utils.py in > split(kwargs={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', > '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', > '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': > 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', > '_terp_search_data': '', ...}) > 164 data[n] = v > 165 > 166 return _make_dict(params, True), _make_dict(data, False) > 167 > 168 def make_plain(self, prefix=''): > global _make_dict = <function _make_dict at 0x10fb75f0>, params = > {'_terp_view_params/_terp_ids': [1, 2, 3], > 'atta...rp_view_params/attachment_ids/_terp_context': {}}, builtin True = > True, data = {'attachment_ids/__id': '', 'attachment_ids/binary': > FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License > instead of this License.\n'), 'attachment_ids/name': 'GPL'}, builtin False = > False > /home/openerp/openerp-web-6.0.1/addons/openerp/utils/utils.py in > _make_dict(data={'attachment_ids/__id': '', 'attachment_ids/binary': > FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License > instead of this License.\n'), 'attachment_ids/name': 'GPL'}, is_params=False) > 58 > 59 values = _make_dict(v, is_params) > 60 if values and any(values.itervalues()): > 61 res[k] = [(id and 1, id, values)] > 62 else: > values = {'binary': FieldStorage('attachment_ids/binary', 'GPL', > '\t...eral\nPublic License instead of this License.\n'), 'name': 'GPL'}, > builtin any = <built-in function any>, values.itervalues = <built-in method > itervalues of dict object at 0x116f4c90> > /opt/python-2.5.5/lib/python2.5/cgi.py in > __len__(self=FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic > License instead of this License.\n')) > 631 def __len__(self): > 632 """Dictionary style len(x) support.""" > 633 return len(self.keys()) > 634 > 635 def read_urlencoded(self): > builtin len = <built-in function len>, self = > FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License > instead of this License.\n'), self.keys = <bound method FieldStorage.keys of > FieldStorage(...ral\nPublic License instead of this License.\n')> > /opt/python-2.5.5/lib/python2.5/cgi.py in > keys(self=FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic > License instead of this License.\n')) > 607 """Dictionary style keys() method.""" > 608 if self.list is None: > 609 raise TypeError, "not indexable" > 610 keys = [] > 611 for item in self.list: > builtin TypeError = <type 'exceptions.TypeError'> > > <type 'exceptions.TypeError'>: not indexable > args = ('not indexable',) > message = 'not indexable' > > Best, > Aleksey > > To unsubscribe from this bug, go to: > https://bugs.launchpad.net/openobject-addons/+bug/746085/+subscribe > -- You received this bug notification because you are a member of C2C OERPScenario, which is subscribed to the OpenERP Project Group. https://bugs.launchpad.net/bugs/746085 Title: Attaching files in Communications History tab of Add Internal Note produces python script error Status in OpenERP Modules (addons): Invalid Bug description: This is an error similar to the one reported in http://www.openerp.com/forum/topic22828.html I am in the Helpdesk Ticket System (Sales -> After-sales Service -> Helpdesk) and I am adding an internal note to a case, I go to Communications History, and I try to attach a file, and I get a screenful of python error message. I'll put the message here. <type 'exceptions.TypeError'> Python 2.5.5: /home/openerp/virtualenv/python2.5/bin/python Wed Mar 30 14:55:18 2011 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object at 0x11a4f250>, path_info='/openerp/openo2m/save') 604 if self.handler: 605 self.stage = 'handler' 606 cherrypy.response.body = self.handler() 607 608 self.stage = 'before_finalize' global cherrypy = <module 'cherrypy' from '/opt/python-2.5.5/lib/p.../CherryPy-3.1.2-py2.5.egg/cherrypy/__init__.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object at 0x1082da50>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object at 0x11a4f250>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390> /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at 0x123b8f10>) 23 def __call__(self): 24 try: 25 return self.callable(*self.args, **self.kwargs) 26 except TypeError, x: 27 test_callable_spec(self.callable, self.args, self.kwargs) self = <cherrypy._cpdispatch.LateParamPageHandler object at 0x123b8f10>, self.callable = <bound method Root.default of <openobject.controllers._root.Root object at 0x10dcc0d0>>, self.args = ('openerp', 'openo2m', 'save'), self.kwargs = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers._root.Root object at 0x10dcc0d0>, 'openerp', 'openo2m', 'save'), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 180 raise cherrypy.HTTPError(405) 181 182 res = func(*args, **kw) 183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params): 184 cherrypy.response.headers['Content-Type'] = 'text/javascript' global res = '/home/openerp/openerp-web-6.0.1/openobject/widgets/templates/label.mako', func = <function default at 0x10dc4cf8>, args = (<openobject.controllers._root.Root object at 0x10dcc0d0>, 'openerp', 'openo2m', 'save'), kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/openobject/controllers/_root.py in default(self=<openobject.controllers._root.Root object at 0x10dcc0d0>, *args=('openerp', 'openo2m', 'save'), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 85 request.handler = cherrypy.NotFound() 86 87 return request.handler() 88 89 def find_handler(self): request = <cherrypy._ThreadLocalProxy object at 0x1082da10>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390> /opt/python-2.5.5/lib/python2.5/site-packages/CherryPy-3.1.2-py2.5.egg/cherrypy/_cpdispatch.py in __call__(self=<cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390>) 23 def __call__(self): 24 try: 25 return self.callable(*self.args, **self.kwargs) 26 except TypeError, x: 27 test_callable_spec(self.callable, self.args, self.kwargs) self = <cherrypy._cpdispatch.LateParamPageHandler object at 0x11d38390>, self.callable = <function save at 0x1201a050>, self.args = (), self.kwargs = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 110 # User is logged in; allow access 111 clear_login_fields(kw) 112 return fn(*args, **kw) 113 else: 114 action = kw.get('login_action', '') fn = <bound method OpenO2M.save of <openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>>, args = (), kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 180 raise cherrypy.HTTPError(405) 181 182 res = func(*args, **kw) 183 if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params): 184 cherrypy.response.headers['Content-Type'] = 'text/javascript' global res = '/home/openerp/openerp-web-6.0.1/openobject/widgets/templates/label.mako', func = <function save at 0x1114e7d0>, args = (<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/openobject/tools/_validate.py in func_wrapper(*args=(<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), **kw={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 47 return func(*args, **kw) 48 49 form = init_form(args and args[0] or kw["self"]) 50 args, kw = to_kw(func, args, kw) 51 form undefined, init_form = <function <lambda> at 0x1114e668>, args = (<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>,), kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/openobject/tools/_validate.py in (self=<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>) 37 38 if callable(form) and not hasattr(form, "validate"): 39 init_form = lambda self: form(self) 40 else: 41 init_form = lambda self: form init_form undefined, self = <openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>, form = <function get_validation_schema at 0x110b7c08> /home/openerp/openerp-web-6.0.1/addons/openerp/controllers/form.py in get_validation_schema(self=<openerp.controllers.openo2m.OpenO2M object at 0x116a9c90>) 128 129 kw = cherrypy.request.params 130 params, data = TinyDict.split(kw) 131 132 # bypass validations, if saving from button in non-editable view params undefined, data undefined, global TinyDict = <class 'openerp.utils.utils.TinyDict'>, TinyDict.split = <function split at 0x10fba140>, kw = {'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...} /home/openerp/openerp-web-6.0.1/addons/openerp/utils/utils.py in split(kwargs={'_terp_filter_domain': '[]', '_terp_notebook_tab': '0', '_terp_o2m': 'attachment_ids', '_terp_o2m_context': '{}', '_terp_o2m_id': '', '_terp_o2m_model': 'crm.send.mail.attachment', '_terp_parent_context': 'None', '_terp_parent_id': '3', '_terp_parent_model': 'crm.add.note', '_terp_search_data': '', ...}) 164 data[n] = v 165 166 return _make_dict(params, True), _make_dict(data, False) 167 168 def make_plain(self, prefix=''): global _make_dict = <function _make_dict at 0x10fb75f0>, params = {'_terp_view_params/_terp_ids': [1, 2, 3], 'atta...rp_view_params/attachment_ids/_terp_context': {}}, builtin True = True, data = {'attachment_ids/__id': '', 'attachment_ids/binary': FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n'), 'attachment_ids/name': 'GPL'}, builtin False = False /home/openerp/openerp-web-6.0.1/addons/openerp/utils/utils.py in _make_dict(data={'attachment_ids/__id': '', 'attachment_ids/binary': FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n'), 'attachment_ids/name': 'GPL'}, is_params=False) 58 59 values = _make_dict(v, is_params) 60 if values and any(values.itervalues()): 61 res[k] = [(id and 1, id, values)] 62 else: values = {'binary': FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n'), 'name': 'GPL'}, builtin any = <built-in function any>, values.itervalues = <built-in method itervalues of dict object at 0x116f4c90> /opt/python-2.5.5/lib/python2.5/cgi.py in __len__(self=FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n')) 631 def __len__(self): 632 """Dictionary style len(x) support.""" 633 return len(self.keys()) 634 635 def read_urlencoded(self): builtin len = <built-in function len>, self = FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n'), self.keys = <bound method FieldStorage.keys of FieldStorage(...ral\nPublic License instead of this License.\n')> /opt/python-2.5.5/lib/python2.5/cgi.py in keys(self=FieldStorage('attachment_ids/binary', 'GPL', '\t...eral\nPublic License instead of this License.\n')) 607 """Dictionary style keys() method.""" 608 if self.list is None: 609 raise TypeError, "not indexable" 610 keys = [] 611 for item in self.list: builtin TypeError = <type 'exceptions.TypeError'> <type 'exceptions.TypeError'>: not indexable args = ('not indexable',) message = 'not indexable' Best, Aleksey _______________________________________________ Mailing list: https://launchpad.net/~c2c-oerpscenario Post to : [email protected] Unsubscribe : https://launchpad.net/~c2c-oerpscenario More help : https://help.launchpad.net/ListHelp

