Metadata-Version: 2.1
Name: odoo-addon-server_environment_autocreate
Version: 17.0.1.0.0.6
Requires-Python: >=3.10
Requires-Dist: odoo-addon-server_environment>=17.0dev,<17.1dev
Requires-Dist: odoo>=17.0a,<17.1dev
Summary: Add ability to auto create records
Home-page: https://github.com/OCA/server-env
License: LGPL-3
Author: XCG Consulting,Odoo Community Association (OCA)
Author-email: support@odoo-community.org
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: Framework :: Odoo :: 17.0
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Development Status :: 4 - Beta

.. image:: https://odoo-community.org/readme-banner-image
   :target: https://odoo-community.org/get-involved?utm_source=readme
   :alt: Odoo Community Association

=============================
Server Environment Autocreate
=============================

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

.. |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/license-LGPL--3-blue.png
    :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
    :alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--env-lightgray.png?logo=github
    :target: https://github.com/OCA/server-env/tree/17.0/server_environment_autocreate
    :alt: OCA/server-env
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/server-env-17-0/server-env-17-0-server_environment_autocreate
    :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/server-env&target_branch=17.0
    :alt: Try me on Runboat

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

This module adds a way to create automaticaly records using
server_environment server.env.mixin.

**Table of contents**

.. contents::
   :local:

Use Cases / Context
===================

Modules that uses server_environment server.env.mixin need to be created
manually in the database. This module avoid that needs by adding a way
to autocreate records.

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

This module does not need any configuration in Odoo.

The configuration is made in either server_environment_files, the
environment variable or the configuration file as described in
server_environment.

On top of the fields available when defining a record inheriting
server.env.mixin, it is possible to add ``__autocreate = {}``. The value
is a dictionary that will be passed when the record is created. This
allows setting required field values that are not made available. The
values are only used once, when the object is created. Changes are not
used.

To continue the example provided by server_environment, to have this
module create the record for storage_backend.my_sftp, the file would
look like:

::

   # These variables are not odoo standard variables,
   # they are there to represent what your file could look like
   export WORKERS='8'
   export MAX_CRON_THREADS='1'
   export LOG_LEVEL=info
   export LOG_HANDLER=":INFO"
   export DB_MAXCONN=5

   # server environment options
   export SERVER_ENV_CONFIG="
   [storage_backend.my_sftp]
   __autocreate={}
   sftp_server=10.10.10.10
   sftp_login=foo
   sftp_port=22200
   directory_path=Odoo
   "

Another example, using a value in the creation dictionnary, when using
`fs_storage <https://github.com/OCA/storage/tree/17.0/fs_storage>`__
module, the name of the storage is required so the configuration would
look like:

.. code:: ini

   [fs_storage.my_sftp]
   __autocreate = {"name": "My SFTP"}
   protocol=sftp
   options={"host": "10.10.10.10", "username": "foo", "password": "xxxxxxxxx"}

When the module creates such a record, it will add an xml id in the form
``__server_environment_autocreate__.<section name with space replaced by ->``.

When the module is removed, the created record are kept. They can be
found by searching the xmlid for the pseudo module
``__server_environment_autocreate__``.

If the creation fails with an exception, or if the values dictionary is
incorrect, this will prevent the loading of the registry. This is
intended, so that odoo does not start without the intended
configuration.

Usage
=====

This module does not impact the user interface.

Known issues / Roadmap
======================

- This module does not guarantee that any model record can be created,
  extra steps might be needed.
- If a created record is not referenced in the configuration anymore, it
  is not removed.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-env/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/server-env/issues/new?body=module:%20server_environment_autocreate%0Aversion:%2017.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
-------

* XCG Consulting

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

- XCG Consulting, part of `Orbeet <https://orbeet.io/>`__:

  - Vincent Hatakeyama <vincent.hatakeyama@orbeet.io>

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/server-env <https://github.com/OCA/server-env/tree/17.0/server_environment_autocreate>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
