Skip to content

Commit 60ea38f

Browse files
19.0 mig deltatech website phone validation (#2396)
* Adaugă modulul `deltatech_invoice_picking_automatically` Modulul permite generarea automată a facturilor din transferuri interne după validarea acestora. Configurarea este posibilă la nivel de tip de picking, adăugând un câmp nou pentru a activa această funcționalitate. Au fost incluse și fișiere pentru vizualizări, documentație și metadata necesare. * Actualizează documentația și resursele modulelor Au fost actualizate link-urile către branch-ul `18.0` în fișierele README și descrierea modulelor. Mai mult, s-au adăugat informații detaliate pentru funcționalitățile modulelor `deltatech_queue_job`, `deltatech_website_vat_validation` și `deltatech_delivery_status`, inclusiv noile caracteristici și beneficii. * Adaugă modulul `deltatech_account_edit_currency_rate` Modulul permite editarea cursului valutar în facturi, incluzând câmpul `currency_rate_custom` și funcționalități personalizate pentru calcularea valorilor. Au fost adăugate modele, vizualizări, traduceri și documentație asociată, iar manifestul modulului include toate detaliile relevante pentru versiunea 18.0.1.0.8. * [IMP] Adaugă metadate pentru proiecte și elimină dependințe Introduce informații de metadate `project` în fișierele `pyproject.toml` pentru fiecare modul din folderul `deltatech`. Șterge fișierul `requirements.txt`, consolidând gestionarea dependințelor în cadrul fiecărui modul. Aceste schimbări standardizează structura proiectului și îmbunătățesc gestionarea dependințelor. * [IMP] Refactorizarea validării adreselor și adăugarea de teste (#2394) * [IMP] Refactorizarea validării adreselor și adăugarea de teste Modifică semnătura metodei `_validate_address_values` pentru a înlocui `checkout_form_validate` și adaugă suport pentru validarea extensivă a câmpurilor, precum `phone`, `vat` și `email`. Introduce și teste unitare pentru a verifica formatul și corectitudinea numerelor de telefon, asigurând conformitatea și robustezza implementării. * [FIX] Corectează testele pentru validitatea TVA în România Înlocuiește valoarea TVA utilizată în teste cu un exemplu valid conform formatului specific din România. Asigură că testele acoperă corect scenariile de validare și elimină eventuale erori cauzate de un format incorect al TVA. * [ADD] Introduce hook de pre-commit pentru verificarea super() Adaugă un script Python pentru a verifica metodele apelate prin super() în clasele Odoo. Scriptul funcționează ca un hook de pre-commit și asigură că metodele există în ierarhia de clase părinte. Adaugă configurația corespunzătoare în `.pre-commit-config.yaml` pentru integrare. * [IMP] Suport pentru multiple căi în argumentul addons-path Permite procesarea mai multor căi în argumentul addons-path, separându-le prin virgulă. Adaugă verificări suplimentare pentru existența fiecărei căi și loghează un mesaj de debug în cazul unei căi invalide. Actualizează configurația `.pre-commit-config.yaml` pentru a reflecta noul format al argumentului. * [ADD] Integrare ANAF pentru validarea TVA-ului Adaugă suport pentru integrarea ANAF în procesul de validare a TVA-ului în România. Completează automat câmpurile de adresă folosind datele returnate de ANAF, dacă TVA-ul este valid. Include un nou test unitar pentru a verifica funcționalitatea. * [IMP] Adaugă validări de telefon și traduceri pentru mesaje de eroare Include suport pentru traduceri în limba română pentru validarea numerelor de telefon. Mesajele de eroare au fost actualizate pentru a fi mai clare și disponibile în multiple limbi. * Actualizează versiunea modulului la 19.0.0.0.0 Modificarea versiunii în fișierul `__manifest__.py` reflectă trecerea la seria Odoo 19.0. Acest pas este necesar pentru alinierea modulului `deltatech_website_vat_validation` la ultima versiune. * [REM] Elimină validarea TVA din modulul `deltatech_website_vat_validation` A fost eliminată clasa `CustomerPortalVATValidation` din controller-ul `portal.py`, împreună cu logica aferentă validării câmpurilor precum `vat`. Această modificare reduce complexitatea modulului și elimină o dependență inutilă din manifest. * adaugare phone validation * update * Add static files and initialize stock account module Introduced static assets for various Deltatech modules and established the initial structure for the "Stock Account Extension" module. This includes configuration files, security settings, and views for managing product categories and stock picking. Additionally, external CSS dependencies were updated in several module descriptions. * Corectează formatarea și adaugă funcționalități noi. Revizuirea fișierelor README pentru a corecta formatarea listelor și titlurilor. Adăugate îmbunătățiri în afișarea disponibilității stocului pe website, inclusiv ajustarea fonturilor și a mesajelor traduse. Extinsă funcționalitatea pentru timpii de livrare în magazinul online și consolidate template-urile XML asociate.``` * [18.0][UPD] deltatech_alternative * Normalize whitespace in README content across modules S-au corectat aliniamentele și spațierile din fișierele README pentru a îmbunătăți lizibilitatea și consistența. Modificările nu afectează funcționalitatea codului, fiind limitate la documentație. * [18.0][UPD deltatech_picking_transit * Uniformizează formatările în fișierele README Corectează și aliniază formatările din fișierele README pentru a menține un stil consistent. Modificările includ ajustări de indentare, aliniamente și corecturi minore pentru claritate și lizibilitate. * pre-commit * Actualizează formatarea fișierelor README S-au corectat spațierile, alinierea și formatarea listelor în multiple fișiere README din modulele Odoo. Aceste modificări îmbunătățesc lizibilitatea și claritatea conținutului fără să afecteze funcționalitatea. * Adaugă script pentru copierea imaginilor în module A fost adăugat un script pentru automatizarea copierii imaginilor principale în toate modulele `deltatech`. Această modificare asigură consistența fișierelor de descriere și reduce erorile manuale. * Elimină definirea licenței din fișierele de documentație A fost eliminat indicatorul de licență OPL-1 din fișierele README și HTML ale mai multor module. Modificările asigură consistența documentației cu politicile curente ale proiectului. * [IMP] Adaugă metadate pentru proiecte și elimină dependințe Introduce informații de metadate `project` în fișierele `pyproject.toml` pentru fiecare modul din folderul `deltatech`. Șterge fișierul `requirements.txt`, consolidând gestionarea dependințelor în cadrul fiecărui modul. Aceste schimbări standardizează structura proiectului și îmbunătățesc gestionarea dependințelor. * [ADD] Adaugă noi dependințe și actualizează metadatele Include trei noi dependințe în `oca_dependencies.txt` pentru extinderea funcționalităților proiectului. De asemenea, adaugă noi dependențe externe în fișierul `pyproject.toml` al modulului `deltatech_competitors_price`, asigurând corecta gestionare și compatibilitate a acestora. * [IMP] Refactorizarea validării adreselor și adăugarea de teste (#2394) * [IMP] Refactorizarea validării adreselor și adăugarea de teste Modifică semnătura metodei `_validate_address_values` pentru a înlocui `checkout_form_validate` și adaugă suport pentru validarea extensivă a câmpurilor, precum `phone`, `vat` și `email`. Introduce și teste unitare pentru a verifica formatul și corectitudinea numerelor de telefon, asigurând conformitatea și robustezza implementării. * [FIX] Corectează testele pentru validitatea TVA în România Înlocuiește valoarea TVA utilizată în teste cu un exemplu valid conform formatului specific din România. Asigură că testele acoperă corect scenariile de validare și elimină eventuale erori cauzate de un format incorect al TVA. * [ADD] Introduce hook de pre-commit pentru verificarea super() Adaugă un script Python pentru a verifica metodele apelate prin super() în clasele Odoo. Scriptul funcționează ca un hook de pre-commit și asigură că metodele există în ierarhia de clase părinte. Adaugă configurația corespunzătoare în `.pre-commit-config.yaml` pentru integrare. * [IMP] Suport pentru multiple căi în argumentul addons-path Permite procesarea mai multor căi în argumentul addons-path, separându-le prin virgulă. Adaugă verificări suplimentare pentru existența fiecărei căi și loghează un mesaj de debug în cazul unei căi invalide. Actualizează configurația `.pre-commit-config.yaml` pentru a reflecta noul format al argumentului. * [ADD] Integrare ANAF pentru validarea TVA-ului Adaugă suport pentru integrarea ANAF în procesul de validare a TVA-ului în România. Completează automat câmpurile de adresă folosind datele returnate de ANAF, dacă TVA-ul este valid. Include un nou test unitar pentru a verifica funcționalitatea. * [IMP] Adaugă validări de telefon și traduceri pentru mesaje de eroare Include suport pentru traduceri în limba română pentru validarea numerelor de telefon. Mesajele de eroare au fost actualizate pentru a fi mai clare și disponibile în multiple limbi. * [IMP] deltatech_website_phone_validation: pre-commit stuff * [IMP] Actualizare versiune și curățare cod neutilizat Actualizează versiunea modulului la 19.0.1.0.0 în fișierul `__manifest__.py` și elimină importurile neutilizate din `__init__.py`. Modificările asigură o versiune corectă și un cod mai curat. * [IMP] Înlocuiește importul `MockRequest` cu versiune actualizată A fost actualizat importul `MockRequest` pentru a folosi pachetul `http_routing.tests.common` în loc de `website.tools`. Această modificare aliniază testele la structura actuală a codului și elimină o dependență depășită. * [FIX] Elimină parametrul `is_main_address` din testele de validare A fost eliminat parametrul `is_main_address` din apelurile metodei `_validate_address_values` în testele unitară. Această modificare aliniază testele la noul format al metodei și elimină un parametru redundant neutilizat. * [FIX] Adaugă parametrul `is_main_address` în testele de validare A fost adăugat parametrul `is_main_address` în apelurile metodei `_validate_address_values` în testele unitară. Această modificare asigură conformitatea cu structura actualizată a metodei și corectează testele pentru a reflecta noua logică. * [FIX] Înlocuiește referința `request.env["res.users"]` cu `request.env.user` Corectează metoda de obținere a partenerului curent în funcție de utilizatorul conectat. Această modificare simplifică codul, eliminând o referință indirectă și utilizând standardul curent al platformei Odoo. * [IMP] Actualizează importul `MockRequest` în testele modulului Înlocuiește importul `MockRequest` cu versiunea din `http_routing.tests.common`, pentru a asigura compatibilitatea cu structura actuală a modulului. Această modificare elimină posibilele erori cauzate de utilizarea unui import depășit. * [FIX] Specifică explicit parametrii în apelurile metodei `_validate_address_values` Modifică apelurile metodei `_validate_address_values` în controler și teste pentru a utiliza explicit parametrii cheie. Acest lucru îmbunătățește lizibilitatea codului și reduce riscul unor erori cauzate de ordinea greșită a argumentelor. --------- Co-authored-by: VoicuStefan2001 <stefanvoicu2009@gmail.com>
1 parent 81fd87c commit 60ea38f

16 files changed

Lines changed: 668 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
========================
2+
Website Phone Validation
3+
========================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:c6c48270cc97386acbc6dbf20c550a6bafe568f720fe4f96cf45d2f3e7ff2cee
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Mature
16+
.. |badge2| image:: https://img.shields.io/badge/github-dhongu%2Fdeltatech-lightgray.png?logo=github
17+
:target: https://github.com/dhongu/deltatech/tree/18.0/deltatech_website_phone_validation
18+
:alt: dhongu/deltatech
19+
20+
|badge1| |badge2|
21+
22+
- Features:
23+
24+
- Validation of phone number from frontend
25+
- Validare telefon in frontend
26+
27+
**Table of contents**
28+
29+
.. contents::
30+
:local:
31+
32+
Bug Tracker
33+
===========
34+
35+
Bugs are tracked on `Terrabit Issues <https://www.terrabit.ro/helpdesk>`_.
36+
In case of trouble, please check there if your issue has already been reported.
37+
38+
Do not contact contributors directly about support or help with technical issues.
39+
40+
Credits
41+
=======
42+
43+
Authors
44+
-------
45+
46+
* Terrabit
47+
* Dorin Hongu
48+
49+
Maintainers
50+
-----------
51+
52+
.. |maintainer-dhongu| image:: https://github.com/dhongu.png?size=40px
53+
:target: https://github.com/dhongu
54+
:alt: dhongu
55+
56+
Current maintainer:
57+
58+
|maintainer-dhongu|
59+
60+
This module is part of the `dhongu/deltatech <https://github.com/dhongu/deltatech/tree/18.0/deltatech_website_phone_validation>`_ project on GitHub.
61+
62+
You are welcome to contribute.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# © 2008-2021 Deltatech
2+
# Dorin Hongu <dhongu(@)gmail(.)com
3+
# See README.rst file on addons root folder for license details
4+
5+
from . import controllers
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# © 2008-2021 Deltatech
2+
# Dorin Hongu <dhongu(@)gmail(.)com
3+
# See README.rst file on addons root folder for license details
4+
5+
{
6+
"name": "Website Phone Validation",
7+
"summary": "Phone Validation",
8+
"version": "19.0.1.0.0",
9+
"author": "Terrabit, Dorin Hongu",
10+
"website": "https://www.terrabit.ro",
11+
"external_dependencies": {"python": ["phonenumbers"]},
12+
"license": "OPL-1",
13+
"category": "Generic Modules",
14+
"depends": ["website_sale", "phone_validation"],
15+
"images": ["static/description/main_screenshot.png"],
16+
"development_status": "Mature",
17+
"maintainers": ["dhongu"],
18+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# © 2008-2021 Deltatech
2+
# Dorin Hongu <dhongu(@)gmail(.)com
3+
# See README.rst file on addons root folder for license details
4+
5+
6+
from . import website_sale
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# © 2008-2021 Deltatech
2+
# Dorin Hongu <dhongu(@)gmail(.)com
3+
# See README.rst file on addons root folder for license details
4+
5+
from odoo import _
6+
from odoo.http import request
7+
8+
from odoo.addons.phone_validation.tools import phone_validation
9+
from odoo.addons.website_sale.controllers.main import WebsiteSale
10+
11+
12+
class WebsiteSalePhoneValidation(WebsiteSale):
13+
def _validate_address_values(
14+
self,
15+
address_values,
16+
partner_sudo,
17+
address_type,
18+
use_delivery_as_billing,
19+
required_fields,
20+
is_main_address,
21+
**_kwargs,
22+
):
23+
if address_values.get("phone"):
24+
address_values["phone"] = address_values.get("phone").strip()
25+
26+
invalid_fields, missing_fields, error_messages = super()._validate_address_values(
27+
address_values=address_values,
28+
partner_sudo=partner_sudo,
29+
address_type=address_type,
30+
use_delivery_as_billing=use_delivery_as_billing,
31+
required_fields=required_fields,
32+
is_main_address=is_main_address,
33+
**_kwargs,
34+
)
35+
36+
if address_values.get("phone") and "phone" not in invalid_fields:
37+
try:
38+
phone = address_values.get("phone")
39+
country = request.env["res.country"].sudo().browse(address_values.get("country_id"))
40+
address_values["phone"] = phone_validation.phone_format(
41+
phone,
42+
country.code if country else None,
43+
country.phone_code if country else None,
44+
force_format="INTERNATIONAL",
45+
raise_exception=True,
46+
)
47+
except Exception as e:
48+
invalid_fields.add("phone")
49+
error_messages.append(_("The phone number is not valid: %s", getattr(e, "name", str(e))))
50+
51+
return invalid_fields, missing_fields, error_messages
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following module:
3+
# * deltatech_website_phone_validation
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 18.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"POT-Creation-Date: 2024-03-14 07:30+0000\n"
10+
"PO-Revision-Date: 2024-03-14 07:30+0000\n"
11+
"Last-Translator: \n"
12+
"Language-Team: \n"
13+
"Language: ro\n"
14+
"MIME-Version: 1.0\n"
15+
"Content-Type: text/plain; charset=UTF-8\n"
16+
"Content-Transfer-Encoding: \n"
17+
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||(n%100==0)&&(n!=0))?2:1));\n"
18+
19+
#. module: deltatech_website_phone_validation
20+
#. python-format
21+
#: code:addons/deltatech_website_phone_validation/controllers/website_sale.py:0
22+
msgid "The phone number is not valid: %s"
23+
msgstr "Numărul de telefon nu este valid: %s"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[build-system]
2+
requires = [
3+
"whool",
4+
]
5+
build-backend = "whool.buildapi"
6+
7+
[project]
8+
name = "odoo-addon-deltatech-website-phone-validation"
9+
dependencies = ["phonenumbers"]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- Features:
2+
3+
- Validation of phone number from frontend
4+
- Validare telefon in frontend
5.05 KB
Loading

0 commit comments

Comments
 (0)