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

View file

@ -3,8 +3,6 @@
<data noupdate="1"> <!-- noupdate="1" means the data won't be updated when the module is upgraded --> <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"> <record id="partner_relation_property" model="res.partner.relation.type">
<field name="name">Owner</field> <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="name_inverse">Property</field>
<field name="contact_type_right">c</field> <field name="contact_type_right">c</field>
<field name="partner_category_right" ref="bemade_sethy_configuration.partner_tag_property"/> <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) 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) 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_last_date = fields.Date(string='Last membership date') # member
sethy_renew_date = fields.Date(string='Next renew date date') # member sethy_renew_date = fields.Date(string='Next renew date date') # member
sethy_certification_date = fields.Date(string='Certification 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)] vals['category_id'] = [(3, owner_tag.id)]
return super(ResPartner, self).write(vals) return super(ResPartner, self).write(vals)
@api.model @api.model_create_multi
def create(self, vals): 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) property_tag = self.env.ref('bemade_sethy_configuration.partner_tag_property', raise_if_not_found=False)
if 'is_property' in vals: # Iterate over each set of values in the list.
if vals['is_property'] and property_tag: for vals in vals_list:
vals['category_id'] = [(4, property_tag.id)] # Check if 'is_property' is in the values of the current record.
elif not vals['is_property'] and property_tag: if 'is_property' in vals:
vals['category_id'] = [(3, property_tag.id)] if vals['is_property'] and property_tag:
return super(ResPartner, self).create(vals) # 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') @api.onchange('is_property')
def _inverse_is_property(self): def _inverse_is_property(self):

View file

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

View file

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