Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions mgmtsystem_nonconformity/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,5 @@
"demo/mgmtsystem_nonconformity_cause.xml",
"demo/mgmtsystem_nonconformity.xml",
],
"assets": {
"web.assets_backend": [
"mgmtsystem_nonconformity/static/src/**/*.xml",
"mgmtsystem_nonconformity/static/src/**/*.js",
],
},
"installable": True,
}
17 changes: 2 additions & 15 deletions mgmtsystem_nonconformity/models/mgmtsystem_nonconformity.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,7 @@ def _stage_groups(self, stages, domain, order):
closing_date = fields.Datetime(readonly=True)

partner_id = fields.Many2one("res.partner", "Partner", required=True)
reference = fields.Char(
"Related to", default=lambda self: self._default_reference()
)
reference = fields.Char("Related to")
responsible_user_id = fields.Many2one(
"res.users", "Responsible", required=True, tracking=True
)
Expand Down Expand Up @@ -139,20 +137,9 @@ def _stage_groups(self, stages, domain, order):
company_id = fields.Many2one(
"res.company", "Company", default=lambda self: self.env.company
)
res_model = fields.Char(index=True)
res_model = fields.Char()
res_id = fields.Integer(index=True)

@api.model
def _default_reference(self):
if self.env.context.get("active_model") and self.env.context.get("active_id"):
return (
self.env[self.env.context["active_model"]]
.browse(self.env.context.get("active_id"))
.exists()
.display_name
)
return ""

def _get_all_actions(self):
self.ensure_one()
return self.action_ids + self.immediate_action_id
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# Copyright (C) 2010 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from lxml import etree

from odoo import api, fields, models
from odoo.tools.misc import frozendict


class MgmtsystemNonconformityAbstract(models.AbstractModel):
# TODO: Remove this on 17.0 and move everything on mail.thread

_name = "mgmtsystem.nonconformity.abstract"
_description = "Nonconformity Abstract"

Expand Down Expand Up @@ -40,51 +38,3 @@ def action_view_non_conformities(self):
action["domain"] = self._get_non_conformities_domain()
action["context"] = self._get_non_conformities_context()
return action


class MailThread(models.AbstractModel):
_name = "mail.thread"
_inherit = ["mail.thread", "mgmtsystem.nonconformity.abstract"]

@api.model
def get_view(self, view_id=None, view_type="form", **options):
res = super().get_view(view_id=view_id, view_type=view_type, **options)
if view_type == "form" and self.env.user.has_group(
"mgmtsystem.group_mgmtsystem_viewer"
):
View = self.env["ir.ui.view"]
if view_id and res.get("base_model", self._name) != self._name:
View = View.with_context(base_model_name=res["base_model"])
doc = etree.XML(res["arch"])

# We need to copy, because it is a frozen dict
all_models = res["models"].copy()
for node in doc.xpath("/form/div[hasclass('oe_chatter')]"):
# _add_tier_validation_label process
new_node = etree.fromstring(
"<field name='non_conformity_count' invisible='1'/>"
)
new_arch, new_models = View.postprocess_and_fields(new_node, self._name)
new_node = etree.fromstring(new_arch)
for model in list(filter(lambda x: x not in all_models, new_models)):
if model not in res["models"]:
all_models[model] = new_models[model]
else:
all_models[model] = res["models"][model]
node.addprevious(new_node)
res["arch"] = etree.tostring(doc)
res["models"] = frozendict(all_models)
return res

@api.model
def _get_view_fields(self, view_type, models):
"""
We need to add this in order to fix the usage of form opening from
trees inside a form
"""
result = super()._get_view_fields(view_type, models)
if view_type == "form" and self.env.user.has_group(
"mgmtsystem.group_mgmtsystem_viewer"
):
result[self._name].add("non_conformity_count")
return result

This file was deleted.

16 changes: 0 additions & 16 deletions mgmtsystem_nonconformity/views/mgmtsystem_nonconformity.xml
Original file line number Diff line number Diff line change
Expand Up @@ -376,22 +376,6 @@
<field name="search_view_id" ref="view_mgmtsystem_nonconformity_filter" />
<field name="context">{"search_default_user_id":uid}</field>
</record>
<record
model="ir.actions.act_window"
id="open_mgmtsystem_nonconformity_thread_list"
>
<field name="name">Nonconformities</field>
<field name="res_model">mgmtsystem.nonconformity</field>
<field name="view_mode">kanban,tree,form</field>
<field
name="domain"
>[('res_id', '=', active_id), ('res_model', '=', active_model)]</field>
<field name="view_id" ref="view_mgmtsystem_nonconformity_kanban" />
<field name="search_view_id" ref="view_mgmtsystem_nonconformity_filter" />
<field
name="context"
>{"search_default_user_id":uid, "default_res_model": active_model, "default_res_id": active_id}</field>
</record>
<menuitem
id="menu_open_nonconformity"
name="Nonconformities"
Expand Down
Loading