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

[18.0][MIG][base_export_manager] Migration to 18.0 #969

Open
wants to merge 40 commits into
base: 18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b4f74ea
[REN] base_exports_manager > base_export_manager
pedrobaeza Nov 12, 2015
23df542
Missing rename
hhgabelgaard Dec 3, 2015
de715d6
[IMP] base_export_manager: Several things:
yajo Dec 24, 2015
ad49db6
[MIG] base_export_manager: Upgrade to v9
lasley Jul 19, 2016
6900070
[REF] base_export_manager: Fix model domain
lasley Aug 1, 2016
3e4b6e6
[IMP] Add export permission
Aug 5, 2016
625e54e
IMP: support v7,v8 API and remove sql with ORM methods (#1)
Aug 10, 2016
542a5c4
[FIX+IMP] PEP8 + conflicts + Combined methods
Aug 10, 2016
80815a4
[IMP] base_export_manager: Several things (II):
yajo Dec 24, 2015
455d951
base_export_manager: Upgrade to v9 * Upgrade base_export_manager to v…
lasley Jul 19, 2016
7bc5a04
Add export permission
Aug 5, 2016
0b54c21
[8.0][FIX][base_export_manager] Fix "Expected singleton" bug. (#521)
yajo Oct 18, 2016
6785f67
[MIG]Migrated base_export_manager module.
Jan 24, 2017
74bbff9
[MIG][base_export_manager] Migrate features from 8.0
yajo Jun 16, 2017
81de42c
[MIG] base_export_manager: Migrate to v11
yajo Aug 23, 2018
8149ad4
Translated using Weblate (Danish)
hhgabelgaard Sep 5, 2018
74a8023
[MIG] base_export_manager: Migration to 12.0
May 20, 2019
6e9d586
Translated using Weblate (Portuguese)
pedrocs-exo Jul 5, 2019
ab7222e
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 2, 2019
f114e79
Translated using Weblate (Croatian)
badbole Nov 13, 2019
4d0ec24
[IMP] base_export_manager: black, isort, prettier
Tardo Mar 25, 2020
d88ffe3
[MIG] base_export_manager: Migration to 13.0
Tardo Mar 25, 2020
506354c
[IMP] base_export_manager: black, isort, prettier
kevinkhao Oct 26, 2020
134f683
[MIG] base_export_manager: Migration to 14.0
kevinkhao Oct 26, 2020
b58bc83
Translated using Weblate (Spanish)
anasuarez1 Mar 16, 2021
bff3325
[FIX] base_export_manager: Don't return on invalid field, but break
pedrobaeza Mar 19, 2021
bfb3003
[IMP] base_export_manager: pre-commit execution
nicomacr Mar 29, 2022
a9b6a85
[MIG] base_export_manager: Migration to 15.0
nicomacr Mar 29, 2022
23ca98a
[FIX] base_export_manager: Remove default because it is redundant
victoralmau Nov 23, 2022
e6a59c1
[MIG] base_export_manager: Migration to 16.0
rjpathan Jun 23, 2023
0e1a38d
[MIG] base_export_manager : Migration to 16.0
syera94 Dec 5, 2022
e1af1f2
[FIX] base_export_manager: ListController corrected file
stefan-tecnativa Aug 7, 2023
c8bf3fb
[FIX] base_export_manager: Avoid access error when using export profile
pedrobaeza Aug 8, 2023
2990a99
Translated using Weblate (Spanish)
Ivorra78 Aug 27, 2023
b6ace53
Translated using Weblate (Italian)
mymage Dec 31, 2023
770b5d0
Translated using Weblate (Swedish)
jakobkrabbe Feb 27, 2024
852aa83
[16.0][FIX] base_export_manager, add sudo call to models without expl…
ChrisOForgeFlow Jul 10, 2024
37c401c
Translated using Weblate (Portuguese (Brazil))
SottomaiorMacedoTec Jul 10, 2024
e058a6c
[IMP] base_export_manager: pre-commit auto fixes
BT-crodriguez Nov 12, 2024
436e2f0
[18.0][MIG][base_export_manager] Migration to 18.0
BT-crodriguez Nov 12, 2024
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
148 changes: 148 additions & 0 deletions base_export_manager/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
============================
Manage model export profiles
============================

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

.. |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/18.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-18-0/server-ux-18-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=18.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:%2018.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 <[email protected]>
- Antonio Espinosa <[email protected]>
- Rafael Blasco <[email protected]>
- Jairo Llopis <[email protected]>
- Dave Lasley <[email protected]>
- Sandip Mangukiya <[email protected]>
- Maxime Chambreuil <[email protected]>
- Olivier Jossen <[email protected]>
- Alexandre Díaz <[email protected]>
- Kevin Khao <[email protected]>

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/18.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
32 changes: 32 additions & 0 deletions base_export_manager/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# 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": "18.0.1.0.1",
"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,
}
21 changes: 21 additions & 0 deletions base_export_manager/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2016 Jairo Llopis <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import SUPERUSER_ID, api


def post_init_hook(cr, registry):
"""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.
"""
with api.Environment.manage():
env = api.Environment(cr, SUPERUSER_ID, {})
env["ir.exports.line"].search(
[
("field1_id", "=", False),
("export_id", "!=", False),
("name", "!=", False),
]
)._inverse_name()
Loading
Loading