← Back to team overview

openerp-community team mailing list archive

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

 

http://cms.mooreworks.net/cms/Data/Sites/1/images/ba.png

from

        <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="owner" position="before">
                    <button name="copy_bank" type="object"
string="Duplicate" icon="gtk-ok"/>
                </group>
            </field>
        </record>


On Tue, Apr 2, 2013 at 7:09 AM, Er. Jay Vora <jay.vora4ce@xxxxxxxxx> wrote:

> Pleasure Dale!
>
> I am sorry, share the screenshot please !
>
>
> On Tue, Apr 2, 2013 at 5:09 PM, Dale E. Moore <daleemoore@xxxxxxxxx>wrote:
>
>> 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
>>>
>>
>>
>
>
> --
>
> 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