diff --git a/contracts/views.py b/contracts/views.py index 4c126c502644eddee7c81b25b3974dac533ce463..2941353fe395be2c533aa7c53a1ed3eccc4e3ba6 100644 --- a/contracts/views.py +++ b/contracts/views.py @@ -1,5 +1,4 @@ import os -from xml.etree import ElementTree import requests from django.conf import settings @@ -442,15 +441,9 @@ def get_ares_info(request, ico: int): raise HTTPExceptions.FORBIDDEN ares_info = requests.get( - f"https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico={ico}" + f"https://ares.gov.cz/ekonomicke-subjekty-v-be/rest/ekonomicke-subjekty/{ico}" ) - tree = ElementTree.fromstring(ares_info.content) - - for result_count in tree.iter("are:Pocet_zaznamu"): - if result_count.text == "0": - raise HTTPExceptions.NOT_FOUND - return HttpResponse( content=ares_info.content, status=ares_info.status_code, diff --git a/package-lock.json b/package-lock.json index 7dc4b76836df74c306fe86241b1a6a5f64b25a4d..3977430923c73b2cf9418f9a1cdfe6be7353e03c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -515,9 +515,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001481", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", - "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", "funding": [ { "type": "opencollective", @@ -2582,9 +2582,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001481", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", - "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==" + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==" }, "chokidar": { "version": "3.5.3", diff --git a/static_src/admin/signee_form.js b/static_src/admin/signee_form.js index 473b4c0cf7baeff0afb15af98bcc412b44f9cc66..f95c2ede5947649cb919b820638557dfd7f27c7e 100644 --- a/static_src/admin/signee_form.js +++ b/static_src/admin/signee_form.js @@ -93,67 +93,57 @@ $(window).ready( async (event) => { const icoValue = $("#id_ico_number").val(); - const rawAresXMLResponse = await fetch( + const rawAresJSONResponse = await fetch( `/ares-info-proxy/${icoValue}` ); - if (!rawAresXMLResponse.ok) { + if (!rawAresJSONResponse.ok) { alertify.error("Chyba pĹ™i naÄŤĂtnĂ dat z ARES."); console.warn( "Error loading ARES data: ", - await rawAresXMLResponse.text() + await rawAresJSONResponse.text() ); return; } - const formattedAresData = new DOMParser().parseFromString( - await rawAresXMLResponse.text(), - "text/xml" + const formattedAresData = await rawAresJSONResponse.json(); + + let street = ( + (formattedAresData["sidlo"]["nazevUlice"] !== undefined) ? + formattedAresData["sidlo"]["nazevUlice"] : "" + ) + + street += ( + (formattedAresData["sidlo"]["cisloDomovni"] !== undefined) ? + (" " + formattedAresData["sidlo"]["cisloDomovni"]) : "" + ) + street += ( + (formattedAresData["sidlo"]["cisloOrientacni"] !== undefined) ? + ("/" + formattedAresData["sidlo"]["cisloOrientacni"]) : "" + ) + + $("#id_name").val( + (formattedAresData["obchodniJmeno"] !== undefined) ? + formattedAresData["obchodniJmeno"] : "" + ) + $("#id_address_street_with_number").val(street); + $("#id_address_district").val( + (formattedAresData["sidlo"]["nazevCastiObce"] !== undefined) ? + formattedAresData["sidlo"]["nazevCastiObce"] : "" + ); + $("#id_address_zip").val( + (formattedAresData["sidlo"]["psc"] !== undefined) ? + formattedAresData["sidlo"]["psc"] : "" ); - - const errors = formattedAresData.getElementsByTagName("are:Error"); - - if (errors.length !== 0) { - alertify.error("Chyba pĹ™i naÄŤĂtnĂ dat z ARES. Je IÄŚO zadáno správnÄ›?"); - - console.warn( - "Error(s) loading ARES data: ", - errors - ); - - return; - } - - let streetResult = ""; - - const streetElements = formattedAresData.getElementsByTagName("dtt:Nazev_ulice"); - - if (streetElements.length !== 0) { - streetResult += streetElements[0].innerHTML; - } - - const houseNumberElements = formattedAresData.getElementsByTagName("dtt:Cislo_domovni"); - - if (houseNumberElements.length !== 0) { - streetResult += ` ${houseNumberElements[0].innerHTML}`; - } - - const orientationNumberElements = formattedAresData.getElementsByTagName("dtt:Cislo_orientacni"); - - if (orientationNumberElements.length !== 0) { - streetResult += `/${orientationNumberElements[0].innerHTML}`; - } - - $("#id_name").val(formattedAresData.getElementsByTagName("are:Obchodni_firma")[0].innerHTML) - $("#id_address_street_with_number").val(streetResult); - $("#id_address_district").val(formattedAresData.getElementsByTagName("dtt:Nazev_obce")[0].innerHTML); - $("#id_address_zip").val(formattedAresData.getElementsByTagName("dtt:PSC")[0].innerHTML); // IÄŚO numbers will always be in the Czech Republic. - $("#id_address_country").val("ÄŚeská Republika"); + $("#id_address_country").val( + (formattedAresData["sidlo"]["nazevStatu"] !== undefined) ? + formattedAresData["sidlo"]["nazevStatu"] : "" + ); - console.log(formattedAresData); + console.info("Loaded ARES data: ", formattedAresData); } ); }