Skip to content
Open
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
89 changes: 89 additions & 0 deletions helpdesk_mgmt_account/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
=====================
Helpdesk Mgmt Account
=====================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:1eb248d7a4f6ba782508936dcf2d75a749c38530c90e3932983b3f1150bf52a1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhelpdesk-lightgray.png?logo=github
:target: https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_account
:alt: OCA/helpdesk
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/helpdesk-16-0/helpdesk-16-0-helpdesk_mgmt_account
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/helpdesk&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This modules links helpdesk mgmt tickets with account moves.

|alt text|

|image1|

.. |alt text| image:: https://raw.githubusercontent.com/OCA/helpdesk/16.0/helpdesk_mgmt_account/510732954-b30f0c53-ec65-43c6-84ca-c4aadd4aa8ed.png
.. |image1| image:: https://raw.githubusercontent.com/OCA/helpdesk/16.0/helpdesk_mgmt_account/510733084-d14ab9dc-a01f-4e0b-875d-d29834fda820.png

**Table of contents**

.. contents::
:local:

Configuration
=============

To be able to see the all smart buttons appearing, you have to make sure
your user is in the group "Show Full Accounting Features"

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/helpdesk/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/helpdesk/issues/new?body=module:%20helpdesk_mgmt_account%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* ACSONE SA/NV

Contributors
------------

- Nicolas Delbovier nicolas.delbovier@acsone.eu (https://www.acsone.eu/)

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/helpdesk <https://github.com/OCA/helpdesk/tree/16.0/helpdesk_mgmt_account>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions helpdesk_mgmt_account/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
17 changes: 17 additions & 0 deletions helpdesk_mgmt_account/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2025 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Helpdesk Mgmt Account",
"summary": """Link account moves and helpdesk tickets""",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/helpdesk",
"depends": ["helpdesk_mgmt", "account"],
"data": [
"views/helpdesk_ticket.xml",
"views/account_move.xml",
],
"demo": [],
}
2 changes: 2 additions & 0 deletions helpdesk_mgmt_account/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import helpdesk_ticket
from . import account_move
43 changes: 43 additions & 0 deletions helpdesk_mgmt_account/models/account_move.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Copyright 2025 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import Command, api, fields, models


class AccountMove(models.Model):
_inherit = "account.move"

ticket_ids = fields.Many2many("helpdesk.ticket")
ticket_count = fields.Integer(
string="Tickets Count", compute="_compute_ticket_count", store=True
)

@api.depends("ticket_ids")
def _compute_ticket_count(self):
groups = self.env["helpdesk.ticket"].read_group(
domain=[("account_move_ids", "in", self.ids)],
fields=["account_move_ids"],
groupby=["account_move_ids"],
)

count_by_move_id = {
group["account_move_ids"][0]: group["account_move_ids_count"]
for group in groups
if group["account_move_ids"]
}

for move in self:
move.ticket_count = count_by_move_id.get(move.id, 0)

def action_view_helpdesk_tickets(self):
self.ensure_one()
action = self.env["ir.actions.act_window"]._for_xml_id(
"helpdesk_mgmt.helpdesk_ticket_action"
)
action["domain"] = [("account_move_ids", "in", [self.id])]
action["context"] = {
"default_account_move_ids": [Command.set(self.ids)],
# ↓ enables to show the "1" in smart button even before save
"default_account_move_count": 1,
}
return action
45 changes: 45 additions & 0 deletions helpdesk_mgmt_account/models/helpdesk_ticket.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Copyright 2025 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import Command, api, fields, models


class HelpdeskTicket(models.Model):
_inherit = "helpdesk.ticket"

account_move_ids = fields.Many2many("account.move")
account_move_count = fields.Integer(
compute="_compute_account_move_count", store=True
)

@api.depends("account_move_ids")
def _compute_account_move_count(self):
groups = self.env["account.move"].read_group(
domain=[("ticket_ids", "in", self.ids)],
fields=["ticket_ids"],
groupby=["ticket_ids"],
)
count_by_ticket_id = {
group["ticket_ids"][0]: group["ticket_ids_count"]
for group in groups
if group["ticket_ids"]
}

for ticket in self:
ticket.account_move_count = count_by_ticket_id.get(ticket.id, 0)

def action_view_account_moves(self):
action = {
"name": "Account Moves",
"type": "ir.actions.act_window",
"res_model": "account.move",
"view_mode": "tree,form",
"target": "current",
}

action["domain"] = [("ticket_ids", "in", [self.id])]
action["context"] = {
"default_ticket_ids": [Command.link(self.id)],
"default_partner_id": self.partner_id.id,
}
return action
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions helpdesk_mgmt_account/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
To be able to see the all smart buttons appearing, you have to make sure your user is in the group "Show Full Accounting Features"
1 change: 1 addition & 0 deletions helpdesk_mgmt_account/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Nicolas Delbovier <nicolas.delbovier@acsone.eu> (https://www.acsone.eu/)
5 changes: 5 additions & 0 deletions helpdesk_mgmt_account/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
This modules links helpdesk mgmt tickets with account moves.

![alt text](510732954-b30f0c53-ec65-43c6-84ca-c4aadd4aa8ed.png)

![alt text](510733084-d14ab9dc-a01f-4e0b-875d-d29834fda820.png)
Binary file added helpdesk_mgmt_account/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading