diff --git a/__manifest__.py b/__manifest__.py index b9773dd8f8c34cf21ae270606474e87603376447..9db205b9469d1a6d630148c6f6129f77daf5f709 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -5,8 +5,9 @@ "website": "https://www.le-filament.com", "version": "14.0.1.0.1", "license": "AGPL-3", - "depends": ["contacts"], + "depends": ["contacts", "portal"], "data": [ + "security/security.xml", "security/ir.model.access.csv", # datas # views diff --git a/models/acc_contract.py b/models/acc_contract.py index eb873348997142157fb66943f6295f287df96967..5c8be7c72ec2aa2748c5f1673b6be64e74985d67 100644 --- a/models/acc_contract.py +++ b/models/acc_contract.py @@ -6,6 +6,7 @@ from odoo import fields, models class AccContract(models.Model): _name = "acc.contract" + _inherit = ["portal.mixin"] _description = "Contrats" # ------------------------------------------------------ @@ -25,7 +26,7 @@ class AccContract(models.Model): ) start_date = fields.Date("Début du contrat") end_date = fields.Date("Fin du contrat") - document = fields.Binary("Document attaché") + document = fields.Binary("Document attaché", required=True) name = fields.Char("Nom du document") # ------------------------------------------------------ # SQL Constraints @@ -54,3 +55,7 @@ class AccContract(models.Model): # ------------------------------------------------------ # Business methods # ------------------------------------------------------ + def _compute_access_url(self): + super(AccContract, self)._compute_access_url() + for contract in self: + contract.access_url = "/contract/%s" % (contract.id) diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 4e0cc9e3ca65d75d193ecee1ca164e12f94aec5d..2accf227a2354e9ccf27f17261bc706806cb220e 100644 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -5,6 +5,7 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink "access_acc_counter_group_user","acc_counter group_user","model_acc_counter","base.group_user",1,0,0,0 "access_acc_contract_group_partner_manager","acc_contract group_partner_manager","model_acc_contract","base.group_partner_manager",1,1,1,1 "access_acc_contract_group_user","acc_contract group_user","model_acc_contract","base.group_user",1,0,0,0 +"access_acc_contract_group_portal","acc_contract group_portal","model_acc_contract","base.group_portal",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 diff --git a/security/security.xml b/security/security.xml new file mode 100644 index 0000000000000000000000000000000000000000..b183e59ce55fc351fefef6df13111a76ede26c1f --- /dev/null +++ b/security/security.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + + <data> + + <!-- Portal for contract --> + <record id="acc_contract_rule_portal_buyer" model="ir.rule"> + <field name="name">Portail : Contrats - Acheteur</field> + <field name="model_id" ref="acc_operation.model_acc_contract" /> + <field + name="domain_force" + >[('buyer_id','in',[user.partner_id.parent_id.id, user.partner_id.id])]</field> + <field name="groups" eval="[(4, ref('base.group_portal'))]" /> + </record> + <record id="acc_contract_rule_portal_seller" model="ir.rule"> + <field name="name">Portail : Contrats - Vendeur</field> + <field name="model_id" ref="acc_operation.model_acc_contract" /> + <field + name="domain_force" + >[('seller_id','in',[user.partner_id.parent_id.id, user.partner_id.id])]</field> + <field name="groups" eval="[(4, ref('base.group_portal'))]" /> + </record> + + </data> + +</odoo>