aboutsummaryrefslogtreecommitdiff
path: root/connector/src/main/resources/templates/residency.html
diff options
context:
space:
mode:
Diffstat (limited to 'connector/src/main/resources/templates/residency.html')
-rw-r--r--connector/src/main/resources/templates/residency.html251
1 files changed, 251 insertions, 0 deletions
diff --git a/connector/src/main/resources/templates/residency.html b/connector/src/main/resources/templates/residency.html
new file mode 100644
index 00000000..6e266449
--- /dev/null
+++ b/connector/src/main/resources/templates/residency.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org"
+ xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
+ layout:decorator="fragments/base"
+ th:with="lang=${#locale.language}" th:lang="${lang}">
+<head>
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="../../webapp/css/css_country.css" th:href="@{/static/css/css_country.css}"/>
+ <script type="text/javascript" src="../../webapp/js/jquery-3.6.0.js"
+ th:attr="src=@{/static/js/jquery-3.6.0.min.js}"></script>
+ <title th:text="#{gui.residency.title}">Österreichischer Wohnsitz</title>
+ <script type="text/javascript" th:inline="javascript">
+ $(document).ready(function () {
+ $("#textResult").hide();
+ $("#tableResult").hide();
+ $("#loading").hide();
+ $.ajaxSetup({
+ beforeSend: function () {
+ $("#loading").show();
+ },
+ complete: function () {
+ $("#loading").hide();
+ }
+ });
+ $("#inputForm input[type='text']").keyup(function (event) {
+ if (event.keyCode === 13) {
+ $("#buttonSearch").click();
+ }
+ });
+ });
+
+ function search() {
+ let updatedText = /*[[#{gui.residency.updated}]]*/ 'Updated text';
+ let errorText = /*[[#{gui.residency.error}]]*/ 'Error';
+ let foundText = /*[[#{gui.residency.found}]]*/ 'Found {0}';
+ let uniqueText = /*[[#{gui.residency.unique}]]*/ 'Unique';
+ let invalidInputText = /*[[#{gui.residency.header.inputinvalid}]]*/ 'Invalid';
+ if (!$("#inputForm #inputMunicipality").val().trim() && !$("#inputForm #inputPostleitzahl").val().trim() &&
+ !$("#inputForm #inputVillage").val().trim()) {
+ $("#textResult").show().text(invalidInputText);
+ return;
+ }
+ $.ajax({
+ type: "POST",
+ url: "http://localhost:8080/ms_connector/residency/search",
+ data: $("#inputForm").serialize()
+ }).done(function (data, textStatus, jqXHR) {
+ if (data["resultCount"] === 1) {
+ $("#textResult").show().text(uniqueText);
+ $("#tableResult tbody").empty();
+ $("#tableResult").hide();
+ $("#inputForm #inputPostleitzahl").val(data["results"][0]["postleitzahl"]);
+ $("#inputForm #inputMunicipality").val(data["results"][0]["municipality"]);
+ $("#inputForm #inputVillage").val(data["results"][0]["village"]);
+ $("#inputForm #inputStreet").val(data["results"][0]["street"]);
+ $("#inputForm #inputNumber").val(data["results"][0]["number"]);
+ return;
+ }
+ $("#textResult").show().text(foundText.replace("{0}", data["resultCount"]));
+ $("#tableResult").show();
+ $("#tableResult tbody").empty();
+ $.each(data.results, function (i, output) {
+ $("#tableResult tbody")
+ .append($("<tr>")
+ .append($("<td>").text(output["postleitzahl"] !== null ? output["postleitzahl"] : "").css("text-align", "right"))
+ .append($("<td>").text(output["municipality"] !== null ? output["municipality"] : ""))
+ .append($("<td>").text(output["village"] !== null ? output["village"] : ""))
+ .append($("<td>").text(output["street"] !== null ? output["street"] : ""))
+ .append($("<td>").text(output["number"] !== null ? output["number"] : "").css("text-align", "right"))
+ .css("cursor", "pointer").click(function () {
+ $("#inputForm #inputPostleitzahl").val($(this).children("td:nth-child(1)").text());
+ $("#inputForm #inputMunicipality").val($(this).children("td:nth-child(2)").text());
+ $("#inputForm #inputVillage").val($(this).children("td:nth-child(3)").text());
+ $("#inputForm #inputStreet").val($(this).children("td:nth-child(4)").text());
+ $("#inputForm #inputNumber").val($(this).children("td:nth-child(5)").text());
+ $("#textResult").show().text(updatedText);
+ search();
+ })
+ );
+ })
+ if (data.results.length === 0) {
+ $("#tableResult").hide();
+ }
+ }).fail(function (jqXHR, textStatus, errorThrown) {
+ $("#textResult").show().text(errorText);
+ })
+ }
+
+ function clearInput() {
+ $("#inputForm #inputMunicipality").val("");
+ $("#inputForm #inputVillage").val("");
+ $("#inputForm #inputStreet").val("");
+ $("#inputForm #inputNumber").val("");
+ $("#textResult").hide();
+ $("#tableResult").hide();
+ }
+ </script>
+ <style>
+ #residency label {
+ width: 10em;
+ display: inline-block;
+ margin-bottom: 0.5em;
+ }
+
+ #residency input {
+ width: 15em;
+ display: inline-block;
+ margin-bottom: 0.5em;
+ }
+
+ #result {
+ margin-bottom: 4em;
+ }
+
+ button {
+ padding: 0.5em;
+ margin: 0.5em;
+ width: 8em;
+ }
+
+ .block {
+ width: 100%;
+ }
+
+ #tableResult td, #tableResult th {
+ padding: 1em 0.5em;
+ }
+
+ #tableResult a {
+ text-decoration: underline;
+ }
+
+ #tableResult {
+ border-collapse: collapse;
+ }
+
+ #tableResult tr {
+ border-bottom: 1px solid black;
+ }
+ </style>
+</head>
+
+<body>
+<div class="header container">
+ <div class="titlebar">
+ <div>
+ <a href="https://www.bmi.gv.at/" target="_blank" title="Home">
+ <img class="toplogo img-responsive" src="/static/BMI.png" alt="Logo BMI"
+ th:attr="alt=#{gui.countryselection.logo.bmi.alt}">
+ <h1 class="hidden" th:text="#{gui.countryselection.header1}"> Bundesministerium für Inneres </h1>
+ </a>
+ </div>
+ <ul class="nav_oben">
+ <li>
+ <div class="languageselection" th:include="language_selection :: selectlanguage">
+ LanguageSelectionBlock
+ </div>
+ </li>
+ &nbsp; &nbsp;
+ <li>
+ <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.link.bmi}">Startseite
+ BMI </a>
+ </li>
+ </ul>
+ </div>
+</div>
+<div class="content">
+ <div class="subtitle">
+ <h1 th:text="#{gui.countryselection.header2}"> Zentraler eIDAS Knoten der Republik Österreich </h1>
+ <h2 th:text="#{gui.countryselection.header3}"> Betrieben durch das Bundesministerium für Inneres </h2>
+ </div>
+
+ <h1 th:text="#{gui.residency.header.selection}">Search your Austrian Residency</h1>
+
+ <div id="residency">
+ <form id="inputForm" method="post" action="$contextPath$submitEndpoint"
+ th:attr="action=@{${submitEndpoint}}">
+ <div><p th:text="#{gui.residency.header.help}">Please enter a postcode, municipality or village first</p>
+ </div>
+ <div>
+ <label for="inputPostleitzahl" th:text="#{gui.residency.input.postleitzahl}">Postleitzahl</label>
+ <input type="text" id="inputPostleitzahl" name="postleitzahl" value=""/>
+ </div>
+ <div>
+ <label for="inputMunicipality" th:text="#{gui.residency.input.municipality}">Municipality</label>
+ <input type="text" id="inputMunicipality" name="municipality" value=""/>
+ </div>
+ <div>
+ <label for="inputVillage" th:text="#{gui.residency.input.village}">Village</label>
+ <input type="text" id="inputVillage" name="village" value=""/>
+ </div>
+ <div>
+ <label for="inputStreet" th:text="#{gui.residency.input.street}">Street</label>
+ <input type="text" id="inputStreet" name="street" value=""/>
+ </div>
+ <div>
+ <label for="inputNumber" th:text="#{gui.residency.input.number}">Number</label>
+ <input type="text" id="inputNumber" name="number" value=""/>
+ </div>
+ <div class="block">
+ <button type="button" id="buttonSearch" onclick="search()" th:text="#{gui.residency.search}">
+ Search
+ </button>
+ <button type="button" id="buttonClear" onclick="clearInput()" th:text="#{gui.residency.clear}">
+ Clear
+ </button>
+ <button type="button" id="buttonProceed" th:text="#{gui.residency.proceed}">Proceed</button>
+ </div>
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/>
+ </form>
+ </div>
+
+ <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">
+ <button type="submit" value="Abbrechen/Cancel" th:text="#{gui.residency.cancel}">Cancel</button>
+ <input type="hidden" name="stopAuthProcess" value="true">
+ <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}">
+ </form>
+
+ <div>
+ <img id="loading" src="../../webapp/img/ajax-loader.gif"
+ th:attr="src=@{/static/img/ajax-loader.gif}" style="display: none"/>
+ </div>
+
+ <div id="result">
+ <div>
+ <p><span id="textResult" style="display: none"></span></p>
+ </div>
+ <table id="tableResult" style="display: none">
+ <thead>
+ <tr>
+ <th th:text="#{gui.residency.input.postleitzahl}" style="text-align: right">Postcode</th>
+ <th th:text="#{gui.residency.input.municipality}">Municipality</th>
+ <th th:text="#{gui.residency.input.village}">Village</th>
+ <th th:text="#{gui.residency.input.street}">Street</th>
+ <th th:text="#{gui.residency.input.number}" style="text-align: right">Number</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ </tbody>
+ </table>
+ </div>
+
+</div>
+<footer>
+ <div class="copyright">&copy; BUNDESMINISTERIUM FÜR INNERES</div>
+ <div></div>
+</footer>
+</body>
+</html>