Skip to content
Snippets Groups Projects
Commit b6d453f8 authored by Daniil Digtyar Vasilieva's avatar Daniil Digtyar Vasilieva :call_me:
Browse files

Merge branch 'feature/IMP_demo_data' into 'dev'

[IMP] energy_communities: Adding demo data

See merge request !184
parents f6fdea08 0a5a461d
Branches dev
No related tags found
2 merge requests!195[REL] 14.0.2.0.0,!184[IMP] energy_communities: Adding demo data
Pipeline #45137 passed
......@@ -23,6 +23,9 @@
'crm_metadata',
'crm_metadata_rest_api',
'crm_rest_api',
'energy_project',
'energy_selfconsumption',
'energy_selfconsumption_cooperator',
'l10n_es_aeat',
'l10n_es_aeat_sii_oca',
'l10n_es_cooperator',
......@@ -43,7 +46,11 @@
""",
"license": "AGPL-3",
'demo': [
'demo/demo_data.xml',
'demo/res_lang_demo.xml',
'demo/res_company_demo.xml',
'demo/res_user_demo.xml',
'demo/subscription_request_demo.xml',
'demo/energy_selfconsumption_demo.xml',
],
'data': [
'security/ir_rule_data.xml',
......
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_partner_member_ce_demo" model="res.partner">
<field name="name">CE Member</field>
<field name="customer" eval="False" />
<field name="is_company" eval="False" />
<field name="email">ce_member@coop.coop</field>
<field name="street">Calle bruc, 20</field>
<field name="city">Bilbao</field>
<field name="zip">4100</field>
<field name="country_id" ref="base.es" />
</record>
<record id="res_partner_admin_ce_demo" model="res.partner">
<field name="name">CE Admin</field>
<field name="customer" eval="False" />
<field name="is_company" eval="False" />
<field name="email">ce_admin@coop.coop</field>
<field name="street">Calle bruc, 22</field>
<field name="city">Bilbao</field>
<field name="zip">4100</field>
<field name="country_id" ref="base.es" />
</record>
<record id="res_partner_admin_platform_demo" model="res.partner">
<field name="name">Platform Admin</field>
<field name="customer" eval="False" />
<field name="is_company" eval="False" />
<field name="email">platform_admin@coop.coop</field>
<field name="street">Calle bruc, 24</field>
<field name="city">Bilbao</field>
<field name="zip">4100</field>
<field name="country_id" ref="base.es" />
</record>
<record id="res_users_member_ce_demo" model="res.users">
<field name="partner_id" ref="res_partner_member_ce_demo" />
<field name="login">member_ce</field>
<field name="password">demo</field>
<field name="groups_id" eval="[(4, ref('ce.group_ce_member'))]" />
</record>
<record id="res_users_admin_ce_demo" model="res.users">
<field name="partner_id" ref="res_partner_admin_ce_demo" />
<field name="login">admin_ce</field>
<field name="password">demo</field>
<field name="groups_id" eval="[(4, ref('ce.group_ce_admin'))]" />
</record>
<record id="res_users_platform_admin_demo" model="res.users">
<field name="partner_id" ref="res_partner_admin_platform_demo" />
<field name="login">admin_platform</field>
<field name="password">demo</field>
<field name="groups_id" eval="[(4, ref('ce.group_platform_admin'))]" />
</record>
<record id="auth_api_key_platform_admin_demo" model="auth.api.key">
<field name="user_id" ref="res_users_platform_admin_demo" />
<field name="name">api-key</field>
<field name="key">ddaccf96-80cc-485b-bd73-d9c1b48178ad</field>
</record>
</odoo>
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="base.main_company" model="res.company">
<field name="name">Som Comunitats</field>
<field name="hierarchy_level">instance</field>
</record>
<record id="coordinator_company" model="res.company">
<field name="name">OECoop</field>
<field name="hierarchy_level">coordinator</field>
<field name="parent_id" ref="base.main_company"/>
</record>
<record id="energy_community_company_1_wizard" model="account.multicompany.easy.creation.wiz">
<field name="name">Comunitat Energètica Sants</field>
<field name="parent_id" ref="coordinator_company"/>
<field name="capital_share">100</field>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
<field name="property_cooperator_account" ref="l10n_es.account_common_4300"/>
</record>
<!-- action_accept method expects singletons, so it must be called for every community company-->
<function name="action_accept" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_1_wizard')]]"/>
<function name="set_cooperator_journal" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_1_wizard')]]"/>
<record id="energy_community_company_2_wizard" model="account.multicompany.easy.creation.wiz">
<field name="name">Comunitat Energètica Villanoveta</field>
<field name="parent_id" ref="coordinator_company"/>
<field name="capital_share">100</field>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
<field name="property_cooperator_account" ref="l10n_es.account_common_4300"/>
</record>
<function name="action_accept" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_2_wizard')]]"/>
<function name="set_cooperator_journal" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_2_wizard')]]"/>
<record id="energy_community_company_3_wizard" model="account.multicompany.easy.creation.wiz">
<field name="name">Comunitat Energètica Salt</field>
<field name="parent_id" ref="coordinator_company"/>
<field name="capital_share">100</field>
<field name="chart_template_id" ref="l10n_es.account_chart_template_pymes"/>
<field name="property_cooperator_account" ref="l10n_es.account_common_4300"/>
</record>
<function name="action_accept" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_3_wizard')]]"/>
<function name="set_cooperator_journal" model="account.multicompany.easy.creation.wiz"
eval="[[ref('energy_community_company_3_wizard')]]"/>
</data>
</odoo>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<function name="toggle_active" model="res.lang"
eval="[ref('base.lang_es')] if not obj(ref('base.lang_es')).active else [False]"/>
<function name="toggle_active" model="res.lang"
eval="[ref('base.lang_ca_ES')] if not obj(ref('base.lang_ca_ES')).active else [False]"/>
<function name="toggle_active" model="res.lang"
eval="[ref('base.lang_eu_ES')] if not obj(ref('base.lang_eu_ES')).active else [False]"/>
</data>
</odoo>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="res_partner_user_ce_1_demo" model="res.partner">
<field name="name">Usuari Comunitat Energetica 1</field>
<field name="is_company" eval="False"/>
<field name="email">user@coop.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_user_ce_1_demo" model="res.users">
<field name="partner_id" ref="res_partner_user_ce_1_demo"/>
<field name="login">usuari-ce-1</field>
<field name="password">usuari-ce-1</field>
<field name="company_id"
model="account.multicompany.easy.creation.wiz"
eval="obj(ref('energy_community_company_1_wizard')).new_company_id.id"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_ce_member'),
'company_id':obj(ref('energy_community_company_1_wizard')).new_company_id.id,
})]"
/>
</record>
<record id="res_partner_admin_ce_1_demo" model="res.partner">
<field name="name">Administrador Comunitat Energetica 1</field>
<field name="is_company" eval="False"/>
<field name="email">admin@coop.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_admin_ce_1_demo" model="res.users">
<field name="partner_id" ref="res_partner_admin_ce_1_demo"/>
<field name="login">admin-ce-1</field>
<field name="password">admin-ce-1</field>
<field name="company_id"
model="account.multicompany.easy.creation.wiz"
eval="obj(ref('energy_community_company_1_wizard')).new_company_id.id"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_ce_admin'),
'company_id':obj(ref('energy_community_company_1_wizard')).new_company_id.id,
})]"
/>
</record>
<record id="res_partner_manager_ce_1_demo" model="res.partner">
<field name="name">Gerent Comunitat Energetica 1</field>
<field name="is_company" eval="False"/>
<field name="email">manager@coop.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_manager_ce_1_demo" model="res.users">
<field name="partner_id" ref="res_partner_manager_ce_1_demo"/>
<field name="login">gerent-ce-1</field>
<field name="password">gerent-ce-1</field>
<field name="company_id"
model="account.multicompany.easy.creation.wiz"
eval="obj(ref('energy_community_company_1_wizard')).new_company_id.id"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_ce_manager'),
'company_id':obj(ref('energy_community_company_1_wizard')).new_company_id.id,
})]"
/>
</record>
<record id="res_partner_admin_coordinator_1_demo" model="res.partner">
<field name="name">Adminitrador Coordinadora 1</field>
<field name="is_company" eval="False"/>
<field name="email">admin@coordinator.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_admin_coordinator_1_demo" model="res.users">
<field name="partner_id" ref="res_partner_admin_coordinator_1_demo"/>
<field name="login">admin-coordinadora-1</field>
<field name="password">admin-coordinadora-1</field>
<field name="company_id"
eval="ref('coordinator_company')"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, ref('coordinator_company')),
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_2_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_3_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_coord_admin'),
'company_id':ref('coordinator_company'),
}),
(0, 0, {
'role_id': ref('role_coord_admin'),
'company_id':obj(ref('energy_community_company_1_wizard')).new_company_id.id,
}),
(0, 0, {
'role_id': ref('role_coord_admin'),
'company_id':obj(ref('energy_community_company_2_wizard')).new_company_id.id,
}),
(0, 0, {
'role_id': ref('role_coord_admin'),
'company_id':obj(ref('energy_community_company_3_wizard')).new_company_id.id,
}),
]"
/>
</record>
<record id="res_partner_worker_coordinator_1_demo" model="res.partner">
<field name="name">Treballador Coordinadora 1</field>
<field name="is_company" eval="False"/>
<field name="email">worker@coordinator.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_worker_coordinator_1_demo" model="res.users">
<field name="partner_id" ref="res_partner_worker_coordinator_1_demo"/>
<field name="login">traballador-coordinadora-1</field>
<field name="password">traballador-coordinadora-1</field>
<field name="company_id"
eval="ref('coordinator_company')"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, ref('coordinator_company')),
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_2_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_3_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_coord_worker'),
'company_id':ref('coordinator_company'),
}),
(0, 0, {
'role_id': ref('role_coord_worker'),
'company_id':obj(ref('energy_community_company_1_wizard')).new_company_id.id,
}),
(0, 0, {
'role_id': ref('role_coord_worker'),
'company_id':obj(ref('energy_community_company_2_wizard')).new_company_id.id,
}),
(0, 0, {
'role_id': ref('role_coord_worker'),
'company_id':obj(ref('energy_community_company_3_wizard')).new_company_id.id,
}),
]"
/>
</record>
<record id="res_partner_admin_plataforma_demo" model="res.partner">
<field name="name">Adminitrador Plataforma</field>
<field name="is_company" eval="False"/>
<field name="email">admin@plataforma.coop</field>
<field name="street">Carrer Major, 23</field>
<field name="city">Barcelona</field>
<field name="zip">08001</field>
<field name="country_id" ref="base.es"/>
</record>
<record id="res_users_admin_plataforma_demo" model="res.users">
<field name="partner_id" ref="res_partner_admin_plataforma_demo"/>
<field name="login">admin-plataforma</field>
<field name="password">admin-plataforma</field>
<field name="company_id"
eval="ref('base.main_company')"
/>
<field name="company_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(4, ref('base.main_company')),
(4, ref('coordinator_company')),
(4, obj(ref('energy_community_company_1_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_2_wizard')).new_company_id.id),
(4, obj(ref('energy_community_company_3_wizard')).new_company_id.id),
]"></field>
<field name="role_line_ids"
model="account.multicompany.easy.creation.wiz"
eval="[
(0, 0, {
'role_id': ref('role_internal_user')
}),
(0, 0, {
'role_id': ref('role_platform_admin'),
}),
]"
/>
</record>
</data>
</odoo>
This diff is collapsed.
......@@ -7,8 +7,7 @@ class AccountChartTemplate(models.Model):
def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None):
if journals_dict is None:
journals_dict = []
subscription_journal = {'name': _('Subscription Journal'), 'code': _('SUBJ'), 'type': 'sale', 'favorite': False,
subscription_journal = {'name': _('Subscription Journal'), 'code': _('SUBJ'), 'type': 'sale', 'favorite': True,
'sequence': 10}
journals_dict.append(subscription_journal)
return super()._prepare_all_journals(acc_template_ref, company, journals_dict=journals_dict)
......@@ -7,7 +7,8 @@ class SubscriptionRequest(models.Model):
@api.depends('share_product_id', 'share_product_id.categ_id')
def _compute_is_voluntary(self):
product_category_voluntary_share = self.env.ref('energy_communities.product_category_company_voluntary_share')
product_category_voluntary_share = self.env.ref('energy_communities.product_category_company_voluntary_share',
raise_if_not_found=False)
for record in self:
record.is_voluntary = record.share_product_id.categ_id == product_category_voluntary_share
......@@ -16,6 +17,7 @@ class SubscriptionRequest(models.Model):
vat = fields.Char(required=True, readonly=True, states={"draft": [("readonly", False)]})
is_voluntary = fields.Boolean(compute=_compute_is_voluntary, string="Is voluntary contribution", readonly=True,
store=True)
def get_journal(self):
"""Need to override in order to use in multicompany enviroment"""
......@@ -101,4 +103,13 @@ class SubscriptionRequest(models.Model):
)
# sudo is needed to change state of invoice linked to a request
# sent through the api
mail_template_notif.sudo().send_mail(self.id)
\ No newline at end of file
mail_template_notif.sudo().send_mail(self.id)
def validate_subscription_request_with_company(self):
'''
This method is used in data demo importation to be able to validate with the context of the company instead of
the main company in the installation of the module.
:return:
'''
self = self.with_company(self.company_id)
return self.validate_subscription_request()
......@@ -39,6 +39,11 @@ class AccountMulticompanyEasyCreationWiz(models.TransientModel):
string="Product Share Template",
domain=[('is_share', '=', True)]
)
new_product_share_template = fields.Many2one(
comodel_name='product.template',
string="New Product Share Template",
readonly=True
)
def update_product_category_company_share(self):
new_company_id = self.new_company_id.id
......@@ -66,7 +71,7 @@ class AccountMulticompanyEasyCreationWiz(models.TransientModel):
def create_capital_share_product_template(self):
# We use sudo to be able to copy the product and not needing to be in the main company
self.sudo().product_share_template.copy({
self.new_product_share_template = self.sudo().product_share_template.copy({
'name': self.product_share_template.name,
'company_id': self.new_company_id.id,
'list_price': self.capital_share,
......@@ -85,6 +90,17 @@ class AccountMulticompanyEasyCreationWiz(models.TransientModel):
"property_cooperator_account": self.match_account(self.property_cooperator_account).id
})
def set_cooperator_journal(self):
'''
This method is only used in the creation from data. Is used to assign the subcription journal in the res.company
configuration.
This need to execute after the creation of the company because searching is the only way to reference the journal
created in the aplication of the account.chart.template see acoount_chart_template.py#L10
:return:
'''
self.new_company_id.cooperator_journal = self.env['account.journal'].search(
[('code', '=', 'SUBJ'), ('company_id', '=', self.new_company_id.id)]) or False
def action_accept(self):
action = super(AccountMulticompanyEasyCreationWiz, self).action_accept()
self.update_values_from_crm_lead()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment