This commit is contained in:
Benoît Vézina 2023-11-28 08:03:15 -05:00
parent eaf02c709f
commit b240a2809e
5 changed files with 44 additions and 36 deletions

View file

@ -14,10 +14,13 @@
'base',
'contacts',
'crm',
'document_knowledge',
'document_page',
'document_page_approval',
'attachment_indexation',
'l10n_ca',
'membership',
'membership_extension',
'membership_variable_period',
'membership_delegated_partner',
'partner_multi_relation',
'sale_management'
],
@ -29,7 +32,8 @@
'data/partner_relation_type_data.xml',
'data/company_data.xml',
'views/res_partner_relation_views.xml',
'views/membership_membership_line.xml'
# 'views/membership_membership_line.xml',
'views/res_partner_views.xml',
],
'demo': [

View file

@ -3,8 +3,6 @@
<data noupdate="1"> <!-- noupdate="1" means the data won't be updated when the module is upgraded -->
<record id="partner_relation_property" model="res.partner.relation.type">
<field name="name">Owner</field>
<field name="contact_type_left">p</field>
<field name="partner_category_left" ref="bemade_sethy_configuration.partner_tag_owner"/>
<field name="name_inverse">Property</field>
<field name="contact_type_right">c</field>
<field name="partner_category_right" ref="bemade_sethy_configuration.partner_tag_property"/>

View file

@ -19,7 +19,7 @@ class ResPartner(models.Model):
property_count = fields.Integer(string='Property count', compute='_compute_property_count', store=True)
is_owner = fields.Boolean(string='Is Owner', compute='_compute_property_count', store=True)
sethy_firs_tdate = fields.Date(string='First membership date') # member
sethy_first_date = fields.Date(string='First membership date') # member
sethy_last_date = fields.Date(string='Last membership date') # member
sethy_renew_date = fields.Date(string='Next renew date date') # member
sethy_certification_date = fields.Date(string='Certification date date') # member
@ -107,15 +107,22 @@ class ResPartner(models.Model):
vals['category_id'] = [(3, owner_tag.id)]
return super(ResPartner, self).write(vals)
@api.model
def create(self, vals):
@api.model_create_multi
def create(self, vals_list):
# Get the property tag reference outside the loop to avoid repeated searches.
property_tag = self.env.ref('bemade_sethy_configuration.partner_tag_property', raise_if_not_found=False)
if 'is_property' in vals:
if vals['is_property'] and property_tag:
vals['category_id'] = [(4, property_tag.id)]
elif not vals['is_property'] and property_tag:
vals['category_id'] = [(3, property_tag.id)]
return super(ResPartner, self).create(vals)
# Iterate over each set of values in the list.
for vals in vals_list:
# Check if 'is_property' is in the values of the current record.
if 'is_property' in vals:
if vals['is_property'] and property_tag:
# Add the tag to category_id if is_property is True.
vals['category_id'] = [(4, property_tag.id)]
elif not vals['is_property'] and property_tag:
# Remove the tag from category_id if is_property is False.
vals['category_id'] = [(3, property_tag.id)]
# Call super and pass the modified vals_list.
return super(ResPartner, self).create(vals_list)
@api.onchange('is_property')
def _inverse_is_property(self):

View file

@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="tree_res_partner_relation" model="ir.ui.view">
<field name="model">membership.membership_line</field>
<field name="arch" type="xml">
<tree editable="top">
<field
name="partner"
required="True"
/>
<field
name="date"
/>
<field
name="date_from"
/>
<field name="date_to" />
<field name="membership_id" />
</tree>
</field>
</record>
<!-- <record id="tree_res_partner_relation" model="ir.ui.view">-->
<!-- <field name="model">membership.membership_line</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <tree editable="top">-->
<!-- <field-->
<!-- name="partner"-->
<!-- required="True"-->
<!-- />-->
<!-- <field-->
<!-- name="date"-->
<!-- />-->
<!-- <field-->
<!-- name="date_from"-->
<!-- />-->
<!-- <field name="date_to" />-->
<!-- <field name="membership_id" />-->
<!-- </tree>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="search_res_partner_relation_all" model="ir.ui.view">-->
<!-- <field name="model">res.partner.relation.all</field>-->
<!-- <field name="arch" type="xml">-->
@ -66,7 +66,7 @@
<field name="name">Membership line</field>
<field name="res_model">membership.membership_line</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="tree_res_partner_relation" />
<!-- <field name="view_id" ref="tree_res_partner_relation" />-->
<!-- <field name="search_view_id" ref="search_res_partner_relation_all" />-->
<!-- <field name="context">{'active_test': 0}</field>-->
<field name="help" type="html">

View file

@ -60,8 +60,7 @@
<group attrs="{'invisible': [('is_property','=', False)]}">
<field name="surface"/>
<field name="category_id" widget="many2many_tags"
options="{'color_field': 'color', 'no_create_edit': True}"
placeholder="e.g. &quot;B2B&quot;, &quot;VIP&quot;, &quot;Consulting&quot;, ..."/>
options="{'color_field': 'color', 'no_create_edit': True}"/>
</group>
</xpath>