Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
8b5cc08
[REN] base_exports_manager > base_export_manager
pedrobaeza Nov 12, 2015
cef467b
Missing rename
hhgabelgaard Dec 3, 2015
1e46f92
[IMP] base_export_manager: Several things:
yajo Dec 24, 2015
74c1b01
[MIG] base_export_manager: Upgrade to v9
lasley Jul 19, 2016
6314fdc
[REF] base_export_manager: Fix model domain
lasley Aug 1, 2016
bf6c1de
[IMP] Add export permission
Aug 5, 2016
fa06e81
IMP: support v7,v8 API and remove sql with ORM methods (#1)
Aug 10, 2016
5b469c3
[FIX+IMP] PEP8 + conflicts + Combined methods
Aug 10, 2016
df451f7
[IMP] base_export_manager: Several things (II):
yajo Dec 24, 2015
b6ada8f
base_export_manager: Upgrade to v9 * Upgrade base_export_manager to v…
lasley Jul 19, 2016
c721bdb
Add export permission
Aug 5, 2016
c1d6775
[8.0][FIX][base_export_manager] Fix "Expected singleton" bug. (#521)
yajo Oct 18, 2016
68a1b6c
[MIG]Migrated base_export_manager module.
Jan 24, 2017
a6d2b95
[MIG][base_export_manager] Migrate features from 8.0
yajo Jun 16, 2017
784c276
[MIG] base_export_manager: Migrate to v11
yajo Aug 23, 2018
eda7a5e
Translated using Weblate (Danish)
hhgabelgaard Sep 5, 2018
91af99e
[MIG] base_export_manager: Migration to 12.0
May 20, 2019
50f20f9
Translated using Weblate (Portuguese)
pedrocs-exo Jul 5, 2019
17c89c6
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 2, 2019
1fe3a1b
Translated using Weblate (Croatian)
badbole Nov 13, 2019
1ac6d27
[IMP] base_export_manager: black, isort, prettier
Tardo Mar 25, 2020
4cc4f6d
[MIG] base_export_manager: Migration to 13.0
Tardo Mar 25, 2020
b5fdaec
[IMP] base_export_manager: black, isort, prettier
kevinkhao Oct 26, 2020
d8bc7ba
[MIG] base_export_manager: Migration to 14.0
kevinkhao Oct 26, 2020
44d07c2
Translated using Weblate (Spanish)
anasuarez1 Mar 16, 2021
8c6162a
[FIX] base_export_manager: Don't return on invalid field, but break
pedrobaeza Mar 19, 2021
75df27d
[IMP] base_export_manager: pre-commit execution
nicomacr Mar 29, 2022
46f79e4
[MIG] base_export_manager: Migration to 15.0
nicomacr Mar 29, 2022
c322403
[FIX] base_export_manager: Remove default because it is redundant
victoralmau Nov 23, 2022
e21d6c6
[MIG] base_export_manager: Migration to 16.0
rjpathan Jun 23, 2023
332e9bd
[MIG] base_export_manager : Migration to 16.0
syera94 Dec 5, 2022
1c6b616
[FIX] base_export_manager: ListController corrected file
stefan-tecnativa Aug 7, 2023
2b28a16
[FIX] base_export_manager: Avoid access error when using export profile
pedrobaeza Aug 8, 2023
d81c608
Translated using Weblate (Spanish)
Ivorra78 Aug 27, 2023
c81bb0b
Translated using Weblate (Italian)
mymage Dec 31, 2023
7c4bea4
Translated using Weblate (Swedish)
jakobkrabbe Feb 27, 2024
c59017a
[16.0][FIX] base_export_manager, add sudo call to models without expl…
ChrisOForgeFlow Jul 10, 2024
6e5c5df
Translated using Weblate (Portuguese (Brazil))
SottomaiorMacedoTec Jul 10, 2024
80831da
[IMP] base_export_manager: pre-commit auto fixes
BT-crodriguez Nov 12, 2024
ea0893e
[18.0][MIG][base_export_manager] Migration to 18.0
BT-crodriguez May 30, 2025
79e9ebc
[UPD] Update base_export_manager.pot
May 30, 2025
cbb9286
[BOT] post-merge updates
OCA-git-bot May 30, 2025
a9cc9b3
[IMP] base_export_manager: Improve test with basic test-user
victoralmau Jul 1, 2025
7b1f197
[FIX] base_export_manager: Add compute_sudo=True to label field to pr…
victoralmau Jul 1, 2025
cdee270
[BOT] post-merge updates
OCA-git-bot Jul 2, 2025
7655abf
[MIG] base_export_manager: Migration to 19.0
lef-adhoc Nov 11, 2025
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
152 changes: 152 additions & 0 deletions base_export_manager/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

============================
Manage model export profiles
============================

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

.. |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-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/19.0/base_export_manager
: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-19-0/server-ux-19-0-base_export_manager
: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=19.0
:alt: Try me on Runboat

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

This module extends the export capability:

1. It allows an admin to manage export profiles (``ir.exports``) that
Odoo stores internally but does not show anywhere.
2. It also adds a new column to access rights to enable/disable export
and override the export method to check if the user is allowed to
export. Export is enabled by default.

**Table of contents**

.. contents::
:local:

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

- Activate the developer mode
- Go to Settings > Users > Groups to select a user group
- Edit the group and go to the Access Rights tab
- Uncheck the "Export Access" box on the object of your choice and save

You can also go to Settings > Technical > Security > Access Rights.

Usage
=====

You can create the export profiles as you are used to:

- Go to any list view.
- Check some records.
- Click *Action > Export*.
- Use the wizard to choose the columns to export.
- Click on the *Template* dropdown and select *New template*
- Give it a name.
- Click on the floppy disk icon to save it.

To manage export profiles, you need to:

- Go to *Settings > Technical > User Interface > Export Profiles*.
- Create a new one.
- Choose a name.
- Choose a model (table in the database).
- Choose the fields to export.

- If you choose a related field, you can choose also up to 4 levels of
subfields.
- You can drag & drop to reorder the fields.

To use one of those profiles, you need to:

- Go to any list view.
- Check some records.
- Click *Action > Export*.
- Choose your saved export from *Saved exports*.
- Press *Export to file*.

Once you have configured groups who cannot export an object:

- Connect as a user of this group
- Go to the list view of the object you disabled the export
- Select records and open the Action menu. The "Export" is not there.

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

- Translated labels are not used in final exported file.

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:%20base_export_manager%0Aversion:%2019.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
-------

* Tecnativa
* LasLabs
* Ursa Information Systems
* brain-tec AG

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

- Javier Iniesta <javieria@antiun.com>
- Antonio Espinosa <antonio.espinosa@tecnativa.com>
- Rafael Blasco <rafael.blasco@tecnativa.com>
- Jairo Llopis <jairo.llopis@tecnativa.com>
- Dave Lasley <dave@laslabs.com>
- Sandip Mangukiya <smangukiya@ursainfosystems.com>
- Maxime Chambreuil <mchambreuil@ursainfosystems.com>
- Olivier Jossen <olivier.jossen@braintec-group.com>
- Alexandre Díaz <alexandre.diaz@tecnativa.com>
- Kevin Khao <kevin.khao@akretion.com>

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/19.0/base_export_manager>`_ 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 base_export_manager/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from .hooks import post_init_hook
33 changes: 33 additions & 0 deletions base_export_manager/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2015 Tecnativa - Antonio Espinosa
# Copyright 2016 Tecnativa - Pedro M. Baeza
# Copyright 2018 Tecnativa - Jairo Llopis
# Copyright 2019 brain-tec AG - Olivier Jossen
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Manage model export profiles",
"category": "Personalization",
"version": "19.0.1.0.0",
"depends": ["web"],
"data": [
"views/ir_exports.xml",
"views/ir_model.xml",
"views/ir_model_access.xml",
"views/res_groups.xml",
],
"author": "Tecnativa, "
"LasLabs, "
"Ursa Information Systems, "
"brain-tec AG, "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-ux",
"license": "AGPL-3",
"assets": {
"web.assets_backend": [
"base_export_manager/static/src/views/list/list_controller.esm.js",
],
},
"installable": True,
"application": False,
"post_init_hook": "post_init_hook",
}
20 changes: 20 additions & 0 deletions base_export_manager/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2016 Jairo Llopis <jairo.llopis@tecnativa.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import SUPERUSER_ID, api


def post_init_hook(env):
"""Loaded after installing the module.

``ir.exports.line.name`` was before a char field, and now it is a computed
char field with stored values. We have to inverse it to avoid database
inconsistencies.
"""
env = api.Environment(env.cr, SUPERUSER_ID, {})
env["ir.exports.line"].search(
[
("field1_id", "=", False),
("export_id", "!=", False),
("name", "!=", False),
]
)._inverse_name()
Loading