-
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by carmenbianca
- Loading branch information
Showing
34 changed files
with
2,340 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
=================================== | ||
Belgium: Cooperator National Number | ||
=================================== | ||
|
||
.. | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:630e1017f61be213540b60239befca6d9dc713c41118f2a603254d70f4b9ec7f | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |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%2Fcooperative-lightgray.png?logo=github | ||
:target: https://github.com/OCA/cooperative/tree/16.0/l10n_be_cooperator_national_number | ||
:alt: OCA/cooperative | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/cooperative-16-0/cooperative-16-0-l10n_be_cooperator_national_number | ||
: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/cooperative&target_branch=16.0 | ||
:alt: Try me on Runboat | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
Ask for Belgian National Number in Subscription Request. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Usage | ||
===== | ||
|
||
On the company, two new toggles 'Display National Number' and 'Require National | ||
Number' are added. In order to expose the functionality of this module, you must | ||
enable these toggles for every company that wishes to use it. 'Display' shows | ||
the field and allows it to be filled in. 'Require' makes the field mandatory. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/cooperative/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/cooperative/issues/new?body=module:%20l10n_be_cooperator_national_number%0Aversion:%2016.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 | ||
~~~~~~~ | ||
|
||
* Coop IT Easy SC | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* Coop IT Easy SC | ||
|
||
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/cooperative <https://github.com/OCA/cooperative/tree/16.0/l10n_be_cooperator_national_number>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Copyright 2018 Coop IT Easy SC (<http://www.coopiteasy.be>) | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).# | ||
{ | ||
"name": "Belgium: Cooperator National Number", | ||
"summary": "Ask for Belgian National Number in Cooperative Subscription Request.", | ||
"version": "16.0.1.0.0", | ||
"depends": ["cooperator", "l10n_be_partner_identification"], | ||
"author": "Coop IT Easy SC, Odoo Community Association (OCA)", | ||
"category": "Cooperative management", | ||
"website": "https://github.com/OCA/cooperative", | ||
"license": "AGPL-3", | ||
"data": ["views/subscription_request_view.xml", "views/res_company_view.xml"], | ||
"demo": [], | ||
} |
46 changes: 46 additions & 0 deletions
46
l10n_be_cooperator_national_number/i18n/l10n_be_cooperator_national_number.pot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * l10n_be_cooperator_national_number | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 12.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: l10n_be_cooperator_national_number | ||
#: model:ir.model,name:l10n_be_cooperator_national_number.model_res_company | ||
msgid "Companies" | ||
msgstr "" | ||
|
||
#. module: l10n_be_cooperator_national_number | ||
#: model:ir.model.fields,field_description:l10n_be_cooperator_national_number.field_subscription_request__display_national_number | ||
msgid "Display National Number" | ||
msgstr "" | ||
|
||
#. module: l10n_be_cooperator_national_number | ||
#: model:ir.model.fields,field_description:l10n_be_cooperator_national_number.field_subscription_request__national_number | ||
msgid "National Number" | ||
msgstr "" | ||
|
||
#. module: l10n_be_cooperator_national_number | ||
#: code:addons/l10n_be_cooperator_national_number/models/subscription_request.py:38 | ||
#, python-format | ||
msgid "National Number is required." | ||
msgstr "" | ||
|
||
#. module: l10n_be_cooperator_national_number | ||
#: model:ir.model.fields,field_description:l10n_be_cooperator_national_number.field_res_company__require_national_number | ||
msgid "Require National Number" | ||
msgstr "" | ||
|
||
#. module: l10n_be_cooperator_national_number | ||
#: model:ir.model,name:l10n_be_cooperator_national_number.model_subscription_request | ||
msgid "Subscription Request" | ||
msgstr "" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from . import company | ||
from . import subscription_request | ||
from . import res_partner |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Copyright 2019 Coop IT Easy SCRL fs | ||
# Houssine Bakkali <[email protected]> | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). | ||
|
||
|
||
from odoo import _, api, fields, models | ||
from odoo.exceptions import ValidationError | ||
|
||
|
||
class ResCompany(models.Model): | ||
_inherit = "res.company" | ||
|
||
display_national_number = fields.Boolean() | ||
require_national_number = fields.Boolean() | ||
|
||
@api.constrains("display_national_number", "require_national_number") | ||
def _check_national_number(self): | ||
for company in self: | ||
if company.require_national_number and not company.display_national_number: | ||
raise ValidationError( | ||
_( | ||
'If the "Require National Number" toggle is enabled,' | ||
' then so must the "Display National Number" toggle.' | ||
) | ||
) | ||
|
||
@api.onchange("display_national_number") | ||
def _onchange_display_national_number(self): | ||
if not self.display_national_number: | ||
self.require_national_number = False |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# SPDX-FileCopyrightText: 2023 Coop IT Easy SC | ||
# | ||
# SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
||
from odoo import models | ||
|
||
|
||
class ResPartner(models.Model): | ||
_inherit = "res.partner" | ||
|
||
def update_belgian_national_number(self, national_number): | ||
self.ensure_one() | ||
result = None | ||
if national_number: | ||
belgian_cat = self.env.ref( | ||
"l10n_be_partner_identification.l10n_be_national_registry_number_category" | ||
) | ||
existing = self.env["res.partner.id_number"].search( | ||
[ | ||
("partner_id", "=", self.id), | ||
("category_id", "=", belgian_cat.id), | ||
] | ||
) | ||
# Update | ||
if existing: | ||
existing.name = national_number | ||
result = existing | ||
# Create new | ||
else: | ||
values = { | ||
"name": national_number, | ||
"category_id": belgian_cat.id, | ||
"partner_id": self.id, | ||
} | ||
result = self.env["res.partner.id_number"].create(values) | ||
return result |
50 changes: 50 additions & 0 deletions
50
l10n_be_cooperator_national_number/models/subscription_request.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
from odoo import _, api, fields, models | ||
from odoo.exceptions import UserError | ||
|
||
|
||
class SubscriptionRequest(models.Model): | ||
_inherit = "subscription.request" | ||
|
||
national_number = fields.Char() | ||
display_national_number = fields.Boolean( | ||
compute="_compute_display_national_number", | ||
) | ||
require_national_number = fields.Boolean( | ||
compute="_compute_require_national_number", | ||
) | ||
|
||
@api.depends("is_company", "company_id", "company_id.display_national_number") | ||
def _compute_display_national_number(self): | ||
self.display_national_number = ( | ||
self.company_id.display_national_number and not self.is_company | ||
) | ||
|
||
@api.depends("is_company", "company_id", "company_id.require_national_number") | ||
def _compute_require_national_number(self): | ||
self.require_national_number = ( | ||
self.company_id.require_national_number and not self.is_company | ||
) | ||
|
||
def get_national_number_from_partner(self, partner): | ||
national_number_id_category = self.env.ref( | ||
"l10n_be_partner_identification.l10n_be_national_registry_number_category" | ||
).id | ||
national_number = partner.id_numbers.filtered( | ||
lambda rec: rec.category_id.id == national_number_id_category | ||
) | ||
return national_number.name | ||
|
||
def validate_subscription_request(self): | ||
self.ensure_one() | ||
if self.require_national_number and not self.national_number: | ||
raise UserError(_("National Number is required.")) | ||
invoice = super().validate_subscription_request() | ||
if not self.is_company: | ||
partner = invoice.partner_id | ||
partner.update_belgian_national_number(self.national_number) | ||
return invoice | ||
|
||
def get_person_info(self, partner): | ||
super().get_person_info(partner) | ||
self.national_number = self.get_national_number_from_partner(partner) | ||
return True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* Coop IT Easy SC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Ask for Belgian National Number in Subscription Request. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
On the company, two new toggles 'Display National Number' and 'Require National | ||
Number' are added. In order to expose the functionality of this module, you must | ||
enable these toggles for every company that wishes to use it. 'Display' shows | ||
the field and allows it to be filled in. 'Require' makes the field mandatory. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.