Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[15.0][MIG] partner_identification_gln: Migration to 15.0 #1555

Open
wants to merge 9 commits into
base: 15.0
Choose a base branch
from
88 changes: 88 additions & 0 deletions partner_identification_gln/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
==========================
Partner Identification GLN
==========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:8091fa13a49f4e237c629ba5365a4adacf51ea3f3a3261fb0d3bccd009f29bcc
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fpartner--contact-lightgray.png?logo=github
:target: https://github.com/OCA/partner-contact/tree/15.0/partner_identification_gln
:alt: OCA/partner-contact
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/partner-contact-15-0/partner-contact-15-0-partner_identification_gln
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&target_branch=15.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This addon extends "Partner Identification Numbers" to provide a number category for GLN registration

see: http://www.gs1.org/1/glnrules/en/

**Table of contents**

.. contents::
:local:

Installation
============

This module depends on 'stdnum' python module

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/partner-contact/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/partner-contact/issues/new?body=module:%20partner_identification_gln%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
~~~~~~~

* Acsone S.A.

Contributors
~~~~~~~~~~~~

* Alvaro Estebanez <[email protected]>
* Denis Roussel <[email protected]>
* Meyomesse Gilles <[email protected]>
* Bejaoui Souheil <[email protected]>
* Simone Orsi <[email protected]>
* Nils Coenen <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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/partner-contact <https://github.com/OCA/partner-contact/tree/15.0/partner_identification_gln>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions partner_identification_gln/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
16 changes: 16 additions & 0 deletions partner_identification_gln/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2016-2017 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Partner Identification GLN",
"summary": """
This addon extends "Partner Identification Numbers"
to provide a number category for GLN registration""",
"version": "15.0.1.0.0",
"license": "AGPL-3",
"author": "Acsone S.A.,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/partner-contact",
"depends": ["partner_identification"],
"data": ["data/partner_identification_gln.xml"],
"installable": True,
}
25 changes: 25 additions & 0 deletions partner_identification_gln/data/partner_identification_gln.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016-2017 ACSONE SA/NV (<http://acsone.eu>)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -->
<odoo>
<record
id="partner_identification_gln_number_category"
model="res.partner.id_category"
>
<field name="name">GLN Identification Number</field>
<field name="code">gln_id_number</field>
<field
name="validation_code"
><![CDATA[failed = self.validate_res_partner_gln(id_number)]]></field>
</record>
<record
id="partner_identification_gcp_number_category"
model="res.partner.id_category"
>
<field name="name">GCP Identification Number</field>
<field name="code">gcp_id_number</field>
<field
name="validation_code"
><![CDATA[failed = self.validate_res_partner_gcp(id_number)]]></field>
</record>
</odoo>
44 changes: 44 additions & 0 deletions partner_identification_gln/i18n/partner_identification_gln.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_identification_gln
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.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: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category__display_name
msgid "Display Name"
msgstr ""

#. module: partner_identification_gln
#: model:res.partner.id_category,name:partner_identification_gln.partner_identification_gcp_number_category
msgid "GCP Identification Number"
msgstr ""

#. module: partner_identification_gln
#: model:res.partner.id_category,name:partner_identification_gln.partner_identification_gln_number_category
msgid "GLN Identification Number"
msgstr ""

#. module: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category__id
msgid "ID"
msgstr ""

#. module: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category____last_update
msgid "Last Modified on"
msgstr ""

#. module: partner_identification_gln
#: model:ir.model,name:partner_identification_gln.model_res_partner_id_category
msgid "Partner ID Category"
msgstr ""
48 changes: 48 additions & 0 deletions partner_identification_gln/i18n/sl.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_identification_gln
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-11 11:05+0000\n"
"PO-Revision-Date: 2019-09-11 11:05+0000\n"
"Last-Translator: Matjaž Mozetič <[email protected]>, 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: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category__display_name
msgid "Display Name"
msgstr ""

#. module: partner_identification_gln
#: model:res.partner.id_category,name:partner_identification_gln.partner_identification_gcp_number_category
msgid "GCP Identification Number"
msgstr "GCP identifikacijska številka"

#. module: partner_identification_gln
#: model:res.partner.id_category,name:partner_identification_gln.partner_identification_gln_number_category
msgid "GLN Identification Number"
msgstr "GLN identifikacijska številka"

#. module: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category__id
msgid "ID"
msgstr ""

#. module: partner_identification_gln
#: model:ir.model.fields,field_description:partner_identification_gln.field_res_partner_id_category____last_update
msgid "Last Modified on"
msgstr ""

#. module: partner_identification_gln
#: model:ir.model,name:partner_identification_gln.model_res_partner_id_category
msgid "Partner ID Category"
msgstr "Partnerjeve ID kategorije"
1 change: 1 addition & 0 deletions partner_identification_gln/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import res_partner_id_category
69 changes: 69 additions & 0 deletions partner_identification_gln/models/res_partner_id_category.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright 2016-2017 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

import logging

from odoo import api, models

_logger = logging.getLogger(__name__)

try:
from stdnum import ean
from stdnum.exceptions import InvalidChecksum
except ImportError:
_logger.debug("Cannot `import external dependency python stdnum package`.")


class ResPartnerIdCategory(models.Model):
_inherit = "res.partner.id_category"

@api.model
def _search_duplicate(self, category_id, id_number, force_active=False):
domain = [
("category_id", "=", category_id),
("name", "=", id_number.name),
("name", "!=", False),
("id", "!=", id_number.id),
]

if force_active:
domain.append(("partner_id.active", "=", True))
return self.env["res.partner.id_number"].search(domain)

def validate_res_partner_gln(self, id_number):
self.ensure_one()
if not id_number:
return False

try:
ean.validate(id_number.name)
except InvalidChecksum:
return True

cat = self.env.ref(
"partner_identification_gln." "partner_identification_gln_number_category"
).id
duplicate_gln = self._search_duplicate(cat, id_number, True)

if duplicate_gln:
return True

return False

def validate_res_partner_gcp(self, id_number):
self.ensure_one()
if not id_number:
return False

if len(id_number.name) < 1 or len(id_number.name) > 12:
return True

cat = self.env.ref(
"partner_identification_gln." "partner_identification_gcp_number_category"
).id
duplicate_gln = self._search_duplicate(cat, id_number)

if duplicate_gln:
return True

return False
6 changes: 6 additions & 0 deletions partner_identification_gln/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* Alvaro Estebanez <[email protected]>
* Denis Roussel <[email protected]>
* Meyomesse Gilles <[email protected]>
* Bejaoui Souheil <[email protected]>
* Simone Orsi <[email protected]>
* Nils Coenen <[email protected]>
3 changes: 3 additions & 0 deletions partner_identification_gln/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This addon extends "Partner Identification Numbers" to provide a number category for GLN registration

see: http://www.gs1.org/1/glnrules/en/
1 change: 1 addition & 0 deletions partner_identification_gln/readme/INSTALL.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module depends on 'stdnum' python module
Loading
Loading