'copy(default=None)
Duplicate record ``self`` updating it with default values
:param dict default: dictionary of field values to override in the
original values of the copied record, e.g: ``{\'field_name\': overridden_value, ...}``
:returns: new record'

@api.multi
@api.returns('self', (lambda value: value.id))
def copy(self, default=None):

    self.ensure_one()
    vals = self.copy_data(default)[0]
    new = self.with_context(lang=None).create(vals)
    self.copy_translations(new)
    return new
