diff --git a/README.rst b/README.rst index 58dc950f6e30568301549e97b26bf4aa986fdc0b..c6fd9035e66f6c4613cbb9a66c19a57457c11f6b 100755 --- a/README.rst +++ b/README.rst @@ -3,18 +3,18 @@ :alt: License: AGPL-3 -=============== -ENERCOOP - Base -=============== +========== +ACC - Base +========== -Ce module défini le modèle de données ENERCOOP: +Ce module défini le modèle de données ACC: * Ajoute des champs à la table *res.partner* pour la définition des Consommateurs, Producteurs et PMO -* Création du modèle pour les opérations *enercoop.operation*, vues associées et menu -* Création du modèle pour les points de livraison et d'injection *enercoop.counter*, vues associées et menu -* Création du modèle pour les données CDC *enercoop.enedis.cdc*, vues associées et menu -* Création du modèle pour les données Energie *enercoop.enedis.energie*, vues associées et menu -* Création du modèle pour les logs imports *enercoop.enedis.import.logs*, vues associées et menu +* Création du modèle pour les opérations *acc.operation*, vues associées et menu +* Création du modèle pour les points de livraison et d'injection *acc.counter*, vues associées et menu +* Création du modèle pour les données CDC *acc.enedis.cdc*, vues associées et menu +* Création du modèle pour les données Energie *acc.enedis.energie*, vues associées et menu +* Création du modèle pour les logs imports *acc.enedis.import.logs*, vues associées et menu * Ajout de la fonctionnalité d'imports sur les opérations. Si des documents attachés existent, le bouton *Intégration des données ENEDIS* permet d'intégrer les données Enedis dans la table diff --git a/__manifest__.py b/__manifest__.py index 38a57d06bf474196f06453acbe513a5f06552355..c124587dd2ead76c1c755698ab2564431e460941 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -1,6 +1,6 @@ { - 'name': "ENERCOOP - Base", - 'summary': "Base des contacts et modèles Enercoop", + 'name': "ACC - Base", + 'summary': "Base des contacts et modèles ACC", 'author': "Le Filament", 'website': "https://www.le-filament.com", 'version': '14.0.1.0.1', @@ -13,12 +13,10 @@ # datas # views 'views/res_partner_views.xml', - 'views/enercoop_operation_views.xml', - 'views/enercoop_counter_views.xml', - 'views/enercoop_counter_operation_views.xml', - 'views/enercoop_enedis_cdc_views.xml', - # 'views/enercoop_enedis_energie_views.xml', - 'views/enercoop_enedis_import_logs_views.xml', + 'views/acc_operation_views.xml', + 'views/acc_counter_views.xml', + 'views/acc_enedis_cdc_views.xml', + 'views/acc_enedis_import_logs_views.xml', # views menu 'views/menu_views.xml', # wizard diff --git a/models/__init__.py b/models/__init__.py index 5a03b6535c963336247a76566e2ca18e4b0e117b..4566a39d6c97b68502b509d3d481187956268407 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -2,7 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import res_partner -from . import enercoop_enedis_cdc -from . import enercoop_operation -from . import enercoop_counter -from . import enercoop_enedis_import_logs +from . import acc_enedis_cdc +from . import acc_operation +from . import acc_counter +from . import acc_enedis_import_logs diff --git a/models/enercoop_counter.py b/models/acc_counter.py similarity index 81% rename from models/enercoop_counter.py rename to models/acc_counter.py index af8fce2684bba92d83d512146dc7dc47323d076b..b1cfd2008c750299feddbea7ffe633c505fa3888 100644 --- a/models/enercoop_counter.py +++ b/models/acc_counter.py @@ -4,25 +4,26 @@ from odoo import fields, models, api -class EnercoopCounter(models.Model): - _name = 'enercoop.counter' - _description = 'PRM Enercoop' +class AccCounter(models.Model): + _name = "acc.counter" + _description = "PRM" # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ # General Info name = fields.Char("ID PRM", required=True) - enercoop_operation_ids = fields.One2many( - comodel_name='enercoop.counter.operation', - inverse_name='enercoop_counter_id', - string="Opérations liées") + acc_operation_id = fields.Many2one( + "acc.operation", + string="Opération liée") + date_start_contract = fields.Date("Date de début", default=fields.Datetime.now) + date_end_contract = fields.Date("Date de fin", default=fields.Datetime.now) street = fields.Char("Rue") street2 = fields.Char("Complément de rue") zip = fields.Char("Code postal") city = fields.Char("Ville") partner_id = fields.Many2one( - comodel_name='res.partner', + comodel_name="res.partner", string="Personne Physique", domain="['|', ('is_consumer', '=', True), ('is_producer', '=', True)]" ) @@ -34,7 +35,6 @@ class EnercoopCounter(models.Model): # Info Injection counter is_injection = fields.Boolean("Est un point d'injection") - id_contract_injection = fields.Integer("ID Contrat d'injection") prod_annual = fields.Float("Estimation production annuelle (en kWh)") # prod_annual = fields.Float( # "Estimation production annuelle (en kWh)", @@ -63,12 +63,12 @@ class EnercoopCounter(models.Model): def _onchange_prm_type(self): domain = [] if self.is_injection: - domain = [('is_producer', '=', True)] + domain = [("is_producer", "=", True)] if self.is_delivery: - domain = [('is_consumer', '=', True)] + domain = [("is_consumer", "=", True)] if self.is_injection and self.is_delivery: - domain = ['|', ('is_producer', '=', True), ('is_consumer', '=', True)] - return {'domain': {'partner_id': domain}} + domain = ["|", ("is_producer", "=", True), ("is_consumer", "=", True)] + return {"domain": {"partner_id": domain}} # ------------------------------------------------------ # CRUD methods (ORM overrides) diff --git a/models/enercoop_enedis_cdc.py b/models/acc_enedis_cdc.py similarity index 83% rename from models/enercoop_enedis_cdc.py rename to models/acc_enedis_cdc.py index 5bdeba5c56a3cfa00409c143fee342c0fe8e13b3..2f201e4806444df901a91e5570a729d062349fd1 100644 --- a/models/enercoop_enedis_cdc.py +++ b/models/acc_enedis_cdc.py @@ -4,23 +4,20 @@ from odoo import fields, models, api -class EnercoopEnedisCDC(models.Model): - _name = 'enercoop.enedis.cdc' +class AccEnedisCDC(models.Model): + _name = 'acc.enedis.cdc' _description = 'CDC Enedis' # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ name = fields.Char("Libellé du fichier") - enercoop_operation_id = fields.Many2one( - 'enercoop.operation', + acc_operation_id = fields.Many2one( + 'acc.operation', "Opération", required=True, ondelete="cascade") - enercoop_counter_id = fields.Many2one('enercoop.counter', "ID PRM") - id_contract_injection = fields.Integer( - string="ID Contrat d'injection", - related='enercoop_counter_id.id_contract_injection') + acc_counter_id = fields.Many2one('acc.counter', "ID PRM") comp_data_type = fields.Selection([ ('autocons', 'autocons'), ('cons', 'cons'), diff --git a/models/enercoop_enedis_import_logs.py b/models/acc_enedis_import_logs.py similarity index 90% rename from models/enercoop_enedis_import_logs.py rename to models/acc_enedis_import_logs.py index 93692f13430ef789559e9dfc99145156f1a8f9ee..8af0e9f01eeb125952bf0030868986bd6d234d38 100644 --- a/models/enercoop_enedis_import_logs.py +++ b/models/acc_enedis_import_logs.py @@ -4,15 +4,15 @@ from odoo import fields, models, api -class EnercoopEnedisImportLogs(models.Model): - _name = 'enercoop.enedis.import.logs' +class AccEnedisImportLogs(models.Model): + _name = 'acc.enedis.import.logs' _description = 'Table de logs' # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ name = fields.Char("Libellé des données chargées") - enercoop_operation_id = fields.Many2one('enercoop.operation', "Opération") + acc_operation_id = fields.Many2one('acc.operation', "Opération") date_import = fields.Datetime( "Date de l'appel") # ------------------------------------------------------ diff --git a/models/enercoop_operation.py b/models/acc_operation.py similarity index 57% rename from models/enercoop_operation.py rename to models/acc_operation.py index f189f85cf1f1cd16b1f4140145e5eea2ff0b249d..9f49e6225aa05b9d09b45fcd186f60d3ed7761c7 100644 --- a/models/enercoop_operation.py +++ b/models/acc_operation.py @@ -8,10 +8,13 @@ from io import StringIO from odoo import fields, models, api from datetime import datetime, timedelta, date from odoo.exceptions import UserError +from odoo.tools import date_utils +from dateutil.relativedelta import relativedelta -class EnercoopOperation(models.Model): - _name = 'enercoop.operation' + +class AccOperation(models.Model): + _name = 'acc.operation' _inherit = ['mail.thread', 'image.mixin'] _description = 'Opération' @@ -27,26 +30,26 @@ class EnercoopOperation(models.Model): domain="[('is_pmo', '=', True)]", required=True ) - enercoop_injection_operation_ids = fields.One2many( - comodel_name='enercoop.counter.operation', - inverse_name='operation_id', + acc_injection_ids = fields.One2many( + comodel_name='acc.counter', + inverse_name='acc_operation_id', domain=[('is_injection', '=', True)], string="Points d'injection", ) - enercoop_delivery_operation_ids = fields.One2many( - comodel_name='enercoop.counter.operation', - inverse_name='operation_id', + acc_delivery_ids = fields.One2many( + comodel_name='acc.counter', + inverse_name='acc_operation_id', domain=[('is_delivery', '=', True)], string="Points de soutirage", ) - enercoop_enedis_import_logs_ids = fields.One2many( - comodel_name='enercoop.enedis.import.logs', - inverse_name='enercoop_operation_id', + acc_enedis_import_logs_ids = fields.One2many( + comodel_name='acc.enedis.import.logs', + inverse_name='acc_operation_id', string="Table des logs", ) - enercoop_enedis_cdc_ids = fields.One2many( - comodel_name='enercoop.enedis.cdc', - inverse_name='enercoop_operation_id', + acc_enedis_cdc_ids = fields.One2many( + comodel_name='acc.enedis.cdc', + inverse_name='acc_operation_id', string="Table des courbes", ) distribution_key = fields.Selection([ @@ -94,7 +97,7 @@ class EnercoopOperation(models.Model): def import_enedis_data(self): for operation in self: files = self.env['ir.attachment'].search([ - ('res_model', '=', 'enercoop.operation'), + ('res_model', '=', 'acc.operation'), ('res_id', '=', operation.id) ]) if not files: @@ -104,17 +107,15 @@ class EnercoopOperation(models.Model): for file in files: data_filename = file.name.split('_') id_pdm = data_filename[0] - counter_id = self.env['enercoop.counter'] + counter_id = self.env['acc.counter'] if id_pdm != self.name: # Get the counter ID from file name - counter_id = self.env['enercoop.counter'].search([('name', '=', id_pdm)]) - if not counter_id: - # Get the contract counter ID from file name - counter_id = self.env['enercoop.counter'].search([('id_contract_injection', '=', int(id_pdm))]) + counter_id = self.env['acc.counter'].search([('name', '=', id_pdm)]) computed_data_type = data_filename[3] file_decode = StringIO(base64.b64decode(file.datas).decode('UTF-8')) file_decode.seek(0) + # reader = pd.read_csv(file_decode, header=None, delimiter=';') reader = pd.read_csv(file_decode, header=None, delimiter=';') if data_filename[4] == "CDC.csv": @@ -122,67 +123,31 @@ class EnercoopOperation(models.Model): for row in reader.values: # Create 1st slot 0-30min date_slot = datetime.strptime(row[0], "%d/%m/%Y %H:%M") - self.env['enercoop.enedis.cdc'].create({ + # date_slot = row[0] + self.env['acc.enedis.cdc'].create({ 'name': file.name, - 'enercoop_operation_id': self.id, - 'enercoop_counter_id': counter_id.id or False, + 'acc_operation_id': self.id, + 'acc_counter_id': counter_id.id or False, 'comp_data_type': computed_data_type, 'power': row[1], 'date_slot': date_slot, }) # Create 2nd slot 30-60min date_slot_30 = date_slot + timedelta(minutes=30) - self.env['enercoop.enedis.cdc'].create({ + self.env['acc.enedis.cdc'].create({ 'name': file.name, - 'enercoop_operation_id': self.id, - 'enercoop_counter_id': counter_id.id or False, + 'acc_operation_id': self.id, + 'acc_counter_id': counter_id.id or False, 'comp_data_type': computed_data_type, 'power': row[2], 'date_slot': date_slot_30, }) # Logs information logs - self.env['enercoop.enedis.import.logs'].create({ + self.env['acc.enedis.import.logs'].create({ 'name': file.name, - 'enercoop_operation_id': self.id, + 'acc_operation_id': self.id, }) # Delete file after creation file.unlink() - - -class EnercoopCounterOperation(models.Model): - _name = 'enercoop.counter.operation' - _description = 'Liste des points par opération' - - # ------------------------------------------------------ - # Fields declaration - # ------------------------------------------------------ - enercoop_counter_id = fields.Many2one('enercoop.counter', string="PRM", required=True) - date_start_contract = fields.Date("Date de début", default=fields.Datetime.now) - date_end_contract = fields.Date("Date de fin", default=fields.Datetime.now) - is_injection = fields.Boolean(related='enercoop_counter_id.is_injection', store=True) - is_delivery = fields.Boolean(related='enercoop_counter_id.is_delivery', store=True) - operation_id = fields.Many2one('enercoop.operation', string="Opération", ondelete='cascade') - partner_id = fields.Many2one('res.partner', string="Personne Physique") - - # ------------------------------------------------------ - # Contraintes SQL - # ------------------------------------------------------ - # Unicité des PRM pour une opération par type de compteur d'injection (counter - operation - is_injection) - # Unicité des PRM pour une opération par type de compteur de soutirage (counter - operation - is_delivery) - _sql_constraints = [ - ('injection_unique', - 'unique(enercoop_counter_id, operation_id, is_injection)', - "Le point d'injection que vous souhaitez ajouter pour cette opération existe déjà"), - ('delivery_unique', - 'unique(enercoop_counter_id, operation_id, is_delivery)', - "Le point de soutirage que vous souhaitez ajouter pour cette opération existe déjà"), - ] - - @api.onchange('enercoop_counter_id') - def _onchange_enercoop_counter(self): - if self.enercoop_counter_id.partner_id: - self.partner_id = self.enercoop_counter_id.partner_id - else: - self.partner_id = False \ No newline at end of file diff --git a/models/enercoop_enedis_energie.py b/models/enercoop_enedis_energie.py deleted file mode 100644 index e3a9e80db0c346564b2400e2aedba28039502c5f..0000000000000000000000000000000000000000 --- a/models/enercoop_enedis_energie.py +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2021 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import fields, models, api - - -class EnercoopEnedisEnergie(models.Model): - _name = 'enercoop.enedis.energie' - _description = 'Energie Enedis' - - # ------------------------------------------------------ - # Fields declaration - # ------------------------------------------------------ - name = fields.Char("Libellé du fichier") - enercoop_operation_id = fields.Many2one('enercoop.operation', "Opération", required=True) - enercoop_counter_id = fields.Many2one('enercoop.counter', "ID PRM") - id_contract_injection = fields.Integer( - string="ID Contrat d'injection", - related='enercoop_counter_id.id_contract_injection') - comp_data_type = fields.Selection([ - ('Autoconso', 'Autoconso'), - ('Conso', 'Conso'), - ('Prod', 'Prod'), - ('Surplus', 'Surplus'), - ], - string="Type de donnée calculée" - ) - power = fields.Float("Puissance en kWH") - type_nrj = fields.Selection([ - ('BASE', 'BASE'), - ('HP', 'HP'), - ('HC', 'HC')], - string="Type d'Energie" - ) - - # ------------------------------------------------------ - # SQL Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Default methods - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Computed fields / Search Fields - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Onchange / Constraints - # ------------------------------------------------------ - - # ------------------------------------------------------ - # CRUD methods (ORM overrides) - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Actions - # ------------------------------------------------------ - - # ------------------------------------------------------ - # Business methods - # ------------------------------------------------------ diff --git a/models/res_partner.py b/models/res_partner.py index 4ea9c90df5143d33642ef86d23d4a6e4ad7c9622..a8040be003621527d601488191531f56b6acba2a 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -11,22 +11,22 @@ class ResPartner(models.Model): # Fields declaration # ------------------------------------------------------ is_pmo = fields.Boolean("Est un PMO") - enercoop_operation_ids = fields.One2many( - comodel_name='enercoop.operation', + acc_operation_ids = fields.One2many( + comodel_name='acc.operation', inverse_name='pmo_id', string="Liste des opérations", ) - is_enercoop_linked = fields.Boolean("Est un sociétaire/adhérent/actionnaire Enercoop") + is_acc_linked = fields.Boolean("Est un sociétaire/adhérent/actionnaire app") is_producer = fields.Boolean("Est un producteur") is_consumer = fields.Boolean("Est un consommateur") injection_counter_ids = fields.One2many( - comodel_name='enercoop.counter', + comodel_name='acc.counter', inverse_name='partner_id', string="Liste des points d'injection", domain="[('is_injection', '=', True)]" ) delivery_counter_ids = fields.One2many( - comodel_name='enercoop.counter', + comodel_name='acc.counter', inverse_name='partner_id', string="Liste des points d'injection", domain="[('is_delivery', '=', True)]" diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 29fb2df890c649c8cba4f4d987bdb8efd1fa8fc8..5b547a8a1b34c505ae4945201163d81a07901718 100755 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -1,11 +1,9 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink -"access_enercoop_operation_group_partner_manager","enercoop_operation group_partner_manager","model_enercoop_operation","base.group_partner_manager",1,1,1,1 -"access_enercoop_operation_group_user","enercoop_operation group_user","model_enercoop_operation","base.group_user",1,0,0,0 -"access_enercoop_counter_group_partner_manager","enercoop_counter group_partner_manager","model_enercoop_counter","base.group_partner_manager",1,1,1,1 -"access_enercoop_counter_group_user","enercoop_counter group_user","model_enercoop_counter","base.group_user",1,0,0,0 -"access_enercoop_enedis_cdc_group_partner_manager","enercoop_enedis_cdc group_partner_manager","model_enercoop_enedis_cdc","base.group_partner_manager",1,1,1,1 -"access_enercoop_enedis_cdc_group_user","enercoop_enedis_cdc group_user","model_enercoop_enedis_cdc","base.group_user",1,0,0,0 -"access_enercoop_enedis_import_logs_group_partner_manager","enercoop_enedis_import_logs group_partner_manager","model_enercoop_enedis_import_logs","base.group_partner_manager",1,1,1,1 -"access_enercoop_enedis_import_logs_group_user","enercoop_enedis_import_logs group_user","model_enercoop_enedis_import_logs","base.group_user",1,0,0,0 -"access_enercoop_counter_operation_group_partner_manager","enercoop_counter_operation group_partner_manager","model_enercoop_counter_operation","base.group_partner_manager",1,1,1,1 -"access_enercoop_counter_operation_group_user","enercoop_counter_operation group_user","model_enercoop_counter_operation","base.group_user",1,0,0,0 \ No newline at end of file +"access_acc_operation_group_partner_manager","acc_operation group_partner_manager","model_acc_operation","base.group_partner_manager",1,1,1,1 +"access_acc_operation_group_user","acc_operation group_user","model_acc_operation","base.group_user",1,0,0,0 +"access_acc_counter_group_partner_manager","acc_counter group_partner_manager","model_acc_counter","base.group_partner_manager",1,1,1,1 +"access_acc_counter_group_user","acc_counter group_user","model_acc_counter","base.group_user",1,0,0,0 +"access_acc_enedis_cdc_group_partner_manager","acc_enedis_cdc group_partner_manager","model_acc_enedis_cdc","base.group_partner_manager",1,1,1,1 +"access_acc_enedis_cdc_group_user","acc_enedis_cdc group_user","model_acc_enedis_cdc","base.group_user",1,0,0,0 +"access_acc_enedis_import_logs_group_partner_manager","acc_enedis_import_logs group_partner_manager","model_acc_enedis_import_logs","base.group_partner_manager",1,1,1,1 +"access_acc_enedis_import_logs_group_user","acc_enedis_import_logs group_user","model_acc_enedis_import_logs","base.group_user",1,0,0,0 \ No newline at end of file diff --git a/views/acc_counter_views.xml b/views/acc_counter_views.xml new file mode 100644 index 0000000000000000000000000000000000000000..9f813ee49e56cf43338bc56f61a538fafefc9f14 --- /dev/null +++ b/views/acc_counter_views.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + <record id="view_acc_counter_filter" model="ir.ui.view"> + <field name="name">view.acc.counter.filter</field> + <field name="model">acc.counter</field> + <field name="arch" type="xml"> + <search string="Recherche PRMn"> + <field name="name" string="PRM"/> + <separator/> + <filter string="Points d'injection" name="is_injection" domain="[('is_injection', '=', True)]"/> + <filter string="Points de soutirage" name="is_delivery" domain="[('is_delivery', '=', True)]"/> + <separator/> + </search> + </field> + </record> + + <record id="acc_place_form_view" model="ir.ui.view"> + <field name="name">acc_operation.acc.place.form</field> + <field name="model">acc.counter</field> + <field name="arch" type="xml"> + <form string="PRM"> + <sheet> + <div class="oe_title"> + <label for="name"/> + <h1> + <field name="name" placeholder="PRM"/> + </h1> + </div> + <group> + <group> + <field name="is_delivery"/> + </group> + <group attrs="{'invisible': [('is_delivery', '!=', True)]}"> + <field name="power_delivery"/> + <field name="conso_annual"/> + </group> + </group> + <group> + <group> + <field name="is_injection"/> + </group> + <group attrs="{'invisible': [('is_injection', '!=', True)]}"> + <field name="power_instal"/> + <field name="prod_annual"/> + </group> + </group> + <group name="infos"> + <group> + <field name="acc_operation_id" /> + <field name="date_start_contract" /> + <field name="date_end_contract" /> + </group> + <group> + <field name="partner_id" required="True"/> + <field name="street"/> + <field name="street2"/> + <field name="zip"/> + <field name="city"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="acc_counter_tree_view" model="ir.ui.view"> + <field name="name">acc.acc_counter.tree</field> + <field name="model">acc.counter</field> + <field name="arch" type="xml"> + <tree string="PRM"> + <field name="name"/> + <field name="partner_id"/> + <field name="city"/> + <field name="zip"/> + </tree> + </field> + </record> + + <record id="acc_counter_act_window" model="ir.actions.act_window"> + <field name="name">PRM</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">acc.counter</field> + <field name="view_mode">tree,form</field> + <field name="search_view_id" ref="view_acc_counter_filter"/> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Créer un PRM + </p> + </field> + </record> + + </data> +</odoo> \ No newline at end of file diff --git a/views/enercoop_enedis_cdc_views.xml b/views/acc_enedis_cdc_views.xml similarity index 63% rename from views/enercoop_enedis_cdc_views.xml rename to views/acc_enedis_cdc_views.xml index c19511291698e9ce1107f1450b786aa5939ec5e9..e227c07c71573043df04a459884b9ccfbd715778 100644 --- a/views/enercoop_enedis_cdc_views.xml +++ b/views/acc_enedis_cdc_views.xml @@ -2,9 +2,9 @@ <odoo> <data> - <record id="enercoop_enedis_cdc_form_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_cdc.form</field> - <field name="model">enercoop.enedis.cdc</field> + <record id="acc_enedis_cdc_form_view" model="ir.ui.view"> + <field name="name">acc.acc_enedis_cdc.form</field> + <field name="model">acc.enedis.cdc</field> <field name="arch" type="xml"> <form string="CDC Enedis"> <sheet> @@ -16,8 +16,8 @@ </div> <group> <group> - <field name="enercoop_operation_id"/> - <field name="enercoop_counter_id"/> + <field name="acc_operation_id"/> + <field name="acc_counter_id"/> </group> <group> <field name="date_slot"/> @@ -30,14 +30,14 @@ </field> </record> - <record id="enercoop_enedis_cdc_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_cdc.tree</field> - <field name="model">enercoop.enedis.cdc</field> + <record id="acc_enedis_cdc_tree_view" model="ir.ui.view"> + <field name="name">acc.acc_enedis_cdc.tree</field> + <field name="model">acc.enedis.cdc</field> <field name="arch" type="xml"> <tree string="CDC Enedis"> <field name="name"/> - <field name="enercoop_operation_id"/> - <field name="enercoop_counter_id"/> + <field name="acc_operation_id"/> + <field name="acc_counter_id"/> <field name="date_slot"/> <field name="comp_data_type"/> <field name="power"/> @@ -45,24 +45,24 @@ </field> </record> - <record id="enercoop_enedis_cdc_pivot_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_cdc.pivot</field> - <field name="model">enercoop.enedis.cdc</field> + <record id="acc_enedis_cdc_pivot_view" model="ir.ui.view"> + <field name="name">acc.acc_enedis_cdc.pivot</field> + <field name="model">acc.enedis.cdc</field> <field name="arch" type="xml"> <pivot string="Account Statistics" sample="1"> - <field name="enercoop_operation_id" type="row"/> + <field name="acc_operation_id" type="row"/> <field name="date_slot" type="row"/> - <field name="enercoop_counter_id" type="row"/> + <field name="acc_counter_id" type="row"/> <field name="comp_data_type" type="row"/> <field name="power" type="measure"/> </pivot> </field> </record> - <record id="enercoop_enedis_cdc_act_window" model="ir.actions.act_window"> + <record id="acc_enedis_cdc_act_window" model="ir.actions.act_window"> <field name="name">CDC ENEDIS</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.enedis.cdc</field> + <field name="res_model">acc.enedis.cdc</field> <field name="view_mode">tree,form,pivot</field> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> diff --git a/views/enercoop_enedis_import_logs_views.xml b/views/acc_enedis_import_logs_views.xml similarity index 60% rename from views/enercoop_enedis_import_logs_views.xml rename to views/acc_enedis_import_logs_views.xml index 938126cda8213b640a4445c58d25c0163aa2f183..d742195cf28df3f15b255079b7832c6372c481ad 100644 --- a/views/enercoop_enedis_import_logs_views.xml +++ b/views/acc_enedis_import_logs_views.xml @@ -2,22 +2,22 @@ <odoo> <data> - <record id="enercoop_enedis_import_logs_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_import_logs.tree</field> - <field name="model">enercoop.enedis.import.logs</field> + <record id="acc_enedis_import_logs_tree_view" model="ir.ui.view"> + <field name="name">acc.acc_enedis_import_logs.tree</field> + <field name="model">acc.enedis.import.logs</field> <field name="arch" type="xml"> <tree string="Logs Imports"> <field name="name"/> - <field name="enercoop_operation_id"/> + <field name="acc_operation_id"/> <field name="date_import"/> </tree> </field> </record> - <record id="enercoop_enedis_import_logs_act_window" model="ir.actions.act_window"> + <record id="acc_enedis_import_logs_act_window" model="ir.actions.act_window"> <field name="name">Logs Imports</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.enedis.import.logs</field> + <field name="res_model">acc.enedis.import.logs</field> <field name="view_mode">tree</field> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> diff --git a/views/enercoop_operation_views.xml b/views/acc_operation_views.xml similarity index 64% rename from views/enercoop_operation_views.xml rename to views/acc_operation_views.xml index 77e855ce54a47fa10c029586ce6700f974124ba5..69b3ccd57e2d766022c44e550763cb21256da031 100644 --- a/views/enercoop_operation_views.xml +++ b/views/acc_operation_views.xml @@ -2,36 +2,22 @@ <odoo> <data> - <record id="view_enercoop_operation_filter" model="ir.ui.view"> - <field name="name">view.enercoop.operation.filter</field> - <field name="model">enercoop.operation</field> + <record id="view_acc_operation_filter" model="ir.ui.view"> + <field name="name">view.acc.operation.filter</field> + <field name="model">acc.operation</field> <field name="arch" type="xml"> <search string="Recherche Opération"> <field name="name" string="Nom de l'opération"/> <separator/> - <!-- <filter name="day" string="Par jour" domain="[('enercoop_enedis_cdc_ids.date_slot', '=', '2021-03-10')]"/> - <filter name="week" string="Par semaine" domain="[('enercoop_enedis_cdc_ids.date_slot', '=', context_today().strftime('%Y-%m-%d'))]"/> --> - <!-- <separator/> --> - <filter string="Archived" name="inactive" domain="[('active', '=', False)]"/> + <filter string="Archivé" name="inactive" domain="[('active', '=', False)]"/> <separator/> - <!-- <filter - name="month" - string="Par mois" - domain="[('enercoop_enedis_cdc_ids.date_slot','>=',(context_today()-relativedelta(months=1)).strftime('%%Y-%%m-01')), ('enercoop_enedis_cdc_ids.date_slot','<',time.strftime('%%Y-%%m-01'))]" - /> - <filter - name="year" - string="Par an" - domain="[('enercoop_enedis_cdc_ids.date_slot','>=',(context_today()-relativedelta(year=1)).strftime('%%Y-%%m-01')), ('enercoop_enedis_cdc_ids.date_slot','<',time.strftime('%%Y-%%m-01'))]" - /> - <separator/> --> </search> </field> </record> - <record id="enercoop_operation_form_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_operation.form</field> - <field name="model">enercoop.operation</field> + <record id="acc_operation_form_view" model="ir.ui.view"> + <field name="name">acc.acc_operation.form</field> + <field name="model">acc.operation</field> <field name="arch" type="xml"> <form string="Opération"> <header > @@ -52,7 +38,7 @@ </h2> <label for="pmo_id"/> <h2> - <field name="pmo_id" placeholder="PMO"/> + <field name="pmo_id" placeholder="PMO" domain="[('is_pmo', '=', True)]" context="{'default_is_pmo': True}"/> </h2> </div> <group> @@ -67,31 +53,33 @@ <page string="Points d'injection" name="injection"> <field - name="enercoop_injection_operation_ids" - mode="tree" + name="acc_injection_ids" + widget="one2many" domain="[('is_injection', '=', True)]" - context="{'default_operation_id': active_id}"> + context="{'default_acc_operation_id': active_id, 'default_is_injection': True}"> <tree string="Points d'injection" editable="bottom"> - <field name="enercoop_counter_id" options="{'no_create': True}" domain="[('is_injection', '=', True)]"/> - <field name="partner_id"/> - <field name="date_start_contract"/> + <field name="acc_operation_id" invisible="1"/> + <field name="is_injection" invisible="1"/> + <field name="name"/> + <field name="partner_id" context="{'default_is_producer': True}"/> </tree> </field> </page> <page string="Points de soutirage" name="delivery"> - <field name="enercoop_delivery_operation_ids" - mode="tree" + <field name="acc_delivery_ids" + widget="one2many" domain="[('is_delivery', '=', True)]" - context="{'default_operation_id': active_id}"> + context="{'default_acc_operation_id': active_id, 'default_is_delivery': True}"> <tree string="Points de soutirage" editable="bottom"> - <field name="enercoop_counter_id" options="{'no_create': True}" domain="[('is_delivery', '=', True)]"/> - <field name="partner_id"/> - <field name="date_start_contract"/> + <field name="acc_operation_id" invisible="1"/> + <field name="is_delivery" invisible="1"/> + <field name="name" /> + <field name="partner_id" context="{'default_is_consumer': True}"/> </tree> </field> </page> <page string="Logs Imports" name="logs"> - <field name="enercoop_enedis_import_logs_ids" mode="tree" readonly="1"> + <field name="acc_enedis_import_logs_ids" mode="tree" readonly="1"> <tree string="Logs"> <field name="name"/> <field name="date_import"/> @@ -108,9 +96,9 @@ </field> </record> - <record id="enercoop_operation_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_operation.tree</field> - <field name="model">enercoop.operation</field> + <record id="acc_operation_tree_view" model="ir.ui.view"> + <field name="name">acc.acc_operation.tree</field> + <field name="model">acc.operation</field> <field name="arch" type="xml"> <tree string="Opération"> <field name="name"/> @@ -121,9 +109,9 @@ </record> <!-- Dashboard kanban view --> - <record id="enercoop_operation_kanban_view" model="ir.ui.view"> - <field name="name">enercoop.operation.kanban</field> - <field name="model">enercoop.operation</field> + <record id="acc_operation_kanban_view" model="ir.ui.view"> + <field name="name">acc.operation.kanban</field> + <field name="model">acc.operation</field> <field name="arch" type="xml"> <kanban class="oe_background_grey o_kanban_dashboard o_account_kanban"> <field name="id"/> @@ -136,9 +124,9 @@ <div class="container o_kanban_card_content oe_kanban_global_click"> <div class="row"> <div class="col text-center"> - <img alt="Operation image" t-if="record.image_256.raw_value" t-att-src="kanban_image('enercoop.operation', 'image_256', record.id.raw_value)"/> + <img alt="Operation image" t-if="record.image_256.raw_value" t-att-src="kanban_image('acc.operation', 'image_256', record.id.raw_value)"/> <t t-if="!record.image_128.raw_value"> - <img alt="Image Operation" class="img-fluid" style="max-width: 256px;" t-att-src='_s + "/enercoop_partner/static/img/placeholder.png"'/> + <img alt="Image Operation" class="img-fluid" style="max-width: 256px;" t-att-src='_s + "/acc_operation/static/img/placeholder.png"'/> </t> </div> </div> @@ -160,12 +148,12 @@ </field> </record> - <record id="enercoop_operation_act_window" model="ir.actions.act_window"> + <record id="acc_operation_act_window" model="ir.actions.act_window"> <field name="name">Opérations</field> <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.operation</field> + <field name="res_model">acc.operation</field> <field name="view_mode">kanban,tree,form</field> - <field name="search_view_id" ref="view_enercoop_operation_filter"/> + <field name="search_view_id" ref="view_acc_operation_filter"/> <field name="help" type="html"> <p class="o_view_nocontent_smiling_face"> Créer une opération diff --git a/views/enercoop_counter_operation_views.xml b/views/enercoop_counter_operation_views.xml deleted file mode 100644 index 049ed45e498c7ac498709b04b71adf4ed0fac179..0000000000000000000000000000000000000000 --- a/views/enercoop_counter_operation_views.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - - <record id="enercoop_counter_operation_form_view" model="ir.ui.view"> - <field name="name">enercoop_partner.enercoop.counter.operation.form</field> - <field name="model">enercoop.counter.operation</field> - <field name="arch" type="xml"> - <form string="Liens entre opérations et PRM "> - <sheet> - <group> - <field name="operation_id" invisible="1"/> - </group> - <group> - <group> - <field name="enercoop_counter_id"/> - <field name="partner_id"/> - <field name="date_start_contract"/> - <field name="date_end_contract"/> - </group> - <group> - <field name="is_injection"/> - <field name="is_delivery"/> - </group> - </group> - </sheet> - </form> - </field> - </record> - - <record id="enercoop_counter_operation_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_counter_operation.tree</field> - <field name="model">enercoop.counter.operation</field> - <field name="arch" type="xml"> - <tree string="PRMs"> - <field name="enercoop_counter_id"/> - <field name="partner_id"/> - </tree> - </field> - </record> - - </data> -</odoo> \ No newline at end of file diff --git a/views/enercoop_counter_views.xml b/views/enercoop_counter_views.xml deleted file mode 100644 index f4b47967f985b0ba11d92388212f6bce0f115bd1..0000000000000000000000000000000000000000 --- a/views/enercoop_counter_views.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - - <record id="enercoop_place_form_view" model="ir.ui.view"> - <field name="name">enercoop_partner.enercoop.place.form</field> - <field name="model">enercoop.counter</field> - <field name="arch" type="xml"> - <form string="Points de "> - <sheet> - <div class="oe_title"> - <label for="name"/> - <h1> - <field name="name" placeholder="PRM"/> - </h1> - </div> - <group> - <group> - <field name="is_delivery"/> - </group> - <group attrs="{'invisible': [('is_delivery', '!=', True)]}"> - <field name="power_delivery"/> - <field name="conso_annual"/> - </group> - </group> - <group> - <group> - <field name="is_injection"/> - </group> - <group attrs="{'invisible': [('is_injection', '!=', True)]}"> - <field name="id_contract_injection"/> - <field name="power_instal"/> - <field name="prod_annual"/> - </group> - </group> - <group> - <field name="partner_id" required="True"/> - <field name="street"/> - <field name="street2"/> - <field name="zip"/> - <field name="city"/> - </group> - <notebook> - <page string="Liste des opérations"> - <field - name="enercoop_operation_ids" - widget="one2many" - readonly="1"> - <tree string="Liste des opérations"> - <field name="operation_id" options="{'no_create': True}" /> - <field name="is_injection"/> - <field name="is_delivery"/> - </tree> - </field> - </page> - </notebook> - </sheet> - </form> - </field> - </record> - - <record id="enercoop_counter_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_counter.tree</field> - <field name="model">enercoop.counter</field> - <field name="arch" type="xml"> - <tree string="PRM"> - <field name="name"/> - <field name="partner_id"/> - <field name="city"/> - <field name="zip"/> - </tree> - </field> - </record> - - <record id="point_injection_act_window" model="ir.actions.act_window"> - <field name="name">Points d'injection</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.counter</field> - <field name="view_mode">tree,form</field> - <field name="domain" eval="[('is_injection','=', True)]"/> - <field name="context">{'default_is_injection': True}</field> - <field name="help" type="html"> - <p class="oe_view_nocontent_create"> - Créer un point d'injection - </p> - </field> - </record> - - <record id="point_delivery_act_window" model="ir.actions.act_window"> - <field name="name">Points de soutirage</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.counter</field> - <field name="view_mode">tree,form</field> - <field name="domain" eval="[('is_delivery','=', True)]"/> - <field name="context">{'default_is_delivery': True}</field> - <field name="help" type="html"> - <p class="oe_view_nocontent_create"> - Créer un point de soutirage - </p> - </field> - </record> - - </data> -</odoo> \ No newline at end of file diff --git a/views/enercoop_enedis_energie_views.xml b/views/enercoop_enedis_energie_views.xml deleted file mode 100644 index c2b5e0c7723b6a16d9771ab95e1dfcfa0fbf63f1..0000000000000000000000000000000000000000 --- a/views/enercoop_enedis_energie_views.xml +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data> - - <record id="enercoop_enedis_energie_form_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_energie.form</field> - <field name="model">enercoop.enedis.energie</field> - <field name="arch" type="xml"> - <form string="Energie Enedis"> - <sheet> - <div class="oe_title"> - <label for="name"/> - <h1> - <field name="name"/> - </h1> - </div> - <group> - <group> - <field name="enercoop_operation_id"/> - <field name="enercoop_counter_id"/> - </group> - <group> - <field name="comp_data_type"/> - <field name="type_nrj"/> - <field name="power"/> - </group> - </group> - </sheet> - </form> - </field> - </record> - - <record id="enercoop_enedis_energie_tree_view" model="ir.ui.view"> - <field name="name">enercoop.enercoop_enedis_energie.tree</field> - <field name="model">enercoop.enedis.energie</field> - <field name="arch" type="xml"> - <tree string="Energie Enedis"> - <field name="name"/> - <field name="enercoop_operation_id"/> - <field name="enercoop_counter_id"/> - <field name="comp_data_type"/> - <field name="type_nrj"/> - <field name="power"/> - </tree> - </field> - </record> - - <record id="enercoop_enedis_energie_act_window" model="ir.actions.act_window"> - <field name="name">Energie ENEDIS</field> - <field name="type">ir.actions.act_window</field> - <field name="res_model">enercoop.enedis.energie</field> - <field name="view_mode">tree,form</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Créer une entrée de données - </p> - </field> - </record> - - </data> -</odoo> \ No newline at end of file diff --git a/views/menu_views.xml b/views/menu_views.xml index aa0d235e5792f436b171d3414c233da1b335e2a7..0707b2f5b18cc7a2198abde6885d62dc1b456b5e 100644 --- a/views/menu_views.xml +++ b/views/menu_views.xml @@ -2,73 +2,55 @@ <odoo> <data> - <menuitem id="menu_enercoop" - name="Opérations" + <menuitem id="menu_acc" + name="ACC" sequence="6" - web_icon="enercoop_partner,static/img/icon_operation.png" + web_icon="acc_operation,static/img/icon_operation.png" groups="base.group_user,base.group_partner_manager"/> - <menuitem id="menu_liste_operations" - parent="menu_enercoop" + <menuitem id="menu_general" + parent="menu_acc" + name="ACC" + sequence="10"/> + + <menuitem id="menu_operations" + parent="menu_general" name="Operations" sequence="10" - action="enercoop_partner.enercoop_operation_act_window"/> - - <menuitem id="menu_pmo" - parent="menu_enercoop" - name="PMO" - sequence="20" - action="enercoop_partner.pmo_act_window"/> - - <menuitem id="menu_producer" - parent="menu_enercoop" - name="Producteurs" - sequence="30" - action="enercoop_partner.producer_act_window"/> - - <menuitem id="menu_consumer" - parent="menu_enercoop" - name="Consommateurs" - sequence="40" - action="enercoop_partner.consumer_act_window"/> - - <menuitem id="menu_compteur" - parent="menu_enercoop" + action="acc_operation.acc_operation_act_window"/> + + <menuitem id="menu_prm" + parent="menu_general" name="PRM" - sequence="40"/> - - <menuitem id="menu_point_injection" - parent="menu_compteur" - name="Points d'injection" - sequence="10" - action="enercoop_partner.point_injection_act_window"/> - - <menuitem id="menu_point_delivery" - parent="menu_compteur" - name="Points de soutirage" sequence="20" - action="enercoop_partner.point_delivery_act_window"/> + action="acc_operation.acc_counter_act_window"/> + + <menuitem id="acc_operation_menu_contacts" + name="Contacts" + action="contacts.action_contacts" + parent="menu_acc" + sequence="20"/> - <menuitem id="enercoop_enedis_menu" + <menuitem id="acc_enedis_menu" name="Données Enedis" - parent="menu_enercoop" + parent="menu_acc" sequence="40"/> - <menuitem id="enercoop_enedis_cdc_menu" - parent="enercoop_enedis_menu" + <menuitem id="acc_enedis_cdc_menu" + parent="acc_enedis_menu" name="CDC Enedis" sequence="10" - action="enercoop_partner.enercoop_enedis_cdc_act_window"/> + action="acc_operation.acc_enedis_cdc_act_window"/> - <menuitem id="enercoop_enedis_import_logs_menu" - parent="enercoop_enedis_menu" + <menuitem id="acc_enedis_import_logs_menu" + parent="acc_enedis_menu" name="Logs Import des données" sequence="30" - action="enercoop_partner.enercoop_enedis_import_logs_act_window"/> + action="acc_operation.acc_enedis_import_logs_act_window"/> - <menuitem id="menu_enercoop_config" + <menuitem id="menu_acc_config" name="Configuration" - parent="menu_enercoop" + parent="menu_acc" sequence="60"/> </data> </odoo> \ No newline at end of file diff --git a/views/res_partner_views.xml b/views/res_partner_views.xml index f4c4708f8b7ff717808dac32baefacd4dc7f8b3b..54024e0606af5675fd126fa77cb918bde19fa888 100644 --- a/views/res_partner_views.xml +++ b/views/res_partner_views.xml @@ -2,6 +2,20 @@ <odoo> <data> + <record id="view_res_partner_filter" model="ir.ui.view"> + <field name="name">res.partner.select</field> + <field name="model">res.partner</field> + <field name="inherit_id" ref="base.view_res_partner_filter"/> + <field name="arch" type="xml"> + <xpath expr="//filter[@name='type_person']" position="before"> + <filter string="PMO" name="type_pmo" domain="[('is_pmo', '=', True)]"/> + <filter string="Consommateurs" name="type_consumer" domain="[('is_consumer', '=', True)]"/> + <filter string="Producteurs" name="type_producer" domain="[('is_producer', '=', True)]"/> + <separator/> + </xpath> + </field> + </record> + <record id="view_partner_form" model="ir.ui.view"> <field name="name">res.partner.form</field> <field name="model">res.partner</field> @@ -20,7 +34,7 @@ <field name="delivery_counter_ids" widget="one2many"/> </page> <page string="Liste des opérations" name="operation" attrs="{'invisible': [('is_producer', '=', False), ('is_consumer', '=', False), ('is_pmo', '=', False)]}"> - <field name="enercoop_operation_ids" widget="one2many"> + <field name="acc_operation_ids" widget="one2many"> <tree string="Liste des opérations" > <field name="name"/> <field name="pmo_id"/> @@ -33,20 +47,16 @@ </group> <notebook> <page string="Points d'injection" name="injection"> - <field name="enercoop_injection_operation_ids" widget="one2many" domain="[('is_injection', '=', True)]"> + <field name="acc_injection_ids" widget="one2many" domain="[('is_injection', '=', True)]"> <tree string="Points d'injection" editable="top"> - <field name="enercoop_counter_id" options="{'no_create': True}" domain="[('is_injection', '=', True)]"/> - <field name="date_start_contract"/> - <field name="date_end_contract"/> + <field name="name"/> </tree> </field> </page> <page string="Points de soutirage" name="delivery"> - <field name="enercoop_delivery_operation_ids" widget="one2many" domain="[('is_delivery', '=', True)]"> + <field name="acc_delivery_ids" widget="one2many" domain="[('is_delivery', '=', True)]"> <tree string="Points de soutirage" editable="top"> - <field name="enercoop_counter_id" options="{'no_create': True}" domain="[('is_delivery', '=', True)]"/> - <field name="date_start_contract"/> - <field name="date_end_contract"/> + <field name="name"/> </tree> </field> </page> @@ -59,60 +69,5 @@ </field> </record> - <!-- PMO Action --> - <record model="ir.actions.act_window" id="pmo_act_window"> - <field name="name">PMO</field> - <field name="res_model">res.partner</field> - <field name="view_mode">kanban,tree,form</field> - <field name="domain" eval="[('is_pmo','=', True)]"/> - <field name="view_ids" eval="[(5, 0, 0), - (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}), - (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}), - (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"/> - <field name="context">{'default_is_pmo': True, 'default_is_company': True, 'default_company_type': 'company',}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Créer un nouveau PMO - </p> - </field> - </record> - - <!-- Producer Action --> - <record model="ir.actions.act_window" id="producer_act_window"> - <field name="name">Producteurs</field> - <field name="res_model">res.partner</field> - <field name="view_mode">kanban,tree,form</field> - <field name="domain" eval="[('is_producer','=', True)]"/> - <field name="view_ids" eval="[(5, 0, 0), - (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}), - (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}), - (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"/> - <field name="context">{'default_is_producer': True}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Créer un nouveau Producteur - </p> - </field> - </record> - - <!-- Consumer Action --> - <record model="ir.actions.act_window" id="consumer_act_window"> - <field name="name">Consommateurs</field> - <field name="res_model">res.partner</field> - <field name="view_mode">kanban,tree,form</field> - <field name="domain" eval="[('is_consumer','=', True)]"/> - <field name="view_ids" eval="[(5, 0, 0), - (0, 0, {'view_mode': 'kanban', 'view_id': ref('base.res_partner_kanban_view')}), - (0, 0, {'view_mode': 'tree', 'view_id': ref('base.view_partner_tree')}), - (0, 0, {'view_mode': 'form', 'view_id': ref('base.view_partner_form')})]"/> - <field name="context">{'default_is_consumer': True}</field> - <field name="help" type="html"> - <p class="o_view_nocontent_smiling_face"> - Créer un nouveau Consommateur - </p> - </field> - </record> - - </data> </odoo> \ No newline at end of file