Menggunakan Fungsi Utama Dari Method Default Yang Sudah Di-overide

Bismillah,

Assalamu'alaikum Warohmatullah Wabarokatuh,

Pada kesempatan kali ini saya akan memberikan sedikit tips custom odoo 14, yaitu cara mengambil fungsi utama dari sebuah method, dimana method tersebut sudah pernah dioveride di addons yang lain.

Contoh kasus yang akan saya ambil adalah menghilangkan raise Error dalam method read_group yang ada di object ir.attachment, raise error ini muncul karena setiap user yang tidak memiliki akses atau group user Administration / Settings tidak bisa melihat atau mengubah data attachment.

Cara yang digunakan adalah dengan menuliskan ulang fungsi utamanya tanpa memberikan return super, tapi memberikan return models.Model dilanjutkan dengan nama methodnya.

Berikut detailnya :

class IrAttachment(models.Model):
_inherit = 'ir.attachment'
_description = 'Ir Attachment'

    @api.model
def read_group(selfdomainfieldsgroupbyoffset=0limit=None
orderby=Falselazy=True):
"""Override read_group to add res_field=False in domain if not present."""
if not fields:
raise AccessError(_("Sorry, you must provide fields to read on
attachments"))
if any('(' in field for field in fields + groupby):
raise AccessError(_("Sorry, the syntax 'name:agg(field)' is not
available for attachments"))
if not any(item[0in ('id''res_field'for item in domain):
domain.insert(0, ('res_field''='False))
groupby = [groupbyif isinstance(groupbystrelse groupby
allowed_fields = self._read_group_allowed_fields()
fields_set = set(field.split(':')[0for field in fields + groupby)
if not self.env.is_system() and (not fields or fields_set.difference(
allowed_fields)):
pass
# raise AccessError(_("Sorry, you are not allowed to access these
fields on attachments."))
# return super().read_group(domain, fields, groupby, offset=offset,
limit=limit, orderby=orderby, lazy=lazy)
return models.Model.read_group(selfdomain=domainfields=fields
groupby=groupbyoffset=offsetlimit=limitorderby=orderbylazy=lazy)


Sekian dari saya, terima kasih, semoga bermanfaat.

Kahfi

Wassalamu'alaikum Warohmatullah Wabarokatuh. 







Search field yang ada di one2many dari header
Odoo 14