Help

3

Need a feature for identifying how an SO was created, if by Create or by Duplicate.

How can I add a field to the SO table where I can check it if the SO was created by a user via the Create New SO button or if by Duplicate button from an existing PO?

Thanks

Avatar
Discard
1 Answer
3
Avatar
deep
Best Answer

Create button will trigger the ORM method "create"

similarly Duplicate Action will trigger the ORM method "copy"

So you can inherit the copy method, and append a flag (probably a boolean: set it as true) to the param "default" before returning the super call


Note:

There are 2 methods/ways involved while duplicating a record.

"copy" : will copy the data and creates a new record, returning the ID of the newly created one.

"copy_data": will just copy the data and returns you the dict of values which are being copied.

So according to your need, use the appropriate one.

1 Comment
Avatar
Discard
Avatar
Marcio Valenzuela
-

Thanks! Do you have an example? I would only mark the SOs with copy, I would want to use the copy (not copy_data). So like:

def copy(self, cr, uid, id, default={}, context=None):

if not default:

default = {}

default.update({

'[field]': '[value]',

})

return super([class], self).copy(cr, uid, id, default, context=context)`