Skip to main content

Add ability to auto create records

Project description

Odoo Community Association

Server Environment Autocreate

Beta License: LGPL-3 OCA/server-env Translate me on Weblate Try me on Runboat

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

Table of contents

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 module, the name of the storage is required so the configuration would look like:

[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. 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

  • XCG Consulting

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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 project on GitHub.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo_addon_server_environment_autocreate-17.0.1.0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo_addon_server_environment_autocreate-17.0.1.0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c5863dee4327eba4f3c513579040a835261d59592774f31939eb92fcd66bef33
MD5 78c1991ea8ed0bc76fdb61664baf2dab
BLAKE2b-256 8f7d3a73a02e14bbb04c5fb9d58c6f6972792daf2c8ccf99453a76185f5939d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page