Browse Source

Merge pull request #776 from Fenkiou/10-mig-auth_admin_passkey

[10.0][MIG] auth_admin_passkey
pull/682/merge
Sylvain LE GAL 7 years ago
committed by GitHub
parent
commit
3b6b45354f
  1. 98
      auth_admin_passkey/README.rst
  2. 27
      auth_admin_passkey/__init__.py
  3. 33
      auth_admin_passkey/__manifest__.py
  4. 22
      auth_admin_passkey/data/ir_config_parameter.xml
  5. 84
      auth_admin_passkey/i18n/ar.po
  6. 54
      auth_admin_passkey/i18n/auth_admin_passkey.pot
  7. 84
      auth_admin_passkey/i18n/ca.po
  8. 84
      auth_admin_passkey/i18n/da.po
  9. 45
      auth_admin_passkey/i18n/de.po
  10. 84
      auth_admin_passkey/i18n/el_GR.po
  11. 38
      auth_admin_passkey/i18n/es.po
  12. 84
      auth_admin_passkey/i18n/es_ES.po
  13. 84
      auth_admin_passkey/i18n/fi.po
  14. 32
      auth_admin_passkey/i18n/fr.po
  15. 84
      auth_admin_passkey/i18n/fr_CH.po
  16. 84
      auth_admin_passkey/i18n/hr.po
  17. 84
      auth_admin_passkey/i18n/hr_HR.po
  18. 85
      auth_admin_passkey/i18n/it.po
  19. 84
      auth_admin_passkey/i18n/nl.po
  20. 31
      auth_admin_passkey/i18n/pt_BR.po
  21. 34
      auth_admin_passkey/i18n/sl.po
  22. 93
      auth_admin_passkey/i18n/tr.po
  23. 84
      auth_admin_passkey/i18n/tr_TR.po
  24. 84
      auth_admin_passkey/i18n/zh_CN.po
  25. 24
      auth_admin_passkey/model/__init__.py
  26. 76
      auth_admin_passkey/model/res_config.py
  27. 137
      auth_admin_passkey/model/res_users.py
  28. 9
      auth_admin_passkey/models/__init__.py
  29. 58
      auth_admin_passkey/models/res_config.py
  30. 98
      auth_admin_passkey/models/res_users.py
  31. 26
      auth_admin_passkey/tests/__init__.py
  32. 128
      auth_admin_passkey/tests/test_auth_admin_passkey.py
  33. 171
      auth_admin_passkey/tests/test_ui.py
  34. 47
      auth_admin_passkey/view/res_config_view.xml
  35. 27
      auth_admin_passkey/views/res_config_view.xml
  36. 1
      setup/auth_admin_passkey/odoo/__init__.py
  37. 1
      setup/auth_admin_passkey/odoo/addons/__init__.py
  38. 1
      setup/auth_admin_passkey/odoo/addons/auth_admin_passkey
  39. 6
      setup/auth_admin_passkey/setup.py

98
auth_admin_passkey/README.rst

@ -1,18 +1,80 @@
Admin password become a passkey for all active logins
=====================================================
Functionality :
---------------
* Administrator has now the possibility to login in with any login;
* By default, OpenERP will send a mail to user and admin to indicate them;
* If a user and the admin have the same password, admin will be informed;
Technical information :
-----------------------
* Create two ir_config_parameter to enable / disable mail sending;
Copyright, Author and Licence :
-------------------------------
* Copyright : 2014, Groupement Régional Alimentaire de Proximité;
* Author : Sylvain LE GAL (https://twitter.com/legalsylvain);
* Licence : AGPL-3 (http://www.gnu.org/licenses/)
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
====================
Auth Admin - Passkey
====================
This module extends the functionality of users module to support loging in with the administrator password
in other user accounts.
* Administrator has now the possibility to login in with any login;
* By default, Odoo will send a mail to user and admin to indicate them;
* If a user and the admin have the same password, admin will be informed;
Configuration
=============
To enable notifications for login attempts, you need to:
Go to Settings > General Settings.
Enable the "Send email to admin user" and / or "Send email to user" checkbox
Usage
=====
To login into a different user account type in the user name of the account and the password of the administrator at the login screen
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/149/10.0
Known issues / Roadmap
======================
None
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smash it by providing detailed and welcomed feedback.
Credits
=======
Images
------
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Eugen Don <eugen.don@don-systems.de>
* Alexandre Papin (https://twitter.com/Fenkiou)
* Sylvain LE GAL (https://twitter.com/legalsylvain)
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 https://odoo-community.org.

27
auth_admin_passkey/__init__.py

@ -1,23 +1,6 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from . import model
from . import models

33
auth_admin_passkey/__manifest__.py

@ -1,38 +1,21 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{
'name': 'Authentification - Admin Passkey',
'version': '8.0.2.1.1',
'version': '10.0.1.0.0',
'category': 'base',
'author': "GRAP,Odoo Community Association (OCA)",
'website': 'http://www.grap.coop',
'license': 'AGPL-3',
'depends': [
'mail',
],
],
'data': [
'data/ir_config_parameter.xml',
'view/res_config_view.xml',
'views/res_config_view.xml',
],
'demo': [],
'js': [],
@ -41,6 +24,6 @@
'images': [],
'post_load': '',
'application': False,
'installable': False,
'installable': True,
'auto_install': False,
}

22
auth_admin_passkey/data/ir_config_parameter.xml

@ -1,23 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ********************************************************************** -->
<!--Admin Passkey module for OpenERP -->
<!--Copyright (C) 2013-2014 GRAP (http://www.grap.coop) -->
<!--@author Sylvain LE GAL (https://twitter.com/legalsylvain) -->
<!--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 <http://www.gnu.org/licenses/>. -->
<!-- ********************************************************************** -->
<openerp>
<odoo>
<data noupdate="1">
<record id="send_to_admin" model="ir.config_parameter">
@ -31,4 +13,4 @@
</record>
</data>
</openerp>
</odoo>

84
auth_admin_passkey/i18n/ar.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2017-01-11 15:36+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Arabic (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "المستخدمون"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

54
auth_admin_passkey/i18n/auth_admin_passkey.pot

@ -1,33 +1,13 @@
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# Translation of OpenERP Server.
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-03-23 20:41+0000\n"
"PO-Revision-Date: 2014-03-23 20:41+0000\n"
"POT-Creation-Date: 2017-03-15 19:43+0000\n"
"PO-Revision-Date: 2017-03-15 19:43+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -36,13 +16,13 @@ msgstr ""
"Plural-Forms: \n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:66
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:44
#: code:addons/auth_admin_passkey/models/res_users.py:39
#, python-format
msgid "Admin user used his passkey to login with '%s'.\n"
"\n"
@ -56,46 +36,44 @@ msgid "Admin user used his passkey to login with '%s'.\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:0
#: model:ir.ui.view,arch_db:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:42
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
#: model:ir.model.fields,field_description:auth_admin_passkey.field_base_config_settings_auth_admin_passkey_send_to_admin
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
#: model:ir.model.fields,field_description:auth_admin_passkey.field_base_config_settings_auth_admin_passkey_send_to_user
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: code:_description:0
#: model:ir.model,name:auth_admin_passkey.model_res_users
#, python-format
msgid "Users"
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "When the administrator use his password to login in with a different account, OpenERP will send an email to the account user."
#: model:ir.model.fields,help:auth_admin_passkey.field_base_config_settings_auth_admin_passkey_send_to_user
msgid "When the administrator use his password to login in with a different account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "When the administrator use his password to login in with a different account, OpenERP will send an email to the admin user."
#: model:ir.model.fields,help:auth_admin_passkey.field_base_config_settings_auth_admin_passkey_send_to_admin
msgid "When the administrator use his password to login in with a different account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:62
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/ca.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-17 07:51+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Catalan (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Usuaris"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/da.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-18 02:08+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Danish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Brugere"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

45
auth_admin_passkey/i18n/de.po

@ -3,13 +3,20 @@
# * auth_admin_passkey
#
# Translators:
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013-2014
# Giacomo <giacomo.spettoli@gmail.com>, 2015
# Hotellook, 2014
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Miku Laitinen <miku.laitinen@gmail.com>, 2015
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015
# Rudolf Schnapka <rs@techno-flex.de>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-10 14:40+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -18,13 +25,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
msgstr "<pre>Benutzer mit Anmeldename '%s' hat das gleiche Passwort wie Sie.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
@ -35,28 +42,28 @@ msgid ""
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
msgstr "Admin-Benutzer hat seinen PassKey verwendet, um sich als '%s' anzumelden.\n\n\n\nTechnische Information folgt : \n\n- Login-Datum: %s\n\n"
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
msgstr "PassKey"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr ""
msgstr "Verwendeter PassKey"
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
msgstr "Sende Email an Admin-Benutzer."
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
msgstr "Sende Email an Benutzer"
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
@ -67,18 +74,18 @@ msgstr "Benutzer"
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the account user."
msgstr ""
"account, Odoo will send an email to the account user."
msgstr "Wenn der Administrator sein Passwort verwendet, um sich mit anderem Konto anzumelden, sendet das System dem Kontoinhaber eine Email."
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the admin user."
msgstr ""
"account, Odoo will send an email to the admin user."
msgstr "Wenn der Administrator sein Passwort verwendet, um sich als anderer Benutzer anzumelden, wird Oddoeine entsprechende Email an den Admin-Nutzer senden."
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgstr ""
msgid "[WARNING] Odoo Security Risk"
msgstr "[Warnung] Odoo Sicherheitsrisiko"

84
auth_admin_passkey/i18n/el_GR.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Greek (Greece) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Χρήστες"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

38
auth_admin_passkey/i18n/es.po

@ -3,13 +3,23 @@
# * auth_admin_passkey
#
# Translators:
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2016
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2016
# Antonio Trueba, 2016
# Antonio Trueba, 2016
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Paolo Valier, 2016
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015
# Rudolf Schnapka <rs@techno-flex.de>, 2015-2016
# SaFi J. <safi2266@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-11 15:36+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -18,13 +28,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
msgstr "<pre>El usuario con identificador '%s' tiene la misma contraseña que usted.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
@ -35,7 +45,7 @@ msgid ""
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
msgstr "El usuario administrador ha usado su contraseña para acceder a '%s'.\n\n\n\nDatos técnicos a continuación : \n\n- Fecha de acceso : %s\n\n"
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
@ -43,7 +53,7 @@ msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr ""
@ -51,12 +61,12 @@ msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
msgstr "Enviar email al usuario administrador."
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
msgstr "Enviar email al usuario."
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
@ -67,18 +77,18 @@ msgstr "Usuarios"
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the account user."
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the admin user."
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/es_ES.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Usuarios"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/fi.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-14 07:01+0000\n"
"PO-Revision-Date: 2016-04-04 11:03+0000\n"
"Last-Translator: Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>\n"
"Language-Team: Finnish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Käyttäjät"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

32
auth_admin_passkey/i18n/fr.po

@ -3,12 +3,20 @@
# * auth_admin_passkey
#
# Translators:
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2015
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2015
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012
# Hotellook, 2014
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2016
# Paolo Valier, 2016
# Rudolf Schnapka <rs@techno-flex.de>, 2016
# Thomas A. Jaeger, 2015
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-12 18:08+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: French (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fr/)\n"
"MIME-Version: 1.0\n"
@ -18,13 +26,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr "<pre>L'utilisateur dont l'identifiant est '%s' a le même mot de passe que vous.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
@ -43,7 +51,7 @@ msgid "Passkey"
msgstr "Mot de passe \"bris de glace\""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr "Mot de passe \"bris de glace\" utilisé"
@ -67,18 +75,18 @@ msgstr "Utilisateurs"
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the account user."
msgstr "Quand l'administrateur utilise son mot de passe pour s'authentifier avec un compte différent, OpenERP lui enverra un mail."
"account, Odoo will send an email to the account user."
msgstr "Quand l'administrateur utilise son mot de passe pour s'authentifier avec un compte différent, Odoo lui enverra un mail."
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the admin user."
msgstr "Quand l'administrateur utilise son mot de passe pour s'authentifier avec un compte différent, OpenERP enverra un mail à l'utilisateur."
"account, Odoo will send an email to the admin user."
msgstr "Quand l'administrateur utilise son mot de passe pour s'authentifier avec un compte différent, Odoo enverra un mail à l'utilisateur."
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgstr "[WARNING] Faille de sécurité sur OpenERP"
msgid "[WARNING] Odoo Security Risk"
msgstr "[WARNING] Faille de sécurité sur Odoo"

84
auth_admin_passkey/i18n/fr_CH.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-30 14:52+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: French (Switzerland) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Utilisateurs"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/hr.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Croatian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Korisnici"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/hr_HR.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2017-01-11 15:38+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-server-tools-8-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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Korisnici"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

85
auth_admin_passkey/i18n/it.po

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
# Paolo Valier, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-17 15:36+0000\n"
"PO-Revision-Date: 2016-03-13 08:47+0000\n"
"Last-Translator: Paolo Valier\n"
"Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr "Invia email all'utente amministratore."
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr "Invia email all'utente."
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Utenti"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/nl.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Dutch (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Gebruikers"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

31
auth_admin_passkey/i18n/pt_BR.po

@ -4,13 +4,22 @@
#
# Translators:
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015
# Bole <bole@dajmi5.com>, 2015
# Bole <bole@dajmi5.com>, 2015
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012
# Gustavo Lepri <gustavolepri@gmail.com>, 2015
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2016
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Paolo Valier, 2016
# Rudolf Schnapka <rs@techno-flex.de>, 2016
# Thomas A. Jaeger, 2015
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-18 20:59+0000\n"
"Last-Translator: Armando Vulcano Junior <vulcano@uol.com.br>\n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-11 15:39+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -19,13 +28,13 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr "<pre>Usuário com login '%s' tem a mesma senha que você.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
@ -44,7 +53,7 @@ msgid "Passkey"
msgstr "Passkey"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr "Passkey usada"
@ -68,18 +77,18 @@ msgstr "Usuários"
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the account user."
"account, Odoo will send an email to the account user."
msgstr "Quando o administrador usa sua senha para dar login com uma conta diferente, OPENERP irá enviar um email para a conta do usuário."
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the admin user."
"account, Odoo will send an email to the admin user."
msgstr "Quando o administrador usa sua senha para dar login com uma conta diferente, OPENERP irá enviar um email para a conta do administrador."
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgstr "[AVISO] OpenERP Risco de Segurança"
msgid "[WARNING] Odoo Security Risk"
msgstr "[AVISO] Odoo Risco de Segurança"

34
auth_admin_passkey/i18n/sl.po

@ -3,13 +3,21 @@
# * auth_admin_passkey
#
# Translators:
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015
# Artūras Griškonis <ArtX38@gmail.com>, 2012,2015-2016
# Artūras Griškonis <xbmc.lt@gmail.com>, 2012
# danimaribeiro <danimaribeiro@gmail.com>, 2016
# Dorin Hongu <dhongu@gmail.com>, 2015
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2016
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Rudolf Schnapka <rs@techno-flex.de>, 2016
# Zapata11 <raimondas.duzinskas@gmail.com>, 2015
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-29 11:14+0000\n"
"PO-Revision-Date: 2015-09-26 07:15+0000\n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-12 08:24+0000\n"
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n"
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/sl/)\n"
"MIME-Version: 1.0\n"
@ -19,13 +27,13 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:88
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr "<pre>Uporabnik '%s' ima enako geslo kot vi.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:64
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
@ -44,7 +52,7 @@ msgid "Passkey"
msgstr "Prijavni ključ"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:61
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr "Uporabljen prijavni ključ"
@ -68,18 +76,18 @@ msgstr "Uporabniki"
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the account user."
msgstr "Ko administrator uporabi svoje geslo za prijavo v drug račun, bo OpenERP poslal e-pošto uporabniku računa."
"account, Odoo will send an email to the account user."
msgstr "Ko administrator uporabi svoje geslo za prijavo v drug račun, bo Odoo poslal e-pošto uporabniku računa."
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, OpenERP will send an email to the admin user."
msgstr "Ko administrator uporabi svoje geslo za prijavo v drug račun, bo OpenERP poslal e-pošto administratorju."
"account, Odoo will send an email to the admin user."
msgstr "Ko administrator uporabi svoje geslo za prijavo v drug račun, bo Odoo poslal e-pošto administratorju."
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/model/res_users.py:86
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] OpenERP Security Risk"
msgstr "[OPOZORILO] OpenERP varnostno tveganje"
msgid "[WARNING] Odoo Security Risk"
msgstr "[OPOZORILO] Odoo varnostno tveganje"

93
auth_admin_passkey/i18n/tr.po

@ -0,0 +1,93 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2016
# Ahmet Altinisik <aaltinisik@altinkaya.com.tr>, 2016
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013-2014
# Giacomo <giacomo.spettoli@gmail.com>, 2015
# Hotellook, 2014
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016
# Miku Laitinen <miku.laitinen@gmail.com>, 2015
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015
# Rudolf Schnapka <rs@techno-flex.de>, 2015-2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-03-02 09:58+0000\n"
"PO-Revision-Date: 2017-01-11 15:35+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:66
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr "<pre> '%s' kullanıcısının şifresi sizinkiyle aynı.</pre>"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr "Yönetici şifresini kullanarak '%s'. kullanıcısıyla giriş yaptı.\n\n\n\nTeknik detaylar aşağıda : \n\n- Giriş zamanı : %s\n\n"
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr "Parola"
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:38
#, python-format
msgid "Passkey used"
msgstr "Kullanılan parola"
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr "Yöneticiye e-posta gönder."
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr "Kullanıcıya e-posta gönder."
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Kullanıcılar"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr "Yönetici farklı bir hesaba şifresiyle giriş yaparsa. Odoo hesap sahibine e-posta gönderecek."
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr "Yönetici şifresiyle farklı bir kullanıcının hesabına giriş yaparsa, Odoo yöneticiye e-posta gönderir."
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:64
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr "[UYARI] Odoo Güvenlik Riski"

84
auth_admin_passkey/i18n/tr_TR.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-31 08:34+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Turkish (Turkey) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "Kullanıcılar"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

84
auth_admin_passkey/i18n/zh_CN.po

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_admin_passkey
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: server-tools (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-01-12 03:50+0000\n"
"PO-Revision-Date: 2015-09-18 13:53+0000\n"
"Last-Translator: <>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-server-tools-8-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: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:69
#, python-format
msgid "<pre>User with login '%s' has the same password as you.</pre>"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:44
#, python-format
msgid ""
"Admin user used his passkey to login with '%s'.\n"
"\n"
"\n"
"\n"
"Technicals informations belows : \n"
"\n"
"- Login date : %s\n"
"\n"
msgstr ""
#. module: auth_admin_passkey
#: view:base.config.settings:auth_admin_passkey.view_res_config_settings
msgid "Passkey"
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:41
#, python-format
msgid "Passkey used"
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid "Send email to admin user."
msgstr ""
#. module: auth_admin_passkey
#: field:base.config.settings,auth_admin_passkey_send_to_user:0
msgid "Send email to user."
msgstr ""
#. module: auth_admin_passkey
#: model:ir.model,name:auth_admin_passkey.model_res_users
msgid "Users"
msgstr "用户"
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_user:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the account user."
msgstr ""
#. module: auth_admin_passkey
#: help:base.config.settings,auth_admin_passkey_send_to_admin:0
msgid ""
"When the administrator use his password to login in with a different "
"account, Odoo will send an email to the admin user."
msgstr ""
#. module: auth_admin_passkey
#: code:addons/auth_admin_passkey/models/res_users.py:67
#, python-format
msgid "[WARNING] Odoo Security Risk"
msgstr ""

24
auth_admin_passkey/model/__init__.py

@ -1,24 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import res_config
from . import res_users

76
auth_admin_passkey/model/res_config.py

@ -1,76 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields
from openerp.osv.orm import TransientModel
from openerp.tools.safe_eval import safe_eval
class base_config_settings(TransientModel):
_inherit = 'base.config.settings'
# Getter / Setter Section
def get_default_auth_admin_passkey_send_to_admin(
self, cr, uid, ids, context=None):
icp = self.pool['ir.config_parameter']
return {
'auth_admin_passkey_send_to_admin': safe_eval(icp.get_param(
cr, uid, 'auth_admin_passkey.send_to_admin', 'True')),
}
def set_auth_admin_passkey_send_to_admin(self, cr, uid, ids, context=None):
config = self.browse(cr, uid, ids[0], context=context)
icp = self.pool['ir.config_parameter']
icp.set_param(
cr, uid, 'auth_admin_passkey.send_to_admin',
repr(config.auth_admin_passkey_send_to_admin))
def get_default_auth_admin_passkey_send_to_user(
self, cr, uid, ids, context=None):
icp = self.pool['ir.config_parameter']
return {
'auth_admin_passkey_send_to_user': safe_eval(icp.get_param(
cr, uid, 'auth_admin_passkey.send_to_user', 'True')),
}
def set_auth_admin_passkey_send_to_user(self, cr, uid, ids, context=None):
config = self.browse(cr, uid, ids[0], context=context)
icp = self.pool['ir.config_parameter']
icp.set_param(
cr, uid, 'auth_admin_passkey.send_to_user',
repr(config.auth_admin_passkey_send_to_user))
# Columns Section
_columns = {
'auth_admin_passkey_send_to_admin': fields.boolean(
'Send email to admin user.',
help="""When the administrator use his password to login in """
"""with a different account, OpenERP will send an email """
"""to the admin user.""",
),
'auth_admin_passkey_send_to_user': fields.boolean(
string='Send email to user.',
help="""When the administrator use his password to login in """
"""with a different account, OpenERP will send an email """
"""to the account user.""",
),
}

137
auth_admin_passkey/model/res_users.py

@ -1,137 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
import datetime
from openerp import SUPERUSER_ID
from openerp import pooler
from openerp import exceptions
from openerp.osv.orm import Model
from openerp.tools.translate import _
from openerp.tools.safe_eval import safe_eval
class res_users(Model):
_inherit = "res.users"
# Private Function section
def _get_translation(self, cr, lang, text):
context = {'lang': lang} # noqa: _() checks page for locals
return _(text)
def _send_email_passkey(self, cr, user_id, user_agent_env):
""" Send a email to the admin of the system and / or the user
to inform passkey use."""
mails = []
mail_obj = self.pool['mail.mail']
icp_obj = self.pool['ir.config_parameter']
admin_user = self.browse(cr, SUPERUSER_ID, SUPERUSER_ID)
login_user = self.browse(cr, SUPERUSER_ID, user_id)
send_to_admin = safe_eval(icp_obj.get_param(
cr, SUPERUSER_ID, 'auth_admin_passkey.send_to_admin', 'True'))
send_to_user = safe_eval(icp_obj.get_param(
cr, SUPERUSER_ID, 'auth_admin_passkey.send_to_user', 'True'))
if send_to_admin and admin_user.email:
mails.append({'email': admin_user.email, 'lang': admin_user.lang})
if send_to_user and login_user.email:
mails.append({'email': login_user.email, 'lang': login_user.lang})
for mail in mails:
subject = self._get_translation(
cr, mail['lang'], _('Passkey used'))
body = self._get_translation(
cr, mail['lang'],
_("""Admin user used his passkey to login with '%s'.\n\n"""
"""\n\nTechnicals informations belows : \n\n"""
"""- Login date : %s\n\n""")) % (
login_user.login,
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
for k, v in user_agent_env.iteritems():
body += ("- %s : %s\n\n") % (k, v)
mail_obj.create(
cr, SUPERUSER_ID, {
'email_to': mail['email'],
'subject': subject,
'body_html': '<pre>%s</pre>' % body})
def _send_email_same_password(self, cr, login_user):
""" Send a email to the admin user to inform that another user has the
same password as him."""
mail_obj = self.pool['mail.mail']
admin_user = self.browse(cr, SUPERUSER_ID, SUPERUSER_ID)
if admin_user.email:
mail_obj.create(cr, SUPERUSER_ID, {
'email_to': admin_user.email,
'subject': self._get_translation(
cr, admin_user.lang, _('[WARNING] OpenERP Security Risk')),
'body_html': self._get_translation(
cr, admin_user.lang, _(
"""<pre>User with login '%s' has the same """
"""password as you.</pre>""")) % (login_user),
})
# Overload Section
def authenticate(self, db, login, password, user_agent_env):
""" Authenticate the user 'login' is password is ok or if
is admin password. In the second case, send mail to user and admin."""
user_id = super(res_users, self).authenticate(
db, login, password, user_agent_env)
if user_id and (user_id != SUPERUSER_ID):
same_password = False
cr = pooler.get_db(db).cursor()
try:
# directly use parent 'check_credentials' function
# to really know if credentials are ok
# or if it was admin password
super(res_users, self).check_credentials(
cr, SUPERUSER_ID, password)
try:
# Test now if the user has the same password as admin user
super(res_users, self).check_credentials(
cr, user_id, password)
same_password = True
except exceptions.AccessDenied:
pass
if not same_password:
self._send_email_passkey(cr, user_id, user_agent_env)
else:
self._send_email_same_password(cr, login)
cr.commit()
except exceptions.AccessDenied:
pass
finally:
cr.close()
return user_id
def check_credentials(self, cr, uid, password):
""" Return now True if credentials are good OR if password is admin
password."""
if uid != SUPERUSER_ID:
try:
super(res_users, self).check_credentials(
cr, uid, password)
return True
except exceptions.AccessDenied:
return self.check_credentials(cr, SUPERUSER_ID, password)
else:
return super(res_users, self).check_credentials(cr, uid, password)

9
auth_admin_passkey/models/__init__.py

@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from . import (
res_config,
res_users,
)

58
auth_admin_passkey/models/res_config.py

@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from odoo import api, fields, models
from odoo.tools import safe_eval
class BaseConfigSettings(models.TransientModel):
_inherit = 'base.config.settings'
@api.model
def get_default_auth_admin_passkey_send_to_admin(self, fields):
icp = self.env['ir.config_parameter']
return {
'auth_admin_passkey_send_to_admin': safe_eval(icp.get_param(
'auth_admin_passkey.send_to_admin', 'True')),
}
@api.model
def get_default_auth_admin_passkey_send_to_user(self, fields):
icp = self.env['ir.config_parameter']
return {
'auth_admin_passkey_send_to_user': safe_eval(icp.get_param(
'auth_admin_passkey.send_to_user', 'True')),
}
auth_admin_passkey_send_to_admin = fields.Boolean(
'Send email to admin user.',
help=('When the administrator use his password to login in '
'with a different account, Odoo will send an email '
'to the admin user.'),
)
auth_admin_passkey_send_to_user = fields.Boolean(
string='Send email to user.',
help=('When the administrator use his password to login in '
'with a different account, Odoo will send an email '
'to the account user.'),
)
@api.multi
def set_auth_admin_passkey_send_to_admin(self):
self.ensure_one()
icp = self.env['ir.config_parameter']
icp.set_param(
'auth_admin_passkey.send_to_admin',
repr(self.auth_admin_passkey_send_to_admin))
@api.multi
def set_auth_admin_passkey_send_to_user(self):
self.ensure_one()
icp = self.env['ir.config_parameter']
icp.set_param(
'auth_admin_passkey.send_to_user',
repr(self.auth_admin_passkey_send_to_user))

98
auth_admin_passkey/models/res_users.py

@ -0,0 +1,98 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
import datetime
from odoo import SUPERUSER_ID, _, api, exceptions, models
from odoo.tools.safe_eval import safe_eval
class ResUsers(models.Model):
_inherit = "res.users"
@api.model
def _send_email_passkey(self, user_id):
""" Send a email to the admin of the system and / or the user
to inform passkey use."""
mail_obj = self.env['mail.mail'].sudo()
icp_obj = self.env['ir.config_parameter']
admin_user = self.browse(SUPERUSER_ID)
login_user = self.browse(user_id)
send_to_admin = safe_eval(
icp_obj.get_param('auth_admin_passkey.send_to_admin')
)
send_to_user = safe_eval(
icp_obj.get_param('auth_admin_passkey.send_to_user')
)
mails = []
if send_to_admin and admin_user.email:
mails.append({'email': admin_user.email, 'lang': admin_user.lang})
if send_to_user and login_user.email:
mails.append({'email': login_user.email, 'lang': login_user.lang})
for mail in mails:
subject = _('Passkey used')
body = _(
"Admin user used his passkey to login with '%s'.\n\n"
"\n\nTechnicals informations belows : \n\n"
"- Login date : %s\n\n"
) % (login_user.login,
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
mail_obj.create({
'email_to': mail['email'],
'subject': subject,
'body_html': '<pre>%s</pre>' % body
})
@api.model
def _send_email_same_password(self, login):
""" Send an email to the admin user to inform that
another user has the same password as him."""
mail_obj = self.env['mail.mail'].sudo()
admin_user = self.browse(SUPERUSER_ID)
if admin_user.email:
mail_obj.create({
'email_to': admin_user.email,
'subject': _('[WARNING] Odoo Security Risk'),
'body_html':
_("<pre>User with login '%s' has the same "
"password as you.</pre>") % (login),
})
@api.model
def check_credentials(self, password):
""" Despite using @api.model decorator, this method
is always called by a res.users record"""
try:
super(ResUsers, self).check_credentials(password)
# If credentials are ok, try to log with user password as admin
# user and send email if they are equal
if self._uid != SUPERUSER_ID:
try:
super(ResUsers, self).sudo().check_credentials(password)
self._send_email_same_password(self.login)
except exceptions.AccessDenied:
pass
except exceptions.AccessDenied:
if self._uid == SUPERUSER_ID:
raise
# Just be sure that parent methods aren't wrong
user = self.sudo().search([('id', '=', self._uid)])
if not user:
raise
# Our user isn't using its own password, check if its admin one
try:
super(ResUsers, self).sudo().check_credentials(password)
self._send_email_passkey(self._uid)
except exceptions.AccessDenied:
raise

26
auth_admin_passkey/tests/__init__.py

@ -1,23 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from . import test_auth_admin_passkey
from . import test_ui

128
auth_admin_passkey/tests/test_auth_admin_passkey.py

@ -1,99 +1,61 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Admin Passkey module for OpenERP
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
#
# 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 <http://www.gnu.org/licenses/>.
#
##############################################################################
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
import threading
from odoo import SUPERUSER_ID, exceptions
from odoo.tests import common
from openerp.tests.common import TransactionCase
class TestAuthAdminPasskey(TransactionCase):
@common.post_install(True)
class TestAuthAdminPasskey(common.TransactionCase):
"""Tests for 'Auth Admin Passkey' Module"""
# Overload Section
def setUp(self):
super(TestAuthAdminPasskey, self).setUp()
# Get Registries
self.imd_obj = self.registry('ir.model.data')
self.ru_obj = self.registry('res.users')
self.ru_obj = self.env['res.users']
# Get Database name
self.db = threading.current_thread().dbname
self.db = self.env.cr.dbname
# Get ids from xml_ids
self.admin_user_id = self.imd_obj.get_object_reference(
self.cr, self.uid, 'base', 'user_root')[1]
self.demo_user_id = self.imd_obj.get_object_reference(
self.cr, self.uid, 'base', 'user_demo')[1]
self.admin_user = self.ru_obj.search([('id', '=', SUPERUSER_ID)])
self.passkey_user = self.ru_obj.create({
'login': 'passkey',
'password': 'PasskeyPa$$w0rd',
'name': 'passkey'
})
# Test Section
def test_01_normal_login_admin_succeed(self):
"""[Regression Test]
Test the succeed of login with 'admin' / 'admin'"""
res = self.ru_obj.authenticate(self.db, 'admin', 'admin', {})
self.assertEqual(
res, self.admin_user_id,
"'admin' / 'admin' login must succeed.")
# NOTE: Can fail if admin password changed
self.admin_user.check_credentials('admin')
def test_02_normal_login_admin_fail(self):
"""[Regression Test]
Test the fail of login with 'admin' / 'bad_password'"""
res = self.ru_obj.authenticate(self.db, 'admin', 'bad_password', {})
self.assertEqual(
res, False,
"'admin' / 'bad_password' login must fail.")
def test_03_normal_login_demo_succeed(self):
"""[Regression Test]
Test the succeed of login with 'demo' / 'demo'"""
res = self.ru_obj.authenticate(self.db, 'demo', 'demo', {})
self.assertEqual(
res, self.demo_user_id,
"'demo' / 'demo' login must succeed.")
def test_04_normal_login_demo_fail(self):
"""[Regression Test]
Test the fail of login with 'demo' / 'bad_password'"""
res = self.ru_obj.authenticate(self.db, 'demo', 'bad_password', {})
self.assertEqual(
res, False,
"'demo' / 'bad_password' login must fail.")
def test_05_passkey_login_demo_succeed(self):
"""[New Feature]
Test the succeed of login with 'demo' / 'admin'"""
res = self.ru_obj.authenticate(self.db, 'demo', 'admin', {})
self.assertEqual(
res, self.demo_user_id,
"'demo' / 'admin' login must succeed.")
def test_06_passkey_login_demo_succeed(self):
with self.assertRaises(exceptions.AccessDenied):
self.admin_user.check_credentials('bad_password')
def test_03_normal_login_passkey_succeed(self):
""" This test cannot pass because in some way the the _uid of
passkey_user is equal to admin one so when entering the
original check_credentials() method, it raises an exception
"""
try:
self.passkey_user.check_credentials('passkey')
except exceptions.AccessDenied:
# This exception is raised from the origin check_credentials()
# method and its an expected behaviour as we catch this in our
# check_credentials()
pass
def test_04_normal_login_passkey_fail(self):
with self.assertRaises(exceptions.AccessDenied):
self.passkey_user.check_credentials('bad_password')
def test_05_passkey_login_passkey_with_admin_password_succeed(self):
# NOTE: Can fail if admin password changed
self.passkey_user.check_credentials('admin')
def test_06_passkey_login_passkey_succeed(self):
"""[Bug #1319391]
Test the correct behaviour of login with 'bad_login' / 'admin'"""
exception_raised = False
try:
self.ru_obj.authenticate(self.db, 'bad_login', 'admin', {})
except:
exception_raised = True
self.assertEqual(
exception_raised, False,
"'bad_login' / 'admin' musn't raise Error.")
res = self.ru_obj.authenticate(self.db, 'bad_login', 'admin', {})
self.assertFalse(res)

171
auth_admin_passkey/tests/test_ui.py

@ -0,0 +1,171 @@
# -*- coding: utf-8 -*-
# Copyright (C) 2013-2014 GRAP (http://www.grap.coop)
# @author Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
from lxml import html
from werkzeug.test import Client
from werkzeug.wrappers import BaseResponse
from odoo.tests import common
from odoo.service import wsgi_server
@common.post_install(True)
class TestUI(common.HttpCase):
def setUp(self):
super(TestUI, self).setUp()
with self.registry.cursor() as test_cursor:
env = self.env(test_cursor)
self.admin_password = 'AdminPa$$w0rd'
env.ref('base.user_root').password = self.admin_password
self.passkey_password = 'PasskeyPa$$w0rd'
self.passkey_user = env['res.users'].create({
'name': 'passkey',
'login': 'passkey',
'email': 'passkey',
'password': self.passkey_password
})
self.dbname = env.cr.dbname
self.werkzeug_environ = {'REMOTE_ADDR': '127.0.0.1'}
self.test_client = Client(wsgi_server.application, BaseResponse)
self.test_client.get('/web/session/logout')
def html_doc(self, response):
"""Get an HTML LXML document."""
return html.fromstring(response.data)
def csrf_token(self, response):
"""Get a valid CSRF token."""
doc = self.html_doc(response)
return doc.xpath("//input[@name='csrf_token']")[0].get('value')
def get_request(self, url, data=None):
return self.test_client.get(
url, query_string=data, follow_redirects=True)
def post_request(self, url, data=None):
return self.test_client.post(
url, data=data, follow_redirects=True,
environ_base=self.werkzeug_environ)
def test_01_normal_login_admin_succeed(self):
# Our admin user wants to go to backoffice part of Odoo
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that his redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enters his credentials and submit the form
data = {
'login': 'admin',
'password': self.admin_password,
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He notices that his redirected to backoffice
self.assertNotIn('oe_login_form', response.data)
def test_02_normal_login_admin_fail(self):
# Our admin user wants to go to backoffice part of Odoo
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that he's redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enter his credentials and submit the form
data = {
'login': 'admin',
'password': 'password',
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He mistyped his password so he's redirected to login page again
self.assertIn('Wrong login/password', response.data)
def test_03_normal_login_passkey_succeed(self):
# Our passkey user wants to go to backoffice part of Odoo
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that he's redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enter his credentials and submit the form
data = {
'login': self.passkey_user.login,
'password': self.passkey_password,
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He notices that his redirected to backoffice
self.assertNotIn('oe_login_form', response.data)
def test_04_normal_login_passkey_fail(self):
# Our passkey user wants to go to backoffice part of Odoo
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that he's redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enter his credentials and submit the form
data = {
'login': self.passkey_user.login,
'password': 'password',
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He mistyped his password so he's redirected to login page again
self.assertIn('Wrong login/password', response.data)
def test_05_passkey_login_with_admin_password_succeed(self):
# Our admin user wants to login as passkey user
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that his redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enters its password with passkey user's login
data = {
'login': self.passkey_user.login,
'password': self.admin_password,
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He notices that his redirected to backoffice
self.assertNotIn('oe_login_form', response.data)
def test_06_passkey_login_with_same_password_as_admin(self):
self.passkey_user.password = self.admin_password
# Our passkey user wants to go to backoffice part of Odoo
response = self.get_request('/web/', data={'db': self.dbname})
# He notices that his redirected to login page as not authenticated
self.assertIn('oe_login_form', response.data)
# He needs to enters his credentials and submit the form
data = {
'login': self.passkey_user.login,
'password': self.admin_password,
'csrf_token': self.csrf_token(response),
'db': self.dbname
}
response = self.post_request('/web/login/', data=data)
# He notices that his redirected to backoffice
self.assertNotIn('oe_login_form', response.data)

47
auth_admin_passkey/view/res_config_view.xml

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ********************************************************************** -->
<!--Admin Passkey module for OpenERP -->
<!--Copyright (C) 2013-2014 GRAP (http://www.grap.coop) -->
<!--@author Sylvain LE GAL (https://twitter.com/legalsylvain) -->
<!--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 <http://www.gnu.org/licenses/>. -->
<!-- ********************************************************************** -->
<openerp>
<data>
<record id="view_res_config_settings" model="ir.ui.view">
<field name="name">base.config.settings.view</field>
<field name="model">base.config.settings</field>
<field name="inherit_id" ref="base_setup.view_general_configuration"/>
<field name="arch" type="xml">
<xpath expr="//label[@string='Email']/.." position='after'>
<group>
<label for="id" string="Passkey"/>
<div>
<div>
<field name="auth_admin_passkey_send_to_admin" class="oe_inline"/>
<label for="auth_admin_passkey_send_to_admin"/>
</div>
<div>
<field name="auth_admin_passkey_send_to_user" class="oe_inline"/>
<label for="auth_admin_passkey_send_to_user"/>
</div>
</div>
</group>
</xpath>
</field>
</record>
</data>
</openerp>

27
auth_admin_passkey/views/res_config_view.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_res_config_settings" model="ir.ui.view">
<field name="name">base.config.settings.view</field>
<field name="model">base.config.settings</field>
<field name="inherit_id" ref="base_setup.view_general_configuration"/>
<field name="arch" type="xml">
<xpath expr="//label[@name='email_label']/.." position='after'>
<group>
<label for="id" string="Passkey"/>
<div>
<div>
<field name="auth_admin_passkey_send_to_admin" class="oe_inline"/>
<label for="auth_admin_passkey_send_to_admin"/>
</div>
<div>
<field name="auth_admin_passkey_send_to_user" class="oe_inline"/>
<label for="auth_admin_passkey_send_to_user"/>
</div>
</div>
</group>
</xpath>
</field>
</record>
</odoo>

1
setup/auth_admin_passkey/odoo/__init__.py

@ -0,0 +1 @@
__import__('pkg_resources').declare_namespace(__name__)

1
setup/auth_admin_passkey/odoo/addons/__init__.py

@ -0,0 +1 @@
__import__('pkg_resources').declare_namespace(__name__)

1
setup/auth_admin_passkey/odoo/addons/auth_admin_passkey

@ -0,0 +1 @@
../../../../auth_admin_passkey

6
setup/auth_admin_passkey/setup.py

@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
Loading…
Cancel
Save