Skip to content
Snippets Groups Projects
Commit 09ba4f67 authored by Emanuel Buzey's avatar Emanuel Buzey
Browse files

[ADD] electric_distribution: New Features and Model Creation

In this commit, I have implemented the following developments in the 'electric_distribution' module:

1. Created a new model for electric distribution company.

2. Added a menu with corresponding form and tree views. These views are now only visible to users with admin or platform-level access rights in the Settings section.

3. Implemented the standard Odoo import functionality to allow users to import a list of electric distribution companies efficiently.

4. The new companies, are added without removing any existing data. This ensures data continuity and prevents data loss.

5. The form view of the model, include all the fields required by the CNMC list.
parent 393f13b2
No related branches found
No related tags found
3 merge requests!213[REL] Release sprint 25/09/23,!205[IMP] energy_project: Adding reseller and supplier model,!203[ADD] energy_distribution: New Features and Model Creation
Pipeline #49134 passed with warnings
......@@ -19,5 +19,7 @@
"security/ir.model.access.csv",
"security/ir_rule_data.xml",
"views/inscription_views.xml",
"views/distributor_views.xml",
"views/res_config_settings_extension.xml",
],
}
from . import project
from . import project_type
from . import inscription
from . import distributor
from odoo import api, fields, models
class Distributor(models.Model):
_name = "energy_project.distributor"
_description = "Electrical Distributor"
nif = fields.Char(string="NIF empresa")
order = fields.Char(string="Nº de orden")
name = fields.Char(string="Nombre empresa")
phone = fields.Char(string="Teléfono Att cliente gratuito")
portal = fields.Char(string="Portal de medidas")
def _load_records(self, data_list, update=False):
new_data_list = []
for data in data_list:
values = data["values"]
if values.get("order"):
xml_id = "energy_project.distributor_%s" % (values.get("order"))
new_data_list.append(dict(xml_id=xml_id, values=values, noupdate=True))
else:
new_data_list.append(data)
return super()._load_records(new_data_list, update)
class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"
def button_open_distributors(self):
return {
"type": "ir.actions.act_window",
"res_model": "energy_project.distributor",
"view_mode": "tree,form",
"target": "current",
}
......@@ -5,3 +5,4 @@ access_energy_project_inscription_user,energy_project.inscription.user,model_ene
access_energy_project_project_admin,energy_project.project.admin,model_energy_project_project,group_admin,1,1,1,1
access_energy_project_project_type_admin,energy_project.project_type.admin,model_energy_project_project_type,group_admin,1,1,1,1
access_energy_project_inscription_admin,energy_project.inscription.admin,model_energy_project_inscription,group_admin,1,1,1,1
access_energy_project_distributor_admin,energy_project.distributor.admin,model_energy_project_distributor,group_admin,1,1,1,1
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<record id="distributor_form_view" model="ir.ui.view">
<field name="name">energy_project.distributor.form</field>
<field name="model">energy_project.distributor</field>
<field name="arch" type="xml">
<form string="Distributor">
<sheet>
<div class="oe_title">
<label for="name" />
<h1>
<field name="name" placeholder="Name" />
</h1>
</div>
<group>
<group>
<field name="nif" />
<field name="order" readonly="True" />
<field name="phone" />
<field name="portal" />
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="distributor_tree_view" model="ir.ui.view">
<field name="name">energy_project.distributor.tree</field>
<field name="model">energy_project.distributor</field>
<field name="arch" type="xml">
<tree string="Distributor" import="1" create="1">
<field name="nif" />
<field name="order" />
<field name="name" />
<field name="phone" />
<field name="portal" />
</tree>
</field>
</record>
<record id="distributor_act_window" model="ir.actions.act_window">
<field name="name">Distributor</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">energy_project.distributor</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
There is no examples click here to add new Distributor.
</p>
</field>
</record>
</data>
</odoo>
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="view_res_config_settings_view_form" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.distributor</field>
<field name="model">energy_project.distributor</field>
<field name="priority" eval="10" />
<field name="inherit_id" ref="base.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[hasclass('settings')]" position="inside">
<div
class="app_settings_block"
data-string="Distribuidoras Eléctricas"
string="Distribuidoras Eléctricas"
data-key="energy_project"
groups="sales_team.group_sale_manager"
>
<div
style="display: flex; justify-content: center; align-items: center; height: 100vh;"
>
<button
string="Ver Distribuidoras Eléctricas"
type="object"
class="btn-link btn-lg btn-primary"
name="button_open_distributors"
/>
</div>
</div>
</xpath>
</field>
</record>
</odoo>
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