Skip to content
Merged
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
55 changes: 55 additions & 0 deletions support_server/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
==============
Support Server
==============

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

.. |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-Akretion%2Fsupport-lightgray.png?logo=github
:target: https://github.com/Akretion/support/tree/18.0/support_server
:alt: Akretion/support

|badge1| |badge2| |badge3|

Support Server

**Table of contents**

.. contents::
:local:

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

Bugs are tracked on `GitHub Issues <https://github.com/Akretion/support/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/Akretion/support/issues/new?body=module:%20support_server%0Aversion:%2018.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
-------

* Akretion

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

This module is part of the `Akretion/support <https://github.com/Akretion/support/tree/18.0/support_server>`_ project on GitHub.

You are welcome to contribute.
1 change: 1 addition & 0 deletions support_server/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
17 changes: 17 additions & 0 deletions support_server/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2025 Akretion (http://www.akretion.com).
# @author Florian Mounier <florian.mounier@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Support Server",
"summary": "Provide cross connect server support integration",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "Akretion",
"website": "https://github.com/akretion/support",
"depends": [
"cross_connect_server",
"project_customer_access",
],
"data": [],
}
2 changes: 2 additions & 0 deletions support_server/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import cross_connect_client
from . import project_task
35 changes: 35 additions & 0 deletions support_server/models/cross_connect_client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2025 Akretion (http://www.akretion.com).
# @author Florian Mounier <florian.mounier@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from urllib.parse import urlencode

from odoo import models
from odoo.http import request


class CrossConnectClient(models.Model):
_inherit = "cross.connect.client"

def _get_final_redirect_url(self, **params):
"""Redirect to project_customer_access with set form default values."""
url = super()._get_final_redirect_url(**params)
redirect_params = {}
if params.get("bypass"):
redirect_params["action"] = "project.action_view_task"
else:
redirect_params["action"] = "project_customer_access.action_view_all_task"

if params.get("intent") == "new":
session = params.get("session") or request.session
if session:
session.support_default_params = {
field: params.get(field)
for field in ("origin_db", "origin_name", "origin_url")
}

redirect_params.update(
{
"view_type": "form",
}
)
return f"{url}#{urlencode(redirect_params)}"
19 changes: 19 additions & 0 deletions support_server/models/project_task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 Akretion (http://www.akretion.com).
# @author Florian Mounier <florian.mounier@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo import api, models
from odoo.http import request


class ProjectTask(models.Model):
_inherit = "project.task"

@api.model
def default_get(self, fields_list):
defaults = super().default_get(fields_list)
session = request.session
if session and session.get("support_default_params"):
defaults.update(session.pop("support_default_params"))
return defaults
3 changes: 3 additions & 0 deletions support_server/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
1 change: 1 addition & 0 deletions support_server/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Support Server
Loading
Loading