[WIP] Folio Group Management (#31)

* [WIP] Folio Checkins

* [WIP] Process Partner checkin Import

* [WIP] Process Partner checkin Import

* [IMP] key fields to partner creation

* [IMP] Views

* [IMP] Folio Views
This commit is contained in:
Darío Lodeiros
2021-01-04 15:19:39 +01:00
committed by GitHub
parent 44a1d04bfc
commit 080f1ab6f0
36 changed files with 1505 additions and 82 deletions

View File

@@ -93,3 +93,33 @@ class ResPartner(models.Model):
raise models.ValidationError(_("Sale Channel must be entered"))
if not record.is_agency and record.sale_channel_id:
record.sale_channel_id = None
@api.constrains("mobile", "email")
def _check_duplicated(self):
for record in self:
partner, field = record._search_duplicated()
if partner:
raise models.ValidationError(
_(
"Partner %s found with same %s (%s)",
partner.name,
partner._fields[field].string,
getattr(record, field),
)
)
def _search_duplicated(self):
self.ensure_one()
partner = False
for field in self._get_key_fields():
if getattr(self, field):
partner = self.search(
[(field, "=", getattr(self, field)), ("id", "!=", self.id)]
)
if partner:
field = field
return partner, field
@api.model
def _get_key_fields(self):
return ["mobile", "email"]