diff --git a/base_suspend_security/README.rst b/base_suspend_security/README.rst new file mode 100644 index 00000000..60297e63 --- /dev/null +++ b/base_suspend_security/README.rst @@ -0,0 +1,58 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +Suspend security +================ + +This module was written to allow you to call code with some `uid` while being sure no security checks (`ir.model.access` and `ir.rule`) are done. In this way, it's the same as `sudo()`, but the crucial difference is that the code still runs with the original user id. This can be important for inherited code that calls workflow functions, subscribes the current user to some object, etc. + +Usually, you'll be in in the situation to want something like this if you inherit from a module you can't or don't want to change, and call `super()`. + +Usage +===== + +To use this module, you need to: + +* depend on this module +* call `yourmodel.suspend_security().function_to_run()`, just the same as you would use `sudo()` + +For further information, please visit: + +* https://www.odoo.com/forum/help-1 + +Known issues / Roadmap +====================== + +* the magic works by wrapping uid in a marker class, so if some code unwraps this in the calling tree, security checks will be reenabled + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Holger Brunn +* Laurent Mignon +* Frédéric Garbely + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. diff --git a/base_suspend_security/__init__.py b/base_suspend_security/__init__.py new file mode 100644 index 00000000..c450fc83 --- /dev/null +++ b/base_suspend_security/__init__.py @@ -0,0 +1,19 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import models diff --git a/base_suspend_security/__manifest__.py b/base_suspend_security/__manifest__.py new file mode 100644 index 00000000..07a1bf58 --- /dev/null +++ b/base_suspend_security/__manifest__.py @@ -0,0 +1,29 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{ + "name": "Suspend security", + "version": "11.0.1.0.0", + "author": "Therp BV, brain-tec AG, Odoo Community Association (OCA)", + "license": "AGPL-3", + "category": "Hidden/Dependency", + "summary": "Suspend security checks for a call", + "depends": [ + 'base', + ], +} diff --git a/base_suspend_security/base_suspend_security.py b/base_suspend_security/base_suspend_security.py new file mode 100644 index 00000000..caba4756 --- /dev/null +++ b/base_suspend_security/base_suspend_security.py @@ -0,0 +1,35 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo.tools import pycompat + + +class BaseSuspendSecurityUid(int): + def __int__(self): + return self + + def __eq__(self, other): + if isinstance(other, pycompat.integer_types): + return False + return super(BaseSuspendSecurityUid, self).__int__() == other + + def __hash__(self): + return super(BaseSuspendSecurityUid, self).__hash__() + + def __iter__(self): + yield super(BaseSuspendSecurityUid, self).__int__() diff --git a/base_suspend_security/i18n/ar.po b/base_suspend_security/i18n/ar.po new file mode 100644 index 00000000..ccb09cba --- /dev/null +++ b/base_suspend_security/i18n/ar.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "المستخدمون" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/ca.po b/base_suspend_security/i18n/ca.po new file mode 100644 index 00000000..e5a706e5 --- /dev/null +++ b/base_suspend_security/i18n/ca.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:43+0000\n" +"PO-Revision-Date: 2017-08-01 02:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Usuaris" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/da.po b/base_suspend_security/i18n/da.po new file mode 100644 index 00000000..b7087e08 --- /dev/null +++ b/base_suspend_security/i18n/da.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Brugere" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/de.po b/base_suspend_security/i18n/de.po new file mode 100644 index 00000000..f8e166e4 --- /dev/null +++ b/base_suspend_security/i18n/de.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-21 04:22+0000\n" +"PO-Revision-Date: 2017-01-21 04:22+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Benutzer" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "base" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.rule" diff --git a/base_suspend_security/i18n/el_GR.po b/base_suspend_security/i18n/el_GR.po new file mode 100644 index 00000000..da2c1400 --- /dev/null +++ b/base_suspend_security/i18n/el_GR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Χρήστες" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/en.po b/base_suspend_security/i18n/en.po new file mode 100644 index 00000000..8d3dea74 --- /dev/null +++ b/base_suspend_security/i18n/en.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-02-27 01:37+0000\n" +"PO-Revision-Date: 2016-02-26 11:19+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-server-tools-9-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Users" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.rule" diff --git a/base_suspend_security/i18n/es.po b/base_suspend_security/i18n/es.po new file mode 100644 index 00000000..56214571 --- /dev/null +++ b/base_suspend_security/i18n/es.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +# Fernando Lara , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:54+0000\n" +"PO-Revision-Date: 2017-02-22 00:54+0000\n" +"Last-Translator: Fernando Lara , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "base de datos" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.modelo.acceso" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.regla" diff --git a/base_suspend_security/i18n/es_ES.po b/base_suspend_security/i18n/es_ES.po new file mode 100644 index 00000000..a7fd9bb8 --- /dev/null +++ b/base_suspend_security/i18n/es_ES.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:54+0000\n" +"PO-Revision-Date: 2017-02-22 00:54+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_ES\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/es_MX.po b/base_suspend_security/i18n/es_MX.po new file mode 100644 index 00000000..303db9b5 --- /dev/null +++ b/base_suspend_security/i18n/es_MX.po @@ -0,0 +1,524 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-23 02:01+0000\n" +"PO-Revision-Date: 2016-12-23 02:01+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/es_MX/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_MX\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_category +msgid "Application" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_bank +msgid "Bank" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_wizard +msgid "Change Password Wizard" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_user +msgid "Change Password Wizard User" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_company +msgid "Companies" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_todo +msgid "Configuration Wizards" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country +msgid "Country" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_group +msgid "Country Group" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_state +msgid "Country state" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency +msgid "Currency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_external_dbsource +msgid "External Database Sources" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_fields +msgid "Fields" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_filters +msgid "Filters" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_font +msgid "Fonts available" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_http +msgid "HTTP routing" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_install +msgid "Install Language" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_import +msgid "Language Import" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_lang +msgid "Languages" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module +msgid "Module" +msgstr "Módulo" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper +msgid "Module Prototyper" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_upgrade +msgid "Module Upgrade" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module_dependency +msgid "Module dependency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner +msgid "Partner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_server_object_lines +msgid "Server Action value mapping" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_update +msgid "Update Module" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model__unknown +msgid "_unknown" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_export +msgid "base.language.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_configuration +msgid "base.module.configuration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_update_translations +msgid "base.update.translations" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_image +msgid "base_multi_image.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_owner +msgid "base_multi_image.owner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_url +msgid "ir.actions.act_url" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window +msgid "ir.actions.act_window" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_view +msgid "ir.actions.act_window.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_close +msgid "ir.actions.act_window_close" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_actions +msgid "ir.actions.actions" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_client +msgid "ir.actions.client" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_autovacuum +msgid "ir.autovacuum" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports +msgid "ir.exports" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports_line +msgid "ir.exports.line" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_fields_converter +msgid "ir.fields.converter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_logging +msgid "ir.logging" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_mail_server +msgid "ir.mail_server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_constraint +msgid "ir.model.constraint" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_data +msgid "ir.model.data" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_relation +msgid "ir.model.relation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_needaction_mixin +msgid "ir.needaction_mixin" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_property +msgid "ir.property" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb +msgid "ir.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field +msgid "ir.qweb.field" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_contact +msgid "ir.qweb.field.contact" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_date +msgid "ir.qweb.field.date" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_datetime +msgid "ir.qweb.field.datetime" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_duration +msgid "ir.qweb.field.duration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_float +msgid "ir.qweb.field.float" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_html +msgid "ir.qweb.field.html" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_image +msgid "ir.qweb.field.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_integer +msgid "ir.qweb.field.integer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_many2one +msgid "ir.qweb.field.many2one" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_monetary +msgid "ir.qweb.field.monetary" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_qweb +msgid "ir.qweb.field.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_relative +msgid "ir.qweb.field.relative" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_selection +msgid "ir.qweb.field.selection" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_text +msgid "ir.qweb.field.text" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence +msgid "ir.sequence" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence_date_range +msgid "ir.sequence.date_range" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_translation +msgid "ir.translation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view +msgid "ir.ui.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view_custom +msgid "ir.ui.view.custom" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_api_version +msgid "module_prototyper.api_version" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_module_export +msgid "module_prototyper.module.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_report_base_report_irmodulereference +msgid "report.base.report_irmodulereference" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config +msgid "res.config" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_installer +msgid "res.config.installer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_settings +msgid "res.config.settings" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_title +msgid "res.partner.title" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_request_link +msgid "res.request.link" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users_log +msgid "res.users.log" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_wizard_ir_model_menu_create +msgid "wizard.ir.model.menu.create" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow +msgid "workflow" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_activity +msgid "workflow.activity" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_instance +msgid "workflow.instance" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_transition +msgid "workflow.transition" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_triggers +msgid "workflow.triggers" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_workitem +msgid "workflow.workitem" +msgstr "" diff --git a/base_suspend_security/i18n/fi.po b/base_suspend_security/i18n/fi.po new file mode 100644 index 00000000..67e2f24f --- /dev/null +++ b/base_suspend_security/i18n/fi.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Käyttäjät" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/fr.po b/base_suspend_security/i18n/fr.po new file mode 100644 index 00000000..579053eb --- /dev/null +++ b/base_suspend_security/i18n/fr.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-21 04:22+0000\n" +"PO-Revision-Date: 2017-01-21 04:22+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utilisateurs" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/fr_CA.po b/base_suspend_security/i18n/fr_CA.po new file mode 100644 index 00000000..ba1fd403 --- /dev/null +++ b/base_suspend_security/i18n/fr_CA.po @@ -0,0 +1,524 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-23 02:01+0000\n" +"PO-Revision-Date: 2016-12-23 02:01+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/fr_CA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CA\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_category +msgid "Application" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_bank +msgid "Bank" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_wizard +msgid "Change Password Wizard" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_user +msgid "Change Password Wizard User" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_company +msgid "Companies" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_todo +msgid "Configuration Wizards" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country +msgid "Country" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_group +msgid "Country Group" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_state +msgid "Country state" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency +msgid "Currency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_external_dbsource +msgid "External Database Sources" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_fields +msgid "Fields" +msgstr "Champs" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_filters +msgid "Filters" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_font +msgid "Fonts available" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_http +msgid "HTTP routing" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_install +msgid "Install Language" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_import +msgid "Language Import" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_lang +msgid "Languages" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module +msgid "Module" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper +msgid "Module Prototyper" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_upgrade +msgid "Module Upgrade" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module_dependency +msgid "Module dependency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner +msgid "Partner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_server_object_lines +msgid "Server Action value mapping" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_update +msgid "Update Module" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model__unknown +msgid "_unknown" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_export +msgid "base.language.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_configuration +msgid "base.module.configuration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_update_translations +msgid "base.update.translations" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_image +msgid "base_multi_image.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_owner +msgid "base_multi_image.owner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_url +msgid "ir.actions.act_url" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window +msgid "ir.actions.act_window" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_view +msgid "ir.actions.act_window.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_close +msgid "ir.actions.act_window_close" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_actions +msgid "ir.actions.actions" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_client +msgid "ir.actions.client" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_autovacuum +msgid "ir.autovacuum" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports +msgid "ir.exports" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports_line +msgid "ir.exports.line" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_fields_converter +msgid "ir.fields.converter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_logging +msgid "ir.logging" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_mail_server +msgid "ir.mail_server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_constraint +msgid "ir.model.constraint" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_data +msgid "ir.model.data" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_relation +msgid "ir.model.relation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_needaction_mixin +msgid "ir.needaction_mixin" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_property +msgid "ir.property" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb +msgid "ir.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field +msgid "ir.qweb.field" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_contact +msgid "ir.qweb.field.contact" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_date +msgid "ir.qweb.field.date" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_datetime +msgid "ir.qweb.field.datetime" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_duration +msgid "ir.qweb.field.duration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_float +msgid "ir.qweb.field.float" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_html +msgid "ir.qweb.field.html" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_image +msgid "ir.qweb.field.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_integer +msgid "ir.qweb.field.integer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_many2one +msgid "ir.qweb.field.many2one" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_monetary +msgid "ir.qweb.field.monetary" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_qweb +msgid "ir.qweb.field.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_relative +msgid "ir.qweb.field.relative" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_selection +msgid "ir.qweb.field.selection" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_text +msgid "ir.qweb.field.text" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence +msgid "ir.sequence" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence_date_range +msgid "ir.sequence.date_range" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_translation +msgid "ir.translation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view +msgid "ir.ui.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view_custom +msgid "ir.ui.view.custom" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_api_version +msgid "module_prototyper.api_version" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_module_export +msgid "module_prototyper.module.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_report_base_report_irmodulereference +msgid "report.base.report_irmodulereference" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config +msgid "res.config" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_installer +msgid "res.config.installer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_settings +msgid "res.config.settings" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_title +msgid "res.partner.title" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_request_link +msgid "res.request.link" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users_log +msgid "res.users.log" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_wizard_ir_model_menu_create +msgid "wizard.ir.model.menu.create" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow +msgid "workflow" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_activity +msgid "workflow.activity" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_instance +msgid "workflow.instance" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_transition +msgid "workflow.transition" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_triggers +msgid "workflow.triggers" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_workitem +msgid "workflow.workitem" +msgstr "" diff --git a/base_suspend_security/i18n/fr_CH.po b/base_suspend_security/i18n/fr_CH.po new file mode 100644 index 00000000..a1c08c45 --- /dev/null +++ b/base_suspend_security/i18n/fr_CH.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_CH\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utilisateurs" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/fr_FR.po b/base_suspend_security/i18n/fr_FR.po new file mode 100644 index 00000000..6907d9d7 --- /dev/null +++ b/base_suspend_security/i18n/fr_FR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# Aurel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-08 03:37+0000\n" +"PO-Revision-Date: 2017-02-08 03:37+0000\n" +"Last-Translator: Aurel , 2017\n" +"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/fr_FR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr_FR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utilsateurs" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/hr.po b/base_suspend_security/i18n/hr.po new file mode 100644 index 00000000..943633ee --- /dev/null +++ b/base_suspend_security/i18n/hr.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Korisnici" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "base" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.rule" diff --git a/base_suspend_security/i18n/hr_HR.po b/base_suspend_security/i18n/hr_HR.po new file mode 100644 index 00000000..b372893e --- /dev/null +++ b/base_suspend_security/i18n/hr_HR.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-09 12:31+0000\n" +"PO-Revision-Date: 2016-02-26 11:19+0000\n" +"Last-Translator: <>\n" +"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-server-tools-9-0/language/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Korisnici" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/it.po b/base_suspend_security/i18n/it.po new file mode 100644 index 00000000..2711e3df --- /dev/null +++ b/base_suspend_security/i18n/it.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +# Paolo Valier , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-06 02:25+0000\n" +"PO-Revision-Date: 2018-01-06 02:25+0000\n" +"Last-Translator: Paolo Valier , 2018\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utenti" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.rule" diff --git a/base_suspend_security/i18n/nl.po b/base_suspend_security/i18n/nl.po new file mode 100644 index 00000000..c31cf63d --- /dev/null +++ b/base_suspend_security/i18n/nl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-18 02:29+0000\n" +"PO-Revision-Date: 2017-02-18 02:29+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/nl_NL.po b/base_suspend_security/i18n/nl_NL.po new file mode 100644 index 00000000..d1af96bf --- /dev/null +++ b/base_suspend_security/i18n/nl_NL.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-16 02:17+0000\n" +"PO-Revision-Date: 2017-12-16 02:17+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Gebruikers" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/pt.po b/base_suspend_security/i18n/pt.po new file mode 100644 index 00000000..4abbce62 --- /dev/null +++ b/base_suspend_security/i18n/pt.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:43+0000\n" +"PO-Revision-Date: 2017-08-01 02:43+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utilizadores" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/pt_BR.po b/base_suspend_security/i18n/pt_BR.po new file mode 100644 index 00000000..93498303 --- /dev/null +++ b/base_suspend_security/i18n/pt_BR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-21 04:22+0000\n" +"PO-Revision-Date: 2017-01-21 04:22+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Usuários" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/pt_PT.po b/base_suspend_security/i18n/pt_PT.po new file mode 100644 index 00000000..a2111bde --- /dev/null +++ b/base_suspend_security/i18n/pt_PT.po @@ -0,0 +1,524 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-23 02:01+0000\n" +"PO-Revision-Date: 2016-12-23 02:01+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_category +msgid "Application" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_bank +msgid "Bank" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_wizard +msgid "Change Password Wizard" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_change_password_user +msgid "Change Password Wizard User" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_company +msgid "Companies" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_todo +msgid "Configuration Wizards" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country +msgid "Country" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_group +msgid "Country Group" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_country_state +msgid "Country state" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency +msgid "Currency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_currency_rate +msgid "Currency Rate" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_external_dbsource +msgid "External Database Sources" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_fields +msgid "Fields" +msgstr "Campos" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_filters +msgid "Filters" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_font +msgid "Fonts available" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_http +msgid "HTTP routing" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_install +msgid "Install Language" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_import +msgid "Language Import" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_lang +msgid "Languages" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model +msgid "Models" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module +msgid "Module" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper +msgid "Module Prototyper" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_upgrade +msgid "Module Upgrade" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_module_module_dependency +msgid "Module dependency" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner +msgid "Partner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_category +msgid "Partner Tags" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_server_object_lines +msgid "Server Action value mapping" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_update +msgid "Update Module" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model__unknown +msgid "_unknown" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_language_export +msgid "base.language.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_module_configuration +msgid "base.module.configuration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_update_translations +msgid "base.update.translations" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_image +msgid "base_multi_image.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base_multi_image_owner +msgid "base_multi_image.owner" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_url +msgid "ir.actions.act_url" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window +msgid "ir.actions.act_window" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_view +msgid "ir.actions.act_window.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_act_window_close +msgid "ir.actions.act_window_close" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_actions +msgid "ir.actions.actions" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_client +msgid "ir.actions.client" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_autovacuum +msgid "ir.autovacuum" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_config_parameter +msgid "ir.config_parameter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_cron +msgid "ir.cron" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports +msgid "ir.exports" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_exports_line +msgid "ir.exports.line" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_fields_converter +msgid "ir.fields.converter" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_logging +msgid "ir.logging" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_mail_server +msgid "ir.mail_server" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_constraint +msgid "ir.model.constraint" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_data +msgid "ir.model.data" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_relation +msgid "ir.model.relation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_needaction_mixin +msgid "ir.needaction_mixin" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_property +msgid "ir.property" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb +msgid "ir.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field +msgid "ir.qweb.field" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_contact +msgid "ir.qweb.field.contact" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_date +msgid "ir.qweb.field.date" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_datetime +msgid "ir.qweb.field.datetime" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_duration +msgid "ir.qweb.field.duration" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_float +msgid "ir.qweb.field.float" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_html +msgid "ir.qweb.field.html" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_image +msgid "ir.qweb.field.image" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_integer +msgid "ir.qweb.field.integer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_many2one +msgid "ir.qweb.field.many2one" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_monetary +msgid "ir.qweb.field.monetary" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_qweb +msgid "ir.qweb.field.qweb" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_relative +msgid "ir.qweb.field.relative" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_selection +msgid "ir.qweb.field.selection" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_qweb_field_text +msgid "ir.qweb.field.text" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence +msgid "ir.sequence" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_sequence_date_range +msgid "ir.sequence.date_range" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_translation +msgid "ir.translation" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view +msgid "ir.ui.view" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_ui_view_custom +msgid "ir.ui.view.custom" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_api_version +msgid "module_prototyper.api_version" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_module_prototyper_module_export +msgid "module_prototyper.module.export" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_report_base_report_irmodulereference +msgid "report.base.report_irmodulereference" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config +msgid "res.config" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_installer +msgid "res.config.installer" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_config_settings +msgid "res.config.settings" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_partner_title +msgid "res.partner.title" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_request_link +msgid "res.request.link" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users_log +msgid "res.users.log" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_wizard_ir_model_menu_create +msgid "wizard.ir.model.menu.create" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow +msgid "workflow" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_activity +msgid "workflow.activity" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_instance +msgid "workflow.instance" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_transition +msgid "workflow.transition" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_triggers +msgid "workflow.triggers" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_workflow_workitem +msgid "workflow.workitem" +msgstr "" diff --git a/base_suspend_security/i18n/ro.po b/base_suspend_security/i18n/ro.po new file mode 100644 index 00000000..e13ad605 --- /dev/null +++ b/base_suspend_security/i18n/ro.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# Daniel Schweiger , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Daniel Schweiger , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Utilizatori" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/sl.po b/base_suspend_security/i18n/sl.po new file mode 100644 index 00000000..958a37cb --- /dev/null +++ b/base_suspend_security/i18n/sl.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-21 04:22+0000\n" +"PO-Revision-Date: 2017-01-21 04:22+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Uporabniki" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "ir.model.access" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "ir.rule" diff --git a/base_suspend_security/i18n/tr.po b/base_suspend_security/i18n/tr.po new file mode 100644 index 00000000..f945bf94 --- /dev/null +++ b/base_suspend_security/i18n/tr.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-21 04:22+0000\n" +"PO-Revision-Date: 2017-01-21 04:22+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/tr_TR.po b/base_suspend_security/i18n/tr_TR.po new file mode 100644 index 00000000..6fdd5858 --- /dev/null +++ b/base_suspend_security/i18n/tr_TR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:54+0000\n" +"PO-Revision-Date: 2017-02-22 00:54+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr_TR\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_base +msgid "base" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/i18n/zh_CN.po b/base_suspend_security/i18n/zh_CN.po new file mode 100644 index 00000000..003b015a --- /dev/null +++ b/base_suspend_security/i18n/zh_CN.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_suspend_security +# +# Translators: +# Jeffery Chenn , 2016 +msgid "" +msgstr "" +"Project-Id-Version: server-tools (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-31 11:58+0000\n" +"PO-Revision-Date: 2016-09-04 06:07+0000\n" +"Last-Translator: Jeffery Chenn \n" +"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-server-tools-9-0/language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_res_users +msgid "Users" +msgstr "用户" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: base_suspend_security +#: model:ir.model,name:base_suspend_security.model_ir_rule +msgid "ir.rule" +msgstr "" diff --git a/base_suspend_security/models/__init__.py b/base_suspend_security/models/__init__.py new file mode 100644 index 00000000..861ec124 --- /dev/null +++ b/base_suspend_security/models/__init__.py @@ -0,0 +1,22 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import base +from . import ir_model_access +from . import ir_rule +from . import res_users diff --git a/base_suspend_security/models/base.py b/base_suspend_security/models/base.py new file mode 100644 index 00000000..ed705c6e --- /dev/null +++ b/base_suspend_security/models/base.py @@ -0,0 +1,15 @@ +# Copyright 2016 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + +from ..base_suspend_security import BaseSuspendSecurityUid + + +class Base(models.AbstractModel): + + _inherit = 'base' + + @api.model + def suspend_security(self): + return self.sudo(user=BaseSuspendSecurityUid(self.env.uid)) diff --git a/base_suspend_security/models/ir_model_access.py b/base_suspend_security/models/ir_model_access.py new file mode 100644 index 00000000..f90d3dd4 --- /dev/null +++ b/base_suspend_security/models/ir_model_access.py @@ -0,0 +1,34 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import api, models, tools + +from ..base_suspend_security import BaseSuspendSecurityUid + + +class IrModelAccess(models.Model): + _inherit = 'ir.model.access' + + @api.model + @tools.ormcache_context('self._uid', 'model', 'mode', 'raise_exception', + keys=('lang',)) + def check(self, model, mode='read', raise_exception=True): + if isinstance(self.env.uid, BaseSuspendSecurityUid): + return True + return super(IrModelAccess, self).check( + model, mode=mode, raise_exception=raise_exception) diff --git a/base_suspend_security/models/ir_rule.py b/base_suspend_security/models/ir_rule.py new file mode 100644 index 00000000..111430f3 --- /dev/null +++ b/base_suspend_security/models/ir_rule.py @@ -0,0 +1,31 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import api, models + +from ..base_suspend_security import BaseSuspendSecurityUid + + +class IrRule(models.Model): + _inherit = 'ir.rule' + + @api.model + def domain_get(self, model_name, mode='read'): + if isinstance(self.env.uid, BaseSuspendSecurityUid): + return [], [], ['"%s"' % self.pool[model_name]._table] + return super(IrRule, self).domain_get(model_name, mode=mode) diff --git a/base_suspend_security/models/res_users.py b/base_suspend_security/models/res_users.py new file mode 100644 index 00000000..e7b16e90 --- /dev/null +++ b/base_suspend_security/models/res_users.py @@ -0,0 +1,35 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import models + +from ..base_suspend_security import BaseSuspendSecurityUid + + +class ResUsers(models.Model): + _inherit = 'res.users' + + @classmethod + def _browse(cls, ids, env, prefetch=None): + """be sure we browse ints, ids laread is normalized""" + return super(ResUsers, cls)._browse( + [ + i if not isinstance(i, BaseSuspendSecurityUid) + else super(BaseSuspendSecurityUid, i).__int__() + for i in ids + ], env, prefetch=prefetch) diff --git a/base_suspend_security/static/description/icon.png b/base_suspend_security/static/description/icon.png new file mode 100644 index 00000000..3a0328b5 Binary files /dev/null and b/base_suspend_security/static/description/icon.png differ diff --git a/base_suspend_security/tests/__init__.py b/base_suspend_security/tests/__init__.py new file mode 100644 index 00000000..af8225bd --- /dev/null +++ b/base_suspend_security/tests/__init__.py @@ -0,0 +1,19 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV . +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from . import test_base_suspend_security diff --git a/base_suspend_security/tests/test_base_suspend_security.py b/base_suspend_security/tests/test_base_suspend_security.py new file mode 100644 index 00000000..82d15b9a --- /dev/null +++ b/base_suspend_security/tests/test_base_suspend_security.py @@ -0,0 +1,48 @@ +############################################################################## +# +# This module copyright (C) 2015 Therp BV (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import exceptions +from odoo.tests.common import TransactionCase + + +class TestBaseSuspendSecurity(TransactionCase): + def test_base_suspend_security(self): + user_id = self.env.ref('base.user_demo').id + other_company = self.env['res.company'].create({ + 'name': 'other company', + # without this, a partner is created and mail's constraint on + # notify_email kicks in + 'partner_id': self.env.ref('base.partner_demo').id, + }) + # be sure what we try is forbidden + with self.assertRaises(exceptions.AccessError): + self.env.ref('base.user_root').sudo(user_id).name = 'test' + with self.assertRaises(exceptions.AccessError): + other_company.sudo(user_id).name = 'test' + # this tests ir.model.access + self.env.ref('base.user_root').sudo(user_id).suspend_security().write({ + 'name': 'test'}) + self.assertEqual(self.env.ref('base.user_root').name, 'test') + self.assertEqual(self.env.ref('base.user_root').write_uid.id, user_id) + # this tests ir.rule + other_company.sudo(user_id).suspend_security().write({'name': 'test'}) + self.assertEqual(other_company.name, 'test') + self.assertEqual(other_company.write_uid.id, user_id) + # this tests if _normalize_args conversion works + self.env['res.users'].browse( + self.env['res.users'].suspend_security().env.uid)