Skip to content

Commit

Permalink
[MIG] helpdesk_mgmt: Migration to 17.0
Browse files Browse the repository at this point in the history
Co-authored-by: Chandni Prajapati Khamar <[email protected]>
  • Loading branch information
giarve and chandni-serpentcs committed Oct 26, 2024
1 parent 924e889 commit 9db2f9e
Show file tree
Hide file tree
Showing 23 changed files with 226 additions and 287 deletions.
8 changes: 4 additions & 4 deletions helpdesk_mgmt/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ Usage
2. In the Kanban view, click in the kanban card of a team to see their
tickets and create new ones.

|image1|
|Tickets_Kanban|

To create a new ticket from the kanban view:

Expand All @@ -154,10 +154,10 @@ To create a new ticket from the kanban view:
8. Add a description.
9. You can also attach files to the ticket.

|image2|
|Tickets01|

.. |image1| image:: https://raw.githubusercontent.com/OCA/helpdesk/17.0/helpdesk_mgmt/static/description/Tickets_Kanban.PNG
.. |image2| image:: https://raw.githubusercontent.com/OCA/helpdesk/17.0/helpdesk_mgmt/static/description/Tickets01.PNG
.. |Tickets_Kanban| image:: https://raw.githubusercontent.com/OCA/helpdesk/17.0/helpdesk_mgmt/static/description/Tickets_Kanban.PNG
.. |Tickets01| image:: https://raw.githubusercontent.com/OCA/helpdesk/17.0/helpdesk_mgmt/static/description/Tickets01.PNG

Known issues / Roadmap
======================
Expand Down
2 changes: 1 addition & 1 deletion helpdesk_mgmt/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"name": "Helpdesk Management",
"summary": """
Helpdesk""",
"version": "16.0.2.6.2",
"version": "17.0.1.0.0",
"license": "AGPL-3",
"category": "After-Sales",
"author": "AdaptiveCity, "
Expand Down
2 changes: 1 addition & 1 deletion helpdesk_mgmt/controllers/myaccount.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,4 +259,4 @@ def _ticket_get_order(self, order, groupby):
field_name = groupby_mapping.get(groupby, "")
if not field_name:
return order
return "%s, %s" % (field_name, order)
return f"{field_name}, {order}"

Check warning on line 262 in helpdesk_mgmt/controllers/myaccount.py

View check run for this annotation

Codecov / codecov/patch

helpdesk_mgmt/controllers/myaccount.py#L262

Added line #L262 was not covered by tests
3 changes: 1 addition & 2 deletions helpdesk_mgmt/data/helpdesk_data.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<record model="ir.module.category" id="module_helpdesk_category">
<record id="module_helpdesk_category" model="ir.module.category">
<field name="name">Helpdesk</field>
<field name="description">Helps you handle your helpdesk security.</field>
<field name="sequence">9</field>
Expand Down Expand Up @@ -320,7 +320,6 @@
<record id="mail_alias_lead_info_helpdesk" model="mail.alias">
<field name="alias_name">help</field>
<field name="alias_model_id" ref="model_helpdesk_ticket" />
<field name="alias_user_id" ref="base.user_admin" />
<field name="alias_parent_model_id" ref="model_helpdesk_ticket_team" />
</record>
<!-- Helpdesk Ticket-related subtypes for messaging / Chatter -->
Expand Down
66 changes: 33 additions & 33 deletions helpdesk_mgmt/demo/helpdesk_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
<field name="groups_id" eval="[(4,ref('group_helpdesk_user'))]" />
</record>
<!-- Categories -->
<record id="helpdesk_category_1" model="helpdesk.ticket.category">
<record id="helpdesk_category_1_demo" model="helpdesk.ticket.category">
<field eval="&quot;Software&quot;" name="name" />
<field name="company_id" ref="base.main_company" />
<field eval="&quot;1&quot;" name="active" />
</record>
<record id="helpdesk_category_2" model="helpdesk.ticket.category">
<record id="helpdesk_category_2_demo" model="helpdesk.ticket.category">
<field eval="&quot;Wifi&quot;" name="name" />
<field name="company_id" ref="base.main_company" />
<field eval="&quot;1&quot;" name="active" />
</record>
<record id="helpdesk_category_3" model="helpdesk.ticket.category">
<record id="helpdesk_category_3_demo" model="helpdesk.ticket.category">
<field eval="&quot;Odoo&quot;" name="name" />
<field name="company_id" ref="base.main_company" />
<field eval="&quot;1&quot;" name="active" />
</record>
<!-- Mail aliases -->
<record id="mail_alias_1" model="mail.alias">
<record id="mail_alias_1_demo" model="mail.alias">
<field eval="&quot;General Alias for tickets&quot;" name="alias_name" />
<field ref="model_helpdesk_ticket" name="alias_model_id" />
</record>
Expand All @@ -35,7 +35,7 @@
</record>

<!-- Teams -->
<record id="helpdesk_team_1" model="helpdesk.ticket.team">
<record id="helpdesk_team_1_demo" model="helpdesk.ticket.team">
<field eval="&quot;Localization team&quot;" name="name" />
<field
name="user_ids"
Expand All @@ -44,48 +44,48 @@
<field eval="&quot;1&quot;" name="active" />
<field
name="category_ids"
eval="[(6,0,[ref('helpdesk_category_1'), ref('helpdesk_category_2')])]"
eval="[(6,0,[ref('helpdesk_category_1_demo'), ref('helpdesk_category_2_demo')])]"
/>
<field name="company_id" ref="base.main_company" />
<field name="alias_id" ref="mail_alias_1" />
<field name="alias_id" ref="mail_alias_1_demo" />
</record>
<record id="helpdesk_team_2" model="helpdesk.ticket.team">
<record id="helpdesk_team_2_demo" model="helpdesk.ticket.team">
<field name="name">Helpdesk</field>
<field name="user_ids" eval="[(6,0,[ref('base.user_demo')])]" />
<field eval="&quot;1&quot;" name="active" />
<field name="category_ids" eval="[(6,0,[ref('helpdesk_category_1')])]" />
<field name="category_ids" eval="[(6,0,[ref('helpdesk_category_1_demo')])]" />
<field name="company_id" ref="base.main_company" />
<field name="alias_id" ref="mail_alias_2" />
<field name="alias_id" ref="mail_alias_1_demo" />
</record>
<record id="helpdesk_team_3" model="helpdesk.ticket.team">
<record id="helpdesk_team_3_demo" model="helpdesk.ticket.team">
<field eval="&quot;Consultants&quot;" name="name" />
<field name="user_ids" eval="[(6,0,[ref('base.user_root')])]" />
<field eval="&quot;1&quot;" name="active" />
<field name="category_ids" eval="[(6,0,[ref('helpdesk_category_2')])]" />
<field name="category_ids" eval="[(6,0,[ref('helpdesk_category_2_demo')])]" />
<field name="company_id" ref="base.main_company" />
<field name="alias_id" ref="mail_alias_3" />
<field name="alias_id" ref="mail_alias_1_demo" />
</record>
<!-- Tags -->
<record id="helpdesk_tag_1" model="helpdesk.ticket.tag">
<record id="helpdesk_tag_1_demo" model="helpdesk.ticket.tag">
<field eval="&quot;Hard&quot;" name="name" />
<field eval="&quot;1&quot;" name="color" />
<field eval="&quot;1&quot;" name="active" />
<field name="company_id" ref="base.main_company" />
</record>
<record id="helpdesk_tag_2" model="helpdesk.ticket.tag">
<record id="helpdesk_tag_2_demo" model="helpdesk.ticket.tag">
<field eval="&quot;Technical&quot;" name="name" />
<field eval="&quot;2&quot;" name="color" />
<field eval="&quot;1&quot;" name="active" />
<field name="company_id" ref="base.main_company" />
</record>
<record id="helpdesk_tag_3" model="helpdesk.ticket.tag">
<record id="helpdesk_tag_3_demo" model="helpdesk.ticket.tag">
<field eval="&quot;Functional&quot;" name="name" />
<field eval="&quot;3&quot;" name="color" />
<field eval="&quot;1&quot;" name="active" />
<field name="company_id" ref="base.main_company" />
</record>
<!-- Tickets -->
<record id="helpdesk_ticket_1" model="helpdesk.ticket">
<record id="helpdesk_ticket_1_demo" model="helpdesk.ticket">
<field eval="&quot;Problem with the delivery of goods&quot;" name="name" />
<field
eval="&quot;Problem with the delivery of goods&quot;"
Expand All @@ -96,9 +96,9 @@
<field name="stage_id" ref="helpdesk_ticket_stage_new" />
<field name="channel_id" ref="helpdesk_ticket_channel_web" />
<field name="partner_id" ref="base.res_partner_3" />
<field name="team_id" ref="helpdesk_team_2" />
<field name="team_id" ref="helpdesk_team_2_demo" />
</record>
<record id="helpdesk_ticket_2" model="helpdesk.ticket">
<record id="helpdesk_ticket_2_demo" model="helpdesk.ticket">
<field eval="&quot;Damaged Products&quot;" name="name" />
<field eval="&quot;Damaged Products&quot;" name="description" />
<field eval="&quot;Alison Hardwell&quot;" name="partner_name" />
Expand All @@ -107,42 +107,42 @@
<field name="stage_id" ref="helpdesk_ticket_stage_new" />
<field name="channel_id" ref="helpdesk_ticket_channel_web" />
<field name="partner_id" ref="base.res_partner_2" />
<field name="team_id" ref="helpdesk_team_1" />
<field name="team_id" ref="helpdesk_team_1_demo" />
</record>
<record id="helpdesk_ticket_3" model="helpdesk.ticket">
<record id="helpdesk_ticket_3_demo" model="helpdesk.ticket">
<field eval="&quot;Document related problems&quot;" name="name" />
<field eval="&quot;Document related problems&quot;" name="description" />
<field eval="&quot;Jaime Bajozano&quot;" name="partner_name" />
<field eval="&quot;[email protected]&quot;" name="partner_email" />
<field eval="&quot;1&quot;" name="priority" />
<field eval="[(6,0,[ref('helpdesk_tag_1')])]" name="tag_ids" />
<field eval="[(6,0,[ref('helpdesk_tag_1_demo')])]" name="tag_ids" />
<field name="user_id" ref="base.user_root" />
<field name="stage_id" ref="helpdesk_ticket_stage_cancelled" />
<field name="channel_id" ref="helpdesk_ticket_channel_other" />
<field name="partner_id" ref="base.res_partner_18" />
<field name="team_id" ref="helpdesk_team_1" />
<field name="team_id" ref="helpdesk_team_1_demo" />
</record>
<record id="helpdesk_ticket_4" model="helpdesk.ticket">
<record id="helpdesk_ticket_4_demo" model="helpdesk.ticket">
<field eval="&quot;Product quality not maintained&quot;" name="name" />
<field eval="&quot;Product quality not maintained&quot;" name="description" />
<field eval="&quot;Jamie Mads&quot;" name="partner_name" />
<field eval="&quot;2&quot;" name="priority" />
<field name="user_id" ref="base.user_demo" />
<field name="stage_id" ref="helpdesk_ticket_stage_in_progress" />
<field name="partner_id" ref="base.res_partner_10" />
<field name="team_id" ref="helpdesk_team_3" />
<field name="team_id" ref="helpdesk_team_3_demo" />
<field name="channel_id" ref="helpdesk_ticket_channel_phone" />
</record>
<record id="helpdesk_ticket_5" model="helpdesk.ticket">
<record id="helpdesk_ticket_5_demo" model="helpdesk.ticket">
<field eval="&quot;Some products missing&quot;" name="name" />
<field eval="&quot;Some products missing&quot;" name="description" />
<field eval="&quot;3&quot;" name="priority" />
<field name="user_id" ref="base.user_root" />
<field name="partner_id" ref="base.res_partner_12" />
<field name="team_id" ref="helpdesk_team_3" />
<field name="team_id" ref="helpdesk_team_3_demo" />
<field name="stage_id" ref="helpdesk_ticket_stage_in_progress" />
</record>
<record id="helpdesk_ticket_6" model="helpdesk.ticket">
<record id="helpdesk_ticket_6_demo" model="helpdesk.ticket">
<field
eval="&quot;Problem with the delivery of assignments&quot;"
name="name"
Expand All @@ -152,20 +152,20 @@
name="description"
/>
<field eval="&quot;1&quot;" name="priority" />
<field eval="[(6,0,[ref('helpdesk_tag_2')])]" name="tag_ids" />
<field eval="[(6,0,[ref('helpdesk_tag_2_demo')])]" name="tag_ids" />
<field name="user_id" ref="base.user_root" />
<field name="stage_id" ref="helpdesk_ticket_stage_awaiting" />
<field name="partner_id" ref="base.res_partner_12" />
<field name="team_id" ref="helpdesk_team_3" />
<field name="team_id" ref="helpdesk_team_3_demo" />
</record>
<record id="helpdesk_ticket_7" model="helpdesk.ticket">
<record id="helpdesk_ticket_7_demo" model="helpdesk.ticket">
<field eval="&quot;Documents unclear&quot;" name="name" />
<field eval="&quot;Documents unclear&quot;" name="description" />
<field eval="&quot;1&quot;" name="priority" />
<field eval="[(6,0,[ref('helpdesk_tag_3')])]" name="tag_ids" />
<field eval="[(6,0,[ref('helpdesk_tag_3_demo')])]" name="tag_ids" />
<field name="user_id" ref="base.user_root" />
<field name="stage_id" ref="helpdesk_ticket_stage_done" />
<field name="partner_id" ref="base.res_partner_2" />
<field name="team_id" ref="helpdesk_team_1" />
<field name="team_id" ref="helpdesk_team_1_demo" />
</record>
</odoo>
20 changes: 8 additions & 12 deletions helpdesk_mgmt/models/helpdesk_ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ def _read_group_stage_ids(self, stages, domain, order):
("id", "in", stages.ids),
("team_ids", "=", False),
]
default_team_id = self.default_get(["team_id"]).get("team_id")
default_team_id = self.default_get(["team_id"])
if default_team_id:
search_domain = [
"|",
("team_ids", "=", default_team_id),
("team_ids", "=", default_team_id["team_id"]),
] + search_domain
return stages.search(search_domain, order=order)

Expand All @@ -46,10 +46,7 @@ def _read_group_stage_ids(self, stages, domain, order):
string="Assigned user",
tracking=True,
index=True,
compute="_compute_user_id",
store=True,
readonly=False,
domain="team_id and [('share', '=', False),('id', 'in', user_ids)] or [('share', '=', False)]", # noqa: B950
domain="team_id and [('share', '=', False),('id', 'in', user_ids)] or [('share', '=', False)]", # noqa: B950,E501
)
user_ids = fields.Many2many(
comodel_name="res.users", related="team_id.user_ids", string="Users"
Expand Down Expand Up @@ -132,11 +129,10 @@ def _read_group_stage_ids(self, stages, domain, order):
)
active = fields.Boolean(default=True)

def name_get(self):
res = []
for rec in self:
res.append((rec.id, rec.number + " - " + rec.name))
return res
@api.depends("name")
def _compute_display_name(self):
for ticket in self:
ticket.display_name = f"{ticket.number} - {ticket.name}"

def assign_to_me(self):
self.write({"user_id": self.env.user.id})
Expand Down Expand Up @@ -217,7 +213,7 @@ def _track_template(self, tracking):
{
# Need to set mass_mail so that the email will always be sent
"composition_mode": "mass_mail",
"auto_delete_message": True,
"auto_delete_keep_log": False,
"subtype_id": self.env["ir.model.data"]._xmlid_to_res_id(
"mail.mt_note"
),
Expand Down
2 changes: 1 addition & 1 deletion helpdesk_mgmt/models/ir_http.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ class IrHttp(models.AbstractModel):

@classmethod
def _get_translation_frontend_modules_name(cls):
mods = super(IrHttp, cls)._get_translation_frontend_modules_name()
mods = super()._get_translation_frontend_modules_name()
return mods + ["helpdesk_mgmt"]
4 changes: 2 additions & 2 deletions helpdesk_mgmt/readme/USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
2. In the Kanban view, click in the kanban card of a team to see their
tickets and create new ones.

![](../static/description/Tickets_Kanban.PNG)
![Tickets_Kanban](../static/description/Tickets_Kanban.PNG)

To create a new ticket from the kanban view:

Expand All @@ -18,4 +18,4 @@ To create a new ticket from the kanban view:
8. Add a description.
9. You can also attach files to the ticket.

![](../static/description/Tickets01.PNG)
![Tickets01](../static/description/Tickets01.PNG)
18 changes: 9 additions & 9 deletions helpdesk_mgmt/security/helpdesk_security.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,70 +27,70 @@
</record>
</data>
<data noupdate="1">
<record id="helpdesk_ticket_personal_rule" model="ir.rule">
<record id="helpdesk_ticket_rule_personal" model="ir.rule">
<field name="name">Personal Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field
name="domain_force"
>["|", ('user_id', '=', user.id), '&amp;', ('user_id','=',False), ('team_id', 'in', user.helpdesk_team_ids.ids)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user_own'))]" />
</record>
<record id="helpdesk_ticket_team_rule" model="ir.rule">
<record id="helpdesk_ticket_rule_team" model="ir.rule">
<field name="name">Team Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field
name="domain_force"
>['|',('team_id','in',user.helpdesk_team_ids.ids),('team_id','=',False)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user_team'))]" />
</record>
<record id="helpdesk_ticket_user_rule" model="ir.rule">
<record id="helpdesk_ticket_rule_user" model="ir.rule">
<field name="name">All Tickets</field>
<field ref="model_helpdesk_ticket" name="model_id" />
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('group_helpdesk_user'))]" />
</record>
<!-- Company Rules -->
<record id="helpdesk_ticket_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_rule_comp" model="ir.rule">
<field name="name">Helpdesk Ticket Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="helpdesk_ticket_category_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_category_rule_comp" model="ir.rule">
<field name="name">Helpdesk Category Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket_category" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="helpdesk_ticket_channel_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_channel_rule_comp" model="ir.rule">
<field name="name">Helpdesk Channel Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket_channel" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="helpdesk_ticket_stage_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_stage_rule_comp" model="ir.rule">
<field name="name">Helpdesk Stage Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket_stage" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="helpdesk_ticket_tag_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_tag_rule_comp" model="ir.rule">
<field name="name">Helpdesk Tag Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket_tag" />
<field name="global" eval="True" />
<field
name="domain_force"
>['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<record id="helpdesk_ticket_team_comp_rule" model="ir.rule">
<record id="helpdesk_ticket_team_rule_comp" model="ir.rule">
<field name="name">Helpdesk Team Company Rule</field>
<field name="model_id" ref="model_helpdesk_ticket_team" />
<field name="global" eval="True" />
Expand Down
Loading

0 comments on commit 9db2f9e

Please sign in to comment.