diff options
Diffstat (limited to 'basicConfig/templates')
| -rw-r--r-- | basicConfig/templates/countrySelection.html | 52 | ||||
| -rw-r--r-- | basicConfig/templates/countrySelection_example.html | 179 | ||||
| -rw-r--r-- | basicConfig/templates/eidas_node_forward.html | 2 | ||||
| -rw-r--r-- | basicConfig/templates/error_message.html | 12 | ||||
| -rw-r--r-- | basicConfig/templates/other_login_method.html | 118 | ||||
| -rw-r--r-- | basicConfig/templates/pvp2_post_binding.html | 4 | ||||
| -rw-r--r-- | basicConfig/templates/residency.html | 257 | 
7 files changed, 500 insertions, 124 deletions
| diff --git a/basicConfig/templates/countrySelection.html b/basicConfig/templates/countrySelection.html index 7fbc9464..bfa30669 100644 --- a/basicConfig/templates/countrySelection.html +++ b/basicConfig/templates/countrySelection.html @@ -2,11 +2,11 @@  <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}">       +      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="$contextPath/static/css/css_country.css" th:href="@{/static/css/css_country.css}"/> +  <link rel="stylesheet" href="../webcontent/css/css_country.css" th:href="@{/static/css/css_country.css}"/>    <title th:text="#{gui.countryselection.title}">eIDAS-Login Länderauswahl</title>  <script type="text/javascript">  </script> @@ -17,17 +17,17 @@ body {  	font-family:	"Helvetica Neue", Helvetica, Arial, sans-serif;  } -div.header {  +div.header {  	background-color: #e9ecef;  	padding-top: 28px;  	padding-left: 137px;  	padding-right: 137px;  	padding-bottom: 12px;  } -div.titlebar {  +div.titlebar {  	padding: 0px;  } -div.titlebar div {  +div.titlebar div {  }  .hidden {  	display: none; @@ -40,7 +40,7 @@ ul.nav_oben {  }  li {  	display: inline-block; -}	 +}  div.header a {  	text-decoration: none;  	color: black; @@ -55,7 +55,7 @@ a {  	padding-bottom: 20px;  }  @media only screen and (min-width: 1000px) { -	div.header {  +	div.header {  		padding-left: 137px;  		padding-right: 137px;  	} @@ -69,7 +69,7 @@ a {  	}  }  @media only screen and (max-width: 999px) { -	div.header {  +	div.header {  		padding-left: 1em;  		padding-right: 1em;  	} @@ -114,10 +114,10 @@ footer {  	font-size: 80%;  }  #countries { -	padding-bottom: 40px;  +	padding-bottom: 40px;  }  #country { -	padding-bottom: 20px;  +	padding-bottom: 20px;  }  input[type=submit] {  	width: inherit; @@ -131,7 +131,7 @@ form {  /* Element.closest polyfill - https://developer.mozilla.org/en-US/docs/Web/API/Element/closest License: public domain*/  if (!Element.prototype.matches) -    Element.prototype.matches = Element.prototype.msMatchesSelector ||  +    Element.prototype.matches = Element.prototype.msMatchesSelector ||                                  Element.prototype.webkitMatchesSelector;  if (!Element.prototype.closest) @@ -141,7 +141,7 @@ if (!Element.prototype.closest)          do {              if (el.matches(s)) return el;              el = el.parentElement || el.parentNode; -        } while (el !== null && el.nodeType === 1);  +        } while (el !== null && el.nodeType === 1);          return null;      }; @@ -149,7 +149,7 @@ if (!Element.prototype.closest)  function clickCountryFlag(element) {  	if (!element) return false; -	var form = element.closest("form");  +	var form = element.closest("form");  	if (!form) return false; @@ -188,43 +188,43 @@ function clickCountryFlag(element) {      <h1 th:text="#{gui.countryselection.header.selection}"> Wählen Sie Ihr Land / Select your country </h1>      <div id="country"> -    <!-- Active countries -->             +    <!-- Active countries -->              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">                  <a><img class="countryimage" src="$contextPath/img/countries/germany-eu_.png" alt="Germany-eID"                          th:attr="src=@{/img/countries/germany-eu_.png},alt=#{gui.countryselection.country.de.logo.alt}"/></a>                  <input type="submit" role="button" value="Deutschland / Germany" th:attr="value=#{gui.countryselection.country.de}" /> -                <input type="hidden" name="selectedCountry" value="XX">               -                <input  type="hidden" name="pendingid"  value="$pendingid" th:attr="value=${pendingid}" />                 +                <input type="hidden" name="selectedCountry" value="XX"> +                <input  type="hidden" name="pendingid"  value="$pendingid" th:attr="value=${pendingid}" />              </form> -                                                +      </div>      <!-- Abbrechen Button --> -    <form   class="block" method="post"  action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">  -      <input  type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel" th:attr="value=#{gui.countryselection.cancle}">                                     +    <form   class="block" method="post"  action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +      <input  type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel" th:attr="value=#{gui.countryselection.cancel}">        <input  type="hidden" name="stopAuthProcess" value="true" >        <input  type="hidden" name="pendingid"  value="$pendingid" th:attr="value=${pendingid}">      </form> -    <p th:text="#{gui.countryselection.notsupportedinfo}" >Wenn Sie Ihr Land in dieser Aufzählung nicht entdecken ... </p>  -    +    <p th:text="#{gui.countryselection.notsupportedinfo}" >Wenn Sie Ihr Land in dieser Aufzählung nicht entdecken ... </p> +  <h2 th:text="#{gui.countryselection.infos.general.header}" > Information zur Anmeldung über Europäische eIDs </h2>  <p> -  <span th:text="#{gui.countryselection.infos.general.part.1}"> first part </span>         -  <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.header1}" > Bundesministerium für Inneres </a>  +  <span th:text="#{gui.countryselection.infos.general.part.1}"> first part </span> +  <a href="https://www.bmi.gv.at/" target="_blank" th:text="#{gui.countryselection.header1}" > Bundesministerium für Inneres </a>    <span th:text="#{gui.countryselection.infos.general.part.2}"> second part </span>  </p> -                                                                                                                +  <p>    <span th:text="#{gui.countryselection.infos.general.part.3}"> third part </span> -  <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32014R0910&from=DE" target="_blank" th:text="#{gui.countryselection.infos.general.link.1}"> eIDAS-Verordnung der Europäischen Union </a>   +  <a href="https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32014R0910&from=DE" target="_blank" th:text="#{gui.countryselection.infos.general.link.1}"> eIDAS-Verordnung der Europäischen Union </a>    <span th:text="#{gui.countryselection.infos.general.part.4}"> fourth part </span>  </p>  <p    <span th:text="#{gui.countryselection.infos.general.part.5}"> fived part </span>    <a href="https://www.dsb.gv.at/-/das-erganzungsregister-fur-naturliche-personen-ernp-" target="_blank" th:text="#{gui.countryselection.infos.general.link.2}" ></a> -  <span th:text="#{gui.countryselection.infos.general.part.6}"> sixed part </span>   +  <span th:text="#{gui.countryselection.infos.general.part.6}"> sixed part </span>  </p>    </div> diff --git a/basicConfig/templates/countrySelection_example.html b/basicConfig/templates/countrySelection_example.html index 3b7c2d50..abbe0491 100644 --- a/basicConfig/templates/countrySelection_example.html +++ b/basicConfig/templates/countrySelection_example.html @@ -3,12 +3,12 @@        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="$contextPath/static/css/css_country.css" th:href="@{/static/css/css_country.css}"/> -  <script type="text/javascript" src="$contextPath/static/js/js_country.js" th:attr="src=@{/static/js/js_country.js}"></script>   +  <link rel="stylesheet" href="../webcontent/css/css_country.css" th:href="@{/static/css/css_country.css}"/> +  <script type="text/javascript" src="../webcontent/js/js_country.js" th:attr="src=@{/static/js/js_country.js}"></script>    <title th:text="#{gui.countryselection.title}">eIDAS-Login Länderauswahl</title>  </head> @@ -17,194 +17,195 @@        <div class="languageselection" th:include="language_selection :: selectlanguage">            LanguageSelectionBlock        </div> -     +          <h2 th:text="#{gui.countryselection.header.selection}"> Select your country </h2>          <div id="country"> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/germany-eu_.png" alt="Germany-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/germany-eu_.png" alt="Germany-eID"                          th:attr="src=@{/img/countries/germany-eu_.png},alt=#{gui.countryselection.country.de.logo.alt}"/></a>                  <input type="submit" role="button" value="Deutschland / Germany" th:attr="value=#{gui.countryselection.country.de}" /> -                <input type="hidden" name="selectedCountry" value="DE">               +                <input type="hidden" name="selectedCountry" value="DE">                  <input  type="hidden" name="pendingid"  value="$pendingid" th:attr="value=${pendingid}" /> -                <select id="testEnvironment" name="selectedEnvironment">  -                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>  +                <select id="testEnvironment" name="selectedEnvironment"> +                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>                         <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>                         <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>                         <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>                  </select>              </form> -                        +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Belgium-EU_gray.png" alt="Belgium-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Belgium-EU_gray.png" alt="Belgium-eID"                          th:attr="src=@{img/countries/Belgium-EU_gray.png},alt=#{gui.countryselection.country.be.logo.alt}"/></a> -                <input type="submit" value="Belgium" th:attr="value=#{gui.countryselection.country.be}">  +                <input type="submit" value="Belgium" th:attr="value=#{gui.countryselection.country.be}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Bulgaria-EU_gray.png" alt="Bulgaria-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Bulgaria-EU_gray.png" alt="Bulgaria-eID"                          th:attr="src=@{/img/countries/Bulgaria-EU_gray.png},alt=#{gui.countryselection.country.bg.logo.alt}"/></a> -                <input type="submit" value="Bulgaria" th:attr="value=#{gui.countryselection.country.bg}" disabled>  +                <input type="submit" value="Bulgaria" th:attr="value=#{gui.countryselection.country.bg}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Croatia-EU_gray.png" alt="Croatia-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Croatia-EU_gray.png" alt="Croatia-eID"                          th:attr="src=@{/img/countries/Croatia-EU_gray.png},alt=#{gui.countryselection.country.hr.logo.alt}"/></a> -                <input type="submit" value="Croatia" th:attr="value=#{gui.countryselection.country.hr}">  +                <input type="submit" value="Croatia" th:attr="value=#{gui.countryselection.country.hr}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Cyprus-EU_gray.png" alt="Cyprus-eID" -                        th:attr="src=@{/img/countries/Cyprus-EU_gray.png},alt=#{gui.countryselection.country.cy.logo.alt}"/></a>  -                <input type="submit" value="Cyprus" th:attr="value=#{gui.countryselection.country.cy}" disabled>  +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Cyprus-EU_gray.png" alt="Cyprus-eID" +                        th:attr="src=@{/img/countries/Cyprus-EU_gray.png},alt=#{gui.countryselection.country.cy.logo.alt}"/></a> +                <input type="submit" value="Cyprus" th:attr="value=#{gui.countryselection.country.cy}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/CzechRepublic-EU_gray.png" alt="CzechRepublic-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/CzechRepublic-EU_gray.png" alt="CzechRepublic-eID"                          th:attr="src=@{/img/countries/CzechRepublic-EU_gray.png},alt=#{gui.countryselection.country.cz.logo.alt}"/></a> -                <input type="submit" value="CzechRepublic" th:attr="value=#{gui.countryselection.country.cz}">  +                <input type="submit" value="CzechRepublic" th:attr="value=#{gui.countryselection.country.cz}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Denmark-EU_gray.png" alt="Denmark-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Denmark-EU_gray.png" alt="Denmark-eID"                          th:attr="src=@{/img/countries/Denmark-EU_gray.png},alt=#{gui.countryselection.country.dk.logo.alt}"/></a> -                <input type="submit" value="Denmark" th:attr="value=#{gui.countryselection.country.dk}" disabled>     +                <input type="submit" value="Denmark" th:attr="value=#{gui.countryselection.country.dk}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Estonia-EU_gray.png" alt="Estonia-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Estonia-EU_gray.png" alt="Estonia-eID"                          th:attr="src=@{/img/countries/Estonia-EU_gray.png},alt=#{gui.countryselection.country.ee.logo.alt}"/></a>                  <input type="submit" value="Estonia" th:attr="value=#{gui.countryselection.country.ee}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Finland-EU_gray.png" alt="Finland-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Finland-EU_gray.png" alt="Finland-eID"                          th:attr="src=@{/img/countries/Finland-EU_gray.png},alt=#{gui.countryselection.country.fi.logo.alt}"/></a>                  <input type="submit" value="Finland" th:attr="value=#{gui.countryselection.country.fi}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/France-EU_gray.png" alt="France-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/France-EU_gray.png" alt="France-eID"                          th:attr="src=@{/img/countries/France-EU_gray.png},alt=#{gui.countryselection.country.fr.logo.alt}"/></a>                  <input type="submit" value="France" th:attr="value=#{gui.countryselection.country.fr}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Greece-EU_gray.png" alt="Greece-eID" -                        th:attr="src=@{/img/countries/Greece-EU_gray.png},alt=#{gui.countryselection.country.gr.logo.alt}"/></a>  -                <input type="submit" value="Greece" th:attr="value=#{gui.countryselection.country.gr}" disabled>     +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Greece-EU_gray.png" alt="Greece-eID" +                        th:attr="src=@{/img/countries/Greece-EU_gray.png},alt=#{gui.countryselection.country.gr.logo.alt}"/></a> +                <input type="submit" value="Greece" th:attr="value=#{gui.countryselection.country.gr}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Hungary-EU_gray.png" alt="Hungary-eID" -                        th:attr="src=@{/img/countries/Hungary-EU_gray.png},alt=#{gui.countryselection.country.hu.logo.alt}"/></a>  +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Hungary-EU_gray.png" alt="Hungary-eID" +                        th:attr="src=@{/img/countries/Hungary-EU_gray.png},alt=#{gui.countryselection.country.hu.logo.alt}"/></a>                  <input type="submit" value="Hungary" th:attr="value=#{gui.countryselection.country.hu}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Ireland-EU_gray.png" alt="Ireland-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Ireland-EU_gray.png" alt="Ireland-eID"                          th:attr="src=@{/img/countries/Ireland-EU_gray.png},alt=#{gui.countryselection.country.ir.logo.alt}"/></a>                  <input type="submit" value="Ireland" th:attr="value=#{gui.countryselection.country.ir}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Italy-EU_gray.png" alt="Italy-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Italy-EU_gray.png" alt="Italy-eID"                          th:attr="src=@{/img/countries/Italy-EU_gray.png},alt=#{gui.countryselection.country.it.logo.alt}"/></a>                  <input type="submit" value="Italy" th:attr="value=#{gui.countryselection.country.it}"> -                <select id="testEnvironment" name="selectedEnvironment">  -                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>  +                <select id="testEnvironment" name="selectedEnvironment"> +                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>                         <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>                         <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>                         <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>                  </select>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Latvia-EU_gray.png" alt="Latvia-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Latvia-EU_gray.png" alt="Latvia-eID"                          th:attr="src=@{/img/countries/Latvia-EU_gray.png},alt=#{gui.countryselection.country.lv.logo.alt}"/></a> -                <input type="submit" value="Latvia" th:attr="value=#{gui.countryselection.country.lv}" disabled>    +                <input type="submit" value="Latvia" th:attr="value=#{gui.countryselection.country.lv}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Luxembourg-EU_gray.png" alt="Luxembourg-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Luxembourg-EU_gray.png" alt="Luxembourg-eID"                          th:attr="src=@{/img/countries/Luxembourg-EU_gray.png},alt=#{gui.countryselection.country.lu.logo.alt}"/></a>                  <input type="submit" value="Luxembourg" th:attr="value=#{gui.countryselection.country.lu}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Malta-EU_gray.png" alt="Malta-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Malta-EU_gray.png" alt="Malta-eID"                          th:attr="src=@{/img/countries/Malta-EU_gray.png},alt=#{gui.countryselection.country.mt.logo.alt}"/></a>                  <input type="submit" value="Malta" th:attr="value=#{gui.countryselection.country.mt}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Poland-EU_gray.png" alt="Poland-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Poland-EU_gray.png" alt="Poland-eID"                          th:attr="src=@{/img/countries/Poland-EU_gray.png},alt=#{gui.countryselection.country.pl.logo.alt}"/></a>                  <input type="submit" value="Poland" th:attr="value=#{gui.countryselection.country.pl}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Portugal-EU_gray.png" alt="Portugal-eID" -                        th:attr="src=@{/img/countries/Portugal-EU_gray.png},alt=#{gui.countryselection.country.pt.logo.alt}"/></a>  -                <input type="submit" value="Portugal" th:attr="value=#{gui.countryselection.country.pt}">    +                <a><img class="countryimage" src="../webcontent/img/countries/Portugal-EU_gray.png" alt="Portugal-eID" +                        th:attr="src=@{/img/countries/Portugal-EU_gray.png},alt=#{gui.countryselection.country.pt.logo.alt}"/></a> +                <input type="submit" value="Portugal" th:attr="value=#{gui.countryselection.country.pt}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Romania-EU_gray.png" alt="Romania-eID" -                        th:attr="src=@{/img/countries/Romania-EU_gray.png},alt=#{gui.countryselection.country.ro.logo.alt}"/></a>  -                <input type="submit" value="Romania" th:attr="value=#{gui.countryselection.country.ro}" disabled>    +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Romania-EU_gray.png" alt="Romania-eID" +                        th:attr="src=@{/img/countries/Romania-EU_gray.png},alt=#{gui.countryselection.country.ro.logo.alt}"/></a> +                <input type="submit" value="Romania" th:attr="value=#{gui.countryselection.country.ro}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Slovakia-EU_gray.png" alt="Slovakia-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Slovakia-EU_gray.png" alt="Slovakia-eID"                          th:attr="src=@{/img/countries/Slovakia-EU_gray.png},alt=#{gui.countryselection.country.sk.logo.alt}"/></a> -                <input type="submit" value="Slovakia" th:attr="value=#{gui.countryselection.country.sk}" disabled>    +                <input type="submit" value="Slovakia" th:attr="value=#{gui.countryselection.country.sk}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Slovenia-EU_gray.png" alt="Slovenia-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Slovenia-EU_gray.png" alt="Slovenia-eID"                          th:attr="src=@{/img/countries/Slovenia-EU_gray.png},alt=#{gui.countryselection.country.si.logo.alt}"/></a> -                <input type="submit" value="Slovenia" th:attr="value=#{gui.countryselection.country.si}">    +                <input type="submit" value="Slovenia" th:attr="value=#{gui.countryselection.country.si}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/Spain-EU_gray.png" alt="Spain-eID" +                <a><img class="countryimage" src="../webcontent/img/countries/Spain-EU_gray.png" alt="Spain-eID"                          th:attr="src=@{/img/countries/Spain-EU_gray.png},alt=#{gui.countryselection.country.es.logo.alt}"/></a> -                <input type="submit" value="Spain" th:attr="value=#{gui.countryselection.country.es}">    -                <select id="testEnvironment" name="selectedEnvironment">  -                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>  +                <input type="submit" value="Spain" th:attr="value=#{gui.countryselection.country.es}"> +                <select id="testEnvironment" name="selectedEnvironment"> +                       <option value="prod" th:text="#{gui.countryselection.mode.prod}">Production</option>                         <option value="qs" th:text="#{gui.countryselection.mode.qs}">QS</option>                         <option value="test" th:text="#{gui.countryselection.mode.test}">Testing</option>                         <option value="dev" th:text="#{gui.countryselection.mode.dev}">Development</option>                  </select>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/Sweden-EU_gray.png" alt="Sweden-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/Sweden-EU_gray.png" alt="Sweden-eID"                          th:attr="src=@{/img/countries/Sweden-EU_gray.png},alt=#{gui.countryselection.country.se.logo.alt}"/></a> -                <input type="submit" value="Sweden" th:attr="value=#{gui.countryselection.country.se}" disabled>    +                <input type="submit" value="Sweden" th:attr="value=#{gui.countryselection.country.se}" disabled>              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img class="countryimage" src="$contextPath/img/countries/TheNetherlands-EU_gray.jpg" alt="TheNetherlands-eID" -                        th:attr="src=@{/img/countries/TheNetherlands-EU_gray.jpg},alt=#{gui.countryselection.country.nl.logo.alt}"/></a>  -                <input type="submit" value="Netherlands" th:attr="value=#{gui.countryselection.country.nl}">    +                <a><img class="countryimage" src="../webcontent/img/countries/TheNetherlands-EU_gray.png" +                        alt="TheNetherlands-eID" +                        th:attr="src=@{/img/countries/TheNetherlands-EU_gray.png},alt=#{gui.countryselection.country.nl.logo.alt}"/></a> +                <input type="submit" value="Netherlands" th:attr="value=#{gui.countryselection.country.nl}">              </form> -             +              <form class="block" method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> -                <a><img disabled class="countryimage" src="$contextPath/img/countries/UnitedKingdom-EU_gray.png" alt="UnitedKingdom-eID" +                <a><img disabled class="countryimage" src="../webcontent/img/countries/UnitedKingdom-EU_gray.png" alt="UnitedKingdom-eID"                          th:attr="src=@{/img/countries/UnitedKingdom-EU_gray.png},alt=#{gui.countryselection.country.uk.logo.alt}"/></a>                  <input type="submit" value="United Kingdom" th:attr="value=#{gui.countryselection.country.uk}" disabled>              </form> -             +          </div> -         -        <form   class="block" method="post"  action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}">  -          <input  type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel" th:attr="value=#{gui.countryselection.cancle}">                                     + +        <form   class="block" method="post"  action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +          <input  type="submit" class="btn btn-outline-primary btn-block" value="Abbrechen/Cancel" th:attr="value=#{gui.countryselection.cancel}">            <input  type="hidden" name="stopAuthProcess" value="true" >            <input  type="hidden" name="pendingid"  value="$pendingid" th:attr="value=${pendingid}">          </form> -         +      </div>  </body>  </html> diff --git a/basicConfig/templates/eidas_node_forward.html b/basicConfig/templates/eidas_node_forward.html index 186937d7..6dffa34b 100644 --- a/basicConfig/templates/eidas_node_forward.html +++ b/basicConfig/templates/eidas_node_forward.html @@ -4,7 +4,7 @@        layout:decorator="fragments/base"        th:with="lang=${#locale.language}" th:lang="${lang}">  <head> -  <script src="$contextPath/autocommit.js" +  <script src="../webcontent/autocommit.js"            th:attr="src=@{/autocommit.js}"></script>  </head>  <body> diff --git a/basicConfig/templates/error_message.html b/basicConfig/templates/error_message.html index b1367962..f69d7255 100644 --- a/basicConfig/templates/error_message.html +++ b/basicConfig/templates/error_message.html @@ -3,10 +3,10 @@        xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"        layout:decorator="fragments/base"        th:with="lang=${#locale.language}" th:lang="${lang}"> -       +    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> -  <link rel="stylesheet" href="$contextPath/css/css_error.css"  th:href="@{/css/css_error.css}" /> -   +  <link rel="stylesheet" href="../webcontent/css/css_error.css"  th:href="@{/css/css_error.css}" /> +    <title th:text="#{gui.errorpage.msg.title}">An error arise ...  </title>  </head> @@ -14,10 +14,10 @@    <div id="page">        <div id="page1" class="case selected-case" role="main">        <h2 class="OA_header" role="heading">Authentication error arise</h2> -       +        <div class="hell" role="application" >              <h2 class="OA_header" role="heading" th:text="#{gui.errorpage.msg.title}">Error Header</h2> -             +                <div id="alert_area" class="hell" role="application" >                  <p th:text="#{gui.errorpage.msg.information}">Error Information</p>                  <br/> @@ -25,7 +25,7 @@                  <p><b th:text="#{gui.errorpage.msg.errormsg}">Msg   :</b > <span th:text="${#messages.msgWithParams('__${errorCode}__', '__${errorParams}__')}"></span></p>                </div>        </div> -             +  		</div>  	</div>  </body> diff --git a/basicConfig/templates/other_login_method.html b/basicConfig/templates/other_login_method.html new file mode 100644 index 00000000..4fc061c0 --- /dev/null +++ b/basicConfig/templates/other_login_method.html @@ -0,0 +1,118 @@ +<!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="../webcontent/css/css_country.css" th:href="@{/static/css/css_country.css}"/> +    <title th:text="#{gui.otherlogin.title}">eIDAS-Login Other Login Methods</title> +    <style> +        .block { +            width: 100%; +        } +        button { +            padding: 0.5em; +            margin: 0.5em; +            width: 20em; +        } +    </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> +                +            <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> + +	<div id="matchingError" +			  th:if="${advancedMatchingFailed != null} and ${advancedMatchingFailed}"> +		<p  th:if="${advancedMatchingFailedReason != null}" +			th:text="#{${advancedMatchingFailedReason}}">Detailed</p> +		<p  th:unless="${advancedMatchingFailedReason != null}" +			th:text="#{module.eidasauth.matching.29}">Generell</p> +					   +			   +			   +    </div> + + +    <h1 th:text="#{gui.otherlogin.header.selection}"> Select an alternative login method </h1> + +    <div id="otherlogin" class="block"> +        <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +            <button type="submit" role="button" value="Handy-Signatur / Mobile Signature" +                    th:text="#{gui.otherlogin.button.hs}">A +            </button> +            <input type="hidden" name="loginSelection" value="MOBILE_PHONE_SIGNATURE_LOGIN"> +            <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/> +        </form> +        <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +            <button type="submit" role="button" value="Andere eIDAS ID"  +                    th:text="#{gui.otherlogin.button.eidas}">B +            </button> +            <input type="hidden" name="loginSelection" value="EIDAS_LOGIN"> +            <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/> +        </form> +        <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +            <button type="submit" role="button" value="Keine weitere HS / eIDAS"  +            	    th:text="#{gui.otherlogin.button.none}">C +            </button> +            <input type="hidden" name="loginSelection" value="NO_OTHER_LOGIN"> +            <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/> +        </form> +         +		<div id="insertErnp" +			  th:if="${advancedMatchingFailed != null} and ${advancedMatchingFailed}"> +			 +			<p th:text="#{gui.otherlogin.inserternp.infotext}"></p> +			 +        	<form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +            	<button type="submit" role="button" value="Keine weitere HS / eIDAS"  +            		    th:text="#{gui.otherlogin.button.inserternp}">D +            	</button> +            	<input type="hidden" name="loginSelection" value="ADD_ME_AS_NEW"> +            	<input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"/> +        	</form> +        </div> +         +    </div> + +    <!-- Abbrechen Button --> +    <form method="post" action="$contextPath$submitEndpoint" th:attr="action=@{${submitEndpoint}}"> +        <button type="submit" value="Abbrechen/Cancel" th:text="#{gui.otherlogin.cancel}"></button> +        <input type="hidden" name="stopAuthProcess" value="true"> +        <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"> +    </form> + +</div> +<footer> +    <div class="copyright">© BUNDESMINISTERIUM FÜR INNERES</div> +    <div></div> +</footer> +</body> +</html> diff --git a/basicConfig/templates/pvp2_post_binding.html b/basicConfig/templates/pvp2_post_binding.html index 90858237..06b9b494 100644 --- a/basicConfig/templates/pvp2_post_binding.html +++ b/basicConfig/templates/pvp2_post_binding.html @@ -6,7 +6,7 @@  <!DOCTYPE html>  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">  <head> -  <script src="$contextPath/autocommit.js"></script> +  <script src="/autocommit.js"></script>  </head>  <body>  	<noscript> @@ -21,7 +21,7 @@  	<form action="${action}" method="post" target="_parent">  		<div> -			#if($RelayState)   <input type="hidden" name="RelayState" value="${RelayState}"/>     #end  +			#if($RelayState)   <input type="hidden" name="RelayState" value="${RelayState}"/>     #end  			#if($SAMLRequest)  <input type="hidden" name="SAMLRequest" value="${SAMLRequest}" />  #end  			#if($SAMLResponse) <input type="hidden" name="SAMLResponse" value="${SAMLResponse}" /> #end  		</div> diff --git a/basicConfig/templates/residency.html b/basicConfig/templates/residency.html new file mode 100644 index 00000000..df3c10b7 --- /dev/null +++ b/basicConfig/templates/residency.html @@ -0,0 +1,257 @@ +<!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="../webcontent/css/css_country.css" th:href="@{/static/css/css_country.css}"/> +    <script type="text/javascript" src="../webcontent/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> +                +            <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="Back" th:text="#{gui.residency.back}">Back</button> +        <input type="hidden" name="noResidence" value="true"> +        <input type="hidden" name="pendingid" value="$pendingid" th:attr="value=${pendingid}"> +    </form> + +    <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="../webcontent/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">© BUNDESMINISTERIUM FÜR INNERES</div> +    <div></div> +</footer> +</body> +</html> | 
