mirror of
https://github.com/bringout/oca-workflow-process.git
synced 2026-04-19 07:32:03 +02:00
Initial commit: OCA Workflow Process packages (456 packages)
This commit is contained in:
commit
d366e42934
18799 changed files with 1284507 additions and 0 deletions
|
|
@ -0,0 +1,57 @@
|
|||
# Copyright 2018-2019 Brainbean Apps (https://brainbeanapps.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class ProjectProject(models.Model):
|
||||
_inherit = "project.project"
|
||||
|
||||
assignment_ids = fields.One2many(
|
||||
string="Project Assignments",
|
||||
comodel_name="project.assignment",
|
||||
inverse_name="project_id",
|
||||
tracking=True,
|
||||
)
|
||||
inherit_assignments = fields.Boolean(
|
||||
default=lambda self: self._default_inherit_assignments(),
|
||||
)
|
||||
limit_role_to_assignments = fields.Boolean(
|
||||
default=lambda self: self._default_limit_role_to_assignments(),
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _default_inherit_assignments(self):
|
||||
company = self.env["res.company"].browse(
|
||||
self._context.get("company_id", self.env.company.id)
|
||||
)
|
||||
return company.project_inherit_assignments
|
||||
|
||||
@api.model
|
||||
def _default_limit_role_to_assignments(self):
|
||||
company = self.env["res.company"].browse(
|
||||
self._context.get("company_id", self.env.company.id)
|
||||
)
|
||||
return company.project_limit_role_to_assignments
|
||||
|
||||
def _project_role_create_assignment_values(self, vals_list):
|
||||
"""Complete values with default assignments from company"""
|
||||
company_ids = [v["company_id"] for v in vals_list if v.get("company_id")]
|
||||
companies = self.env["res.company"].browse(company_ids)
|
||||
for values in vals_list:
|
||||
company = None
|
||||
if values.get("company_id"):
|
||||
company = companies.filtered(lambda c: c.id == values["company_id"])
|
||||
if company and "inherit_assignments" not in values:
|
||||
values["inherit_assignments"] = company.project_inherit_assignments
|
||||
|
||||
if company and "limit_role_to_assignments" not in values:
|
||||
values[
|
||||
"limit_role_to_assignments"
|
||||
] = company.project_limit_role_to_assignments
|
||||
return vals_list
|
||||
|
||||
@api.model_create_multi
|
||||
def create(self, vals_list):
|
||||
vals_list = self._project_role_create_assignment_values(vals_list)
|
||||
return super().create(vals_list)
|
||||
Loading…
Add table
Add a link
Reference in a new issue