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

[17.0][MIG] server_action_mass_edit #872

Merged
merged 15 commits into from
May 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
158 changes: 158 additions & 0 deletions server_action_mass_edit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
============
Mass Editing
============

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

.. |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%2Fserver--ux-lightgray.png?logo=github
:target: https://github.com/OCA/server-ux/tree/17.0/server_action_mass_edit
:alt: OCA/server-ux
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-server_action_mass_edit
: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-ux&target_branch=17.0
:alt: Try me on Runboat

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

This module provides the following features:

- You can add, update or remove the values of more than one records on
the fly at the same time.
- You can configure mass editing for any Odoo model.

**Difference between the Odoo 13.0 CE Feature**

Since Odoo V13, a limited "mass Editing feature" is available in Odoo
CE.

This module provides the following extra features that are not in the
Core for the time being:

- Possibility to mass edit many fields in a single action
- Possibility to add a group to limit the usage of this function to
given people
- Possibility to filter the items the user can mass update
- Possibility to mass edit any fields with any widget. (For exemple
color fields, image fields, etc...)

**Table of contents**

.. contents::
:local:

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

- Go to *Settings / Technical / Actions / Server Actions* and configure
the object and fields for Mass Editing.
- Select the object and add the fields of that object on which you want
to apply mass editing.

|Configuration|

- *Add Action*: Click on *Create Contextual Action* to add mass editing
in *Action* menu.

**Options**

- You can add an extra message that will be displayed in the wizard.
- This module plays nicely with server_action_domain, allowing you to
limit the mass editing action with a domain.

.. |Configuration| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing_form.png

Usage
=====

- *Go for Mass Editing*: select the records which you want to modify
and click on *Action* to open mass editing popup.

|Action|

- Select *Set / Remove* action and write down the value to set or
remove the value for the given field.

|Wizard Form|

- This way you can set / remove the values of the fields.

|Wizard Result|

.. |Action| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-item_tree.png
.. |Wizard Form| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-wizard_form.png
.. |Wizard Result| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-item_tree-result.png

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

- Auto add fields that are used in related domains if apply_domain=True

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

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

* Serpent Consulting Services Pvt. Ltd.
* Tecnativa
* GRAP
* Iván Todorovich

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

- Oihane Crucelaegui <oihanecrucelaegi@gmail.com>
- Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
- Jay Vora <jay.vora@serpentcs.com>
- Juan Negrete <jnegrete@casasalce.com>
- Raul Martin <raul.martin@braintec-group.com>
- Aitor Bouzas <aitor.bouzas@adaptivecity.com>
- Sylvain LE GAL (https://twitter.com/legalsylvain)
- Iván Todorovich <ivan.todorovich@gmail.com>
- `Tecnativa <https://www.tecnativa.com>`__

- Jairo Llopis
- Víctor Martínez

- Tatiana Deribina <tatiana.deribina@spritnit.fi>

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions server_action_mass_edit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
30 changes: 30 additions & 0 deletions server_action_mass_edit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright 2016 Serpent Consulting Services Pvt. Ltd. (support@serpentcs.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Mass Editing",
"version": "17.0.1.0.0",
"author": "Serpent Consulting Services Pvt. Ltd., "
"Tecnativa, "
"GRAP, "
"Iván Todorovich, "
"Odoo Community Association (OCA)",
"category": "Tools",
"website": "https://github.com/OCA/server-ux",
"license": "AGPL-3",
"summary": "Mass Editing",
"depends": [
"base",
],
"data": [
"security/ir.model.access.csv",
"views/ir_actions_server.xml",
"wizard/mass_editing_wizard.xml",
],
"assets": {
"web.assets_backend": [
"/server_action_mass_edit/static/src/js/record.esm.js",
"/server_action_mass_edit/static/src/js/static_list.esm.js",
]
},
"demo": ["demo/mass_editing.xml"],
}
79 changes: 79 additions & 0 deletions server_action_mass_edit/demo/mass_editing.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2020 - Iván Todorovich (https://twitter.com/ivan.todorovich)
Copyright (C) 2019 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<!-- Mass Edit User -->
<record id="mass_editing_user" model="ir.actions.server">
<field name="state">mass_edit</field>
<field name="name">Mass Edit</field>
<field name="model_id" ref="base.model_res_users" />
</record>
<record id="mass_editing_user_line_1" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__email" />
</record>
<record id="mass_editing_user_line_2" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__phone" />
</record>
<record id="mass_editing_user_line_3" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__category_id" />
</record>
<record id="mass_editing_user_line_4" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__comment" />
</record>
<record id="mass_editing_user_line_5" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__country_id" />
</record>
<record id="mass_editing_user_line_6" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__is_company" />
</record>
<record id="mass_editing_user_line_7" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__lang" />
</record>
<record id="mass_editing_user_line_8" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__title" />
</record>
<record id="mass_editing_user_line_9" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__company_type" />
</record>
<record id="mass_editing_user_line_10" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__image_1920" />
<field name="widget_option">image</field>
</record>
<record id="mass_editing_user_line_11" model="ir.actions.server.mass.edit.line">
<field name="server_action_id" ref="mass_editing_user" />
<field name="field_id" ref="base.field_res_users__bank_ids" />
</record>

<!-- Mass Edit Partner Title -->
<record id="mass_editing_partner_title" model="ir.actions.server">
<field name="state">mass_edit</field>
<field name="name">Mass Edit</field>
<field name="model_id" ref="base.model_res_partner_title" />
</record>
<record
id="mass_editing_partner_title_line_1"
model="ir.actions.server.mass.edit.line"
>
<field name="server_action_id" ref="mass_editing_partner_title" />
<field name="field_id" ref="base.field_res_partner_title__shortcut" />
</record>

<!-- Add context actions -->
<function model="ir.actions.server" name="create_action">
<value eval="[ref('mass_editing_user'), ref('mass_editing_partner_title')]" />
</function>
</odoo>