Merge PR #327 into 16.0

Signed-off-by simahawk
This commit is contained in:
OCA-git-bot
2024-07-08 06:52:15 +00:00
11 changed files with 224 additions and 0 deletions

118
pingen_env/README.rst Normal file
View File

@@ -0,0 +1,118 @@
=============================
pingen.com server environment
=============================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:49d465a77c45bf9d8d90ba8fd221660c5f57175a611e4099607374c3e79dd844
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Freport--print--send-lightgray.png?logo=github
:target: https://github.com/OCA/report-print-send/tree/16.0/pingen_env
:alt: OCA/report-print-send
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/report-print-send-16-0/report-print-send-16-0-pingen_env
: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/report-print-send&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
Helps to manage Pingen settings via server environment variables.
**Table of contents**
.. contents::
:local:
Configuration
=============
Pingen API data like authentication token, client ID, organization ID and webhook secret is configured
on the company's view through server environment.
Usage
=====
Define values under global section name called 'pingen', or in case of different config per company - global section name connected with company name:
.. code-block:: bash
[pingen]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =
or:
[pingen.My Company (San Francisco)]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =
[pingen.My Company (Chicago)]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/report-print-send/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/report-print-send/issues/new?body=module:%20pingen_env%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
~~~~~~~
* Camptocamp
Contributors
~~~~~~~~~~~~
* Anna Janiszewska <anna.janiszewska@camptocamp.com>
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.
.. |maintainer-ajaniszewska-dev| image:: https://github.com/ajaniszewska-dev.png?size=40px
:target: https://github.com/ajaniszewska-dev
:alt: ajaniszewska-dev
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-ajaniszewska-dev|
This module is part of the `OCA/report-print-send <https://github.com/OCA/report-print-send/tree/16.0/pingen_env>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

4
pingen_env/__init__.py Normal file
View File

@@ -0,0 +1,4 @@
# Copyright 2023 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import models

View File

@@ -0,0 +1,17 @@
# Copyright 2023 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
{
"name": "pingen.com server environment",
"version": "16.0.1.0.0",
"author": "Camptocamp,Odoo Community Association (OCA)",
"maintainers": ["ajaniszewska-dev"],
"license": "AGPL-3",
"category": "Reporting",
"complexity": "easy",
"depends": ["pingen", "server_environment"],
"website": "https://github.com/OCA/report-print-send",
"installable": True,
"auto_install": False,
"application": False,
}

View File

@@ -0,0 +1,4 @@
# Copyright 2023 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import res_company

View File

@@ -0,0 +1,46 @@
# Copyright 2023 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from odoo import api, fields, models
from odoo.addons.server_environment import serv_config
class ResCompany(models.Model):
_inherit = ["res.company"]
pingen_clientid = fields.Char(
compute="_compute_pingen_env", required=False, readonly=True
)
pingen_client_secretid = fields.Char(
compute="_compute_pingen_env", required=False, readonly=True
)
pingen_organization = fields.Char(
compute="_compute_pingen_env", required=False, readonly=True
)
pingen_staging = fields.Boolean(
compute="_compute_pingen_env", required=False, readonly=True
)
pingen_webhook_secret = fields.Char(
compute="_compute_pingen_env", required=False, readonly=True
)
@api.depends()
def _compute_pingen_env(self):
global_section_name = "pingen"
for company in self:
# default vals
config_vals = {
"pingen_clientid": "",
"pingen_client_secretid": "",
"pingen_organization": "",
"pingen_staging": True,
"pingen_webhook_secret": "",
}
# TODO: using company name may be fragile, use tech name in the future instead
if serv_config.has_section(global_section_name):
config_vals.update(serv_config.items(global_section_name))
custom_section_name = global_section_name + "." + company.name
if serv_config.has_section(custom_section_name):
config_vals.update(serv_config.items(custom_section_name))
company.update(config_vals)

View File

@@ -0,0 +1,2 @@
Pingen API data like authentication token, client ID, organization ID and webhook secret is configured
on the company's view through server environment.

View File

@@ -0,0 +1 @@
* Anna Janiszewska <anna.janiszewska@camptocamp.com>

View File

@@ -0,0 +1 @@
Helps to manage Pingen settings via server environment variables.

View File

@@ -0,0 +1,24 @@
Define values under global section name called 'pingen', or in case of different config per company - global section name connected with company name:
.. code-block:: bash
[pingen]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =
or:
[pingen.My Company (San Francisco)]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =
[pingen.My Company (Chicago)]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =

View File

@@ -0,0 +1 @@
../../../../pingen_env

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)