diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 2955098..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -custom: 'https://www.mukit.at/r/hih' diff --git a/.travis.yml b/.travis.yml index 37e1c6a..1bc2005 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,14 @@ language: python python: - - "3.5" + - "3.6" notifications: email: false sudo: false cache: pip - + addons: postgresql: "9.6" apt: @@ -17,18 +17,13 @@ addons: - python3-lxml - python3-simplejson - python3-serial - + env: global: - - VERSION="12.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0" - + - VERSION="13.0" TESTS="1" LINT_CHECK="0" matrix: - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" -before_install: - - sudo apt-get install -y unoconv libav-tools ghostscript imagemagick - - pip install moviepy Wand unoconv lxml simplejson serial odfpy - install: - git clone https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} diff --git a/README.md b/README.md index 748b0a6..6d8875e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ [![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) -[![Build Status](https://travis-ci.org/muk-it/muk_base.svg?branch=12.0)](https://travis-ci.org/muk-it/muk_base) -[![codecov](https://codecov.io/gh/muk-it/muk_base/branch/12.0/graph/badge.svg)](https://codecov.io/gh/muk-it/muk_base) +[![Build Status](https://travis-ci.org/muk-it/muk_base.svg?branch=13.0)](https://travis-ci.org/muk-it/muk_base) +[![codecov](https://codecov.io/gh/muk-it/muk_base/branch/13.0/graph/badge.svg)](https://codecov.io/gh/muk-it/muk_base) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/c867f25820614ed795e7567e37bd81c0)](https://www.codacy.com/app/keshrath/muk_base?utm_source=github.com&utm_medium=referral&utm_content=muk-it/muk_base&utm_campaign=Badge_Grade) -[![Weblate](https://weblate.mukit.at/widgets/base-12/-/svg-badge.svg)](https://weblate.mukit.at/projects/base-12/) -[![Demo](https://img.shields.io/badge/demo-Try%20me-243742.svg)](https://mukit.at/r/SgN) +[![Weblate](https://weblate.mukit.at/widgets/base-13/-/svg-badge.svg)](https://weblate.mukit.at/projects/base-12/) +[![Demo](https://img.shields.io/badge/demo-Try%20me-243742.svg)](https://demo.mukit.at) # MuK Odoo Base Modules @@ -36,7 +36,7 @@ underscores are replaced by a dash. **Example:** -`sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils` +`sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo13-addon-muk-utils` Once the installation has been successfully completed, the app is already in the correct folder. Log on to your Odoo server and go to the diff --git a/muk_attachment_lobject/LICENSE b/muk_attachment_lobject/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_attachment_lobject/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_attachment_lobject/README.rst b/muk_attachment_lobject/README.rst deleted file mode 100644 index 8d0635d..0000000 --- a/muk_attachment_lobject/README.rst +++ /dev/null @@ -1,129 +0,0 @@ -=================================== -MuK Large Object Attachment Storage -=================================== - -Provides a new attachment location to save attachments as PostgreSQL large objects. -To enable the large object storage option change the `ir_attachment.location` -parameter to `lobject`. - -**Advantages over the in-database storage** - -* Better RAM efficiency (This is more important for large files than for small ones.) -* Possibility to easily dump the base without the large objects (This can be useful for reproducing bugs.) - -**Advantages over the file system storage** - -* Large objects are transactional (fully ACID) -* They work out of the box in multi-system setups (So there is no need for NFS or similar file sharing tools.) -* Enables you to easily create backups of the entire system - - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -The module has an init hook, which automatically stores all attachments in -large objects. To activate this hook the config parameter `auto_storage_migration` -has to be set to `true`. - -Usage -============= - -This module has no direct visible effect on the system. However, existing and -future attachments are stored as large objects. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_attachment_lobject/__init__.py b/muk_attachment_lobject/__init__.py deleted file mode 100644 index 2d28b4d..0000000 --- a/muk_attachment_lobject/__init__.py +++ /dev/null @@ -1,42 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import api, SUPERUSER_ID -from odoo.tools import config - -from . import models - -def _install_force_storage(cr, registry): - if config.get("auto_storage_migration", False): - env = api.Environment(cr, SUPERUSER_ID, {}) - params = env['ir.config_parameter'].sudo() - params.set_param('ir_attachment.location', 'lobject') - attachment = env['ir.attachment'].sudo().force_storage() - -def _uninstall_force_storage(cr, registry): - env = api.Environment(cr, SUPERUSER_ID, {}) - params = env['ir.config_parameter'].sudo() - location = params.get_param('ir_attachment.location') - if location == 'lobject': - params.set_param('ir_attachment.location', 'file') - attachment = env['ir.attachment'].sudo().force_storage() - diff --git a/muk_attachment_lobject/__manifest__.py b/muk_attachment_lobject/__manifest__.py deleted file mode 100644 index df695fb..0000000 --- a/muk_attachment_lobject/__manifest__.py +++ /dev/null @@ -1,56 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Large Objects Attachment", - "summary": """Large Objects Attachment Location""", - "version": '12.0.3.0.2', - "category": 'Extra Tools', - "license": "LGPL-3", - "website": "http://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - 'depends': [ - 'muk_fields_lobject', - ], - "data": [ - "views/ir_attachment.xml", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "application": False, - "installable": True, - "auto_install": False, - "post_init_hook": "_install_force_storage", - "uninstall_hook": "_uninstall_force_storage", -} \ No newline at end of file diff --git a/muk_attachment_lobject/doc/changelog.rst b/muk_attachment_lobject/doc/changelog.rst deleted file mode 100644 index ea96db5..0000000 --- a/muk_attachment_lobject/doc/changelog.rst +++ /dev/null @@ -1,14 +0,0 @@ -`2.1.0` -------- - -- Added Auto Migration - -`2.0.0` -------- - -- Migrated to Python 3 - -`1.0.0` -------- - -- Init version diff --git a/muk_attachment_lobject/doc/index.rst b/muk_attachment_lobject/doc/index.rst deleted file mode 100644 index 8d0635d..0000000 --- a/muk_attachment_lobject/doc/index.rst +++ /dev/null @@ -1,129 +0,0 @@ -=================================== -MuK Large Object Attachment Storage -=================================== - -Provides a new attachment location to save attachments as PostgreSQL large objects. -To enable the large object storage option change the `ir_attachment.location` -parameter to `lobject`. - -**Advantages over the in-database storage** - -* Better RAM efficiency (This is more important for large files than for small ones.) -* Possibility to easily dump the base without the large objects (This can be useful for reproducing bugs.) - -**Advantages over the file system storage** - -* Large objects are transactional (fully ACID) -* They work out of the box in multi-system setups (So there is no need for NFS or similar file sharing tools.) -* Enables you to easily create backups of the entire system - - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -The module has an init hook, which automatically stores all attachments in -large objects. To activate this hook the config parameter `auto_storage_migration` -has to be set to `true`. - -Usage -============= - -This module has no direct visible effect on the system. However, existing and -future attachments are stored as large objects. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_attachment_lobject/i18n/ar.po b/muk_attachment_lobject/i18n/ar.po deleted file mode 100644 index 38aae81..0000000 --- a/muk_attachment_lobject/i18n/ar.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:24+0000\n" -"PO-Revision-Date: 2019-07-12 23:24+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "مرفق" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/de.po b/muk_attachment_lobject/i18n/de.po deleted file mode 100644 index f2d744d..0000000 --- a/muk_attachment_lobject/i18n/de.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:24+0000\n" -"PO-Revision-Date: 2019-07-12 23:24+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Dateianhang" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "Daten" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "Speicher" - diff --git a/muk_attachment_lobject/i18n/es.po b/muk_attachment_lobject/i18n/es.po deleted file mode 100644 index 839a75f..0000000 --- a/muk_attachment_lobject/i18n/es.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:25+0000\n" -"PO-Revision-Date: 2019-07-12 23:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Adjunto" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/fr.po b/muk_attachment_lobject/i18n/fr.po deleted file mode 100644 index ba79e14..0000000 --- a/muk_attachment_lobject/i18n/fr.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:25+0000\n" -"PO-Revision-Date: 2019-07-12 23:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Pièce jointe" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/hi.po b/muk_attachment_lobject/i18n/hi.po deleted file mode 100644 index cd3e044..0000000 --- a/muk_attachment_lobject/i18n/hi.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:25+0000\n" -"PO-Revision-Date: 2019-07-12 23:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/muk_attachment_lobject.pot b/muk_attachment_lobject/i18n/muk_attachment_lobject.pot deleted file mode 100644 index 84a531c..0000000 --- a/muk_attachment_lobject/i18n/muk_attachment_lobject.pot +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:24+0000\n" -"PO-Revision-Date: 2019-07-12 23:24+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/nl.po b/muk_attachment_lobject/i18n/nl.po deleted file mode 100644 index 18083bb..0000000 --- a/muk_attachment_lobject/i18n/nl.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:25+0000\n" -"PO-Revision-Date: 2019-07-12 23:25+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Bijlage" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/pt.po b/muk_attachment_lobject/i18n/pt.po deleted file mode 100644 index bbe7296..0000000 --- a/muk_attachment_lobject/i18n/pt.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:26+0000\n" -"PO-Revision-Date: 2019-07-12 23:26+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Anexo" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/i18n/ru.po b/muk_attachment_lobject/i18n/ru.po deleted file mode 100644 index d83e0eb..0000000 --- a/muk_attachment_lobject/i18n/ru.po +++ /dev/null @@ -1,38 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_attachment_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:26+0000\n" -"PO-Revision-Date: 2019-07-12 23:26+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_attachment_lobject -#: model:ir.model,name:muk_attachment_lobject.model_ir_attachment -msgid "Attachment" -msgstr "Приложение" - -#. module: muk_attachment_lobject -#: model:ir.model.fields,field_description:muk_attachment_lobject.field_ir_attachment__store_lobject -msgid "Data" -msgstr "" - -#. module: muk_attachment_lobject -#: code:addons/muk_attachment_lobject/models/ir_attachment.py:68 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_attachment_lobject -#: model_terms:ir.ui.view,arch_db:muk_attachment_lobject.view_attachment_form -msgid "Storage" -msgstr "" - diff --git a/muk_attachment_lobject/models/__init__.py b/muk_attachment_lobject/models/__init__.py deleted file mode 100644 index 6946cc7..0000000 --- a/muk_attachment_lobject/models/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import ir_attachment diff --git a/muk_attachment_lobject/models/ir_attachment.py b/muk_attachment_lobject/models/ir_attachment.py deleted file mode 100644 index 4758ef8..0000000 --- a/muk_attachment_lobject/models/ir_attachment.py +++ /dev/null @@ -1,117 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import base64 -import logging -import mimetypes - -from odoo import api, models, _ -from odoo.exceptions import AccessError - -from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject - -_logger = logging.getLogger(__name__) - -class LObjectIrAttachment(models.Model): - - _inherit = 'ir.attachment' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - store_lobject = LargeObject( - string="Data") - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - @api.model - def _get_datas_inital_vals(self): - vals = super(LObjectIrAttachment, self)._get_datas_inital_vals() - vals.update({'store_lobject': False}) - return vals - - #---------------------------------------------------------- - # Function - #---------------------------------------------------------- - - @api.model - def storage_locations(self): - locations = super(LObjectIrAttachment, self).storage_locations() - locations.append('lobject') - return locations - - @api.model - def force_storage(self): - if not self.env.user._is_admin(): - raise AccessError(_('Only administrators can execute this action.')) - if self._storage() != 'lobject': - return super(LObjectIrAttachment, self).force_storage() - else: - storage_domain = { - 'lobject': ('store_lobject', '=', False), - } - record_domain = [ - '&', ('type', '=', 'binary'), - '&', storage_domain[self._storage()], - '|', ('res_field', '=', False), ('res_field', '!=', False) - ] - self.search(record_domain).migrate(batch_size=100) - return True - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - @api.depends('store_lobject') - def _compute_datas(self): - bin_size = self._context.get('bin_size') - for attach in self: - if attach.store_lobject: - if bin_size: - attach.datas = attach.with_context({'human_size': True}).store_lobject - else: - attach.datas = attach.with_context({'base64': True}).store_lobject - else: - super(LObjectIrAttachment, attach)._compute_datas() - - #---------------------------------------------------------- - # Create, Write, Delete - #---------------------------------------------------------- - - @api.multi - def _inverse_datas(self): - location = self._storage() - if location == 'lobject': - for attach in self: - value = attach.datas - bin_data = base64.b64decode(value) if value else b'' - vals = self._get_datas_inital_vals() - vals = self._update_datas_vals(vals, attach, bin_data) - vals['store_lobject'] = bin_data - clean_vals = self._get_datas_clean_vals(attach) - models.Model.write(attach.sudo(), vals) - self._clean_datas_after_write(clean_vals) - else: - super(LObjectIrAttachment, self)._inverse_datas() \ No newline at end of file diff --git a/muk_attachment_lobject/static/description/banner.png b/muk_attachment_lobject/static/description/banner.png deleted file mode 100644 index 4c36d0c..0000000 Binary files a/muk_attachment_lobject/static/description/banner.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/icon.png b/muk_attachment_lobject/static/description/icon.png deleted file mode 100644 index 8425938..0000000 Binary files a/muk_attachment_lobject/static/description/icon.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/icon.svg b/muk_attachment_lobject/static/description/icon.svg deleted file mode 100644 index cb99b3d..0000000 --- a/muk_attachment_lobject/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_attachment_lobject/static/description/index.html b/muk_attachment_lobject/static/description/index.html deleted file mode 100644 index 9078ed9..0000000 --- a/muk_attachment_lobject/static/description/index.html +++ /dev/null @@ -1,142 +0,0 @@ -
-
-

MuK Large Objects Attachment

-

Large Objects Attachment Location

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-
-

- Provides a new attachment location to save attachment as large - objects. To enable the large object storage option change the - ir_attachment.location - parameter to - lobject - . -

-
Advantages over the in-database storage
-
    -
  • Better RAM efficiency (This is more important for large files than for small ones.)
  • -
  • Possibility to easily dump the base without the large objects (This can be useful for reproducing bugs.)
  • -
-
Advantages over the file system storage
-
    -
  • Large objects are transactional (fully ACID)
  • -
  • They work out of the box in multi-system setups (So there is no need for NFS or similar file sharing tools.)
  • -
  • Enables you to easily create backups of the entire system
  • -
-
-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_attachment_lobject/static/description/logo.png b/muk_attachment_lobject/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_attachment_lobject/static/description/logo.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/preview.png b/muk_attachment_lobject/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_attachment_lobject/static/description/preview.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/service_customization.png b/muk_attachment_lobject/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_attachment_lobject/static/description/service_customization.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/service_development.png b/muk_attachment_lobject/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_attachment_lobject/static/description/service_development.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/service_implementation.png b/muk_attachment_lobject/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_attachment_lobject/static/description/service_implementation.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/service_integration.png b/muk_attachment_lobject/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_attachment_lobject/static/description/service_integration.png and /dev/null differ diff --git a/muk_attachment_lobject/static/description/service_support.png b/muk_attachment_lobject/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_attachment_lobject/static/description/service_support.png and /dev/null differ diff --git a/muk_attachment_lobject/tests/__init__.py b/muk_attachment_lobject/tests/__init__.py deleted file mode 100644 index f93b3d5..0000000 --- a/muk_attachment_lobject/tests/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_attachment -from . import test_download \ No newline at end of file diff --git a/muk_attachment_lobject/tests/test_attachment.py b/muk_attachment_lobject/tests/test_attachment.py deleted file mode 100644 index 19c8455..0000000 --- a/muk_attachment_lobject/tests/test_attachment.py +++ /dev/null @@ -1,65 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import base64 -import logging -import unittest - -from odoo.tests import common - -_logger = logging.getLogger(__name__) - -class AttachmentTestCase(common.HttpCase): - - def setUp(self): - super(AttachmentTestCase, self).setUp() - self.attachment = self.env['ir.attachment'].sudo() - self.params = self.env['ir.config_parameter'].sudo() - self.location = self.params.get_param('ir_attachment.location') - self.params.set_param('ir_attachment.location', 'lobject') - - def tearDown(self): - self.params.set_param('ir_attachment.location', self.location) - super(AttachmentTestCase, self).tearDown() - - def test_attachment(self): - attach = self.attachment.create({ - 'name': "Test", - 'datas': base64.b64encode(b"\xff data")}) - self.assertTrue(attach.datas) - self.assertTrue(attach.store_lobject) - self.assertTrue(attach.with_context({'bin_size': True}).datas) - self.assertTrue(attach.with_context({'bin_size': True}).store_lobject) - self.assertTrue(attach.with_context({'human_size': True}).store_lobject) - self.assertTrue(attach.with_context({'base64': True}).store_lobject) - self.assertTrue(attach.with_context({'stream': True}).store_lobject) - oid = attach.with_context({'oid': True}).store_lobject - self.assertTrue(oid) - attach.write({'datas': base64.b64encode(b"\xff data")}) - self.assertTrue(oid != attach.with_context({'oid': True}).store_lobject) - self.assertTrue(attach.export_data(['datas'])) - self.assertTrue(attach.export_data(['datas'], raw_data=True)) - attach.unlink() - - @unittest.skip("The test takes a long time and is therefore skipped by default.") - def test_migration(self): - self.attachment.force_storage() \ No newline at end of file diff --git a/muk_attachment_lobject/tests/test_download.py b/muk_attachment_lobject/tests/test_download.py deleted file mode 100644 index af1d9a8..0000000 --- a/muk_attachment_lobject/tests/test_download.py +++ /dev/null @@ -1,78 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Attachment -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import time -import hmac -import base64 -import hashlib -import logging - -from odoo.http import request - -from odoo.addons.muk_utils.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class DownloadTestCase(common.HttpCase): - - def setUp(self): - super(DownloadTestCase, self).setUp() - self.attachment = self.env['ir.attachment'].sudo() - self.params = self.env['ir.config_parameter'].sudo() - self.location = self.params.get_param('ir_attachment.location') - self.params.set_param('ir_attachment.location', 'lobject') - - def tearDown(self): - self.params.set_param('ir_attachment.location', self.location) - super(DownloadTestCase, self).tearDown() - - def test_attachment_download(self): - self.authenticate('admin', 'admin') - attach_01 = self.attachment.create({ - 'name': "Test_01", - 'datas': base64.b64encode(b"\xff data") - }) - attach_02 = self.attachment.create({ - 'name': "Test_02", - }) - self.assertTrue(attach_01.datas) - self.assertFalse(attach_02.datas) - data = { - 'model': 'ir.attachment', - 'field': 'store_lobject', - 'filename_field': 'datas_fname', - } - data.update({ - 'id': attach_01.id, - }) - self.assertTrue(self.url_open('/web/lobject', data=data, csrf=True)) - data.update({ - 'id': attach_02.id, - }) - self.assertTrue(self.url_open('/web/lobject', data=data, csrf=True)) - - - - - \ No newline at end of file diff --git a/muk_attachment_lobject/views/ir_attachment.xml b/muk_attachment_lobject/views/ir_attachment.xml deleted file mode 100644 index 9daa0be..0000000 --- a/muk_attachment_lobject/views/ir_attachment.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - ir_attachment.form - ir.attachment - - - - - - - - - - - \ No newline at end of file diff --git a/muk_autovacuum/LICENSE b/muk_autovacuum/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_autovacuum/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_autovacuum/README.rst b/muk_autovacuum/README.rst deleted file mode 100644 index d81dcd9..0000000 --- a/muk_autovacuum/README.rst +++ /dev/null @@ -1,120 +0,0 @@ -============== -MuK Autovacuum -============== - -Allows the administrator to create rules to automatically garbage collect -a certain model. Every rule can have a different time interval additional -constraints. An extra constraint can be for example to only delete inactive -records. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -To configure this module, you need to: - -#. Go to *Settings* while being in debug mode. -#. Afterwards go to *Technical -> Automation -> Auto Vacuum Rules*. -#. And create a new rule. - -Usage -============= - -This module has no direct visible effect on the system. The garbage collections -happens during the autovacuum cron job. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_autovacuum/__init__.py b/muk_autovacuum/__init__.py deleted file mode 100644 index 57c50e8..0000000 --- a/muk_autovacuum/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import models diff --git a/muk_autovacuum/__manifest__.py b/muk_autovacuum/__manifest__.py deleted file mode 100644 index ab525fb..0000000 --- a/muk_autovacuum/__manifest__.py +++ /dev/null @@ -1,56 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - 'name': 'MuK Autovacuum', - 'summary': 'Configure automatic garbage collection', - 'version': '12.0.3.0.1', - 'category': 'Extra Tools', - 'license': 'LGPL-3', - 'author': 'MuK IT', - 'website': 'https://www.mukit.at', - 'live_test_url': 'https://mukit.at/r/SgN', - 'contributors': [ - 'Mathias Markl ', - ], - 'depends': [ - 'muk_utils', - ], - 'data': [ - 'security/ir.model.access.csv', - 'views/rules.xml', - 'data/rules.xml', - ], - 'qweb': [ - 'static/src/xml/*.xml', - ], - 'images': [ - 'static/description/banner.png' - ], - 'external_dependencies': { - 'python': [], - 'bin': [], - }, - 'application': False, - 'installable': True, - 'auto_install': False, -} \ No newline at end of file diff --git a/muk_autovacuum/data/rules.xml b/muk_autovacuum/data/rules.xml deleted file mode 100644 index c2cea2d..0000000 --- a/muk_autovacuum/data/rules.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - Delete Logs after 2 Weeks - - - - time - weeks - 2 - - - - \ No newline at end of file diff --git a/muk_autovacuum/doc/changelog.rst b/muk_autovacuum/doc/changelog.rst deleted file mode 100644 index 75ffd70..0000000 --- a/muk_autovacuum/doc/changelog.rst +++ /dev/null @@ -1,20 +0,0 @@ -`2.1.0` -------- - -- Added Python Expressions - -`2.0.0` -------- - -- Migrated to Python 3 - -`1.1.0` -------- - -- Add field selector - - -`1.0.0` -------- - -- Init version diff --git a/muk_autovacuum/doc/index.rst b/muk_autovacuum/doc/index.rst deleted file mode 100644 index d81dcd9..0000000 --- a/muk_autovacuum/doc/index.rst +++ /dev/null @@ -1,120 +0,0 @@ -============== -MuK Autovacuum -============== - -Allows the administrator to create rules to automatically garbage collect -a certain model. Every rule can have a different time interval additional -constraints. An extra constraint can be for example to only delete inactive -records. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -To configure this module, you need to: - -#. Go to *Settings* while being in debug mode. -#. Afterwards go to *Technical -> Automation -> Auto Vacuum Rules*. -#. And create a new rule. - -Usage -============= - -This module has no direct visible effect on the system. The garbage collections -happens during the autovacuum cron job. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_autovacuum/i18n/ar.po b/muk_autovacuum/i18n/ar.po deleted file mode 100644 index b23e933..0000000 --- a/muk_autovacuum/i18n/ar.po +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:43+0000\n" -"PO-Revision-Date: 2019-07-12 23:43+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "نشط" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "الكل" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "تفريغ تلقائي" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "أنشئ بواسطة" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "أنشئ في" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "اسم العرض" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "النطاق" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "تجميع حسب" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "المساعدة" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "المعرف" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "آخر تعديل في" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "آخر تحديث بواسطة" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "آخر تحديث في" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "النموذج" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "إسم النموذج" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "الاسم" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "التسلسل" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "الحجم" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/de.po b/muk_autovacuum/i18n/de.po deleted file mode 100644 index cf9d8de..0000000 --- a/muk_autovacuum/i18n/de.po +++ /dev/null @@ -1,408 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:43+0000\n" -"PO-Revision-Date: 2019-07-12 23:43+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "Warnung: Warnausnahme, die bei einer Erhöhung Anwendung findet" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "b64encode, b64decode: Base64 Converter" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "date_format, datetime_format: Serverdatum und Zeitformate" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "env: Odoo Umgebung in welcher die Regel angewendet wird" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "logger.info(message): Python-Protokollierungs-Framework" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "model: Odoo Modell des Datensatzes, auf dem die Regel angewendet wird" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "time, datetime, dateutil, timezone: nützliche Python-Bibliotheken" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "uid, Benutzer: Benutzer an dem die Regel angewendet wird" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Aktiv" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Alle" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "Auto Vacuum Regeln" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "Automatisch aufräumen" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "Codebasiert" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "Codeeinstellungen" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "Code, der während der Bereinigung ausgeführt wird." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Erstellt von" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Erstellt am" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "Tage" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "Löschen Sie alle Datensätze, die mit der Domäne übereinstimmen." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "Ältere Daten als x löschen." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "Datensätze mit einem Index größer als x löschen." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Anzeigename" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "Löscht keine markierten Datensätze.\n" -" Überprüft die folgenden Felder:\n" -" - mit Sternen übersät\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "Domainenbasiert" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "Domaineinstellungen" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "Geben Sie Pyhton-Code hier ein. Hife zu Python-Ausdrücken ist in der Hilfe-Registerkarte dieses Dokuments verfügbar." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "Fixpunktwert" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "GC Domain: %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "GC Domain: [] order: %s limit: %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "GC'd %s %s Aufnahmen" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "GC'd %s Anhänge aus %s Einträgen" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Gruppieren nach" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "Hilfe" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "Hilfe mit Python-Ausdrücken" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "Stunden" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "Importvorlage für die automatischen Aufräumregeln" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Zuletzt geändert am" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Zuletzt aktualisiert durch" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Zuletzt aktualisiert am" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "Minuten" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "Modell" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Modellname" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "Modell, auf das die Regel angewendet wird." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "Monate" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "Nur Archiviert" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "Nur Anhänge" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "Löschen Sie nur archivierte Sätze." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "Löschen Sie nur Datensatzanhänge." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "Reihenfolge, in der der Index definiert ist." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "Schützt Favoriten" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "Regeltyp" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "Die Regelvalidierung ist fehlgeschlagen!" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Nummernfolge" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Größe" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "Größenbasierend" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "Größensortierung" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "Größeneinstellung" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "Größe Typ" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "Größenwert" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "Systemparameter" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "Zeit" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "Zeitbasiert" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "Zeitfeld" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "Zeiteinstellungen" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "Zeiteinheit" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "Einige Felder erlauben Python Code oder Python Ausdrücke. Die folgenden Variablen können verwendet werden:" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "Wochen" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "Jahre" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "z.B. Protokolle nach 30 Tagen löschen" - diff --git a/muk_autovacuum/i18n/es.po b/muk_autovacuum/i18n/es.po deleted file mode 100644 index f0b9e06..0000000 --- a/muk_autovacuum/i18n/es.po +++ /dev/null @@ -1,407 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:43+0000\n" -"PO-Revision-Date: 2019-07-12 23:43+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "Advertencia: Excepción de Advertencia para usar con aumento" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Activo" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Todos" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "Reglas de vacío automático" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "Código" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "Basado en código" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "Código que se ejecutará durante la limpieza." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Creado por" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Creado el" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "Días" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "Elimina todos los registros que coincidan con el dominio." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "Borrar datos anteriores a x." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "Eliminar registros con un índice am mayor que x." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "No borre los registros marcados con asterisco.\n" -" Verifica los siguientes campos:\n" -" - marcado\n" -" - preferido\n" -" - is_starred\n" -" - is_favorite" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "Dominio" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "Basado en dominio" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "Introduzca código Python aquí. Ayuda disponible sobre expresiones Python en la pestaña de ayuda de este documento." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "Valor Fijo" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "Dominio GC: %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "Dominio GC: [] orden: Límite en %s: %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "GC'd %s %s registros" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "GC'd %s adjuntos de las entradas %s" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Agrupar por" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "Ayuda" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "Ayuda con expresiones Python" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "Horas" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Última modificación en" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Última actualización por" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Última actualización el" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "Actas" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "Modelo" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Nombre del modelo" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "Modelo sobre el que se aplica la norma." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "Meses" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "Nombre" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "Sólo archivado" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "Sólo archivos adjuntos" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "Borrar sólo registros archivados." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "Sólo borre los archivos adjuntos de los registros." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "Orden por el que se define el índice." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "Proteger Estrellado" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "Clase de regla" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "La validación de reglas ha fallado!" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Secuencia" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Tamaño" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "Basado en el tamaño" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "Orden de tallas" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "Tamaño Tipo" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "Parámetros del sistema" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "Tiempo" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "Basado en el tiempo" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "Campo de tiempo" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "Unidad de tiempo" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "Varios campos pueden usar código Python o expresiones Python. Se pueden usar las siguientes variables:" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "Semanas" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "Años" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/fr.po b/muk_autovacuum/i18n/fr.po deleted file mode 100644 index e4a6c82..0000000 --- a/muk_autovacuum/i18n/fr.po +++ /dev/null @@ -1,407 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:43+0000\n" -"PO-Revision-Date: 2019-07-12 23:43+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Actif" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Tous" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "Règles de l'aspirateur automatique" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "Basé sur le code" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "Code qui sera exécuté pendant le nettoyage." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Créé par" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Créé le" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "Jours" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "Supprimer tous les enregistrements qui correspondent au domaine." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "Supprimer les données plus anciennes que x." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "Supprimer les enregistrements dont l'index am est supérieur à x." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "Ne supprimez pas les disques marqués d'une étoile.\n" -" Vérification des champs suivants :\n" -" - étoilés\n" -" - favori\n" -" - is_starred\n" -" - is_favorite" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "Domaine" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "Basé sur le domaine" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "Entrer du code Python ici. Une aide sur l'expression Python est disponible dans l'onglet d'aide de ce document." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "Valeur fixe" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "Domaine GC : %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "GC : (] Ordre : Limite %s : %s" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "GC'd %s pièces jointes à partir d'entrées %s" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Regrouper par" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "Aide" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "Aide sur les expressions Python" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "Heures" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Dernière mise à jour par" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Dernière mise à jour le" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "Procès-verbal" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "Modèle" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Nom de Modèle" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "Modèle sur lequel la règle est appliquée." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "Mois" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "Nom" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "Uniquement archivé" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "Uniquement les pièces jointes" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "Ne supprimez que les enregistrements archivés." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "Ne supprimez que les pièces jointes d'enregistrement." - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "Ordre dans lequel l'indice est défini." - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "Protéger Starred" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "Type de règle" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "La validation des règles a échoué !" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Séquence" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Taille" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "Basé sur la taille" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "Taille Commande" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "Taille Type" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "Paramètres du système" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "Temps" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "Basé sur le temps" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "Champ horaire" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "Unité de temps" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "Divers champs peuvent utiliser du code ou des expressions Python. Les variables suivantes peuvent être utilisées :" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "Semaines" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "Années" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/hi.po b/muk_autovacuum/i18n/hi.po deleted file mode 100644 index ceeed86..0000000 --- a/muk_autovacuum/i18n/hi.po +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:44+0000\n" -"PO-Revision-Date: 2019-07-12 23:44+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/muk_autovacuum.pot b/muk_autovacuum/i18n/muk_autovacuum.pot deleted file mode 100644 index f0ff291..0000000 --- a/muk_autovacuum/i18n/muk_autovacuum.pot +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:42+0000\n" -"PO-Revision-Date: 2019-07-12 23:42+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/nl.po b/muk_autovacuum/i18n/nl.po deleted file mode 100644 index acd392a..0000000 --- a/muk_autovacuum/i18n/nl.po +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:44+0000\n" -"PO-Revision-Date: 2019-07-12 23:44+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "Waarschuwing: Waarschuwingsfout te gebruiken met roep op" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "time, datetime, dateutil, timezone: handige Python libraries" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Actief" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Alle" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "Automatisch vacuum" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Aangemaakt door" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Aangemaakt op" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Weergavenaam" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "Domein" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "Geef hier Python code in. Help over het gebruik van Python expressies is beschikbaar in de help tab van dit document." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Groepeer op" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "Help met Python expressies" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Laatst gewijzigd op" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Laatst bijgewerkt door" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Laatst bijgewerkt op" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Modelnaam" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "Naam" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Volgorde" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Grootte" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "Verschillende velden mogen Python code of Python expressies gebruiken. De volgende variabelen mogen worden gebruikt:" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/pt.po b/muk_autovacuum/i18n/pt.po deleted file mode 100644 index 7487fb7..0000000 --- a/muk_autovacuum/i18n/pt.po +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:44+0000\n" -"PO-Revision-Date: 2019-07-12 23:44+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Ativo" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Todas" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Criado por" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Criada em" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Nome a Exibir" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "Domínio" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Agrupar Por" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "Ajuda" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "Id." - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Última Modificação em" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Última Atualização por" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Última Atualização em" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "Modelo" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Nome do Modelo" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "Nome" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Sequência" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Tamanho" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/i18n/ru.po b/muk_autovacuum/i18n/ru.po deleted file mode 100644 index ea2864d..0000000 --- a/muk_autovacuum/i18n/ru.po +++ /dev/null @@ -1,402 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_autovacuum -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:45+0000\n" -"PO-Revision-Date: 2019-07-12 23:45+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Warning: Warning Exception to use with raise" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "b64encode, b64decode: Base64 converter" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "date_format, datetime_format: server date and time formats" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "env: Odoo Environment on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "logger.info(message): Python logging framework" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "model: Odoo Model of the record on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "time, datetime, dateutil, timezone: useful Python libraries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "uid, user: User on which the rule is triggered" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__active -msgid "Active" -msgstr "Активно" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "All" -msgstr "Все" - -#. module: muk_autovacuum -#: model:ir.actions.act_window,name:muk_autovacuum.action_autovacuum_rule -#: model:ir.model,name:muk_autovacuum.model_muk_autovacuum_rules -#: model:ir.ui.menu,name:muk_autovacuum.menu_autovacuum_rules -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_tree -msgid "Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model,name:muk_autovacuum.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Code Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Code Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__code -msgid "Code which will be executed during the clean up." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_uid -msgid "Created by" -msgstr "Создано" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__create_date -msgid "Created on" -msgstr "Создан" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Days" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Delete all records which match the domain." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Delete older data than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Delete records with am index greater than x." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__display_name -msgid "Display Name" -msgstr "Отображаемое Имя" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Do not delete starred records.\n" -" Checks for the following fields:\n" -" - starred\n" -" - favorite\n" -" - is_starred\n" -" - is_favorite" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__domain -msgid "Domain" -msgstr "Домен" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Domain Based" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Domain Settings" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Enter Python code here. Help about Python expression is available in the help tab of this document." -msgstr "Введите код Python здесь. Помощь о Python доступна в колонке справка в этом документе." - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,size_type:0 -msgid "Fixed Value" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:64 -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:74 -#, python-format -msgid "GC domain: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:71 -#, python-format -msgid "GC domain: [] order: %s limit: %s" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:87 -#, python-format -msgid "GC'd %s %s records" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/ir_autovacuum.py:83 -#, python-format -msgid "GC'd %s attachments from %s entries" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Group By" -msgstr "Группировать по" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help" -msgstr "Помощь" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Help with Python expressions" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Hours" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__id -msgid "ID" -msgstr "Номер" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:290 -#, python-format -msgid "Import Template for Auto Vacuum Rules" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules____last_update -msgid "Last Modified on" -msgstr "Последнее изменение" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_uid -msgid "Last Updated by" -msgstr "Последний раз обновил" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__write_date -msgid "Last Updated on" -msgstr "Последнее обновление" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Minutes" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_search -msgid "Model" -msgstr "Модель" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__model_name -msgid "Model Name" -msgstr "Название модели" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__model -msgid "Model on which the rule is applied." -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Months" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__name -msgid "Name" -msgstr "Название" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only Archived" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only Attachments" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_inactive -msgid "Only delete archived records." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__only_attachments -msgid "Only delete record attachments." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,help:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Order by which the index is defined." -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__protect_starred -msgid "Protect Starred" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__state -msgid "Rule Type" -msgstr "" - -#. module: muk_autovacuum -#: code:addons/muk_autovacuum/models/rules.py:330 -#, python-format -msgid "Rule validation has failed!" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__sequence -msgid "Sequence" -msgstr "Нумерация" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size -msgid "Size" -msgstr "Размер" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Size Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_order -msgid "Size Order" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Size Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_type -msgid "Size Type" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter_value -msgid "Size Value" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__size_parameter -#: selection:muk_autovacuum.rules,size_type:0 -msgid "System Parameter" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time -msgid "Time" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,state:0 -msgid "Time Based" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_field -msgid "Time Field" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Time Settings" -msgstr "" - -#. module: muk_autovacuum -#: model:ir.model.fields,field_description:muk_autovacuum.field_muk_autovacuum_rules__time_type -msgid "Time Unit" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "Various fields may use Python code or Python expressions. The following variables can be used:" -msgstr "Различные поля могут использовать код Python или выражения Python. Могут использоваться следующие переменные:" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Weeks" -msgstr "" - -#. module: muk_autovacuum -#: selection:muk_autovacuum.rules,time_type:0 -msgid "Years" -msgstr "" - -#. module: muk_autovacuum -#: model_terms:ir.ui.view,arch_db:muk_autovacuum.view_autovacuum_rule_form -msgid "e.g. Delete Logs after 30 Days" -msgstr "" - diff --git a/muk_autovacuum/models/__init__.py b/muk_autovacuum/models/__init__.py deleted file mode 100644 index b8a051f..0000000 --- a/muk_autovacuum/models/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import rules -from . import ir_autovacuum \ No newline at end of file diff --git a/muk_autovacuum/models/ir_autovacuum.py b/muk_autovacuum/models/ir_autovacuum.py deleted file mode 100644 index 1b0875e..0000000 --- a/muk_autovacuum/models/ir_autovacuum.py +++ /dev/null @@ -1,90 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import time -import logging -import datetime -import dateutil - -from odoo import _ -from odoo import models, api, fields -from odoo.tools.safe_eval import safe_eval - -_logger = logging.getLogger(__name__) - -_types = { - 'days': lambda interval: datetime.timedelta(days=interval), - 'years': lambda interval: datetime.timedelta(weeks=interval*52), - 'hours': lambda interval: datetime.timedelta(hours=interval), - 'weeks': lambda interval: datetime.timedelta(weeks=interval), - 'months': lambda interval: datetime.timedelta(days=interval*30), - 'minutes': lambda interval: datetime.timedelta(minutes=interval), -} - -class AutoVacuum(models.AbstractModel): - - _inherit = 'ir.autovacuum' - - @api.model - def power_on(self, *args, **kwargs): - res = super(AutoVacuum, self).power_on(*args, **kwargs) - rules = self.env['muk_autovacuum.rules'].sudo().search([], order='sequence asc') - for rule in rules: - if rule.state in ['time', 'size', 'domain']: - model = self.env[rule.model.model].sudo() - records = self.env[rule.model.model] - if rule.state == 'time': - computed_time = datetime.datetime.utcnow() - _types[rule.time_type](rule.time) - domain = [(rule.time_field.name, '<', fields.Datetime.to_string(computed_time))] - if rule.protect_starred: - for field in rule.model.field_id: - if field.name in ['starred', 'favorite', 'is_starred', 'is_favorite']: - domain.append((field.name, '=', False)) - if rule.only_inactive and "active" in rule.model.field_id.mapped("name"): - domain.append(('active', '=', False)) - _logger.info(_("GC domain: %s"), domain) - records = model.with_context(active_test=False).search(domain) - elif rule.state == 'size': - size = rule.size if rule.size_type == 'fixed' else rule.size_parameter_value - count = model.with_context(active_test=False).search([], count=True) - if size and size > 0 and count > size: - limit = count - size - _logger.info(_("GC domain: [] order: %s limit: %s"), rule.size_order, limit) - records = model.with_context(active_test=False).search([], order=rule.size_order, limit=limit) - elif rule.state == 'domain': - _logger.info(_("GC domain: %s"), rule.domain) - domain = safe_eval(rule.domain or "[]", rules._get_eval_domain_context()) - records = model.with_context(active_test=False).search(domain) - if rule.only_attachments: - attachments = self.env['ir.attachment'].sudo().search([ - ('res_model', '=', rule.model.model), - ('res_id', 'in', records.mapped('id'))]) - count = len(attachments) - attachments.unlink() - _logger.info(_("GC'd %s attachments from %s entries"), count, rule.model.model) - else: - count = len(records) - records.unlink() - _logger.info(_("GC'd %s %s records"), count, rule.model.model) - elif rule.state == 'code': - safe_eval(rule.code.strip(), rules._get_eval_code_context(rule), mode="exec") - return res \ No newline at end of file diff --git a/muk_autovacuum/models/rules.py b/muk_autovacuum/models/rules.py deleted file mode 100644 index c2dccf3..0000000 --- a/muk_autovacuum/models/rules.py +++ /dev/null @@ -1,330 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import time -import base64 -import logging -import datetime -import dateutil - -from pytz import timezone - -from odoo import _ -from odoo import models, api, fields -from odoo.exceptions import ValidationError, Warning -from odoo.tools import DEFAULT_SERVER_DATE_FORMAT -from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT -from odoo.tools.safe_eval import safe_eval, test_python_expr - -_logger = logging.getLogger(__name__) - -class AutoVacuumRules(models.Model): - - _name = 'muk_autovacuum.rules' - _description = "Auto Vacuum Rules" - _order = "sequence asc" - - #---------------------------------------------------------- - # Defaults - #---------------------------------------------------------- - - def _default_sequence(self): - record = self.sudo().search([], order='sequence desc', limit=1) - if record.exists(): - return record.sequence + 1 - else: - return 1 - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - name = fields.Char( - string='Name', - required=True) - - active = fields.Boolean( - string='Active', - default=True) - - state = fields.Selection( - selection=[ - ('time', 'Time Based'), - ('size', 'Size Based'), - ('domain', 'Domain Based'), - ('code', 'Code Based')], - string='Rule Type', - default='time', - required=True) - - sequence = fields.Integer( - string='Sequence', - default=lambda self: self._default_sequence(), - required=True) - - model = fields.Many2one( - comodel_name='ir.model', - string="Model", - required=True, - ondelete='cascade', - help="Model on which the rule is applied.") - - model_name = fields.Char( - related='model.model', - string="Model Name", - readonly=True, - store=True) - - time_field = fields.Many2one( - comodel_name='ir.model.fields', - domain="[('model_id', '=', model), ('ttype', '=', 'datetime')]", - string='Time Field', - ondelete='cascade', - states={ - 'time': [('required', True)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}) - - time_type = fields.Selection( - selection=[ - ('minutes', 'Minutes'), - ('hours', 'Hours'), - ('days', 'Days'), - ('weeks', 'Weeks'), - ('months', 'Months'), - ('years', 'Years')], - string='Time Unit', - default='months', - states={ - 'time': [('required', True)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}) - - time = fields.Integer( - string='Time', - default=1, - states={ - 'time': [('required', True)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="Delete older data than x.") - - size_type = fields.Selection( - selection=[ - ('fixed', 'Fixed Value'), - ('parameter', 'System Parameter')], - string='Size Type', - default='fixed', - states={ - 'time': [('invisible', True)], - 'size': [('required', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}) - - size_parameter = fields.Many2one( - comodel_name='ir.config_parameter', - string='System Parameter', - ondelete='cascade', - states={ - 'time': [('invisible', True)], - 'size': [('required', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}) - - size_parameter_value = fields.Integer( - compute='_compute_size_parameter_value', - string='Size Value', - states={ - 'time': [('invisible', True)], - 'size': [('readonly', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="Delete records with am index greater than x.") - - size_order = fields.Char( - string='Size Order', - default='create_date desc', - states={ - 'time': [('invisible', True)], - 'size': [('required', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="Order by which the index is defined.") - - size = fields.Integer( - string='Size', - default=200, - states={ - 'time': [('invisible', True)], - 'size': [('required', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="Delete records with am index greater than x.") - - domain = fields.Char( - string='Domain', - states={ - 'time': [('invisible', True)], - 'size': [('invisible', True)], - 'domain': [('required', True)], - 'code': [('invisible', True)]}, - help="Delete all records which match the domain.") - - code = fields.Text( - string='Code', - states={ - 'time': [('invisible', True)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)] , - 'code': [('required', True)]}, - default="# Enter Python code here. Help about Python expression is available in the help tab of this document.", - help="Code which will be executed during the clean up.") - - protect_starred = fields.Boolean( - string='Protect Starred', - default=True, - states={ - 'time': [('invisible', False)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="""Do not delete starred records. - Checks for the following fields: - - starred - - favorite - - is_starred - - is_favorite""") - - only_inactive = fields.Boolean( - string='Only Archived', - default=False, - states={ - 'time': [('invisible', False)], - 'size': [('invisible', True)], - 'domain': [('invisible', True)], - 'code': [('invisible', True)]}, - help="Only delete archived records.") - - only_attachments = fields.Boolean( - string='Only Attachments', - default=False, - states={ - 'time': [('invisible', False)], - 'size': [('invisible', False)], - 'domain': [('invisible', False)], - 'code': [('invisible', True)]}, - help="Only delete record attachments.") - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.model - def _get_eval_domain_context(self): - return { - 'datetime': datetime, - 'dateutil': dateutil, - 'timezone': timezone, - 'time': time, - 'uid': self.env.uid, - 'user': self.env.user - } - - @api.model - def _get_eval_code_context(self, rule): - return { - 'env': self.env, - 'model': self.env[rule.model_name], - 'uid': self.env.user.id, - 'user': self.env.user, - 'time': time, - 'datetime': datetime, - 'dateutil': dateutil, - 'timezone': timezone, - 'b64encode': base64.b64encode, - 'b64decode': base64.b64decode, - 'date_format': DEFAULT_SERVER_DATE_FORMAT, - 'datetime_format': DEFAULT_SERVER_DATETIME_FORMAT, - 'Warning': Warning, - 'logger': logging.getLogger("%s (%s)" % (__name__, rule.name)), - } - - #---------------------------------------------------------- - # View - #---------------------------------------------------------- - - @api.onchange('model') - def _onchange_model(self): - field_domain = [ - ('model_id', '=', self.model.id), - ('ttype', '=', 'datetime'), - ('name', '=', 'create_date')] - model = self.env['ir.model.fields'].sudo() - self.time_field = model.search(field_domain, limit=1) - - @api.model - def get_import_templates(self): - return [{ - 'label': _('Import Template for Auto Vacuum Rules'), - 'template': '/muk_autovacuum/static/xls/muk_autovacuum_rules.xls' - }] - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - @api.depends('size_parameter') - def _compute_size_parameter_value(self): - for record in self: - try: - record.size_parameter_value = int(record.size_parameter.value) - except ValueError: - record.size_parameter_value = None - - #---------------------------------------------------------- - # Create, Update, Delete - #---------------------------------------------------------- - - @api.constrains('code') - def _check_code(self): - for record in self.sudo().filtered('code'): - message = test_python_expr(expr=record.code.strip(), mode="exec") - if message: - raise ValidationError(message) - - @api.constrains( - 'state', 'model', 'domain', 'code', - 'time_field', 'time_type', 'time', - 'size_type', 'size_parameter', 'size_order', 'size') - def _validate(self): - validators = { - 'time': lambda rec: rec.time_field and rec.time_type and rec.time, - 'size': lambda rec: rec.size_order and (rec.size_parameter or rec.size), - 'domain': lambda rec: rec.domain, - 'code': lambda rec: rec.code, - } - for record in self: - if not validators[record.state](record): - raise ValidationError(_("Rule validation has failed!")) \ No newline at end of file diff --git a/muk_autovacuum/security/ir.model.access.csv b/muk_autovacuum/security/ir.model.access.csv deleted file mode 100644 index a369089..0000000 --- a/muk_autovacuum/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink - -access_muk_autovacuum_rules_group_cron,muk_autovacuum_rules group_rules,model_muk_autovacuum_rules,base.group_system,1,1,1,1 \ No newline at end of file diff --git a/muk_autovacuum/static/description/banner.png b/muk_autovacuum/static/description/banner.png deleted file mode 100644 index 488c2eb..0000000 Binary files a/muk_autovacuum/static/description/banner.png and /dev/null differ diff --git a/muk_autovacuum/static/description/icon.png b/muk_autovacuum/static/description/icon.png deleted file mode 100644 index e7654dd..0000000 Binary files a/muk_autovacuum/static/description/icon.png and /dev/null differ diff --git a/muk_autovacuum/static/description/icon.svg b/muk_autovacuum/static/description/icon.svg deleted file mode 100644 index a2f1e29..0000000 --- a/muk_autovacuum/static/description/icon.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/muk_autovacuum/static/description/index.html b/muk_autovacuum/static/description/index.html deleted file mode 100644 index 635dbdf..0000000 --- a/muk_autovacuum/static/description/index.html +++ /dev/null @@ -1,128 +0,0 @@ -
-
-

MuK Auto Vacuum

-

Configure automatic garbage collection

-

MuK IT GmbH - - www.mukit.at

-
- -
-
-
- -
-
-
-

Overview

-

Allows the administrator to create rules to - automatically garbage collect a certain model. Every rule can have a - different time interval additional constraints. An extra constraint - can be for example to only delete inactive records.

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_autovacuum/static/description/logo.png b/muk_autovacuum/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_autovacuum/static/description/logo.png and /dev/null differ diff --git a/muk_autovacuum/static/description/preview.png b/muk_autovacuum/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_autovacuum/static/description/preview.png and /dev/null differ diff --git a/muk_autovacuum/static/description/screenshot.png b/muk_autovacuum/static/description/screenshot.png deleted file mode 100644 index ef9395f..0000000 Binary files a/muk_autovacuum/static/description/screenshot.png and /dev/null differ diff --git a/muk_autovacuum/static/description/service_customization.png b/muk_autovacuum/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_autovacuum/static/description/service_customization.png and /dev/null differ diff --git a/muk_autovacuum/static/description/service_development.png b/muk_autovacuum/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_autovacuum/static/description/service_development.png and /dev/null differ diff --git a/muk_autovacuum/static/description/service_implementation.png b/muk_autovacuum/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_autovacuum/static/description/service_implementation.png and /dev/null differ diff --git a/muk_autovacuum/static/description/service_integration.png b/muk_autovacuum/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_autovacuum/static/description/service_integration.png and /dev/null differ diff --git a/muk_autovacuum/static/description/service_support.png b/muk_autovacuum/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_autovacuum/static/description/service_support.png and /dev/null differ diff --git a/muk_autovacuum/static/xls/muk_autovacuum_rules.xls b/muk_autovacuum/static/xls/muk_autovacuum_rules.xls deleted file mode 100644 index 5968613..0000000 Binary files a/muk_autovacuum/static/xls/muk_autovacuum_rules.xls and /dev/null differ diff --git a/muk_autovacuum/tests/__init__.py b/muk_autovacuum/tests/__init__.py deleted file mode 100644 index 895ce04..0000000 --- a/muk_autovacuum/tests/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_autovacuum \ No newline at end of file diff --git a/muk_autovacuum/tests/test_autovacuum.py b/muk_autovacuum/tests/test_autovacuum.py deleted file mode 100644 index cfaf2cc..0000000 --- a/muk_autovacuum/tests/test_autovacuum.py +++ /dev/null @@ -1,99 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Autovacuum -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging -import datetime - -from odoo.tests import common - -_logger = logging.getLogger(__name__) - -class AutoVacuumTestCase(common.TransactionCase): - - def setUp(self): - super(AutoVacuumTestCase, self).setUp() - self.logs = self.env['ir.logging'] - self.rules = self.env['muk_autovacuum.rules'] - self.model_model = self.env['ir.model'] - self.model_fields = self.env['ir.model.fields'] - self.model_logs = self.model_model.search([('model', '=', 'ir.logging')], limit=1) - time_field_domain = [ - ('model_id', '=', self.model_logs.id), - ('ttype', '=', 'datetime'), - ('name', '=', 'create_date')] - self.time_field_logs = self.model_fields.search(time_field_domain, limit=1) - - def test_autovacuum_time(self): - self.create_logs() - self.rules.create({ - 'name': "Delete Logs after 1 Minute", - 'state': 'time', - 'model': self.model_logs.id, - 'time_field': self.time_field_logs.id, - 'time_type': 'minutes', - 'time': 1}) - self.run_autovacuum() - - def test_autovacuum_size(self): - self.create_logs() - self.rules.create({ - 'name': "Delete Logs Count > 1", - 'state': 'size', - 'model': self.model_logs.id, - 'size': 1, - 'size_order': "id desc", - 'size_type': 'fixed'}) - self.run_autovacuum() - - def test_autovacuum_domain(self): - self.create_logs() - self.rules.create({ - 'name': "Delete Logs with Domain", - 'state': 'domain', - 'model': self.model_logs.id, - 'domain': "[]"}) - self.run_autovacuum() - - def create_logs(self): - ids = [] - time = datetime.datetime.utcnow() - for index in range(0, 10): - log = self.logs.create({ - 'create_date': time - datetime.timedelta(days=index), - 'create_uid': self.env.user.id, - 'name': "Test %s" % index, - 'type': 'server', - 'dbname': self.env.cr.dbname, - 'level': "INFO", - 'message': "TEST", - 'path': "PATH", - 'func': "TEST", - 'line': 1}) - ids.append(log.id) - return ids - - def run_autovacuum(self): - count_before = self.env['ir.logging'].search([], count=True) - self.env['ir.cron'].search([('model_id', '=', 'ir.autovacuum')]).ir_actions_server_id.run() - count_after = self.env['ir.logging'].search([], count=True) - self.assertTrue(count_before > count_after) - \ No newline at end of file diff --git a/muk_autovacuum/views/rules.xml b/muk_autovacuum/views/rules.xml deleted file mode 100644 index 05eda69..0000000 --- a/muk_autovacuum/views/rules.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - muk_autovacuum_rules.search - muk_autovacuum.rules - - - - - - - - - - - - - - - - muk_autovacuum_rules.tree - muk_autovacuum.rules - - - - - - - - - - - - - muk_autovacuum_rules.form - muk_autovacuum.rules - -
- -
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Help with Python expressions

-

Various fields may use Python code or Python expressions. The following variables can be used:

-
    -
  • uid, user: User on which the rule is triggered
  • -
  • env: Odoo Environment on which the rule is triggered
  • -
  • model: Odoo Model of the record on which the rule is triggered
  • -
  • b64encode, b64decode: Base64 converter
  • -
  • time, datetime, dateutil, timezone: useful Python libraries
  • -
  • date_format, datetime_format: server date and time formats
  • -
  • logger.info(message): Python logging framework
  • -
  • Warning: Warning Exception to use with raise
  • -
-
-
-
-
-
-
-
-
- - - Auto Vacuum Rules - muk_autovacuum.rules - tree,form - {'search_default_all': 1} - - - - -
\ No newline at end of file diff --git a/muk_branding/LICENSE b/muk_branding/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_branding/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_branding/README.rst b/muk_branding/README.rst deleted file mode 100644 index c2b0f67..0000000 --- a/muk_branding/README.rst +++ /dev/null @@ -1,138 +0,0 @@ -============ -MuK Branding -============ - -This module is the basis for a number of branding modules, with the aim to -customize Odoo according to your needs. This happens mainly through a debranding -of Odoo. All occurrences of the word Odoo as well as links to Odoo can be -replaced automatically. This behavior is active by default but can be disabled -by using the context or an HTML tag. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -To configure this module, you need to: - -#. Go to *Settings -> General Settings -> Branding*. -#. And set the parameters according to your needs. - -If a new system should be branded automatically, it is recommended to set the -flag ``auto_install`` of this module to ``True`` and to adjust the corresponding -variables in the config file. - -* ``branding_system_name`` -* ``branding_publisher`` -* ``branding_website`` -* ``branding_documentation`` -* ``branding_support`` -* ``branding_store`` -* ``branding_share`` - -Usage -============= - -After setting the parameters, the system is automatically branded. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Backend Debranding `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_branding/__init__.py b/muk_branding/__init__.py deleted file mode 100644 index 7175017..0000000 --- a/muk_branding/__init__.py +++ /dev/null @@ -1,52 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import api, SUPERUSER_ID -from odoo.release import version_info -from odoo.tools import config, convert_file -from odoo.modules.module import get_module_resource - -from . import models -from . import tools - -#---------------------------------------------------------- -# Patch System on Load -#---------------------------------------------------------- - -def _patch_system(): - from . import patch - -#---------------------------------------------------------- -# Hooks -#---------------------------------------------------------- - -def _install_debrand_system(cr, registry): - if version_info[5] != 'e': - env = api.Environment(cr, SUPERUSER_ID, {}) - env['ir.module.module'].search([('to_buy', '=', True)]).unlink() - -def _uninstall_rebrand_system(cr, registry): - if version_info[5] != 'e': - filename = get_module_resource('base', 'data', 'ir_module_module.xml') - convert_file(cr, 'base', filename, {}, 'init', False, 'data', registry._assertion_report) - - diff --git a/muk_branding/__manifest__.py b/muk_branding/__manifest__.py deleted file mode 100644 index 70198b2..0000000 --- a/muk_branding/__manifest__.py +++ /dev/null @@ -1,58 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Branding", - "summary": """Branding and Debranding""", - "version": "12.0.2.0.1", - "category": "Extra Tools", - "license": "LGPL-3", - "website": "http://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "muk_utils", - ], - "data": [ - "data/company.xml", - "views/res_config_settings_view.xml", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "auto_install": False, - "application": False, - "installable": True, - "post_load": "_patch_system", - "post_init_hook": "_install_debrand_system", - "uninstall_hook": "_uninstall_rebrand_system", -} \ No newline at end of file diff --git a/muk_branding/data/company.xml b/muk_branding/data/company.xml deleted file mode 100644 index b5acbdb..0000000 --- a/muk_branding/data/company.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/muk_branding/doc/changelog.rst b/muk_branding/doc/changelog.rst deleted file mode 100644 index 9ee2b48..0000000 --- a/muk_branding/doc/changelog.rst +++ /dev/null @@ -1,4 +0,0 @@ -`1.0.0` -------- - -- Init version diff --git a/muk_branding/doc/index.rst b/muk_branding/doc/index.rst deleted file mode 100644 index c2b0f67..0000000 --- a/muk_branding/doc/index.rst +++ /dev/null @@ -1,138 +0,0 @@ -============ -MuK Branding -============ - -This module is the basis for a number of branding modules, with the aim to -customize Odoo according to your needs. This happens mainly through a debranding -of Odoo. All occurrences of the word Odoo as well as links to Odoo can be -replaced automatically. This behavior is active by default but can be disabled -by using the context or an HTML tag. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -To configure this module, you need to: - -#. Go to *Settings -> General Settings -> Branding*. -#. And set the parameters according to your needs. - -If a new system should be branded automatically, it is recommended to set the -flag ``auto_install`` of this module to ``True`` and to adjust the corresponding -variables in the config file. - -* ``branding_system_name`` -* ``branding_publisher`` -* ``branding_website`` -* ``branding_documentation`` -* ``branding_support`` -* ``branding_store`` -* ``branding_share`` - -Usage -============= - -After setting the parameters, the system is automatically branded. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Backend Debranding `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_branding/i18n/ar.po b/muk_branding/i18n/ar.po deleted file mode 100644 index b8a8f04..0000000 --- a/muk_branding/i18n/ar.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:07+0000\n" -"PO-Revision-Date: 2019-07-13 00:07+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "المؤسسات" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "بيانات الشركة" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "شعار الشركة" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "اسم الشركة" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "ضبط الإعدادات" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "اسم العرض" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "المعرف" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "آخر تعديل في" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "الاسم" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "باراميتر النظام" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "معلمات النظام" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "الترجمة" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "عرض" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "الموقع الإلكتروني" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/de.po b/muk_branding/i18n/de.po deleted file mode 100644 index d9ddc40..0000000 --- a/muk_branding/i18n/de.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:07+0000\n" -"PO-Revision-Date: 2019-07-13 00:07+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "Applikationen und Werbung" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "Unternehmen" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "Dokumentation und Hilfe" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "Systemname" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "Systemwebseite" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "Aktives Fenster" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "Passen Sie das Kassensystem an ihre Wünsche an" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "Passen Sie das Kassensystem an ihre Wünsche an." - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "Passen Sie die Webseite ihren Ansprüchen an" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "Passen Sie die Webseite ihren Ansprüchen an." - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "Passen Sie Ihre ausgehenden Mails an Ihren Stil an" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "Passen Sie Ihre ausgehenden Mails an Ihren Stil an." - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Unternehmen" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "Unternehmensdaten" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "Unternehmens Favicon" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Unternehmens Logo" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Unternehmensname" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "Konfiguration " - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "Passen Sie das Backend an Ihre Ansprüchen an" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "Passen Sie das Backend an Ihre Ansprüchen an." - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Anzeigename" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "Dokumentation" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "Dokumentations URL" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "Erweiterungen" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Zuletzt geändert am" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "E-Mail Branding" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "Kassen Branding" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "Veröffentlicher" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "Legen Sie ein Unternehmenslogo fest" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "Legen Sie eine Verlinkung zur Systemdokumentation fest" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "Legen Sie eine Verlinkung zu Ihren Systemmedien fest" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "Legen Sie Systemnamen fest" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "Legen Sie die Systemwebseite fest" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "Teilen" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "URL teilen" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "Spezifizieren Sie den Namen und das Favicon Ihres Unternehmens" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "Speichern" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "URL speichern" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "Hilfe" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "URL Hilfe" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "Systemverlinkungen" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "Systemname" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "Systemparameter" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Systemparameter" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Dieses Feld enthält das Bild, das als Avatar für diesen Kontakt gespeichert wurde. (max. 1024x1024px)" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Übersetzung" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Ansicht" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "Webanpassung" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "Webseitenanpassung" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "Webseiten URL" - diff --git a/muk_branding/i18n/es.po b/muk_branding/i18n/es.po deleted file mode 100644 index 721e812..0000000 --- a/muk_branding/i18n/es.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:08+0000\n" -"PO-Revision-Date: 2019-07-13 00:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Compañías" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "Información de compañía" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Logotipo de la compañia" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Nombre de la compañía" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "Opciones de Configuración" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Última modificación en" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "Nombre" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Parámetros del sistema" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Este campo contiene la imagen utilizada como avatar para este contacto, limitada a 1024x1024px" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Traducción" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Ver" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "Sitio web" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/fr.po b/muk_branding/i18n/fr.po deleted file mode 100644 index 9028821..0000000 --- a/muk_branding/i18n/fr.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:08+0000\n" -"PO-Revision-Date: 2019-07-13 00:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Sociétés" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "Données sur la société" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Logo de la société" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Nom de la société" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "Paramètres de config" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "Nom" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Paramètres systèmes" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Ce champ contient l'image utilisée comme photo d'identité pour ce contact, limitée à 1024x1024px." - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Traduction" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Vue" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "Site Web" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/hi.po b/muk_branding/i18n/hi.po deleted file mode 100644 index 2468e9e..0000000 --- a/muk_branding/i18n/hi.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:08+0000\n" -"PO-Revision-Date: 2019-07-13 00:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/muk_branding.pot b/muk_branding/i18n/muk_branding.pot deleted file mode 100644 index 9f18760..0000000 --- a/muk_branding/i18n/muk_branding.pot +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:07+0000\n" -"PO-Revision-Date: 2019-07-13 00:07+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/nl.po b/muk_branding/i18n/nl.po deleted file mode 100644 index 21c5466..0000000 --- a/muk_branding/i18n/nl.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:08+0000\n" -"PO-Revision-Date: 2019-07-13 00:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "Actie venster" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Bedrijven" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "Bedrijfsgegevens" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Bedrijfslogo" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Bedrijfsnaam" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "Configuratie instellingen" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Weergavenaam" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Laatst gewijzigd op" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "Naam" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "Systeem parameter" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Systeem parameters" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Dit veld bevat de afbeelding welke wordt gebruikt als schermafbeelding voor deze relatie. Beperk het formaat op 1024x1024px." - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Vertaling" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Weergave" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/pt.po b/muk_branding/i18n/pt.po deleted file mode 100644 index fea4794..0000000 --- a/muk_branding/i18n/pt.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:08+0000\n" -"PO-Revision-Date: 2019-07-13 00:08+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Empresas" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "Dados da Empresa" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Logo da Empresa" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Nome da Empresa" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "config configurações" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Nome a Exibir" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "Id." - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Última Modificação em" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "Nome" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Parametros do Sistema" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Este campo contém a imagem utilizada como imagem do contacto, limitada a 1024x1024px." - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Tradução" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Ver" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "Site da Web" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/i18n/ru.po b/muk_branding/i18n/ru.po deleted file mode 100644 index 4d62043..0000000 --- a/muk_branding/i18n/ru.po +++ /dev/null @@ -1,304 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_branding -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:09+0000\n" -"PO-Revision-Date: 2019-07-13 00:09+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Apps and Promotion" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation and Support" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Website" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_actions_act_window -msgid "Action Window" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the PoS panel according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "Brand the PoS panel according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand the website according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Brand the website according to your needs." -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Brand your outgoing mails with your own style" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Brand your outgoing mails with your own style." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_company -msgid "Companies" -msgstr "Компании" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Company Data" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_favicon -msgid "Company Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_logo -msgid "Company Logo" -msgstr "Логотип компании" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_company_name -msgid "Company Name" -msgstr "Название компании" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_res_config_settings -msgid "Config Settings" -msgstr "Настройки конфигурации" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Customize the Backend according to your needs" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Customize the backend according to your needs." -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_muk_branding_debranding -msgid "Debranding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__display_name -msgid "Display Name" -msgstr "Отображаемое Имя" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Documentation" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_documentation -msgid "Documentation URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Extensions" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_company__favicon -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Favicon" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding__id -msgid "ID" -msgstr "Номер" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_muk_branding_debranding____last_update -msgid "Last Modified on" -msgstr "Последнее изменение" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_mail_branding -msgid "Mail Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Name" -msgstr "Название" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_pos_branding -msgid "PoS Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_publisher -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Publisher" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the company logo" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the links to the system documentation" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system media links" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system names" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Set the system website" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Share" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_share -msgid "Share URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Specify the name and favicon of the company" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Store" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_store -msgid "Store URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Support" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_support -msgid "Support URL" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Links" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_system_name -msgid "System Name" -msgstr "" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "System Parameters" -msgstr "Системные параметры" - -#. module: muk_branding -#: model:ir.model.fields,help:muk_branding.field_res_config_settings__branding_company_logo -msgid "This field holds the image used as avatar for this contact, limited to 1024x1024px" -msgstr "Это поле содержит изображение, используемое в качестве аватара для этого контакта, ограничено 1024x1024px" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_translation -msgid "Translation" -msgstr "Перевод" - -#. module: muk_branding -#: model:ir.model,name:muk_branding.model_ir_ui_view -msgid "View" -msgstr "Вид" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_web_branding -msgid "Web Branding" -msgstr "" - -#. module: muk_branding -#: model_terms:ir.ui.view,arch_db:muk_branding.res_config_settings_view_form -msgid "Website" -msgstr "Вебсайт" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__module_muk_website_branding -msgid "Website Branding" -msgstr "" - -#. module: muk_branding -#: model:ir.model.fields,field_description:muk_branding.field_res_config_settings__branding_website -msgid "Website URL" -msgstr "" - diff --git a/muk_branding/models/__init__.py b/muk_branding/models/__init__.py deleted file mode 100644 index 0b6ea47..0000000 --- a/muk_branding/models/__init__.py +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import debranding -from . import ir_actions -from . import ir_ui_view -from . import res_company -from . import ir_translation -from . import ir_config_parameter -from . import res_config_settings \ No newline at end of file diff --git a/muk_branding/models/debranding.py b/muk_branding/models/debranding.py deleted file mode 100644 index 0a1094f..0000000 --- a/muk_branding/models/debranding.py +++ /dev/null @@ -1,47 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, fields, api - -from odoo.addons.muk_branding.tools.debrand import safe_debrand - -class Debranding(models.AbstractModel): - - _name = 'muk_branding.debranding' - _description = 'Debranding' - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - def _get_debrand_params(self): - return self.env['ir.config_parameter'].get_branding_debrand_params() - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - def debrand(self, input, expression="odoo", context=None): - context = context or self.env.context - if 'no_debranding' in context: - return input - return safe_debrand(input, self._get_debrand_params(), expression=expression) \ No newline at end of file diff --git a/muk_branding/models/ir_actions.py b/muk_branding/models/ir_actions.py deleted file mode 100644 index ba1d1cf..0000000 --- a/muk_branding/models/ir_actions.py +++ /dev/null @@ -1,41 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models -from odoo.tools.safe_eval import safe_eval - -from odoo.addons.muk_utils.tools.utils import safe_execute - -class IrActionsActWindow(models.Model): - - _inherit = 'ir.actions.act_window' - - def read(self, fields=None, load='_classic_read'): - result = super(IrActionsActWindow, self).read(fields=fields, load=load) - if not fields or 'help' in fields: - for values in result: - if isinstance(values, dict) and values.get('help'): - user_context = dict(self.env.context) - value_context = values.get('context', '{}') - context = safe_execute({}, safe_eval, value_context, user_context) - values['help'] = self.env['muk_branding.debranding'].debrand(values['help']) - return result diff --git a/muk_branding/models/ir_config_parameter.py b/muk_branding/models/ir_config_parameter.py deleted file mode 100644 index 5a2108e..0000000 --- a/muk_branding/models/ir_config_parameter.py +++ /dev/null @@ -1,98 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import _, models, api -from odoo.modules import get_resource_path -from odoo.tools import mute_logger, ormcache, config - -BRANDING_PARAMS = { - 'muk_branding.system_name': config.get('branding_system_name', 'System'), - 'muk_branding.publisher': config.get('branding_publisher', 'Example'), - 'muk_branding.website': config.get('branding_website', 'https://www.example.com'), - 'muk_branding.documentation': config.get('branding_documentation', 'https://www.example.com'), - 'muk_branding.support': config.get('branding_support', 'https://www.example.com/support'), - 'muk_branding.store': config.get('branding_store', 'https://www.example.com/store'), - 'muk_branding.share': config.get('branding_share', 'https://www.example.com'), -} - -class IrConfigParameter(models.Model): - - _inherit = 'ir.config_parameter' - - @api.model_cr - @mute_logger('odoo.addons.base.models.ir_config_parameter') - def init(self, force=False): - super(IrConfigParameter, self).init(force=force) - for key, value in BRANDING_PARAMS.items(): - if force or not self.sudo().search([('key', '=', key)]): - self.sudo().set_param(key, value() if callable(value) else value) - - @api.model - def get_branding_param(self, key, default=""): - return self.sudo().get_param(key, default=default) if key in BRANDING_PARAMS else None - - @api.model - @ormcache() - def get_branding_params(self): - return {key: self.get_branding_param(key) for key in BRANDING_PARAMS} - - @api.model - @ormcache() - def get_branding_settings_params(self): - return { - 'branding_system_name': self.get_branding_param('muk_branding.system_name'), - 'branding_publisher': self.get_branding_param('muk_branding.publisher'), - 'branding_website': self.get_branding_param('muk_branding.website'), - 'branding_documentation': self.get_branding_param('muk_branding.documentation'), - 'branding_support': self.get_branding_param('muk_branding.support'), - 'branding_store': self.get_branding_param('muk_branding.store'), - 'branding_share': self.get_branding_param('muk_branding.share'), - } - - @api.model - @ormcache() - def get_branding_dashboard_params(self): - return { - 'store': self.get_branding_param('muk_branding.store'), - 'share': self.get_branding_param('muk_branding.share'), - 'system': self.get_branding_param('muk_branding.system_name'), - 'publisher': self.get_branding_param('muk_branding.publisher'), - } - - @api.model - @ormcache() - def get_branding_session_params(self): - return { - 'muk_branding_system_name': self.get_branding_param('muk_branding.system_name'), - 'muk_branding_documentation': self.get_branding_param('muk_branding.documentation'), - 'muk_branding_website': self.get_branding_param('muk_branding.website'), - 'muk_branding_support': self.get_branding_param('muk_branding.support') - } - - @api.model - @ormcache() - def get_branding_debrand_params(self): - return { - 'system_name': self.get_branding_param('muk_branding.system_name'), - 'documentation': self.get_branding_param('muk_branding.documentation'), - 'website': self.get_branding_param('muk_branding.website'), - } diff --git a/muk_branding/models/ir_translation.py b/muk_branding/models/ir_translation.py deleted file mode 100644 index 088b7fd..0000000 --- a/muk_branding/models/ir_translation.py +++ /dev/null @@ -1,56 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import api, models, tools - -class IrTranslation(models.Model): - - _inherit = 'ir.translation' - - @api.model - def debrand(self, value): - if isinstance(value, dict): - for entry in value: - value[entry] = self._debrand(value[entry]) - return value - return self._debrand(value) - - @api.model - def _debrand(self, value): - return self.env['muk_branding.debranding'].debrand(value) - - @tools.ormcache('name', 'types', 'lang', 'source', 'res_id') - def __get_source(self, name, types, lang, source, res_id): - res = super(IrTranslation, self).__get_source(name, types, lang, source, res_id) - return self.debrand(res) - - @api.model - @tools.ormcache_context('model_name', keys=('lang',)) - def get_field_string(self, model_name): - res = super(IrTranslation, self).get_field_string(model_name) - return self.debrand(res) - - @api.model - @tools.ormcache_context('model_name', keys=('lang',)) - def get_field_help(self, model_name): - res = super(IrTranslation, self).get_field_help(model_name) - return self.debrand(res) \ No newline at end of file diff --git a/muk_branding/models/ir_ui_view.py b/muk_branding/models/ir_ui_view.py deleted file mode 100644 index dd17a81..0000000 --- a/muk_branding/models/ir_ui_view.py +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, api - -class View(models.Model): - - _inherit = 'ir.ui.view' - - @api.multi - def read_combined(self, fields=None): - res = super(View, self).read_combined(fields=fields) - res['arch'] = self.env['muk_branding.debranding'].debrand(res['arch']) - return res \ No newline at end of file diff --git a/muk_branding/models/res_company.py b/muk_branding/models/res_company.py deleted file mode 100644 index 3c4bec3..0000000 --- a/muk_branding/models/res_company.py +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, fields - -class ResCompany(models.Model): - - _inherit = 'res.company' - - favicon = fields.Binary( - string="Favicon", - attachment=False - ) \ No newline at end of file diff --git a/muk_branding/models/res_config_settings.py b/muk_branding/models/res_config_settings.py deleted file mode 100644 index 37e58cf..0000000 --- a/muk_branding/models/res_config_settings.py +++ /dev/null @@ -1,108 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import api, fields, models - -class ResConfigSettings(models.TransientModel): - - _inherit = 'res.config.settings' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - module_muk_web_branding = fields.Boolean( - string="Web Branding", - help="Customize the backend according to your needs.") - - module_muk_mail_branding = fields.Boolean( - string="Mail Branding", - help="Brand your outgoing mails with your own style.") - - module_muk_website_branding = fields.Boolean( - string="Website Branding", - help="Brand the website according to your needs.") - - module_muk_pos_branding = fields.Boolean( - string="PoS Branding", - help="Brand the PoS panel according to your needs.") - - branding_system_name = fields.Char( - string='System Name') - - branding_publisher = fields.Char( - string='Publisher') - - branding_website = fields.Char( - string='Website URL') - - branding_documentation = fields.Char( - string='Documentation URL') - - branding_support = fields.Char( - string='Support URL') - - branding_store = fields.Char( - string='Store URL') - - branding_share = fields.Char( - string='Share URL') - - branding_company_name = fields.Char( - string='Company Name', - related='company_id.name', - readonly=False) - - branding_company_logo = fields.Binary( - string='Company Logo', - related='company_id.logo', - readonly=False) - - branding_company_favicon = fields.Binary( - string='Company Favicon', - related='company_id.favicon', - readonly=False) - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.model - def get_values(self): - res = super(ResConfigSettings, self).get_values() - params = self.env['ir.config_parameter'].sudo() - res.update(params.get_branding_settings_params()) - return res - - @api.multi - def set_values(self): - res = super(ResConfigSettings, self).set_values() - self.env['ir.config_parameter'].set_params({ - 'muk_branding.system_name': self.branding_system_name or '', - 'muk_branding.publisher': self.branding_publisher or '', - 'muk_branding.website': self.branding_website or '', - 'muk_branding.documentation': self.branding_documentation or '', - 'muk_branding.support': self.branding_support or '', - 'muk_branding.store': self.branding_store or '', - 'muk_branding.share': self.branding_share or '', - }) - return res \ No newline at end of file diff --git a/muk_branding/patch/__init__.py b/muk_branding/patch/__init__.py deleted file mode 100644 index b76cce8..0000000 --- a/muk_branding/patch/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import fields \ No newline at end of file diff --git a/muk_branding/patch/fields.py b/muk_branding/patch/fields.py deleted file mode 100644 index 7fc6946..0000000 --- a/muk_branding/patch/fields.py +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import fields - -from odoo.addons.muk_utils.tools.patch import monkey_patch -from odoo.addons.muk_branding.tools.debrand import safe_debrand - -_logger = logging.getLogger(__name__) - -@monkey_patch(fields._String) -def get_trans_func(self, records): - if callable(self.translate): - rec_src_trans = records.env['ir.translation']._get_terms_translations(self, records) - def translate(record_id, value): - src_trans = rec_src_trans[record_id] - def debrand(source): - trans = src_trans.get(source, source) - if 'muk_branding.debranding' in records.env: - return records.env['muk_branding.debranding' ].debrand(trans) - return trans - return self.translate(debrand, value) - return translate - return get_trans_func.super(self, records) \ No newline at end of file diff --git a/muk_branding/static/description/banner.png b/muk_branding/static/description/banner.png deleted file mode 100644 index 88c1a76..0000000 Binary files a/muk_branding/static/description/banner.png and /dev/null differ diff --git a/muk_branding/static/description/icon.png b/muk_branding/static/description/icon.png deleted file mode 100644 index dd039eb..0000000 Binary files a/muk_branding/static/description/icon.png and /dev/null differ diff --git a/muk_branding/static/description/icon.svg b/muk_branding/static/description/icon.svg deleted file mode 100644 index 4f11f6f..0000000 --- a/muk_branding/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_branding/static/description/index.html b/muk_branding/static/description/index.html deleted file mode 100644 index a576a7c..0000000 --- a/muk_branding/static/description/index.html +++ /dev/null @@ -1,143 +0,0 @@ -
-
-

MuK Branding

-

Branding Features

-

MuK IT GmbH - - www.mukit.at

-
- -
-
-
- -
-
-
-

Overview

-

This module is the basis for a number of - branding modules, with the aim to customize Odoo according to your - needs. This happens mainly through a debranding of Odoo. All - occurrences of the word Odoo as well as links to Odoo can be - replaced automatically. This behavior is active by default but can - be disabled by using the context or an HTML tag.

-
    -
  • <span - class="no_debranding">...</span>
  • -
  • self.env[..].with_context(no_debranding=True)
  • -
-

- If a new system should be branded automatically, it is recommended - to set the flag - auto_install - of this module to - True - and to adjust the corresponding variables in the config file. -

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_branding/static/description/logo.png b/muk_branding/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_branding/static/description/logo.png and /dev/null differ diff --git a/muk_branding/static/description/preview.png b/muk_branding/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_branding/static/description/preview.png and /dev/null differ diff --git a/muk_branding/static/description/screenshot.png b/muk_branding/static/description/screenshot.png deleted file mode 100644 index 745d638..0000000 Binary files a/muk_branding/static/description/screenshot.png and /dev/null differ diff --git a/muk_branding/static/description/service_customization.png b/muk_branding/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_branding/static/description/service_customization.png and /dev/null differ diff --git a/muk_branding/static/description/service_development.png b/muk_branding/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_branding/static/description/service_development.png and /dev/null differ diff --git a/muk_branding/static/description/service_implementation.png b/muk_branding/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_branding/static/description/service_implementation.png and /dev/null differ diff --git a/muk_branding/static/description/service_integration.png b/muk_branding/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_branding/static/description/service_integration.png and /dev/null differ diff --git a/muk_branding/static/description/service_support.png b/muk_branding/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_branding/static/description/service_support.png and /dev/null differ diff --git a/muk_branding/static/src/img/favicon.ico b/muk_branding/static/src/img/favicon.ico deleted file mode 100644 index 4867295..0000000 Binary files a/muk_branding/static/src/img/favicon.ico and /dev/null differ diff --git a/muk_branding/tools/__init__.py b/muk_branding/tools/__init__.py deleted file mode 100644 index 0010a9b..0000000 --- a/muk_branding/tools/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import debrand \ No newline at end of file diff --git a/muk_branding/tools/debrand.py b/muk_branding/tools/debrand.py deleted file mode 100644 index fccb934..0000000 --- a/muk_branding/tools/debrand.py +++ /dev/null @@ -1,97 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Branding -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import re -import uuid -import chardet - -from itertools import chain -from lxml.etree import tostring -from lxml.html import fromstring - -from odoo.tools import ustr - -from odoo.addons.muk_utils.tools.utils import safe_execute - -def debrand_documentation(text, value, expression): - text = re.sub( - r'https://www.{0}.com/documentation/'.format(expression), - '{0}/documentation/'.format(value), text, flags=re.IGNORECASE - ) - text = re.sub( - r'https://www.{0}.com/page/docs/'.format(expression), - '{0}/page/docs/'.format(value), text, flags=re.IGNORECASE - ) - return text - -def debrand_link(text, value, expression): - text = re.sub( - r'(http(s)?:\/\/)?(www.)?{0}.com'.format(expression), - value, text, flags=re.IGNORECASE - ) - return text - -def debrand_text(text, value, expression): - cases = { - expression: uuid.uuid4().hex, - expression.upper(): uuid.uuid4().hex, - expression.lower(): uuid.uuid4().hex, - expression.capitalize(): uuid.uuid4().hex, - } - def init_no_debranding(match): - text = match.group() - for key in cases: - text = re.sub(r'\b{0}\b'.format(key), cases[key], text) - return text - def post_no_debranding(text): - for key in cases: - text = text.replace(cases[key], key) - return text - if isinstance(value, dict): - text = safe_execute(text, debrand_documentation, text, value.get('documentation'), expression) - text = safe_execute(text, debrand_link, text, value.get('website'), expression) - text = re.sub( - r'<.*class=".*no_debranding.*".*>.*(\b{0}\b).*<.*>'.format(expression), - init_no_debranding, text, flags=re.IGNORECASE - ) - text = re.sub( - r'\b(? - - - - - - - res.config.settings.view.form - res.config.settings - - - - -
-

Extensions

-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-

System Parameters

-
-
-
-
-
- System Names -
- Set the system names -
-
-
-
-
-
-
-
-
-
-
- System Website -
- Set the system website -
-
-
-
-
-
-
-
-

System Links

-
-
-
-
-
- Documentation and Support -
- Set the links to the system documentation -
-
-
-
-
-
-
-
-
-
-
- Apps and Promotion -
- Set the system media links -
-
-
-
-
-
-
-
-

Company Data

-
-
-
-
-
- Company -
- Specify the name and favicon of the company -
-
-
-
-
-
-
-
-
-
-
- Logo -
- Set the company logo -
-
-
- -
-
-
-
-
-
-
-
-
- -
\ No newline at end of file diff --git a/muk_converter/LICENSE b/muk_converter/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_converter/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_converter/README.rst b/muk_converter/README.rst deleted file mode 100644 index f9cf64c..0000000 --- a/muk_converter/README.rst +++ /dev/null @@ -1,143 +0,0 @@ -============= -MuK Converter -============= - -Technical module to provide some utility features and libraries that can be used -in other applications. This module has no direct effect on the running system. - -Requirements -============= - -The requirements are only to be fulfilled if the module is not used with the IAP service. - -unoconv -------------- - -Universal Office Converter (unoconv) is a command line tool to convert any -document format that LibreOffice can import to any document format that -LibreOffice can export. It makes use of the LibreOffice's UNO bindings for -non-interactive conversion of documents. - -To install unoconv please follow the instructions (`here `_). - -Make sure that unoconv can be executed from the console and the conversion -is done correctly. - -To set an individual path for the LibreOffice installation, the config -variable ``uno_path`` can be set accordingly in the Odoo config. - -Under Windows you should rename the ``unoconv`` file to ``unoconv.py`` and set -the corresponding path for the ``uno_path`` variable. Since it does not work -reliably with the environment variable ``UNO_PATH``. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -The converter uses a store to avoid the repeated conversion of the same file. -To avoid unnecessary memory consumption, Odoo's AutoVaccum Cron Job empties -the store accordingly. The system parameter ``muk_converter.max_store`` can -be used to set the maximum number of elements that can be in the store after -cleaning. By default, this value is set to 20. - -Usage -============= - -This module has no direct visible effect on the system. It provides functions -to convert data from one file format to another. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_converter/__init__.py b/muk_converter/__init__.py deleted file mode 100644 index 1615592..0000000 --- a/muk_converter/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import service -from . import models -from . import wizards \ No newline at end of file diff --git a/muk_converter/__manifest__.py b/muk_converter/__manifest__.py deleted file mode 100644 index d372fe9..0000000 --- a/muk_converter/__manifest__.py +++ /dev/null @@ -1,59 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Converter", - "summary": """Universal Converter""", - "version": '12.0.2.0.1', - "category": 'Extra Tools', - "license": "LGPL-3", - "website": "https://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "iap", - "muk_autovacuum", - "muk_fields_lobject", - ], - "data": [ - "security/ir.model.access.csv", - "data/params.xml", - "data/autovacuum.xml", - "views/convert.xml", - "views/res_config_settings_view.xml", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "application": False, - "installable": True, -} diff --git a/muk_converter/data/autovacuum.xml b/muk_converter/data/autovacuum.xml deleted file mode 100644 index 3c696f2..0000000 --- a/muk_converter/data/autovacuum.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - Delete all converted files that exceed the store size - size - - parameter - - used_date desc - - - \ No newline at end of file diff --git a/muk_converter/data/params.xml b/muk_converter/data/params.xml deleted file mode 100644 index d14aea5..0000000 --- a/muk_converter/data/params.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - muk_converter.service - unoconv - - - - - muk_converter.max_store - 20 - - - - \ No newline at end of file diff --git a/muk_converter/doc/changelog.rst b/muk_converter/doc/changelog.rst deleted file mode 100644 index fb52946..0000000 --- a/muk_converter/doc/changelog.rst +++ /dev/null @@ -1,14 +0,0 @@ -`1.2.0` -------- - -- Added In-App Purchases option - -`1.1.0` -------- - -- Added converter wizard - -`1.0.0` -------- - -- Init version diff --git a/muk_converter/doc/index.rst b/muk_converter/doc/index.rst deleted file mode 100644 index f9cf64c..0000000 --- a/muk_converter/doc/index.rst +++ /dev/null @@ -1,143 +0,0 @@ -============= -MuK Converter -============= - -Technical module to provide some utility features and libraries that can be used -in other applications. This module has no direct effect on the running system. - -Requirements -============= - -The requirements are only to be fulfilled if the module is not used with the IAP service. - -unoconv -------------- - -Universal Office Converter (unoconv) is a command line tool to convert any -document format that LibreOffice can import to any document format that -LibreOffice can export. It makes use of the LibreOffice's UNO bindings for -non-interactive conversion of documents. - -To install unoconv please follow the instructions (`here `_). - -Make sure that unoconv can be executed from the console and the conversion -is done correctly. - -To set an individual path for the LibreOffice installation, the config -variable ``uno_path`` can be set accordingly in the Odoo config. - -Under Windows you should rename the ``unoconv`` file to ``unoconv.py`` and set -the corresponding path for the ``uno_path`` variable. Since it does not work -reliably with the environment variable ``UNO_PATH``. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -The converter uses a store to avoid the repeated conversion of the same file. -To avoid unnecessary memory consumption, Odoo's AutoVaccum Cron Job empties -the store accordingly. The system parameter ``muk_converter.max_store`` can -be used to set the maximum number of elements that can be in the store after -cleaning. By default, this value is set to 20. - -Usage -============= - -This module has no direct visible effect on the system. It provides functions -to convert data from one file format to another. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_converter/i18n/ar.po b/muk_converter/i18n/ar.po deleted file mode 100644 index fdae3db..0000000 --- a/muk_converter/i18n/ar.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:12+0000\n" -"PO-Revision-Date: 2019-07-13 00:12+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "إلغاء" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "إقفال" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "ضبط الإعدادات" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "أنشئ بواسطة" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "أنشئ في" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "اسم العرض" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "الملف" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "اسم الملف" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "المعرف" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "آخر تعديل في" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "آخر تحديث بواسطة" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "آخر تحديث في" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "الاسم" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "الحالة" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/de.po b/muk_converter/i18n/de.po deleted file mode 100644 index de2a690..0000000 --- a/muk_converter/i18n/de.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:13+0000\n" -"PO-Revision-Date: 2019-07-13 00:13+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Abbrechen" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Schließen" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "Konfiguration " - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Erstellt von" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Erstellt am" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Anzeigename" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Datei" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Dateiname" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Zuletzt geändert am" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Zuletzt aktualisiert durch" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Zuletzt aktualisiert am" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "Bundesland" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/es.po b/muk_converter/i18n/es.po deleted file mode 100644 index 4cf1b7c..0000000 --- a/muk_converter/i18n/es.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:13+0000\n" -"PO-Revision-Date: 2019-07-13 00:13+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Cancelar" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Cerrar" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "Opciones de Configuración" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Creado por" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Creado el" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Archivo" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Nombre de archivo" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Última modificación en" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Última actualización por" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Última actualización el" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "Nombre" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "Estado" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/fr.po b/muk_converter/i18n/fr.po deleted file mode 100644 index 22e2274..0000000 --- a/muk_converter/i18n/fr.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:13+0000\n" -"PO-Revision-Date: 2019-07-13 00:13+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Annuler" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Fermer" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "Paramètres de config" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Créé par" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Créé le" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Fichier" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Nom du fichier" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Dernière mise à jour par" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Dernière mise à jour le" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "Nom" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "État" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/hi.po b/muk_converter/i18n/hi.po deleted file mode 100644 index cea0232..0000000 --- a/muk_converter/i18n/hi.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:14+0000\n" -"PO-Revision-Date: 2019-07-13 00:14+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/muk_converter.pot b/muk_converter/i18n/muk_converter.pot deleted file mode 100644 index 1f1941b..0000000 --- a/muk_converter/i18n/muk_converter.pot +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:12+0000\n" -"PO-Revision-Date: 2019-07-13 00:12+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/nl.po b/muk_converter/i18n/nl.po deleted file mode 100644 index a9d1847..0000000 --- a/muk_converter/i18n/nl.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:14+0000\n" -"PO-Revision-Date: 2019-07-13 00:14+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Annuleren" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Sluiten" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "Configuratie instellingen" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Aangemaakt door" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Aangemaakt op" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Weergavenaam" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Bestand" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Bestandsnaam" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Laatst gewijzigd op" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Laatst bijgewerkt door" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Laatst bijgewerkt op" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "Naam" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "Provincie" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/pt.po b/muk_converter/i18n/pt.po deleted file mode 100644 index 3d7f23e..0000000 --- a/muk_converter/i18n/pt.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:14+0000\n" -"PO-Revision-Date: 2019-07-13 00:14+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Cancelar" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Fechar" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "config configurações" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Criado por" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Criada em" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Nome a Exibir" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Ficheiro" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Nome de ficheiro" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "Id." - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Última Modificação em" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Última Atualização por" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Última Atualização em" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "Nome" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "Estado" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/i18n/ru.po b/muk_converter/i18n/ru.po deleted file mode 100644 index 4740bd0..0000000 --- a/muk_converter/i18n/ru.po +++ /dev/null @@ -1,227 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_converter -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:14+0000\n" -"PO-Revision-Date: 2019-07-13 00:14+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Cancel" -msgstr "Отменить" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__checksum -msgid "Checksum" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Close" -msgstr "Закрыть" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_res_config_settings -msgid "Config Settings" -msgstr "Настройки конфигурации" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Conversion Complete" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Convert" -msgstr "" - -#. module: muk_converter -#: code:addons/muk_converter/wizards/convert.py:100 -#: model:ir.actions.act_window,name:muk_converter.action_converter_convert -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -#, python-format -msgid "Convert File" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_service -msgid "Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_store -msgid "Converter Store" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Converter engine, which is used for the conversion" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_service -msgid "Converter engine, which is used for the conversion:\n" -"- Local: Use a locally installed unoconv installation\n" -"- Service: Use a service to do the conversion\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_credit -msgid "Converter insufficient credit" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_uid -msgid "Created by" -msgstr "Создано" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__create_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__create_date -msgid "Created on" -msgstr "Создан" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content -msgid "Data" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__display_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__display_name -msgid "Display Name" -msgstr "Отображаемое Имя" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Download" -msgstr "" - -#. module: muk_converter -#: selection:muk_converter.convert,state:0 -msgid "Export" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_binary -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_binary -msgid "File" -msgstr "Файл" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "File Converter" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__input_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__output_name -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__content_fname -msgid "Filename" -msgstr "Имя файла" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__format -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__format -msgid "Format" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "Here is the converted file:" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter__id -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__id -msgid "ID" -msgstr "Номер" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_converter____last_update -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store____last_update -msgid "Last Modified on" -msgstr "Последнее изменение" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_uid -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_uid -msgid "Last Updated by" -msgstr "Последний раз обновил" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__write_date -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__write_date -msgid "Last Updated on" -msgstr "Последнее обновление" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Local" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.res_config_settings_view_form -msgid "Maximum storage size of the converter store" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__name -msgid "Name" -msgstr "Название" - -#. module: muk_converter -#: selection:res.config.settings,converter_service:0 -msgid "Service" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_convert__state -msgid "State" -msgstr "Регион" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_res_config_settings__converter_max_store -msgid "Storage Size" -msgstr "" - -#. module: muk_converter -#: model_terms:ir.ui.view,arch_db:muk_converter.view_converter_convert_form -msgid "The file has been successfully converted and can now be used.\n" -" You can download the file by clicking on the link below." -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,help:muk_converter.field_res_config_settings__converter_max_store -msgid "To certify the conversion, converted files can be saved\n" -"and loaded from memory if necessary. You can set a maximum\n" -"size of the storage to prevent massive memory requirements.\n" -"" -msgstr "" - -#. module: muk_converter -#: model:ir.model.fields,field_description:muk_converter.field_muk_converter_store__used_date -msgid "Used on" -msgstr "" - -#. module: muk_converter -#: model:ir.model,name:muk_converter.model_muk_converter_convert -msgid "muk_converter.convert" -msgstr "" - diff --git a/muk_converter/models/__init__.py b/muk_converter/models/__init__.py deleted file mode 100644 index 4c7e54b..0000000 --- a/muk_converter/models/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import store -from . import converter -from . import res_config_settings \ No newline at end of file diff --git a/muk_converter/models/converter.py b/muk_converter/models/converter.py deleted file mode 100644 index a01fb1d..0000000 --- a/muk_converter/models/converter.py +++ /dev/null @@ -1,97 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import base64 -import hashlib -import logging - -from odoo import api, models, fields, SUPERUSER_ID - -from odoo.addons.muk_converter.service.unoconv import unoconv -from odoo.addons.muk_converter.service.provider import provider - -_logger = logging.getLogger(__name__) - -class Converter(models.AbstractModel): - - _name = 'muk_converter.converter' - _description = 'Converter' - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.model - def formats(self): - return self._provider().formats - - @api.model - def imports(self): - return self._provider().imports - - @api.model - def convert(self, filename, content, format="pdf", recompute=False, store=True): - binary_content = base64.b64decode(content) - checksum = hashlib.sha1(binary_content).hexdigest() - stored = self._retrieve(checksum, format) - if not recompute and stored.exists(): - return base64.b64encode(stored.content) - else: - name = "%s.%s" % (filename, format) - output = self._parse(filename, binary_content, format) - if store: - self._store(checksum, name, output, format, stored) - return base64.b64encode(output) - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - @api.model - def _provider(self): - params = self.env['ir.config_parameter'].sudo() - service = params.get_param('muk_converter.service') - if service == 'unoconv': - return unoconv - else: - provider.env = self.env - return provider - - @api.model - def _parse(self, filename, content, format): - return self._provider().convert(content, filename=filename, format=format) - - @api.model - def _retrieve(self, checksum, format): - domain = [["checksum", "=", checksum], ["format", "=", format]] - return self.env['muk_converter.store'].sudo().search(domain, limit=1) - - @api.model - def _store(self, checksum, filename, content, format, stored): - if stored and stored.exists(): - stored.write({'used_date': fields.Datetime.now}) - else: - self.env['muk_converter.store'].sudo().create({ - 'checksum': checksum, - 'format': format, - 'content_fname': filename, - 'content': content}) \ No newline at end of file diff --git a/muk_converter/models/res_config_settings.py b/muk_converter/models/res_config_settings.py deleted file mode 100644 index 414be9e..0000000 --- a/muk_converter/models/res_config_settings.py +++ /dev/null @@ -1,86 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging -import textwrap - -from odoo import api, fields, models - -class ResConfigSettings(models.TransientModel): - - _inherit = 'res.config.settings' - - converter_service = fields.Selection( - selection=[ - ("unoconv", "Local"), - ("provider", "Service")], - string="Converter", - default="provider", - help=textwrap.dedent("""\ - Converter engine, which is used for the conversion: - - Local: Use a locally installed unoconv installation - - Service: Use a service to do the conversion - """)) - - converter_max_store = fields.Integer( - string="Storage Size", - help=textwrap.dedent("""\ - To certify the conversion, converted files can be saved - and loaded from memory if necessary. You can set a maximum - size of the storage to prevent massive memory requirements. - """)) - - converter_credit = fields.Boolean( - compute='_compute_converter_credit', - string="Converter insufficient credit") - - @api.multi - def set_values(self): - res = super(ResConfigSettings, self).set_values() - param = self.env['ir.config_parameter'].sudo() - param.set_param("muk_converter.service", self.converter_service) - param.set_param("muk_converter.max_store", self.converter_max_store) - return res - - @api.model - def get_values(self): - res = super(ResConfigSettings, self).get_values() - params = self.env['ir.config_parameter'].sudo() - res.update( - converter_service=params.get_param("muk_converter.service", default="provider"), - converter_max_store=int(params.get_param("muk_converter.max_store", default=20)) - ) - return res - - @api.multi - def _compute_converter_credit(self): - credits = self.env['iap.account'].get_credits('muk_converter') - for record in self: - record.converter_credit = credits <= 0 - @api.multi - def redirect_to_buy_converter_credit(self): - url = self.env['iap.account'].get_credits_url('muk_converter') - return { - 'type': 'ir.actions.act_url', - 'url': url, - 'target': '_new', - } diff --git a/muk_converter/models/store.py b/muk_converter/models/store.py deleted file mode 100644 index e1304c8..0000000 --- a/muk_converter/models/store.py +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, models, fields - -from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject - -_logger = logging.getLogger(__name__) - -class Store(models.Model): - - _name = 'muk_converter.store' - _description = 'Converter Store' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - name = fields.Char( - compute="_compute_name", - string="Name", - store=True) - - used_date = fields.Datetime( - string="Used on", - default=fields.Datetime.now) - - checksum = fields.Char( - string="Checksum", - required=True) - - format = fields.Char( - string="Format", - required=True) - - content_fname = fields.Char( - string="Filename", - required=True) - - content = LargeObject( - string="Data", - required=True) - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - @api.depends('checksum', 'content_fname') - def _compute_name(self): - for record in self: - record.name = "%s (%s)" % (record.content_fname, record.checksum) diff --git a/muk_converter/security/ir.model.access.csv b/muk_converter/security/ir.model.access.csv deleted file mode 100644 index c5c6dc3..0000000 --- a/muk_converter/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink - -access_muk_converter_store,access_muk_converter_store,model_muk_converter_store,base.group_erp_manager,1,1,1,1 \ No newline at end of file diff --git a/muk_converter/service/__init__.py b/muk_converter/service/__init__.py deleted file mode 100644 index f744b3a..0000000 --- a/muk_converter/service/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import unoconv -from . import provider diff --git a/muk_converter/service/provider.py b/muk_converter/service/provider.py deleted file mode 100644 index bd59629..0000000 --- a/muk_converter/service/provider.py +++ /dev/null @@ -1,106 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import base64 -import logging - -from odoo.addons.iap import jsonrpc - -from odoo.addons.muk_utils.tools.cache import cached_property -from odoo.addons.muk_utils.tools.file import guess_extension - -_logger = logging.getLogger(__name__) - -CONVERTER_DEFAULT_ENDPOINT = 'https://iap-converter.mukit.at' -CONVERTER_ENDPOINT_FORMATS = '/iap/converter/1/formats' -CONVERTER_ENDPOINT_IMPORTS = '/iap/converter/1/imports' -CONVERTER_ENDPOINT_CONVERT = '/iap/converter/1/convert' - -class RemoteConverter(object): - - @property - def env(self): - return self._params - - @env.setter - def env(self, env): - self._params = env['ir.config_parameter'].sudo() - self._account = env['iap.account'].get('muk_converter') - - @property - def params(self): - return self._params - - @property - def account(self): - return self._account - - @cached_property(timeout=3600) - def formats(self): - print("FORMATS") - return jsonrpc(self.endpoint(CONVERTER_ENDPOINT_FORMATS), params=self.payload()) - - @cached_property(timeout=3600) - def imports(self): - return jsonrpc(self.endpoint(CONVERTER_ENDPOINT_IMPORTS), params=self.payload()) - - def endpoint(self, route): - return "%s%s" % (self.params.get_param('muk_converter.endpoint', CONVERTER_DEFAULT_ENDPOINT), route) - - def payload(self, params={}): - params.update({ - 'account_token': self.account.account_token, - 'database_uuid': self.params.get_param('database.uuid'), - }) - return params - - def convert(self, binary, mimetype=None, filename=None, export="binary", doctype="document", format="pdf"): - """ Converts a binary value to the given format. - - :param binary: The binary value. - :param mimetype: The mimetype of the binary value. - :param filename: The filename of the binary value. - :param export: The output format (binary, file, base64). - :param doctype: Specify the document type (document, graphics, presentation, spreadsheet). - :param format: Specify the output format for the document. - :return: Returns the output depending on the given format. - :raises ValueError: The file extension could not be determined or the format is invalid. - """ - params = { - 'format': format, - 'doctype': doctype, - 'mimetype': mimetype, - 'filename': filename, - 'content': base64.b64encode(binary), - } - result = jsonrpc(self.endpoint(CONVERTER_ENDPOINT_CONVERT), params=self.payload(params)) - if export == 'base64': - return result - if export == 'file': - output = io.BytesIO() - output.write(base64.b64decode(result)) - output.close() - return output - else: - return base64.b64decode(result) - -provider = RemoteConverter() \ No newline at end of file diff --git a/muk_converter/service/unoconv.py b/muk_converter/service/unoconv.py deleted file mode 100644 index 6035142..0000000 --- a/muk_converter/service/unoconv.py +++ /dev/null @@ -1,149 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import io -import base64 -import shutil -import urllib -import logging -import tempfile -import mimetypes - -from subprocess import Popen -from subprocess import PIPE -from subprocess import CalledProcessError - -from contextlib import closing - -from odoo.tools import config -from odoo.tools.mimetypes import guess_mimetype - -from odoo.addons.muk_utils.tools.file import guess_extension - -_logger = logging.getLogger(__name__) - -UNOCONV_FORMATS = [ - "bib", "bmp", "csv", "dbf", "dif", "doc", "doc6", "doc95", "docbook", "docx", "docx7", "emf", - "eps", "fodg", "fodp", "fods", "fodt", "gif", "html", "jpg", "latex", "mediawiki", "met", "odd", - "odg", "odp", "ods", "odt", "ooxml", "otg", "otp", "ots", "ott", "pbm", "pct", "pdb", "pdf", "pgm", - "png", "pot", "potm", "ppm", "pps", "ppt", "pptx", "psw", "pwp", "pxl", "ras", "rtf", "sda", "sdc", - "sdc3", "sdc4", "sdd", "sdd3", "sdd4", "sdw", "sdw3", "sdw4", "slk", "stc", "std", "sti", "stw", - "svg", "svm", "swf", "sxc", "sxd", "sxd3", "sxd5", "sxi", "sxw", "text", "tiff", "txt", "uop", "uos", - "uot", "vor", "vor3", "vor4", "vor5", "wmf", "wps", "xhtml", "xls", "xls5", "xls95", "xlsx", "xlt", - "xlt5", "xlt95", "xpm""bib", "bmp", "csv", "dbf", "dif", "doc", "doc6", "doc95", "docbook", "docx", - "docx7", "emf", "eps", "fodg", "fodp", "fods", "fodt", "gif", "html", "jpg", "latex", "mediawiki", - "met", "odd", "odg", "odp", "ods", "odt", "ooxml", "otg", "otp", "ots", "ott", "pbm", "pct", "pdb", - "pdf", "pgm", "png", "pot", "potm", "ppm", "pps", "ppt", "pptx", "psw", "pwp", "pxl", "ras", "rtf", - "sda", "sdc", "sdc3", "sdc4", "sdd", "sdd3", "sdd4", "sdw", "sdw3", "sdw4", "slk", "stc", "std", - "sti", "stw", "svg", "svm", "swf", "sxc", "sxd", "sxd3", "sxd5", "sxi", "sxw", "text", "tiff", - "txt", "uop", "uos", "uot", "vor", "vor3", "vor4", "vor5", "wmf", "wps", "xhtml", "xls", "xls5", - "xls95", "xlsx", "xlt", "xlt5", "xlt95", "xpm" -] - -UNOCONV_IMPORTS = [ - "bmp", "csv", "dbf", "dif", "doc", "docx", "dot", "emf", "eps", "epub", "fodg", "fodp", "fods", - "fodt", "gif", "gnm", "gnumeric", "htm", "html", "jpeg", "jpg", "met", "mml", "odb", "odf", "odg", - "odp", "ods", "odt", "pbm", "pct", "pdb", "pdf", "pgm", "png", "pot", "ppm", "pps", "ppt", "pptx", - "psw", "pxl", "ras", "rtf", "sda", "sdc", "sdd", "sdp", "sdw", "sgl", "slk", "stc", "std", "sti", - "stw", "svg", "svm", "swf", "sxc", "sxd", "sxi", "sxm", "sxw", "tif", "tiff", "txt", "uof", "uop", - "uos", "uot", "vor", "wmf", "wri", "xls", "xlsx", "xlt", "xlw", "xml", "xpm""bmp", "csv", "dbf", - "dif", "doc", "docx", "dot", "emf", "eps", "epub", "fodg", "fodp", "fods", "fodt", "gif", "gnm", - "gnumeric", "htm", "html", "jpeg", "jpg", "met", "mml", "odb", "odf", "odg", "odp", "ods", "odt", - "pbm", "pct", "pdb", "pdf", "pgm", "png", "pot", "ppm", "pps", "ppt", "pptx", "psw", "pxl", "ras", - "rtf", "sda", "sdc", "sdd", "sdp", "sdw", "sgl", "slk", "stc", "std", "sti", "stw", "svg", "svm", - "swf", "sxc", "sxd", "sxi", "sxm", "sxw", "tif", "tiff", "text", "uof", "uop", "uos", "uot", "vor", - "wmf", "wri", "xls", "xlsx", "xlt", "xlw", "xml", "xpm" -] - -class UnoconvConverter(object): - - @property - def formats(self): - return UNOCONV_FORMATS - - @property - def imports(self): - return UNOCONV_IMPORTS - - def environ(self): - env = os.environ.copy() - uno_path = config.get('uno_path', False) - if uno_path: - env['UNO_PATH'] = config['uno_path'] - return env - - def convert(self, binary, mimetype=None, filename=None, export="binary", doctype="document", format="pdf"): - """ Converts a binary value to the given format. - - :param binary: The binary value. - :param mimetype: The mimetype of the binary value. - :param filename: The filename of the binary value. - :param export: The output format (binary, file, base64). - :param doctype: Specify the document type (document, graphics, presentation, spreadsheet). - :param format: Specify the output format for the document. - :return: Returns the output depending on the given format. - :raises ValueError: The file extension could not be determined or the format is invalid. - """ - extension = guess_extension(filename=filename, mimetype=mimetype, binary=binary) - if not extension: - raise ValueError("The file extension could not be determined.") - if format not in self.formats: - raise ValueError("Invalid export format.") - if extension not in self.imports: - raise ValueError("Invalid import format.") - tmp_dir = tempfile.mkdtemp() - try: - tmp_wpath = os.path.join(tmp_dir, "tmpfile." + extension) - tmp_ppath = os.path.join(tmp_dir, "tmpfile." + format) - if os.name == 'nt': - tmp_wpath = tmp_wpath.replace("\\", "/") - tmp_ppath = tmp_ppath.replace("\\", "/") - with closing(open(tmp_wpath, 'wb')) as file: - file.write(binary) - shell = True if os.name in ('nt', 'os2') else False - args = ['unoconv', '--format=%s' % format, '--output=%s' % tmp_ppath, tmp_wpath] - process = Popen(args, stdout=PIPE, env=self.environ(), shell=shell) - outs, errs = process.communicate() - return_code = process.wait() - if return_code: - raise CalledProcessError(return_code, args, outs, errs) - with closing(open(tmp_ppath, 'rb')) as file: - if export == 'file': - output = io.BytesIO() - output.write(file.read()) - output.close() - return output - elif export == 'base64': - return base64.b64encode(file.read()) - else: - return file.read() - except CalledProcessError: - _logger.exception("Error while running unoconv.") - raise - except OSError: - _logger.exception("Error while running unoconv.") - raise - finally: - shutil.rmtree(tmp_dir) - -unoconv = UnoconvConverter() \ No newline at end of file diff --git a/muk_converter/static/description/banner.png b/muk_converter/static/description/banner.png deleted file mode 100644 index bc16e39..0000000 Binary files a/muk_converter/static/description/banner.png and /dev/null differ diff --git a/muk_converter/static/description/icon.png b/muk_converter/static/description/icon.png deleted file mode 100644 index 1b124a9..0000000 Binary files a/muk_converter/static/description/icon.png and /dev/null differ diff --git a/muk_converter/static/description/icon.svg b/muk_converter/static/description/icon.svg deleted file mode 100644 index c06d89d..0000000 --- a/muk_converter/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_converter/static/description/index.html b/muk_converter/static/description/index.html deleted file mode 100644 index 31bab81..0000000 --- a/muk_converter/static/description/index.html +++ /dev/null @@ -1,124 +0,0 @@ -
-
-

MuK Converter

-

Universal Converter

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-

Technical module to provide utility features. - The module is mainly used as a dependency by other modules. This - module has no direct visible effect on the system. It provides - functions to convert data from one file format to another.

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_converter/static/description/logo.png b/muk_converter/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_converter/static/description/logo.png and /dev/null differ diff --git a/muk_converter/static/description/preview.png b/muk_converter/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_converter/static/description/preview.png and /dev/null differ diff --git a/muk_converter/static/description/service_customization.png b/muk_converter/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_converter/static/description/service_customization.png and /dev/null differ diff --git a/muk_converter/static/description/service_development.png b/muk_converter/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_converter/static/description/service_development.png and /dev/null differ diff --git a/muk_converter/static/description/service_implementation.png b/muk_converter/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_converter/static/description/service_implementation.png and /dev/null differ diff --git a/muk_converter/static/description/service_integration.png b/muk_converter/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_converter/static/description/service_integration.png and /dev/null differ diff --git a/muk_converter/static/description/service_support.png b/muk_converter/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_converter/static/description/service_support.png and /dev/null differ diff --git a/muk_converter/tests/__init__.py b/muk_converter/tests/__init__.py deleted file mode 100644 index 662a4f4..0000000 --- a/muk_converter/tests/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_unoconv -from . import test_converter \ No newline at end of file diff --git a/muk_converter/tests/data/sample.png b/muk_converter/tests/data/sample.png deleted file mode 100644 index acc60b2..0000000 Binary files a/muk_converter/tests/data/sample.png and /dev/null differ diff --git a/muk_converter/tests/test_converter.py b/muk_converter/tests/test_converter.py deleted file mode 100644 index 87fb060..0000000 --- a/muk_converter/tests/test_converter.py +++ /dev/null @@ -1,74 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import logging -import unittest - -from odoo.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class ConverterTestCase(common.TransactionCase): - - def setUp(self): - super(ConverterTestCase, self).setUp() - self.params = self.env['ir.config_parameter'] - self.store = self.env['muk_converter.store'].sudo() - self.converter = self.env['muk_converter.converter'] - self.store_count = self.store.search([], count=True) - self.params.set_param('muk_converter.service', 'unoconv') - - def tearDown(self): - super(ConverterTestCase, self).tearDown() - - def test_formats(self): - self.assertTrue(self.converter.formats()) - - def test_imports(self): - self.assertTrue(self.converter.imports()) - - @unittest.skipIf(os.environ.get('TRAVIS', False), "Skipped for Travis CI") - def test_convert_basic(self): - with open(os.path.join(_path, 'tests/data', 'sample.png'), 'rb') as file: - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()))) - - @unittest.skipIf(os.environ.get('TRAVIS', False), "Skipped for Travis CI") - def test_convert_format(self): - with open(os.path.join(_path, 'tests/data', 'sample.png'), 'rb') as file: - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()), format="html")) - - @unittest.skipIf(os.environ.get('TRAVIS', False), "Skipped for Travis CI") - def test_convert_stored(self): - with open(os.path.join(_path, 'tests/data', 'sample.png'), 'rb') as file: - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()))) - self.assertTrue(self.store.search([], count=True) >= self.store_count) - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()))) - - @unittest.skipIf(os.environ.get('TRAVIS', False), "Skipped for Travis CI") - def test_convert_recompute(self): - with open(os.path.join(_path, 'tests/data', 'sample.png'), 'rb') as file: - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()), recompute=True, store=False)) - self.assertTrue(self.store.search([], count=True) == self.store_count) - self.assertTrue(self.converter.convert('sample.png', base64.b64encode(file.read()))) \ No newline at end of file diff --git a/muk_converter/tests/test_unoconv.py b/muk_converter/tests/test_unoconv.py deleted file mode 100644 index f7c40d6..0000000 --- a/muk_converter/tests/test_unoconv.py +++ /dev/null @@ -1,47 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import logging -import unittest - -from odoo.tests import common - -from odoo.addons.muk_converter.service.unoconv import UnoconvConverter - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class UnoconvTestCase(common.TransactionCase): - - def setUp(self): - super(UnoconvTestCase, self).setUp() - self.unoconv = UnoconvConverter() - - def tearDown(self): - super(UnoconvTestCase, self).tearDown() - - @unittest.skipIf(os.environ.get('TRAVIS', False), "Skipped for Travis CI") - def test_convert(self): - with open(os.path.join(_path, 'tests/data', 'sample.png'), 'rb') as file: - self.assertTrue(self.unoconv.convert(file.read(), filename='sample.png')) - \ No newline at end of file diff --git a/muk_converter/views/convert.xml b/muk_converter/views/convert.xml deleted file mode 100644 index 9e67d41..0000000 --- a/muk_converter/views/convert.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - muk_converter_convert.form - muk_converter.convert - -
- - - - - - - - - - -
- -

Conversion Complete

-

The file has been successfully converted and can now be used. - You can download the file by clicking on the link below. -

-

- Here is the converted file: - -

-
-
-
-
-
-
-
-
- - - Convert File - ir.actions.act_window - muk_converter.convert - form - form - new - - -
diff --git a/muk_converter/views/res_config_settings_view.xml b/muk_converter/views/res_config_settings_view.xml deleted file mode 100644 index 9f2783b..0000000 --- a/muk_converter/views/res_config_settings_view.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - res.config.settings.view.form - res.config.settings - - -
-

File Converter

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
\ No newline at end of file diff --git a/muk_converter/wizards/__init__.py b/muk_converter/wizards/__init__.py deleted file mode 100644 index 6febe91..0000000 --- a/muk_converter/wizards/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import convert \ No newline at end of file diff --git a/muk_converter/wizards/convert.py b/muk_converter/wizards/convert.py deleted file mode 100644 index 50ce2fc..0000000 --- a/muk_converter/wizards/convert.py +++ /dev/null @@ -1,108 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Converter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import uuid -import logging -import mimetypes - -from odoo import _, api, fields, models - -# from odoo.addons.muk_utils.tools.http import get_response TODO -#from odoo.addons.muk_converter.tools import converter - -_logger = logging.getLogger(__name__) - -class ConverterWizard(models.TransientModel): - - _name = "muk_converter.convert" - - #---------------------------------------------------------- - # Selections - #---------------------------------------------------------- - - def _format_selection(self): - formats = self.env['muk_converter.converter'].formats() - return list(map(lambda format: (format, format.upper()), formats)) - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - state = fields.Selection( - selection=[ - ("export", "Export"), - ("download", "Download")], - string="State", - required=True, - default="export") - - input_name = fields.Char( - string="Filename", - states={'export': [('required', True)]}) - - input_binary = fields.Binary( - string="File", - attachment=False, - states={'export': [('required', True)]}) - - format = fields.Selection( - selection=_format_selection, - string="Format", - default="pdf", - states={'export': [('required', True)]}) - - output_name = fields.Char( - string="Filename", - readonly=True, - states={'download': [('required', True)]}) - - output_binary = fields.Binary( - string="File", - readonly=True, - attachment=False, - states={'download': [('required', True)]}) - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.multi - def convert(self): - self.ensure_one() - name = "%s.%s" % (os.path.splitext(self.input_name)[0], self.format) - output = self.env['muk_converter.converter'].convert(self.input_name, self.input_binary) - self.write({ - 'state': 'download', - 'output_name': name, - 'output_binary': output}) - return { - "name": _("Convert File"), - 'type': 'ir.actions.act_window', - 'res_model': 'muk_converter.convert', - 'view_mode': 'form', - 'view_type': 'form', - 'res_id': self.id, - 'views': [(False, 'form')], - 'target': 'new', - } \ No newline at end of file diff --git a/muk_dbfilter/LICENSE b/muk_dbfilter/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_dbfilter/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_dbfilter/README.rst b/muk_dbfilter/README.rst deleted file mode 100644 index 85a7e36..0000000 --- a/muk_dbfilter/README.rst +++ /dev/null @@ -1,126 +0,0 @@ -============ -MuK DBFilter -============ - -This module allows to add additional filter criteria to the ``dbfilter`` -function using a request header. To pass a regular expression to the -filter set the ``X-Odoo-dbfilter`` header field on the request and make -sure that Odoo runs with an enabled proxy mode. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -Since this module need to be activated even if no database is selected it should -be loaded right at the server start. This can be done by editing the configuration -file or passing a load parameter to the start script. - -Parameter: ``--load=web,muk_session_store`` - -Usage -============= - -After loading the module, the ``dbfilter`` function reacts to request headers. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `DBFilter from Header `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_dbfilter/__init__.py b/muk_dbfilter/__init__.py deleted file mode 100644 index 2a797c1..0000000 --- a/muk_dbfilter/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK DB Filter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo.tools import config - -def _patch_system(): - server_modules = config.get('server_wide_modules') or [] - if 'muk_dbfilter' in server_modules and config.get('proxy_mode'): - from . import patch diff --git a/muk_dbfilter/__manifest__.py b/muk_dbfilter/__manifest__.py deleted file mode 100644 index 63a0ec9..0000000 --- a/muk_dbfilter/__manifest__.py +++ /dev/null @@ -1,55 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK DB Filter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK DB Filter", - "summary": """Headers based Database Selection""", - "version": "12.0.2.0.1", - 'category': 'Extra Tools', - 'license': 'LGPL-3', - 'author': 'MuK IT', - 'website': 'https://www.mukit.at', - 'live_test_url': 'https://mukit.at/r/SgN', - "depends": [ - ], - "contributors": [ - "Kerrim Abdelhamed ", - "Mathias Markl " - ], - "data": [ - ], - "demo": [ - ], - "qweb": [ - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "installable": True, - "auto_install": False, - "application": False, - "post_load": "_patch_system", -} diff --git a/muk_dbfilter/doc/changelog.rst b/muk_dbfilter/doc/changelog.rst deleted file mode 100644 index 33170e8..0000000 --- a/muk_dbfilter/doc/changelog.rst +++ /dev/null @@ -1,4 +0,0 @@ -`1.0.0` -------- - -- Init version \ No newline at end of file diff --git a/muk_dbfilter/doc/index.rst b/muk_dbfilter/doc/index.rst deleted file mode 100644 index 85a7e36..0000000 --- a/muk_dbfilter/doc/index.rst +++ /dev/null @@ -1,126 +0,0 @@ -============ -MuK DBFilter -============ - -This module allows to add additional filter criteria to the ``dbfilter`` -function using a request header. To pass a regular expression to the -filter set the ``X-Odoo-dbfilter`` header field on the request and make -sure that Odoo runs with an enabled proxy mode. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -Since this module need to be activated even if no database is selected it should -be loaded right at the server start. This can be done by editing the configuration -file or passing a load parameter to the start script. - -Parameter: ``--load=web,muk_session_store`` - -Usage -============= - -After loading the module, the ``dbfilter`` function reacts to request headers. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `DBFilter from Header `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_dbfilter/i18n/ar.po b/muk_dbfilter/i18n/ar.po deleted file mode 100644 index 0a95cc6..0000000 --- a/muk_dbfilter/i18n/ar.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:19+0000\n" -"PO-Revision-Date: 2019-07-12 23:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/de.po b/muk_dbfilter/i18n/de.po deleted file mode 100644 index 0a95cc6..0000000 --- a/muk_dbfilter/i18n/de.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:19+0000\n" -"PO-Revision-Date: 2019-07-12 23:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/es.po b/muk_dbfilter/i18n/es.po deleted file mode 100644 index 0a95cc6..0000000 --- a/muk_dbfilter/i18n/es.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:19+0000\n" -"PO-Revision-Date: 2019-07-12 23:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/fr.po b/muk_dbfilter/i18n/fr.po deleted file mode 100644 index 0a95cc6..0000000 --- a/muk_dbfilter/i18n/fr.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:19+0000\n" -"PO-Revision-Date: 2019-07-12 23:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/hi.po b/muk_dbfilter/i18n/hi.po deleted file mode 100644 index c924693..0000000 --- a/muk_dbfilter/i18n/hi.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:20+0000\n" -"PO-Revision-Date: 2019-07-12 23:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/muk_dbfilter.pot b/muk_dbfilter/i18n/muk_dbfilter.pot deleted file mode 100644 index 3872ace..0000000 --- a/muk_dbfilter/i18n/muk_dbfilter.pot +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:18+0000\n" -"PO-Revision-Date: 2019-07-12 23:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/nl.po b/muk_dbfilter/i18n/nl.po deleted file mode 100644 index c924693..0000000 --- a/muk_dbfilter/i18n/nl.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:20+0000\n" -"PO-Revision-Date: 2019-07-12 23:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/pt.po b/muk_dbfilter/i18n/pt.po deleted file mode 100644 index c924693..0000000 --- a/muk_dbfilter/i18n/pt.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:20+0000\n" -"PO-Revision-Date: 2019-07-12 23:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/i18n/ru.po b/muk_dbfilter/i18n/ru.po deleted file mode 100644 index c924693..0000000 --- a/muk_dbfilter/i18n/ru.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:20+0000\n" -"PO-Revision-Date: 2019-07-12 23:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_dbfilter/patch/__init__.py b/muk_dbfilter/patch/__init__.py deleted file mode 100644 index 4e1f06f..0000000 --- a/muk_dbfilter/patch/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK DB Filter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import http \ No newline at end of file diff --git a/muk_dbfilter/patch/http.py b/muk_dbfilter/patch/http.py deleted file mode 100644 index 31f651b..0000000 --- a/muk_dbfilter/patch/http.py +++ /dev/null @@ -1,39 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK DB Filter -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import random -import re -import logging - -from odoo import http, tools -from odoo.http import request - -from odoo.addons.muk_utils.tools.patch import monkey_patch - -_logger = logging.getLogger(__name__) - -@monkey_patch(http) -def db_filter(dbs, httprequest=None): - httprequest = httprequest or request.httprequest - dbs = db_filter.super(dbs, httprequest=httprequest) - filter = httprequest.environ.get('HTTP_X_ODOO_DBFILTER') - return [db for db in dbs if re.match(filter, db)] if filter else dbs \ No newline at end of file diff --git a/muk_dbfilter/static/description/banner.png b/muk_dbfilter/static/description/banner.png deleted file mode 100644 index 534951c..0000000 Binary files a/muk_dbfilter/static/description/banner.png and /dev/null differ diff --git a/muk_dbfilter/static/description/icon.png b/muk_dbfilter/static/description/icon.png deleted file mode 100644 index 3162407..0000000 Binary files a/muk_dbfilter/static/description/icon.png and /dev/null differ diff --git a/muk_dbfilter/static/description/icon.svg b/muk_dbfilter/static/description/icon.svg deleted file mode 100644 index 49f373d..0000000 --- a/muk_dbfilter/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_dbfilter/static/description/index.html b/muk_dbfilter/static/description/index.html deleted file mode 100644 index 689124d..0000000 --- a/muk_dbfilter/static/description/index.html +++ /dev/null @@ -1,129 +0,0 @@ -
-
-

MuK DB Filter

-

Headers based Database Selection

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-

- This module allows to add additional filter criteria to the - dbfilter - function using a request header. To pass a regular expression to the - filter set the - X-Odoo-dbfilter - header field on the request and make sure that Odoo runs with an - enabled proxy mode. -

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_dbfilter/static/description/logo.png b/muk_dbfilter/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_dbfilter/static/description/logo.png and /dev/null differ diff --git a/muk_dbfilter/static/description/preview.png b/muk_dbfilter/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_dbfilter/static/description/preview.png and /dev/null differ diff --git a/muk_dbfilter/static/description/service_customization.png b/muk_dbfilter/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_dbfilter/static/description/service_customization.png and /dev/null differ diff --git a/muk_dbfilter/static/description/service_development.png b/muk_dbfilter/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_dbfilter/static/description/service_development.png and /dev/null differ diff --git a/muk_dbfilter/static/description/service_implementation.png b/muk_dbfilter/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_dbfilter/static/description/service_implementation.png and /dev/null differ diff --git a/muk_dbfilter/static/description/service_integration.png b/muk_dbfilter/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_dbfilter/static/description/service_integration.png and /dev/null differ diff --git a/muk_dbfilter/static/description/service_support.png b/muk_dbfilter/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_dbfilter/static/description/service_support.png and /dev/null differ diff --git a/muk_fields_file/LICENSE b/muk_fields_file/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_fields_file/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_fields_file/README.rst b/muk_fields_file/README.rst deleted file mode 100644 index ead918f..0000000 --- a/muk_fields_file/README.rst +++ /dev/null @@ -1,116 +0,0 @@ -=================== -MuK Filestore Field -=================== - -Provides a field to store bytes as a file in the filestore. This fields are useful -with data values too large to be manipulated conveniently as a whole and a way to -keep the database slim since it only has to save the path to the file and not the -content itself. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It adds a new field type, -which can be used in other modules. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_fields_file/__init__.py b/muk_fields_file/__init__.py deleted file mode 100644 index fca746b..0000000 --- a/muk_fields_file/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import fields -from . import models -from . import controllers - -#---------------------------------------------------------- -# Patch System on Load -#---------------------------------------------------------- - -def _patch_system(): - from . import patch \ No newline at end of file diff --git a/muk_fields_file/__manifest__.py b/muk_fields_file/__manifest__.py deleted file mode 100644 index f23157a..0000000 --- a/muk_fields_file/__manifest__.py +++ /dev/null @@ -1,52 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Filestore Field", - "summary": """Filestore Support for Fields""", - "version": '12.0.2.0.1', - "category": 'Extra Tools', - "license": "LGPL-3", - "website": "https://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "muk_utils", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "auto_install": False, - "application": False, - "installable": True, - "post_load": "_patch_system", -} diff --git a/muk_fields_file/controllers/__init__.py b/muk_fields_file/controllers/__init__.py deleted file mode 100644 index 7a46223..0000000 --- a/muk_fields_file/controllers/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import main diff --git a/muk_fields_file/controllers/main.py b/muk_fields_file/controllers/main.py deleted file mode 100644 index 0ce219b..0000000 --- a/muk_fields_file/controllers/main.py +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from werkzeug import utils -from werkzeug import wrappers - -from odoo import http -from odoo.http import request - -_logger = logging.getLogger(__name__) - -def file_content(xmlid=None, model=None, id=None, field='content', unique=False, - filename=None, filename_field='content_fname', download=False, - mimetype=None, default_mimetype='application/octet-stream', env=None): - return request.registry['ir.http'].file_content( - xmlid=xmlid, model=model, id=id, field=field, unique=unique, - filename=filename, filename_field=filename_field, download=download, - mimetype=mimetype, default_mimetype=default_mimetype, env=env) - -class FileController(http.Controller): - - @http.route([ - '/web/file', - '/web/file/', - '/web/file//', - '/web/file/', - '/web/file//', - '/web/file/-', - '/web/file/-/', - '/web/file///', - '/web/file////' - ], type='http', auth="public") - def content_file(self, xmlid=None, model=None, id=None, field='content', - filename=None, filename_field='content_fname', unique=None, - mimetype=None, download=None, data=None, token=None): - status, headers, content = file_content( - xmlid=xmlid, model=model, id=id, field=field, unique=unique, filename=filename, - filename_field=filename_field, download=download, mimetype=mimetype) - if status == 304: - response = wrappers.Response(status=status, headers=headers) - elif status == 301: - return utils.redirect(content, code=301) - elif status != 200: - response = request.not_found() - else: - headers.append(('Content-Length', content.seek(0, 2))) - content.seek(0, 0) - response = wrappers.Response(content, headers=headers, status=status, direct_passthrough=True) - if token: - response.set_cookie('fileToken', token) - return response \ No newline at end of file diff --git a/muk_fields_file/doc/changelog.rst b/muk_fields_file/doc/changelog.rst deleted file mode 100644 index 9ee2b48..0000000 --- a/muk_fields_file/doc/changelog.rst +++ /dev/null @@ -1,4 +0,0 @@ -`1.0.0` -------- - -- Init version diff --git a/muk_fields_file/doc/index.rst b/muk_fields_file/doc/index.rst deleted file mode 100644 index ead918f..0000000 --- a/muk_fields_file/doc/index.rst +++ /dev/null @@ -1,116 +0,0 @@ -=================== -MuK Filestore Field -=================== - -Provides a field to store bytes as a file in the filestore. This fields are useful -with data values too large to be manipulated conveniently as a whole and a way to -keep the database slim since it only has to save the path to the file and not the -content itself. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It adds a new field type, -which can be used in other modules. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_fields_file/fields/__init__.py b/muk_fields_file/fields/__init__.py deleted file mode 100644 index ccdd86e..0000000 --- a/muk_fields_file/fields/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import file diff --git a/muk_fields_file/fields/file.py b/muk_fields_file/fields/file.py deleted file mode 100644 index 3aff8c6..0000000 --- a/muk_fields_file/fields/file.py +++ /dev/null @@ -1,199 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import re -import shutil -import base64 -import hashlib -import logging -import binascii -import tempfile - -from collections import defaultdict - -from odoo import fields, tools -from odoo.tools import human_size, config - -from odoo.addons.muk_utils.tools.file import ensure_path_directories - -_logger = logging.getLogger(__name__) - -def get_store_path(dbname): - return os.path.join(config.get('data_dir'), 'files', dbname) - -def clean_store(dbname, env): - tables = defaultdict(set) - for model_name in env.registry.models: - model = env[model_name] - if not model._abstract: - for name, field in model._fields.items(): - if field.type == 'file': - tables[model._table].add(name) - checklist = set() - filestore = get_store_path(dbname) - path = os.path.join(filestore, 'checklist') - for root, dirs, files in os.walk(path): - for file in files: - checkpath = os.path.join(root, file) - relpath = os.path.relpath(checkpath, path) - checklist.add(os.path.join(filestore, relpath)) - env.cr.commit() - whitelist = set() - for table, fields in tables.items(): - select_fields = list(fields) - env.cr.execute("LOCK %s IN SHARE MODE" % table) - select_query = "SELECT {0}".format(', '.join(select_fields)) - where_query = "WHERE {0} IN %(paths)s".format(select_fields[0]) - if len(select_fields) > 1: - for field in select_fields[:1]: - where_query += "OR {0} IN %s".format(field) - sql_query = "{0} FROM {1} {2};".format(select_query, table, where_query) - for paths in env.cr.split_for_in_conditions(checklist): - env.cr.execute(sql_query, {'paths': paths}) - for row in env.cr.fetchall(): - for column in row: - whitelist.add(column) - remove = checklist - whitelist - for file in remove: - try: - os.unlink(file) - except (OSError, IOError): - _logger.warn("Deleting file from %s failed!", file, exc_info=True) - with tools.ignore(OSError): - shutil.rmtree(path) - env.cr.commit() - _logger.info("Cleaned files [ %d checked | %d removed ]", len(checklist), len(remove)) - -class File(fields.Field): - - type = 'file' - column_type = ('varchar', 'varchar') - _slots = { - 'prefetch': False, - 'context_dependent': True, - } - - def _get_file_path(self, checksume, dbname): - name = os.path.join(checksume[:2], checksume) - name = re.sub('[.]', '', name).strip('/\\') - filestore = get_store_path(dbname) - path = os.path.join(filestore, name) - ensure_path_directories(path) - return path - - def _add_to_checklist(self, path, dbname): - filestore = get_store_path(dbname) - relpath = os.path.relpath(path, filestore) - checklist = os.path.join(filestore, 'checklist', relpath) - if not os.path.exists(checklist): - ensure_path_directories(checklist) - open(checklist, 'ab').close() - - def _get_checksum(self, value): - if isinstance(value, bytes): - return hashlib.sha1(value).hexdigest() - else: - checksum = hashlib.sha1() - while True: - chunk = value.read(4096) - if not chunk: - return checksum.hexdigest() - checksum.update(chunk) - - def convert_to_column(self, value, record, values=None, validate=True): - path = None - try: - current_path = record.with_context({'path': True})[self.name] - if current_path: - self._add_to_checklist(current_path, record.env.cr.dbname) - if not value: - return None - binary = None - if isinstance(value, bytes): - binary = value - elif isinstance(value, str): - binary = base64.b64decode(value) - if binary: - checksume = self._get_checksum(binary) - path = self._get_file_path(checksume, record.env.cr.dbname) - with open(path, 'wb') as file: - file.write(binary) - self._add_to_checklist(path, record.env.cr.dbname) - else: - checksume = self._get_checksum(value) - path = self._get_file_path(checksume, record.env.cr.dbname) - value.seek(0, 0) - with open(path, 'wb') as file: - while True: - chunk = value.read(4096) - if not chunk: - break - file.write(chunk) - self._add_to_checklist(path) - except (IOError, OSError): - _logger.warn("Writing file to %s failed!", path, exc_info=True) - return path - - def convert_to_record(self, value, record): - if value and isinstance(value, str) and os.path.exists(value): - try: - with open(value, 'rb') as file: - if record._context.get('human_size'): - return human_size(file.seek(0, 2)) - elif record._context.get('bin_size'): - return file.seek(0, 2) - elif record._context.get('path'): - return value - elif record._context.get('base64'): - return base64.b64encode(file.read()) - elif record._context.get('stream'): - temp = tempfile.TemporaryFile() - while True: - chunk = file.read(4096) - if not chunk: - temp.seek(0) - return temp - temp.write(chunk) - elif record._context.get('checksum'): - checksum = hashlib.sha1() - while True: - chunk = file.read(4096) - if not chunk: - return checksum.hexdigest() - checksum.update(chunk) - else: - return file.read() - except (IOError, OSError): - _logger.warn("Reading file from %s failed!", value, exc_info=True) - return value - - def convert_to_export(self, value, record): - if value: - try: - with open(value, 'rb') as file: - if record._context.get('export_raw_data'): - return file.read() - return base64.b64encode(file.read()) - except (IOError, OSError): - _logger.warn("Reading file from %s failed!", value, exc_info=True) - return '' \ No newline at end of file diff --git a/muk_fields_file/i18n/ar.po b/muk_fields_file/i18n/ar.po deleted file mode 100644 index 5cce75a..0000000 --- a/muk_fields_file/i18n/ar.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:48+0000\n" -"PO-Revision-Date: 2019-07-12 23:48+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "تفريغ تلقائي" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "الأساس" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "نوع الحقل" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "الحقول" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "مسار HTTP" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "بيانات ثنائية" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "قيمة منطقية" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "محارف" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "تاريخ" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "التاريخ والوقت" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "فاصلة عائمة" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "عدد صحيح" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "علاقة متعدد لمتعدد" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "علاقة متعدد لواحد" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "قيمة نقدية" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "علاقة واحد لمتعدد" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "المرجع" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "قائمة خيارات" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "نص" - diff --git a/muk_fields_file/i18n/de.po b/muk_fields_file/i18n/de.po deleted file mode 100644 index fb4bc22..0000000 --- a/muk_fields_file/i18n/de.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:49+0000\n" -"PO-Revision-Date: 2019-07-12 23:49+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "Automatisch aufräumen" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Typfeld-Text" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Felder" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "Binär" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "Boolean" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "Zeichen" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "Datum" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "Datum/Zeit" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "Datei" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "Gleitkommazahl" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "HTML" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "Ganzzahl" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "Many2many" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "Many2One" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monetär" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "One2many" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "Referenz" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "Auswahl" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "Text" - diff --git a/muk_fields_file/i18n/es.po b/muk_fields_file/i18n/es.po deleted file mode 100644 index 9aa7846..0000000 --- a/muk_fields_file/i18n/es.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:49+0000\n" -"PO-Revision-Date: 2019-07-12 23:49+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Tipo de campo" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Campos" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binario" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "booleano" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "Carácter" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "fecha" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "Fecha y hora" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "número flotante" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "entero" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "Monetario" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "Referencia" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "Selección" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "texto" - diff --git a/muk_fields_file/i18n/fr.po b/muk_fields_file/i18n/fr.po deleted file mode 100644 index 9af3c6b..0000000 --- a/muk_fields_file/i18n/fr.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:49+0000\n" -"PO-Revision-Date: 2019-07-12 23:49+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Type de Champ" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Champs" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "Routage HTTP" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binaire" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "booléen" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "caractère" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "date/heure" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "flottant" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monétaire" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "référence" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "sélection" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "texte" - diff --git a/muk_fields_file/i18n/hi.po b/muk_fields_file/i18n/hi.po deleted file mode 100644 index 10ede06..0000000 --- a/muk_fields_file/i18n/hi.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:49+0000\n" -"PO-Revision-Date: 2019-07-12 23:49+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_file/i18n/muk_fields_file.pot b/muk_fields_file/i18n/muk_fields_file.pot deleted file mode 100644 index 9f251fe..0000000 --- a/muk_fields_file/i18n/muk_fields_file.pot +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:48+0000\n" -"PO-Revision-Date: 2019-07-12 23:48+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_file/i18n/nl.po b/muk_fields_file/i18n/nl.po deleted file mode 100644 index 30dc112..0000000 --- a/muk_fields_file/i18n/nl.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:50+0000\n" -"PO-Revision-Date: 2019-07-12 23:50+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "Automatisch vacuum" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Soort veld" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Velden" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "HTTP routing" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binair" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "datum" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monetair" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "referentie" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "selectie" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "tekst" - diff --git a/muk_fields_file/i18n/pt.po b/muk_fields_file/i18n/pt.po deleted file mode 100644 index 2004826..0000000 --- a/muk_fields_file/i18n/pt.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:50+0000\n" -"PO-Revision-Date: 2019-07-12 23:50+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Tipo de Campo" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Campos" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "Rota HTTP" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "Texto" - diff --git a/muk_fields_file/i18n/ru.po b/muk_fields_file/i18n/ru.po deleted file mode 100644 index ed63ad4..0000000 --- a/muk_fields_file/i18n/ru.po +++ /dev/null @@ -1,122 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_file -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:50+0000\n" -"PO-Revision-Date: 2019-07-12 23:50+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_autovacuum -msgid "Automatic Vacuum" -msgstr "" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_base -msgid "Base" -msgstr "Базовый" - -#. module: muk_fields_file -#: model:ir.model.fields,field_description:muk_fields_file.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Тип поля" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_model_fields -msgid "Fields" -msgstr "Поля" - -#. module: muk_fields_file -#: model:ir.model,name:muk_fields_file.model_ir_http -msgid "HTTP Routing" -msgstr "Маршрутизация HTTP" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "file" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_file -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_file/models/__init__.py b/muk_fields_file/models/__init__.py deleted file mode 100644 index 9575e40..0000000 --- a/muk_fields_file/models/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import base -from . import ir_http -from . import ir_autovacuum -from . import ir_model_fields diff --git a/muk_fields_file/models/base.py b/muk_fields_file/models/base.py deleted file mode 100644 index 2ef8c4e..0000000 --- a/muk_fields_file/models/base.py +++ /dev/null @@ -1,42 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, models, fields - -_logger = logging.getLogger(__name__) - -class Base(models.AbstractModel): - - _inherit = 'base' - - @api.multi - def unlink(self): - for name in self._fields: - field = self._fields[name] - if field.type == 'file' and field.store: - for record in self: - path = record.with_context({'path': True})[name] - if path: - field._add_to_checklist(path, self.env.cr.dbname) - super(Base, self).unlink() \ No newline at end of file diff --git a/muk_fields_file/models/ir_autovacuum.py b/muk_fields_file/models/ir_autovacuum.py deleted file mode 100644 index c1e0559..0000000 --- a/muk_fields_file/models/ir_autovacuum.py +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import time -import logging -import datetime -import dateutil - -from odoo import _ -from odoo import models, api, fields -from odoo.tools.safe_eval import safe_eval - -from odoo.addons.muk_fields_file.fields import file - -_logger = logging.getLogger(__name__) - -class AutoVacuum(models.AbstractModel): - - _inherit = 'ir.autovacuum' - - @api.model - def power_on(self, *args, **kwargs): - res = super(AutoVacuum, self).power_on(*args, **kwargs) - file.clean_store(self.env.cr.dbname, self.env) - return res \ No newline at end of file diff --git a/muk_fields_file/models/ir_http.py b/muk_fields_file/models/ir_http.py deleted file mode 100644 index 3cdf8f5..0000000 --- a/muk_fields_file/models/ir_http.py +++ /dev/null @@ -1,92 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import io -import logging -import mimetypes - -from odoo import models -from odoo.http import request, STATIC_CACHE -from odoo.exceptions import AccessError - -_logger = logging.getLogger(__name__) - -class FileIrHttp(models.AbstractModel): - - _inherit = 'ir.http' - - @classmethod - def file_content(cls, xmlid=None, model=None, id=None, field='content', unique=False, - filename=None, filename_field='content_fname', download=False, - mimetype=None, default_mimetype='application/octet-stream', env=None): - """ Get file, attachment or downloadable content - - If the xmlid and id parameter is omitted, fetches the default value for the - binary field (via the default_get method), otherwise fetches the field for - that precise record. - - :param str xmlid: xmlid of the record - :param str model: name of the model to fetch the binary from - :param int id: id of the record from which to fetch the binary - :param str field: binary field - :param bool unique: add a max-age for the cache control - :param str filename: choose a filename - :param str filename_field: if not create an filename with model-id-field - :param bool download: apply headers to download the file - :param str mimetype: mintype of the field (for headers) - :param str default_mimetype: default mintype if no mintype found - :param Environment env: by default use request.env - :returns: (status, headers, content) - """ - obj = None - env = env or request.env - if xmlid: - obj = cls._xmlid_to_obj(env, xmlid) - elif id and model in env.registry: - obj = env[model].browse(int(id)) - if not obj or not obj.exists() or field not in obj: - return (404, [], None) - try: - last_update = obj['__last_update'] - except AccessError: - return (403, [], None) - status, headers, content = None, [], None - content = obj.with_context({'stream': True})[field] or io.BytesIO() - if not filename: - if filename_field in obj: - filename = obj[filename_field] - else: - filename = "%s-%s-%s" % (obj._name, obj.id, field) - mimetype = 'mimetype' in obj and obj.mimetype or False - if not mimetype and filename: - mimetype = mimetypes.guess_type(filename)[0] - if not mimetype: - mimetype = default_mimetype - headers += [('Content-Type', mimetype), ('X-Content-Type-Options', 'nosniff')] - etag = bool(request) and request.httprequest.headers.get('If-None-Match') - retag = '"%s"' % obj.with_context({'checksum': True})[field] if content else "" - status = status or (304 if etag == retag else 200) - headers.append(('ETag', retag)) - headers.append(('Cache-Control', 'max-age=%s' % (STATIC_CACHE if unique else 0))) - if download: - headers.append(('Content-Disposition', cls.content_disposition(filename))) - return (status, headers, content) \ No newline at end of file diff --git a/muk_fields_file/models/ir_model_fields.py b/muk_fields_file/models/ir_model_fields.py deleted file mode 100644 index 5555b94..0000000 --- a/muk_fields_file/models/ir_model_fields.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import _, api, models, fields -from odoo.exceptions import ValidationError - -class IrModelField(models.Model): - - _inherit = 'ir.model.fields' - - ttype = fields.Selection(selection_add=[('file', 'file')]) \ No newline at end of file diff --git a/muk_fields_file/patch/__init__.py b/muk_fields_file/patch/__init__.py deleted file mode 100644 index 5905e22..0000000 --- a/muk_fields_file/patch/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import fields -from . import service_db \ No newline at end of file diff --git a/muk_fields_file/patch/fields.py b/muk_fields_file/patch/fields.py deleted file mode 100644 index c8dab6f..0000000 --- a/muk_fields_file/patch/fields.py +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import fields - -from odoo.addons.muk_fields_file.fields.file import File - -fields.File = File \ No newline at end of file diff --git a/muk_fields_file/patch/service_db.py b/muk_fields_file/patch/service_db.py deleted file mode 100644 index 620d0de..0000000 --- a/muk_fields_file/patch/service_db.py +++ /dev/null @@ -1,104 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import json -import uuid -import logging -import shutil -import zipfile -import tempfile - -from contextlib import closing - -from odoo import _, modules, api, sql_db, SUPERUSER_ID -from odoo.tools import osutil, config, exec_pg_command -from odoo.service import db - -from odoo.addons.muk_utils.tools import patch -from odoo.addons.muk_fields_file.fields import file - -_logger = logging.getLogger(__name__) - -@patch.monkey_patch(db) -@db.check_db_management_enabled -def exp_duplicate_database(db_original_name, db_name): - res = exp_duplicate_database.super(db_original_name, db_name) - from_files = file.get_store_path(db_original_name) - to_files = file.get_store_path(db_name) - if os.path.exists(from_files) and not os.path.exists(to_files): - shutil.copytree(from_files, to_files) - return res - -@patch.monkey_patch(db) -@db.check_db_management_enabled -def exp_drop(db_name): - res = exp_drop.super(db_name) - files = file.get_store_path(db_name) - if os.path.exists(files): - shutil.rmtree(files) - return res - -@patch.monkey_patch(db) -@db.check_db_management_enabled -def dump_db(db_name, stream, backup_format='zip'): - if backup_format == 'zip': - res = dump_db.super(db_name, False, backup_format) - with osutil.tempdir() as dump_dir: - with zipfile.ZipFile(res, 'r') as zip: - zip.extractall(dump_dir) - files = file.get_store_path(db_name) - if os.path.exists(files): - shutil.copytree(files, os.path.join(dump_dir, 'files')) - if stream: - osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') - else: - t=tempfile.TemporaryFile() - osutil.zip_dir(dump_dir, t, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') - t.seek(0) - return t - else: - return dump_db.super(db_name, stream, backup_format) - -@patch.monkey_patch(db) -@db.check_db_management_enabled -def restore_db(db, dump_file, copy=False): - res = restore_db.super(db, dump_file, copy) - with osutil.tempdir() as dump_dir: - if zipfile.is_zipfile(dump_file): - with zipfile.ZipFile(dump_file, 'r') as zip: - files = [m for m in zip.namelist() if m.startswith('files/')] - if files: - z.extractall(dump_dir, files) - files_path = os.path.join(dump_dir, 'files') - shutil.move(files_path, file.get_store_path(db_name)) - return res - -@patch.monkey_patch(db) -@db.check_db_management_enabled -def exp_rename(old_name, new_name): - res = exp_rename.super(old_name, new_name) - from_files = file.get_store_path(old_name) - to_files = file.get_store_path(new_name) - if os.path.exists(from_files) and not os.path.exists(to_files): - shutil.copytree(from_files, to_files) - return res diff --git a/muk_fields_file/static/description/banner.png b/muk_fields_file/static/description/banner.png deleted file mode 100644 index 5a691ec..0000000 Binary files a/muk_fields_file/static/description/banner.png and /dev/null differ diff --git a/muk_fields_file/static/description/icon.png b/muk_fields_file/static/description/icon.png deleted file mode 100644 index 8a4f3ff..0000000 Binary files a/muk_fields_file/static/description/icon.png and /dev/null differ diff --git a/muk_fields_file/static/description/icon.svg b/muk_fields_file/static/description/icon.svg deleted file mode 100644 index ba8e572..0000000 --- a/muk_fields_file/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_fields_file/static/description/index.html b/muk_fields_file/static/description/index.html deleted file mode 100644 index 9c0c0ed..0000000 --- a/muk_fields_file/static/description/index.html +++ /dev/null @@ -1,146 +0,0 @@ -
-
-

MuK Filestore Fields

-

Filestore Support for Fields

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-
-

Provides a field to store bytes as a file in the filestore. - This fields are useful with data values too large to be manipulated - conveniently as a whole and a way to keep the database slim since - it only has to save the path to the file and not the content - itself.

-
-
-		    	
-from odoo.addons.muk_fields_file.fields.file import File
-
-class FileModel(models.Model):
-
-    data_content = File(string="Data")
-
-    @api.multi
-    def data(self):
-        for record in self:
-            bytes = record.data_content
-            oid = record.with_context({'path': True}).data_content
-            size = record.with_context({'bin_size': True}).data_content
-            base64 = record.with_context({'base64': True}).data_content
-            stream = record.with_context({'stream': True}).data_content
-		    	
-			
-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_fields_file/static/description/logo.png b/muk_fields_file/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_fields_file/static/description/logo.png and /dev/null differ diff --git a/muk_fields_file/static/description/preview.png b/muk_fields_file/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_fields_file/static/description/preview.png and /dev/null differ diff --git a/muk_fields_file/static/description/service_customization.png b/muk_fields_file/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_fields_file/static/description/service_customization.png and /dev/null differ diff --git a/muk_fields_file/static/description/service_development.png b/muk_fields_file/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_fields_file/static/description/service_development.png and /dev/null differ diff --git a/muk_fields_file/static/description/service_implementation.png b/muk_fields_file/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_fields_file/static/description/service_implementation.png and /dev/null differ diff --git a/muk_fields_file/static/description/service_integration.png b/muk_fields_file/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_fields_file/static/description/service_integration.png and /dev/null differ diff --git a/muk_fields_file/static/description/service_support.png b/muk_fields_file/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_fields_file/static/description/service_support.png and /dev/null differ diff --git a/muk_fields_file/tests/__init__.py b/muk_fields_file/tests/__init__.py deleted file mode 100644 index af93d82..0000000 --- a/muk_fields_file/tests/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_file diff --git a/muk_fields_file/tests/test_file.py b/muk_fields_file/tests/test_file.py deleted file mode 100644 index d6934b7..0000000 --- a/muk_fields_file/tests/test_file.py +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Filestore Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import logging - -from odoo.tests import common - -from odoo.addons.muk_fields_file.fields.file import File - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class FileTestCase(common.TransactionCase): - - def setUp(self): - super(FileTestCase, self).setUp() - - def tearDown(self): - super(FileTestCase, self).tearDown() - - def test_import(self): - self.assertEqual(File.type, "file") - \ No newline at end of file diff --git a/muk_fields_lobject/LICENSE b/muk_fields_lobject/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_fields_lobject/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_fields_lobject/README.rst b/muk_fields_lobject/README.rst deleted file mode 100644 index f1b5954..0000000 --- a/muk_fields_lobject/README.rst +++ /dev/null @@ -1,134 +0,0 @@ -======================= -MuK Large Objects Field -======================= - -PostgreSQL offers support for large objects, which provide stream-style access -to user data that is stored in a special large-object structure. They are useful -with data values too large to be manipulated conveniently as a whole. - -Psycopg allows access to the large object using the `lobject` class. Objects are -generated using the `connection.lobject()` factory method. Data can be retrieved -either as bytes or as Unicode strings. - -Psycopg large object support efficient import/export with file system files using -the `lo_import()` and `lo_export()` libpq functions. - -Changed in version 2.6: added support for large objects greated than 2GB. Note -that the support is enabled only if all the following conditions are verified: - -* the Python build is 64 bits; -* the extension was built against at least libpq 9.3; -* the server version is at least PostgreSQL 9.3 (server_version must be >= 90300). - -If Psycopg was built with 64 bits large objects support (i.e. the first two -contidions above are verified), the `psycopg2.__version__` constant will contain -the lo64 flag. If any of the contition is not met several lobject methods will -fail if the arguments exceed 2GB. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It adds a new field type, -which can be used in other modules. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_fields_lobject/__init__.py b/muk_fields_lobject/__init__.py deleted file mode 100644 index d4167f5..0000000 --- a/muk_fields_lobject/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import fields -from . import models -from . import controllers - -#---------------------------------------------------------- -# Patch System on Load -#---------------------------------------------------------- - -def _patch_system(): - from . import patch \ No newline at end of file diff --git a/muk_fields_lobject/__manifest__.py b/muk_fields_lobject/__manifest__.py deleted file mode 100644 index 5f6a2b7..0000000 --- a/muk_fields_lobject/__manifest__.py +++ /dev/null @@ -1,52 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Large Objects Field", - "summary": """PGSQL Large Objects Support for Fields""", - "version": '12.0.3.0.1', - "category": 'Extra Tools', - "license": "LGPL-3", - "website": "https://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "muk_utils", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "auto_install": False, - "application": False, - "installable": True, - "post_load": "_patch_system", -} diff --git a/muk_fields_lobject/controllers/__init__.py b/muk_fields_lobject/controllers/__init__.py deleted file mode 100644 index 3376c47..0000000 --- a/muk_fields_lobject/controllers/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import main diff --git a/muk_fields_lobject/controllers/main.py b/muk_fields_lobject/controllers/main.py deleted file mode 100644 index d23e8c6..0000000 --- a/muk_fields_lobject/controllers/main.py +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from werkzeug import utils -from werkzeug import wrappers - -from odoo import http -from odoo.http import request - -_logger = logging.getLogger(__name__) - -def lobject_content(xmlid=None, model=None, id=None, field='content', unique=False, - filename=None, filename_field='content_fname', download=False, - mimetype=None, default_mimetype='application/octet-stream', env=None): - return request.registry['ir.http'].lobject_content( - xmlid=xmlid, model=model, id=id, field=field, unique=unique, - filename=filename, filename_field=filename_field, download=download, - mimetype=mimetype, default_mimetype=default_mimetype, env=env) - -class LargeObjectController(http.Controller): - - @http.route([ - '/web/lobject', - '/web/lobject/', - '/web/lobject//', - '/web/lobject/', - '/web/lobject//', - '/web/lobject/-', - '/web/lobject/-/', - '/web/lobject///', - '/web/lobject////' - ], type='http', auth="public") - def content_lobject(self, xmlid=None, model=None, id=None, field='content', - filename=None, filename_field='content_fname', unique=None, - mimetype=None, download=None, data=None, token=None): - status, headers, content = lobject_content( - xmlid=xmlid, model=model, id=id, field=field, unique=unique, filename=filename, - filename_field=filename_field, download=download, mimetype=mimetype) - if status == 304: - response = wrappers.Response(status=status, headers=headers) - elif status == 301: - return utils.redirect(content, code=301) - elif status != 200: - response = request.not_found() - else: - headers.append(('Content-Length', content.seek(0, 2))) - content.seek(0, 0) - response = wrappers.Response(content, headers=headers, status=status, direct_passthrough=True) - if token: - response.set_cookie('fileToken', token) - return response \ No newline at end of file diff --git a/muk_fields_lobject/doc/changelog.rst b/muk_fields_lobject/doc/changelog.rst deleted file mode 100644 index 8466ee4..0000000 --- a/muk_fields_lobject/doc/changelog.rst +++ /dev/null @@ -1,22 +0,0 @@ -`2.2.0` -------- - -- Monkey Patch Methods - -`2.1.0` -------- - -- Added XML View Support - -`2.0.0` -------- - -- Migrated to Python 3 -- Can handle Base64 input -- Can return value as Base64 -- Can return value as Checksum - -`1.0.0` -------- - -- Init version diff --git a/muk_fields_lobject/doc/index.rst b/muk_fields_lobject/doc/index.rst deleted file mode 100644 index f1b5954..0000000 --- a/muk_fields_lobject/doc/index.rst +++ /dev/null @@ -1,134 +0,0 @@ -======================= -MuK Large Objects Field -======================= - -PostgreSQL offers support for large objects, which provide stream-style access -to user data that is stored in a special large-object structure. They are useful -with data values too large to be manipulated conveniently as a whole. - -Psycopg allows access to the large object using the `lobject` class. Objects are -generated using the `connection.lobject()` factory method. Data can be retrieved -either as bytes or as Unicode strings. - -Psycopg large object support efficient import/export with file system files using -the `lo_import()` and `lo_export()` libpq functions. - -Changed in version 2.6: added support for large objects greated than 2GB. Note -that the support is enabled only if all the following conditions are verified: - -* the Python build is 64 bits; -* the extension was built against at least libpq 9.3; -* the server version is at least PostgreSQL 9.3 (server_version must be >= 90300). - -If Psycopg was built with 64 bits large objects support (i.e. the first two -contidions above are verified), the `psycopg2.__version__` constant will contain -the lo64 flag. If any of the contition is not met several lobject methods will -fail if the arguments exceed 2GB. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It adds a new field type, -which can be used in other modules. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_fields_lobject/fields/__init__.py b/muk_fields_lobject/fields/__init__.py deleted file mode 100644 index 6897a33..0000000 --- a/muk_fields_lobject/fields/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import lobject diff --git a/muk_fields_lobject/fields/lobject.py b/muk_fields_lobject/fields/lobject.py deleted file mode 100644 index 6103990..0000000 --- a/muk_fields_lobject/fields/lobject.py +++ /dev/null @@ -1,98 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import base64 -import hashlib -import logging -import binascii -import tempfile - -from odoo import fields -from odoo.tools import human_size - -_logger = logging.getLogger(__name__) - -class LargeObject(fields.Field): - - type = 'lobject' - column_type = ('oid', 'oid') - _slots = { - 'prefetch': False, - 'context_dependent': True, - } - - def convert_to_column(self, value, record, values=None, validate=True): - oid = record.with_context({'oid': True})[self.name] - if oid: - record.env.cr._cnx.lobject(oid, 'rb').unlink() - if not value: - return None - lobject = record.env.cr._cnx.lobject(0, 'wb') - if isinstance(value, bytes): - lobject.write(value) - elif isinstance(value, str): - lobject.write(base64.b64decode(value)) - else: - while True: - chunk = value.read(4096) - if not chunk: - break - lobject.write(chunk) - return lobject.oid - - def convert_to_record(self, value, record): - if value and isinstance(value, int): - lobject = record.env.cr._cnx.lobject(value, 'rb') - if record._context.get('human_size'): - return human_size(lobject.seek(0, 2)) - elif record._context.get('bin_size'): - return lobject.seek(0, 2) - elif record._context.get('oid'): - return lobject.oid - elif record._context.get('base64'): - return base64.b64encode(lobject.read()) - elif record._context.get('stream'): - file = tempfile.TemporaryFile() - while True: - chunk = lobject.read(4096) - if not chunk: - file.seek(0) - return file - file.write(chunk) - elif record._context.get('checksum'): - checksum = hashlib.sha1() - while True: - chunk = lobject.read(4096) - if not chunk: - return checksum.hexdigest() - checksum.update(chunk) - else: - return lobject.read() - return value - - def convert_to_export(self, value, record): - if value: - lobject = record.env.cr._cnx.lobject(value, 'rb') - if record._context.get('export_raw_data'): - return lobject.read() - return base64.b64encode(lobject.read()) - return '' \ No newline at end of file diff --git a/muk_fields_lobject/i18n/ar.po b/muk_fields_lobject/i18n/ar.po deleted file mode 100644 index 1835803..0000000 --- a/muk_fields_lobject/i18n/ar.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:18+0000\n" -"PO-Revision-Date: 2019-07-13 00:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "الأساس" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "نوع الحقل" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "الحقول" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "مسار HTTP" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "بيانات ثنائية" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "قيمة منطقية" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "محارف" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "تاريخ" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "التاريخ والوقت" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "فاصلة عائمة" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "عدد صحيح" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "علاقة متعدد لمتعدد" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "علاقة متعدد لواحد" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "قيمة نقدية" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "علاقة واحد لمتعدد" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "المرجع" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "قائمة خيارات" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "نص" - diff --git a/muk_fields_lobject/i18n/de.po b/muk_fields_lobject/i18n/de.po deleted file mode 100644 index 1f779ef..0000000 --- a/muk_fields_lobject/i18n/de.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:18+0000\n" -"PO-Revision-Date: 2019-07-13 00:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Typfeld-Text" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Felder" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "Binär" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "Boolean" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "Zeichen" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "Datum" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "Datum/Zeit" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "Gleitkommazahl" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "HTML" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "Ganzzahl" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "Many2many" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "Many2One" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monetär" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "One2many" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "Referenz" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "Auswahl" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "Text" - diff --git a/muk_fields_lobject/i18n/es.po b/muk_fields_lobject/i18n/es.po deleted file mode 100644 index 38399a3..0000000 --- a/muk_fields_lobject/i18n/es.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:18+0000\n" -"PO-Revision-Date: 2019-07-13 00:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Tipo de campo" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Campos" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binario" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "booleano" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "Carácter" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "fecha" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "Fecha y hora" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "número flotante" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "entero" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "Monetario" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "Referencia" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "Selección" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "texto" - diff --git a/muk_fields_lobject/i18n/fr.po b/muk_fields_lobject/i18n/fr.po deleted file mode 100644 index 9daa86d..0000000 --- a/muk_fields_lobject/i18n/fr.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:19+0000\n" -"PO-Revision-Date: 2019-07-13 00:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Type de Champ" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Champs" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "Routage HTTP" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binaire" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "booléen" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "caractère" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "date/heure" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "flottant" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monétaire" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "référence" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "sélection" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "texte" - diff --git a/muk_fields_lobject/i18n/hi.po b/muk_fields_lobject/i18n/hi.po deleted file mode 100644 index e605f30..0000000 --- a/muk_fields_lobject/i18n/hi.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:19+0000\n" -"PO-Revision-Date: 2019-07-13 00:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_lobject/i18n/muk_fields_lobject.pot b/muk_fields_lobject/i18n/muk_fields_lobject.pot deleted file mode 100644 index b1d3fe2..0000000 --- a/muk_fields_lobject/i18n/muk_fields_lobject.pot +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:18+0000\n" -"PO-Revision-Date: 2019-07-13 00:18+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_lobject/i18n/nl.po b/muk_fields_lobject/i18n/nl.po deleted file mode 100644 index 7b5231b..0000000 --- a/muk_fields_lobject/i18n/nl.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:19+0000\n" -"PO-Revision-Date: 2019-07-13 00:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Soort veld" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Velden" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "HTTP routing" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "binair" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "datum" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "monetair" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "referentie" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "selectie" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "tekst" - diff --git a/muk_fields_lobject/i18n/pt.po b/muk_fields_lobject/i18n/pt.po deleted file mode 100644 index c1e0f41..0000000 --- a/muk_fields_lobject/i18n/pt.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:19+0000\n" -"PO-Revision-Date: 2019-07-13 00:19+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Tipo de Campo" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Campos" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "Rota HTTP" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "Texto" - diff --git a/muk_fields_lobject/i18n/ru.po b/muk_fields_lobject/i18n/ru.po deleted file mode 100644 index 43a62ab..0000000 --- a/muk_fields_lobject/i18n/ru.po +++ /dev/null @@ -1,117 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_fields_lobject -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 00:20+0000\n" -"PO-Revision-Date: 2019-07-13 00:20+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_base -msgid "Base" -msgstr "Базовый" - -#. module: muk_fields_lobject -#: model:ir.model.fields,field_description:muk_fields_lobject.field_ir_model_fields__ttype -msgid "Field Type" -msgstr "Тип поля" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_model_fields -msgid "Fields" -msgstr "Поля" - -#. module: muk_fields_lobject -#: model:ir.model,name:muk_fields_lobject.model_ir_http -msgid "HTTP Routing" -msgstr "Маршрутизация HTTP" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "binary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "boolean" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "char" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "date" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "datetime" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "float" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "html" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "integer" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "lobject" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "many2one" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "monetary" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "one2many" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "reference" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "selection" -msgstr "" - -#. module: muk_fields_lobject -#: selection:ir.model.fields,ttype:0 -msgid "text" -msgstr "" - diff --git a/muk_fields_lobject/models/__init__.py b/muk_fields_lobject/models/__init__.py deleted file mode 100644 index 09c4a39..0000000 --- a/muk_fields_lobject/models/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import base -from . import ir_http -from . import ir_model_fields diff --git a/muk_fields_lobject/models/base.py b/muk_fields_lobject/models/base.py deleted file mode 100644 index 1000314..0000000 --- a/muk_fields_lobject/models/base.py +++ /dev/null @@ -1,45 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, models, fields - -_logger = logging.getLogger(__name__) - -class Base(models.AbstractModel): - - _inherit = 'base' - - @api.multi - def unlink(self): - oids = [] - for name in self._fields: - field = self._fields[name] - if field.type == 'lobject' and field.store: - for record in self: - oid = record.with_context({'oid': True})[name] - if oid: - oids.append(oid) - super(Base, self).unlink() - for oid in oids: - self.env.cr._cnx.lobject(oid, 'rb').unlink() \ No newline at end of file diff --git a/muk_fields_lobject/models/ir_http.py b/muk_fields_lobject/models/ir_http.py deleted file mode 100644 index a28ddad..0000000 --- a/muk_fields_lobject/models/ir_http.py +++ /dev/null @@ -1,92 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import io -import logging -import mimetypes - -from odoo import models -from odoo.http import request, STATIC_CACHE -from odoo.exceptions import AccessError - -_logger = logging.getLogger(__name__) - -class LargeObjectIrHttp(models.AbstractModel): - - _inherit = 'ir.http' - - @classmethod - def lobject_content(cls, xmlid=None, model=None, id=None, field='content', unique=False, - filename=None, filename_field='content_fname', download=False, - mimetype=None, default_mimetype='application/octet-stream', env=None): - """ Get file, attachment or downloadable content - - If the xmlid and id parameter is omitted, fetches the default value for the - binary field (via the default_get method), otherwise fetches the field for - that precise record. - - :param str xmlid: xmlid of the record - :param str model: name of the model to fetch the binary from - :param int id: id of the record from which to fetch the binary - :param str field: binary field - :param bool unique: add a max-age for the cache control - :param str filename: choose a filename - :param str filename_field: if not create an filename with model-id-field - :param bool download: apply headers to download the file - :param str mimetype: mintype of the field (for headers) - :param str default_mimetype: default mintype if no mintype found - :param Environment env: by default use request.env - :returns: (status, headers, content) - """ - obj = None - env = env or request.env - if xmlid: - obj = cls._xmlid_to_obj(env, xmlid) - elif id and model in env.registry: - obj = env[model].browse(int(id)) - if not obj or not obj.exists() or field not in obj: - return (404, [], None) - try: - last_update = obj['__last_update'] - except AccessError: - return (403, [], None) - status, headers, content = None, [], None - content = obj.with_context({'stream': True})[field] or io.BytesIO() - if not filename: - if filename_field in obj: - filename = obj[filename_field] - else: - filename = "%s-%s-%s" % (obj._name, obj.id, field) - mimetype = 'mimetype' in obj and obj.mimetype or False - if not mimetype and filename: - mimetype = mimetypes.guess_type(filename)[0] - if not mimetype: - mimetype = default_mimetype - headers += [('Content-Type', mimetype), ('X-Content-Type-Options', 'nosniff')] - etag = bool(request) and request.httprequest.headers.get('If-None-Match') - retag = '"%s"' % obj.with_context({'checksum': True})[field] if content else "" - status = status or (304 if etag == retag else 200) - headers.append(('ETag', retag)) - headers.append(('Cache-Control', 'max-age=%s' % (STATIC_CACHE if unique else 0))) - if download: - headers.append(('Content-Disposition', cls.content_disposition(filename))) - return (status, headers, content) \ No newline at end of file diff --git a/muk_fields_lobject/models/ir_model_fields.py b/muk_fields_lobject/models/ir_model_fields.py deleted file mode 100644 index fa61a38..0000000 --- a/muk_fields_lobject/models/ir_model_fields.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import _, api, models, fields -from odoo.exceptions import ValidationError - -class IrModelField(models.Model): - - _inherit = 'ir.model.fields' - - ttype = fields.Selection(selection_add=[('lobject', 'lobject')]) \ No newline at end of file diff --git a/muk_fields_lobject/patch/__init__.py b/muk_fields_lobject/patch/__init__.py deleted file mode 100644 index 040eb60..0000000 --- a/muk_fields_lobject/patch/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import fields \ No newline at end of file diff --git a/muk_fields_lobject/patch/fields.py b/muk_fields_lobject/patch/fields.py deleted file mode 100644 index 19fb4a0..0000000 --- a/muk_fields_lobject/patch/fields.py +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import fields - -from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject - -fields.LargeObject = LargeObject \ No newline at end of file diff --git a/muk_fields_lobject/static/description/banner.png b/muk_fields_lobject/static/description/banner.png deleted file mode 100644 index 6a008b7..0000000 Binary files a/muk_fields_lobject/static/description/banner.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/icon.png b/muk_fields_lobject/static/description/icon.png deleted file mode 100644 index 9fff4f9..0000000 Binary files a/muk_fields_lobject/static/description/icon.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/icon.svg b/muk_fields_lobject/static/description/icon.svg deleted file mode 100644 index 19575dc..0000000 --- a/muk_fields_lobject/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_fields_lobject/static/description/index.html b/muk_fields_lobject/static/description/index.html deleted file mode 100644 index 8d222b4..0000000 --- a/muk_fields_lobject/static/description/index.html +++ /dev/null @@ -1,179 +0,0 @@ -
-
-

MuK PGSQL Large Objects Fields

-

PGSQL Large Objects Support for Fields

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-
-

Provides a field to store bytes as PostgreSQL large objects. - PostgreSQL offers support for large objects, which provide - stream-style access to user data that is stored in a special - large-object structure. They are useful with data values too large - to be manipulated conveniently as a whole.

-
Psycopg2 for Python
-

- Psycopg allows access to the large object using the - lobject - class. Objects are generated using the - connection.lobject() - factory method. Data can be retrieved either as bytes or as Unicode - strings. -

-

- Psycopg large object support efficient import/export with file - system files using the - lo_import() - and - lo_export() - libpq functions. -

-

Changed in version 2.6: added support for large objects - greated than 2GB. Note that the support is enabled only if all the - following conditions are verified:

-
    -
  • the Python build is 64 bits;
  • -
  • the extension was built against at least libpq 9.3;
  • -
  • the server version is at least PostgreSQL 9.3 - (server_version must be >= 90300).
  • -
-

- If Psycopg was built with 64 bits large objects support (i.e. the - first two contidions above are verified), the - psycopg2.__version__ - constant will contain the lo64 flag. If any of the contition is not - met several lobject methods will fail if the arguments exceed 2GB. -

-
- -
-		    	
-from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject
-
-class LargeObjectModel(models.Model):
-
-    data_content = LargeObject(string="Data")
-
-    @api.multi
-    def data(self):
-        for record in self:
-            bytes = record.data_content
-            oid = record.with_context({'oid': True}).data_content
-            size = record.with_context({'bin_size': True}).data_content
-            stream = record.with_context({'stream': True}).data_content
-		    	
-			
-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_fields_lobject/static/description/logo.png b/muk_fields_lobject/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_fields_lobject/static/description/logo.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/preview.png b/muk_fields_lobject/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_fields_lobject/static/description/preview.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/service_customization.png b/muk_fields_lobject/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_fields_lobject/static/description/service_customization.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/service_development.png b/muk_fields_lobject/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_fields_lobject/static/description/service_development.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/service_implementation.png b/muk_fields_lobject/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_fields_lobject/static/description/service_implementation.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/service_integration.png b/muk_fields_lobject/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_fields_lobject/static/description/service_integration.png and /dev/null differ diff --git a/muk_fields_lobject/static/description/service_support.png b/muk_fields_lobject/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_fields_lobject/static/description/service_support.png and /dev/null differ diff --git a/muk_fields_lobject/tests/__init__.py b/muk_fields_lobject/tests/__init__.py deleted file mode 100644 index 73e2b8f..0000000 --- a/muk_fields_lobject/tests/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_lobject diff --git a/muk_fields_lobject/tests/test_lobject.py b/muk_fields_lobject/tests/test_lobject.py deleted file mode 100644 index ba26861..0000000 --- a/muk_fields_lobject/tests/test_lobject.py +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Large Objects Field -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import logging - -from odoo.tests import common - -from odoo.addons.muk_fields_lobject.fields.lobject import LargeObject - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class LargeObjectTestCase(common.TransactionCase): - - def setUp(self): - super(LargeObjectTestCase, self).setUp() - - def tearDown(self): - super(LargeObjectTestCase, self).tearDown() - - def test_import(self): - self.assertEqual(LargeObject.type, "lobject") - \ No newline at end of file diff --git a/muk_security/LICENSE b/muk_security/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_security/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_security/README.rst b/muk_security/README.rst deleted file mode 100644 index 1548499..0000000 --- a/muk_security/README.rst +++ /dev/null @@ -1,120 +0,0 @@ -============ -MuK Security -============ - -Technical module to provide some utility and security features that can be used -in other applications. This module has no direct effect on the running system. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It provide security features. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Suspend Security `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_security/__init__.py b/muk_security/__init__.py deleted file mode 100644 index e71401d..0000000 --- a/muk_security/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import models - -#---------------------------------------------------------- -# Patch System on Load -#---------------------------------------------------------- - -def _patch_system(): - from . import patch \ No newline at end of file diff --git a/muk_security/__manifest__.py b/muk_security/__manifest__.py deleted file mode 100644 index 8c572b8..0000000 --- a/muk_security/__manifest__.py +++ /dev/null @@ -1,57 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Security", - "summary": """Security Features""", - "version": "12.0.2.0.1", - "category": "Extra Tools", - "license": "LGPL-3", - "website": "http://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "muk_utils", - ], - "data": [ - "security/security.xml", - "security/ir.model.access.csv", - "views/access_groups.xml", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "auto_install": False, - "application": False, - "installable": True, - "post_load": "_patch_system", -} \ No newline at end of file diff --git a/muk_security/doc/changelog.rst b/muk_security/doc/changelog.rst deleted file mode 100644 index a312a9f..0000000 --- a/muk_security/doc/changelog.rst +++ /dev/null @@ -1,29 +0,0 @@ -`1.5.0` -------- - -- Added Group Access Mixin - -`1.4.0` -------- - -- Added Access Mixin - -`1.3.0` -------- - -- Added Locking Mixin - -`1.2.0` -------- - -- Restructuring - -`1.1.0` -------- - -- Updated dependencies - -`1.0.0` -------- - -- Init version diff --git a/muk_security/doc/index.rst b/muk_security/doc/index.rst deleted file mode 100644 index 1548499..0000000 --- a/muk_security/doc/index.rst +++ /dev/null @@ -1,120 +0,0 @@ -============ -MuK Security -============ - -Technical module to provide some utility and security features that can be used -in other applications. This module has no direct effect on the running system. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It provide security features. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Suspend Security `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_security/i18n/ar.po b/muk_security/i18n/ar.po deleted file mode 100644 index 0731f58..0000000 --- a/muk_security/i18n/ar.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:30+0000\n" -"PO-Revision-Date: 2019-07-12 23:30+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "الأساس" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "صلاحيات الإنشاء" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "أنشئ بواسطة" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "أنشئ في" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "صلاحيات الحذف" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "اسم العرض" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "اسم المجموعة" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "المجموعات" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "المعرف" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "آخر تعديل في" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "آخر تحديث بواسطة" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "آخر تحديث في" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "المسار الأصلي" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "صلاحيات القراءة" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "تسجيل القاعدة" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "الإعدادات" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "المستخدمون" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "صلاحيات الكتابة" - diff --git a/muk_security/i18n/de.po b/muk_security/i18n/de.po deleted file mode 100644 index 9ac5fae..0000000 --- a/muk_security/i18n/de.po +++ /dev/null @@ -1,217 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:31+0000\n" -"PO-Revision-Date: 2019-07-12 23:31+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "Gruppenzugriff" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "Zugriff Mixin" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "Untergruppen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "Komplette Gruppen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Objekterzeugung erlauben" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Erstellt von" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Erstellt am" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Zugang löschen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Anzeigename" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "Explizite Benutzer" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "Zugriffsgruppen Mixin" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Gruppenname" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "Gruppenbenutzer" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Gruppen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Zuletzt geändert am" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Zuletzt aktualisiert durch" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Zuletzt aktualisiert am" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "Gesperrt" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "Gesperrt von" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "Sperren Mixin" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "Modelzugriff" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "Übergeordnete Gruppe" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "Übergeordneter Pfad" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Leserecht" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "Zugriffsgruppeneintrag" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Datensatzregel" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Einstellungen" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "Der Eintrag (%s [%s]) ist von einem anderen Benutzer gesperrt." - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "Der angeforderte Vorgang kann aufgrund von Sicherheitseinschränkungen der Gruppe nicht abgeschlossen werden. Bitte verständigen Sie Ihren Systemadministrator.\n" -"\n" -"(Document type: %s1, Operation: %s2)" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "Löschen erlauben" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Benutzer" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Schreibrechte" - diff --git a/muk_security/i18n/es.po b/muk_security/i18n/es.po deleted file mode 100644 index fbd418f..0000000 --- a/muk_security/i18n/es.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:31+0000\n" -"PO-Revision-Date: 2019-07-12 23:31+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Acceso para crear" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Creado por" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Creado el" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Permiso para eliminar" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Nombre del grupo" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Grupos" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Última modificación en" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Última actualización por" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Última actualización el" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Permiso para leer" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Regla de registro" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Ajustes" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Usuarios" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Permiso de escritura" - diff --git a/muk_security/i18n/fr.po b/muk_security/i18n/fr.po deleted file mode 100644 index b77b867..0000000 --- a/muk_security/i18n/fr.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:31+0000\n" -"PO-Revision-Date: 2019-07-12 23:31+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Droit de création" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Créé par" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Créé le" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Droit de suppression" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Nom du groupe" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Groupes" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Dernière mise à jour par" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Dernière mise à jour le" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "Chemin parent" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Accès en lecture" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Règle d'enregistrement" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Configuration" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Utilisateurs" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Accès en écriture" - diff --git a/muk_security/i18n/hi.po b/muk_security/i18n/hi.po deleted file mode 100644 index f393ab6..0000000 --- a/muk_security/i18n/hi.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:31+0000\n" -"PO-Revision-Date: 2019-07-12 23:31+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "" - diff --git a/muk_security/i18n/muk_security.pot b/muk_security/i18n/muk_security.pot deleted file mode 100644 index b069cae..0000000 --- a/muk_security/i18n/muk_security.pot +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:30+0000\n" -"PO-Revision-Date: 2019-07-12 23:30+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "" - diff --git a/muk_security/i18n/nl.po b/muk_security/i18n/nl.po deleted file mode 100644 index a558ce6..0000000 --- a/muk_security/i18n/nl.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:31+0000\n" -"PO-Revision-Date: 2019-07-12 23:31+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Aanmaken" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Aangemaakt door" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Aangemaakt op" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Verwijderen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Weergavenaam" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Groepsnaam" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Groepen" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Laatst gewijzigd op" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Laatst bijgewerkt door" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Laatst bijgewerkt op" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "Model toegang" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "Bovenliggend pad" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Lezen" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Recordregel" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Instellingen" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Gebruikers" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Schrijven" - diff --git a/muk_security/i18n/pt.po b/muk_security/i18n/pt.po deleted file mode 100644 index 85e868c..0000000 --- a/muk_security/i18n/pt.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:32+0000\n" -"PO-Revision-Date: 2019-07-12 23:32+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Criar Acesso" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Criado por" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Criada em" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Eliminar acesso" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Nome a Exibir" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Nome do Grupo" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Grupos" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "Id." - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Última Modificação em" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Última Atualização por" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Última Atualização em" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "Caminho ascendente " - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Permissão de Leitura" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Regra do Registo" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Configurações" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Utilizadores" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Permissões de Escrita" - diff --git a/muk_security/i18n/ru.po b/muk_security/i18n/ru.po deleted file mode 100644 index 48dc8ed..0000000 --- a/muk_security/i18n/ru.po +++ /dev/null @@ -1,215 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_security -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:32+0000\n" -"PO-Revision-Date: 2019-07-12 23:32+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_security -#: model:ir.actions.act_window,name:muk_security.action_security_access_groups -#: model:ir.ui.menu,name:muk_security.menu_security_access_groups -msgid "Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_rights -msgid "Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_base -msgid "Base" -msgstr "Базовый" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__child_groups -msgid "Child Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__complete_groups -msgid "Complete Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_create -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_create -msgid "Create Access" -msgstr "Доступ на создание" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_uid -msgid "Created by" -msgstr "Создано" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__create_date -msgid "Created on" -msgstr "Создан" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_unlink -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_unlink -msgid "Delete Access" -msgstr "Доступ на удаление" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__display_name -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__display_name -msgid "Display Name" -msgstr "Отображаемое Имя" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_lock_editor -msgid "Editor" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__explicit_users -msgid "Explicit Users" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_access_groups -msgid "Group Access Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__name -msgid "Group Name" -msgstr "Наименование Группы" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__groups -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__groups -msgid "Groups" -msgstr "Группы" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__id -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__id -msgid "ID" -msgstr "Номер" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights____last_update -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking____last_update -msgid "Last Modified on" -msgstr "Последнее изменение" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_uid -msgid "Last Updated by" -msgstr "Последний раз обновил" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__write_date -msgid "Last Updated on" -msgstr "Последнее обновление" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__is_locked -msgid "Locked" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_locking__locked_by -msgid "Locked by" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_mixins_locking -msgid "Locking Mixin" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_model_access -msgid "Model Access" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_read -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_read -msgid "Read Access" -msgstr "Доступ на чтение" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_muk_security_access_groups -msgid "Record Access Groups" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_ir_rule -msgid "Record Rule" -msgstr "Ограничение доступа" - -#. module: muk_security -#: model_terms:ir.ui.view,arch_db:muk_security.view_security_access_groups_form -msgid "Settings" -msgstr "Настройки" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_locking.py:77 -#, python-format -msgid "The record (%s [%s]) is locked, by an other user." -msgstr "" - -#. module: muk_security -#: code:addons/muk_security/models/mixins_access_groups.py:197 -#, python-format -msgid "The requested operation cannot be completed due to group security restrictions. Please contact your system administrator.\n" -"\n" -"(Document type: %s, Operation: %s)" -msgstr "" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_unlink -msgid "Unlink Access" -msgstr "" - -#. module: muk_security -#: model:ir.model,name:muk_security.model_res_users -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__count_users -msgid "Users" -msgstr "Пользователи" - -#. module: muk_security -#: model:ir.model.fields,field_description:muk_security.field_muk_security_access_groups__perm_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_groups__permission_write -#: model:ir.model.fields,field_description:muk_security.field_muk_security_mixins_access_rights__permission_write -msgid "Write Access" -msgstr "Доступ на запись" - diff --git a/muk_security/models/__init__.py b/muk_security/models/__init__.py deleted file mode 100644 index a24c17f..0000000 --- a/muk_security/models/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import base -from . import mixins_locking -from . import mixins_access_rights -from . import mixins_access_groups -from . import access_groups -from . import ir_model_access -from . import res_users -from . import ir_rule diff --git a/muk_security/models/access_groups.py b/muk_security/models/access_groups.py deleted file mode 100644 index 5ec1c05..0000000 --- a/muk_security/models/access_groups.py +++ /dev/null @@ -1,46 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, fields, api - -class AccessGroups(models.Model): - - _name = 'muk_security.access_groups' - _description = "Record Access Groups" - _inherit = 'muk_utils.mixins.groups' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - perm_read = fields.Boolean( - string='Read Access') - - perm_create = fields.Boolean( - string='Create Access') - - perm_write = fields.Boolean( - string='Write Access') - - perm_unlink = fields.Boolean( - string='Unlink Access') - \ No newline at end of file diff --git a/muk_security/models/base.py b/muk_security/models/base.py deleted file mode 100644 index d8671f6..0000000 --- a/muk_security/models/base.py +++ /dev/null @@ -1,68 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, models, fields - -from odoo.addons.muk_security.tools.security import NoSecurityUid - -_logger = logging.getLogger(__name__) - -class Base(models.AbstractModel): - - _inherit = 'base' - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - def _filter_access_rules(self, operation): - if isinstance(self.env.uid, NoSecurityUid): - return self - return super(Base, self)._filter_access_rules(operation) - - @api.model - def _apply_ir_rules(self, query, mode='read'): - if isinstance(self.env.uid, NoSecurityUid): - return None - return super(Base, self)._apply_ir_rules(query, mode=mode) - - #---------------------------------------------------------- - # Function - #---------------------------------------------------------- - - @api.model - def suspend_security(self, user=None): - return self.sudo(user=NoSecurityUid(user or self.env.uid)) - - @api.multi - def check_access_rule(self, operation): - if isinstance(self.env.uid, NoSecurityUid): - return None - return super(Base, self).check_access_rule(operation) - - @api.model - def check_field_access_rights(self, operation, fields): - if isinstance(self.env.uid, NoSecurityUid): - return fields or list(self._fields) - return super(Base, self).check_field_access_rights(operation, fields) \ No newline at end of file diff --git a/muk_security/models/ir_model_access.py b/muk_security/models/ir_model_access.py deleted file mode 100644 index 9d73e71..0000000 --- a/muk_security/models/ir_model_access.py +++ /dev/null @@ -1,42 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, fields, models -from odoo import tools, _ -from odoo.exceptions import ValidationError - -from odoo.addons.muk_security.tools.security import NoSecurityUid - -_logger = logging.getLogger(__name__) - -class IrModelAccess(models.Model): - - _inherit = 'ir.model.access' - - @api.model - @tools.ormcache_context('self._uid', 'model', 'mode', 'raise_exception', keys=('lang',)) - def check(self, model, mode='read', raise_exception=True): - if isinstance(self.env.uid, NoSecurityUid): - return True - return super(IrModelAccess, self).check(model, mode=mode, raise_exception=raise_exception) \ No newline at end of file diff --git a/muk_security/models/ir_rule.py b/muk_security/models/ir_rule.py deleted file mode 100644 index 93b5136..0000000 --- a/muk_security/models/ir_rule.py +++ /dev/null @@ -1,42 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, fields, models -from odoo import tools, _ -from odoo.exceptions import ValidationError - -from odoo.addons.muk_security.tools.security import NoSecurityUid - -_logger = logging.getLogger(__name__) - -class IrRule(models.Model): - - _inherit = 'ir.rule' - - @api.model - @tools.ormcache('self._uid', 'model_name', 'mode') - def _compute_domain(self, model_name, mode="read"): - if isinstance(self.env.uid, NoSecurityUid): - return None - return super(IrRule, self)._compute_domain(model_name, mode=mode) \ No newline at end of file diff --git a/muk_security/models/mixins_access_groups.py b/muk_security/models/mixins_access_groups.py deleted file mode 100644 index d51a7a6..0000000 --- a/muk_security/models/mixins_access_groups.py +++ /dev/null @@ -1,245 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from collections import defaultdict - -from odoo import _, models, api, fields, SUPERUSER_ID -from odoo.exceptions import AccessError -from odoo.osv import expression - -from odoo.addons.muk_security.tools.security import NoSecurityUid - -_logger = logging.getLogger(__name__) - -class AccessGroupsModel(models.AbstractModel): - - _name = 'muk_security.mixins.access_groups' - _description = "Group Access Mixin" - _inherit = 'muk_security.mixins.access_rights' - - # If set the group fields are restricted by the access group - _access_groups_fields = None - - # If set the group fields are recomputed as super administrator - _access_groups_sudo = False - - # Set it to True to enforced security even if no group has been set - _access_groups_strict = False - - # Set it to True to let the non strict mode check for existing groups per mode - _access_groups_mode = False - - #---------------------------------------------------------- - # Datebase - #---------------------------------------------------------- - - @api.model - def _add_magic_fields(self): - super(AccessGroupsModel, self)._add_magic_fields() - def add(name, field): - if name not in self._fields: - self._add_field(name, field) - add('groups', fields.Many2many( - _module=self._module, - comodel_name='muk_security.access_groups', - relation='%s_groups_rel' % (self._table), - column1='aid', - column2='gid', - string="Groups", - automatic=True, - groups=self._access_groups_fields)) - add('complete_groups', fields.Many2many( - _module=self._module, - comodel_name='muk_security.access_groups', - relation='%s_complete_groups_rel' % (self._table), - column1='aid', - column2='gid', - string="Complete Groups", - compute='_compute_groups', - readonly=True, - store=True, - automatic=True, - compute_sudo=self._access_groups_sudo, - groups=self._access_groups_fields)) - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - @api.multi - def _filter_access(self, operation): - records = super(AccessGroupsModel, self)._filter_access(operation) - return records.filter_access_groups(operation) - - @api.model - def _apply_access_groups(self, query, mode='read'): - if self.env.user.id == SUPERUSER_ID or isinstance(self.env.uid, NoSecurityUid): - return None - where_clause = ''' - "{table}".id IN ( - SELECT r.aid - FROM {table}_complete_groups_rel r - JOIN muk_security_access_groups g ON r.gid = g.id - JOIN muk_security_access_groups_users_rel u ON r.gid = u.gid - WHERE u.uid = %s AND g.perm_{mode} = true - ) - '''.format(table=self._table, mode=mode) - if not self._access_groups_strict: - exists_clause = ''' - NOT EXISTS ( - SELECT 1 - FROM {table}_complete_groups_rel r - JOIN muk_security_access_groups g ON r.gid = g.id - WHERE r.aid = "{table}".id {groups_mode} - ) - ''' - groups_mode = self._access_groups_mode and 'AND g.perm_{mode} = true'.format(mode=mode) - exists_clause = exists_clause.format(table=self._table, groups_mode=groups_mode or "") - where_clause = '({groups_clause} OR {exists_clause})'.format( - groups_clause=where_clause, - exists_clause=exists_clause, - ) - query.where_clause += [where_clause] - query.where_clause_params += [self.env.user.id] - - @api.model - def _apply_ir_rules(self, query, mode='read'): - super(AccessGroupsModel, self)._apply_ir_rules(query, mode=mode) - self._apply_access_groups(query, mode=mode) - - @api.multi - def _get_ids_without_access_groups(self, operation): - sql_query = ''' - SELECT id - FROM {table} a - WHERE NOT EXISTS ( - SELECT 1 - FROM {table}_complete_groups_rel r - JOIN muk_security_access_groups g ON r.gid = g.id - WHERE r.aid = a.id {subset} {groups_mode} - ); - ''' - subset = self.ids and 'AND r.aid = ANY (VALUES {ids})'.format( - ids=', '.join(map(lambda id: '(%s)' % id, self.ids)) - ) - groups_mode = self._access_groups_mode and 'AND g.perm_{operation} = true'.format( - operation=operation - ) - sql_query = sql_query.format( - table=self._table, - subset=subset or "", - groups_mode=groups_mode or "", - ) - self.env.cr.execute(sql_query) - return list(map(lambda val: val[0], self.env.cr.fetchall())) - - #---------------------------------------------------------- - # Function - #---------------------------------------------------------- - - @api.multi - def check_access(self, operation, raise_exception=False): - res = super(AccessGroupsModel, self).check_access(operation, raise_exception) - try: - return res and self.check_access_groups(operation) == None - except AccessError: - if raise_exception: - raise - return False - - #---------------------------------------------------------- - # Security - #---------------------------------------------------------- - - @api.multi - def check_access_groups(self, operation): - if self.env.user.id == SUPERUSER_ID or isinstance(self.env.uid, NoSecurityUid): - return None - group_ids = set(self.ids) - set(self._get_ids_without_access_groups(operation)) - if group_ids: - sql_query = ''' - SELECT r.aid, perm_{operation} - FROM {table}_complete_groups_rel r - JOIN muk_security_access_groups g ON r.gid = g.id - JOIN muk_security_access_groups_users_rel u ON r.gid = u.gid - WHERE r.aid = ANY (VALUES {ids}) AND u.uid = %s; - '''.format( - operation=operation, - table=self._table, - ids=', '.join(map(lambda id: '(%s)' % id, group_ids)), - ) - self.env.cr.execute(sql_query, [self.env.user.id]) - result = defaultdict(list) - for key, val in self.env.cr.fetchall(): - result[key].append(val) - if len(result.keys()) < len(group_ids) or not all(list(map(lambda val: any(val), result.values()))): - raise AccessError(_( - 'The requested operation cannot be completed due to group security restrictions. ' - 'Please contact your system administrator.\n\n(Document type: %s, Operation: %s)' - ) % (self._description, operation)) - - @api.multi - def filter_access_groups(self, operation): - if self.env.user.id == SUPERUSER_ID or isinstance(self.env.uid, NoSecurityUid): - return self - ids_with_access = self._get_ids_without_access_groups(operation) - group_ids = set(self.ids) - set(ids_with_access) - if group_ids: - sql_query = ''' - SELECT r.aid - FROM {table}_complete_groups_rel r - JOIN muk_security_access_groups g ON r.gid = g.id - JOIN muk_security_access_groups_users_rel u ON r.gid = u.gid - WHERE r.aid = ANY (VALUES {ids}) AND u.uid = %s AND g.perm_{operation} = true; - '''.format( - table=self._table, - ids=', '.join(map(lambda id: '(%s)' % id, group_ids)), - operation=operation, - ) - self.env.cr.execute(sql_query, [self.env.user.id]) - ids_with_access += list(map(lambda val: val[0], self.env.cr.fetchall())) - return self & self.browse(ids_with_access) - - #---------------------------------------------------------- - # Create, Update, Delete - #---------------------------------------------------------- - - @api.multi - def _write(self, vals): - self.check_access_groups('write') - return super(AccessGroupsModel, self)._write(vals) - - @api.multi - def unlink(self): - self.check_access_groups('unlink') - return super(AccessGroupsModel, self).unlink() - - #---------------------------------------------------------- - # Groups - #---------------------------------------------------------- - - @api.depends('groups') - def _compute_groups(self): - for record in self: - record.complete_groups = record.groups \ No newline at end of file diff --git a/muk_security/models/mixins_access_rights.py b/muk_security/models/mixins_access_rights.py deleted file mode 100644 index 0cc0114..0000000 --- a/muk_security/models/mixins_access_rights.py +++ /dev/null @@ -1,122 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import _ -from odoo import models, api, fields -from odoo.exceptions import AccessError - -_logger = logging.getLogger(__name__) - -class AccessModel(models.AbstractModel): - - _name = 'muk_security.mixins.access_rights' - _description = 'Access Mixin' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - permission_read = fields.Boolean( - compute='_compute_permissions_read', - search='_search_permission_read', - string="Read Access") - - permission_create = fields.Boolean( - compute='_compute_permissions_create', - search='_search_permission_create', - string="Create Access") - - permission_write = fields.Boolean( - compute='_compute_permissions_write', - search='_search_permission_write', - string="Write Access") - - permission_unlink = fields.Boolean( - compute='_compute_permissions_unlink', - search='_search_permission_unlink', - string="Delete Access") - - #---------------------------------------------------------- - # Search - #---------------------------------------------------------- - - @api.model - def _search_permission_read(self, operator, operand): - if operator == '=' and operand: - return [('id', 'in', self.search([])._filter_access_ids('read'))] - return [('id', 'not in', self.search([])._filter_access_ids('read'))] - - @api.model - def _search_permission_create(self, operator, operand): - if operator == '=' and operand: - return [('id', 'in', self.search([])._filter_access_ids('create'))] - return [('id', 'not in', self.search([])._filter_access_ids('create'))] - - @api.model - def _search_permission_write(self, operator, operand): - if operator == '=' and operand: - return [('id', 'in', self.search([])._filter_access_ids('write'))] - return [('id', 'not in', self.search([])._filter_access_ids('write'))] - - @api.model - def _search_permission_unlink(self, operator, operand): - if operator == '=' and operand: - return [('id', 'in', self.search([])._filter_access_ids('unlink'))] - return [('id', 'not in', self.search([])._filter_access_ids('unlink'))] - - #---------------------------------------------------------- - # Read, View - #---------------------------------------------------------- - - @api.multi - def _compute_permissions_read(self): - records = self._filter_access('read') - for record in records: - record.update({'permission_read': True}) - for record in self - records: - record.update({'permission_read': False}) - - @api.multi - def _compute_permissions_create(self): - records = self._filter_access('create') - for record in records: - record.update({'permission_create': True}) - for record in self - records: - record.update({'permission_create': False}) - - @api.multi - def _compute_permissions_write(self): - records = self._filter_access('write') - for record in records: - record.update({'permission_write': True}) - for record in self - records: - record.update({'permission_write': False}) - - @api.multi - def _compute_permissions_unlink(self): - records = self._filter_access('unlink') - for record in records: - record.update({'permission_unlink': True}) - for record in self - records: - record.update({'permission_unlink': False}) \ No newline at end of file diff --git a/muk_security/models/mixins_locking.py b/muk_security/models/mixins_locking.py deleted file mode 100644 index fd7d542..0000000 --- a/muk_security/models/mixins_locking.py +++ /dev/null @@ -1,106 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import hashlib -import logging -import itertools - -from odoo import _, SUPERUSER_ID -from odoo import models, api, fields -from odoo.exceptions import AccessError - -from odoo.addons.muk_security.tools.security import NoSecurityUid - -_logger = logging.getLogger(__name__) - -class LockingModel(models.AbstractModel): - - _name = 'muk_security.mixins.locking' - _description = 'Locking Mixin' - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - locked_by = fields.Many2one( - comodel_name='res.users', - string="Locked by") - - is_locked = fields.Boolean( - compute='_compute_locked', - string="Locked") - - is_lock_editor = fields.Boolean( - compute='_compute_locked', - string="Editor") - - #---------------------------------------------------------- - # Locking - #---------------------------------------------------------- - - @api.multi - def lock(self): - self.write({'locked_by': self.env.uid}) - - @api.multi - def unlock(self): - self.write({'locked_by': None}) - - @api.model - def _check_lock_editor(self, lock_uid): - return lock_uid in (self.env.uid, SUPERUSER_ID) or isinstance(self.env.uid, NoSecurityUid) - - @api.multi - def check_lock(self): - for record in self: - if record.locked_by.exists() and not self._check_lock_editor(record.locked_by.id): - message = _("The record (%s [%s]) is locked, by an other user.") - raise AccessError(message % (record._description, record.id)) - - #---------------------------------------------------------- - # Read, View - #---------------------------------------------------------- - - @api.depends('locked_by') - def _compute_locked(self): - for record in self: - if record.locked_by.exists(): - record.update({'is_locked': True, 'is_lock_editor': record.locked_by.id == record.env.uid}) - else: - record.update({'is_locked': False, 'is_lock_editor': False}) - - #---------------------------------------------------------- - # Create, Update, Delete - #---------------------------------------------------------- - - @api.multi - def _write(self, vals): - self.check_lock() - return super(LockingModel, self)._write(vals) - - - @api.multi - def unlink(self): - self.check_lock() - return super(LockingModel, self).unlink() - diff --git a/muk_security/models/res_users.py b/muk_security/models/res_users.py deleted file mode 100644 index df21a74..0000000 --- a/muk_security/models/res_users.py +++ /dev/null @@ -1,49 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, fields, models -from odoo import tools, _ -from odoo.exceptions import ValidationError - -from odoo.addons.muk_security.tools.security import NoSecurityUid -from odoo.addons.muk_security.tools.security import convert_security_uid - - -_logger = logging.getLogger(__name__) - -class AccessUser(models.Model): - - _inherit = 'res.users' - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - def browse(self, arg=None, *args, **kwargs): - return super(AccessUser, self).browse(convert_security_uid(arg), *args, **kwargs) - - @classmethod - def _browse(cls, ids, *args, **kwargs): - access_ids = [convert_security_uid(id) for id in ids] - return super(AccessUser, cls)._browse(access_ids, *args, **kwargs) \ No newline at end of file diff --git a/muk_security/patch/__init__.py b/muk_security/patch/__init__.py deleted file mode 100644 index e4c0f8c..0000000 --- a/muk_security/patch/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import api \ No newline at end of file diff --git a/muk_security/patch/api.py b/muk_security/patch/api.py deleted file mode 100644 index c19f9d4..0000000 --- a/muk_security/patch/api.py +++ /dev/null @@ -1,39 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import models, api, SUPERUSER_ID - -from odoo.addons.muk_utils.tools import patch -from odoo.addons.muk_security.tools import security - -_logger = logging.getLogger(__name__) - -@api.model -@patch.monkey_patch(api.Environment) -def __call__(self, cr=None, user=None, context=None): - env = __call__.super(self, cr, user, context) - if user and isinstance(user, security.NoSecurityUid): - env.uid = user - return env - return env \ No newline at end of file diff --git a/muk_security/security/ir.model.access.csv b/muk_security/security/ir.model.access.csv deleted file mode 100644 index 67bb483..0000000 --- a/muk_security/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink - -access_security_access_groups_user,access_security_access_groups_user,model_muk_security_access_groups,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/muk_security/security/security.xml b/muk_security/security/security.xml deleted file mode 100644 index f53f958..0000000 --- a/muk_security/security/security.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - User can only edit and delete their own groups. - - - - - - - [('create_uid','=',user.id)] - - - - Admins can edit and delete all groups. - - - - - - - [(1 ,'=', 1)] - - - - diff --git a/muk_security/static/description/banner.png b/muk_security/static/description/banner.png deleted file mode 100644 index a73ca83..0000000 Binary files a/muk_security/static/description/banner.png and /dev/null differ diff --git a/muk_security/static/description/icon.png b/muk_security/static/description/icon.png deleted file mode 100644 index 9789ede..0000000 Binary files a/muk_security/static/description/icon.png and /dev/null differ diff --git a/muk_security/static/description/icon.svg b/muk_security/static/description/icon.svg deleted file mode 100644 index c1e91a8..0000000 --- a/muk_security/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_security/static/description/index.html b/muk_security/static/description/index.html deleted file mode 100644 index e38a4cb..0000000 --- a/muk_security/static/description/index.html +++ /dev/null @@ -1,123 +0,0 @@ -
-
-

MuK Security

-

Utility Features

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-

Technical module to provide some utility and - security features. The module is mainly used as a dependency by - other modules and has no direct visible effect on the system.

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_security/static/description/logo.png b/muk_security/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_security/static/description/logo.png and /dev/null differ diff --git a/muk_security/static/description/preview.png b/muk_security/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_security/static/description/preview.png and /dev/null differ diff --git a/muk_security/static/description/service_customization.png b/muk_security/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_security/static/description/service_customization.png and /dev/null differ diff --git a/muk_security/static/description/service_development.png b/muk_security/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_security/static/description/service_development.png and /dev/null differ diff --git a/muk_security/static/description/service_implementation.png b/muk_security/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_security/static/description/service_implementation.png and /dev/null differ diff --git a/muk_security/static/description/service_integration.png b/muk_security/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_security/static/description/service_integration.png and /dev/null differ diff --git a/muk_security/static/description/service_support.png b/muk_security/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_security/static/description/service_support.png and /dev/null differ diff --git a/muk_security/tests/__init__.py b/muk_security/tests/__init__.py deleted file mode 100644 index cc576ff..0000000 --- a/muk_security/tests/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import test_access_groups -from . import test_suspend_security \ No newline at end of file diff --git a/muk_security/tests/test_access_groups.py b/muk_security/tests/test_access_groups.py deleted file mode 100644 index fbf9c43..0000000 --- a/muk_security/tests/test_access_groups.py +++ /dev/null @@ -1,86 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import logging - -from odoo import exceptions -from odoo.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class AccessGroupsTestCase(common.TransactionCase): - - def setUp(self): - super(AccessGroupsTestCase, self).setUp() - self.user_id = self.ref('base.user_demo') - self.group_id = self.ref('base.group_system') - self.groups = self.env['muk_security.access_groups'] - self.group01 = self.groups.create({ - 'name': 'Group 01', - 'explicit_users': [(6, 0, [self.user_id])]}) - self.group02 = self.groups.create({ - 'name': 'Group 02', - 'groups': [(6, 0, [self.group_id])]}) - self.user = self.env['res.users'].browse(self.user_id) - self.group = self.env['res.groups'].browse(self.group_id) - - def tearDown(self): - super(AccessGroupsTestCase, self).tearDown() - - def test_access_groups_users(self): - count = len(self.group02.users) - self.group02.write({'explicit_users': [(6, 0, [self.user_id])]}) - self.assertTrue(len(self.group02.users) > count) - - def test_access_groups_groups(self): - count = len(self.group01.users) - self.group01.write({'groups': [(6, 0, [self.group_id])]}) - self.assertTrue(len(self.group01.users) > count) - - def test_access_groups_groups_group(self): - count = len(self.group02.users) - self.group.write({'users': [(4, self.user_id)]}) - self.assertTrue(len(self.group02.users) > count) - - def test_access_groups_groups_user(self): - count = len(self.group02.users) - self.user.write({'groups_id':[(4, self.group_id)]}) - self.assertTrue(len(self.group02.users) > count) - - def test_access_groups_parent(self): - count = len(self.group02.users) - self.group02.write({'parent_group': self.group01.id}) - self.assertTrue(len(self.group02.users) > count) - - def test_access_groups_parent_multi(self): - group01 = self.groups.create({'name': 'MGroup 01'}) - group02 = self.groups.create({'name': 'MGroup 02', 'parent_group': group01.id}) - group03 = self.groups.create({'name': 'MGroup 03', 'parent_group': group02.id}) - init_count = len(group03.users) - group02.write({'explicit_users': [(6, 0, [self.user_id])]}) - self.assertTrue(len(group03.users) > init_count) - updated_count = len(group03.users) - group01.write({'groups': [(6, 0, [self.group_id])]}) - self.assertTrue(len(group03.users) > updated_count) \ No newline at end of file diff --git a/muk_security/tests/test_suspend_security.py b/muk_security/tests/test_suspend_security.py deleted file mode 100644 index 1be02c3..0000000 --- a/muk_security/tests/test_suspend_security.py +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import logging - -from odoo import exceptions -from odoo.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class SuspendSecurityTestCase(common.TransactionCase): - - def setUp(self): - super(SuspendSecurityTestCase, self).setUp() - - def tearDown(self): - super(SuspendSecurityTestCase, self).tearDown() - - def test_suspend_security(self): - user_id = self.env.ref('base.user_demo').id - tester = self.env.ref('base.user_root').sudo(user_id) - with self.assertRaises(exceptions.AccessError): - tester.write({'login': 'test'}) - tester.suspend_security().write({'login': 'test'}) - self.assertEqual(tester.login, 'test') - self.assertEqual(tester.write_uid.id, user_id) - - def test_normalize(self): - self.env['res.users'].browse(self.env['res.users'].suspend_security().env.uid) - - def test_search_one2many(self): - user = self.env.ref('base.user_demo') - model = self.env['res.partner'].sudo(user.id) - self.assertTrue(model.env.user.id == user.id) - normal_domain = [('user_ids.id', '=', model.env.uid)] - suspend_domain = [('user_ids.id', '=', model.suspend_security().env.uid)] - normal_partner = model.search(normal_domain, limit=1) - suspend_partner = model.search(suspend_domain, limit=1) - self.assertEqual(normal_partner, suspend_partner) - normal_domain = [('user_ids', '=', model.env.uid)] - suspend_domain = [('user_ids', '=', model.suspend_security().env.uid)] - normal_partner = model.search(normal_domain, limit=1) - suspend_partner = model.search(suspend_domain, limit=1) - self.assertEqual(normal_partner, suspend_partner) - normal_domain = [('user_ids.id', 'in', [model.env.uid])] - suspend_domain = [('user_ids.id', 'in', [model.suspend_security().env.uid])] - normal_partner = model.search(normal_domain, limit=1) - suspend_partner = model.search(suspend_domain, limit=1) - self.assertEqual(normal_partner, suspend_partner) - \ No newline at end of file diff --git a/muk_security/tools/__init__.py b/muk_security/tools/__init__.py deleted file mode 100644 index 433767f..0000000 --- a/muk_security/tools/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import security \ No newline at end of file diff --git a/muk_security/tools/security.py b/muk_security/tools/security.py deleted file mode 100644 index 927a7df..0000000 --- a/muk_security/tools/security.py +++ /dev/null @@ -1,47 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Security -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -#---------------------------------------------------------- -# Helper -#---------------------------------------------------------- - -def convert_security_uid(id): - if isinstance(id, NoSecurityUid): - return super(NoSecurityUid, id).__int__() - return id - -#---------------------------------------------------------- -# Model -#---------------------------------------------------------- - -class NoSecurityUid(int): - - def __int__(self): - return self - - def __eq__(self, other): - if isinstance(other, int): - return False - return super(NoSecurityUid, self).__int__() == other - - def __hash__(self): - return super(NoSecurityUid, self).__hash__() \ No newline at end of file diff --git a/muk_security/views/access_groups.xml b/muk_security/views/access_groups.xml deleted file mode 100644 index 1f9f325..0000000 --- a/muk_security/views/access_groups.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - muk_security_access_groups.tree - muk_security.access_groups - primary - - - - - - - - - - - - - muk_security_access_groups.form - muk_security.access_groups - primary - - - - - - - - - - - - - - - - - - - - - - - - - Access Groups - muk_security.access_groups - tree,form - - - - - \ No newline at end of file diff --git a/muk_session_store/LICENSE b/muk_session_store/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_session_store/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_session_store/README.rst b/muk_session_store/README.rst deleted file mode 100644 index 51c2b7a..0000000 --- a/muk_session_store/README.rst +++ /dev/null @@ -1,161 +0,0 @@ -================= -MuK Session Store -================= - -In a distributed system the filestore based session store of Odoo has the problem that -unwanted session timeouts occur regularly. This module offers two additional options for -the Session Store. Sessions can be stored either in a Redis database or directly in -Postgres. Both options have the advantage that the session information can also be queried -in a distributed system. - -Requirements -============= - -The requirements are only required if Redis is used as the session store. - -Redis -------------- - -A interface to the Redis key-value store for Python. To install Redis please follow the -`instructions `_ or install the library via pip. - -``pip install redis`` - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -Since this module need to be activated even if no database is selected it should -be loaded right at the server start. This can be done by editing the configuration -file or passing a load parameter to the start script. - -Parameter: ``--load=web,muk_session_store`` - -The following fields can be modified in the config file: - -**Store:** - -* session_store_database -* session_store_redis - -**Postgres:** - -* session_store_dbname - -**Redis:** - -* session_store_prefix -* session_store_host -* session_store_port -* session_store_dbindex -* session_store_pass - -Usage -============= - -After setting the parameters, the session store is used automatically. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Session DB `_ -* `PSQL Session Store `_ -* `Redis Session Store `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_session_store/__init__.py b/muk_session_store/__init__.py deleted file mode 100644 index 1341ffd..0000000 --- a/muk_session_store/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo.tools import config - -def _patch_system(): - if 'muk_session_store' in config.get('server_wide_modules'): - from . import patch \ No newline at end of file diff --git a/muk_session_store/__manifest__.py b/muk_session_store/__manifest__.py deleted file mode 100644 index d6b0f1c..0000000 --- a/muk_session_store/__manifest__.py +++ /dev/null @@ -1,53 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -{ - "name": "MuK Session Store", - "summary": """Session Store Options""", - "version": "12.0.2.0.1", - "category": "Extra Tools", - "license": "LGPL-3", - "website": "http://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "author": "MuK IT", - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "muk_utils", - ], - "data": [ - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "application": False, - "installable": True, - "post_load": "_patch_system", -} \ No newline at end of file diff --git a/muk_session_store/doc/changelog.rst b/muk_session_store/doc/changelog.rst deleted file mode 100644 index 9ee2b48..0000000 --- a/muk_session_store/doc/changelog.rst +++ /dev/null @@ -1,4 +0,0 @@ -`1.0.0` -------- - -- Init version diff --git a/muk_session_store/doc/index.rst b/muk_session_store/doc/index.rst deleted file mode 100644 index 51c2b7a..0000000 --- a/muk_session_store/doc/index.rst +++ /dev/null @@ -1,161 +0,0 @@ -================= -MuK Session Store -================= - -In a distributed system the filestore based session store of Odoo has the problem that -unwanted session timeouts occur regularly. This module offers two additional options for -the Session Store. Sessions can be stored either in a Redis database or directly in -Postgres. Both options have the advantage that the session information can also be queried -in a distributed system. - -Requirements -============= - -The requirements are only required if Redis is used as the session store. - -Redis -------------- - -A interface to the Redis key-value store for Python. To install Redis please follow the -`instructions `_ or install the library via pip. - -``pip install redis`` - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -Since this module need to be activated even if no database is selected it should -be loaded right at the server start. This can be done by editing the configuration -file or passing a load parameter to the start script. - -Parameter: ``--load=web,muk_session_store`` - -The following fields can be modified in the config file: - -**Store:** - -* session_store_database -* session_store_redis - -**Postgres:** - -* session_store_dbname - -**Redis:** - -* session_store_prefix -* session_store_host -* session_store_port -* session_store_dbindex -* session_store_pass - -Usage -============= - -After setting the parameters, the session store is used automatically. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Projects ------------- - -Parts of the module are inspired by: - -* `Session DB `_ -* `PSQL Session Store `_ -* `Redis Session Store `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_session_store/i18n/ar.po b/muk_session_store/i18n/ar.po deleted file mode 100644 index ea35d70..0000000 --- a/muk_session_store/i18n/ar.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:53+0000\n" -"PO-Revision-Date: 2019-07-12 23:53+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/de.po b/muk_session_store/i18n/de.po deleted file mode 100644 index bb1ed83..0000000 --- a/muk_session_store/i18n/de.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:54+0000\n" -"PO-Revision-Date: 2019-07-12 23:54+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/es.po b/muk_session_store/i18n/es.po deleted file mode 100644 index bb1ed83..0000000 --- a/muk_session_store/i18n/es.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:54+0000\n" -"PO-Revision-Date: 2019-07-12 23:54+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/fr.po b/muk_session_store/i18n/fr.po deleted file mode 100644 index bb1ed83..0000000 --- a/muk_session_store/i18n/fr.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:54+0000\n" -"PO-Revision-Date: 2019-07-12 23:54+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/hi.po b/muk_session_store/i18n/hi.po deleted file mode 100644 index bb1ed83..0000000 --- a/muk_session_store/i18n/hi.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:54+0000\n" -"PO-Revision-Date: 2019-07-12 23:54+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/muk_session_store.pot b/muk_session_store/i18n/muk_session_store.pot deleted file mode 100644 index ea35d70..0000000 --- a/muk_session_store/i18n/muk_session_store.pot +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:53+0000\n" -"PO-Revision-Date: 2019-07-12 23:53+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/nl.po b/muk_session_store/i18n/nl.po deleted file mode 100644 index c0cb37f..0000000 --- a/muk_session_store/i18n/nl.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:55+0000\n" -"PO-Revision-Date: 2019-07-12 23:55+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/pt.po b/muk_session_store/i18n/pt.po deleted file mode 100644 index c0cb37f..0000000 --- a/muk_session_store/i18n/pt.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:55+0000\n" -"PO-Revision-Date: 2019-07-12 23:55+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/i18n/ru.po b/muk_session_store/i18n/ru.po deleted file mode 100644 index c0cb37f..0000000 --- a/muk_session_store/i18n/ru.po +++ /dev/null @@ -1,16 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-12 23:55+0000\n" -"PO-Revision-Date: 2019-07-12 23:55+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - diff --git a/muk_session_store/patch/__init__.py b/muk_session_store/patch/__init__.py deleted file mode 100644 index edd517a..0000000 --- a/muk_session_store/patch/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import http \ No newline at end of file diff --git a/muk_session_store/patch/http.py b/muk_session_store/patch/http.py deleted file mode 100644 index 389c844..0000000 --- a/muk_session_store/patch/http.py +++ /dev/null @@ -1,91 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import random -import logging - -from odoo import http, tools -from odoo.http import request -from odoo.tools.func import lazy_property - -from odoo.addons.muk_utils.tools.patch import monkey_patch -from odoo.addons.muk_session_store.store.postgres import PostgresSessionStore -from odoo.addons.muk_session_store.store.redis import RedisSessionStore - -_logger = logging.getLogger(__name__) - -try: - import redis -except ImportError: - if tools.config.get('session_store_redis'): - _logger.warning("The Python library redis is not installed.") - redis = False - -def get_session_store_database(): - return tools.config.get('session_store_dbname', 'session_store') - -@monkey_patch(http) -def db_monodb(httprequest=None): - if tools.config.get('session_store_database'): - httprequest = httprequest or request.httprequest - dbs = http.db_list(True, httprequest) - store = get_session_store_database() - db_session = httprequest.session.db - if db_session in dbs: - return db_session - if store in dbs: - dbs.remove(store) - if len(dbs) == 1: - return dbs[0] - return None - else: - return db_monodb.super(httprequest) - -@monkey_patch(http) -def db_filter(dbs, httprequest=None): - dbs = db_filter.super(dbs, httprequest=httprequest) - store = get_session_store_database() - if store in dbs: - dbs.remove(store) - return dbs - -@monkey_patch(http) -def session_gc(session_store): - if tools.config.get('session_store_database'): - if random.random() < 0.001: - session_store.clean() - elif tools.config.get('session_store_redis'): - pass - else: - session_gc.super(session_store) - -class Root(http.Root): - @lazy_property - def session_store(self): - if tools.config.get('session_store_database'): - return PostgresSessionStore(session_class=http.OpenERPSession) - elif tools.config.get('session_store_redis') and redis: - return RedisSessionStore(session_class=http.OpenERPSession) - return super(Root, self).session_store - -http.root = Root() - diff --git a/muk_session_store/static/description/banner.png b/muk_session_store/static/description/banner.png deleted file mode 100644 index a28122c..0000000 Binary files a/muk_session_store/static/description/banner.png and /dev/null differ diff --git a/muk_session_store/static/description/icon.png b/muk_session_store/static/description/icon.png deleted file mode 100644 index cdbc81e..0000000 Binary files a/muk_session_store/static/description/icon.png and /dev/null differ diff --git a/muk_session_store/static/description/icon.svg b/muk_session_store/static/description/icon.svg deleted file mode 100644 index ec20ec3..0000000 --- a/muk_session_store/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_session_store/static/description/index.html b/muk_session_store/static/description/index.html deleted file mode 100644 index 520ce8d..0000000 --- a/muk_session_store/static/description/index.html +++ /dev/null @@ -1,134 +0,0 @@ -
-
-

MuK Session Store

-

Session Store Options

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-

In a distributed system the filestore based - session store of Odoo has the problem that unwanted session timeouts - occur regularly. This module offers two additional options for the - Session Store. Sessions can be stored either in a Redis database or - directly in Postgres. Both options have the advantage that the - session information can also be queried in a distributed system.

-

Since this module need to be activated even if no database is - selected it should be loaded right at the server start. This can be - done by editing the configuration file or passing a load parameter - to the start script.

-

- Parameter: - --load=web,muk_session_store -

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_session_store/static/description/logo.png b/muk_session_store/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_session_store/static/description/logo.png and /dev/null differ diff --git a/muk_session_store/static/description/preview.png b/muk_session_store/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_session_store/static/description/preview.png and /dev/null differ diff --git a/muk_session_store/static/description/service_customization.png b/muk_session_store/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_session_store/static/description/service_customization.png and /dev/null differ diff --git a/muk_session_store/static/description/service_development.png b/muk_session_store/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_session_store/static/description/service_development.png and /dev/null differ diff --git a/muk_session_store/static/description/service_implementation.png b/muk_session_store/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_session_store/static/description/service_implementation.png and /dev/null differ diff --git a/muk_session_store/static/description/service_integration.png b/muk_session_store/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_session_store/static/description/service_integration.png and /dev/null differ diff --git a/muk_session_store/static/description/service_support.png b/muk_session_store/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_session_store/static/description/service_support.png and /dev/null differ diff --git a/muk_session_store/store/__init__.py b/muk_session_store/store/__init__.py deleted file mode 100644 index dca5bea..0000000 --- a/muk_session_store/store/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import postgres -from . import redis \ No newline at end of file diff --git a/muk_session_store/store/postgres.py b/muk_session_store/store/postgres.py deleted file mode 100644 index a37d3a5..0000000 --- a/muk_session_store/store/postgres.py +++ /dev/null @@ -1,141 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import json -import logging -import psycopg2 -import functools - -from contextlib import closing -from contextlib import contextmanager -from datetime import datetime, date - -from werkzeug.contrib.sessions import SessionStore - -from odoo.sql_db import db_connect -from odoo.tools import config - -_logger = logging.getLogger(__name__) - -def retry_database(func): - @functools.wraps(func) - def wrapper(self, *args, **kwargs): - for attempts in range(1, 6): - try: - return func(self, *args, **kwargs) - except psycopg2.InterfaceError as error: - _logger.warn("SessionStore connection failed! (%s/5)" % attempts) - if attempts >= 5: - raise error - return wrapper - -class PostgresSessionStore(SessionStore): - - def __init__(self, *args, **kwargs): - super(PostgresSessionStore, self).__init__(*args, **kwargs) - self.dbname = config.get('session_store_dbname', 'session_store') - self._setup_database(raise_exception=False) - - def _setup_database(self, raise_exception=True): - try: - with db_connect(self.dbname, allow_uri=True).cursor() as cursor: - cursor.autocommit(True) - self._create_table(cursor) - except: - self._create_database() - self._setup_database() - - def _create_database(self): - with db_connect("postgres").cursor() as cursor: - cursor.autocommit(True) - cursor.execute(""" - CREATE DATABASE {dbname} - ENCODING 'unicode' - TEMPLATE 'template0'; - """.format(dbname=self.dbname)) - - def _create_table(self, cursor): - cursor.execute(""" - CREATE TABLE IF NOT EXISTS sessions ( - sid varchar PRIMARY KEY, - write_date timestamp without time zone NOT NULL, - payload text NOT NULL - ); - """) - - @contextmanager - def open_cursor(self): - connection = db_connect(self.dbname, allow_uri=True) - cursor = connection.cursor() - cursor.autocommit(True) - yield cursor - cursor.close() - - @retry_database - def save(self, session): - with self.open_cursor() as cursor: - cursor.execute(""" - INSERT INTO sessions (sid, write_date, payload) - VALUES (%(sid)s, now() at time zone 'UTC', %(payload)s) - ON CONFLICT (sid) - DO UPDATE SET payload = %(payload)s, write_date = now() at time zone 'UTC'; - """, dict(sid=session.sid, payload=json.dumps(dict(session)))) - - @retry_database - def delete(self, session): - with self.open_cursor() as cursor: - cursor.execute("DELETE FROM sessions WHERE sid=%s;", [session.sid]) - - @retry_database - def get(self, sid): - if not self.is_valid_key(sid): - return self.new() - with self.open_cursor() as cursor: - cursor.execute(""" - SELECT payload, write_date - FROM sessions WHERE sid=%s; - """, [sid]) - try: - payload, write_date = cursor.fetchone() - if write_date.date() != datetime.today().date(): - cursor.execute(""" - UPDATE sessions - SET write_date = now() at time zone 'UTC' - WHERE sid=%s; - """, [sid]) - return self.session_class(json.loads(payload), sid, False) - except Exception: - return self.session_class({}, sid, False) - - @retry_database - def list(self): - with self.open_cursor() as cursor: - cursor.execute("SELECT sid FROM sessions;") - return [record[0] for record in cursor.fetchall()] - - @retry_database - def clean(self): - with self.open_cursor() as cursor: - cursor.execute(""" - DELETE FROM sessions - WHERE now() at time zone 'UTC' - write_date > '7 days'; - """) \ No newline at end of file diff --git a/muk_session_store/store/redis.py b/muk_session_store/store/redis.py deleted file mode 100644 index fcda5ca..0000000 --- a/muk_session_store/store/redis.py +++ /dev/null @@ -1,91 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Session Store -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import json -import pickle -import logging -import functools - -from werkzeug.contrib.sessions import SessionStore - -from odoo.tools import config - -_logger = logging.getLogger(__name__) - -try: - import redis -except ImportError: - pass - -SESSION_TIMEOUT = 60 * 60 * 24 * 7 - -def retry_redis(func): - @functools.wraps(func) - def wrapper(self, *args, **kwargs): - for attempts in range(1, 6): - try: - return func(self, *args, **kwargs) - except redis.ConnectionError as error: - _logger.warn("SessionStore connection failed! (%s/5)" % attempts) - if attempts >= 5: - raise error - return wrapper - -class RedisSessionStore(SessionStore): - - def __init__(self, *args, **kwargs): - super(RedisSessionStore, self).__init__(*args, **kwargs) - self.prefix = config.get('session_store_prefix', '') - self.server = redis.Redis( - host=config.get('session_store_host', 'localhost'), - port=int(config.get('session_store_port', 6379)), - db=int(config.get('session_store_dbindex', 1)), - password=config.get('session_store_pass', None) - ) - - def _encode_session_key(self, key): - return key.encode('utf-8') if isinstance(key, str) else key - - def _get_session_key(self, sid): - return self._encode_session_key(self.prefix + sid) - - @retry_redis - def save(self, session): - key = self._get_session_key(session.sid) - payload = pickle.dumps(dict(session), pickle.HIGHEST_PROTOCOL) - self.server.setex(name=key, value=payload, time=SESSION_TIMEOUT) - - @retry_redis - def delete(self, session): - self.server.delete(self._get_session_key(session.sid)) - - @retry_redis - def get(self, sid): - if not self.is_valid_key(sid): - return self.new() - key = self._get_session_key(sid) - payload = self.server.get(key) - if payload: - self.server.setex(name=key, value=payload, time=SESSION_TIMEOUT) - return self.session_class(pickle.loads(payload), sid, False) - else: - return self.session_class({}, sid, False) \ No newline at end of file diff --git a/muk_utils/LICENSE b/muk_utils/LICENSE deleted file mode 100644 index 153d416..0000000 --- a/muk_utils/LICENSE +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. \ No newline at end of file diff --git a/muk_utils/README.rst b/muk_utils/README.rst deleted file mode 100644 index 9cde5dd..0000000 --- a/muk_utils/README.rst +++ /dev/null @@ -1,113 +0,0 @@ -========= -MuK Utils -========= - -Technical module to provide some utility features and libraries that can be used -in other applications. This module has no direct effect on the running system. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It provide utility features. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_utils/__init__.py b/muk_utils/__init__.py deleted file mode 100644 index 1124bf2..0000000 --- a/muk_utils/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import models -from . import tools \ No newline at end of file diff --git a/muk_utils/__manifest__.py b/muk_utils/__manifest__.py deleted file mode 100644 index 1f3b451..0000000 --- a/muk_utils/__manifest__.py +++ /dev/null @@ -1,57 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### -{ - "name": "MuK Utils", - "summary": """Utility Features""", - "version": '12.0.2.0.6', - "category": 'Extra Tools', - "license": "LGPL-3", - "author": "MuK IT", - "website": "https://www.mukit.at", - 'live_test_url': 'https://mukit.at/r/SgN', - "contributors": [ - "Mathias Markl ", - ], - "depends": [ - "base_setup", - ], - "data": [ - "actions/ir_attachment.xml", - "views/ir_attachment.xml", - "views/mixins_groups.xml", - "views/res_config_settings.xml", - ], - "qweb": [ - "static/src/xml/*.xml", - ], - "images": [ - 'static/description/banner.png' - ], - "external_dependencies": { - "python": [], - "bin": [], - }, - "sequence": 3, - "application": False, - "installable": True, - "auto_install": False, -} diff --git a/muk_utils/actions/ir_attachment.xml b/muk_utils/actions/ir_attachment.xml deleted file mode 100644 index a051505..0000000 --- a/muk_utils/actions/ir_attachment.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - Migrate - - - code - records.action_migrate() - - - \ No newline at end of file diff --git a/muk_utils/doc/changelog.rst b/muk_utils/doc/changelog.rst deleted file mode 100644 index fcc9635..0000000 --- a/muk_utils/doc/changelog.rst +++ /dev/null @@ -1,34 +0,0 @@ -`1.6.0` -------- - -- Override Attachment to make it more extendable - -`1.5.0` -------- - -- Storage Migration Action - -`1.4.0` -------- - -- Added Hierarchy Mixin - -`1.3.0` -------- - -- Added SCSS Editor - -`1.2.0` -------- - -- Added Group Mixin - -`1.1.0` -------- - -- Added Storage Settings - -`1.0.0` -------- - -- Init Version diff --git a/muk_utils/doc/index.rst b/muk_utils/doc/index.rst deleted file mode 100644 index 9cde5dd..0000000 --- a/muk_utils/doc/index.rst +++ /dev/null @@ -1,113 +0,0 @@ -========= -MuK Utils -========= - -Technical module to provide some utility features and libraries that can be used -in other applications. This module has no direct effect on the running system. - -Installation -============ - -To install this module, you need to: - -Download the module and add it to your Odoo addons folder. Afterward, log on to -your Odoo server and go to the Apps menu. Trigger the debug mode and update the -list by clicking on the "Update Apps List" link. Now install the module by -clicking on the install button. - -Another way to install this module is via the package management for Python -(`PyPI `_). - -To install our modules using the package manager make sure -`odoo-autodiscover `_ is installed -correctly. Then open a console and install the module by entering the following -command: - -``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -The module name consists of the Odoo version and the module name, where -underscores are replaced by a dash. - -**Module:** - -``odoo-addon-`` - -**Example:** - -``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` - -Once the installation has been successfully completed, the app is already in the -correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the -debug mode and update the list by clicking on the "Update Apps List" link. Now -install the module by clicking on the install button. - -The biggest advantage of this variant is that you can now also update the app -using the "pip" command. To do this, enter the following command in your console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo. The steps are the same as for the installation only the button has changed -from "Install" to "Upgrade". - -You can also view available Apps directly in our `repository `_ -and find a more detailed installation guide on our `website `_. - -For modules licensed under OPL-1, you will receive access data when you purchase -the module. If the modules were not purchased directly from -`MuK IT `_ please contact our support (support@mukit.at) -with a confirmation of purchase to receive the corresponding access data. - -Upgrade -============ - -To upgrade this module, you need to: - -Download the module and add it to your Odoo addons folder. Restart the server -and log on to your Odoo server. Select the Apps menu and upgrade the module by -clicking on the upgrade button. - -If you installed the module using the "pip" command, you can also update the -module in the same way. Just type the following command into the console: - -``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` - -When the process is finished, restart your server and update the application in -Odoo, just like you would normally. - -Configuration -============= - -No additional configuration is needed to use this module. - -Usage -============= - -This module has no direct visible effect on the system. It provide utility features. - -Credits -======= - -Contributors ------------- - -* Mathias Markl - -Images ------------- - -Some pictures are based on or inspired by the icon set of Font Awesome: - -* `Font Awesome `_ - -Author & Maintainer -------------------- - -This module is maintained by the `MuK IT GmbH `_. - -MuK IT is an Austrian company specialized in customizing and extending Odoo. -We develop custom solutions for your individual needs to help you focus on -your strength and expertise to grow your business. - -If you want to get in touch please contact us via mail -(sale@mukit.at) or visit our website (https://mukit.at). diff --git a/muk_utils/i18n/ar.po b/muk_utils/i18n/ar.po deleted file mode 100644 index ba1adcd..0000000 --- a/muk_utils/i18n/ar.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:39+0000\n" -"PO-Revision-Date: 2019-07-13 09:39+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "مرفق" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "المُرفقات" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "الأساس" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "ضبط الإعدادات" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "اسم العرض" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "المجموعة" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "اسم المجموعة" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "المجموعات" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "المعرف" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "آخر تعديل في" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "المسار الأصلي" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "باراميتر النظام" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "المستخدمون" - diff --git a/muk_utils/i18n/de.po b/muk_utils/i18n/de.po deleted file mode 100644 index 09af850..0000000 --- a/muk_utils/i18n/de.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:39+0000\n" -"PO-Revision-Date: 2019-07-13 09:39+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "SpeichernSie diese Seite, bevor Sie die Migration auslösen." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "Alle Daten" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "Dokumenten Feld" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "Dokumenten Model" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Dateianhang" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "Speicherort des Attachments" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "Speicherort des Attachments." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Dateianhänge" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "Untergruppen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "Konfiguration " - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Anzeigename" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "Explizite Benutzer" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "Felddaten" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "Speichermigration erzwingen" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Gruppe" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "Gruppen Mixin" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Gruppenname" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "Gruppenbenutzer" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Gruppen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "Hierarchie Mixin" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Zuletzt geändert am" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "Migrieren" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "Übergeordnete Gruppe" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "Übergeordneter Pfad" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "Json Pfad" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "Pfadnamen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "Speicher" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "Speicherort" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "Speicherort geändert" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "Systemparameter" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "Der Name der Gruppe muss einzigartig sein!" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Benutzer" - diff --git a/muk_utils/i18n/es.po b/muk_utils/i18n/es.po deleted file mode 100644 index a79540b..0000000 --- a/muk_utils/i18n/es.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:39+0000\n" -"PO-Revision-Date: 2019-07-13 09:39+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "Save esta página antes de iniciar la migración." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "Todos los datos" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "Campo de documento adjunto" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "Modelo de documento adjunto" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Adjunto" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "Almacén de anexos" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "Almacén de archivos adjuntos." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Adjuntos" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "Grupos de niños" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "Opciones de Configuración" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Nombre mostrado" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "Usuarios Explícitos" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "Datos de campo" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "Migración de almacenamiento forzado" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Grupo" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "Mezcla de Grupo" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Nombre del grupo" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "Usuarios del grupo" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Grupos" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "Mezcla de jerarquías" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Última modificación en" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "Migrar" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "Grupo de padres" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "Trayectoria de los padres" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "Camino Json" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "Nombres de senderos" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "Editor de Scss" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "Almacenamiento" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "Almacén" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "Almacén modificado" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "Parámetros del sistema" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "El nombre del grupo debe ser único!" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Usuarios" - diff --git a/muk_utils/i18n/fr.po b/muk_utils/i18n/fr.po deleted file mode 100644 index c13768c..0000000 --- a/muk_utils/i18n/fr.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:40+0000\n" -"PO-Revision-Date: 2019-07-13 09:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "Save cette page avant de déclencher la migration." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "Toutes les données" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "Champ du document joint" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "Modèle de document joint" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Pièce jointe" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "Pièce jointe" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "Emplacement de stockage des pièces jointes" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Pièces jointes" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "Base" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "Paramètres de config" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Nom affiché" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "Nom d'affichage" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "Utilisateurs explicites" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "Données de terrain" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Groupe" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "Groupe" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Nom du groupe" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "Nom du groupe" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Groupes" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "Groupes" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Dernière modification le" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "Dernière modification le" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "Seuls les administrateurs peuvent exécuter cette action." - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "Chemin parent" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "Cheminement des parents" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "Sentier Json" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "Noms des chemins" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "Editeur Scss" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "Stockage" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "Emplacement de stockage" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "Paramètres du système" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "Changement de magasin" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Utilisateurs" - diff --git a/muk_utils/i18n/hi.po b/muk_utils/i18n/hi.po deleted file mode 100644 index 2f56a20..0000000 --- a/muk_utils/i18n/hi.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:40+0000\n" -"PO-Revision-Date: 2019-07-13 09:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "" - diff --git a/muk_utils/i18n/muk_utils.pot b/muk_utils/i18n/muk_utils.pot deleted file mode 100644 index 5681cf0..0000000 --- a/muk_utils/i18n/muk_utils.pot +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:39+0000\n" -"PO-Revision-Date: 2019-07-13 09:39+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "" - diff --git a/muk_utils/i18n/nl.po b/muk_utils/i18n/nl.po deleted file mode 100644 index f6362cd..0000000 --- a/muk_utils/i18n/nl.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:40+0000\n" -"PO-Revision-Date: 2019-07-13 09:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "Save deze pagina vooraleer de migratie te starten." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "Alle gegevens" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "Bijgevoegd documentveld" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "Bijgevoegd documentmodel" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Bijlage" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "Opslaglocatie voor hulpstukken" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "Opslagplaats voor bevestigingsmateriaal." - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Bijlagen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "Basis" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "Kind groepen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "Configuratie instellingen" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Weergavenaam" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "Expliciete gebruikers" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "Veldgegevens" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "Krachtenopslag migratie" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Groep" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "Groepsmixer" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Groepsnaam" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "Groep gebruikers" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Groepen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "Hiërarchie Mixin" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Laatst gewijzigd op" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "Migreren" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "Moedergroep" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "Bovenliggend pad" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "Pad Json" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "Padnamen" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "Scss-editor" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "Opslag" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "Opslaglocatie" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "Opslaglocatie veranderd" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "Systeem parameter" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "De naam van de groep moet uniek zijn!" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Gebruikers" - diff --git a/muk_utils/i18n/pt.po b/muk_utils/i18n/pt.po deleted file mode 100644 index d863b5e..0000000 --- a/muk_utils/i18n/pt.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:40+0000\n" -"PO-Revision-Date: 2019-07-13 09:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Anexo" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Anexos" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "config configurações" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Nome a Exibir" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Grupo" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Nome do Grupo" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Grupos" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "Id." - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Última Modificação em" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "Caminho ascendente " - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Utilizadores" - diff --git a/muk_utils/i18n/ru.po b/muk_utils/i18n/ru.po deleted file mode 100644 index 24fee85..0000000 --- a/muk_utils/i18n/ru.po +++ /dev/null @@ -1,211 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * muk_utils -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 12.0-20190522\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-07-13 09:40+0000\n" -"PO-Revision-Date: 2019-07-13 09:40+0000\n" -"Last-Translator: <>\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: \n" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Save this page before triggering the migration." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "All Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Field" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attached Document Model" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_attachment -msgid "Attachment" -msgstr "Приложение" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Attachment storage location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,help:muk_utils.field_res_config_settings__attachment_location -msgid "Attachment storage location." -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Attachments" -msgstr "Вложения" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_base -msgid "Base" -msgstr "Базовый" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__child_groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Child Groups" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_res_config_settings -msgid "Config Settings" -msgstr "Настройки конфигурации" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__display_name -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__display_name -msgid "Display Name" -msgstr "Отображаемое Имя" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__explicit_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Explicit Users" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_search -msgid "Field Data" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -msgid "Force Storage Migration" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Group" -msgstr "Группа" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_groups -msgid "Group Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__name -msgid "Group Name" -msgstr "Наименование Группы" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__users -msgid "Group Users" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__groups -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_tree -msgid "Groups" -msgstr "Группы" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_mixins_hierarchy -msgid "Hierarchy Mixin" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__id -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor__id -msgid "ID" -msgstr "Номер" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy____last_update -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_scss_editor____last_update -msgid "Last Modified on" -msgstr "Последнее изменение" - -#. module: muk_utils -#: model:ir.actions.server,name:muk_utils.action_attachment_migrate -msgid "Migrate" -msgstr "" - -#. module: muk_utils -#: code:addons/muk_utils/models/ir_attachment.py:87 -#, python-format -msgid "Only administrators can execute this action." -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_group -msgid "Parent Group" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__parent_path -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path -msgid "Parent Path" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_json -msgid "Path Json" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_hierarchy__parent_path_names -msgid "Path Names" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_muk_utils_scss_editor -msgid "Scss Editor" -msgstr "" - -#. module: muk_utils -#: model_terms:ir.ui.view,arch_db:muk_utils.res_config_settings_view_form -#: model_terms:ir.ui.view,arch_db:muk_utils.view_attachment_form -msgid "Storage" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location -msgid "Storage Location" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_res_config_settings__attachment_location_changed -msgid "Storage Location Changed" -msgstr "" - -#. module: muk_utils -#: model:ir.model,name:muk_utils.model_ir_config_parameter -msgid "System Parameter" -msgstr "" - -#. module: muk_utils -#: sql_constraint:muk_utils.mixins.groups:0 -msgid "The name of the group must be unique!" -msgstr "" - -#. module: muk_utils -#: model:ir.model.fields,field_description:muk_utils.field_muk_utils_mixins_groups__count_users -#: model_terms:ir.ui.view,arch_db:muk_utils.view_mixins_groups_form -msgid "Users" -msgstr "Пользователи" - diff --git a/muk_utils/models/__init__.py b/muk_utils/models/__init__.py deleted file mode 100644 index 424dbbe..0000000 --- a/muk_utils/models/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import base -from . import mixins_groups -from . import mixins_hierarchy -from . import scss_editor -from . import ir_attachment -from . import ir_config_parameter -from . import res_config_settings - diff --git a/muk_utils/models/base.py b/muk_utils/models/base.py deleted file mode 100644 index 8e5039f..0000000 --- a/muk_utils/models/base.py +++ /dev/null @@ -1,186 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api, models, fields -from odoo.osv import expression - -from odoo.addons.muk_utils.tools import utils - -_logger = logging.getLogger(__name__) - -class Base(models.AbstractModel): - - _inherit = 'base' - - #---------------------------------------------------------- - # Helper Methods - #---------------------------------------------------------- - - @api.model - def _check_parent_field(self): - if self._parent_name not in self._fields: - raise TypeError("The parent (%s) field does not exist." % self._parent_name) - - @api.model - def _build_search_childs_domain(self, parent_id, domain=[]): - self._check_parent_field() - parent_domain = [[self._parent_name, '=', parent_id]] - return expression.AND([parent_domain, domain]) if domain else parent_domain - - @api.model - def _check_context_bin_size(self, field): - return any(key in self.env.context for key in ['bin_size', 'bin_size_%s' % (field)]) - - #---------------------------------------------------------- - # Security - #---------------------------------------------------------- - - @api.multi - def _filter_access(self, operation): - if self.check_access_rights(operation, False): - return self._filter_access_rules(operation) - return self.env[self._name] - - @api.multi - def _filter_access_ids(self, operation): - return self._filter_access(operation).ids - - @api.multi - def check_access(self, operation, raise_exception=False): - try: - access_right = self.check_access_rights(operation, raise_exception) - access_rule = self.check_access_rule(operation) is None - return access_right and access_rule - except AccessError: - if raise_exception: - raise - return False - - #---------------------------------------------------------- - # Hierarchy Methods - #---------------------------------------------------------- - - @api.model - def search_parents(self, domain=[], offset=0, limit=None, order=None, count=False): - """ This method finds the top level elements of the hierarchy for a given search query. - - :param domain: a search domain (default: empty list) - :param order: a string to define the sort order of the query (default: none) - :returns: the top level elements for the given search query - """ - res = self._search_parents(domain=domain, offset=offset, limit=limit, order=order, count=count) - return res if count else self.browse(res) - - @api.model - def search_read_parents(self, domain=[], fields=None, offset=0, limit=None, order=None): - """ This method finds the top level elements of the hierarchy for a given search query. - - :param domain: a search domain (default: empty list) - :param fields: a list of fields to read (default: all fields of the model) - :param order: a string to define the sort order of the query (default: none) - :returns: the top level elements for the given search query - """ - records = self.search_parents(domain=domain, offset=offset, limit=limit, order=order) - if not records: - return [] - if fields and fields == ['id']: - return [{'id': record.id} for record in records] - result = records.read(fields) - if len(result) <= 1: - return result - index = {vals['id']: vals for vals in result} - return [index[record.id] for record in records if record.id in index] - - @api.model - def _search_parents(self, domain=[], offset=0, limit=None, order=None, count=False): - self._check_parent_field() - self.check_access_rights('read') - if expression.is_false(self, domain): - return [] - query = self._where_calc(domain) - self._apply_ir_rules(query, 'read') - from_clause, where_clause, where_clause_arguments = query.get_sql() - parent_where = where_clause and (" WHERE %s" % where_clause) or '' - parent_query = 'SELECT "%s".id FROM ' % self._table + from_clause + parent_where - no_parent_clause ='"{table}"."{field}" IS NULL'.format( - table=self._table, - field=self._parent_name - ) - no_access_clause ='"{table}"."{field}" NOT IN ({query})'.format( - table=self._table, - field=self._parent_name, - query=parent_query - ) - parent_clause = '({0} OR {1})'.format( - no_parent_clause, - no_access_clause - ) - order_by = self._generate_order_by(order, query) - from_clause, where_clause, where_clause_params = query.get_sql() - where_str = ( - where_clause and - (" WHERE %s AND %s" % (where_clause, parent_clause)) or - (" WHERE %s" % parent_clause) - ) - if count: - query_str = 'SELECT count(1) FROM ' + from_clause + where_str - self._cr.execute(query_str, where_clause_params) - return self._cr.fetchone()[0] - limit_str = limit and ' limit %d' % limit or '' - offset_str = offset and ' offset %d' % offset or '' - query_str = 'SELECT "%s".id FROM ' % self._table + from_clause + where_str + order_by + limit_str + offset_str - complete_where_clause_params = where_clause_params + where_clause_arguments - self._cr.execute(query_str, complete_where_clause_params) - return utils.uniquify_list([x[0] for x in self._cr.fetchall()]) - - @api.model - def search_childs(self, parent_id, domain=[], offset=0, limit=None, order=None, count=False): - """ This method finds the direct child elements of the parent record for a given search query. - - :param parent_id: the integer representing the ID of the parent record - :param domain: a search domain (default: empty list) - :param offset: the number of results to ignore (default: none) - :param limit: maximum number of records to return (default: all) - :param order: a string to define the sort order of the query (default: none) - :param count: counts and returns the number of matching records (default: False) - :returns: the top level elements for the given search query - """ - domain = self._build_search_childs_domain(parent_id, domain=domain) - return self.search(domain, offset=offset, limit=limit, order=order, count=count) - - @api.model - def search_read_childs(self, parent_id, domain=[], fields=None, offset=0, limit=None, order=None): - """ This method finds the direct child elements of the parent record for a given search query. - - :param parent_id: the integer representing the ID of the parent record - :param domain: a search domain (default: empty list) - :param fields: a list of fields to read (default: all fields of the model) - :param offset: the number of results to ignore (default: none) - :param limit: maximum number of records to return (default: all) - :param order: a string to define the sort order of the query (default: none) - :returns: the top level elements for the given search query - """ - domain = self._build_search_childs_domain(parent_id, domain=domain) - return self.search_read(domain=domain, fields=fields, offset=offset, limit=limit, order=order) - \ No newline at end of file diff --git a/muk_utils/models/ir_attachment.py b/muk_utils/models/ir_attachment.py deleted file mode 100644 index ae3d97b..0000000 --- a/muk_utils/models/ir_attachment.py +++ /dev/null @@ -1,153 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import math -import base64 -import logging -import mimetypes - -from odoo import registry, api, models, _ -from odoo.tools.mimetypes import guess_mimetype -from odoo.tools.misc import split_every -from odoo.exceptions import AccessError - -_logger = logging.getLogger(__name__) - -class IrAttachment(models.Model): - - _inherit = 'ir.attachment' - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - @api.model - def _get_datas_inital_vals(self): - return { - 'store_fname': False, - 'db_datas': False, - } - - @api.model - def _update_datas_vals(self, vals, attach, bin_data): - vals.update({ - 'file_size': len(bin_data), - 'checksum': self._compute_checksum(bin_data), - 'index_content': self._index(bin_data, attach.datas_fname, attach.mimetype), - }) - return vals - - @api.model - def _get_datas_clean_vals(self, attach): - vals = {} - if attach.store_fname: - vals['store_fname'] = attach.store_fname - return vals - - @api.model - def _clean_datas_after_write(self, vals): - if 'store_fname' in vals: - self._file_delete(vals['store_fname']) - - #---------------------------------------------------------- - # Actions - #---------------------------------------------------------- - - @api.multi - def action_migrate(self): - self.migrate() - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.model - def storage_locations(self): - return ['db', 'file'] - - @api.model - def force_storage(self): - if not self.env.user._is_admin(): - raise AccessError(_('Only administrators can execute this action.')) - storage_domain = { - 'db': ('db_datas', '=', False), - 'file': ('store_fname', '=', False), - } - record_domain = [ - '&', ('type', '=', 'binary'), - '&', storage_domain[self._storage()], - '|', ('res_field', '=', False), ('res_field', '!=', False) - ] - self.search(record_domain).migrate(batch_size=100) - return True - - @api.multi - def migrate(self, batch_size=None): - commit_on_batch = bool(batch_size) - batch_size = batch_size or len(self) or 1 - storage_location = self._storage().upper() - batches = math.ceil(len(self) / batch_size) - for index, attachment in enumerate(self, start=1): - current_batch = math.ceil(index / batch_size) - counter = len(self) - (batches - 1) * batch_size - counter = counter if current_batch == batches else batch_size - _logger.info("Migrate Attachment %s of %s to %s [Batch %s of %s]", - index % batch_size or batch_size, counter, - storage_location, current_batch, batches - ) - attachment.with_context(migration=True).write({ - 'datas': attachment.datas - }) - if commit_on_batch and not index % batch_size: - self.env.cr.commit() - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - @api.multi - def _compute_mimetype(self, values): - if self.env.context.get('migration') and len(self) == 1: - return self.mimetype or 'application/octet-stream' - else: - return super(IrAttachment, self)._compute_mimetype(values) - - #---------------------------------------------------------- - # Create, Write, Delete - #---------------------------------------------------------- - - @api.multi - def _inverse_datas(self): - location = self._storage() - for attach in self: - value = attach.datas - bin_data = base64.b64decode(value) if value else b'' - vals = self._get_datas_inital_vals() - vals = self._update_datas_vals(vals, attach, bin_data) - if value and location != 'db': - vals['store_fname'] = self._file_write(value, vals['checksum']) - else: - vals['db_datas'] = value - clean_vals = self._get_datas_clean_vals(attach) - models.Model.write(attach.sudo(), vals) - self._clean_datas_after_write(clean_vals) - \ No newline at end of file diff --git a/muk_utils/models/ir_config_parameter.py b/muk_utils/models/ir_config_parameter.py deleted file mode 100644 index 918feb4..0000000 --- a/muk_utils/models/ir_config_parameter.py +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, api - -class IrConfigParameter(models.Model): - - _inherit = 'ir.config_parameter' - - @api.model - def set_params(self, params): - for key, value in params.items(): - self.set_param(key, value) \ No newline at end of file diff --git a/muk_utils/models/mixins_groups.py b/muk_utils/models/mixins_groups.py deleted file mode 100644 index 202db0c..0000000 --- a/muk_utils/models/mixins_groups.py +++ /dev/null @@ -1,126 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, fields, api - -class Groups(models.AbstractModel): - - _name = 'muk_utils.mixins.groups' - _description = 'Group Mixin' - - _parent_store = True - _parent_name = "parent_group" - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - name = fields.Char( - string="Group Name", - required=True, - translate=True) - - parent_path = fields.Char( - string="Parent Path", - index=True) - - count_users = fields.Integer( - compute='_compute_users', - string="Users", - store=True) - - @api.model - def _add_magic_fields(self): - super(Groups, self)._add_magic_fields() - def add(name, field): - if name not in self._fields: - self._add_field(name, field) - add('parent_group', fields.Many2one( - _module=self._module, - comodel_name=self._name, - string='Parent Group', - ondelete='cascade', - auto_join=True, - index=True, - automatic=True)) - add('child_groups', fields.One2many( - _module=self._module, - comodel_name=self._name, - inverse_name='parent_group', - string='Child Groups', - automatic=True)) - add('groups', fields.Many2many( - _module=self._module, - comodel_name='res.groups', - relation='%s_groups_rel' % (self._table), - column1='gid', - column2='rid', - string='Groups', - automatic=True)) - add('explicit_users', fields.Many2many( - _module=self._module, - comodel_name='res.users', - relation='%s_explicit_users_rel' % (self._table), - column1='gid', - column2='uid', - string='Explicit Users', - automatic=True)) - add('users', fields.Many2many( - _module=self._module, - comodel_name='res.users', - relation='%s_users_rel' % (self._table), - column1='gid', - column2='uid', - string='Group Users', - compute='_compute_users', - store=True, - automatic=True)) - - _sql_constraints = [ - ('name_uniq', 'unique (name)', 'The name of the group must be unique!') - ] - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.model - def default_get(self, fields_list): - res = super(Groups, self).default_get(fields_list) - if not self.env.context.get('groups_no_autojoin'): - if 'explicit_users' in res and res['explicit_users']: - res['explicit_users'] = res['explicit_users'] + [self.env.uid] - else: - res['explicit_users'] = [self.env.uid] - return res - - #---------------------------------------------------------- - # Read, View - #---------------------------------------------------------- - - @api.depends('parent_group', 'parent_group.users', 'groups', 'groups.users', 'explicit_users') - def _compute_users(self): - for record in self: - users = record.mapped('groups.users') - users |= record.mapped('explicit_users') - users |= record.mapped('parent_group.users') - record.update({'users': users, 'count_users': len(users)}) \ No newline at end of file diff --git a/muk_utils/models/mixins_hierarchy.py b/muk_utils/models/mixins_hierarchy.py deleted file mode 100644 index 8f282ab..0000000 --- a/muk_utils/models/mixins_hierarchy.py +++ /dev/null @@ -1,176 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import json -import operator -import functools -import collections - -from odoo import models, fields, api -from odoo.osv import expression - -class Hierarchy(models.AbstractModel): - - _name = 'muk_utils.mixins.hierarchy' - _description = 'Hierarchy Mixin' - - _parent_store = True - _parent_path_sudo = False - _parent_path_store = False - - _name_path_context = "show_path" - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - parent_path = fields.Char( - string="Parent Path", - index=True) - - @api.model - def _add_magic_fields(self): - super(Hierarchy, self)._add_magic_fields() - def add(name, field): - if name not in self._fields: - self._add_field(name, field) - path_names_search = None - if not self._parent_path_store: - path_names_search = '_search_parent_path_names' - add('parent_path_names', fields.Char( - _module=self._module, - compute='_compute_parent_paths', - compute_sudo=self._parent_path_sudo, - store=self._parent_path_store, - search=path_names_search, - string="Path Names", - readonly=True, - automatic=True)) - add('parent_path_json', fields.Text( - _module=self._module, - compute='_compute_parent_paths', - compute_sudo=self._parent_path_sudo, - store=self._parent_path_store, - string="Path Json", - readonly=True, - automatic=True)) - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - def _get_depends_parent_paths(self): - depends = ['parent_path'] - if self._rec_name: - depends += [self._rec_name] - elif 'name' in self._fields: - depends += ['name'] - elif 'x_name' in self._fields: - depends += ['x_name'] - return depends - - #---------------------------------------------------------- - # Search - #---------------------------------------------------------- - - @api.model - def _search_parent_path_names(self, operator, operand): - domain = [] - for value in operand.split('/'): - args = [(self._rec_name_fallback(), operator, value)] - domain = expression.OR([args, domain]) if domain else args - return domain if domain else [(self._rec_name_fallback(), operator, "")] - - #---------------------------------------------------------- - # Read, View - #---------------------------------------------------------- - - @api.depends(lambda self: self._get_depends_parent_paths()) - def _compute_parent_paths(self): - records = self.filtered(lambda record: record.parent_path) - paths = [list(map(int, rec.parent_path.split('/')[:-1])) for rec in records] - ids = paths and set(functools.reduce(operator.concat, paths)) or [] - model_without_path = self.with_context(**{self._name_path_context: False}) - filtered_records = model_without_path.browse(ids)._filter_access('read') - data = dict(filtered_records.name_get()) - for record in records: - path_names = [""] - path_json = [] - for id in reversed(list(map(int, record.parent_path.split('/')[:-1]))): - if id not in data: - break - path_names.append(data[id]) - path_json.append({ - 'model': record._name, - 'name': data[id], - 'id': id, - }) - path_names.reverse() - path_json.reverse() - record.update({ - 'parent_path_names': '/'.join(path_names), - 'parent_path_json': json.dumps(path_json), - }) - - @api.model - def _name_search(self, name='', args=None, operator='ilike', limit=100, name_get_uid=None): - domain = list(args or []) - if not (name == '' and operator == 'ilike') : - if '/' in name: - domain += [('parent_path_names', operator, name)] - else: - domain += [(self._rec_name, operator, name)] - records = self.browse(self._search(domain, limit=limit, access_rights_uid=name_get_uid)) - return models.lazy_name_get(records.sudo(name_get_uid or self.env.uid)) - - @api.multi - def name_get(self): - if self.env.context.get(self._name_path_context): - res = [] - for record in self: - names = record.parent_path_names - if not names: - res.append(super(Hierarchy, record).name_get()[0]) - elif not len(names) > 50: - res.append((record.id, names)) - else: - res.append((record.id, ".." + names[-48:])) - return res - return super(Hierarchy, self).name_get() - - #---------------------------------------------------------- - # Create, Update, Delete - #---------------------------------------------------------- - - @api.multi - def write(self, vals): - if self._parent_path_store and self._rec_name_fallback() in vals: - with self.env.norecompute(): - res = super(Hierarchy, self).write(vals) - domain = [('id', 'child_of', self.ids)] - records = self.sudo().search(domain) - records.modified(['parent_path']) - if self.env.recompute and self.env.context.get('recompute', True): - records.recompute() - return res - return super(Hierarchy, self).write(vals) - \ No newline at end of file diff --git a/muk_utils/models/res_config_settings.py b/muk_utils/models/res_config_settings.py deleted file mode 100644 index 3566324..0000000 --- a/muk_utils/models/res_config_settings.py +++ /dev/null @@ -1,82 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import api, fields, models - -class ResConfigSettings(models.TransientModel): - - _inherit = 'res.config.settings' - - #---------------------------------------------------------- - # Selections - #---------------------------------------------------------- - - def _attachment_location_selection(self): - locations = self.env['ir.attachment'].storage_locations() - return list(map(lambda location: (location, location.upper()), locations)) - - #---------------------------------------------------------- - # Database - #---------------------------------------------------------- - - attachment_location = fields.Selection( - selection=lambda self: self._attachment_location_selection(), - string='Storage Location', - required=True, - default='file', - help="Attachment storage location.") - - attachment_location_changed = fields.Boolean( - compute='_compute_attachment_location_changed', - string='Storage Location Changed') - - #---------------------------------------------------------- - # Functions - #---------------------------------------------------------- - - @api.multi - def set_values(self): - res = super(ResConfigSettings, self).set_values() - param = self.env['ir.config_parameter'].sudo() - param.set_param('ir_attachment.location', self.attachment_location) - return res - - @api.model - def get_values(self): - res = super(ResConfigSettings, self).get_values() - params = self.env['ir.config_parameter'].sudo() - res.update(attachment_location=params.get_param('ir_attachment.location', 'file')) - return res - - def attachment_force_storage(self): - self.env['ir.attachment'].force_storage() - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - @api.depends('attachment_location') - def _compute_attachment_location_changed(self): - params = self.env['ir.config_parameter'].sudo() - location = params.get_param('ir_attachment.location', 'file') - for record in self: - record.attachment_location_changed = location != self.attachment_location diff --git a/muk_utils/models/scss_editor.py b/muk_utils/models/scss_editor.py deleted file mode 100644 index dd5fd18..0000000 --- a/muk_utils/models/scss_editor.py +++ /dev/null @@ -1,145 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import re -import uuid -import base64 - -from odoo import models, fields, api -from odoo.modules import module - -class ScssEditor(models.AbstractModel): - - _name = 'muk_utils.scss_editor' - _description = 'Scss Editor' - - #---------------------------------------------------------- - # Helper - #---------------------------------------------------------- - - def _build_custom_url(self, url_parts, xmlid): - return "%s.custom.%s.%s" % (url_parts[0], xmlid, url_parts[1]) - - def _get_custom_url(self, url, xmlid): - return self._build_custom_url(url.rsplit(".", 1), xmlid) - - def _get_custom_attachment(self, url): - return self.env["ir.attachment"].with_context( - bin_size=False, bin_size_datas=False - ).search([("url", '=', url)]) - - def _get_custom_view(self, url): - return self.env["ir.ui.view"].search([("name", '=', url)]) - - def _get_variable(self, content, variable): - regex = r'{0}\:?\s(.*?);'.format(variable) - value = re.search(regex, content) - return value and value.group(1) - - def _get_variables(self, content, variables): - return {var: self._get_variable(content, var) for var in variables} - - def _replace_variables(self, content, variables): - for variable in variables: - variable_content = '{0}: {1};'.format( - variable['name'], - variable['value'] - ) - regex = r'{0}\:?\s(.*?);'.format(variable['name']) - content = re.sub(regex, variable_content, content) - return content - - #---------------------------------------------------------- - # Read - #---------------------------------------------------------- - - def get_content(self, url, xmlid): - custom_url = self._get_custom_url(url, xmlid) - custom_attachment = self._get_custom_attachment(custom_url) - if custom_attachment.exists(): - return base64.b64decode(custom_attachment.datas).decode('utf-8') - else: - match = re.compile("^/(\w+)/(.+?)(\.custom\.(.+))?\.(\w+)$").match(url) - module_path = module.get_module_path(match.group(1)) - resource_path = "%s.%s" % (match.group(2), match.group(5)) - module_resource_path = module.get_resource_path(module_path, resource_path) - with open(module_resource_path, "rb") as file: - return file.read().decode('utf-8') - - def get_values(self, url, xmlid, variables): - return self._get_variables(self.get_content(url, xmlid), variables) - - #---------------------------------------------------------- - # Write - #---------------------------------------------------------- - - def replace_content(self, url, xmlid, content): - custom_url = self._get_custom_url(url, xmlid) - custom_view = self._get_custom_view(custom_url) - custom_attachment = self._get_custom_attachment(custom_url) - datas = base64.b64encode((content or "\n").encode("utf-8")) - if custom_attachment.exists(): - custom_attachment.write({"datas": datas}) - else: - self.env["ir.attachment"].create({ - 'name': custom_url, - 'type': "binary", - 'mimetype': "text/scss", - 'datas': datas, - 'datas_fname': url.split("/")[-1], - 'url': custom_url, - }) - if not custom_view.exists(): - view_to_xpath = self.env["ir.ui.view"].get_related_views( - xmlid, bundles=True - ).filtered(lambda v: v.arch.find(url) >= 0) - self.env["ir.ui.view"].create({ - 'name': custom_url, - 'key': 'web_editor.scss_%s' % str(uuid.uuid4())[:6], - 'mode': "extension", - 'priority': view_to_xpath.priority, - 'inherit_id': view_to_xpath.id, - 'arch': """ - - - %(new_url)s - - - """ % { - 'inherit_xml_id': view_to_xpath.xml_id, - 'name': custom_url, - 'url_to_replace': url, - 'new_url': custom_url, - } - }) - self.env["ir.qweb"].clear_caches() - - def replace_values(self, url, xmlid, variables): - content = self._replace_variables( - self.get_content(url, xmlid), variables - ) - self.replace_content(url, xmlid, content) - - def reset_values(self, url, xmlid): - custom_url = self._get_custom_url(url, xmlid) - self._get_custom_attachment(custom_url).unlink() - self._get_custom_view(custom_url).unlink() \ No newline at end of file diff --git a/muk_utils/static/description/banner.png b/muk_utils/static/description/banner.png deleted file mode 100644 index cf5692b..0000000 Binary files a/muk_utils/static/description/banner.png and /dev/null differ diff --git a/muk_utils/static/description/icon.png b/muk_utils/static/description/icon.png deleted file mode 100644 index 1b124a9..0000000 Binary files a/muk_utils/static/description/icon.png and /dev/null differ diff --git a/muk_utils/static/description/icon.svg b/muk_utils/static/description/icon.svg deleted file mode 100644 index c06d89d..0000000 --- a/muk_utils/static/description/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/muk_utils/static/description/index.html b/muk_utils/static/description/index.html deleted file mode 100644 index 6cbfb04..0000000 --- a/muk_utils/static/description/index.html +++ /dev/null @@ -1,124 +0,0 @@ -
-
-

MuK Utils

-

Utility Features

-

MuK IT GmbH - - www.mukit.at

-
-
- -
-
-
-

Overview

-

Technical module to provide some utility - features. The module is mainly used as a dependency by other modules - and to provide a collection of common libraries. It has no direct - visible effect on the system.

-
-
-
- -
- -
- -
-
-
- - -
-
-
- -
-

Help and Support

-
Feel free to - contact us, if you need any help with your Odoo integration or - addiontal features.
- - -
\ No newline at end of file diff --git a/muk_utils/static/description/logo.png b/muk_utils/static/description/logo.png deleted file mode 100644 index 9427ce3..0000000 Binary files a/muk_utils/static/description/logo.png and /dev/null differ diff --git a/muk_utils/static/description/preview.png b/muk_utils/static/description/preview.png deleted file mode 100644 index 1deb1cc..0000000 Binary files a/muk_utils/static/description/preview.png and /dev/null differ diff --git a/muk_utils/static/description/service_customization.png b/muk_utils/static/description/service_customization.png deleted file mode 100644 index 3eac664..0000000 Binary files a/muk_utils/static/description/service_customization.png and /dev/null differ diff --git a/muk_utils/static/description/service_development.png b/muk_utils/static/description/service_development.png deleted file mode 100644 index 580d460..0000000 Binary files a/muk_utils/static/description/service_development.png and /dev/null differ diff --git a/muk_utils/static/description/service_implementation.png b/muk_utils/static/description/service_implementation.png deleted file mode 100644 index d64b66b..0000000 Binary files a/muk_utils/static/description/service_implementation.png and /dev/null differ diff --git a/muk_utils/static/description/service_integration.png b/muk_utils/static/description/service_integration.png deleted file mode 100644 index 76c5e80..0000000 Binary files a/muk_utils/static/description/service_integration.png and /dev/null differ diff --git a/muk_utils/static/description/service_support.png b/muk_utils/static/description/service_support.png deleted file mode 100644 index 4c530fa..0000000 Binary files a/muk_utils/static/description/service_support.png and /dev/null differ diff --git a/muk_utils/tests/__init__.py b/muk_utils/tests/__init__.py deleted file mode 100644 index 2fb4f4b..0000000 --- a/muk_utils/tests/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import common -from . import test_search_parents -from . import test_attachment_migration \ No newline at end of file diff --git a/muk_utils/tests/common.py b/muk_utils/tests/common.py deleted file mode 100644 index f78b254..0000000 --- a/muk_utils/tests/common.py +++ /dev/null @@ -1,156 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import time -import hmac -import hashlib -import logging -import functools -import threading -import traceback - -from odoo.tests import common, HOST, PORT - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# Decorators -#---------------------------------------------------------- - -def multi_users(users=[['base.user_root', True], ['base.user_admin', True]], reset=True, raise_exception=True): - def decorator(func): - @functools.wraps(func) - def wrapper(self, *args, **kwargs): - user_list = users(self) if callable(users) else users - test_results = [] - for user in user_list: - self.cr.execute('SAVEPOINT test_multi_users') - try: - if not isinstance(user[0], int): - self.uid = self.ref(user[0]) - else: - self.uid = user[0] - func(self, *args, **kwargs) - except Exception as error: - test_results.append({ - 'user': user[0], - 'expect': user[1], - 'result': False, - 'error': error, - }) - else: - test_results.append({ - 'user': user[0], - 'expect': user[1], - 'result': True, - 'error': None, - }) - if reset: - self.env.cache.invalidate() - self.registry.clear_caches() - self.registry.reset_changes() - self.cr.execute('ROLLBACK TO SAVEPOINT test_multi_users') - else: - self._cr.execute('RELEASE SAVEPOINT test_multi_users') - test_fails = [] - for result in test_results: - if result['expect'] != result['result']: - message = "Test (%s) with user (%s) failed!" - _logger.info(message % (func.__name__, result['user'])) - if result['error']: - _logger.error(result['error'], exc_info=True) - test_fails.append(result) - if test_fails: - message = "%s out of %s tests failed" % (len(test_fails), len(test_results)) - if raise_exception: - raise test_fails[0]['error'] - else: - _logger.info(message) - return test_results - return wrapper - return decorator - -def track_function(max_query_count=None, max_query_time=None, max_time=None, return_tracking=False): - def decorator(func): - @functools.wraps(func) - def wrapper(*args, **kwargs): - tracking_parameters = [func.__name__] - threading.current_thread().query_time = 0 - threading.current_thread().query_count = 0 - threading.current_thread().perf_t0 = time.time() - result = func(*args, **kwargs) - message = "%s" % func.__name__ - if args and hasattr(args[0], "uid"): - message = " (%s)" % args[0].uid - if hasattr(threading.current_thread(), "query_count"): - query_count = threading.current_thread().query_count - query_time = threading.current_thread().query_time - perf_t0 = threading.current_thread().perf_t0 - remaining_time = time.time() - perf_t0 - query_time - time_taken = query_time + remaining_time - message += " - %s Q %.3fs QT %.3fs OT %.3fs TT" % ( - query_count, query_time, remaining_time, time_taken - ) - tracking_parameters += [ - query_count, query_time, remaining_time, time_taken - ] - if max_query_count and query_count > max_query_count: - raise AssertionError("More than %s queries" % max_query_count) - if max_query_time and query_time > max_query_time: - raise AssertionError("Queries took longer than %.3fs" % max_query_time) - if max_time and time_taken > max_time: - raise AssertionError("Function took longer than %.3fs" % max_time) - if not return_tracking: - _logger.info(message) - if return_tracking: - return result, tracking_parameters - return result - return wrapper - return decorator - -#---------------------------------------------------------- -# Test Cases -#---------------------------------------------------------- - -class HttpCase(common.HttpCase): - - def csrf_token(self, time_limit=3600): - token = self.session.sid - max_ts = '' if not time_limit else int(time.time() + time_limit) - msg = '%s%s' % (token, max_ts) - secret = self.env['ir.config_parameter'].sudo().get_param('database.secret') - assert secret, "CSRF protection requires a configured database secret" - hm = hmac.new(secret.encode('ascii'), msg.encode('utf-8'), hashlib.sha1).hexdigest() - return '%so%s' % (hm, max_ts) - - def url_open(self, url, data=None, timeout=10, csrf=False): - if url.startswith('/'): - url = "http://%s:%s%s" % (HOST, PORT, url) - if data: - if csrf: - data.update({'csrf_token': self.csrf_token()}) - return self.opener.post(url, data=data, timeout=timeout) - return self.opener.get(url, timeout=timeout) - - \ No newline at end of file diff --git a/muk_utils/tests/test_attachment_migration.py b/muk_utils/tests/test_attachment_migration.py deleted file mode 100644 index 3f0ad85..0000000 --- a/muk_utils/tests/test_attachment_migration.py +++ /dev/null @@ -1,51 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import logging - -from odoo import exceptions -from odoo.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class MigrationTestCase(common.TransactionCase): - - def setUp(self): - super(MigrationTestCase, self).setUp() - self.model = self.env['ir.attachment'] - self.params = self.env['ir.config_parameter'].sudo() - self.location = self.params.get_param('ir_attachment.location') - if self.location == 'file': - self.params.set_param('ir_attachment.location', 'db') - else: - self.params.set_param('ir_attachment.location', 'file') - - def tearDown(self): - self.params.set_param('ir_attachment.location', self.location) - super(MigrationTestCase, self).tearDown() - - def test_migration(self): - self.model.search([], limit=25).migrate(batch_size=5) - \ No newline at end of file diff --git a/muk_utils/tests/test_search_parents.py b/muk_utils/tests/test_search_parents.py deleted file mode 100644 index 0f2ffca..0000000 --- a/muk_utils/tests/test_search_parents.py +++ /dev/null @@ -1,65 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import base64 -import logging - -from odoo import exceptions -from odoo.tests import common - -_path = os.path.dirname(os.path.dirname(__file__)) -_logger = logging.getLogger(__name__) - -class SearchParentTestCase(common.TransactionCase): - - def setUp(self): - super(SearchParentTestCase, self).setUp() - self.model = self.env['res.partner.category'] - - def tearDown(self): - super(SearchParentTestCase, self).tearDown() - - def _evaluate_parent_result(self, parents, records): - for parent in parents: - self.assertTrue( - not parent.parent_id or - parent.parent_id.id not in records.ids - ) - - def test_search_parents(self): - records = self.model.search([]) - parents = self.model.search_parents([]) - self._evaluate_parent_result(parents, records) - - def test_search_parents_domain(self): - records = self.model.search([('id', '!=', 1)]) - parents = self.model.search_parents([('id', '!=', 1)]) - self._evaluate_parent_result(parents, records) - - def test_search_read_parents(self): - parents = self.model.search_parents([]) - read_names = parents.read(['name']) - search_names = self.model.search_read_parents([], ['name']) - self.assertTrue(read_names == search_names) - - \ No newline at end of file diff --git a/muk_utils/tools/__init__.py b/muk_utils/tools/__init__.py deleted file mode 100644 index 6631a99..0000000 --- a/muk_utils/tools/__init__.py +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import rst -from . import file -from . import json -from . import cache -from . import types -from . import http -from . import patch -from . import security \ No newline at end of file diff --git a/muk_utils/tools/cache.py b/muk_utils/tools/cache.py deleted file mode 100644 index 0961c69..0000000 --- a/muk_utils/tools/cache.py +++ /dev/null @@ -1,63 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import time -import logging -import datetime -import functools - -_logger = logging.getLogger(__name__) - - -#---------------------------------------------------------- -# Properties -#---------------------------------------------------------- - -class cached_property(object): - - def __init__(self, timeout=None): - self.timeout = timeout - - def __call__(self, func): - return functools.update_wrapper(self, func) - - def __get__(self, obj, cls): - if obj is None: - return self - try: - value, last_updated = obj.__dict__[self.__name__] - except KeyError: - pass - else: - if self.timeout is None: - return value - elif self.timeout >= time.time() - last_updated: - return value - value = self.__wrapped__(obj) - obj.__dict__[self.__name__] = (value, time.time()) - return value - - def __delete__(self, obj): - obj.__dict__.pop(self.__name__, None) - - def __set__(self, obj, value): - obj.__dict__[self.__name__] = (value, time()) \ No newline at end of file diff --git a/muk_utils/tools/file.py b/muk_utils/tools/file.py deleted file mode 100644 index ceeb529..0000000 --- a/muk_utils/tools/file.py +++ /dev/null @@ -1,119 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import os -import re -import io -import sys -import base64 -import shutil -import urllib -import logging -import hashlib -import binascii -import tempfile -import mimetypes -import unicodedata - -from odoo.tools import human_size -from odoo.tools.mimetypes import guess_mimetype - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# File Helper -#---------------------------------------------------------- - -def slugify(value, lower=True): - value = unicodedata.normalize('NFKD', value) - value = value.encode('ascii', 'ignore').decode('ascii') - value = value.lower() if lower else value - value = re.sub('[^\w\s-]', '', value) - value = re.sub('[-\s]+', '-', value) - return value.strip() - -def check_name(name): - tmp_dir = tempfile.mkdtemp() - try: - open(os.path.join(tmp_dir, name), 'a').close() - except IOError: - return False - finally: - shutil.rmtree(tmp_dir) - return True - -def compute_name(name, suffix, escape_suffix): - if escape_suffix: - name, extension = os.path.splitext(name) - return "%s(%s)%s" % (name, suffix, extension) - else: - return "%s(%s)" % (name, suffix) - -def unique_name(name, names, escape_suffix=False): - if not name in names: - return name - else: - suffix = 1 - name = compute_name(name, suffix, escape_suffix) - while name in names: - suffix += 1 - name = compute_name(name, suffix, escape_suffix) - return name - -def unique_files(files): - ufiles = [] - unames = [] - for file in files: - uname = unique_name(file[0], unames, escape_suffix=True) - ufiles.append((uname, file[1])) - unames.append(uname) - return ufiles - -def guess_extension(filename=None, mimetype=None, binary=None): - extension = filename and os.path.splitext(filename)[1][1:].strip().lower() - if not extension and mimetype: - extension = mimetypes.guess_extension(mimetype)[1:].strip().lower() - if not extension and binary: - mimetype = guess_mimetype(binary, default="") - extension = mimetypes.guess_extension(mimetype)[1:].strip().lower() - return extension - -#---------------------------------------------------------- -# System Helper -#---------------------------------------------------------- - -def ensure_path_directories(path): - directory_path = os.path.dirname(path) - if not os.path.exists(directory_path): - os.makedirs(directory_path) - -def remove_empty_directories(path): - if not os.path.isdir(path): - return - entries = os.listdir(path) - if len(entries) > 0: - for entry in entries: - subpath = os.path.join(path, entry) - if os.path.isdir(subpath): - self._remove_empty_directories(subpath) - else: - os.rmdir(path) \ No newline at end of file diff --git a/muk_utils/tools/http.py b/muk_utils/tools/http.py deleted file mode 100644 index b12e6cb..0000000 --- a/muk_utils/tools/http.py +++ /dev/null @@ -1,59 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import urllib -import base64 -import logging - -from werkzeug.datastructures import CombinedMultiDict - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# Header Helper -#---------------------------------------------------------- - -def decode_http_basic_authentication_value(value): - try: - username, password = base64.b64decode(value).decode().split(':', 1) - return urllib.parse.unquote(username), urllib.parse.unquote(password) - except: - return None, None - -def decode_http_basic_authentication(encoded_header): - header_values = encoded_header.strip().split(' ') - if len(header_values) == 1: - return decode_http_basic_authentication_value(header_values[0]) - if len(header_values) == 2 and header_values[0].strip().lower() == 'basic': - return decode_http_basic_authentication_value(header_values[1]) - return None, None - -#---------------------------------------------------------- -# Werkzeug Helper -#---------------------------------------------------------- - -def request_params(httprequest): - return CombinedMultiDict([ - httprequest.args, - httprequest.form, - httprequest.files - ]) \ No newline at end of file diff --git a/muk_utils/tools/json.py b/muk_utils/tools/json.py deleted file mode 100644 index 183a3e1..0000000 --- a/muk_utils/tools/json.py +++ /dev/null @@ -1,52 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import json -import logging -import datetime - -from odoo import models, tools - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# JSON Encoder -#---------------------------------------------------------- - -class ResponseEncoder(json.JSONEncoder): - - def default(self, obj): - if isinstance(obj, datetime.datetime): - return obj.strftime(tools.DEFAULT_SERVER_DATETIME_FORMAT) - if isinstance(obj, datetime.date): - return obj.strftime(tools.DEFAULT_SERVER_DATE_FORMAT) - if isinstance(obj, (bytes, bytearray)): - return obj.decode() - return json.JSONEncoder.default(self, obj) - -class RecordEncoder(ResponseEncoder): - - def default(self, obj): - if isinstance(obj, models.BaseModel): - return obj.name_get() - return ResponseEncoder.default(self, obj) - \ No newline at end of file diff --git a/muk_utils/tools/patch.py b/muk_utils/tools/patch.py deleted file mode 100644 index c1a66d0..0000000 --- a/muk_utils/tools/patch.py +++ /dev/null @@ -1,39 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from odoo import api - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# Patch Helper -#---------------------------------------------------------- - -def monkey_patch(cls): - def decorate(func): - name = func.__name__ - func.super = getattr(cls, name, None) - setattr(cls, name, func) - return func - return decorate diff --git a/muk_utils/tools/rst.py b/muk_utils/tools/rst.py deleted file mode 100644 index 8bdf2cc..0000000 --- a/muk_utils/tools/rst.py +++ /dev/null @@ -1,55 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -from docutils import nodes -from docutils.core import publish_string -from docutils.transforms import Transform, writer_aux -from docutils.writers.html4css1 import Writer - -from odoo import tools - -_logger = logging.getLogger(__name__) - -class ReStructuredTextFilterMessages(Transform): - default_priority = 870 - def apply(self): - for node in self.document.traverse(nodes.system_message): - node.parent.remove(node) - -class ReStructuredTextWriter(Writer): - def get_transforms(self): - return [ReStructuredTextFilterMessages, writer_aux.Admonitions] - -def rst2html(content): - overrides = { - 'embed_stylesheet': False, - 'doctitle_xform': False, - 'output_encoding': 'unicode', - 'xml_declaration': False, - } - output = publish_string(content, - settings_overrides=overrides, - writer=ReStructuredTextWriter() - ) - return tools.html_sanitize(output) diff --git a/muk_utils/tools/security.py b/muk_utils/tools/security.py deleted file mode 100644 index ef008a5..0000000 --- a/muk_utils/tools/security.py +++ /dev/null @@ -1,37 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import string -import random -import logging - -_logger = logging.getLogger(__name__) - -UNICODE_ASCII_CHARACTERS = string.ascii_letters + string.digits - -#---------------------------------------------------------- -# Generator -#---------------------------------------------------------- - -def generate_token(length=30, chars=UNICODE_ASCII_CHARACTERS): - generator = random.SystemRandom() - return "".join(generator.choice(chars) for index in range(length)) \ No newline at end of file diff --git a/muk_utils/tools/types.py b/muk_utils/tools/types.py deleted file mode 100644 index 11ef779..0000000 --- a/muk_utils/tools/types.py +++ /dev/null @@ -1,40 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# Meta Classes -#---------------------------------------------------------- - -class Singleton(type): - - _instances = {} - - def __call__(cls, *args, **kwargs): - if cls not in cls._instances: - cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) - return cls._instances[cls] - - \ No newline at end of file diff --git a/muk_utils/tools/utils.py b/muk_utils/tools/utils.py deleted file mode 100644 index 84e3b4c..0000000 --- a/muk_utils/tools/utils.py +++ /dev/null @@ -1,48 +0,0 @@ -################################################################################### -# -# Copyright (c) 2017-2019 MuK IT GmbH. -# -# This file is part of MuK Utils -# (see https://mukit.at). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# -################################################################################### - -import logging - -_logger = logging.getLogger(__name__) - -#---------------------------------------------------------- -# List Methods -#---------------------------------------------------------- - -def uniquify_list(seq): - seen = set() - return [ - val for val in seq if val not in seen and not seen.add(val) - ] - -#---------------------------------------------------------- -# Safe Execute -#---------------------------------------------------------- - -def safe_execute_exception(default, exception, function, *args, **kwargs): - try: - return function(*args, **kwargs) - except exception: - return default - -def safe_execute(default, function, *args, **kwargs): - return safe_execute_exception(default, Exception, function, *args, **kwargs) \ No newline at end of file diff --git a/muk_utils/views/ir_attachment.xml b/muk_utils/views/ir_attachment.xml deleted file mode 100644 index f517990..0000000 --- a/muk_utils/views/ir_attachment.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - ir_attachment.search - ir.attachment - - - - - - - - - - - - - - - - - - - ir_attachment.tree - ir.attachment - - - - - - - - - - ir_attachment.form - ir.attachment - - - - - - - - - - - - \ No newline at end of file diff --git a/muk_utils/views/mixins_groups.xml b/muk_utils/views/mixins_groups.xml deleted file mode 100644 index 0f9bdcc..0000000 --- a/muk_utils/views/mixins_groups.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - muk_utils_mixins_groups.tree - muk_utils.mixins.groups - - - - - - - - - - muk_utils_mixins_groups.form - muk_utils.mixins.groups - -
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- -
\ No newline at end of file diff --git a/muk_utils/views/res_config_settings.xml b/muk_utils/views/res_config_settings.xml deleted file mode 100644 index 7f8a0ff..0000000 --- a/muk_utils/views/res_config_settings.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - res.config.settings.view.form - res.config.settings - - -
-

Storage

-
-
-
-
-
-
-
-
-
-
- -
\ No newline at end of file