Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 15472183692c18a40f90b8817831f227bf36eeaa
  • 14.0 par défaut protégée
2 résultats

operation_services.py

Blame
  • res_partner.py 2,22 Kio
    # 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 api, fields, models
    
    
    class ResPartner(models.Model):
        _inherit = "res.partner"
    
        # ------------------------------------------------------
        # Fields declaration
        # ------------------------------------------------------
        sale_project_count = fields.Integer(
            compute="_compute_sale_project_count", string="Nombre de projets"
        )
        sale_project_ids = fields.One2many(
            "sale.project", "partner_id", "Liste des projets"
        )
        sale_project_seq = fields.Integer(string="Séquence de projets", default="0")
    
        # ------------------------------------------------------
        # SQL Constraints
        # ------------------------------------------------------
    
        # ------------------------------------------------------
        # Default methods
        # ------------------------------------------------------
    
        # ------------------------------------------------------
        # Computed fields / Search Fields
        # ------------------------------------------------------
        @api.depends("sale_project_ids")
        def _compute_sale_project_count(self):
            for res in self:
                res.sale_project_count = self.env["sale.project"].search_count(
                    [("partner_id", "=", res.id)]
                )
    
        # ------------------------------------------------------
        # Onchange / Constraints
        # ------------------------------------------------------
    
        # ------------------------------------------------------
        # CRUD methods (ORM overrides)
        # ------------------------------------------------------
    
        # ------------------------------------------------------
        # Actions
        # ------------------------------------------------------
        def action_view_partner_projects(self):
            self.ensure_one()
            action = self.env["ir.actions.actions"]._for_xml_id(
                "ap_sale_project.action_sale_project"
            )
            action["domain"] = [
                ("partner_id", "child_of", self.id),
            ]
            return action
    
        # ------------------------------------------------------
        # Business methods
        # ------------------------------------------------------