Skip to content

Commit

Permalink
[ADD] pingen_env
Browse files Browse the repository at this point in the history
  • Loading branch information
ajaniszewska-dev committed Feb 27, 2024
1 parent b57c983 commit b742427
Show file tree
Hide file tree
Showing 11 changed files with 221 additions and 0 deletions.
117 changes: 117 additions & 0 deletions pingen_env/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
=============================
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:


[pingen.companyA]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =

or:

[pingen.companyA]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =

[pingen.companyB]
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 <[email protected]>

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 changes: 4 additions & 0 deletions pingen_env/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2023 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)

from . import models
17 changes: 17 additions & 0 deletions pingen_env/__manifest__.py
Original file line number Diff line number Diff line change
@@ -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,
}
4 changes: 4 additions & 0 deletions pingen_env/models/__init__.py
Original file line number Diff line number Diff line change
@@ -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
45 changes: 45 additions & 0 deletions pingen_env/models/res_company.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# 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"

Check warning on line 30 in pingen_env/models/res_company.py

View check run for this annotation

Codecov / codecov/patch

pingen_env/models/res_company.py#L30

Added line #L30 was not covered by tests
for company in self:
# default vals
config_vals = {

Check warning on line 33 in pingen_env/models/res_company.py

View check run for this annotation

Codecov / codecov/patch

pingen_env/models/res_company.py#L33

Added line #L33 was not covered by tests
"pingen_clientid": "",
"pingen_client_secretid": "",
"pingen_organization": "",
"pingen_staging": True,
"pingen_webhook_secret": "",
}
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

Check warning on line 42 in pingen_env/models/res_company.py

View check run for this annotation

Codecov / codecov/patch

pingen_env/models/res_company.py#L41-L42

Added lines #L41 - L42 were not covered by tests
if serv_config.has_section(custom_section_name):
config_vals.update(serv_config.items(custom_section_name))
company.update(config_vals)

Check warning on line 45 in pingen_env/models/res_company.py

View check run for this annotation

Codecov / codecov/patch

pingen_env/models/res_company.py#L44-L45

Added lines #L44 - L45 were not covered by tests
2 changes: 2 additions & 0 deletions pingen_env/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -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.
1 change: 1 addition & 0 deletions pingen_env/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Anna Janiszewska <[email protected]>
1 change: 1 addition & 0 deletions pingen_env/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Helps to manage Pingen settings via server environment variables.
23 changes: 23 additions & 0 deletions pingen_env/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Define values under global section name called 'pingen', or in case of different config per company - global section name connected with company name:


[pingen.companyA]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =

or:

[pingen.companyA]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =

[pingen.companyB]
pingen_clientid = *****************
pingen_organization = ********-****-****-*****-*******
pingen_staging =




1 change: 1 addition & 0 deletions setup/pingen_env/odoo/addons/pingen_env
6 changes: 6 additions & 0 deletions setup/pingen_env/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

0 comments on commit b742427

Please sign in to comment.