Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][MIG] attribute_set #141

Merged
merged 31 commits into from
Aug 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7dbaae2
[REF] rename modules based on attribute_set and pim
clementmbr May 18, 2020
0025e9c
[FIX] when including native field not present in form
clementmbr May 18, 2020
67698cf
[REF] rename 'attribute_nature' field into 'nature'
clementmbr May 18, 2020
d22e264
[IMP] Add REAME to the 4 modules
clementmbr May 19, 2020
3549592
[FIX] propagate readonly attribute for included native attributes
clementmbr May 19, 2020
bbce920
[IMP] base.user_admin in Attribute Set and PIM Manager group
clementmbr May 27, 2020
cb4306c
[IMP] remove class in super() and other misc improvements
clementmbr May 27, 2020
4647da7
[IMP] remove attribute_set access rights for group_no_one
clementmbr May 27, 2020
7f3b48f
[REF] remove @api.multi
clementmbr Jun 3, 2020
55bdeff
[IMP] Add test write on partner's attributes
clementmbr Jun 3, 2020
df36567
[IMP] Rename "Advanced Attribute Set settings" group
clementmbr Jun 3, 2020
76a40e0
[13.0] Set modules to installable False
rousseldenis Jun 12, 2020
5e738e5
[13.0] Set modules version to 13
rousseldenis Jun 12, 2020
f1166c7
[13.0][MIG] attribute_set
rousseldenis Jun 12, 2020
179c141
[13.0][FIX] attribute_set: Reintroduce deprecated functions
rousseldenis Jun 12, 2020
4f85535
[FIX] required properties in fields_view_get must be linked to relate…
Jun 18, 2020
bc841e7
attribute_set 13.0.1.0.1
Sep 28, 2020
ec86ad9
[MIG] make all modules uninstallable
Feb 18, 2021
7921acc
[MIG] update pre-commit conf from copier
Feb 18, 2021
2481fbe
[IMP] attribute_set: black, isort, prettier
Feb 22, 2021
b8958a9
attribute_set 14.0.1.0.1
OCA-git-bot May 15, 2021
f5338b9
[IMP] update dotfiles [ci skip]
OCA-git-bot Mar 31, 2022
5a2bd1f
[IMP] Add attribute widget field
qgroulard Nov 12, 2020
4e5735e
attribute_set 14.0.1.1.0
OCA-git-bot Jun 15, 2022
44bb271
[MIG] attribute_set: Migration to 15.0
JasminSForgeFlow Aug 29, 2022
8aad94e
[FIX] attribute_set: fix create options w/ rel model
kevinkhao Dec 2, 2022
0ca424d
[16.0][MIG] - attribute_set
sbejaoui Feb 28, 2023
740a757
[IMP] attribute_set: set ctx for native fields
sbejaoui Feb 28, 2023
7054f5b
[FIX] attribute_set: fix menu position
sbejaoui Mar 2, 2023
9c23050
[IMP] attribute_set: add group menu item
sbejaoui Mar 3, 2023
0e1e0e0
[IMP] attribute_set: misc improvement
sbejaoui Aug 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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