Validation dan Constraint (allert pengingat dan penyamaan di odoo)

 Validation (berlaku seperti allert)

Membuat onchange pada models.py

tambahkan diline paling bawah

@api.onchange('tipe')
def _onchange_tipe(self):
if self.tipe == 'mpv':
return {
'warning' : {
'title' : "Teknik Pemeliharaan",
'message' : "Rubah teknik pemeliharaan ke istimewa"
},
}
elif self.tipe == 'suv':
return {
'warning' : {
'title' : "Teknik Pemeliharaan",
'message' : "Rubah teknik pemeliharaan ke super"
}
}

Karena ingin apabila mobil mpv hanya diperlakukan pemeliharaan istimewa dan suv pemeliharaanya super saja maka dari itu harus dilakukan validasi pada jenisnya dan untuk pemeliharaanya juga.

restart server dan juga upgrade module

Maka apabila change sudah ditulis akan muncul

Constrain (Apabila tidak dipenuhi maka tidak akan dilaksanakan operasinya atau jika nilai nya sama maka tidak akan berjalan)

Constraint (apabila tidak dipenuhi maka tidak akan dilaksanakan operasinya)

buka partner.py karena yang akan saya berlakukan adalah data contact tidak boleh ada yang sama maka

tambahkan code diline paling bawah dengan 

@api.constrains('name')
def _check_name(self):
for record in self :
same = self.env['res.partner'].search([('name', '=',record.name), ('id', '!=',record.id)])
if same:
raise ValidationError("Nama %s sudah ada" % record.name)

self.env adalah lingkunganya dari tabel jadi pembacaanya constrain berdasarkan nama tolong cek nama

dan simpan didalam same dengan ketentuan self.env(didalam tabel) res.partner carikan name sama dengan simpan nama, dan id tidak boleh sama jika sama maka validation eror