Esempio n. 1
0
    def onchange_bsn_number(self):
        warning = {}
        for partner in self:
            if partner.bsn_number:
                # properly format the entered BSN
                partner.bsn_number = bsn.format(partner.bsn_number)

                # check is valid, otherwise display a warning
                if not bsn.is_valid(partner.bsn_number):
                    msg = _('The BSN you entered (%s) is not valid.')
                    warning = {
                        'title': _('Warning!'),
                        'message': msg % partner.bsn_number,
                    }

                # search for another partner with the same BSN
                args = [('bsn_number', '=', partner.bsn_number),
                        ('name', '!=', partner.name)]
                # refine search in case of multicompany setting
                if partner.company_id:
                    args += [('company_id', '=', partner.company_id.id)]
                other_partner = self.search(args, limit=1)
                # if another partner exists, display a warning
                if other_partner:
                    msg = _('Another person (%s) has the same BSN (%s).')
                    warning = {
                        'title': _('Warning!'),
                        'message': msg % (other_partner.name,
                                          other_partner.bsn_number)
                    }
        return {'warning': warning, }
Esempio n. 2
0
    def onchange_bsn_number(self):
        warning = {}
        if self.bsn_number:
            # properly format the entered BSN
            self.bsn_number = bsn.format(self.bsn_number)

            # check is valid, otherwise display a warning
            warning = self._warn_bsn_invalid()

            # search for another partner with the same BSN
            args = [("bsn_number", "=", self.bsn_number),
                    ("name", "!=", self.name)]

            # refine search in case of multicompany setting
            if self.company_id:
                args += [("company_id", "=", self.company_id.id)]
            other_partner = self.search(args, limit=1)

            # if another partner exists, display a warning
            if other_partner:
                warning = other_partner._warn_bsn_existing()
        return {"warning": warning}