Skip to content

Commit

Permalink
Merge PR #141 into 16.0
Browse files Browse the repository at this point in the history
Signed-off-by simahawk
  • Loading branch information
OCA-git-bot committed Aug 18, 2023
2 parents 91cfbb8 + 0e1e0e0 commit 6d83728
Show file tree
Hide file tree
Showing 36 changed files with 3,080 additions and 0 deletions.
109 changes: 109 additions & 0 deletions attribute_set/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
=============
Attribute Set
=============

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fodoo--pim-lightgray.png?logo=github
:target: https://github.com/OCA/odoo-pim/tree/15.0/attribute_set
:alt: OCA/odoo-pim
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/odoo-pim-15-0/odoo-pim-15-0-attribute_set
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/295/15.0
:alt: Try me on Runbot

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

This module allows the user to create Attributes to any model.
This is a basic module in the way that **it does not provide views to display these new Attributes.**

Each Attribute created will be related to an **existing field** (in case of a *"native"* Attribute) or to a newly **created field** (in case of a *"custom"* Attribute).

A *"custom"* Attribute can be of any type : Char, Text, Boolean, Date, Binary... but also Many2one or Many2many.

In case of m2o or m2m, these attributes can be related to **custom options** created for the Attribute, or to **existing Odoo objects** from other models.

Last but not least an Attribute can be **serialized** using the Odoo SA module `base_sparse_field <https://github.com/odoo/odoo/tree/12.0/addons/base_sparse_field>`_ .
It means that all the serialized attributes will be stored in a single "JSON serialization field" and will not create new columns in the database (and better, it will not create new SQL tables in case of Many2many Attributes), **increasing significantly the requests speed** when dealing with thousands of Attributes.

**Table of contents**

.. contents::
:local:

Usage
=====

Even if this module does not provide views to display some model's Attributes, it provides however a Technical menu in *Settings > Technical > Database Structure > Attributes* to **create new Attributes**.

An Attribute is related to both an Attribute Group and an Attribute Set :

- The **Attribute Set** is related to the *"model's category"*, i.e. all the model's instances which will display the same Attributes.
- The **Attribute Group** is related to the *"attribute's category"*. All the attributes from the same Attribute Set and Attribute Group will be displayed under the same field's Group in the model's view.


🔎 In order to create a custom Attribute many2one or many2many related to **other Odoo model**, you need to activate the Technical Setting **"Advanced Attribute Set settings"** (:code:`group_advanced_attribute_set`).

-----

If you want to create a module displaying some specific model's Attributes :

1. Your model must **\_inherit the mixin** :code:`"attribute.set.owner.mixin"`
2. You need to **add a placeholder** :code:`<separator name="attributes_placeholder" />` at the desired location in the model's form view.
3. Finally, **add a context** :code:`{"include_native_attribute": True}` on the action leading to this form view if the model's view needs to display attributes related to native fields together with the other "custom" attributes.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/odoo-pim/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/odoo-pim/issues/new?body=module:%20attribute_set%0Aversion:%2015.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
~~~~~~~

* Akretion

Contributors
~~~~~~~~~~~~

* Sébastien BEAU <sebastien.beau@akretion.com>
* Clément Mombereau <clement.mombereau@akretion.com.br>
* Benoît Guillot <benoit.guillot@akretion.com>
* Akretion Raphaël VALYI <raphael.valyi@akretion.com>
* David Dufresne <david.dufresne@savoirfairelinux.com>
* Denis Roussel <denis.roussel@acsone.eu>

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/odoo-pim <https://github.com/OCA/odoo-pim/tree/15.0/attribute_set>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions attribute_set/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import models
from . import wizard
from . import utils
21 changes: 21 additions & 0 deletions attribute_set/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "Attribute Set",
"version": "16.0.1.0.0",
"category": "Generic Modules/Others",
"license": "AGPL-3",
"author": "Akretion,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/odoo-pim",
"depends": ["base", "base_sparse_field"],
"data": [
"security/ir.model.access.csv",
"security/attribute_security.xml",
"views/menu_view.xml",
"views/attribute_attribute_view.xml",
"views/attribute_group_view.xml",
"views/attribute_option_view.xml",
"views/attribute_set_view.xml",
"wizard/attribute_option_wizard_view.xml",
],
"external_dependencies": {"python": ["unidecode"]},
"installable": True,
}
Loading

0 comments on commit 6d83728

Please sign in to comment.