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 16.0 #649

Closed
wants to merge 51 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
d85e141
[REN] base_exports_manager > base_export_manager
pedrobaeza Nov 12, 2015
ef5bb2d
OCA Transbot updated translations from Transifex
oca-transbot Nov 30, 2015
0bb9c3b
Missing rename
hhgabelgaard Dec 3, 2015
4820643
[IMP] base_export_manager: Several things:
yajo Dec 24, 2015
a65266e
[MIG] base_export_manager: Upgrade to v9
lasley Jul 19, 2016
9fc651b
[REF] base_export_manager: Fix model domain
lasley Aug 1, 2016
d878ed7
OCA Transbot updated translations from Transifex
oca-transbot Aug 7, 2016
fdab1ed
[IMP] Add export permission
Aug 5, 2016
85c71fd
IMP: support v7,v8 API and remove sql with ORM methods (#1)
Aug 10, 2016
806defc
[FIX+IMP] PEP8 + conflicts + Combined methods
Aug 10, 2016
31387b9
OCA Transbot updated translations from Transifex
oca-transbot Jan 31, 2016
3449139
[IMP] base_export_manager: Several things (II):
yajo Dec 24, 2015
f18e98a
base_export_manager: Upgrade to v9 * Upgrade base_export_manager to v…
lasley Jul 19, 2016
6bf416d
Add export permission
Aug 5, 2016
5a2ca1f
[8.0][FIX][base_export_manager] Fix "Expected singleton" bug. (#521)
yajo Oct 18, 2016
56d896a
[MIG]Migrated base_export_manager module.
Jan 24, 2017
3b50fc7
[MIG][base_export_manager] Migrate features from 8.0
yajo Jun 16, 2017
c750a2c
[UPD] Update base_export_manager.pot
oca-travis Jun 24, 2018
4bf2c3c
[MIG] base_export_manager: Migrate to v11
yajo Aug 23, 2018
fbf4752
[UPD] Update base_export_manager.pot
oca-travis Aug 29, 2018
0a99eca
[UPD] README.rst
OCA-git-bot Aug 30, 2018
9e6c954
Translated using Weblate (Danish)
hhgabelgaard Sep 5, 2018
8ec16a8
Update translation files
oca-transbot Dec 3, 2018
c110ae7
[MIG] base_export_manager: Migration to 12.0
May 20, 2019
5321145
[UPD] README.rst
OCA-git-bot Jun 5, 2019
fd759c5
[UPD] Update base_export_manager.pot
oca-travis Jun 5, 2019
c8f7724
Update translation files
oca-transbot Jun 16, 2019
9f721ca
Translated using Weblate (Portuguese)
pedrocs-exo Jul 5, 2019
6d8cae3
[UPD] README.rst
OCA-git-bot Jul 29, 2019
22d9564
Translated using Weblate (Chinese (Simplified))
liweijie0812 Sep 2, 2019
1278619
Translated using Weblate (Croatian)
badbole Nov 13, 2019
94643b6
[IMP] base_export_manager: black, isort, prettier
Tardo Mar 25, 2020
1d802da
[MIG] base_export_manager: Migration to 13.0
Tardo Mar 25, 2020
b28ade8
[UPD] Update base_export_manager.pot
oca-travis May 13, 2020
da26c36
Update translation files
oca-transbot May 26, 2020
469dfb1
Update translation files
oca-transbot Aug 16, 2020
7ab8402
[IMP] base_export_manager: black, isort, prettier
kevinkhao Oct 26, 2020
a39a389
[MIG] base_export_manager: Migration to 14.0
kevinkhao Oct 26, 2020
12df48e
[UPD] Update base_export_manager.pot
oca-travis Mar 14, 2021
e89042d
[UPD] README.rst
OCA-git-bot Mar 14, 2021
ca9848c
Translated using Weblate (Spanish)
anasuarez1 Mar 16, 2021
d5069ad
[FIX] base_export_manager: Don't return on invalid field, but break
pedrobaeza Mar 19, 2021
4f41b11
base_export_manager 14.0.1.0.1
OCA-git-bot Mar 29, 2021
8adbf33
[IMP] base_export_manager: pre-commit execution
nicomacr Mar 29, 2022
a8a9e0d
[MIG] base_export_manager: Migration to 15.0
nicomacr Mar 29, 2022
41e8024
[UPD] Update base_export_manager.pot
Jul 13, 2022
85b2a12
[UPD] README.rst
OCA-git-bot Jul 13, 2022
20bca42
[FIX] base_export_manager: Remove default because it is redundant
victoralmau Nov 23, 2022
1e2aa10
base_export_manager 15.0.1.0.1
OCA-git-bot Nov 23, 2022
30ad949
[IMP] base_export_manager: pre-commit stuff
rjpathan Apr 24, 2023
b1573b4
[MIG] base_export_manager: Migration to 16.0
rjpathan Jun 23, 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 <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/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.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 <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(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()
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 <transbot@odoo-community.org>, 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 <transbot@odoo-community.org>, 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