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] base_export_manager: Migration to version 16.0 #702

Merged
merged 35 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
af6aefb
[REN] base_exports_manager > base_export_manager
pedrobaeza Nov 12, 2015
18499bd
Missing rename
hhgabelgaard Dec 3, 2015
43ad205
[IMP] base_export_manager: Several things:
yajo Dec 24, 2015
3187881
[MIG] base_export_manager: Upgrade to v9
lasley Jul 19, 2016
ba1c047
[REF] base_export_manager: Fix model domain
lasley Aug 1, 2016
e231fe5
[IMP] Add export permission
Aug 5, 2016
2bd236f
IMP: support v7,v8 API and remove sql with ORM methods (#1)
Aug 10, 2016
8400b83
[FIX+IMP] PEP8 + conflicts + Combined methods
Aug 10, 2016
2d72c19
OCA Transbot updated translations from Transifex
oca-transbot Jan 31, 2016
1d11947
[IMP] base_export_manager: Several things (II):
yajo Dec 24, 2015
883a918
base_export_manager: Upgrade to v9 * Upgrade base_export_manager to v…
lasley Jul 19, 2016
d0b2216
Add export permission
Aug 5, 2016
2ae7e19
[8.0][FIX][base_export_manager] Fix "Expected singleton" bug. (#521)
yajo Oct 18, 2016
9e29109
[MIG]Migrated base_export_manager module.
Jan 24, 2017
866451c
[MIG][base_export_manager] Migrate features from 8.0
yajo Jun 16, 2017
e3be1f9
[MIG] base_export_manager: Migrate to v11
yajo Aug 23, 2018
5d5cb39
Translated using Weblate (Danish)
hhgabelgaard Sep 5, 2018
d15b2f6
[MIG] base_export_manager: Migration to 12.0
May 20, 2019
482e5e2
Translated using Weblate (Portuguese)
pedrocs-exo Jul 5, 2019
c17b240
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 2, 2019
5ba167e
Translated using Weblate (Croatian)
badbole Nov 13, 2019
382c6b6
[IMP] base_export_manager: black, isort, prettier
Tardo Mar 25, 2020
018d113
[MIG] base_export_manager: Migration to 13.0
Tardo Mar 25, 2020
2f79066
[IMP] base_export_manager: black, isort, prettier
kevinkhao Oct 26, 2020
dd8db2f
[MIG] base_export_manager: Migration to 14.0
kevinkhao Oct 26, 2020
5cebc84
Translated using Weblate (Spanish)
anasuarez1 Mar 16, 2021
0f2df1d
[FIX] base_export_manager: Don't return on invalid field, but break
pedrobaeza Mar 19, 2021
0f78cdf
[IMP] base_export_manager: pre-commit execution
nicomacr Mar 29, 2022
85c5bb9
[MIG] base_export_manager: Migration to 15.0
nicomacr Mar 29, 2022
3ba7374
[FIX] base_export_manager: Remove default because it is redundant
victoralmau Nov 23, 2022
5898fdd
[IMP] base_export_manager: pre-commit stuff
rjpathan Apr 24, 2023
bbe3bc2
[MIG] base_export_manager: Migration to 16.0
rjpathan Jun 23, 2023
f8880da
[MIG] base_export_manager : Migration to 16.0
syera94 Dec 5, 2022
1eb0ee3
[FIX] base_export_manager: ListController corrected file
stefan-tecnativa Aug 7, 2023
54b4702
[FIX] base_export_manager: Avoid access error when using export profile
pedrobaeza Aug 8, 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
145 changes: 145 additions & 0 deletions base_export_manager/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
============================
Manage model export profiles
============================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! 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%2Fserver--ux-lightgray.png?logo=github
:target: https://github.com/OCA/server-ux/tree/15.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-15-0/server-ux-15-0-base_export_manager
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/250/15.0
:alt: Try me on Runbot

|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 smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-ux/issues/new?body=module:%20base_export_manager%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
~~~~~~~

* 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/15.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
34 changes: 34 additions & 0 deletions base_export_manager/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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": "16.0.1.0.0",
"depends": ["web"],
"data": [
"views/ir_exports.xml",
"views/ir_model.xml",
"views/ir_model_access.xml",
"views/res_groups.xml",
],
"qweb": ["static/src/xml/base.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",
"base_export_manager/static/src/xml/base.xml",
],
},
"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(

Check warning on line 15 in base_export_manager/hooks.py

View check run for this annotation

Codecov / codecov/patch

base_export_manager/hooks.py#L14-L15

Added lines #L14 - L15 were not covered by tests
[
("field1_id", "=", False),
("export_id", "!=", False),
("name", "!=", False),
]
)._inverse_name()
186 changes: 186 additions & 0 deletions base_export_manager/i18n/ar.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_export_manager
#
# Translators:
# OCA Transbot <[email protected]>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0+e\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 12:59+0000\n"
"PO-Revision-Date: 2019-05-20 12:59+0000\n"
"Last-Translator: OCA Transbot <[email protected]>, 2017\n"
"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"

#. module: base_export_manager
#: model:ir.model.fields,help:base_export_manager.field_ir_exports__model_id
#: model:ir.model.fields,help:base_export_manager.field_ir_exports_line__model1_id
msgid "Database model to export."
msgstr ""

#. module: base_export_manager
#. openerp-web
#: code:addons/base_export_manager/static/src/js/base_export_manager.js:0
#, python-format
msgid "Export"
msgstr "تصدير"

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_model_access__perm_export
msgid "Export Access"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports__name
#, fuzzy
msgid "Export Name"
msgstr "تصدير"

#. module: base_export_manager
#: model_terms:ir.ui.view,arch_db:base_export_manager.ir_exports_form_view
msgid "Export Profile"
msgstr ""

#. module: base_export_manager
#: model:ir.actions.act_window,name:base_export_manager.ir_exports_action
#: model:ir.ui.menu,name:base_export_manager.ir_exports_menu
#: model_terms:ir.ui.view,arch_db:base_export_manager.ir_exports_tree_view
msgid "Export Profiles"
msgstr ""

#. module: base_export_manager
#: model:ir.model,name:base_export_manager.model_ir_exports
msgid "Exports"
msgstr ""

#. module: base_export_manager
#: model:ir.model,name:base_export_manager.model_ir_exports_line
msgid "Exports Line"
msgstr ""

#. module: base_export_manager
#: code:addons/base_export_manager/models/ir_exports_line.py:0
#, python-format
msgid "Field '%s' already exists"
msgstr ""

#. module: base_export_manager
#: code:addons/base_export_manager/models/ir_exports_line.py:0
#, python-format
msgid "Field '%s' does not exist"
msgstr ""

#. module: base_export_manager
#: code:addons/base_export_manager/models/ir_exports_line.py:0
#, python-format
msgid "Field '%s' not found in model '%s'"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__name
msgid "Field Name"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,help:base_export_manager.field_ir_exports_line__name
msgid "Field's technical name."
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__field1_id
msgid "First field"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__model1_id
msgid "First model"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__field4_id
msgid "Fourth field"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__model4_id
msgid "Fourth model"
msgstr ""

#. module: base_export_manager
#: model:ir.model,name:base_export_manager.model_ir_http
msgid "HTTP Routing"
msgstr ""

#. module: base_export_manager
#: code:addons/base_export_manager/models/ir_exports_line.py:0
#, python-format
msgid "It's not allowed to have more than 4 levels depth: %s"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__label
msgid "Label"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports__model_id
msgid "Model"
msgstr "النموذج"

#. module: base_export_manager
#: model:ir.model,name:base_export_manager.model_ir_model_access
msgid "Model Access"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,help:base_export_manager.field_ir_exports__resource
msgid "Model's technical name."
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports__resource
msgid "Resource"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__field2_id
msgid "Second field"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__model2_id
msgid "Second model"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__sequence
msgid "Sequence"
msgstr "المسلسل"

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__field3_id
msgid "Third field"
msgstr ""

#. module: base_export_manager
#: model:ir.model.fields,field_description:base_export_manager.field_ir_exports_line__model3_id
msgid "Third model"
msgstr ""

#. module: base_export_manager
#: model:ir.model,name:base_export_manager.model_res_users
msgid "Users"
msgstr "المستخدمون"

#. module: base_export_manager
#: code:addons/base_export_manager/models/ir_exports.py:0
#, python-format
msgid "You must supply a model or resource."
msgstr ""
Loading
Loading