From e1a6c5d5a1aa4619136df50593c8183491e4c4ed Mon Sep 17 00:00:00 2001 From: MuK IT GmbH Date: Sun, 3 Nov 2019 21:10:24 +0000 Subject: [PATCH] publish muk_autovacuum - 13.0 --- muk_autovacuum/LICENSE | 165 +++++++ muk_autovacuum/README.rst | 120 ++++++ muk_autovacuum/__init__.py | 23 + muk_autovacuum/__manifest__.py | 56 +++ muk_autovacuum/data/rules.xml | 38 ++ muk_autovacuum/doc/changelog.rst | 20 + muk_autovacuum/doc/index.rst | 120 ++++++ muk_autovacuum/i18n/ar.po | 402 +++++++++++++++++ muk_autovacuum/i18n/de.po | 408 ++++++++++++++++++ muk_autovacuum/i18n/es.po | 407 +++++++++++++++++ muk_autovacuum/i18n/fr.po | 407 +++++++++++++++++ muk_autovacuum/i18n/hi.po | 402 +++++++++++++++++ muk_autovacuum/i18n/muk_autovacuum.pot | 402 +++++++++++++++++ muk_autovacuum/i18n/nl.po | 402 +++++++++++++++++ muk_autovacuum/i18n/pt.po | 402 +++++++++++++++++ muk_autovacuum/i18n/ru.po | 402 +++++++++++++++++ muk_autovacuum/models/__init__.py | 24 ++ muk_autovacuum/models/ir_autovacuum.py | 90 ++++ muk_autovacuum/models/rules.py | 330 ++++++++++++++ muk_autovacuum/security/ir.model.access.csv | 3 + muk_autovacuum/static/description/banner.png | Bin 0 -> 43442 bytes muk_autovacuum/static/description/icon.png | Bin 0 -> 9316 bytes muk_autovacuum/static/description/icon.svg | 38 ++ muk_autovacuum/static/description/index.html | 128 ++++++ muk_autovacuum/static/description/logo.png | Bin 0 -> 38064 bytes muk_autovacuum/static/description/preview.png | Bin 0 -> 33203 bytes .../static/description/screenshot.png | Bin 0 -> 45295 bytes .../description/service_customization.png | Bin 0 -> 27452 bytes .../description/service_development.png | Bin 0 -> 28929 bytes .../description/service_implementation.png | Bin 0 -> 26148 bytes .../description/service_integration.png | Bin 0 -> 24862 bytes .../static/description/service_support.png | Bin 0 -> 24150 bytes .../static/xls/muk_autovacuum_rules.xls | Bin 0 -> 26112 bytes muk_autovacuum/tests/__init__.py | 23 + muk_autovacuum/tests/test_autovacuum.py | 99 +++++ muk_autovacuum/views/rules.xml | 161 +++++++ 36 files changed, 5072 insertions(+) create mode 100644 muk_autovacuum/LICENSE create mode 100644 muk_autovacuum/README.rst create mode 100644 muk_autovacuum/__init__.py create mode 100644 muk_autovacuum/__manifest__.py create mode 100644 muk_autovacuum/data/rules.xml create mode 100644 muk_autovacuum/doc/changelog.rst create mode 100644 muk_autovacuum/doc/index.rst create mode 100644 muk_autovacuum/i18n/ar.po create mode 100644 muk_autovacuum/i18n/de.po create mode 100644 muk_autovacuum/i18n/es.po create mode 100644 muk_autovacuum/i18n/fr.po create mode 100644 muk_autovacuum/i18n/hi.po create mode 100644 muk_autovacuum/i18n/muk_autovacuum.pot create mode 100644 muk_autovacuum/i18n/nl.po create mode 100644 muk_autovacuum/i18n/pt.po create mode 100644 muk_autovacuum/i18n/ru.po create mode 100644 muk_autovacuum/models/__init__.py create mode 100644 muk_autovacuum/models/ir_autovacuum.py create mode 100644 muk_autovacuum/models/rules.py create mode 100644 muk_autovacuum/security/ir.model.access.csv create mode 100644 muk_autovacuum/static/description/banner.png create mode 100644 muk_autovacuum/static/description/icon.png create mode 100644 muk_autovacuum/static/description/icon.svg create mode 100644 muk_autovacuum/static/description/index.html create mode 100644 muk_autovacuum/static/description/logo.png create mode 100644 muk_autovacuum/static/description/preview.png create mode 100644 muk_autovacuum/static/description/screenshot.png create mode 100644 muk_autovacuum/static/description/service_customization.png create mode 100644 muk_autovacuum/static/description/service_development.png create mode 100644 muk_autovacuum/static/description/service_implementation.png create mode 100644 muk_autovacuum/static/description/service_integration.png create mode 100644 muk_autovacuum/static/description/service_support.png create mode 100644 muk_autovacuum/static/xls/muk_autovacuum_rules.xls create mode 100644 muk_autovacuum/tests/__init__.py create mode 100644 muk_autovacuum/tests/test_autovacuum.py create mode 100644 muk_autovacuum/views/rules.xml diff --git a/muk_autovacuum/LICENSE b/muk_autovacuum/LICENSE new file mode 100644 index 0000000..153d416 --- /dev/null +++ b/muk_autovacuum/LICENSE @@ -0,0 +1,165 @@ + 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 new file mode 100644 index 0000000..d81dcd9 --- /dev/null +++ b/muk_autovacuum/README.rst @@ -0,0 +1,120 @@ +============== +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 new file mode 100644 index 0000000..57c50e8 --- /dev/null +++ b/muk_autovacuum/__init__.py @@ -0,0 +1,23 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..1a997b0 --- /dev/null +++ b/muk_autovacuum/__manifest__.py @@ -0,0 +1,56 @@ +################################################################################### +# +# 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': '13.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 new file mode 100644 index 0000000..c2cea2d --- /dev/null +++ b/muk_autovacuum/data/rules.xml @@ -0,0 +1,38 @@ + + + + + + + + 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 new file mode 100644 index 0000000..75ffd70 --- /dev/null +++ b/muk_autovacuum/doc/changelog.rst @@ -0,0 +1,20 @@ +`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 new file mode 100644 index 0000000..d81dcd9 --- /dev/null +++ b/muk_autovacuum/doc/index.rst @@ -0,0 +1,120 @@ +============== +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 new file mode 100644 index 0000000..b23e933 --- /dev/null +++ b/muk_autovacuum/i18n/ar.po @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..cf9d8de --- /dev/null +++ b/muk_autovacuum/i18n/de.po @@ -0,0 +1,408 @@ +# 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 new file mode 100644 index 0000000..f0b9e06 --- /dev/null +++ b/muk_autovacuum/i18n/es.po @@ -0,0 +1,407 @@ +# 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 new file mode 100644 index 0000000..e4a6c82 --- /dev/null +++ b/muk_autovacuum/i18n/fr.po @@ -0,0 +1,407 @@ +# 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 new file mode 100644 index 0000000..ceeed86 --- /dev/null +++ b/muk_autovacuum/i18n/hi.po @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..f0ff291 --- /dev/null +++ b/muk_autovacuum/i18n/muk_autovacuum.pot @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..acd392a --- /dev/null +++ b/muk_autovacuum/i18n/nl.po @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..7487fb7 --- /dev/null +++ b/muk_autovacuum/i18n/pt.po @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..ea2864d --- /dev/null +++ b/muk_autovacuum/i18n/ru.po @@ -0,0 +1,402 @@ +# 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 new file mode 100644 index 0000000..b8a051f --- /dev/null +++ b/muk_autovacuum/models/__init__.py @@ -0,0 +1,24 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..1b0875e --- /dev/null +++ b/muk_autovacuum/models/ir_autovacuum.py @@ -0,0 +1,90 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..c2dccf3 --- /dev/null +++ b/muk_autovacuum/models/rules.py @@ -0,0 +1,330 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..a369089 --- /dev/null +++ b/muk_autovacuum/security/ir.model.access.csv @@ -0,0 +1,3 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..488c2ebe8a458ee8c5f7556f11fc8761279c5367 GIT binary patch literal 43442 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

g!r)%gZnS{^tyizB>4`n-K)NFMu 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 literal 0 HcmV?d00001 diff --git a/muk_autovacuum/static/description/icon.svg b/muk_autovacuum/static/description/icon.svg new file mode 100644 index 0000000..a2f1e29 --- /dev/null +++ b/muk_autovacuum/static/description/icon.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/muk_autovacuum/static/description/index.html b/muk_autovacuum/static/description/index.html new file mode 100644 index 0000000..635dbdf --- /dev/null +++ b/muk_autovacuum/static/description/index.html @@ -0,0 +1,128 @@ +

+
+

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 new file mode 100644 index 0000000000000000000000000000000000000000..9427ce33ea36c2ec961356d01d612bae02d48ce2 GIT binary patch literal 38064 zcmeFYWmlVBv;`X63l#T4u~3S;y99SAg(Ag@yGwD`AjOIWcXuchcXxMpx0{}O-un;k zxAP$*BYF1NkFCAeTyxG9rmQH9fl7=D001y#Wh7Jq0GR84A7n)6KSQ%?;Q+t~fUJb5 zx|{xS27()&^jzN?4#9^;U3=F8WqQ>th=`oMt1EJ<2(qYu3&AG{4=%kjYAX-)+tu~` zCfAuG*PVVI7S$cCtLvD+*xd!!LPo|Fe}W)CyEJ?wD-3NXdq`K&9_|3+rPz*>!SW=Y`x zgwFXtmqOx{3HRSf4iP_$W<+p5)&CyDF$frS{CD<$BmEGOD@Eu0-s`~scMDeI?(hB^ zISzncBC#@6#DBK{z1gwA^iGaYaGDU^`6#wPFRcxSf2IfwjFCmnkWJ zO(-%zYrrtlI7+7=fHMedZuo`tGzNw6Uz%?+z=l;FWCEDV05ia4A1GG==CpxXc>LV7 zSr)LWAYH&mKqR~Yrk~Jv?un2xEGn_7t{OX8DL)L4`0TmU00>wI<}2d*Y$ z_V@y+z!IySi(h7paQ=6}WFF&x>GQw`7|b=TX|AtfaYAa?#Q6FBw1FZCh&Su3mE5Gq zCkN>EjDGfFp)v}{V`BT6eqc5X?@|!Za;@nOVC{j?n_Hly@RfMB4BvY7dW2O*9UI=d?KM>GvrqA{CTJ3&X0#@K36vle}ATmljt4` z@DhlHb}bi0GlvQTq-m2&hBYU`BK*GQ3+BG1;C;<>t^w*)bmrI$b9?D3Gy}-u%!ADT^8r2Sf#7{chLB zaneTqjKktJteP3bYG`Pf!siQ2Dy8L)f2${5s5Tg=z37kQMB@!p#1})KU?WNTY!3}B zrLU{0Ua1>FF6bfyf=KToUUPdXsjsJGtJq9rVswNu>Gc}{7ma|dpIH9sK~ShVgB`2N zg;+^X#m2TXSeLfWZoEool9fy65KY3K$E>$yoAUIeLC1kP&j6jg0aRCLrX0LY6ajET z#>A9ie7uy$a$~(n2F$0HCN!1*sum z&NlAIKF7Rot=PNNX)n~yryhCP1E3PW*3nM5F)~m?0dWwhCZCd|b#X2zC}=4%g#{ta z^_l2sL!(UlU4p=J9IXb(Azl|H>!VqG1gB6tOBi&OMZjodemFb0dds;xXLY-bJigi^ z334b;5hT)KH={;s0s?}o0`~WsF7R0Y;aPU-Rd{rr^>+YzIh5~@QJ2y7B`?O9htt(4 z%bu>BuRmb-ykZ*o?t3Mmk-vAIR)h&iz4i=&x@M3BtPDnj%>1hG&%R#LDCXbO!bp z(zh5I(-~fk3W5(g^*40(2dmBs zIBbHeS5n54Xw(oHGx^Bf+p{Eev)YD;TM>RK7khOyp^T?d6Jc7myBVC#yrKZk-RBdCN+AnN%Vuh1Uj` zl$5k^i3ss*&A?G8;K>Nqo(4L7SLG*-!_7oX^A*Pru&_8b!%L9V1 ztN^dZ;Mxa5MCWIFzo{FYw1pJCliRE{3PPp-lr&7lKAr|1Wz|KaoR?*?KR>z!st%$e(ls(ZVNys7 zW7@(a(2Uj&CDGvEE8U2elP(M#c?V(nM>jXJ{v3O65b&xa@z~y}?6t$-_jSqT3@@OK zmWm2nbMH*GLbFK#Uy)q;6F%GFHdtC}AN{^jQBjd1MUlsxc*d7o)zl<>?0rY(hv-bN zLhuamq6_4~{Umx%MT;c|UHG?PTc; z>u<~qG7NAB6QBtK>S>m)1P(Y7^flpD(kS!r@foa2Fsm0SCp8ybl{+AwxylJdKdJLV zLy18vizb*EQi@=}9h9%q`mk8W&v=pIb|+hP;7I53v$z%}%Z?A!iA{L+?mWFluJiJ2O~#T`HQB8Mo0T*6dP;oYOzJCV zrF2i#{{{)H1z~MJtp1E@uKO|c*h>Q;MKVxUwyO;2`+ET5;<2>htv3BrftF9HM|`QJ zQNOyvJJ-T#$#~J%izs;UOLqqc0=5Cv$M4;*6^!MW+`(w_j>cdd&LK>x8-kwB_3H?$T5O}gMo6a@!5v4-Fb=$1E|MBxvG`N_mr8%v&(#YI4SXT9wQ5aUI{@(Nne5cfxVWQCr_ zT_3tKkve4oK%b>njLdd+ETW?F;bIz8g1^jH`CWhh{8U8gzsdlW(^{_!jD0To_yLk9 zZtg%oBaS&RaUVCwuE~ z;m4aYnTv}H;bP0DMJ@;_CCK!1Feg_(nPyp#rh@b#!g0L2q?MUZkfCpsKH-GmerKEUAweQ*S zUoJ_gsN%V#JxL|*w;^JH?nfu-r`@On;^H$9ikV_suI;IK26Uq>QL{xMuY)EcKN`yH zY(+h!sK0SIvT9UpfBe020-oI+3~yR3Wa0#f^h7;NGy<_+lRPpxZ!B4icmeWxpG`$B z60;+Lwc$$zbY`MJ6Bxi7T&&MgxgepC4XRjoZ9)u9M+3rQ`-XZW06VVfx<#X)@uZvaf`EN!>|*KFq{t8#2-HEHaSFy!HTs(J1Lf z!*)}_@eIGLz^a<==liVfwo@3ku(i5i+rfRq!Z!sBsKhYU~XfI zE*;&$QL(;>vFz$0_YRGlQvknY%?e5=xX%m3CLeJ}YfLq*_6gb-)95p>>H4=%Flo zQWKgEFyTH08oKIs$sZ#Mq|;g}d4?8LO(Up#q~i=nza+ zxb2BaCfN~Zj7=&Qq484dWT9%@9naejW)(zH=mWL|Vr@K9X4%RvWF3jT1()59Y=5ZT z>omN!yPN(wO+j!`0@_(W;>9gmUN$dr$M^d)>oZFasfANswo_bH2U)y*U_m9Z2{d{h z5D`F$Hst4JBc);^o&2+tz~@>C^JUvn?6=V{rp3tHabkP|K%W4R)a4;kxs@ z>TOqhGvsmn=}@*`v#_w3^MHB7`a^`7PpM#M37+z=xh2G~zfKrm1ScGluUDs`<ewk~ZM)mg>IHb1_H@$sbcvEJi`FS7J=}0Cn^SC+e%$=`s{-s_{DI`61 zYAeJK=rIGFS)8vx$*-^-b_g@y=vP*sqHUJ;ZPk+BPvh#%uq zF`9dCK0_EW*3H$`!7os5gw^`b7;!R>%VreWB1Ke32^v4YuE#_jftWJ=?->rDi34Cw zIhY$jM2~*58G-EfN)|fOU}X0l{GQ7Y#;(m1)SjW#MisbXpo~K}Nd1&a8C<^qbor3f~Ft(01Kf zD1YU?AkYZOvVdn$-KGpw_Vp0(F1e|htPy=W zLY&}wPBs5w!zP5ROf0H_Hh2iQHn7|Rx@(|z?$rCj=cl9e=BH(6mE9_F5h2Vi^~GKe z+VBW=yrX=3dX2V||H<7{vZ)b=80w&2z3*Miy9CQw&1+zXLg4jlA#-%@;7{#huHyn^ zwt6!`H5z`M2$$4|+oxBcbfNV#<&>D(oy(5}c(`Wgz_vCr-rgAkG4oGkdHJ;_K;nC`SbL>wQ^Voi<7J`D{F9(WGtSV)^R`i`fL?AOS*FH*sNeC9k-)bC zyPNW$4Az`lG`8kNLh+S;7G>gvt6<}ZymiSlrtprpfcV4GuMH?$W=zW7_LPqP^1rBf zlSZy3H(=e1borz!XadK5(u;X1i%XfIm|9KSD&!M{5q+I`v0U$VNlHGo4zPi3?-USy z(yi{L_ouZf@z9F5+Jq8V4|mU66$Rc%PZw(Mmobfsf3IsBWH|cp;kb#SCZM|Q%{Z^I znqx+6%0pnuU}*ZjLpHs^;%v};YZ%8gI@sq&#O_V z-tTe4ZhhPSP`Co1S=^preNQ>mPspP|C zqH4BpEAIkq*(HCrr=b}bWXpCe4Ktke6)9tFby(v2*OzXf& zvTvw+bjg%d;v+wXqr_w=u{PonnL!+qBIV4&K$12dRX$WFhW)^aov$00^{FJ@f-ZPs zDS}*+vAG%PmtWLSrt8}fx3-(m>^CdsB1$wED!@7!Q(PPWc>xeaD2kv&faA@e*pNew z=v=G|hKb7Dc>UrE66Qp!rLcf^`GCQ8}knl zS|4GDK0^jsFxW}zem|7Qk3cygQwCI5kG&sECcBVg5bg zY6Jfw*9#067uU9xiY)StUs5f5=R>hzi{%5_0F=$u0s9kh8bT2OC)=TDvu8T!txe z_We)>Eev9@?L8mmud&)Jetq{Ra_DbrGnK3|-7Q>Dj8#a68b?WJzBUgXqgpCkMEkPjxQ^ z6G}*lPNH{IiuY7OK=%eB6c`8gFn zg&)_xng8& z9MJqtt7n_F+tAEXjxQ(uOx)<`*u-v`*h*$D^`n4l_~!;O)*X2)MZpLWZS*F?;}>$u znFkCzZ#&I_ds7A9tU(F61QH*F!@q9rilWvJY705WqI5LFpLMPu_%dF`k@jRLB}%WV ziG|c%Vd(959u+36`{|c`WeO;lH^nl9XRq5U zh4@$_Wk5PV!$kpECg~dXk)fd?GBWh^nY=vI5)a%Q9JtsU*rB135_aZ=4qPOJq_9LL z_j=#2&-R6W!2A@=3SZpVz(z(xQ+q^44S&VY_66cuxVbf2EU~k&c)*Z|jfI7ZNJvoY zw|Yc9#Y{h4TCcUTBHr!G|EiZcKNUj;u|5u%%7}l-q(TR5M})?M2p88s!f1O6GWNC} zQ86L|ZAe89*)0u73}5iNVA=8iTvc0RWm2ITo?{Ku43h*|vLpjJ|}a z&Bw>5>alrOUeiz$l$$%{DV&?bII0-^*0k2M5T?0xrgwCB=wGh@u5o&NVC{aJ@NM+j z)|2A9ujEz!-isuhCp!5;Q6IB%hTe%wZrJ$qH4UG&EeJ~;FJ4ywSv!$3yzf5Y8ozsC zUls5x!RdqMqg@BLEsM*b)lAY4XM304{#U_^sXON|mY(x^e6jH#7sAjoHfpm9W;!c* zCSsjFQW!6ECt3VlV0&tBn~Dl|z=kY%X-3e_%bjF%>eODdzy$P>Bn3jPPhjnLj{8f9 zS4fLL%STZf{qu?c=EUC7bTo-eqNXoHUnAIo+)uIM`S~O`CJnt9w{TW7$4*q9g#SHM zO;ImFP9o>_?ol;@d}G98`e6Z6n(fQAk1`GAV=4W<2|pV}MTU!g2YcBbyxz{U61QBw zVGz5OAYa7&o`{3+Y2aZIhW=x!FEJmIiz-x{xj>k@^xw!QVaUSNam7+vF)(zy)G?y; zrI5qG_b;Z%i^uK(v4r)r*mx*Qodo@MZcORF^{UE0XYv#SCsz^12J0maMp0wAZhu2z zjE(oFrW{Xfg2wq@yVpJdF!x4g=qLdukVe5}lb4x+0ktN%w6m0Eo26oO_i!_EWN7!J z*=^||Zs%og{+7%lOl}W$13Z>;L86RbXHugEXraq)wAf8WrRC}x&xhYlb6{L*$^3gv z?i*fZ9rmD0a@2;IQ(IeE)FqX=4_!`$mJi}MZ~5gK*Wg*Muhf#wL`RKEButM=noq&9 znOC%OrbTP?tM^k&gK?IS`6m{S^asjBf zLrDv*)~!{FpdrWQ?x3uk^SBkt?pPn8$$mtWPZ$<*E!A(<9AkqfmEvPLqvq*LD5EZepY~zg_0$3p z{aO&)x8dnDZI@AhA6%)Y)$>^9N2UmP5P}E_07zH${r&Vi^v5f-2lR}WFU+#dP^s`z z*i*Q6{hlR&dW8b}=FiLfLHp$p1@~8Im}9aW-gUF8{J!>K0Dpc7iNHDZXLyLh6C?DF z8Abz1w^fO92UKHxLUr&@H9wAiRep8dK=fI4oJ3c;zmHIPC^G!@R!+6{ZJ5Lb?zIL- zoIv(=Wj7oiNYoCX!L6DvbwOE`WKlI!wsCqOsB-g+P<{-PD}A z#yu|_@xT*%amRnD zzZdXLia}~G(x3VM_c=hUa<@}Qz?;l3w4XlE+nj#jjOMr-KInb+MjQp}Dg_1hL;G_< zQc<{8o&@^9RyTqIeFreEc`+`Zh8%Z&o&h&Idd1Fi4F()Jc}_rv9c$NuikQ?AUa zAWXpbd4(jaqYK}vo%s&rw|;{1B#WKlSX9A|vOsiTuF80_a9b8q%r8G~7%4L!XYBin z7Cyp-4y5=dsi#)~jPS1JBg%6@vOs>A-}T#60`Q|T%nTRXqe@Ighv@?C#Nl=_h#mgU z7qnV<63Q<(O10p3uy7!rToWNw$6T_U{g@t4O!Dlj&W%R-OG1$M(!`|YFy2Bmxs!dErtgk&b`z8CLDQod_Pt=7Gn+5UN` zq^JsX5|ySEe7i$LV~X#4E1;>m^7X%#Cg?nP;GCBzQrZpN4;7H1B1_mZnFu}~)558I z8L#4PcJ)AsBY1AMT~_9aBFhx?{du#wo~+u66+4WISJN`B1sie7VGL_eTy;X zaSi|_9F=H%ibpGJXF>?MYrFA<8>bX{AiI`iwwbIJjUlNR)3+{k;)Hz z!b$gw@kWANIEPYfFi|kNa}q6C9PJ|wS1#PY<}8aZ6*>X~IDM#Oq z6g&CnlBJtsbaaQl3a;;CwbjW>E7XcNocyI(@g61^PI@PJsPQmBZnqtFA-7}Az)jUx+b?CJ_E6(HkRCU@uou>6UI+fy>Qm-f)Z7cq&@& zgRM?ool(%G@n|4xe~J*<>)i)jjD|Le^KMI-r!i(b4|}~CL-V9rNpNLPM7;V)8EWya zYzT()N^F;+(aRZ>wHC`s)ZlJONgPc2dtH?)BIy&^`#j#WqcJr*xBT%=i+Q z5OO{z77D28-g}1!Whp=NKAKWJW)@Zyi@w?>YfXu4vIAPmMSA}B|mESH67*B-$?`(NWlC9-NbTtAjmRYMdW z%B7z)0KzDgqdFOv92_6G_VG2LWkOfl{%~RZ1snqlH9F4hS$9T3#ph?Iqr=Q}qet%h z_d(TWEHBwe2q9U{V?TL(4;)InO-f~p5uJZ@dCmi3KThW@L{whSInQzkl#rpFSe2&i zlu+w7dA?El9M9wUydFBaFr^DK?<$f83=`#+OiXY+K|GaM4Fz|GC$v5qpRP6%Pg1+G zqAD`wx}x)Lxu>mkP5s1Z4uTxVw3^ns~f)Zu@GLll6H686$<(Lq(%e?HqU;> zbVzdNmMB`Iw@rV#t3DLr;pNM6EvVmLE(ZGh2W)Vb9uGv*UkaUOUFP@xZgazdkI`tkpq+n=uus8JEB-!8IGe}EmM?E} zcssk|SvZ%IpgJ!ZW!-+JJzc0O8&-A3W)44>6C)b7C5_Id`P60idqBJ429vXx)Itr? zWgB5iEg;p1;g!eoAw3sO%1`caD2J8BBKq`3^%BuB3r-$e@n#f@qCs1LNAA zN3v=X+w|P1?Q_qTmMx3pk>RrMMlw`EeUvtlI||lc(-6y_wvAxT5c0)-5$xUg^ASXt zU!DZD&@iU6z3V~6>wJ*Y8aG)-p6ON5jTfN#Ld2OxkVBPQY0&dyX4kwR;}=w<%r%`E z%>QBP^OI7$@`{jYS!L~6A#@Zd{yk*TM5Rh3+O>re8T>orQvnUU4e6Ol0J*dQO54|e zJ`7U;Z(s+7nz6weWJpgQf?*wAgx)XNu+E}q7*=T`8EWq3&|u?d-eHa(rv()$K7kfK(+2Ta3U z@5<;azD5W;d!|Ox0$qJ&)7o_%s-0}&#aqrEw0KnP!unQu(Heu{A@GN08!Ci+27Cgf z`~d1Vy`iJIlJ~LuI_FD9F~^`j)MQ&nv7JEzpG~^)??-h?LB=vw2UD$5AFL16wHus~ zq!iN2aeK!-b7L}0YP{n3AS8;JEqk8FS9SSglka27c&tr&tO6w5!|Wp>34 zZ9hSN?|!!p!Jh$TeVJH3Lsc+D6%WJ$&nD_pK^5-I{?4eF1Xb1i#I-ffLxMAb-d5r0 zKf*HK%no<1%*6W^cSM+xf7GgeYjnWKXTE>P)yRyOF{$!kgaleIZ6l$d&5`}{g>jf+ zC%s7>AYU)3QY!@`B((jLPro+Vqmex}Zyh)~2jAVCP9y5+a);z@Ev0X(Ys6J|dTX1= z9}(L=Xvj{}$31lyN5H`huP3@sn*YY|n6%?2E~f?H!?Gko_&g4{lFkH!K9E^=sD;fU z?x1Zvp#~|i9zqo_!V`YDG?(Y1yis+vk7q9z9}%++SH6H`7s*e_?~gjMS7>mkGE|C} zCjuU`CK}d0@bJJ3277FdU-(YvDVmh#_0g`)1tfb4PtA9Kq`KHUDA9IQ{+2zX?*H&~ z88lugw&8k1C?A~u{*8#?eX(NS7eW@2YwGD7a6D?b+T^d_QFx2y&X0F9p4yLlVKHD8 z`K~`-?k8|_6{TKU91zyRR4{|@rg^pRS{_@o$ViV_-LLJYi}WS!FOT@l;mcQBtqsFx zXW9bV1Rq_G{1iW@eGm{JJzZ^|ulKB|hRdzLb>2ZG6#fzF@ZG@5b8NMf`AO-e;I(n_ zd&H4j3Bgbl{K3v=K!u9(oYM%J420uoXLnm~ zMpIQ0&5OOci5>-uJIYP51K+TizqLtKK$Ypu+DA=M9d?tysX^?qlzLy3wO5rgJpPP* z6RsL?ZZ8jqig4ix>s@#qMu%RYo~&{y=KdUnE90BzgM4e3$EVhZdq_NK_#yZR5(oEn zp;c#MYbpG!_ZJQTwa=O%FiV54ff`C53ZiU~P*@j^&ysag13*y&P+!=wpeI=enLtP- z@=Ghn^4Ik75+52G-k>T$k4xNtf-uxj_vL5(CRZS=yMyrtuI=~1Sp9_`TYW<3%mv<{L;^t zR!r}Lx?CZJ5vjyG?gft9K6*=^qzngJX|$_7G7i&UjJgFRtG}lR+29s~nFE&Y$g>Js zLKwV}_8SA=_kkJkPwpi>JkPr@YZ}OUx|3h4M6-WchHv-#o!&4|HC;V9AHxhIjB6oh zk6uToPK@h{&S&ZVRE2=Sa5pSub9(JQaK69!LS}_IIf$G=U#fnr0grh-S5T$W+{F9S z`FI6%r~PXJ98j}c)h(9V#NV=!(beZr!@3rNZ%@NrMts!ci>}p+8eHWU8*1u$1lFqV zi;Z|qPPq=2brbujsXv;$lxP;U9@xfCvX9MsAZt+wD76X$KDoVzSln9a<6KwR$BDY* znF~QR+}p}*tj$5gR0Q&d9Z==`&xb(vCZ+eyf~m~u%N43%7~V&SJjOb#pS&g4%ex9-4K_J; zHV@9oIeF0F4k%5Ekd!zYfj?$z8smiU=hz0_*y3Q21O4h*FCHvWmn`_C@RP` z>S1bcjCI^mAUZ?9I5i*4Ss~q`Sy@v9IS*PCLw1PYN(zK}Cg>==fHdy4V<^bzwRD&^ zgZ3|mL+Px7N%Coa0^eH8zF#wZAarb?=t)Exi?_QDdol+JOqGJ{rx}0ET^syk#GFc* zZ%IGg!QF5yT9_*r{I%k9nw;uDtW$=#0LdQ z=VTG@Cv?x20ku)yFo0r-KP>Xct4U#L zbnF=xTwUUtSv0i8PuXbk1hxMp4QDK<69(wFo;;%WRwbBeB>%J$X?V9kUyVYan>u#g zqzzTcGzLU^pZADx6633&3eR}^8CH6S6DK8uV!Y>2B4aQwPTvQU@O{cd&6X^#qPdphPcwdMDxtGG$W#pMD0d{o1`%XA2Ho%A#>WdL{yW+jQ7RSW*ob86~dikp06;xIfoEl{>5CqsL8V# z4mx9@E;Ce@GvVt2EV)aU0x=2oSY$xr*b@lZUY~inR6&tzUp5OHXky9m8$`Y&7#!WZ z8c@aWF&Gbo<9ZdqELv7g(L5Y`fn#+U`Icqv*2clDMd#M=hzR^jsz6FE9Th%`-yES(*rQzc;xfhd&n(NafmfulOS!pMq!b|aK&i1ubKO>#A%4Wg}w?8eS z91;YQhFXr&>4iQ)_?Z5|J&$-*)prAAs)IRcZ}&LeeG1WPVdJO}Ir`PVV2b6&ocp^| zoZ$r@b*&t#y4|0)CTAyEOZ2imwbRM|V8O9hLsP4qt! zhb{SfbLi6s9Ptfj9zP?a#prQ-$vD(twQQwB5qsxw;&vox;WUUS7}q2R+ym@mm&x3x)$FuRs3(KZmnkYt4MwR^32lYzn&qDoBk?d1> z?b-5SIofR2t?zH^UdFulxd-`+LarzFlIc~kBJ%J3T=4tFe@F98&#E>xZS4KRNyMZ# z_Pn7*7Ed}E*Qmma&&ZJ`)?z{=Ni$ay;b+1zWBxlibF^7HyHn$(Qe*{eW`-A0qzrVn zp};X!o>)haMMlR`t0`NOmI6a1_PzkKsXVZLjZNlWdT&n0s&JU-mi^ZlqU z-SZW+oAa05B(6&ms9sRJR&Uk!R|id93q7v~bIsWNw@ud70m6`$@oapeX5A%(@DZVX zHQaHxL#rYe+PSgZR8gLe4CXOC9)B&=%1s5%E(_C30P7t#qJ54rc~gA!1h`W*fi|cJ z5LaYgQ^jwUxV7t{mX309=#~T{Qc&md{wyA#8I5u}agw!MOn2eNY8*$FQgsj=urE>! zTh@u_7A>co&+Z`g(0)6Yvdw$lhFi5~E8JE4IYgZxEdz^Fohb$G-eY5K*A@DEfC%(|GC#!^W`dn z(?Z4}vPAm~As6_<_oOc`%DJ%|Yf(@353B5jpUw=r@)3xxG-p76M!8bqh#UtGSS&`V z#vk0hmXw@Gp)DekHsiBTF=C;57bg*C5&Y0f+1?DlfwNEclN}Z zadC(%5@I(FVujN4Q{sM)d4b&z(!`=!N2BzaarA{S6+Tw)F334cv78iJ`_DMM@HlAS~t)7OPV# zd}wCsgH;t{j#KqPF`xs?U9j&OE~H|Z>WWT*axITcK{h7Fxf*?$>~ocmzP2@dH0p?! z9c!~vS^B?V@2gZ*rrZt8&FNe7M|&4P^Ot(xpGC!Jc1PqtD3@C;``!~?!^rT~CKO{F zuVRyZdCvPg6qCV5(qXmiFOx{4doWXl(OhR;&T~nmm8afg_avO`oQP0v)m{oBHZlJ5 z(a3&%e{KJa_1&xOFwQH8(oa{DG3&Ca_Mi$^M2iw061rn*_>XWx*9QH1*J;BL^LTgQ z2yJS}l8g^&ygLntGMt?Q7uI3o#gO(FD7O~4&a=3b?Reslm7K(S#vfGWd@Ot{tW(Zd zdJFHWw8KxJL=v;iTVwnNH7xT_l8F8ZBT1EE4zacLje_c-^a9+^?Kru#igJ}!VGA%( zx(kTp%X44^CIPnhz8OvBC7Aj~ncR+FoGP?nEYuoP)$OkT0#MqU;NhUwKMM7nA{U@JHN1Cqh|dPFZ4Z9R~!`?2Y-yBv`5!-++SM){Yi|qdyz;^TKoN< z7a(wZ1dOB-M8e@9-#^D@8KjlDR~?dTFJZ#J6^6F?~+XC9=Sf+2qE%%cyrVP^!1P zDgBZMZPn1#ViZ~AC=#WRh+1^kB5TyE*24)ZzKXX9iJvcyt%)glE`4sh?`ymh&uy-gXRgi~XEBj<*uK<@5MKL2 z9{bT7bY1j~=m5Pg-Qp|Vn7;BTDutkm5`>Shfqb$A4Qg8u9Y|KxUG;sw5sol&v3KeE zt8!X+<*c#nd5-*#9k{F`!S~K@;vY-qr-OQa#a5Xe+FuG=?$m)lwh3_WVi_G{n5!Oh z2Q35(9lrEV=aYS6m|ODhFO=X7K7`VLg{D8DCThHltmcEHjMgxOSI-{*`pwPhP4&P$FL_g!i*{nznpY58b}fAr@J(in~gvM2Vj`~DbxR9^a8r+^xp_d8MJjmv>eI*eybbOozotRx; z_Cs#|Kboxvc(h^_{*%&>u*xC1T$Q>2v>W+HSY2|q7O3#a@e=q@C9bsWd(ESw4nnZq zee%e5y2!b1Z3Fy3p}baWXHuc>@J1$aLIWhLsyggLTXvY=taIbtfdWZD+!0RF!8=7s zy7prA)$h~5pS}LV(Ob_Me;;13wpvD1ucHSN zmnq{bkcIfWU!~~Ve4mznsV1p_yRJFWevXjeUt1q)Fe_3~VM!{5s3-rhK)BjPgv{mD zmY6Yp6-yXxGbZ&oRJSqLF2FA=9Ha2WT)%#ZU=2>2h)6aHwFucu#?am1G)XFs{T#eOphs*huVPB5(YdQh=$$cgyc{h|aj*do_@) z*1z6)nz4Vk9i}adY)_T#aQX7~uW>Z8rpsX1VwQ>8EWsu~YGb}AFACue>b8}?A6K5-P^;>FdCaSr&Kt8uH@1E_vef8( zN3Kuw%xCU1d`A`$c`&u{_rP(V-+?i+O?m7&iwvEQA*+kES87K|>r^nzSnE_rpH=e` z-jkoC_NAGlo$)!y!sK;uOi8x7_GHXkmJ5_xp$?a&Ue(2c2*O=cMaF&uJIT_9ISZ#? zG!xx?gyg+9ubt61fXXX`hl0E+0`bChVo*H8I@JgF;OJ}EeEoVgmr}do>qb@>lgNi> zXYs0mGEGn3rYriHg;|7549%wpne8NLoQ!e~@FaF3XfUaA>Ksh6%sUlG0h% zJQWOrBS>JPR5F^%&A4H59?bP>KR$yv-K21k9W}gS7ZgV)5kAdnFfh~sWCQ_=Xp}y6 ze;u!v=}4T|Exv(dfra=m=HlP}Dzsepl=08ju+eK40!$y==vjMuZ_k4|s>vR07#Ro#Ej%_5;1LbaQ&8p|*X`0DWd|dG?&JM1f)m?M9<0QtjnNkq31*;& z1;;o2=%X@O7ePsw+WQMn6K9*}P?VU^ze&af7f)ewvej+rxGeqB+kGI(bL$2FGp|ZS z!`V%|LFwOh91JaTlA-95x(vvaqq;-$wJh(r_Dv^qz}138*Zuu6OE%(CIws|oY=`W9 z?(}BGy)F;0YQw88@UNoR6QwUn!vlY|8NY*Xp}p4TYjcA75UYf6!bBZN`kAw(mkC$y z>eLF3=R5MMa6QPpgZ0DK9pP+43lL)YT^$!%DI<`?q|a%9=7RB1fxYR~G{j5GCLIQ& z@rhOC7Ua6SC{57}D6f3Je5eHd(krD161vBDML~OyM(L6bI@_ z@uAdS45$zv%4h+6Q*z>WKBa=1BT*NFwd6jjuGO^Xzw$;WqCRUR)wi4{g1M;Z=wMb42$Kv zruCxhIs~U1gsmQJwpPWxHndqm|`XZ$a1~L{Cnq~)kd`i?FL&^z%8QAA9w{JXxDLIYARoGR-#jM zHh;`{h9QMi^;*~#tDkRR;#vlvv?m>pb9>LoVaM_GLh$?f+EB8l2r6H($K=j2wsPyA z#QC_UH5Zrb)KIHf@EShL(v3j_AlzF2hVd3OaeDhHf*511LDHoEvsUen$GkuSE1pNkf)*f*? zGnO4iuIR-6$*8ryP@{=}qIrS-kHRLiKx2TOgcBq~N&o=#e^d~ug?^;3fHG{p99qW> z{T22?-oLt7&d2p`u(6VhBLY);jS-W^izAgF`TP+$aNSwni*Bu<%OWA{n&AKZPHP|a zkRoVfZmY#EEz5daE2Uendcf5CFU5wD56#8>#}BpLaCDLP6;1_mdSlFl^p5L*7U$0l z`-9T@Lczg?vM>}dgU_SS68JzX&0F|U1dIbU>>+bc@B|R1LOq| z5Z_I4yiDN&MkygW47>d8Hr+tqvRkhl!0ESYT|Iq0)&fKH@70DwcXbGe$U`&2pS{`LiBnqD8Por#L^jkz@6WMlSiOvYX84Wo@~K zEkd5PzS;;wlaP;xhZ$t}kO#@@bW&`lkb)9IZ#RUey#Z*E-IqupO=9Oq6XpIMGs{gr*hH*un8ugE;q9x7`CRwy&|9wE>6Mueogmf+ zoxEI(OJ^DFc%JY)^P>#MveoZW$QzY7gn{09&30u=mu8^qx-b;bb|K&fdx}30(FyF4yPFxsbXH6B56-KPK zAk%VcahgU0h?1^{+vdWw*9=+9KAH(vWCN-^bb%I|rNr*Y2z zUo8k_P*rrP5LD(eJ+HKSjph-dXJhRWxa;wJM&3 z)69P4KtU6$i}E!exyW0;#*t`FGR-F{GAo`W565#ceRNjjQYC@eKI8Qr?XL$afSsAn z()0%ZZhMlgGdnv_g*TlVOX_MrB{;8{+cjJJ@tAX+Gouk;IKW=~_h%;hS>ZcP8-x~P zC}?OolCYri462Z?27>74$)uusnX5q=@-UgxtXf6MBfP~R%a1$X>{nJRK{@{G^$a!3#qTH3iG~t% z$P%#Q1{8|sJr93Zu4V0FF+8&SWuQecIF${y_S4Z7KM?P$f+yt!Uk^Jl1Rk8-lksf|DF&2CY!wxe2B#SkaM*Exw<0B@Voy@s8(twC&*OLywOs z$~-<&v*TX(E9mRt(E#=QB+m{8MrZlFA9mAKcF2)}8ZU9tk^jIh1=A_Qd(VAZ9EE4! zWl+BR@+W~y#Zzf&v_GQRRrxD8%tRza1*gIcrBj?FYG_ezVU=$P?#H=~b|G7YecvR& z5nw1y`?Zfbeg9q*2hhS!885j^6om__&hzg-6@KtdrQ*qU`n=b$# zTiwh?ubX+W?U94wnE)dorJ@>?%sdOyp#B=g{|9z4%MEC8Kc8H&(;8V1l>+_N%J zAJ3ty@iJu>4#m9UvG#ii20Rx85}Z6dFaDq@W^A|wvAL28u#;)sJITKu2%Cs3#saCo z4>lc+b1GkWuwUsosNGv1Db0(Po5XBfTCf<1Es9csjY2{@ce@p)J8C5on2gy17lQEe zHv?K=I#A5b(N=u?o7HrnlzRL}PLU)&v%V;pa@%_RN>Q!F8Q=$2X23Dk=nc+2Wsn*| zt^Tdpkhlof(I@8-8HALO&&R(mu)yEqdu}f9_hc83PxW%MvC|pO+P1;2?fz1J$y@Io z_sFDhKx~;EXtRDJlQRByCOZ0GZ1;m{;84rbT6Mb(eHv33odH$+S9Mo8edj*{{`<_S z?`~M4`P*$<34;1^{}H;{GaZUHK99ZPuH-wAaxCNL-7tDNIcy_+q>YuD`Gx?rU3xJD zKk9$K`a;3$g~mu{#tea9lsqY~Q8NG*R(1mc-Dv>znwQNvR^Cy}--e$aQglU>Zt)GZ zVnJs|H;P`WEtn(S=C@q&s;Wh3?(`=7x8=j5v4&|Bx(5nhP5lp#8J_F~AS!Ty5vhEw z$Z+3*M3ChQC}aZu!FhZS|6DfALe+ zr>(fFbnJpdpviWsoj&Pqvo{`;Aw&jr{Ws|TxXb`n>~P`?PN=Zx6rJ&1D|I2C>x%rQ zG7{x(KU^NfY*kKP+8k^&hC)?BMoz(DB3(pEu2Z66_^Z4JxzVKc@gnp7)i}FFYO;LAVWI+0x|1DNA$Z2!8GM@lUjFS;RcUW) zG3wo`{bqP#hsQ&Iw_EQ{p8I@CHOSXmPqjv@32oO*OpN8SN2ubt zz!klrKZnYovBm2mp=}a~s!xvVZqI`h?&#zwTX1G5E~>B4V?9_kmK;snFzxGUL5u@up&)+3%xI@x1i8y`O6VtKAe-mGqPh_eTE~g-wpV zZKz`tOc>JQ2!DO(>uAzY)6>%rDn1HETGfxM&kA%XMX!*qx4)`*-Y(O|XD5F{_TDw~ zVJqDj)7CKnH7>AAGn#A!%r2atL<@hCh7BwbaL!%0@!e<>T3LC%Z^ji2spv;TnX}maW!9W3qpjnHB~{;_{_0%Z==1{4eCIqvS)f|s9~_B_5^&Czny zde?IT+W1J__1+_TkCJlKX$}%+?lV^}`x>-eD1K)w{iAiq#Vl$lay>Z3+MmqnZa35U-QYk5hGqPNi{=D@)& zW%}2Ux1jaKDZ0ot#Vno8uT5=Y2`4R?pttEV;6`%%se;X2BGt*j^UeT;bk49%7`Mkt zj&AHyvAGRs0hta9?6bLi!&mCMqwi*uK03FbuY=7E*dx0;TWGW{>M}LN%+36cy?Q&* zJ;l{~-j8Y;Q2^G`)FsU16Qjo$9KL%f1i{E|IN$HL>;=120@{#5n@gD`ChHmzw2ai~ z$^WF~@<0rcu6J2KhKy^-j;wnKzeJmPP+jrP)@Y*pUgcRZNFO&d6#sl#pP8r&u5L`V z{RSTY(INQ!>bO9oX*||Mn(9yR#m?8goh$unPTX>_O?_U*%|Qh*_s#Pw*Ev@JSL4IP zj8k8RctUQna+v!<9J1rCU|c$1)#0(J)b6$ux0nfik*xoN177vNfPnb(z5|CuBF{76 z1&@p4BfY8o*yz>h>gDbL_XeAApm)R73&V%`ILxvgm#hh^1YIML%z@mcxvmaqh`2>l zvuM+PliE&6-e8+R3!-TcQ90D{*JyHEeb{;)sb^A=7i>3!`*0gnE}}`L%}wBPv9G2) zc}1FN);|s19@^gKx0jHT+##st_PB@ZcwUFX(WQ18r+aVP`O~|Osj0%NNYHWp@p*L@ z%Dr{1Ra)Y;C#>inAX(ZMw3zFKBMx_$VmQhdZfjO=`;Sl_scnHz*BQ#DD(++BI`_8+Kk6j={mTkJxyf7TA|>bi z#LNr%EOw2+GX@|r2_@<0gzvt?>UDn+p*h?2FZbchXQ%a*-N+<(byC`ocmD$tJ)a@J zR3i|E)TqXC8hJN4bDF$CNmL5pl3PO9WII;__bv@muhwPJewF641GVxt-JWd)efP=~ zeha)0g_8AO)thw^n_+7dM(GrHG%Pp5PQiyan2!72A}P}Q^$JNB-{*}}8HI0#8u5g` z^kD~D4%aWEnW8i-*H^jvm=2@=tYm&gDOwsGSlm!xtBHUYfnw|SesufkVaagKHw%$n zom@A_Jp%otBL}{pI^HMbDz}=c?uhRos#p%LHFvdmFQ?UEKXc+V>BtIwFlyaj)G z^f?MCPaWo_XyQ_mA6&jO-1c&~@5YUlhkes+}i?Y+sK(Bk$2vEL&+MG$#mS4^htmDG8xx#{ju_?$?mJ5xk4^=y%=VP?d$D+D5h4tU?F(wswP^nc7{FV6f)5 zVmab6{(FC2c?54s8qSfgbAIj@VtP)uIal6QDn6|nd1V+5-!@BXI-ZnTE^eYK=^JGA z`tVzYO=n1MHFK>K69b(NN#nlK{Z{YivRw%lHgv&mvX6WBMc~%+qGRqp5@v$fA~5^>tW~!wenrIiYUWjwRX15s_QLn-ke*w|AZ4$VptwLY-jJK>-l8N>6(1%5BuZJJD zB^7vFSuI(4CC)zt_A*nQ9xduW;F~sRYUeA4zJ+AS zU**6``RMC%_9|M$1*+{OeoeR(ertiyTzB?R5Gu9E^TxX9eCDI>Pm^wtf9pHE)z~EP zhWdXmfXR&B?Nr6DPUZ;I#W+%P#x%7-RNM6~Z0^m+Z_fCib4Hh#4!*2G3))Oq%epl( zKVUMLz43btlK~}peC&-to2sN@bLK$i%7wk{?6GR&k`e;nTkM_P=uugCjeYw2r>i`N z17np9ymUXfX6g2WmV-IU__xcHFO;uoLxOKOa&o4H8=-gdSTLO*mqT0b=W#w-ZT1Yg zc>?eT*k{Ex$MZ6-{7(1f;-GrJs0#6@$SAgpgzG2o3eLpCx&Cjd{sEI#w7Ws8)e&RI z$rAVh069M_`S&O(Lj?x#64ol7oC^g}P=kZbrv(`RGHc`xnNh^8vhcMu~l9j2jzFK(62Mcinb;DM5_ z0O|8UEn5i2#L!#`4l{{Ybb>IjZe(T{de^YWCy5c;0avkKrM)TH@#8Wew+f}hPpgS3 z%j;x4Iha{@7GfA2czB7)iV@7`_qhDMBHo8A9V?;{Wj<&yv$5WOPL7D1vNP}C-+zO; zO65^V(2>{?eTWKnkG{AE&0(i$=;(yElLwUavJ<%$e?cb2x&jhJWCa<-eo~K4gmM z)*7PSq9rTu{=$RV0f=1osdrtrF=2s!7X3dS7*ljgJEtC8HiT!OE8}bozO3o^VYUoQB0MCmV4|FRp`m zQV->F$Mp5SEFD7A!@Uk+=Uy@U9J?~_u6(4P$Jg*bPxR4V(R!B66?shgL>F~DQsu0B zjsA}LBz5(?D+yYJTg*6fxt?anT%$*eAEKRC+NL4dVRz+5Oteqvld`c*hA}9Sg>I1Q zT+~qIb)##pdvoJ4Rpr^K9GBA#F62%3(U7ZpF)%Xqh1U4@*KIase0aGo*~PED9-^P3 zwy&EnG3e6Meq5>waBQQ>__;I`-FNj6;(+f z^0~%cYM5V}ZHPHcLFz6A^xEvm?@|ggtTuIqdA=l(|7F@-qv~(y=h5?caXQLw?B>fU zqW`#^=QdXIcWs^<{dJH_T+;_@k<%2A+Oyk-oMd78?6BaO7w+cZ07KWt(1bl|`BwG$ zj9#Q|T<1ewx6BX?t9=<@)U~xlk?IInCf0*x^I=WmuusSLKtx)lmAj^$!%<@lE0dKOf+P) zoYt1AC|j1#ZIw7T!f^XPtsoz{xoT!Szu@&e%h9Q-W3VRy$NUp78y9k@Z`A0uGF}UZ z)Gk+yV-oINf2;Z3E)P*oFQkzF)qTXOLDn!$Ggld7t|4s7jk>hY{0iG<% zlZK^zBD|92ouj&Iub{%Ui>|f5FZ1JaW@C ztkE=d*@~NSe5}sstm)8ms*0EHPwx8pqsnn$TQ{0-qk{Ez+(iwiYpn-q-|yjwQGrY6Wsd+&>c9B9&LNx zEDR~L7FO}&gbu2z^zOWR1m3JPv z;d1dJ+sNtazcWnlU#PCi+{sjhr#gpVGi^x8_tYQK^x`@3*Ye zkyO8QcPwqjaz`HV5G-LNf9u`pd9=y09U^NuXXPcE`rUx^la*RG?|X)MDo+@#P?Hp& zD%k0|o6!fN=V(01NK~6nTX%$)J}~aikJ$~~4uRi!j<^&R6YEfL(l1NSoa6EK-!sS* z1(CxzzCPr%lLWjT+C90gdviR6agl@vQtLgBd0A{f1Q@6{7R%rK3h3U`^nL0Bs4Ah# z>nzp7c?^-ikgJ>d7(20%JwM7n9Yr}<-;c}uBaq#jZB!kqxLv$l3c>G6k0N~?Cx=K) zNrE0d=5$wiujW$meL{6NQ zGV4hUS-yKvSiHXLKA)hV_dL9P>EQ7~TeytZqI7AVgW+Z-=D-+oO~&Qt z!V2^y?$V>9snv>U;xrc}zXwBDe=Weta-LV=bX)HVsU}xg@B1szFKfXKj?$-OGp`m# z74K8$&}QHUR?nUIqVo!-!Ky95RXgnisTqDVFS6tOpvDX1(tW3GHk?Flwu9@8S~ojc zktu5HN65-u$l+X0;JWeS-SNhIMs*JVn#yA(=Nc|i6%e^D_C4IN>@4=TT)u$Zuc~P* z%SArqxD7Ytm&Xh3Mj<_2Q~I&$$>-%YU3}dV+TE4e2%uupjZxD|Qvm?|<8~rWt8Vg* z6P+4uyCA`jwLltv$+q!xDISXHQRtab=<~p5mgRcxq19U9&?=@F(!sI+g=V%eE1Ydq znWzy6O+~sKGA95#&oY|r`Rq+Wp|TLS>1Shx8OFC>+cF-N)}0+y{B??dBi{?|g2w@8 zhaQl;0JqYgEt%f-Gv+u<)*W6?$Q%OB%???%Ky_6^O)og>!VhNl@NL-IrZJ4b^zc~Z zO34Oa;ge#p4cFa+s1*o({uBtOtvnit)WoXp3T@N55Vhh5-$+SPW$bOXsw4pO|macG|w z73EYOw1^zg8zIcd;oO+jN$7U)>Kc?>T4k4XNar!Fl+F>5pyCz7^a9hB$4l(hZ5MqI z^VVy0mDuq-yBTu;hLtPe@&l_j6jV64n%u^g2}=F(iFNI?9TQlvOm4vM3T2Q-uB4C| zBp8-3GQdQotL+inIDSxy#)D*mdI70TD+EYlbdkSl+5xj8rp&_av-aZ7VtVtb9iUFV z_XMfb&dDmLkG}?PL>Y^X3)&?ZcW8oA z+|9HwY2xK&k{zlb)6-tmX70KYgOmF(ADzabO9tk?(HQ>tc57(=RYHEY?}?=^9r>M( z&fV4V&I$9Jgl3bUZb_Ihw1{3N#WZa>;a3mGOGs7hsugwH^Nj&WNV3<}73^hhon%ur zhEUUZcSa(@In5M@=Cbix-Kmm?_9YmuqDg{Adm+jvKWO$_3qaqFR06Go<*QdZus^dJ zaZZ~r!~QID-<1ZhmpHx?_JJzJqpV9eA8}H*Haxnce$%^QrKgfyvX}f*I-1QWunB&o zocSuD3JM___y9O$p^lkne7zP^>t~tyfx7Q)2an3XQl2xLEOx6Li~dM}e-0tmo=6%dWz*nF;g0NkNj?MdH%R@tiRv`$Z3$rWgtL}nU>+hSk!Mgj8WVvn}QE|j%A+&+XETR^(PJRRrNY066 z{g-TEvYn}@^|9*yXQP9`#O5jg#xgfG)JBOIN*4F^q`6hA&0n{yRBDgsd1kgvmOj>c z9mlU;cl)SmUMctYFNclJsbBK(gt7Bk?*H&v1NQtRD7bh2GhGq}kj*!X!U&e#`*`_q z8ANj06s=@hWtPLN6BMJ9+=l^9&=VdoUI_=p{sy3s;4~9L;NDi@Gh@-e>0N|I_kru!~iF@sNBqKbHCBLh3H@ahj_C^z*_Q zoVxDco#D+@cN7#uKdJcbc0oCPK~ z+&#tFab>9-aRFk2$>tJb@jq=iJP{wU@L2x zy8o&KCs^HM3i9tf87vPg{17q8u3S0tuGx%(?Y0-2oDnef?kpp-pd+HuLUwJVgweN2 z_JsN{l@q2SSRW(7I?uWM$O0K$$1G&3P3F$+=-SDd z+cs!wCXV2(4B!0?8OPwS+4jHi^%G1Q?hF9PEIBtfp+$kNAqIyV$-78K=aLVABLOwX zXTizVuMc%xA)iJ;r)9?HJ&~%Peme#SK794P1$&jZi7<;JuHKgqOw(;v^ocub^L+Jx z=S&q!S#;V7v)rA&+jr6meUBm*13~w04V)e*1<*E-adj0c&>iiB$NEJW7Lmj@Q>p8u z1aCZ%U1*&|z=6$wcb=$63!OXzAy_Z(~cHxcA z_^&hV1r@IL?LWQ4VI5b(e4I0W8@wyFi8;?AGweI>i&O8eH-yJ7a}Zq=?Q}U`sB>TX z&dtsXGzI0C;NJc5f5*Z)qpQ!KV@ufjAsPoGX;7FL*x|{<0f=VOuiIdLby}ZK7Qw|# zvpQAJ`YFGt!KmBaXwc+pW=3r)a>zBP!I7cDqoRvd0TACzF zK@D|JccddBv(H|r~>9$%wvFu0W^dQ9HxJn2%9X$5V% z@0pIYF%1gdHl3GGoO_}ns$rIKi^4E$mLXwVq;(A5>0!Mi;YmxqJ&zFp^H5-mB}Qr zMQWj*hV~^$v3j;io6oz^A*fe>HDA{HzBR3*3u57N$+YOtyVE_K?fNXwLP=APkz75{o4w9zVS#maAGW@%`Aa&Ghey~hUg;|z1ShwsLKjmo3n$YT+{H0Yh zh100jo2-KSvE7q8-*6r@npRxJ*MG-@;?ExNhsF!mtxf!=*dg znzcDp>K>qfVxl}cnj6Wny;M3G)-Z{S14`J|k#bkdG+Hbsq6G z-*1?Oeqb(dfk4#0j_Jq3_Oc962vI^8lz-2hhZg;A_c6|UZ>1@|F-8R5B)jeeaea5r zswT`!oV##e1+PnG#D-CYAYWy7hgGQKk!#15^TBc~0Zp|Nwtk<{o%!@;Ytyo{Jtt}m zTrd^^GvCcNF85YFu4BHsjnTj{>-UPWd~s`m7Agfc}Pq z6-0)rpowQF5Iq(}P&g$9tZ0C2v!b^qYdilZ~?evNZx%NcO49f z@qxUE5&%$RxTa5sV3qQhlwf}XDDC&~CPl{t|7pcDKqN zP_mDVqoo7dpB}pq-oaV2P27F|#rW+gzq?Ez5k@8u#`+5eohUk7$mPLA-iIbcQ09fz z!=|nQXiUDc>0Oi#g(tC|?#Mg<*ODB(B7RuEl7aA0AGP3`{?;M%N>&NR8uA4hLgGHF z+0~MAz3x2HDj?H)O!IE=rHQD5WDwfWP8w|v4_y<*D?{N7 zb3%Wlb82Pd;vywoEgkbIhjWKS-gNAum%6&2i%t;*ew>oq>WDy5W30lQfC1*E9(;`+ zf56M`vhL zrq31jiXP)x3e4IKD#Zn#yjoGTaiFE&GwETYb7dFqrI%Zq@xRL^dUvJ;}kfCrQ}A0OBiBWa8+k+-|2q_t@!e zYo|dT_%#u2eqDhK1Sl;61`c{X$7^~Ir|aUXZ*-Vind!iwtvGzidHjre%If+Gn$x) z6{V`07>T{JBfyoV7~#*oJKUTM5DxQ-HA62on#()IeYtmO*tl>`rdc6DWZu8xOQxDM zZuY@+<-;XG>z=rf23cu3S{Co-t7kSX&)AKoR_Aj-6fFa1@?GJAhv$&2kmwaZs(^{7 zQ#c!RI8an@=>1V~>+sF1q@&yLr1i~ZI4nPMv0Vx_xZ81=$vGfouk%-NP^^8wKidfK ze847q2^iOJAx={PIXeP3DuaAs8{t7ddzYYK#FFV-eK*Y#;3CVV<;KLa^;Qp# zZcoC&%tZr`DIKy*Z7JS*Rwe}1Dn3uH*t%*4*OeWp7wArJdLYW%IK!L~rmXzK@_gn- z^`ojm)f~mTf{AqA1~3UVI5&`;=)EFcb>*GlVXPFtW_*PKkM@Rq#Vu^tMuu?;6dg(gGvBcx z=eyoznwjcBcF12_6Dx#3L;MfNGI-1F)=!dhd4J7r3A!RrQRtREnA}nGc23Fep@|0>pW+I)Z|D zRl|4|HDd@zCG(*;x?gS>+HUqTo+YzG_ufMH4(5tjG~BsYX0^1D3T4vL`1_AS`jFEQtsRxQec~7H z-{p!A86$aMOM|On#*iur$_W7WjH{%?EK=vRQ_d9McB$Cau?D|MP!8VX6~`S`;Mu2% zMSm32iQr=^e;X4Bj2McNmW~T#sx<6wk)IOi-Uk^&M|_u^;#uBz&O5n%0muuQT_t;| zXr1(SOh`UCD^haprS%@LgiL6{?I(5n0N>31zA}93UkBXq8`7zP7PlIMrO^mO;T^gm znKC(1vkHE_gw`C2vSTe+*sN3IE@tx)RI!Wa>BlEL!{;dsKBXCot2n(sJSuaEnnk#` zU?vMs@>ojy4or=HMoEJxKUqFw#X-kX9jh^Hq)ATBL(~mFVx)buSAT^#w&$4fm06^C zbs8RAuJONrG#k8|y?nkK?mjmG^3c&P=P6*m9iay2aHEC=F6exz`GDNY!!@%rJ28BQ zBFd|I-0FQE&`Kc>qz%j*I)xOr-7r}ag#DX_`|pA-bV3y&q7X!S? zf{RpvDRPDgV%5m7FW8^bvYSu4eLuf8b>oExt2T)LEnoNf652l!Kbbw0cS}wRl=DkO z4++ZtIVlv#U%s4nxzmm+>Eu%eBT0y zG=8DP+!sX^rAVFvh9BWy%0j8bG%O%ONI?-mZ%IJtLoSWI5g~iLu$qP7t0tpy?Lt7{ zNXtrys&RSO8by$Q$V~LZLn}j)CvU0>VH=G@cp4#l#^kXR8{MXTcAj_)UhaDs>}KEW z?p>w~`2eBFP>$D0w3$5E^*%{e^0dLz{u2#4& zw!sKbK6(CO*EL-sUkn{ThZisC$sviUesTw=e7d)wKYL_TE;&cLx6n^|P+HdTOm4%S z8K09>O`koCaAkuA!`STfcxq#ituE*()9SKSA$@5Bk^x!P9R%nUL2zG1L>-LauO9NT zK{{ilRli)0e!Cg? zYExV66HXeE#qVTK%PsY@72}Xq=%c953&J1fiZIY28GvOrDFqc13jy0X-5O0QlpJWA z1WnO5VgvaGD^d{sQ~s@|DG}mpHGLlggIsMD^+Uh83^II4c0zdnyG;`%uU2B?xK?V! zZ{DcrqfeRd&9kv%KS%;a^;g5+V8zX)$#j&X;SbX!>|3d@2G#V$g|>cJ@AkKR{65Ov z7Rl5lx3{PVa~ z*hpqN*OmW`{R;si@e6n3ZVtBUG!0WnLYqQs0G|i%*Qw9q17Hsk--+vz(?adKliX+Z z-&HaBV;ww@r;8b#eYSpR-O>2RB9cQQ_EGLd&(Q+2-Wn&Gw3%9p(Kpz?L_H)B4h+Q- z!^<)~-@(gwwTzifwuk8&9^-N{evQzLH0KJl@)VEXAe=GsaH}0tTQ5N1QXVL<%7g&m)7SU0K*_B-A8h+Gm&)7S)H0TNd9;M6iq2h;K zwejGCQop|AP`JzIPmCXGc@QKj#69O5$0Gf5ojOf=!;C2lHR?t;LVCEN?p)GgRkS1)Uj^hAxx#~8Kc6pK=|R14{*sS!I*DoBqxN}mKl7<@RB;r&6h8@mJ9 zpF58HhNf7Z6SL|94ys1UMOOu3u3nOl#uVFDCKI_b+}WM<+;?KLmQ*26-c*^hZ?mWz z+dy<6Z0Q$A2h-S68}UNnxQ?}E!;#C0*sSCAIN_e2n@aNUr3;#gjxQf@NS$FRKk6F4 zGvPf>Hte2b13;CsmQ;swS?;(vyYmh%*SAt5QO-{bHL47H>}|pT?3f&X&L*t9LF}l= z>!X4feU3ErvTbd&?2QdOm{!@MwmJOjZ)0?Bb;6LWs6Ahbac2K69LbUynS*bG!zZmN zOi{#!$z`40x|>wQd>{6wjz1uGh#=>quGwF#jlX#1?_01!%h;oQ#QcTdBmbY(uF@43 z?$$Z=MuRvQDx{PCfX;+fPvy*eg6v_Cq`k zvej75BgMJMMv)Sg48_*uGgCuZFbWER!S*JHGYxInWdybIZi(9v_E4-c3(IExT~n2{ zCUN9SEOfo4rv+*D8tmBH@43cQ!2`>kg|1?F2& zAd&dUQLzvb0v7;C#GMRZ_RJ<<(nnqEiIJc^9oz`JHunY!a{SNkCEV@X>=IFve#mkL z|D*3`E;2Z@Ta7_9{Io1m?tYo;wOnKrEV_;K69u1tm^ew<@l~2t3ZKiVlcPaG(zTR~ z8<mmY-u80BZ{w(gRU&i%O~POZ^qha)={XR?*ORK?gF>!wAWuB}BV^x%kvQ z?LB3XucZk-Hjn$!Ogv(-QX1M-tO(euUTuPBE?qCPA{$MET(yrD0l_X=gVZ7V<`4saS;O2H+4=EnFVP{V>}uc2>L}qDp&g+6jSLLuRHNh_Ki?Ah zN|RDvWg}mjWZhA0FM2lHhfF=?X{kB%C3CKsAX1?`)kDD{da-MaILe?tFq?6EOc8{D z34V6FHy1)?Lu@%ftc(@Q`-=VDjuSA?HMIr zqyfC1Q&5hy5F>PXItk>kw@qHx!@*eN>lfl((u?$RU5bgQvx6m+{G1)Z%n|kK&TGP5 zWi3CbT$)K`JXRew;PD6Vl|*c0s|_|J`X8avA-6D#=MpX14&7vXMqzlwn(H2|eC80r zoA$kvHn10BvZ`$TBDJpY6bUN5c_LzJ(d&8wjs@x8ADRu$iCFGfrNQ{r#I5QF#fA6J zdvVGQgZ=XPVF8BTaF@Dup7JVW=uF;e#(a9B07ElJ;=t$eQUf3IYXvNXFmQ3ikrN1q z`627Hzwh>oqrU_$o!#cW z>EYkWK?XZqE0n+Pou}|_UU-Z6^!9m%ThrU_o>;8s8rYZp(q)p)wCTWdfBF&qPwMWP zp|!Jic^r6b3LMB*Ziy&xY-?iPw)ms_$^?JpO?{bmU7Y2^ zH(<3bJh*qUp6+~5w z>%Ea_U$bP@A`Ms3M}KV_%2QI#UEJX*Z!#;D3s@Hg@0jQo(b#Zp7i+^}h8U&?{R~1! z-tA3w{4?qO@#U3qd-krn0u0Zcm+UQ7MQdkG3(uUqHuL%!og=$ffA2q&s{ecG-A6q! zujU57Wf!ZTc;d_d)gJ#gg=ucR%~g}B%xO{vY zOZ(EOApltKN3Bj=K@djeC{)5}X<-PROcTqanqD)`C%?I+3BB(XOil8=eW zpL_k}*asc)s#Gh1aJ?r+?*F+P{xkmIJK(Pqcq+Y%MM|HMtLpJr*=j!~cEJ@VyvnT@ zZn|Atn#6r)q3e~@=$SpoR5!d8WVm0vT2fv`$bg-ZYnSC84{eVHT@J1ab9-*NGYT|L zPq50g4|yX#f7z5Mw-jJu|4hlj(R{jnCNJloK44GPYZu#;piOSTcDhPJ5HPeSTTM#? zjV=PyZ8tEMqy8=13K|0ijbj4!txV1o1IbNj*vb)bVeQlWC~uJ5sMgV78chFVdQ&MBb@0Pcg`)c^nh literal 0 HcmV?d00001 diff --git a/muk_autovacuum/static/description/preview.png b/muk_autovacuum/static/description/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..1deb1cceffc3f73a70dca6d35f1f7868d1507dcc GIT binary patch literal 33203 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 literal 0 HcmV?d00001 diff --git a/muk_autovacuum/static/description/screenshot.png b/muk_autovacuum/static/description/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9395f888729198fc5bfb08c78a44384dc3c795 GIT binary patch literal 45295 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 literal 0 HcmV?d00001 diff --git a/muk_autovacuum/static/description/service_implementation.png b/muk_autovacuum/static/description/service_implementation.png new file mode 100644 index 0000000000000000000000000000000000000000..d64b66bda3e4827e7cfba4ec4e5ed8414c4381ad GIT binary patch literal 26148 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 Hu0mjfz33;t literal 0 HcmV?d00001 diff --git a/muk_autovacuum/static/description/service_integration.png b/muk_autovacuum/static/description/service_integration.png new file mode 100644 index 0000000000000000000000000000000000000000..76c5e80f4798a3a9c9154dc00283dcb4eaa47f5b GIT binary patch literal 24862 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
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

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

-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 literal 0 HcmV?d00001 diff --git a/muk_autovacuum/tests/__init__.py b/muk_autovacuum/tests/__init__.py new file mode 100644 index 0000000..895ce04 --- /dev/null +++ b/muk_autovacuum/tests/__init__.py @@ -0,0 +1,23 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..cfaf2cc --- /dev/null +++ b/muk_autovacuum/tests/test_autovacuum.py @@ -0,0 +1,99 @@ +################################################################################### +# +# 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 new file mode 100644 index 0000000..05eda69 --- /dev/null +++ b/muk_autovacuum/views/rules.xml @@ -0,0 +1,161 @@ + + + + + + + + muk_autovacuum_rules.search + muk_autovacuum.rules + + + + + + + + + + + + + + + + muk_autovacuum_rules.tree + muk_autovacuum.rules + + + + + + + + + + + + + muk_autovacuum_rules.form + muk_autovacuum.rules + +