From 0440327422d12a641a3c43da9fdf6981375cb22b Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Thu, 3 Apr 2025 12:03:30 +0200 Subject: [PATCH 1/3] [IMP] Extract support_akretion from support module to make it generic --- support_akretion/__init__.py | 0 support_akretion/__manifest__.py | 19 ++++++++++++ .../data/cross_connect_server.xml | 13 +++++++++ support_akretion/pyproject.toml | 3 ++ support_akretion/security/res_groups.xml | 27 ++++++++++++++++++ support_akretion/static/img/icon.png | Bin 0 -> 33727 bytes 6 files changed, 62 insertions(+) create mode 100644 support_akretion/__init__.py create mode 100644 support_akretion/__manifest__.py create mode 100644 support_akretion/data/cross_connect_server.xml create mode 100644 support_akretion/pyproject.toml create mode 100644 support_akretion/security/res_groups.xml create mode 100644 support_akretion/static/img/icon.png diff --git a/support_akretion/__init__.py b/support_akretion/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/support_akretion/__manifest__.py b/support_akretion/__manifest__.py new file mode 100644 index 0000000..c79f381 --- /dev/null +++ b/support_akretion/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2025 Akretion (http://www.akretion.com). +# @author Florian Mounier +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Support", + "summary": "Provide Akretion cross connect support integration", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "Akretion", + "website": "https://github.com/akretion/support", + "depends": [ + "support", + ], + "data": [ + "data/cross_connect_server.xml", + "security/res_groups.xml", + ], +} diff --git a/support_akretion/data/cross_connect_server.xml b/support_akretion/data/cross_connect_server.xml new file mode 100644 index 0000000..8d7955e --- /dev/null +++ b/support_akretion/data/cross_connect_server.xml @@ -0,0 +1,13 @@ + + + + + + https://erp-fr.akretion.com/api-support + + + diff --git a/support_akretion/pyproject.toml b/support_akretion/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/support_akretion/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/support_akretion/security/res_groups.xml b/support_akretion/security/res_groups.xml new file mode 100644 index 0000000..fac8e42 --- /dev/null +++ b/support_akretion/security/res_groups.xml @@ -0,0 +1,27 @@ + + + + + + Support: Support User + + + + + Support: Support Manager + + + + + + Support: Support Budget Access + + + + + + diff --git a/support_akretion/static/img/icon.png b/support_akretion/static/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2fb4aea3348b5bc68aa3d0d1271f6fa509bb248 GIT binary patch literal 33727 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 literal 0 HcmV?d00001 From 2d474db4bf0e5d04b2ad1b4fb62f50458a02e6d1 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Fri, 23 May 2025 17:28:29 +0200 Subject: [PATCH 2/3] [IMP] support_akretion: pre-commit auto fixes --- .../data/cross_connect_server.xml | 10 ++--- support_akretion/security/res_groups.xml | 38 +++++++++---------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/support_akretion/data/cross_connect_server.xml b/support_akretion/data/cross_connect_server.xml index 8d7955e..9c73a9e 100644 --- a/support_akretion/data/cross_connect_server.xml +++ b/support_akretion/data/cross_connect_server.xml @@ -1,13 +1,11 @@ - + - - - https://erp-fr.akretion.com/api-support - - + + https://erp-fr.akretion.com/api-support + diff --git a/support_akretion/security/res_groups.xml b/support_akretion/security/res_groups.xml index fac8e42..c19d53b 100644 --- a/support_akretion/security/res_groups.xml +++ b/support_akretion/security/res_groups.xml @@ -1,27 +1,25 @@ - + - - - Support: Support User - - - - - Support: Support Manager - - - - - - Support: Support Budget Access - - - - - + + Support: Support User + + + + + Support: Support Manager + + + + + + Support: Support Budget Access + + + + From 3a44f8ff807a3d8fb3fa8cd2cc7f0f9c62878a40 Mon Sep 17 00:00:00 2001 From: Florian da Costa Date: Fri, 23 May 2025 17:33:19 +0200 Subject: [PATCH 3/3] [MIG] support_akretion to 18 --- support_akretion/README.rst | 59 +++ support_akretion/__manifest__.py | 2 +- support_akretion/readme/DESCRIPTION.md | 5 + .../static/description/index.html | 413 ++++++++++++++++++ 4 files changed, 478 insertions(+), 1 deletion(-) create mode 100644 support_akretion/README.rst create mode 100644 support_akretion/readme/DESCRIPTION.md create mode 100644 support_akretion/static/description/index.html diff --git a/support_akretion/README.rst b/support_akretion/README.rst new file mode 100644 index 0000000..cadd131 --- /dev/null +++ b/support_akretion/README.rst @@ -0,0 +1,59 @@ +======= +Support +======= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ba86a1734b151c6cb61a4753597692bc5ffb25014a1181cb034088034c5a7cd6 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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_akretion + :alt: Akretion/support + +|badge1| |badge2| |badge3| + +Small module for akretion customers that configure the support url and +create the groupe that will be imported from support module. The goal is +to be able to add these groups in role (base_user_role) in the data of +the customer project, if necessary. Some logic specific to akretion +support / company will be added later + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub 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 `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Akretion + +Maintainers +----------- + +This module is part of the `Akretion/support `_ project on GitHub. + +You are welcome to contribute. diff --git a/support_akretion/__manifest__.py b/support_akretion/__manifest__.py index c79f381..f1398c8 100644 --- a/support_akretion/__manifest__.py +++ b/support_akretion/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Support", "summary": "Provide Akretion cross connect support integration", - "version": "16.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "author": "Akretion", "website": "https://github.com/akretion/support", diff --git a/support_akretion/readme/DESCRIPTION.md b/support_akretion/readme/DESCRIPTION.md new file mode 100644 index 0000000..2d6b507 --- /dev/null +++ b/support_akretion/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +Small module for akretion customers that configure the support url and +create the groupe that will be imported from support module. The goal is +to be able to add these groups in role (base_user_role) in the data of +the customer project, if necessary. Some logic specific to akretion +support / company will be added later diff --git a/support_akretion/static/description/index.html b/support_akretion/static/description/index.html new file mode 100644 index 0000000..653d1be --- /dev/null +++ b/support_akretion/static/description/index.html @@ -0,0 +1,413 @@ + + + + + +Support + + + +

+ +
+

Support

+ + +

Beta License: AGPL-3 Akretion/support

+

Small module for akretion customers that configure the support url and +create the groupe that will be imported from support module. The goal is +to be able to add these groups in role (base_user_role) in the data of +the customer project, if necessary. Some logic specific to akretion +support / company will be added later

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub 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.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Maintainers

+

This module is part of the Akretion/support project on GitHub.

+

You are welcome to contribute.

+
+
+