lot of refactor

This commit is contained in:
Benoît Vézina 2023-10-30 17:39:45 -04:00
parent a372adb614
commit eaf02c709f
7 changed files with 96 additions and 15 deletions

View file

@ -4,7 +4,7 @@
'name': 'Bemade Sethy',
'version': '1.0',
'category': 'Specific Module Category', # Specify your module's category here
'summary': 'This module is developed by Bemade to instantiate the Sethy Odoo', # Provide a brief summary of the module
'summary': "This module is developed by Bemade to instantiate the Sethy's Odoo",
'author': 'Bemade',
'website': 'https://bemade.org',
'email': 'it@bemade.org',
@ -14,15 +14,20 @@
'base',
'contacts',
'crm',
'l10n_ca',
'membership',
'partner_multi_relation'
'membership_extension',
'membership_variable_period',
'partner_multi_relation',
'sale_management'
],
'data': [
# Reference to XML, CSV, and other data files
'data/membership_category_data.xml',
'data/product_template_data.xml',
'data/partner_category_data.xml',
'data/partner_relation_type_data.xml',
'data/company_data.xml',
'data/partner_tags_data.xml',
'data/partner_relations_data.xml',
'views/res_partner_views.xml',
'views/res_partner_relation_views.xml',
'views/membership_membership_line.xml'

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0"> <!-- 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 -->
<!-- Assuming 'base.main_company' is the external ID for the main company -->
<record id="base.main_company" model="res.company">
<field name="name">Fondation Séthy</field>
@ -9,10 +9,12 @@
<field name="street">164, rue Cowie</field>
<field name="street2">local 335</field>
<field name="city">Granby</field>
<field name="state_id" ref="base.state_ca_qc"/> <!-- Assuming 'base.state_ca_qc' is the external ID for Québec -->
<field name="state_id" ref="base.state_ca_qc"/>
<field name="zip">J2G 3V3</field>
<field name="country_id" ref="base.ca"/> <!-- Assuming 'base.ca' is the external ID for Canada -->
<field name="country_id" ref="base.ca"/>
<field name="phone">450 994-3173</field>
<field name="account_sale_tax_id" ref="l10n_ca.1_gstqst_sale_en"/>
<field name="account_purchase_tax_id" ref="l10n_ca.1_gstqst_purc_en"/>
</record>
</data>
</odoo>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1"> <!-- noupdate="1" means the data won't be updated when the module is upgraded -->
<record id="membership_category_perpetual" model="membership.membership_category">
<field name="name">Perpetual Membership</field>
</record>
<record id="membership_extension.membership_category_member" model="membership.membership_category">
<field name="name">Annual Membership</field>
</record>
</data>
</odoo>

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1"> <!-- noupdate="1" means the data won't be updated when the module is upgraded -->
<record id="product_membership_perpetual" model="product.template">
<field name="membership_category_id" ref="membership_category_perpetual"/>
<field name="name">Perpetual Membership</field>
<field name="membership" eval="True" />
<field name="type">service</field>
<field name="membership_date_from">2000-01-01</field>
<field name="membership_date_to">2100-01-01</field>
<field name="list_price">225.0</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="uom_po_id" ref="uom.product_uom_unit"/>
<field name="default_code">MBRAV</field>
</record>
<record id="product_membership_annual" model="product.template">
<field name="membership_category_id" ref="membership_extension.membership_category_member"/>
<field name="name">Annual Membership</field>
<field name="membership" eval="True" />
<field name="type">service</field>
<field name="list_price">20.0</field>
<field name="uom_id" ref="uom.product_uom_unit"/>
<field name="uom_po_id" ref="uom.product_uom_unit"/>
<field name="default_code">MBRAN</field>
<field name="membership_type">variable</field>
</record>
</data>
</odoo>

View file

@ -69,12 +69,6 @@ class ResPartner(models.Model):
line.type_id.name == 'Owner' and line.is_inverse)
)
# @api.depends('is_property')
# def _forcing_company(self):
# for record in self:
# if record.is_property:
# record.is_company = True
@api.onchange('is_property')
def _onchange_is_property(self):
""" Set is_company to True when is_property is set to True. """
@ -97,4 +91,38 @@ class ResPartner(models.Model):
def _compute_property_count(self):
for record in self:
record.property_count = len(record.relation_property_ids)
record.is_owner = record.property_count > 0
record.is_owner = record.property_count > 0
def write(self, vals):
property_tag = self.env.ref('bemade_sethy_configuration.partner_tag_property', raise_if_not_found=False)
owner_tag = self.env.ref('bemade_sethy_configuration.partner_tag_owner', 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)]
if len(self.relation_owner_ids) > 0:
vals['category_id'] = [(4, owner_tag.id)]
else:
vals['category_id'] = [(3, owner_tag.id)]
return super(ResPartner, self).write(vals)
@api.model
def create(self, vals):
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)
@api.onchange('is_property')
def _inverse_is_property(self):
property_tag = self.env.ref('bemade_sethy_configuration.partner_tag_property', raise_if_not_found=False)
for partner in self:
if partner.is_property:
partner.category_id |= property_tag
else:
partner.category_id -= property_tag