Skip to content

Commit

Permalink
Merge pull request #35 from Domatix/13.0-errs
Browse files Browse the repository at this point in the history
13.0 errs
  • Loading branch information
catalin-domatix authored Jul 21, 2020
2 parents f008668 + 303d46a commit cc9839e
Show file tree
Hide file tree
Showing 6 changed files with 34 additions and 19 deletions.
38 changes: 26 additions & 12 deletions helpdesk_mgmt/models/helpdesk_ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,20 @@ def _compute_automatic_user_assignment(self):
):
_user_id = record.search_user_id_by_strategy()
record.user_id = _user_id.id if _user_id else None
if isinstance(record.user_id.id, int) and record.user_id.id != user_id.id:
if isinstance(record.id, int) and record.user_id.id != user_id.id:
record.send_user_mail()

def _inverse_automatic_user_assignment(self):
pass
@api.depends("team_id")
def _compute_domain_user_id(self):
for record in self:
if record.team_id and record.user_ids:
helpdesk_team = self.env["res.users"].search(
[("id", "in", record.user_ids.ids)]
)
record.computed_domain_user_id = [(6, 0, helpdesk_team.ids)]
else:
helpdesk_team = self.env["res.users"].search([("share", "=", False)])
record.computed_domain_user_id = [(6, 0, helpdesk_team.ids)]

@api.model
def _read_group_stage_ids(self, stages, domain, order):
Expand All @@ -58,12 +67,15 @@ def _read_group_stage_ids(self, stages, domain, order):
number = fields.Char(string="Ticket number", default="/", readonly=True)
name = fields.Char(string="Title", required=True)
description = fields.Text(required=True)
computed_domain_user_id = fields.Many2many(
"res.users", compute="_compute_domain_user_id"
)
user_id = fields.Many2one(
comodel_name="res.users",
string="Assigned user",
compute=_compute_automatic_user_assignment,
store=True,
inverse=_inverse_automatic_user_assignment,
readonly=False,
)
user_ids = fields.Many2many(
comodel_name="res.users", related="team_id.user_ids", string="Users"
Expand All @@ -81,7 +93,6 @@ def _read_group_stage_ids(self, stages, domain, order):
partner_id = fields.Many2one(comodel_name="res.partner", string="Contact")
partner_name = fields.Char()
partner_email = fields.Char(string="Email")

last_stage_update = fields.Datetime(
string="Last Stage Update", default=fields.Datetime.now
)
Expand Down Expand Up @@ -214,18 +225,21 @@ def _onchange_partner_id(self):

@api.onchange("team_id", "user_id")
def _onchange_domain_user_id(self):
if self.user_id and self.user_ids and self.user_id not in self.team_id.user_ids:
self.update({"user_id": False})
res = ""
if self.team_id and self.team_id.user_ids:
return {
if self.user_id not in self.team_id.user_ids:
self.update({"user_id": False})
res = {
"domain": {
"user_id": [("id", "in", self.user_ids.ids), ("share", "=", False)]
"user_id": [
("id", "in", self.team_id.user_ids.ids),
("share", "=", False),
]
}
}
if self.team_id and not self.team_id.user_ids:
return {"domain": {"user_id": [("share", "=", False)]}}
else:
return {"domain": {"user_id": []}}
res = {"domain": {"user_id": [("share", "=", False)]}}
return res

# ---------------------------------------------------
# CRUD
Expand Down
3 changes: 3 additions & 0 deletions helpdesk_mgmt/tests/test_helpdesk_ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ def test_automatic_assign(self):
self.assertEqual(self.auto_assign_ticket_id.user_id.id, self.user_demo.id)
self.auto_assign_ticket_id.user_id = None
self.assertEqual(len(self.auto_assign_ticket_id.user_id), 0)
self.ticket._onchange_domain_user_id()
self.ticket._compute_domain_user_id()

# Fixed
self.team_id.auto_assign_type = "fixed"
self.team_id._onchange_assign_user_domain()
Expand Down
3 changes: 2 additions & 1 deletion helpdesk_mgmt/views/helpdesk_ticket_views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,11 @@
<group>
<field name="active" invisible="1" />
<field name="team_id" />
<field name="computed_domain_user_id" invisible="1" />
<field name="user_ids" invisible="1" readonly="1" />
<field
name="user_id"
domain="[('id', 'in', user_ids)]"
domain="[('share', '=', False), ('id', 'in', computed_domain_user_id)]"
options="{'always_reload': True, 'no_create ': True, 'no_create_edit' : True}"
/>
<field name="priority" widget="priority" class="mr-3" />
Expand Down
3 changes: 1 addition & 2 deletions setup/helpdesk_mgmt/setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
setup_requires=["setuptools-odoo"], odoo_addon=True,
)
3 changes: 1 addition & 2 deletions setup/helpdesk_mgmt_rating/setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
setup_requires=["setuptools-odoo"], odoo_addon=True,
)
3 changes: 1 addition & 2 deletions setup/helpdesk_sale_order/setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
setup_requires=["setuptools-odoo"], odoo_addon=True,
)

0 comments on commit cc9839e

Please sign in to comment.