openerp-community team mailing list archive
-
openerp-community team
-
Mailing list archive
-
Message #02475
Re: How would you create a OEv6.1 Duplicate button?
Dale,
You should not name the method copy() on button as this is a reserved
method.
<button name="copy_bank" type="object" string="Duplicate" icon="gtk-ok"/>
def copy_bank(self, cr, uid, ids, context=None):
for rec in self.browse(cr, uid, ids, context):
self.copy(cr,uid, rec.id, {},context)
return True
Play with col, colspan; you will adjust the size.
On Tue, Apr 2, 2013 at 7:05 AM, Dale E. Moore <daleemoore@xxxxxxxxx> wrote:
> Perhaps I got the button tag wrong:
>
> <button name="copy" type="object" string="Duplicate"/>
>
>
> On Mon, Apr 1, 2013 at 2:57 PM, Dale E. Moore <daleemoore@xxxxxxxxx>wrote:
>
>> Thanks Serpent Consulting Services; that helps!
>>
>> So I've implemented this xml in a new module:
>>
>> <record id="view_partner_bank_form_inherit_dale"
>> model="ir.ui.view">
>> <field name="name">Dale Bank Accounts - Journal</field>
>> <field name="model">res.partner.bank</field>
>> <field name="type">form</field>
>> <field name="inherit_id" ref="base.view_partner_bank_form"/>
>> <field name="arch" type="xml">
>> <group name="bank" position="after">
>> <group name="accounting" col="2" colspan="2"
>> attrs="{'invisible': [('company_id','=', False)]}"
>> groups="base.group_extended">
>> <separator string="Duplicate" colspan="2"/>
>> <button name="copy" type="object"
>> string="Duplicate"/>
>> </group>
>> </group>
>> </field>
>> </record>
>>
>> And the Duplicate push button appears (though it's a bit big, I'm
>> wondering how to reduce it to normal size.) When I push the button I get:
>>
>> OpenERP Server Error
>>
>> ------------------------------
>>
>> Client Traceback (most recent call last):
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/common/http.py", line 180, in dispatch
>> response["result"] = method(controller, self, **self.params)
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py", line 1052, in call_button
>> action = self.call_common(req, model, method, args, domain_id, context_id)
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py", line 996, in call_common
>> return self._call_kw(req, model, method, args, {})
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py", line 1010, in _call_kw
>> return getattr(req.session.model(model), method)(*args, **kwargs)
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/common/openerplib/main.py", line 250, in proxy
>> args, kw)
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/common/openerplib/main.py", line 117, in proxy
>> result = self.connector.send(self.service_name, method, *args)
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/common/http.py", line 608, in send
>> raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info)
>>
>>
>> Server Traceback (most recent call last):
>> File "/usr/lib/pymodules/python2.7/openerp/addons/web/common/http.py", line 593, in send
>> return openerp.netsvc.dispatch_rpc(service_name, method, args)
>> File "/usr/lib/pymodules/python2.7/openerp/netsvc.py", line 360, in dispatch_rpc
>> result = ExportService.getService(service_name).dispatch(method, params)
>> File "/usr/lib/pymodules/python2.7/openerp/service/web_services.py", line 586, in dispatch
>> res = fn(db, uid, *params)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 167, in execute_kw
>> return self.execute(db, uid, obj, method, *args, **kw or {})
>> File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 121, in wrapper
>> return f(self, dbname, *args, **kwargs)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 176, in execute
>> res = self.execute_cr(cr, uid, obj, method, *args, **kw)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py", line 164, in execute_cr
>> return getattr(object, method)(cr, uid, *args, **kw)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 4769, in copy
>> data = self.copy_data(cr, uid, id, default, context)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 4649, in copy_data
>> data = self.read(cr, uid, [id,], context=context_wo_lang)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3416, in read
>> result = self._read_flat(cr, user, select, fields, context, load)
>> File "/usr/lib/pymodules/python2.7/openerp/osv/orm.py", line 3467, in _read_flat
>> for sub_ids in cr.split_for_in_conditions(ids):
>> File "/usr/lib/pymodules/python2.7/openerp/sql_db.py", line 244, in split_for_in_conditions
>> return tools.misc.split_every(self.IN_MAX, set(ids))
>> TypeError: unhashable type: 'list'
>>
>>
>> I'm wondering what the "TypeError: unhashable type: 'list'" is in
>> reference to?
>> Dale
>>
>>
>>
>>
>> On Mon, Apr 1, 2013 at 11:09 AM, Serpent Consulting Services <
>> serpentcs.lp@xxxxxxxxx> wrote:
>>
>>> Dale,
>>>
>>> Welcome!
>>>
>>> The copy_data does a Copy of given record's data with all its fields
>>> values! (except translations)
>>>
>>> The copy() does it all (default values + new values + translations)!
>>>
>>> Thanks.
>>>
>>>
>>> On Monday 01 April 2013 09:34 PM, Dale E. Moore wrote:
>>>
>>> Thanks Er. Jay Vora;
>>>
>>> I appreciate your insight!
>>>
>>> I've noticed some modules have copy_data(), would that be the
>>> preferred method?
>>>
>>> I appreciate your time,
>>> DaleEMoore@xxxxxxxxx
>>>
>>>
>>> On Mon, Apr 1, 2013 at 2:58 AM, Er. Jay Vora <jay.vora4ce@xxxxxxxxx>wrote:
>>>
>>>> Dale,
>>>>
>>>> O2M does not have a duplicate button.
>>>>
>>>> You have to put a button on list view of o2m bank and call copy()!
>>>>
>>>> Thanks.
>>>>
>>>>
>>>> On Sun, Mar 31, 2013 at 10:55 PM, Dale E. Moore <daleemoore@xxxxxxxxx>wrote:
>>>>
>>>>> Settings, Companies, Companies, Bank Accounts does not have a
>>>>> duplicate button.
>>>>>
>>>>> How would I create a push button that would duplicate a Bank Account
>>>>> like the duplicate button that exists for Customers, Products, Projects,
>>>>> and so many other objects in OpenERP?
>>>>>
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~openerp-community
>>>>> Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
>>>>> Unsubscribe : https://launchpad.net/~openerp-community
>>>>> More help : https://help.launchpad.net/ListHelp
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> Thanks,
>>>> Regards,
>>>>
>>>> *Er. Jay Vora*
>>>> M : 91 - 9879354457.
>>>> (Not miles, just an email away...)
>>>> Twitter <http://twitter.com/#%21/jaynvora> Facebook<http://www.facebook.com/jaynvora>
>>>> LinkedIn <http://www.linkedin.com/in/jaynvora> Blogger<http://jayvora.blogspot.com>
>>>> "No Seconds to be Wasted for Formalities, I have a lot to Execute !" -
>>>> Jay Vora
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~openerp-community
>>> Post to : openerp-community@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~openerp-community
>>> More help : https://help.launchpad.net/ListHelp
>>>
>>>
>>>
>>> --
>>>
>>> Thanks,
>>> Regards,
>>>
>>> Serpent Consulting Services.
>>> Web : http://www.serpentcs.com
>>> Twitter: jaynvora, husendaudi
>>> Skype: jaynvora, husen.daudi
>>> Blog : http://www.serpentcs.com/blog
>>>
>>
>>
>
--
Thanks,
Regards,
*Er. Jay Vora*
M : 91 - 9879354457.
(Not miles, just an email away...)
Twitter <http://twitter.com/#%21/jaynvora>
Facebook<http://www.facebook.com/jaynvora>
LinkedIn <http://www.linkedin.com/in/jaynvora>
Blogger<http://jayvora.blogspot.com>
"No Seconds to be Wasted for Formalities, I have a lot to Execute !" - Jay
Vora
Follow ups
References