lot of refactor
This commit is contained in:
parent
a372adb614
commit
eaf02c709f
7 changed files with 96 additions and 15 deletions
|
|
@ -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'
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
11
bemade_sethy_configuration/data/membership_category_data.xml
Normal file
11
bemade_sethy_configuration/data/membership_category_data.xml
Normal 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>
|
||||
35
bemade_sethy_configuration/data/product_template_data.xml
Normal file
35
bemade_sethy_configuration/data/product_template_data.xml
Normal 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>
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue