diff options
| author | AndriFP <andrifebriyadiputra@gmail.com> | 2025-04-16 11:46:43 +0700 |
|---|---|---|
| committer | AndriFP <andrifebriyadiputra@gmail.com> | 2025-04-16 11:46:43 +0700 |
| commit | 0ee640e0030441c204be6de3edc4184a37c85cd8 (patch) | |
| tree | 0f3b40988caa9401a00323451c1ecd55d24a7ccc | |
| parent | 2dc56ffaf7e2e6d703eac32fd1213cf84b684915 (diff) | |
(andri) add min & max NPWP
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index fd3a0514..04ee136c 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -104,7 +104,7 @@ class ResPartner(models.Model): ('nonpkp', 'Non PKP') ]) sppkp = fields.Char(string="SPPKP", tracking=True) - npwp = fields.Char(string="NPWP", tracking=True) + npwp = fields.Char(string="npwp", tracking=True) nitku = fields.Char(string="NITKU", tracking=True) counter = fields.Integer(string="Counter", default=0) leadtime = fields.Integer(string="Leadtime", default=0) @@ -200,6 +200,17 @@ class ResPartner(models.Model): if existing_partner: raise ValidationError(f"Nama '{record.name}' sudah digunakan oleh partner lain!") + @api.constrains('npwp') + def _check_npwp(self): + for rec in self: + if rec.npwp: + if not rec.npwp.isdigit(): + raise ValidationError("NPWP hanya boleh berisi angka.") + if len(rec.npwp) <= 15: + raise UserError("NPWP terlalu pendek. Minimal 15 digit.") + if len(rec.npwp) >= 16: + raise ValidationError("NPWP terlalu panjang. Maksimal 16 digit.") + def write(self, vals): # Fungsi rekursif untuk meng-update semua child, termasuk child dari child def update_children_recursively(partner, vals_for_child): |
