Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 79136f978d561fc0e48ef930f5f4ada784d395f9
  • 12.0 par défaut protégée
  • 14-RV-20250312
  • 14-RV-20250305
  • 14-RV-20250129
  • 12-RV-Orthographe
6 résultats

cgscop_timesheet_code.py

Blame
  • Bifurcation depuis Le Filament / Confédération Générale des SCOP / cgscop_timesheet
    Le projet source a une visibilité limitée.
    ir_module_module.py 1,37 Kio
    # © 2022 Le Filament (<http://www.le-filament.com>)
    # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
    
    import requests
    
    from odoo import exceptions, models
    
    
    class IrModule(models.Model):
        _inherit = "ir.module.module"
    
        # ------------------------------------------------------
        # Common function
        # ------------------------------------------------------
        def _get_modules(self):
            modules = self.sudo().search([("state", "=", "installed")])
            res = modules.mapped(
                lambda m: {
                    "name": m.name,
                    "author": m.author,
                    "latest_version": m.latest_version,
                    "author_type": m._get_author_type(),
                }
            )
            return res
    
        def _get_author_type(self):
            self.ensure_one()
            if "OCA" in self.author:
                return "oca"
            elif "FILAMENT" in self.author.upper():
                return "lefilament"
            elif "Odoo S.A." in self.author:
                return "odoo"
            else:
                return "other"
    
        def post_modules(self):
            try:
                requests.post(
                    url="https://monfil.le-filament.com/post-modules",
                    json={"modules": self._get_modules()},
                    verify=True,
                    timeout=10,
                )
            except Exception as e:
                raise exceptions.UserError(e.__str__())