i have created a manytoone field in contact module to enter multiple address for customer now i want to add the field in pos session partner screen.
how should i do that?
this is my current code.
res_partner_adddress.py
from odoo import models, fields, api
from odoo.exceptions import ValidationError
import re
class PartnerAddress(models.Model):
_name = 'res.partner.address'
_description = 'Partner Address'
_sql_constraints = [
('unique_address_per_partner', 'UNIQUE(partner_id, address)', 'The address must be unique per partner.')
]
partner_id = fields.Many2one('res.partner', string='Partner', required=True, ondelete='cascade')
address = fields.Char(string='Address', required=True)
phone_number = fields.Char(string='Phone Number', required=True)
is_default = fields.Boolean(string='Is Default')
@api.constrains('is_default')
def _check_default_address(self):
for record in self:
if record.is_default:
default_addresses = self.search([
('partner_id', '=', record.partner_id.id),
('is_default', '=', True),
('id', '!=', record.id)
])
if default_addresses:
raise ValidationError('A partner can have only one default address.')
@api.constrains('phone_number')
def _check_phone_number(self):
for record in self:
if not record.phone_number:
raise ValidationError('Phone Number is required.')
if not re.match(r'^\d+$', record.phone_number):
raise ValidationError('Phone Number can contain only numbers.')
class ResPartner(models.Model):
_inherit = 'res.partner'
address_ids = fields.One2many('res.partner.address', 'partner_id', string='Addresses')
res_partner_view.xml
<odoo>
<record id="view_res_partner_form" model="ir.ui.view">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Delivery Addresses">
<field name="address_ids">
<tree editable="bottom">
<field name="address"/>
<field name="phone_number"/>
<field name="is_default"/>
</tree>
</field>
</page>
</notebook>
</field>
</record>
<record id="view_partner_address_tree" model="ir.ui.view">
<field name="name">res.partner.address.tree</field>
<field name="model">res.partner.address</field>
<field name="arch" type="xml">
<tree>
<field name="address"/>
<field name="phone_number"/>
<field name="is_default"/>
</tree>
</field>
</record>
</odoo>