From e6cd025c96fc8997442d13676c4d79814d22370f Mon Sep 17 00:00:00 2001 From: Ted Salmon Date: Mon, 8 May 2017 15:42:12 -0700 Subject: [PATCH 01/31] [IMP] auth_user_case_insensitive: Update module name --- auth_user_case_insensitive/README.rst | 54 ++++++++++++++++++ auth_user_case_insensitive/__init__.py | 7 +++ auth_user_case_insensitive/__manifest__.py | 19 +++++++ auth_user_case_insensitive/hooks.py | 36 ++++++++++++ auth_user_case_insensitive/models/__init__.py | 5 ++ .../models/res_users.py | 38 +++++++++++++ auth_user_case_insensitive/tests/__init__.py | 5 ++ .../tests/test_res_users.py | 56 +++++++++++++++++++ 8 files changed, 220 insertions(+) create mode 100644 auth_user_case_insensitive/README.rst create mode 100644 auth_user_case_insensitive/__init__.py create mode 100644 auth_user_case_insensitive/__manifest__.py create mode 100644 auth_user_case_insensitive/hooks.py create mode 100644 auth_user_case_insensitive/models/__init__.py create mode 100644 auth_user_case_insensitive/models/res_users.py create mode 100644 auth_user_case_insensitive/tests/__init__.py create mode 100644 auth_user_case_insensitive/tests/test_res_users.py diff --git a/auth_user_case_insensitive/README.rst b/auth_user_case_insensitive/README.rst new file mode 100644 index 0000000000..2e3d450add --- /dev/null +++ b/auth_user_case_insensitive/README.rst @@ -0,0 +1,54 @@ +.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +======================= +Case Insensitive Logins +======================= + +This module makes user logins case insensitive. It also overwrites the +search method to allow these case insensitive logins to work on a database +that previously had case sensitive logins. + +Installation +============ + +Install this module as you would any other. No further configuration is +required. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smash it by providing detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Dave Lasley +* Ted Salmon + +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. diff --git a/auth_user_case_insensitive/__init__.py b/auth_user_case_insensitive/__init__.py new file mode 100644 index 0000000000..1fc4951456 --- /dev/null +++ b/auth_user_case_insensitive/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from . import models +from .hooks import pre_init_hook_login_check +from .hooks import post_init_hook_login_convert diff --git a/auth_user_case_insensitive/__manifest__.py b/auth_user_case_insensitive/__manifest__.py new file mode 100644 index 0000000000..be2d7a0b76 --- /dev/null +++ b/auth_user_case_insensitive/__manifest__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). +{ + "name": "Case Insensitive Logins", + "summary": "Makes the user login field case insensitive", + "version": "10.0.1.0.0", + "category": "Authentication", + "website": "https://laslabs.com/", + "author": "LasLabs, Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + 'installable': True, + "depends": [ + "mail", + ], + 'pre_init_hook': 'pre_init_hook_login_check', + 'post_init_hook': 'post_init_hook_login_convert', +} diff --git a/auth_user_case_insensitive/hooks.py b/auth_user_case_insensitive/hooks.py new file mode 100644 index 0000000000..330ecac88b --- /dev/null +++ b/auth_user_case_insensitive/hooks.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import _ +from odoo.exceptions import ValidationError + + +def pre_init_hook_login_check(cr): + """This hook will look to see if any conflicting logins exist before + the module is installed + :param openerp.sql_db.Cursor cr: + Database cursor. + """ + with cr.savepoint(): + users = [] + cr.execute("SELECT login FROM res_users") + for user in cr.fetchall(): + login = user[0].lower() + if login not in users: + users.append(login) + else: + raise ValidationError( + _('Conflicting user logins exist for `%s`' % login) + ) + + +def post_init_hook_login_convert(cr, registry): + """After the module is installed, set all logins to lowercase + :param openerp.sql_db.Cursor cr: + Database cursor. + :param openerp.modules.registry.RegistryManager registry: + Database registry, using v7 api. + """ + with cr.savepoint(): + cr.execute("UPDATE res_users SET login=lower(login)") diff --git a/auth_user_case_insensitive/models/__init__.py b/auth_user_case_insensitive/models/__init__.py new file mode 100644 index 0000000000..ee30f654ac --- /dev/null +++ b/auth_user_case_insensitive/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from . import res_users diff --git a/auth_user_case_insensitive/models/res_users.py b/auth_user_case_insensitive/models/res_users.py new file mode 100644 index 0000000000..5ec8cf8175 --- /dev/null +++ b/auth_user_case_insensitive/models/res_users.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class ResUsers(models.Model): + + _inherit = 'res.users' + + login = fields.Char( + help='Used to log into the system. Case insensitive.', + ) + + @api.model + def search(self, domain, *args, **kwargs): + """ Overload search to lowercase name domains. This can't be done in + a regular search method as the field is not computed + """ + for idx, _domain in enumerate(domain): + if _domain[0] == 'login': + lower = _domain[2].lower() if _domain[2] else False + domain[idx] = (_domain[0], _domain[1], lower) + return super(ResUsers, self).search(domain, *args, **kwargs) + + @api.model + def create(self, vals): + """ Overload create to lowercase login """ + vals['login'] = vals.get('login', '').lower() + return super(ResUsers, self).create(vals) + + @api.multi + def write(self, vals): + """ Overload write to lowercase login """ + if vals.get('login'): + vals['login'] = vals['login'].lower() + return super(ResUsers, self).write(vals) diff --git a/auth_user_case_insensitive/tests/__init__.py b/auth_user_case_insensitive/tests/__init__.py new file mode 100644 index 0000000000..ea6bf27c93 --- /dev/null +++ b/auth_user_case_insensitive/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from . import test_res_users diff --git a/auth_user_case_insensitive/tests/test_res_users.py b/auth_user_case_insensitive/tests/test_res_users.py new file mode 100644 index 0000000000..31f28c1e5d --- /dev/null +++ b/auth_user_case_insensitive/tests/test_res_users.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +# Copyright 2015-2017 LasLabs Inc. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from odoo.tests.common import TransactionCase + + +class TestResUsers(TransactionCase): + + def setUp(self): + super(TestResUsers, self).setUp() + self.login = 'LasLabs@ExAmPlE.CoM' + self.partner_vals = { + 'name': 'Partner', + 'is_company': False, + 'email': self.login, + } + self.vals = { + 'name': 'User', + 'login': self.login, + 'password': 'password', + } + self.model_obj = self.env['res.users'] + + def _new_record(self): + """ It should enerate a new record to test with """ + partner_id = self.env['res.partner'].create(self.partner_vals) + self.vals['partner_id'] = partner_id.id + return self.model_obj.create(self.vals) + + def test_login_is_lowercased_on_create(self): + """ It should verify the login is set to lowercase on create """ + rec_id = self._new_record() + self.assertEqual( + self.login.lower(), rec_id.login, + 'Login was not lowercased when saved to db.', + ) + + def test_login_is_lowercased_on_write(self): + """ It should verify the login is set to lowercase on write """ + rec_id = self._new_record() + rec_id.write({'login': self.login}) + self.assertEqual( + self.login.lower(), rec_id.login, + 'Login was not lowercased when saved to db.', + ) + + def test_login_search_is_lowercased(self): + """ It should verify the login is set to lowercase on search """ + rec_id = self._new_record() + res_id = self.model_obj.search([('login', '=', self.login.upper())]) + res = res_id.id if res_id else False + self.assertEqual( + rec_id.id, res, + 'Search for login with uppercase chars did not yield results.', + ) From 74a83b8ca295e3806cea61f68c4db7c466ebae0c Mon Sep 17 00:00:00 2001 From: Ted Salmon Date: Tue, 9 May 2017 12:31:53 -0700 Subject: [PATCH 02/31] [IMP] auth_user_case_insensitive: Drop `search()` override in favor of `_login` * Update code and tests to override `_login` method --- .../models/res_users.py | 16 +++++-------- .../tests/test_res_users.py | 24 ++++++++++++++----- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/auth_user_case_insensitive/models/res_users.py b/auth_user_case_insensitive/models/res_users.py index 5ec8cf8175..501a098aa5 100644 --- a/auth_user_case_insensitive/models/res_users.py +++ b/auth_user_case_insensitive/models/res_users.py @@ -13,16 +13,12 @@ class ResUsers(models.Model): help='Used to log into the system. Case insensitive.', ) - @api.model - def search(self, domain, *args, **kwargs): - """ Overload search to lowercase name domains. This can't be done in - a regular search method as the field is not computed - """ - for idx, _domain in enumerate(domain): - if _domain[0] == 'login': - lower = _domain[2].lower() if _domain[2] else False - domain[idx] = (_domain[0], _domain[1], lower) - return super(ResUsers, self).search(domain, *args, **kwargs) + @classmethod + def _login(cls, db, login, password): + """ Overload _login to lowercase the `login` before passing to the + super """ + login = login.lower() + return super(ResUsers, cls)._login(db, login, password) @api.model def create(self, vals): diff --git a/auth_user_case_insensitive/tests/test_res_users.py b/auth_user_case_insensitive/tests/test_res_users.py index 31f28c1e5d..98eb3e05a8 100644 --- a/auth_user_case_insensitive/tests/test_res_users.py +++ b/auth_user_case_insensitive/tests/test_res_users.py @@ -2,6 +2,7 @@ # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). +from odoo import api, registry from odoo.tests.common import TransactionCase @@ -45,12 +46,23 @@ def test_login_is_lowercased_on_write(self): 'Login was not lowercased when saved to db.', ) - def test_login_search_is_lowercased(self): - """ It should verify the login is set to lowercase on search """ + def test_login_login_is_lowercased(self): + """ It should verify the login is set to lowercase on login """ rec_id = self._new_record() - res_id = self.model_obj.search([('login', '=', self.login.upper())]) - res = res_id.id if res_id else False + # We have to commit this cursor, because `_login` uses a fresh cursor + self.env.cr.commit() + res_id = self.model_obj._login( + self.env.registry.db_name, self.login.upper(), 'password' + ) + # Now clean up our mess to preserve idempotence + with api.Environment.manage(): + with registry(self.env.registry.db_name).cursor() as new_cr: + new_cr.execute( + "DELETE FROM res_users WHERE login='%s'" % + self.login.lower() + ) + new_cr.commit() self.assertEqual( - rec_id.id, res, - 'Search for login with uppercase chars did not yield results.', + rec_id.id, res_id, + 'Login with with uppercase chars was not successful', ) From 0855b7a5a5f098adfe7f2f3104489185078a306b Mon Sep 17 00:00:00 2001 From: Daniel Reis Date: Mon, 15 May 2017 13:32:11 +0100 Subject: [PATCH 03/31] Note that existing logins are converted to lowercase --- auth_user_case_insensitive/README.rst | 3 ++ auth_user_case_insensitive/i18n/ar.po | 31 ++++++++++++++++++ .../i18n/auth_user_case_insensitive.pot | 26 +++++++++++++++ auth_user_case_insensitive/i18n/ca.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/da.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/de.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/el_GR.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/es.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/es_ES.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/fi.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/fr.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/fr_CH.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/fr_FR.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/hr.po | 32 +++++++++++++++++++ auth_user_case_insensitive/i18n/hr_HR.po | 32 +++++++++++++++++++ auth_user_case_insensitive/i18n/it.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/nl.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/nl_NL.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/pt.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/pt_BR.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/ro.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/sl.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/tr.po | 30 +++++++++++++++++ auth_user_case_insensitive/i18n/tr_TR.po | 31 ++++++++++++++++++ auth_user_case_insensitive/i18n/zh_CN.po | 31 ++++++++++++++++++ 25 files changed, 735 insertions(+) create mode 100644 auth_user_case_insensitive/i18n/ar.po create mode 100644 auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot create mode 100644 auth_user_case_insensitive/i18n/ca.po create mode 100644 auth_user_case_insensitive/i18n/da.po create mode 100644 auth_user_case_insensitive/i18n/de.po create mode 100644 auth_user_case_insensitive/i18n/el_GR.po create mode 100644 auth_user_case_insensitive/i18n/es.po create mode 100644 auth_user_case_insensitive/i18n/es_ES.po create mode 100644 auth_user_case_insensitive/i18n/fi.po create mode 100644 auth_user_case_insensitive/i18n/fr.po create mode 100644 auth_user_case_insensitive/i18n/fr_CH.po create mode 100644 auth_user_case_insensitive/i18n/fr_FR.po create mode 100644 auth_user_case_insensitive/i18n/hr.po create mode 100644 auth_user_case_insensitive/i18n/hr_HR.po create mode 100644 auth_user_case_insensitive/i18n/it.po create mode 100644 auth_user_case_insensitive/i18n/nl.po create mode 100644 auth_user_case_insensitive/i18n/nl_NL.po create mode 100644 auth_user_case_insensitive/i18n/pt.po create mode 100644 auth_user_case_insensitive/i18n/pt_BR.po create mode 100644 auth_user_case_insensitive/i18n/ro.po create mode 100644 auth_user_case_insensitive/i18n/sl.po create mode 100644 auth_user_case_insensitive/i18n/tr.po create mode 100644 auth_user_case_insensitive/i18n/tr_TR.po create mode 100644 auth_user_case_insensitive/i18n/zh_CN.po diff --git a/auth_user_case_insensitive/README.rst b/auth_user_case_insensitive/README.rst index 2e3d450add..87e17ec398 100644 --- a/auth_user_case_insensitive/README.rst +++ b/auth_user_case_insensitive/README.rst @@ -16,6 +16,9 @@ Installation Install this module as you would any other. No further configuration is required. +Note that upon installation the existing logins will all be converted to lowercase. + + Bug Tracker =========== diff --git a/auth_user_case_insensitive/i18n/ar.po b/auth_user_case_insensitive/i18n/ar.po new file mode 100644 index 0000000000..5a5cfa94cb --- /dev/null +++ b/auth_user_case_insensitive/i18n/ar.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "المستخدمون" diff --git a/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot b/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot new file mode 100644 index 0000000000..2bb14c6340 --- /dev/null +++ b/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "" + diff --git a/auth_user_case_insensitive/i18n/ca.po b/auth_user_case_insensitive/i18n/ca.po new file mode 100644 index 0000000000..9ababe796d --- /dev/null +++ b/auth_user_case_insensitive/i18n/ca.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:43+0000\n" +"PO-Revision-Date: 2017-08-01 02:43+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Usuaris" diff --git a/auth_user_case_insensitive/i18n/da.po b/auth_user_case_insensitive/i18n/da.po new file mode 100644 index 0000000000..ce99aaf926 --- /dev/null +++ b/auth_user_case_insensitive/i18n/da.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Brugere" diff --git a/auth_user_case_insensitive/i18n/de.po b/auth_user_case_insensitive/i18n/de.po new file mode 100644 index 0000000000..28ac62e78a --- /dev/null +++ b/auth_user_case_insensitive/i18n/de.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Benutzer" diff --git a/auth_user_case_insensitive/i18n/el_GR.po b/auth_user_case_insensitive/i18n/el_GR.po new file mode 100644 index 0000000000..1c43676861 --- /dev/null +++ b/auth_user_case_insensitive/i18n/el_GR.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Χρήστες" diff --git a/auth_user_case_insensitive/i18n/es.po b/auth_user_case_insensitive/i18n/es.po new file mode 100644 index 0000000000..5a834c563c --- /dev/null +++ b/auth_user_case_insensitive/i18n/es.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Usuarios" diff --git a/auth_user_case_insensitive/i18n/es_ES.po b/auth_user_case_insensitive/i18n/es_ES.po new file mode 100644 index 0000000000..75becad4c5 --- /dev/null +++ b/auth_user_case_insensitive/i18n/es_ES.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Usuarios" diff --git a/auth_user_case_insensitive/i18n/fi.po b/auth_user_case_insensitive/i18n/fi.po new file mode 100644 index 0000000000..4d0f8f1fa1 --- /dev/null +++ b/auth_user_case_insensitive/i18n/fi.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Käyttäjät" diff --git a/auth_user_case_insensitive/i18n/fr.po b/auth_user_case_insensitive/i18n/fr.po new file mode 100644 index 0000000000..4498c73fc6 --- /dev/null +++ b/auth_user_case_insensitive/i18n/fr.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# Nicolas JEUDY , 2017 +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-12-01 02:09+0000\n" +"PO-Revision-Date: 2017-12-01 02:09+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "Des logins identiques existent pour `%s`" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utilisateurs" diff --git a/auth_user_case_insensitive/i18n/fr_CH.po b/auth_user_case_insensitive/i18n/fr_CH.po new file mode 100644 index 0000000000..f5fd3ac3ef --- /dev/null +++ b/auth_user_case_insensitive/i18n/fr_CH.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utilisateurs" diff --git a/auth_user_case_insensitive/i18n/fr_FR.po b/auth_user_case_insensitive/i18n/fr_FR.po new file mode 100644 index 0000000000..4264382835 --- /dev/null +++ b/auth_user_case_insensitive/i18n/fr_FR.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# Aurel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: Aurel , 2017\n" +"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/" +"fr_FR/)\n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utilsateurs" diff --git a/auth_user_case_insensitive/i18n/hr.po b/auth_user_case_insensitive/i18n/hr.po new file mode 100644 index 0000000000..0f90800c5a --- /dev/null +++ b/auth_user_case_insensitive/i18n/hr.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 18:39+0000\n" +"PO-Revision-Date: 2018-03-02 18:39+0000\n" +"Last-Translator: Bole , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \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_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "Korisnička imena se preklapaju za `%s`" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Korisnici" diff --git a/auth_user_case_insensitive/i18n/hr_HR.po b/auth_user_case_insensitive/i18n/hr_HR.po new file mode 100644 index 0000000000..c2e7b64a0b --- /dev/null +++ b/auth_user_case_insensitive/i18n/hr_HR.po @@ -0,0 +1,32 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \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_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Korisnici" diff --git a/auth_user_case_insensitive/i18n/it.po b/auth_user_case_insensitive/i18n/it.po new file mode 100644 index 0000000000..b3011de3e2 --- /dev/null +++ b/auth_user_case_insensitive/i18n/it.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utenti" diff --git a/auth_user_case_insensitive/i18n/nl.po b/auth_user_case_insensitive/i18n/nl.po new file mode 100644 index 0000000000..4da8be9640 --- /dev/null +++ b/auth_user_case_insensitive/i18n/nl.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Gebruikers" diff --git a/auth_user_case_insensitive/i18n/nl_NL.po b/auth_user_case_insensitive/i18n/nl_NL.po new file mode 100644 index 0000000000..5c4c3fe7be --- /dev/null +++ b/auth_user_case_insensitive/i18n/nl_NL.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:11+0000\n" +"PO-Revision-Date: 2017-06-22 01:11+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Gebruikers" diff --git a/auth_user_case_insensitive/i18n/pt.po b/auth_user_case_insensitive/i18n/pt.po new file mode 100644 index 0000000000..656310aa96 --- /dev/null +++ b/auth_user_case_insensitive/i18n/pt.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-01 02:43+0000\n" +"PO-Revision-Date: 2017-08-01 02:43+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utilizadores" diff --git a/auth_user_case_insensitive/i18n/pt_BR.po b/auth_user_case_insensitive/i18n/pt_BR.po new file mode 100644 index 0000000000..785a857b67 --- /dev/null +++ b/auth_user_case_insensitive/i18n/pt_BR.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Usuários" diff --git a/auth_user_case_insensitive/i18n/ro.po b/auth_user_case_insensitive/i18n/ro.po new file mode 100644 index 0000000000..b7a790c0e9 --- /dev/null +++ b/auth_user_case_insensitive/i18n/ro.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# Daniel Schweiger , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:11+0000\n" +"PO-Revision-Date: 2017-06-22 01:11+0000\n" +"Last-Translator: Daniel Schweiger , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr " Exista un conflict de registru pentru `%s`" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Utilizatori" diff --git a/auth_user_case_insensitive/i18n/sl.po b/auth_user_case_insensitive/i18n/sl.po new file mode 100644 index 0000000000..d04bfd24d7 --- /dev/null +++ b/auth_user_case_insensitive/i18n/sl.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Uporabniki" diff --git a/auth_user_case_insensitive/i18n/tr.po b/auth_user_case_insensitive/i18n/tr.po new file mode 100644 index 0000000000..d0593222d6 --- /dev/null +++ b/auth_user_case_insensitive/i18n/tr.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Kullanıcılar" diff --git a/auth_user_case_insensitive/i18n/tr_TR.po b/auth_user_case_insensitive/i18n/tr_TR.po new file mode 100644 index 0000000000..8a11a6e92d --- /dev/null +++ b/auth_user_case_insensitive/i18n/tr_TR.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "Kullanıcılar" diff --git a/auth_user_case_insensitive/i18n/zh_CN.po b/auth_user_case_insensitive/i18n/zh_CN.po new file mode 100644 index 0000000000..311ec22618 --- /dev/null +++ b/auth_user_case_insensitive/i18n/zh_CN.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * auth_user_case_insensitive +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: auth_user_case_insensitive +#: code:addons/auth_user_case_insensitive/hooks.py:24 +#, python-format +msgid "Conflicting user logins exist for `%s`" +msgstr "" + +#. module: auth_user_case_insensitive +#: model:ir.model,name:auth_user_case_insensitive.model_res_users +msgid "Users" +msgstr "用户" From b6f55c9b9cf46240e5f0919db0869d909e3800c3 Mon Sep 17 00:00:00 2001 From: mgosai Date: Fri, 17 Aug 2018 19:34:51 -0400 Subject: [PATCH 04/31] [FIX/IMP] Fixed code for migration from v10 to v11 as per OCA standards. --- auth_user_case_insensitive/README.rst | 1 + auth_user_case_insensitive/__init__.py | 1 - auth_user_case_insensitive/__manifest__.py | 8 ++++---- auth_user_case_insensitive/hooks.py | 1 - auth_user_case_insensitive/models/__init__.py | 1 - auth_user_case_insensitive/models/res_users.py | 1 - auth_user_case_insensitive/readme/CONTRIBUTORS.rst | 3 +++ auth_user_case_insensitive/readme/DESCRIPTION.rst | 4 ++++ auth_user_case_insensitive/readme/INSTALL.rst | 5 +++++ auth_user_case_insensitive/readme/USAGE.rst | 3 +++ auth_user_case_insensitive/tests/__init__.py | 1 - auth_user_case_insensitive/tests/test_res_users.py | 1 - 12 files changed, 20 insertions(+), 10 deletions(-) create mode 100644 auth_user_case_insensitive/readme/CONTRIBUTORS.rst create mode 100644 auth_user_case_insensitive/readme/DESCRIPTION.rst create mode 100644 auth_user_case_insensitive/readme/INSTALL.rst create mode 100644 auth_user_case_insensitive/readme/USAGE.rst diff --git a/auth_user_case_insensitive/README.rst b/auth_user_case_insensitive/README.rst index 87e17ec398..41048afe5a 100644 --- a/auth_user_case_insensitive/README.rst +++ b/auth_user_case_insensitive/README.rst @@ -40,6 +40,7 @@ Contributors * Dave Lasley * Ted Salmon +* Mayank Gosai Maintainer ---------- diff --git a/auth_user_case_insensitive/__init__.py b/auth_user_case_insensitive/__init__.py index 1fc4951456..863cc8117b 100644 --- a/auth_user_case_insensitive/__init__.py +++ b/auth_user_case_insensitive/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). diff --git a/auth_user_case_insensitive/__manifest__.py b/auth_user_case_insensitive/__manifest__.py index be2d7a0b76..59d53f6689 100644 --- a/auth_user_case_insensitive/__manifest__.py +++ b/auth_user_case_insensitive/__manifest__.py @@ -1,13 +1,13 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). { "name": "Case Insensitive Logins", "summary": "Makes the user login field case insensitive", - "version": "10.0.1.0.0", + "version": "11.0.1.0.0", "category": "Authentication", - "website": "https://laslabs.com/", + "website": "https://github.com/OCA/server-auth", "author": "LasLabs, Odoo Community Association (OCA)", + "maintainer": 'Odoo Community Association (OCA)', "license": "AGPL-3", "application": False, 'installable': True, @@ -16,4 +16,4 @@ ], 'pre_init_hook': 'pre_init_hook_login_check', 'post_init_hook': 'post_init_hook_login_convert', -} +} \ No newline at end of file diff --git a/auth_user_case_insensitive/hooks.py b/auth_user_case_insensitive/hooks.py index 330ecac88b..5a50c5db94 100644 --- a/auth_user_case_insensitive/hooks.py +++ b/auth_user_case_insensitive/hooks.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). diff --git a/auth_user_case_insensitive/models/__init__.py b/auth_user_case_insensitive/models/__init__.py index ee30f654ac..af0a373aab 100644 --- a/auth_user_case_insensitive/models/__init__.py +++ b/auth_user_case_insensitive/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). diff --git a/auth_user_case_insensitive/models/res_users.py b/auth_user_case_insensitive/models/res_users.py index 501a098aa5..4a74d830ac 100644 --- a/auth_user_case_insensitive/models/res_users.py +++ b/auth_user_case_insensitive/models/res_users.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). diff --git a/auth_user_case_insensitive/readme/CONTRIBUTORS.rst b/auth_user_case_insensitive/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..2ee06b3db6 --- /dev/null +++ b/auth_user_case_insensitive/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Dave Lasley +* Ted Salmon +* Mayank Gosai diff --git a/auth_user_case_insensitive/readme/DESCRIPTION.rst b/auth_user_case_insensitive/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..88b359dc58 --- /dev/null +++ b/auth_user_case_insensitive/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ + +This module makes user logins case insensitive. It also overwrites the +search method to allow these case insensitive logins to work on a database +that previously had case sensitive logins. diff --git a/auth_user_case_insensitive/readme/INSTALL.rst b/auth_user_case_insensitive/readme/INSTALL.rst new file mode 100644 index 0000000000..08b20c306b --- /dev/null +++ b/auth_user_case_insensitive/readme/INSTALL.rst @@ -0,0 +1,5 @@ + +Install this module as you would any other. No further configuration is +required. + +Note that upon installation the existing logins will all be converted to lowercase. diff --git a/auth_user_case_insensitive/readme/USAGE.rst b/auth_user_case_insensitive/readme/USAGE.rst new file mode 100644 index 0000000000..46854c671e --- /dev/null +++ b/auth_user_case_insensitive/readme/USAGE.rst @@ -0,0 +1,3 @@ +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/167/11.0 diff --git a/auth_user_case_insensitive/tests/__init__.py b/auth_user_case_insensitive/tests/__init__.py index ea6bf27c93..1673add8ed 100644 --- a/auth_user_case_insensitive/tests/__init__.py +++ b/auth_user_case_insensitive/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). diff --git a/auth_user_case_insensitive/tests/test_res_users.py b/auth_user_case_insensitive/tests/test_res_users.py index 98eb3e05a8..c4f8925e39 100644 --- a/auth_user_case_insensitive/tests/test_res_users.py +++ b/auth_user_case_insensitive/tests/test_res_users.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015-2017 LasLabs Inc. # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). From fe9c1b12b2a99b3c8c5c6eec04e14e95088b8a0f Mon Sep 17 00:00:00 2001 From: mgosai Date: Fri, 17 Aug 2018 19:48:34 -0400 Subject: [PATCH 05/31] [FIX] Fixed minor missing changes --- auth_user_case_insensitive/__manifest__.py | 3 ++- auth_user_case_insensitive/readme/USAGE.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/auth_user_case_insensitive/__manifest__.py b/auth_user_case_insensitive/__manifest__.py index 59d53f6689..3ed5fe2407 100644 --- a/auth_user_case_insensitive/__manifest__.py +++ b/auth_user_case_insensitive/__manifest__.py @@ -16,4 +16,5 @@ ], 'pre_init_hook': 'pre_init_hook_login_check', 'post_init_hook': 'post_init_hook_login_convert', -} \ No newline at end of file +} + diff --git a/auth_user_case_insensitive/readme/USAGE.rst b/auth_user_case_insensitive/readme/USAGE.rst index 46854c671e..cbf2a7fcbe 100644 --- a/auth_user_case_insensitive/readme/USAGE.rst +++ b/auth_user_case_insensitive/readme/USAGE.rst @@ -1,3 +1,3 @@ .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot + :alt: Steps to test the module :target: https://runbot.odoo-community.org/runbot/167/11.0 From 83b73da64738326ae348d7ff7bf302cffb50f58a Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Mon, 20 Aug 2018 13:15:43 -0500 Subject: [PATCH 06/31] Update __manifest__.py --- auth_user_case_insensitive/README.rst | 71 ++- auth_user_case_insensitive/__manifest__.py | 1 - auth_user_case_insensitive/i18n/ar.po | 2 +- .../i18n/auth_user_case_insensitive.pot | 4 +- auth_user_case_insensitive/i18n/ca.po | 2 +- auth_user_case_insensitive/i18n/da.po | 2 +- auth_user_case_insensitive/i18n/de.po | 2 +- auth_user_case_insensitive/i18n/el_GR.po | 2 +- auth_user_case_insensitive/i18n/es.po | 2 +- auth_user_case_insensitive/i18n/es_ES.po | 2 +- auth_user_case_insensitive/i18n/fi.po | 2 +- auth_user_case_insensitive/i18n/fr.po | 2 +- auth_user_case_insensitive/i18n/fr_CH.po | 2 +- auth_user_case_insensitive/i18n/fr_FR.po | 2 +- auth_user_case_insensitive/i18n/hr.po | 2 +- auth_user_case_insensitive/i18n/hr_HR.po | 2 +- auth_user_case_insensitive/i18n/it.po | 2 +- auth_user_case_insensitive/i18n/nl.po | 2 +- auth_user_case_insensitive/i18n/nl_NL.po | 2 +- auth_user_case_insensitive/i18n/pt.po | 2 +- auth_user_case_insensitive/i18n/pt_BR.po | 2 +- auth_user_case_insensitive/i18n/ro.po | 2 +- auth_user_case_insensitive/i18n/sl.po | 2 +- auth_user_case_insensitive/i18n/tr.po | 2 +- auth_user_case_insensitive/i18n/tr_TR.po | 2 +- auth_user_case_insensitive/i18n/zh_CN.po | 2 +- .../readme/DESCRIPTION.rst | 1 - auth_user_case_insensitive/readme/INSTALL.rst | 4 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 434 ++++++++++++++++++ 30 files changed, 512 insertions(+), 49 deletions(-) create mode 100644 auth_user_case_insensitive/static/description/icon.png create mode 100644 auth_user_case_insensitive/static/description/index.html diff --git a/auth_user_case_insensitive/README.rst b/auth_user_case_insensitive/README.rst index 41048afe5a..498bf6fbeb 100644 --- a/auth_user_case_insensitive/README.rst +++ b/auth_user_case_insensitive/README.rst @@ -1,58 +1,91 @@ -.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg - :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html - :alt: License: LGPL-3 - ======================= Case Insensitive Logins ======================= +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github + :target: https://github.com/OCA/server-auth/tree/11.0/auth_user_case_insensitive + :alt: OCA/server-auth +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-auth-11-0/server-auth-11-0-auth_user_case_insensitive + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/251/11.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + This module makes user logins case insensitive. It also overwrites the search method to allow these case insensitive logins to work on a database that previously had case sensitive logins. +**Table of contents** + +.. contents:: + :local: + Installation ============ -Install this module as you would any other. No further configuration is -required. +Install this module as you would any other. No further configuration is required. Note that upon installation the existing logins will all be converted to lowercase. +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Steps to test the module + :target: https://runbot.odoo-community.org/runbot/167/11.0 Bug Tracker =========== -Bugs are tracked on `GitHub Issues -`_. In case of trouble, please -check there if your issue has already been reported. If you spotted it first, -help us smash it by providing detailed and welcomed feedback. +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. Credits ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* LasLabs Contributors ------------- +~~~~~~~~~~~~ * Dave Lasley * Ted Salmon * Mayank Gosai -Maintainer ----------- +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. .. 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. +This module is part of the `OCA/server-auth `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/auth_user_case_insensitive/__manifest__.py b/auth_user_case_insensitive/__manifest__.py index 3ed5fe2407..1454d1ee61 100644 --- a/auth_user_case_insensitive/__manifest__.py +++ b/auth_user_case_insensitive/__manifest__.py @@ -17,4 +17,3 @@ 'pre_init_hook': 'pre_init_hook_login_check', 'post_init_hook': 'post_init_hook_login_convert', } - diff --git a/auth_user_case_insensitive/i18n/ar.po b/auth_user_case_insensitive/i18n/ar.po index 5a5cfa94cb..177eac0dc2 100644 --- a/auth_user_case_insensitive/i18n/ar.po +++ b/auth_user_case_insensitive/i18n/ar.po @@ -20,7 +20,7 @@ msgstr "" "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot b/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot index 2bb14c6340..64b9f40c41 100644 --- a/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot +++ b/auth_user_case_insensitive/i18n/auth_user_case_insensitive.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -14,7 +14,7 @@ msgstr "" "Plural-Forms: \n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/ca.po b/auth_user_case_insensitive/i18n/ca.po index 9ababe796d..964aafc74d 100644 --- a/auth_user_case_insensitive/i18n/ca.po +++ b/auth_user_case_insensitive/i18n/ca.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/da.po b/auth_user_case_insensitive/i18n/da.po index ce99aaf926..1d9da30a4d 100644 --- a/auth_user_case_insensitive/i18n/da.po +++ b/auth_user_case_insensitive/i18n/da.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/de.po b/auth_user_case_insensitive/i18n/de.po index 28ac62e78a..93489a8f35 100644 --- a/auth_user_case_insensitive/i18n/de.po +++ b/auth_user_case_insensitive/i18n/de.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/el_GR.po b/auth_user_case_insensitive/i18n/el_GR.po index 1c43676861..ed2c17ee85 100644 --- a/auth_user_case_insensitive/i18n/el_GR.po +++ b/auth_user_case_insensitive/i18n/el_GR.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/es.po b/auth_user_case_insensitive/i18n/es.po index 5a834c563c..95cfd95e5b 100644 --- a/auth_user_case_insensitive/i18n/es.po +++ b/auth_user_case_insensitive/i18n/es.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/es_ES.po b/auth_user_case_insensitive/i18n/es_ES.po index 75becad4c5..b14d6530f4 100644 --- a/auth_user_case_insensitive/i18n/es_ES.po +++ b/auth_user_case_insensitive/i18n/es_ES.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/fi.po b/auth_user_case_insensitive/i18n/fi.po index 4d0f8f1fa1..fdd61757da 100644 --- a/auth_user_case_insensitive/i18n/fi.po +++ b/auth_user_case_insensitive/i18n/fi.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/fr.po b/auth_user_case_insensitive/i18n/fr.po index 4498c73fc6..b7d88f4fb2 100644 --- a/auth_user_case_insensitive/i18n/fr.po +++ b/auth_user_case_insensitive/i18n/fr.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "Des logins identiques existent pour `%s`" diff --git a/auth_user_case_insensitive/i18n/fr_CH.po b/auth_user_case_insensitive/i18n/fr_CH.po index f5fd3ac3ef..25ff540c2f 100644 --- a/auth_user_case_insensitive/i18n/fr_CH.po +++ b/auth_user_case_insensitive/i18n/fr_CH.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/fr_FR.po b/auth_user_case_insensitive/i18n/fr_FR.po index 4264382835..8ba8a92da0 100644 --- a/auth_user_case_insensitive/i18n/fr_FR.po +++ b/auth_user_case_insensitive/i18n/fr_FR.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/hr.po b/auth_user_case_insensitive/i18n/hr.po index 0f90800c5a..3d7a789cec 100644 --- a/auth_user_case_insensitive/i18n/hr.po +++ b/auth_user_case_insensitive/i18n/hr.po @@ -21,7 +21,7 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "Korisnička imena se preklapaju za `%s`" diff --git a/auth_user_case_insensitive/i18n/hr_HR.po b/auth_user_case_insensitive/i18n/hr_HR.po index c2e7b64a0b..eb2062b67d 100644 --- a/auth_user_case_insensitive/i18n/hr_HR.po +++ b/auth_user_case_insensitive/i18n/hr_HR.po @@ -21,7 +21,7 @@ msgstr "" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/it.po b/auth_user_case_insensitive/i18n/it.po index b3011de3e2..cccb03cbed 100644 --- a/auth_user_case_insensitive/i18n/it.po +++ b/auth_user_case_insensitive/i18n/it.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/nl.po b/auth_user_case_insensitive/i18n/nl.po index 4da8be9640..ba3852621a 100644 --- a/auth_user_case_insensitive/i18n/nl.po +++ b/auth_user_case_insensitive/i18n/nl.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/nl_NL.po b/auth_user_case_insensitive/i18n/nl_NL.po index 5c4c3fe7be..0066a45303 100644 --- a/auth_user_case_insensitive/i18n/nl_NL.po +++ b/auth_user_case_insensitive/i18n/nl_NL.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/pt.po b/auth_user_case_insensitive/i18n/pt.po index 656310aa96..6d770d6725 100644 --- a/auth_user_case_insensitive/i18n/pt.po +++ b/auth_user_case_insensitive/i18n/pt.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/pt_BR.po b/auth_user_case_insensitive/i18n/pt_BR.po index 785a857b67..22aa2b4dda 100644 --- a/auth_user_case_insensitive/i18n/pt_BR.po +++ b/auth_user_case_insensitive/i18n/pt_BR.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/ro.po b/auth_user_case_insensitive/i18n/ro.po index b7a790c0e9..7bcc0fb43a 100644 --- a/auth_user_case_insensitive/i18n/ro.po +++ b/auth_user_case_insensitive/i18n/ro.po @@ -20,7 +20,7 @@ msgstr "" "2:1));\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr " Exista un conflict de registru pentru `%s`" diff --git a/auth_user_case_insensitive/i18n/sl.po b/auth_user_case_insensitive/i18n/sl.po index d04bfd24d7..7a5c167e29 100644 --- a/auth_user_case_insensitive/i18n/sl.po +++ b/auth_user_case_insensitive/i18n/sl.po @@ -20,7 +20,7 @@ msgstr "" "%100==4 ? 2 : 3);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/tr.po b/auth_user_case_insensitive/i18n/tr.po index d0593222d6..28cbec3b58 100644 --- a/auth_user_case_insensitive/i18n/tr.po +++ b/auth_user_case_insensitive/i18n/tr.po @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/tr_TR.po b/auth_user_case_insensitive/i18n/tr_TR.po index 8a11a6e92d..a93f57f339 100644 --- a/auth_user_case_insensitive/i18n/tr_TR.po +++ b/auth_user_case_insensitive/i18n/tr_TR.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/i18n/zh_CN.po b/auth_user_case_insensitive/i18n/zh_CN.po index 311ec22618..e4d3741e32 100644 --- a/auth_user_case_insensitive/i18n/zh_CN.po +++ b/auth_user_case_insensitive/i18n/zh_CN.po @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #. module: auth_user_case_insensitive -#: code:addons/auth_user_case_insensitive/hooks.py:24 +#: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" msgstr "" diff --git a/auth_user_case_insensitive/readme/DESCRIPTION.rst b/auth_user_case_insensitive/readme/DESCRIPTION.rst index 88b359dc58..d91984716b 100644 --- a/auth_user_case_insensitive/readme/DESCRIPTION.rst +++ b/auth_user_case_insensitive/readme/DESCRIPTION.rst @@ -1,4 +1,3 @@ - This module makes user logins case insensitive. It also overwrites the search method to allow these case insensitive logins to work on a database that previously had case sensitive logins. diff --git a/auth_user_case_insensitive/readme/INSTALL.rst b/auth_user_case_insensitive/readme/INSTALL.rst index 08b20c306b..16f1d1cdd8 100644 --- a/auth_user_case_insensitive/readme/INSTALL.rst +++ b/auth_user_case_insensitive/readme/INSTALL.rst @@ -1,5 +1,3 @@ - -Install this module as you would any other. No further configuration is -required. +Install this module as you would any other. No further configuration is required. Note that upon installation the existing logins will all be converted to lowercase. diff --git a/auth_user_case_insensitive/static/description/icon.png b/auth_user_case_insensitive/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/auth_user_case_insensitive/static/description/index.html b/auth_user_case_insensitive/static/description/index.html new file mode 100644 index 0000000000..58fa691709 --- /dev/null +++ b/auth_user_case_insensitive/static/description/index.html @@ -0,0 +1,434 @@ + + + + + + +Case Insensitive Logins + + + +
+

Case Insensitive Logins

+ + +

Beta License: AGPL-3 OCA/server-auth Translate me on Weblate Try me on Runbot

+

This module makes user logins case insensitive. It also overwrites the +search method to allow these case insensitive logins to work on a database +that previously had case sensitive logins.

+

Table of contents

+ +
+

Installation

+

Install this module as you would any other. No further configuration is required.

+

Note that upon installation the existing logins will all be converted to lowercase.

+
+
+

Usage

+Steps to test the module +
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • LasLabs
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-auth project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From 3a5c7d89ab4f4d19b9c2a072253b0c24582dd3b3 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Fri, 31 May 2019 07:23:14 +0300 Subject: [PATCH 07/31] [MIG] auth_user_case_insensitive: Migration to 12.0 --- auth_user_case_insensitive/__manifest__.py | 2 +- auth_user_case_insensitive/i18n/fi.po | 2 +- auth_user_case_insensitive/models/res_users.py | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/auth_user_case_insensitive/__manifest__.py b/auth_user_case_insensitive/__manifest__.py index 1454d1ee61..73424dab4b 100644 --- a/auth_user_case_insensitive/__manifest__.py +++ b/auth_user_case_insensitive/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Case Insensitive Logins", "summary": "Makes the user login field case insensitive", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "category": "Authentication", "website": "https://github.com/OCA/server-auth", "author": "LasLabs, Odoo Community Association (OCA)", diff --git a/auth_user_case_insensitive/i18n/fi.po b/auth_user_case_insensitive/i18n/fi.po index fdd61757da..c434248a01 100644 --- a/auth_user_case_insensitive/i18n/fi.po +++ b/auth_user_case_insensitive/i18n/fi.po @@ -22,7 +22,7 @@ msgstr "" #: code:addons/auth_user_case_insensitive/hooks.py:23 #, python-format msgid "Conflicting user logins exist for `%s`" -msgstr "" +msgstr "Käyttäjä `%s` on jo olemassa" #. module: auth_user_case_insensitive #: model:ir.model,name:auth_user_case_insensitive.model_res_users diff --git a/auth_user_case_insensitive/models/res_users.py b/auth_user_case_insensitive/models/res_users.py index 4a74d830ac..4b3ae955b1 100644 --- a/auth_user_case_insensitive/models/res_users.py +++ b/auth_user_case_insensitive/models/res_users.py @@ -19,11 +19,12 @@ def _login(cls, db, login, password): login = login.lower() return super(ResUsers, cls)._login(db, login, password) - @api.model - def create(self, vals): - """ Overload create to lowercase login """ - vals['login'] = vals.get('login', '').lower() - return super(ResUsers, self).create(vals) + @api.model_create_multi + def create(self, vals_list): + """ Overload create multiple to lowercase login """ + for val in vals_list: + val['login'] = val.get('login', '').lower() + return super(ResUsers, self).create(vals_list) @api.multi def write(self, vals): From 16ea7ab7e91e84c8d536474b2586452a48f766aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Taymans?= Date: Tue, 1 Oct 2019 15:07:10 +0200 Subject: [PATCH 08/31] [FIX] auth_user_case_insensitive: LDAP error in tests --- auth_user_case_insensitive/README.rst | 10 +++++----- .../static/description/index.html | 8 ++++---- auth_user_case_insensitive/tests/test_res_users.py | 8 +++++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/auth_user_case_insensitive/README.rst b/auth_user_case_insensitive/README.rst index 498bf6fbeb..e87e866cdb 100644 --- a/auth_user_case_insensitive/README.rst +++ b/auth_user_case_insensitive/README.rst @@ -14,13 +14,13 @@ Case Insensitive Logins :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github - :target: https://github.com/OCA/server-auth/tree/11.0/auth_user_case_insensitive + :target: https://github.com/OCA/server-auth/tree/12.0/auth_user_case_insensitive :alt: OCA/server-auth .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/server-auth-11-0/server-auth-11-0-auth_user_case_insensitive + :target: https://translation.odoo-community.org/projects/server-auth-12-0/server-auth-12-0-auth_user_case_insensitive :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/251/11.0 + :target: https://runbot.odoo-community.org/runbot/251/12.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -54,7 +54,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -86,6 +86,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/server-auth `_ project on GitHub. +This module is part of the `OCA/server-auth `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/auth_user_case_insensitive/static/description/index.html b/auth_user_case_insensitive/static/description/index.html index 58fa691709..c6cf904eb7 100644 --- a/auth_user_case_insensitive/static/description/index.html +++ b/auth_user_case_insensitive/static/description/index.html @@ -3,7 +3,7 @@ - + Case Insensitive Logins