← Back to team overview

openerp-community team mailing list archive

Re: How would you create a OEv6.1 Duplicate button?

 

Lovely; You've answered my every question and I like the answers; thanks
ever so much!

Just one more little smidgen... Do you know how I can move the Duplicate
button up onto the same line with the Cancel button?


On Mon, Apr 1, 2013 at 10:59 PM, Er. Jay Vora <jay.vora4ce@xxxxxxxxx> wrote:

> 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
>

JPEG image


Follow ups

References