Sonderöffnungszeiten des Wahlbüros für die Briefwahl vor Ort:
Freitag,
Samstag,
Montag, 10.02.2025 07.30 Uhr bis 18.00 Uhr
Ab Dienstag, 11. Februar, gelten dann für das Wahlbüro die allgemeinen Öffnungszeiten der Stadt Meckenheim.
Im Wahlbüro kann nicht nur die Briefwahl beantragt, sondern auch direkt dort gewählt werden.
Fehler bei der Verarbeitung der Vorlage.
Can't convert this string to number: "" The blamed expression: ==> einrichtung.anschrift.geokodierung.latitude?number [in template "33453#33488#47935" at line 650, column 44] ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign lat = einrichtung.anschrift.g... [in template "33453#33488#47935" at line 650, column 29] ----
1<#assign
2aui = PortletJspTagLibs["/META-INF/liferay-aui.tld"]
3liferay_portlet = PortletJspTagLibs["/META-INF/liferay-portlet-ext.tld"]
4liferay_security = PortletJspTagLibs["/META-INF/liferay-security.tld"]
5liferay_theme = PortletJspTagLibs["/META-INF/liferay-theme.tld"]
6liferay_ui = PortletJspTagLibs["/META-INF/liferay-ui.tld"]
7liferay_util = PortletJspTagLibs["/META-INF/liferay-util.tld"]
8portlet = PortletJspTagLibs["/META-INF/liferay-portlet.tld"]
9/>
10
11<@liferay_theme["defineObjects"]/>
12<@portlet["defineObjects"]/>
13
14<#assign
15bis2017 = vr.bis2017
16utils = vr.utils2017
17ansicht = utils.ansicht
18current_url_WithHtml = themeDisplay.getPortalURL()
19current_uri_WithHtml = themeDisplay.getURLCurrent()
20currentURL = current_url_WithHtml + current_uri_WithHtml
21login_url= getterUtil.getString(themeDisplay.getThemeSetting("Login-URI"))
22
23login_url1_WithHtml = 'href="'+login_url+'?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='
24login_url2_WithHtml = '" rel="nofollow" data-redirect="true"'
25login_url_WithHtml = login_url1_WithHtml + current_url_WithHtml + current_uri_WithHtml + login_url2_WithHtml
26
27header_type = getterUtil.getString(themeDisplay.getThemeSetting("header-type"))
28hasLongHeader = header_type == 'long'
29vr_details_card_padding = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-card-padding"))
30
31showTags = getterUtil.getBoolean(themeDisplay.getThemeSetting("01-show-tags"))
32
33showCollapse = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-collapse"))
34collapseIcon = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-left-collapse-icon"))
35collapseOnlineServcieIcon = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-left-collapse-online-services-icon"))
36
37IconBeforeOnlineServices = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-left-online-services-icon"))
38downloadsIcon = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-left-downloads-icon"))
39linksAsButton = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-right-online-services-as-button"))
40showLines = !showCollapse
41
42showEmployeesCollapse = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-employees-collapse"))
43showEmployeesCollapseAs = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-employees-collapse-as"))
44employeesCollapseIcon = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-employees-collapse-icon"))
45
46showEmployeeMap = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-employee-map"))
47showFacilityMap = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-facility-map"))
48
49showOnlineServicesInMainContent = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-left-online-services-show"))
50
51showOnlineServicesInMobilePosition = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-online-services-in-mobile"))
52
53plid = themeDisplay.getPlid()
54createAccountURL = portletURLFactory.create(renderRequest,"com_liferay_login_web_portlet_LoginPortlet", plid,"RENDER_PHASE")
55
56vsmGebietID = getterUtil.getString(themeDisplay.getThemeSetting("vsm-gebiet-id"))
57
58formularWithLogin = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-formular-with-login"))
59showDLIcons = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-icon-legend"))
60showDLPersoLogo = false
61showDLMoneyIcon = false
62showDLLockIcon = false
63
64showEinrichtungAnschriftName = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-einrichtung-anschrift-name"))
65showEinrichtungAnschriftNameAlt= getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-einrichtung-anschrift-name-alt"))
66
67eIDLoginURLLevel3 = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-eid-login-url-level3"))
68eIDLoginURLLevel4 = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-eid-login-url-level4"))
69
70barrierefreiheitserklaerung_kartenerklarung = getterUtil.getString(themeDisplay.getThemeSetting("barrierefreiheitserklaerung-kartenerklarung"))
71barrierefreiheitserklaerung_url = getterUtil.getString(themeDisplay.getThemeSetting("barrierefreiheitserklaerung-url"))
72
73loginForAllExtensions = getterUtil.getBoolean(themeDisplay.getThemeSetting("login-for-all-extensions"))
74
75downloadCollapse = getterUtil.getBoolean(themeDisplay.getThemeSetting("03-vr-details-show-documents-collapse"))
76downloadCollapseIcon = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-documents-collapse-icon"))
77downloadCollapseShowAs = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-show-documents-collapse-as"))
78
79dienstleistungShow = "vr-bis-detail-dienstleistung-show"
80einrichtungShow = "vr-bis-detail-einrichtung-show"
81mitarbeiterShow = "vr-bis-detail-mitarbeiter-show"
82/>
83
84${createAccountURL.setParameter("mvcRenderCommandName", "/login/create_account")}
85${createAccountURL.setParameter("p_p_state", "maximized")}
86${createAccountURL.setParameter("p_p_mode", "view")}
87
88
89<#if hasLongHeader>
90 <#assign showLeftInCard = true/>
91<#else>
92 <#assign showLeftInCard = !vr_details_card_padding?? && vr_details_card_padding != 0 && vr_details_card_padding != '0' />
93</#if>
94
95
96
97<@portletSearch />
98<#if bis2017.ausgewaehlteDienstleistung??>
99<#-- Dienstleistungen -->
100 <#assign
101 dienstleistung = bis2017.ausgewaehlteDienstleistung
102 textmodul = dienstleistung.textmodul
103 />
104
105 <div class="row">
106 <div class="col-12 col-sm-12 col-md-8 px-4 pl-lg-3">
107 <div class="mdl--page__default__01 vr-details-left">
108 <#if showLeftInCard>
109 <div class="card">
110 </#if>
111 <div class="service-detail-header">
112 <div class="sideHeadline" id="seitentitel">
113 <h1 class="m-0">${dienstleistung.name}</h1>
114 </div>
115 <#if showTags >
116 <#list dienstleistung.tags as t>
117 <span class="badge badge-bot-primary">${t.name}</span>
118 </#list>
119 </#if>
120
121 <#if existsAndHasContent1(textmodul.kurztext.inhalt!'')>
122 <h2 class="sr-only">${getLabelName4(dienstleistung, 'adt.label.dienstleistung.kurztext','Kurzbeschreibung')}</h2>
123 ${textmodul.kurztext.inhalt}
124 </#if>
125 </div>
126 <#if showOnlineServicesInMobilePosition == "top" || showOnlineServicesInMobilePosition == "both">
127 <div class="d-block d-md-none w-100">
128 <div class="vr-details-right" style="padding: 0 !important;">
129 <#if existsAndSizeGTZero(dienstleistung.extensions) || existsAndSizeGTZero(dienstleistung.formulare) || (dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content) || existsAndSizeGTZero(dienstleistung.internetadressen)>
130 <div class="card" id="Onlinedienstleistungen-top" style="padding: 0 !important;">
131 <div class="card-header" style="padding-left: 0 !important; padding-right: 0 !important;">
132 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.onlinedienstleistung','Onlinedienstleistungen')}</h2>
133 </div>
134 <div class="card-body" style="padding-left: 0 !important; padding-right: 0 !important;">
135 <#assign idTopLink ="onlineservicesMid" />
136 <#assign idBottomLink = "onlineservicesIconsMid" />
137 <#assign linkCss = "" />
138 <#assign linkClass = "onlineservices-link"/>
139 <#if linksAsButton>
140 <#assign linkClass = linkClass + " btn btn-secondary w-100 text-left text-break"/>
141 </#if>
142
143 <#assign lockIcon = '<svg role="img" aria-label="Schlossicon. Für diese Dienstleistung ist ein Login erforderlich" style="height:15px !Important" class="" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-lock-fill" viewBox="0 0 16 16"><path d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z"/></svg>' />
144 <#assign moneyIcon = '<svg role="img" aria-label="Geldicon. Diese Dienstleitung ist kostenpflichtig" style="height:15px !Important" width="16" height="16" fill="currentColor" class="bi bi-credit-card" viewBox="0 0 16 16"><path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z"/><path d="M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z"/></svg>' />
145 <#assign persoIcon = ''/>
146 <#assign beforeLinkTitle = ""/>
147
148 <#assign dlNeedsLogin = 'Diese Dienstleistung erfordert eine Anmeldung.'/>
149 <#assign dlNeedsEidLogin = 'Anmeldung mit elektronischen Personalausweis erforderlich.'/>
150 <#assign dlHasCosts = 'Diese Dienstleitung ist kostenpflichtig.'/>
151 <#assign dlAndHasCosts = 'und ist kostenpflichtig'/>
152
153
154 <#assign internetAdressen = false/>
155
156 <@onlineServices147 idTopLink, idBottomLink, dienstleistung, linkCss, linkClass, beforeLinkTitle, lockIcon, persoIcon, moneyIcon, dlNeedsLogin, dlNeedsEidLogin, dlHasCosts, dlAndHasCosts, internetAdressen />
157
158 <#assign iconLegendLockInfo = "Anmeldung erforderlich"/>
159 <#assign iconLegendMoneyInfo = "Kostenpflichtig"/>
160 <#assign iconLegendPersoInfo = "Anmeldung mit elektronischen Personalausweis erforderlich"/>
161 <#assign persoIcon = "#createPersoIcon13('persoLogoHeader')"/>
162
163 <@iconLegendList10 idTopLink, idTopLink, "black", persoIcon, iconLegendPersoInfo, lockIcon, iconLegendLockInfo, moneyIcon, iconLegendMoneyInfo />
164 </div>
165 </div>
166 </#if>
167 </div>
168 </div>
169 </#if>
170 <div class="el-textmodul">
171
172 <#if existsAndHasContent1(textmodul.volltext.inhalt!'')>
173 <h2 class="sr-only">${getLabelName4(dienstleistung, 'adt.label.dienstleistung.volltext','Beschreibung')}</h2>
174 ${textmodul.volltext.inhalt}
175 </#if>
176
177 ${renderTextmodul12(textmodul.rechtsgrundlagen,"adt.label.dienstleistung.rechtsgrundlagen","Rechtsgrundlagen")}
178 ${renderTextmodul12(textmodul.erforderlicheUnterlagen,"adt.label.dienstleistung.unterlagen","Erforderliche Unterlagen")}
179
180 <#if existsAndHasContent1(dienstleistung.amtFachbereich!'')>
181 <#if showCollapse>
182 ${collapseBefore20(getLabelName4(dienstleistung, 'adt.label.dienstleistung.amtfachbereich','Amt/Fachbereich'),collapseIcon, 'amtfachbereich')}
183 </#if>
184 ${content_item3(getLabelName4(dienstleistung, 'adt.label.dienstleistung.amtfachbereich','Amt/Fachbereich'),dienstleistung.amtFachbereich, showLines)}
185 <#if showCollapse>
186 ${collapseAfter()}
187 </#if>
188 </#if>
189
190 ${renderTextmodul12(textmodul.fristen,"adt.label.dienstleistung.fristen","Fristen")}
191
192 ${renderTextmodul12(textmodul.bearbeitungsdauer,"adt.label.dienstleistung.bearbeitungsdauer","Bearbeitungsdauer")}
193
194 ${renderTextmodul12(textmodul.weiterfuehrendeInformationen,"adt.label.dienstleistung.weitereinfos","Weitere Informationen")}
195
196 ${renderTextmodul12(textmodul.hinweiseBesonderheiten,"adt.label.dienstleistung.hinweiseBesonderheiten","Hinweise und Besonderheiten")}
197
198 ${renderTextmodul12(textmodul.voraussetzungen,"adt.label.dienstleistung.voraussetzungen","Voraussetzungen")}
199
200 ${renderTextmodul12(textmodul.verfahrensablauf,"adt.label.dienstleistung.verfahrensablauf","Verfahrensablauf")}
201
202 ${renderTextmodul12(textmodul.rechtsbehelf,"adt.label.dienstleistung.rechtsbehelf","Rechtsbehelf")}
203
204 ${renderTextmodul12(textmodul.zusatzAnWenWenden,"adt.label.dienstleistung.zusatzAnWenWenden","An wen wenden")}
205
206 ${renderTextmodul12(textmodul.zusatzAntraegeFormulare,"adt.label.dienstleistung.zusatzAntraegeFormulare","Anträge/Formulare")}
207
208 ${renderTextmodul12(textmodul.zusatzFreigegebenDurch,"adt.label.dienstleistung.zusatzFreigegebenDurch","Freigegeben durch")}
209
210 ${renderTextmodul12(textmodul.zusatzFreigegebenAm,"adt.label.dienstleistung.zusatzFreigegebenAm","Freigegeben am")}
211
212 ${renderTextmodul12(textmodul.zusatzUrheber,"adt.label.dienstleistung.zusatzUrheber","Urheber")}
213
214 ${renderTextmodul12(textmodul.zusatzZustaendigeStelle,"adt.label.dienstleistung.zusatzZustaendigeStelle","Zuständige Stelle")}
215
216 <#if existsAndHasContent1(dienstleistung.kostenmodul.beschreibung!'') ||
217 existsAndHasContent1(dienstleistung.kostenmodul.kosten!'')>
218 <#if showCollapse >
219 ${collapseBefore20(getLabelName4(dienstleistung, 'adt.label.dienstleistung.gebuehr','Kosten'), collapseIcon, 'kosten')}
220 <#else>
221 <hr>
222 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.gebuehr','Kosten')}</h2>
223 </#if>
224 <@kostenliste3 />
225 <#if showCollapse>
226 ${collapseAfter()}
227 </#if>
228 </#if>
229
230 <#if existsAndHasContent1(dienstleistung.zahlungsweisen!'')>
231 <#if showCollapse>
232 ${collapseBefore20(getLabelName4(dienstleistung, 'adt.label.dienstleistung.zahlungsweisen','Zahlungsweisen'),collapseIcon,'zahlungsweisen')}
233 </#if>
234 <#assign zahlungsweiseOutput = ''/>
235 <#list dienstleistung.zahlungsweisen as zahlungsweise>
236 <#assign zahlungsweiseOutput = zahlungsweiseOutput+"<p>${zahlungsweise.name}</p>" />
237 </#list>
238 ${content_item3(getLabelName4(dienstleistung, 'adt.label.dienstleistung.zahlungsweisen','Zahlungsweisen'),zahlungsweiseOutput,showLines)}
239 <#if showCollapse>
240 ${collapseAfter()}
241 </#if>
242 </#if>
243
244 <#if existsAndHasContent1(dienstleistung.verwandteDienstleistungen!'')>
245 <#if showCollapse>
246 ${collapseBefore20(getLabelName4(dienstleistung, 'adt.label.dienstleistung.verwandtedienstleistungen','Verwandte Dienstleistungen'),collapseIcon,'verwandteDienstleistungen')}
247 <#else>
248 <hr>
249 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.verwandtedienstleistungen','Verwandte Dienstleistungen')}</h2>
250 </#if>
251
252 <ul style="padding-top:0 !important;padding-bottom:0 !important;">
253 <#list dienstleistung.verwandteDienstleistungen as dl>
254 <li>
255 <a href="${utils.createRenderUrl(renderResponse,dienstleistungShow, dl.id)}">${dl.name}</a>
256 </li>
257 </#list>
258 </ul>
259 <br>
260
261 <#if showCollapse>
262 ${collapseAfter()}
263 </#if>
264 </#if>
265 <#if showOnlineServicesInMainContent>
266 <div id="onlineServicesInMainSection" aria-hidden="true" class="d-none d-sm-none d-md-none d-lg-block">
267 <#if existsAndSizeGTZero(dienstleistung.extensions) || existsAndSizeGTZero(dienstleistung.formulare) || (dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content) || existsAndSizeGTZero(dienstleistung.internetadressen)>
268 <#if showCollapse>
269 ${collapseBefore20(getLabelName4(dienstleistung, 'adt.label.dienstleistung.onlinedienstleistung','Onlinedienstleistungen'),collapseOnlineServcieIcon,'onlinedienstleistungenLeftBottom')}
270 </#if>
271 <#if !showCollapse>
272 <div class="card" id="OnlinedienstleistungenMain">
273 <div class="card-header">
274 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.onlinedienstleistung','Onlinedienstleistungen')}</h2>
275 </div>
276 <div class="card-body">
277 </#if>
278 <#assign idTopLink ="olDlTopMain"/>
279 <#assign idBottomLink = "olDlIconsMain"/>
280 <#assign linkCss = ""/>
281 <#assign linkClass = ""/>
282 <#if linksAsButton>
283 <#assign linkClass = linkClass + "btn btn-secondary w-100 text-left text-break" />
284 </#if>
285 <#assign lockIcon = '<svg role="img" aria-label="Schlossicon. Für diese Dienstleistung ist ein Login erforderlich" style="height:15px !Important" class="" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-lock-fill" viewBox="0 0 16 16"><path d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z"/></svg>'/>
286 <#assign moneyIcon = '<svg role="img" aria-label="Geldicon. Diese Dienstleitung ist kostenpflichtig" style="height:15px !Important" width="16" height="16" fill="currentColor" class="bi bi-credit-card" viewBox="0 0 16 16"><path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z"/><path d="M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z"/></svg>'/>
287 <#assign persoIcon = ""/>
288 <#assign beforeLinkTitle = ""/>
289
290 <#assign dlNeedsLogin = 'Diese Dienstleistung erfordert eine Anmeldung.'/>
291 <#assign dlNeedsEidLogin = 'Anmeldung mit elektronischen Personalausweis erforderlich'/>
292 <#assign dlHasCosts = 'Diese Dienstleitung ist kostenpflichtig.'/>
293 <#assign dlAndHasCosts = 'und ist kostenpflichtig'/>
294
295
296 <#assign internetAdressen = false />
297
298 <@onlineServices147 idTopLink, idBottomLink, dienstleistung, linkCss, linkClass, beforeLinkTitle, lockIcon, persoIcon, moneyIcon, dlNeedsLogin, dlNeedsEidLogin, dlHasCosts, dlAndHasCosts, internetAdressen/>
299
300 <#assign iconLegendLockInfo = "Anmeldung erforderlich"/>
301 <#assign iconLegendMoneyInfo = "Kostenpflichtig"/>
302 <#assign iconLegendPersoInfo = "Anmeldung mit elektronischen Personalausweis erforderlich"/>
303 <#assign persoIcon = "#createPersoIcon13('persoLogoUnten')"/>
304
305 <@iconLegendList10 idBottomLink, idBottomLink, "black", persoIcon, iconLegendPersoInfo, lockIcon, iconLegendLockInfo, moneyIcon, iconLegendMoneyInfo/>
306
307 <#if !showCollapse>
308 </div>
309 </div>
310 </#if>
311 <#if showCollapse>
312 ${collapseAfter()}
313 </#if>
314 </#if>
315 </div>
316 </#if>
317 </div>
318 <#if showLeftInCard>
319 </div>
320 </#if>
321 </div>
322 </div>
323 <div class="col-12 col-sm-12 col-md-4">
324 <div class="mdl--page__default__02 vr-details-right">
325 <#if existsAndSizeGTZero(dienstleistung.extensions) || existsAndSizeGTZero(dienstleistung.formulare) || (dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content) || existsAndSizeGTZero(dienstleistung.internetadressen)>
326 <div class="card <#if showOnlineServicesInMobilePosition == "top">d-none d-md-block </#if> " id="onlinedienstleistungen-right">
327 <div class="card-header">
328 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.onlinedienstleistung','Onlinedienstleistungen')}</h2>
329 </div>
330 <div class="card-body">
331
332 <#assign idTopLink ="olDlTopSide" />
333 <#assign idBottomLink = "olDlIconsSide"/>
334 <#assign linkCss = ""/>
335 <#assign linkClass = "onlineservices-link"/>
336 <#if linksAsButton>
337 <#assign linkClass = linkClass+ " btn btn-secondary w-100 text-left text-break"/>
338 </#if>
339 <#assign lockIcon = '<svg role="img" aria-label="Schlossicon. Für diese Dienstleistung ist ein Login erforderlich" style="height:15px !Important" class="" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-lock-fill" viewBox="0 0 16 16"><path d="M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z"/></svg>'/>
340 <#assign moneyIcon = '<svg role="img" aria-label="Geldicon. Diese Dienstleitung ist kostenpflichtig" style="height:15px !Important" width="16" height="16" fill="currentColor" class="bi bi-credit-card" viewBox="0 0 16 16"><path d="M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z"/><path d="M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z"/></svg>'/>
341 <#assign persoIcon = ''/>
342 <#assign beforeLinkTitle = ""/>
343 <#assign dlNeedsLogin = 'Diese Dienstleistung erfordert eine Anmeldung.'/>
344 <#assign dlNeedsEidLogin = 'Anmeldung mit elektronischen Personalausweis erforderlich.'/>
345 <#assign dlHasCosts = 'Diese Dienstleitung ist kostenpflichtig.'/>
346 <#assign dlAndHasCosts = 'und ist kostenpflichtig'/>
347 <#assign internetAdressen = false/>
348
349 <@onlineServices147 idTopLink, idBottomLink, dienstleistung, linkCss, linkClass, beforeLinkTitle, lockIcon, persoIcon, moneyIcon, dlNeedsLogin, dlNeedsEidLogin, dlHasCosts, dlAndHasCosts, internetAdressen />
350 <#assign iconLegendLockInfo = "Anmeldung erforderlich"/>
351 <#assign iconLegendMoneyInfo = "Kostenpflichtig"/>
352 <#assign iconLegendPersoInfo = "Anmeldung mit elektronischen Personalausweis erforderlich"/>
353 <#assign persoIcon = "#createPersoIcon13('persoLogoTopIcons')"/>
354
355 <@iconLegendList10 idBottomLink,idTopLink,"black",persoIcon ,iconLegendPersoInfo ,lockIcon ,iconLegendLockInfo ,moneyIcon ,iconLegendMoneyInfo />
356 </div>
357 </div>
358 </#if>
359
360 <#if existsAndHasContent1(dienstleistung.dokumentList!'')>
361
362 <div class="card" id="downloads">
363 <div class="card-header">
364 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.downloads','Downloads')}</h2>
365 </div>
366 <div class="card-body">
367 <ul class="el--downloads">
368
369 <#list dienstleistung.dokumentList as dokument>
370 <#assign url = renderResponse.createResourceURL()/>
371 ${url.setResourceID("vr-bis-detail-document-download")}
372 ${url.setParameter("id", "${dokument.id}")}
373 <li class="mb-2">
374 <#if downloadCollapse>
375 <#if existsAndHasContent1(dokument.beschreibung!'')>
376 <#assign description = "<div class='mt-2' style='font-size:medium;'>${dokument.beschreibung}</div>" />
377 <#else>
378 <#assign description = "" />
379 </#if>
380 <#assign docContent ="<div class='mt-2 mb-4'>
381 <a href='${url}' title='Download ${dokument.name}' download>
382 <i class='bi bi-download mr-2'></i>
383 <span class='ml-2'>Herunterladen</span>
384 </a>
385 <${description}>
386 </div>"
387 />
388
389 <@collapseList6 "doc${dokument.id}", "${downloadCollapseIcon}$dokument.name", docContent,'downloadCollapse',downloadCollapseShowAs />
390 <#else>
391
392 <a href="${url}" title="Download ${dokument.name}" download>
393 ${downloadsIcon}${dokument.name}
394 </a>
395 </#if>
396 </li>
397 </#list>
398 </ul>
399 </div>
400 </div>
401 </#if>
402 <#if dienstleistung.einrichtungList?size gt 0>
403 <div class="card" id="zustaendigeEinrichtungen">
404 <div class="card-header">
405 <h2 class="el--location__headline el--textmodul__h3">${getLabelName4(dienstleistung, 'adt.label.dienstleistung.einrichtungen','Zuständige Einrichtungen')}</h2>
406 </div>
407 <div class="card-body">
408 <ul class="list-unstyled pl-0" aria-label="Liste der zuständigen Einrichtungen">
409 <#assign erCounter = 0/>
410 <#assign size = dienstleistung.einrichtungList?size/>
411 <#list dienstleistung.einrichtungList as einrichtung>
412 <#assign erCounter = erCounter + 1 />
413 <li class="mb-2" aria-label="Einrichtung ${einrichtung.name}">
414 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, einrichtung.id)}">${getFullFacilityName9(einrichtung,'dl-facility-address')}</a>
415 <ul class="list-unstyled pl-0" aria-label="Angaben zur Einrichtung">
416 <#if existsAndHasContent1(einrichtung.anschrift!'')>
417 <li aria-label="Adresse der Einrichtung">
418 <ul class="list-unstyled pl-0" >
419 <#if existsAndHasContent1(einrichtung.anschrift.name!'') && showEinrichtungAnschriftName>
420 <li aria-label="${showEinrichtungAnschriftNameAlt}"><strong>${einrichtung.anschrift.name}</strong></li>
421 </#if>
422 <li class="el--location__description__item" aria-label="Straße und Hausnummer">${einrichtung.anschrift.strasse} ${einrichtung.anschrift.hausnummer}</li>
423 <li class="el--location__description__item" aria-label="PLZ und Ort">${einrichtung.anschrift.postleitzahl} ${einrichtung.anschrift.ort}</li>
424
425 <#if existsAndHasContent1(einrichtung.anschrift.postfach!'')>
426 <li class="el--location__description__item">Postfach ${einrichtung.anschrift.getPostfach()}</li>
427 </#if>
428 <#if existsAndHasContent1(einrichtung.anschrift.zusatz!'')>
429 <li class="mt-2 el--location__description__item"><strong>Adresszusatz:</strong><br/>${einrichtung.anschrift.getZusatz()}</li>
430 </#if>
431 </ul>
432 </li>
433 </#if>
434 <#if
435 (existsAndHasContent1(einrichtung.telefonnummer!'')) ||
436 (existsAndHasContent1(einrichtung.faxnummer!''))||
437 (existsAndHasContent1(einrichtung.email!''))
438 >
439 <li aria-label="Erreichbarkeiten der Einrichtung" class="mt-2">
440 <ul class="list-unstyled pl-0" >
441 <#if existsAndHasContent1(einrichtung.telefonnummer!'')>
442 <li class="el--location__description__item"><strong>Telefon:</strong><br> <a href="${createPhoneHref3(einrichtung)}">${einrichtung.telefonnummer}</a></li>
443 </#if>
444 <#if existsAndHasContent1(einrichtung.faxnummer!'')>
445 <li class="el--location__description__item"><strong>Fax:</strong><br> <a href="${createFaxHref3(einrichtung)}">${einrichtung.faxnummer}</a> </li>
446 </#if>
447 <#if existsAndHasContent1(einrichtung.email!'')>
448 <li class="el--location__description__item"><strong>E-Mail:</strong><br> <a href="${createMailHref5(einrichtung)}">${einrichtung.email}</a></li>
449 </#if>
450 </ul>
451 </li>
452 </#if>
453 </ul>
454 <#if erCounter < size>
455 <hr>
456 </#if>
457 </li>
458 </#list>
459 </ul>
460 </div>
461 </div>
462 </#if>
463 <#if existsAndHasContent1(dienstleistung.mitarbeiterList!'') && !showEmployeesCollapse>
464 <#assign counter = 0 />
465 <#list dienstleistung.mitarbeiterList as mitarbeiter>
466 <#assign counter = counter +1 />
467 </#list>
468 <div class="card" id="zustaendigeKontaktpersonen">
469 <div class="card-header">
470 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.kontaktpersonen','Zuständige Kontaktpersonen')}</h2>
471 </div>
472 <div class="card-body">
473 <ul class="el--contact">
474 <#assign loop = 1/>
475 <#list dienstleistung.mitarbeiterList as mitarbeiter>
476 <#if mitarbeiter??>
477 <li>
478 <#if loop != 1>
479 <hr class="mb-2">
480 </#if>
481 <p class="el--contact__content">
482 <a href="${utils.createRenderUrl(renderResponse,mitarbeiterShow, mitarbeiter.id)}">${mitarbeiter.volleAnsprache()}</a>
483 <#if existsAndHasContent1(mitarbeiter.position!'')>
484 <br/><i class="el--contact__content__position" aria-label="Position:">${mitarbeiter.position}</i>
485 </#if>
486 </p>
487 <dl class="el--contact__list">
488 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')>
489 <dt>Telefon:</dt>
490 <dd><a href="${createPhoneHref3(mitarbeiter)}">${mitarbeiter.telefonnummer}</a></dd>
491 </#if>
492 <#if existsAndHasContent1(mitarbeiter.mobil!'')>
493 <dt>Mobil:</dt>
494 <dd><a href="${createMobilHref3(mitarbeiter)}">${mitarbeiter.mobil}</a></dd>
495 </#if>
496 <#if existsAndHasContent1(mitarbeiter.email!'')>
497 <dt>E-Mail:</dt>
498 <dd><a href="${createMailHref5(mitarbeiter)}">${mitarbeiter.email}</a></dd>
499 </#if>
500 </dl>
501 </li>
502 <#assign loop = loop + 1 />
503 </#if>
504 </#list>
505 </ul>
506 </div>
507 </div>
508 </#if>
509 <#if existsAndHasContent1(dienstleistung.mitarbeiterList!'') && showEmployeesCollapse>
510 <#assign counter = 0 />
511 <#list dienstleistung.mitarbeiterList as mitarbeiter>
512 <#assign counter = counter +1 />
513 </#list>
514 <div class="card" id="zustaendigeKontaktperson">
515 <div class="card-header">
516 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.kontaktpersonen','Zuständige Kontaktpersonen')}</h2>
517 </div>
518 <div class="card-body">
519 <ul class="el--contact">
520 <#assign loop = 1/>
521 <#list dienstleistung.mitarbeiterList as mitarbeiter>
522 <li class="mb-2">
523
524 <#assign collapseContent = "<ul class='mt-2'>
525 <li >
526 <p>
527 <strong>Profil:</strong> <a href='${utils.createRenderUrl(renderResponse,mitarbeiterShow, mitarbeiter.id)}'>Link</a>
528 </p>
529 </li>"/>
530 <#if existsAndHasContent1(mitarbeiter.position!'')>
531 <#assign collapseContent = collapseContent +"<li>
532 <p>
533 <strong>Position:</strong> <i class='el--contact__content__position'>${mitarbeiter.position}</i>
534 </p>
535 </li>"/>
536 </#if>
537 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')>
538 <#assign collapseContent = collapseContent +"<li>
539 <p>
540 <strong>Telefon:</strong> <a href='${createPhoneHref3(mitarbeiter)}'>${mitarbeiter.telefonnummer}</a>
541 </p>
542 </li>"/>
543 </#if>
544 <#if existsAndHasContent1(mitarbeiter.mobil!'')>
545 <#assign collapseContent = collapseContent +"<li>
546 <p>
547 <strong>Mobil:</strong> <a href='${createMobilHref3(mitarbeiter)}'>${mitarbeiter.mobil}</a>
548 </p>
549 </li>"/>
550 </#if>
551 <#if existsAndHasContent1(mitarbeiter.email!'')>
552 <#assign collapseContent = collapseContent +"<li>
553 <p>
554 <strong>E-Mail:</strong> <a href='${createMailHref5(mitarbeiter)}'>${mitarbeiter.email}</a>
555 </p>
556 </li>"/>
557 </#if>
558 <#assign collapseContent = collapseContent +"</ul>"/>
559
560 <@collapseList6 "mit${mitarbeiter.id}", "${employeesCollapseIcon}${mitarbeiter.volleAnsprache()}",collapseContent,"employeeCollapse",showEmployeesCollapseAs />
561 <#assign loop = loop + 1 />
562 </#list>
563 </ul>
564 </div>
565 </div>
566 </#if>
567
568
569 <#if
570 existsAndHasContent1(textmodul.volltext.weiterfuehrenderLink!'') ||
571 existsAndHasContent1(textmodul.kurztext.weiterfuehrenderLink!'') ||
572 existsAndHasContent1(textmodul.rechtsgrundlagen.weiterfuehrenderLink!'') ||
573 existsAndHasContent1(textmodul.erforderlicheUnterlagen.weiterfuehrenderLink!'') ||
574 existsAndHasContent1(textmodul.voraussetzungen.weiterfuehrenderLink!'') ||
575 existsAndHasContent1(textmodul.verfahrensablauf.weiterfuehrenderLink!'') ||
576 existsAndHasContent1(textmodul.weiterfuehrendeInformationen.weiterfuehrenderLink!'') ||
577 existsAndHasContent1(textmodul.hinweiseBesonderheiten.weiterfuehrenderLink!'') ||
578 existsAndHasContent1(textmodul.rechtsbehelf.weiterfuehrenderLink!'') ||
579 existsAndHasContent1(textmodul.bearbeitungsdauer.weiterfuehrenderLink!'') ||
580 existsAndHasContent1(textmodul.fristen.weiterfuehrenderLink!'')>
581 <div class="card" id="weiterfuehrendeLinks">
582 <div class="card-header">
583 <h2>${getLabelName4(dienstleistung, 'adt.label.dienstleistung.weitereinfos','Weiterführende Informationen')}</h2>
584 </div>
585 <div class="card-body">
586 <ul class="list-unstyled pl-0">
587 ${linklooper7(textmodul.volltext)}
588 ${linklooper7(textmodul.kurztext)}
589 ${linklooper7(textmodul.rechtsgrundlagen)}
590 ${linklooper7(textmodul.erforderlicheUnterlagen)}
591 ${linklooper7(textmodul.voraussetzungen)}
592 ${linklooper7(textmodul.verfahrensablauf)}
593 ${linklooper7(textmodul.weiterfuehrendeInformationen)}
594 ${linklooper7(textmodul.hinweiseBesonderheiten)}
595 ${linklooper7(textmodul.rechtsbehelf)}
596 ${linklooper7(textmodul.bearbeitungsdauer)}
597 ${linklooper7(textmodul.fristen)}
598 </ul>
599 </div>
600 </div>
601 </#if>
602 </div>
603 </div>
604 </div>
605</#if>
606<#if bis2017.ausgewaehlteEinrichtung??>
607<#-- Einrichtungen -->
608 <#assign
609 einrichtung = bis2017.ausgewaehlteEinrichtung
610 />
611 <div class="row">
612 <div class="col-12 col-sm-12 col-md-8 px-4 pl-lg-3">
613 <div class="vr-details-left">
614 <#if showLeftInCard>
615 <div class="card">
616 </#if>
617 <div class="facility-detail-header">
618 <div class="sideHeadline" id="seitentitel">
619 <h1>${getFullFacilityName9(einrichtung,'siteTitle')}</h1>
620 </div>
621 <#if existsAndHasContent1(einrichtung.kurzbezeichnung!'')>
622 <h2 class="sr-only">Kurzbezeichnung</h2>
623 <p>${einrichtung.kurzbezeichnung}</p>
624 </#if>
625 </div>
626
627 <#if existsAndHasContent1(einrichtung.aktuelles!'')>
628 <div class="alert alert-info">
629 <h2 class="">Aktuelles</h2>
630 <p>${einrichtung.aktuelles}</p>
631 </div>
632 </#if>
633 <#if existsAndHasContent1(einrichtung.beschreibung!'')>
634 <h2 class="sr-only">Beschreibung</h2>
635 <div>${einrichtung.beschreibung}</div>
636 </#if>
637
638 <#if existsAndHasContent1(einrichtung.beschreibungIntern!'')>
639 <h2 class="sr-only">Beschreibung Intern</h2>
640 <p>${einrichtung.beschreibungIntern}</p>
641 <hr/>
642 </#if>
643
644 <#if existsAndHasContent1(einrichtung.anschrift!'')>
645 <#assign lat = 0/>
646 <#assign lng = 0/>
647 <#assign mapTitle = 'Karte'/>
648
649 <#if existsAndHasContent1(einrichtung.anschrift.geokodierung!'')>
650 <#assign lat = einrichtung.anschrift.geokodierung.latitude?number/>
651 <#assign lng = einrichtung.anschrift.geokodierung.longitude?number/>
652 </#if>
653 <#assign hasMap = lat?has_content && lng?has_content/>
654
655 <h2 class="">Anschrift</h2>
656 <div class="el--maplocation__card__content el--textmodul">
657 ${createAddressUL16(einrichtung, 'facility-address','')}
658 </div>
659
660
661 <#if existsAndHasContent1(einrichtung.telefonnummer!'') ||
662 existsAndHasContent1(einrichtung.faxnummer!'') ||
663 existsAndHasContent1(einrichtung.email!'')>
664 <hr>
665 <h2>Kontakt</h2>
666 ${createContactList9(einrichtung, 'facility-contact')}
667 </#if>
668 </#if>
669
670 <div class="el-textmodul">
671 <#if hasMap && showFacilityMap>
672 <@openstreetmap52 mapTitle lat lng />
673 </#if>
674
675 <#if existsAndHasContent1(einrichtung.barrierefreieErreichbarkeit!'')>
676 <#if showCollapse>
677 ${collapseBefore20('Barrierefreie Erreichbarkeit',collapseIcon,'')}
678 <#else>
679 <hr>
680 <h2>Barrierefreie Erreichbarkeit</h2>
681 </#if>
682 <div class="text">
683 ${einrichtung.barrierefreieErreichbarkeit}
684 </div>
685 <#if showCollapse>
686 ${collapseAfter()}
687 </#if>
688 </#if>
689
690 <#if existsAndHasContent1(einrichtung.anschrift!'') && (existsAndHasContent1(einrichtung.anschrift.verkehrsanbindung!'') || existsAndHasContent1(einrichtung.anschrift.anfahrtUrl!''))>
691 <#if showCollapse>
692 ${collapseBefore20('Verkehrsanbindung',collapseIcon,'')}
693 <#else>
694 <hr>
695 <h2>Verkehrsanbindung</h2>
696 </#if>
697 <#if existsAndHasContent1(einrichtung.anschrift.verkehrsanbindung!'')>
698 ${einrichtung.anschrift.verkehrsanbindung}
699 </#if>
700 <#if existsAndHasContent1(einrichtung.anschrift.anfahrtUrl!'')>
701 <#list einrichtung.anschrift.anfahrtUrl as url>
702 <a href="${url.uri}" title="${url.titel}">${url.titel}</a>
703 </#list>
704 </#if>
705 <#if showCollapse>
706 ${collapseAfter()}
707 </#if>
708 </#if>
709
710 <#assign serviceZeitenEmpty = einrichtung.servicezeitenFreitext?has_content />
711 <#assign serviceZeitenEmpty = true />
712 <#if einrichtung.servicezeitenStrukturiert?? && einrichtung.servicezeitenStrukturiert.tage??>
713 <#list einrichtung.servicezeitenStrukturiert.tage?values as value>
714 <#list value.paare?values as paare>
715 <#if paare?? && paare?has_content && paare != '-'>
716 <#assign serviceZeitenEmpty = false />
717 <#break>
718 </#if>
719 </#list>
720 <#if serviceZeitenEmpty == false>
721 <#break>
722 </#if>
723 </#list>
724 </#if>
725
726
727
728 <#if !serviceZeitenEmpty || einrichtung.servicezeitenFreitext?has_content>
729 <#if showCollapse>
730 ${collapseBefore20('Servicezeiten',collapseIcon,'')}
731 <#else>
732 <hr>
733 <h2>Servicezeiten</h2>
734 </#if>
735
736 <@createTimeTable15 einrichtung/>
737 <p class="mt-2">${einrichtung.servicezeitenFreitext}</p>
738 <#if showCollapse>
739 ${collapseAfter()}
740 </#if>
741 <#elseif existsAndHasContent1(einrichtung.servicezeiten!'')>
742 <#if showCollapse>
743 ${collapseBefore20('Servicezeiten',collapseIcon,'')}
744 <#else>
745 <hr>
746 <h2>Servicezeiten</h2>
747 </#if>
748 <p>
749 ${einrichtung.servicezeiten}
750 </p>
751 <#if existsAndHasContent1(einrichtung.servicezeitenFreitext!'')>
752 <p class="mt-2">
753 ${einrichtung.servicezeitenFreitext}
754 </p>
755 </#if>
756 <#if showCollapse>
757 ${collapseAfter()}
758 </#if>
759 </#if>
760
761 <#if existsAndHasContent1(einrichtung.dienstleistungList!'')>
762 <#if showCollapse>
763 ${collapseBefore20('Dienstleistungen der Einrichtung',collapseIcon,'')}
764 <#else>
765 <hr>
766 <h2>Dienstleistungen der Einrichtung</h2>
767 </#if>
768 <ul style="padding:0;">
769 <#list einrichtung.dienstleistungList as dienstleistung>
770 <li>
771 <p class="m-0">
772 <a href="${utils.createRenderUrl(renderResponse, dienstleistungShow, dienstleistung.id)}">${dienstleistung.name}</a>
773 </p>
774 </li>
775 </#list>
776 </ul>
777 <#if showCollapse>
778 ${collapseAfter()}
779 </#if>
780 </#if>
781
782
783 <#if einrichtung.uebereinrichtung??>
784 <#if showCollapse>
785 ${collapseBefore20('Diese Einrichtung gehört zu',collapseIcon,'')}
786 <#else>
787 <hr>
788 <h2>Diese Einrichtung gehört zu</h2>
789 </#if>
790 <p>
791 <a href="${utils.createRenderUrl(renderResponse, einrichtungShow, einrichtung.uebereinrichtung.id)}">${getFullFacilityName9(einrichtung.uebereinrichtung,'uebereinrichtung')}</a>
792 </p>
793 <#if showCollapse>
794 ${collapseAfter()}
795 </#if>
796 </#if>
797
798 <#if existsAndHasContent1(einrichtung.untereinrichtungList!'')>
799 <#if showCollapse>
800 ${collapseBefore20('Zu dieser Einrichtung gehören',collapseIcon,'')}
801 <#else>
802 <hr>
803 <h2>Zu dieser Einrichtung gehören</h2>
804 </#if>
805 <ul style="">
806 <#list einrichtung.untereinrichtungList as child>
807 <li>
808 <p class="m-0">
809 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, child.id)}">${getFullFacilityName9(child,'untereinrichtungList')}</a>
810 </p>
811 </li>
812 </#list>
813 </ul>
814 <#if showCollapse>
815 ${collapseAfter()}
816 </#if>
817 </#if>
818 <#if existsAndHasContent1(einrichtung.internetadressen!'')>
819 <#if showCollapse>
820 ${collapseBefore20('Internetadressen', collapseIcon,'')}
821 <#else>
822 <hr>
823 <h2>Internetadressen</h2>
824 </#if>
825 <ul class="list-unstyled" style="padding-top:0 !important;padding-bottom:0 !important;">
826 <#list einrichtung.internetadressen as link>
827 <li>
828 <a href="${link.uri}" title="${link.titel}"
829 <#if link.neuesFenster> target="_blank" </#if>
830 >
831 ${link.titel}
832 </a>
833 </li>
834 </#list>
835 </ul>
836 <#if showCollapse>
837 ${collapseAfter()}
838 </#if>
839 </#if>
840 </div>
841 </div>
842 <#if showLeftInCard>
843 </div>
844 </#if>
845
846 </div>
847
848 <div class="col-12 col-sm-12 col-md-4">
849 <div class="vr-details-right">
850 <#if existsAndHasContent1(einrichtung.mitarbeiterList!'') && !showEmployeesCollapse>
851
852 <div class="card" id="zustaendigeKontaktperson">
853 <div class="card-header">
854 <#if einrichtung.mitarbeiterList?size gt 1>
855 <h2>Zuständige Kontaktpersonen</h2>
856 <#else>
857 <h2>Zuständige Kontaktperson</h2>
858 </#if>
859 </div>
860 <div class="card-body">
861 <ul class="el--contact">
862 <#assign loop = 1 />
863 <#list einrichtung.mitarbeiterList as mitarbeiter>
864 <li>
865 <#if loop != 1>
866 <hr class="mb-2">
867 </#if>
868 <p class="el--contact__content">
869 <a href="${utils.createRenderUrl(renderResponse,mitarbeiterShow, mitarbeiter.id)}">${mitarbeiter.volleAnsprache()}</a>
870 <#if existsAndHasContent1(mitarbeiter.position!'')>
871 <br/><i class="el--contact__content__position">${mitarbeiter.position}</i>
872 </#if>
873 </p>
874 <dl class="el--contact__list">
875 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')>
876 <dt>Telefon:</dt>
877 <dd><a href="${createPhoneHref3(mitarbeiter)}">${mitarbeiter.telefonnummer}</a></dd>
878 </#if>
879 <#if existsAndHasContent1(mitarbeiter.email!'')>
880 <dt>E-Mail:</dt>
881 <dd><a href="${createMailHref5(mitarbeiter)}">${mitarbeiter.email}</a></dd>
882 </#if>
883 </dl>
884 </li>
885 <#assign loop = loop + 1 />
886 </#list>
887 </ul>
888 </div>
889 </div>
890 </#if>
891 <#if existsAndHasContent1(einrichtung.mitarbeiterList!'') && showEmployeesCollapse>
892
893 <div class="card" id="zustaendigeKontaktperson">
894 <div class="card-header">
895 <#if einrichtung.mitarbeiterList?size gt 1>
896 <h2>Zuständige Kontaktpersonen</h2>
897 <#else>
898 <h2>Zuständige Kontaktperson</h2>
899 </#if>
900 </div>
901 <div class="card-body">
902
903 <ul class="el--contact">
904 <#assign loop = 1/>
905 <#list einrichtung.mitarbeiterList as mitarbeiter>
906 <li class="mb-2">
907 <button data-toggle="collapse"
908 data-target="#mit-${mitarbeiter.id?replace(' ','')}"
909 class=" employeeCollapse <#if showEmployeesCollapseAs == "button"> btn btn-secondary </#if> w-100 text-left text-break">
910 ${employeesCollapseIcon}${mitarbeiter.volleAnsprache()}</button>
911 <div id="mit-${mitarbeiter.id?replace(' ','')}" class="collapse">
912 <ul class="mt-2">
913 <li >
914 <p>
915 <strong>Profil:</strong> <a href="${utils.createRenderUrl(renderResponse,mitarbeiterShow, mitarbeiter.id)}">Link</a>
916 </p>
917 </li>
918 <#if existsAndHasContent1(mitarbeiter.position!'')>
919 <li>
920 <p>
921 <strong>Position:</strong> <i class="el--contact__content__position">${mitarbeiter.position}</i>
922 </p>
923 </li>
924 </#if>
925 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')>
926 <li>
927 <p>
928 <strong>Telefon:</strong> <a href="${createPhoneHref3(mitarbeiter)}">${mitarbeiter.telefonnummer}</a>
929 </p>
930 </li>
931 </#if>
932 <#if existsAndHasContent1(mitarbeiter.mobil!'')>
933 <li>
934 <p>
935 <strong>Mobil:</strong> <a href="${createMobilHref3(mitarbeiter)}">${mitarbeiter.mobil}</a>
936 </p>
937 </li>
938 </#if>
939 <#if existsAndHasContent1(mitarbeiter.email!'')>
940 <li>
941 <p>
942 <strong>E-Mail:</strong> <a href="${createMailHref5(mitarbeiter)}">${mitarbeiter.email}</a>
943 </p>
944 </li>
945 </#if>
946 </ul>
947 </div>
948 </li>
949 <#assign loop = loop + 1/>
950 </#list>
951 </ul>
952 </div>
953 </div>
954 </#if>
955 </div>
956 </div>
957 </div>
958</#if>
959<#if bis2017.ausgewaehlterMitarbeiter??>
960<#-- Mitarbeitende -->
961 <#assign
962 mitarbeiter = bis2017.ausgewaehlterMitarbeiter
963 />
964
965 <div class="row">
966 <div class="col-12 col-sm-12 col-md-8 px-4 pl-lg-3">
967 <div class="vr-details-left">
968 <#if showLeftInCard>
969 <div class="card">
970 </#if>
971 <div class="">
972 <div class="employee-header">
973 <div class="sideHeadline" id="seitentitel">
974 <h1>${mitarbeiter.volleAnsprache()}</h1>
975 </div>
976
977 <#if existsAndHasContent1(mitarbeiter.position!'')>
978 <p>${mitarbeiter.position}</p>
979 </#if>
980 </div>
981 <div class="el-textmodul">
982 <#if existsAndHasContent1(mitarbeiter.beschreibung!'')>
983 <h2 class="sr-only">Beschreibung</h2>
984 <p>${mitarbeiter.beschreibung}</p>
985 <hr/>
986 </#if>
987
988 <#if existsAndHasContent1(mitarbeiter.beschreibungIntern!'')>
989 <h2 class="sr-only">Beschreibung Intern</h2>
990 <p>${mitarbeiter.beschreibungIntern}</p>
991 <hr/>
992 </#if>
993
994 <#if existsAndHasContent1(mitarbeiter.einrichtungList!'')>
995 <h2>Anschrift</h2>
996 <#assign i = 0 />
997 <#list mitarbeiter.einrichtungList as einrichtung>
998 <#if i < 1>
999 <#if existsAndHasContent1(einrichtung.anschrift!'')>
1000 ${createAddressUL16(einrichtung, 'employee-address',mitarbeiter)}
1001 <#else>
1002 <p><strong><a href="${utils.createRenderUrl(renderResponse,$einrichtungShow, $einrichtung.id)}">${einrichtung.name}</a></strong></p> <br/>
1003 </#if>
1004 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')
1005 || existsAndHasContent1(mitarbeiter.faxnummer!'')
1006 || existsAndHasContent1(mitarbeiter.mobil!'')
1007 ||existsAndHasContent1(mitarbeiter.email!'')
1008 >
1009 <hr>
1010 <h2>Kontakt</h2>
1011 ${createContactList9(mitarbeiter, 'employee-contact')}
1012 </#if>
1013
1014
1015 <#if existsAndHasContent1(einrichtung.anschrift!'') && showEmployeeMap>
1016 <#assign lat = 0/>
1017 <#assign lng = 0/>
1018 <#assign mapTitle = 'Karte'/>
1019
1020 <#if existsAndHasContent1(einrichtung.anschrift.geokodierung!'')>
1021 <#assign lat = einrichtung.anschrift.geokodierung.latitude?number/>
1022 <#assign lng = einrichtung.anschrift.geokodierung.longitude?number/>
1023 </#if>
1024 <@openstreetmap52 mapTitle lat lng />
1025 </#if>
1026 </#if>
1027 <#assign i = i+1/>
1028 </#list>
1029 <#else>
1030 <#if existsAndHasContent1(mitarbeiter.telefonnummer!'')
1031 || existsAndHasContent1($mitarbeiter.faxnummer!'')
1032 || existsAndHasContent1(mitarbeiter.mobil!'')
1033 ||existsAndHasContent1(mitarbeiter.email!'')
1034 >
1035 <h2>Kontakt</h2>
1036 ${createContactList9(mitarbeiter, 'employee-contact')}
1037 </#if>
1038 </#if>
1039
1040 <#assign serviceZeitenEmpty = true />
1041 <#if mitarbeiter.servicezeitenStrukturiert?? && mitarbeiter.servicezeitenStrukturiert.tage??>
1042 <#list mitarbeiter.servicezeitenStrukturiert.tage?values as value>
1043 <#list value.paare?values as paare>
1044 <#if paare?? && paare?has_content && paare != '-'>
1045 <#assign serviceZeitenEmpty = false />
1046 <#break>
1047 </#if>
1048 </#list>
1049 <#if serviceZeitenEmpty == false>
1050 <#break>
1051 </#if>
1052 </#list>
1053 </#if>
1054
1055 <#if !serviceZeitenEmpty || mitarbeiter.servicezeitenFreitext?has_content>
1056 <#if showCollapse>
1057 ${collapseBefore20('Servicezeiten',collapseIcon,'')}
1058 <#else>
1059 <hr>
1060 <h2>Servicezeiten</h2>
1061 </#if>
1062 <@createTimeTable15 mitarbeiter/>
1063 <p class="mt-2">
1064 ${mitarbeiter.servicezeitenFreitext}
1065 </p>
1066 <#if showCollapse>
1067 ${collapseAfter()}
1068 </#if>
1069 <#elseif existsAndHasContent1(mitarbeiter.servicezeiten!'')>
1070 <#if showCollapse>
1071 ${collapseBefore20('Servicezeiten',collapseIcon,'')}
1072 <#else>
1073 <hr>
1074 <h2>Servicezeiten</h2>
1075 </#if>
1076 <p>
1077 ${mitarbeiter.servicezeiten}
1078 </p>
1079 <#if mitarbeiter.servicezeitenFreitext>
1080 <p class="mt-2">
1081 ${mitarbeiter.servicezeitenFreitext}
1082 </p>
1083 </#if>
1084 <#if showCollapse>
1085 ${collapseAfter()}
1086 </#if>
1087 </#if>
1088 <#if existsAndHasContent1(mitarbeiter.dienstleistungList!'')>
1089 <#if showCollapse>
1090 ${collapseBefore20('Dienstleistungen',collapseIcon,'')}
1091 <#else>
1092 <hr>
1093 <h2>Dienstleistungen</h2>
1094 </#if>
1095 <ul style="padding: 0">
1096 <#list mitarbeiter.dienstleistungList as dienstleistung>
1097 <li>
1098 <p>
1099 <a href="${utils.createRenderUrl(renderResponse,dienstleistungShow, dienstleistung.id)}">${dienstleistung.name}</a>
1100 </p>
1101 </li>
1102 </#list>
1103 </ul>
1104
1105 <#if showCollapse>
1106 ${collapseAfter()}
1107 </#if>
1108 </#if>
1109 </div>
1110 </div>
1111 <#if showLeftInCard>
1112 </div>
1113 </#if>
1114 </div>
1115 </div>
1116 <div class="col-12 col-sm-12 col-md-4">
1117 <div class="vr-details-right">
1118 <#if existsAndHasContent1(mitarbeiter.portrait!'')>
1119 <#if !showLeftInCard>
1120 <#assign portrait = '<div class="w-100"><img src="${mitarbeiter.portrait}" alt="Mitarbeitenden Portrait" style="width: 100%;height: 100%;"/></div>' />
1121 <#else>
1122 <#assign portrait = '<div class="w-100" style="text-align:center;"><img src="${mitarbeiter.portrait}" alt="Mitarbeitenden Portrait" style="width: 100%;height: 100%; max-width:200px"/></div>' />
1123 </#if>
1124 ${card3('Mitarbeitenden Portrait',portrait)}
1125 </#if>
1126
1127 <#if existsAndHasContent1(mitarbeiter.einrichtungList!'')>
1128 <div class="card" id="mbZustaendigeEinrichtungen">
1129 <div class="card-header">
1130 <#if mitarbeiter.einrichtungList?size gt 1 >
1131 <h2>Zuständige Einrichtungen</h2>
1132 <#else>
1133 <h2>Zuständige Einrichtung</h2>
1134 </#if>
1135 </div>
1136 <div class="card-body">
1137 <ul>
1138 <#assign counter = 0 />
1139 <#list mitarbeiter.einrichtungList as einrichtung >
1140 <#assign counter = counter + 1/>
1141 <li>
1142 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, einrichtung.id)}">${getFullFacilityName9(einrichtung,'employee-facility-list')}</a>
1143 <#if counter < mitarbeiter.einrichtungList?size>
1144 <hr>
1145 </#if>
1146 </li>
1147 </#list>
1148 </ul>
1149 </div>
1150 </div>
1151 </#if>
1152 </div>
1153 </div>
1154 </div>
1155 <@employeesExport16 employeeData=mitarbeiter />
1156</#if>
1157
1158<#if vr.zfinder2017??>
1159 <#if vr.zfinder2017.ausgewaehlteLeistung??>
1160 ausgewaehlteLeistung
1161 </#if>
1162 <#if vr.zfinder2017.additionalInformation??>
1163 additionalInformation
1164 </#if>
1165</#if>
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180<#function createLoginURL destination>
1181 <#assign
1182 login_url1_WithHtml = 'href="'+ login_url +'?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='
1183 login_url2_WithHtml = '" rel="nofollow" data-redirect="true"'
1184 login_url_WithHtml = login_url1_WithHtml + destination + login_url2_WithHtml
1185 />
1186 <#return login_url_WithHtml />
1187</#function>
1188
1189<#macro employeesExport16 employeeData>
1190 <div id="export" style="display:none;">
1191 <div id="export-id">${employeeData.id}</div>
1192 <div id="export-person">
1193 <div id="export-person-anrede"><#if employeeData.anrede??>${employeeData.anrede}</#if></div>
1194 <div id="export-person-titel"><#if employeeData.titel??>${employeeData.titel}</#if></div>
1195 <div id="export-person-vorname"><#if employeeData.vorname??>${employeeData.vorname} </#if></div>
1196 <div id="export-person-familienname"><#if employeeData.familienname??>${employeeData.familienname} </#if></div>
1197 <div id="export-person-funktion"><#if employeeData.position??>${employeeData.position} </#if></div>
1198 </div>
1199 <div id="export-beschreibung"><#if employeeData.beschreibung??>${employeeData.beschreibung}</#if></div>
1200 <div id="export-kontakt">
1201 <div id="export-kontakt-telefonnummer"><#if employeeData.telefonnummer??>${employeeData.telefonnummer}</#if></div>
1202 <div id="export-kontakt-faxnummer"><#if employeeData.faxnummer??>${employeeData.faxnummer} </#if></div>
1203 <div id="export-kontakt-telefonnummer-mobil"><#if employeeData.mobil??>${employeeData.mobil} </#if></div>
1204 <div id="export-kontakt-email-adresse"><#if employeeData.email??>${employeeData.email} </#if></div>
1205 </div>
1206 <div id="export-anschrift">
1207 <#if existsAndSizeGTZero(employeeData.einrichtungList)>
1208 <#assign einrichtung = employeeData.einrichtungList[0]/>
1209 <#else>
1210 <#assign einrichtung = '' />
1211 </#if>
1212 <div id="export-anschrift-url-einrichtung">
1213 <#if einrichtung?? && einrichtung?has_content>
1214 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, einrichtung.id)}">
1215 ${einrichtung.name}
1216 </a>
1217 </#if>
1218 </div>
1219 <#if einrichtung?? && einrichtung?has_content>
1220 <div id="export-anschrift-strasse"><#if einrichtung.anschrift.strasse??>${einrichtung.anschrift.strasse} </#if></div>
1221 <div id="export-anschrift-hausnummer"><#if einrichtung.anschrift.hausnummer??>${einrichtung.anschrift.hausnummer} </#if></div>
1222 <div id="export-anschrift-ort"><#if einrichtung.anschrift.ort??>${einrichtung.anschrift.ort}</#if></div>
1223 <div id="export-anschrift-postleitzahl"><#if einrichtung.anschrift.postleitzahl??>${einrichtung.anschrift.postleitzahl} </#if></div>
1224 <div id="export-anschrift-zusatz"><#if einrichtung.anschrift.zusatz??>${einrichtung.anschrift.zusatz} </#if></div>
1225 <div id="export-anschrift-postfach"><#if einrichtung.anschrift.postfach??>${einrichtung.anschrift.postfach} </#if></div>
1226 </#if>
1227
1228 <div id="export-anschrift-raum"><#if employeeData.raum??>${employeeData.raum} </#if></div>
1229 </div>
1230 <div id="export-servicezeiten">
1231 <div id="export-servicezeiten-tabelle">
1232 <#assign serviceZeitenEmpty = employeeData.servicezeitenFreitext?has_content />
1233 <#if employeeData.servicezeitenStrukturiert?? && employeeData.servicezeitenStrukturiert.tage??>
1234 <#list employeeData.servicezeitenStrukturiert.tage?values as value>
1235 <#list value.paare?values as paare>
1236 <#if paare?? && paare?has_content>
1237 <#assign serviceZeitenEmpty = false />
1238 <#break>
1239 </#if>
1240 </#list>
1241 <#if !serviceZeitenEmpty>
1242 <#break>
1243 </#if>
1244 </#list>
1245 </#if>
1246 <#if serviceZeitenEmpty??>
1247 <@createTimeTable15 employeeData/>
1248 <#elseif employeeData.servicezeiten??>
1249 ${employeeData.servicezeiten}
1250 </#if>
1251 </div>
1252 <div id="export-servicezeiten-anmerkungen"><#if employeeData.servicezeitenFreitext??> ${employeeData.servicezeitenFreitext} </#if></div>
1253 </div>
1254
1255 <div id="export-amt-fachbereich">
1256 <#if employeeData.amtFachbereich??>
1257 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, employeeData.amtFachbereich.id)}">${employeeData.amtFachbereich.name}</a>
1258 </#if>
1259 </div>
1260
1261 <#if einrichtung?? && einrichtung?has_content>
1262 <#if einrichtung.anschrift??>
1263 <div id="export-verkehrsanbindung">
1264 <#if einrichtung.anschrift.verkehrsanbindung??>
1265 ${einrichtung.anschrift.verkehrsanbindung}
1266 </#if>
1267 </div>
1268 <div id="export-geokoordinaten">
1269 <#if einrichtung.anschrift.geokodierung??>
1270 <div id="export-geokooridnaten-breitengrad">
1271 <#if einrichtung.anschrift.geokodierung.latitude??>
1272 ${einrichtung.anschrift.geokodierung.latitude}
1273 </#if>
1274 </div>
1275 <div id="export-geokooridnaten-laengengrad">
1276 <#if einrichtung.anschrift.geokodierung.longitude??>
1277 ${einrichtung.anschrift.geokodierung.longitude} </#if>
1278 </div>
1279 </#if>
1280 <div id="export-geokooridnaten-anfahrt-url">
1281 <#if einrichtung.anschrift.anfahrtUrl?? && einrichtung.anschrift.anfahrtUrl?has_content>
1282 <#assign anfahrtUrl = einrichtung.anschrift.anfahrtUrl[0]/>
1283 <a href="${anfahrtUrl.uri}">${anfahrtUrl.titel}</a>
1284 </#if>
1285 </div>
1286
1287 </div>
1288 </#if>
1289 </#if>
1290 <div id="export-dienstleistungen">
1291 <ul>
1292 <#if mitarbeiter.dienstleistungList??>
1293 <#list employeeData.dienstleistungList as dienstleistung>
1294 <li>
1295 <a href="${utils.createRenderUrl(renderResponse,dienstleistungShow, dienstleistung.id)}">
1296 ${dienstleistung.name}
1297 </a>
1298 </li>
1299 </#list>
1300 </#if>
1301 </ul>
1302 </div>
1303 <div id="export-einrichtungen">
1304 <ul>
1305 <#list employeeData.einrichtungList as einrichtung>
1306 <li>
1307 <a href="${utils.createRenderUrl(renderResponse,einrichtungShow, einrichtung.id)}">
1308 ${einrichtung.name}
1309 </a>
1310 </li>
1311 </#list>
1312 </ul>
1313 </div>
1314 </div>
1315</#macro>
1316
1317<#macro portletSearch>
1318 <script>
1319 $(document).ready( function() {
1320 const trigger = $('.search-detail');
1321
1322 $('html').click(function() {
1323 console.log("hide")
1324 });
1325
1326 $(trigger).click(function(event){
1327 console.log("EGAL!")
1328 event.stopPropagation();
1329 });
1330 });
1331 </script>
1332
1333 <script>
1334 $(document).ready(function () {
1335 $(".search-placeholder").append(jQuery(".search-area").parent().parent());
1336 $(".search-placeholder").append(jQuery("#wait"));
1337 $(".search-placeholder").append(jQuery("#resp").parent());
1338 });
1339
1340 $('#co').submit(function (evt) {
1341 evt.preventDefault();
1342 });
1343 </script>
1344 <div id="search-dropdown" <#if !bis2017.ausgewaehlteDienstleistung?? || !bis2017.ausgewaehlteEinrichtung?? || !bis2017.ausgewaehlterMitarbeiter??> style="display: none !important" </#if>>
1345 <div id="resp">
1346 <#if vr??>
1347 <script>
1348 $(".search-placeholder").addClass("search-with-results");
1349 $("#form-element-query").keyup(function () {
1350
1351 if (!this.value) {
1352 $(".search-placeholder.search").removeClass("search-with-results");
1353 }
1354
1355 });
1356 </script>
1357 <div class="row mt-3">
1358 <div class="col-12">
1359 <div class="search-detail">
1360 <#if bis2017.ausgewaehlteDienstleistung?? && bis2017.ausgewaehlteEinrichtung?? && bis2017.ausgewaehlterMitarbeiter?? && (!dienstleistung) && (!mitarbeiter) && (!einrichtung)>
1361 <p>Es gab keine Treffer zu Ihrer Suchanfrage.</p>
1362 <#else>
1363 <div class="row">
1364
1365 <#if suchergebnisDienstleistung??>
1366 <div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4">
1367 <h2>Dienstleistungen (${suchergebnisDienstleistung?size}</h2>
1368 <ol>
1369 <#list suchergebnisDienstleistung as i>
1370 <li class="mb-2">
1371 <a href="${utils.getDienstleistungUrl(i.id)}" class="el--search__form__assist__kat__list__item">${i.name}</a>
1372 </li>
1373 </#list>
1374 </ol>
1375 </div>
1376 </#if>
1377
1378 <#if suchergebnisEinrichtung??>
1379 <div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4">
1380 <h2>Einrichtungen (${suchergebnisEinrichtung?size})</h2>
1381 <ol>
1382 <#list suchergebnisEinrichtung as i>
1383 <li class="mb-2">
1384 <a href="${utils.getEinrichtungUrl(i.id)}" class="el--search__form__assist__kat__list__item">${i.name}</a>
1385 </li>
1386 </#list>
1387 </ol>
1388 </div>
1389 </#if>
1390
1391 <#if suchergebnisMitarbeiter??>
1392 <div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4">
1393 <h2>Ansprechpartner (${suchergebnisMitarbeiter?size})</h2>
1394 <ol>
1395 <#list suchergebnisMitarbeiter as i>
1396 <li class="mb-2">
1397 <a href="${utils.getMitarbeiterUrl(i.id)}" class="el--search__form__assist__kat__list__item">${i.volleAnsprache()}</a>
1398 </li>
1399 </#list>
1400 </ol>
1401 </div>
1402 </#if>
1403 </div>
1404 </#if>
1405 </div>
1406 </div>
1407 </div>
1408 </#if>
1409 </div>
1410 </div>
1411 <div class="search-styling">
1412 <div class="card p-4">
1413 <div class="search-placeholder search">
1414 <h1>Suche</h1>
1415 </div>
1416 </div>
1417 </div>
1418</#macro>
1419
1420<#function createPersoIcon13 class>
1421 <#return '<i aria-label="Icon-Elektronischer Personalausweis" class="'+class+'"><img aria-hidden="true" style="background: white;border-radius: 0.2rem;width: auto;height: 16px;display: inline;vertical-align: baseline;" class="persoIcon '+class+'" src ="/o/bot-theme/images/perso.svg" alt=""/></i>' />
1422</#function>
1423
1424<#macro externContentLoader9 headline content contentUrl privacyTitle privacyUrl showButtonText hideButtonText>
1425 <div class="externContentLoader" aria-hidden="true">
1426 <div class="row">
1427 <div class="col-12 contentCol">
1428 <div class="extern-hide">
1429 ${headline}
1430 ${content}
1431 </div>
1432 <div class="extern-show d-none" data-content="${contentUrl}"></div>
1433 </div>
1434 <div class="col-6 mt-2">
1435 <button class="btn btn-primary load-extern">
1436 ${showButtonText}
1437 </button>
1438 <button class="btn btn-primary remove-extern d-none">
1439 ${hideButtonText}
1440 </button>
1441 </div>
1442 <div class="col-6 mt-3 privacyUrl">
1443 <a href="${privacyUrl}">
1444 ${privacyTitle}
1445 </a>
1446 </div>
1447 </div>
1448 </div>
1449
1450 <script>
1451 $(document).ready(function(){
1452
1453 function loadExtern(element,url){
1454 $(element).append('<iframe style="height: 100%" src=' + url +' width="100%"></iframe>');
1455 }
1456
1457 function removeExtern(element){
1458 $(element).remove();
1459 }
1460
1461 function showContent(contentElement,buttonElement){
1462 contentElement.removeClass("d-none");
1463 buttonElement.removeClass("d-none");
1464 contentElement.addClass("d-block");
1465 buttonElement.addClass("d-block");
1466 }
1467 function hideContent(contentElement,buttonElement){
1468 contentElement.removeClass("d-block");
1469 buttonElement.removeClass("d-block");
1470 contentElement.addClass("d-none");
1471 buttonElement.addClass("d-none");
1472 }
1473 function findClosest(element,toFindElement){
1474 return $(element).find(toFindElement);
1475 }
1476
1477 function getParent(element){
1478 return $(element).closest(".externContentLoader");
1479 }
1480
1481 $(".load-extern").on("click",function(){
1482 let parent = getParent(this);
1483 let externShow = findClosest(parent,".extern-show");
1484 let externHide = findClosest(parent,".extern-hide");
1485 let externShowBtn = $(this);
1486 let externHideBtn = findClosest(parent,".remove-extern");
1487
1488
1489 showContent(externShow,externHideBtn);
1490 hideContent(externHide,externShowBtn);
1491 loadExtern(externShow,$(externShow).attr("data-content"))
1492 })
1493
1494 $(".remove-extern").on("click",function(){
1495 let parent = getParent(this);
1496 let externShow = findClosest(parent,".extern-show");
1497 let externHide = findClosest(parent,".extern-hide");
1498 let externShowBtn = findClosest(parent,".load-extern");
1499 let externHideBtn = $(this);
1500
1501 hideContent(externShow,externHideBtn);
1502 showContent(externHide,externShowBtn);
1503 removeExtern(externShow.children());
1504 })
1505 })
1506 </script>
1507</#macro>
1508
1509<#macro createTimeTable15 baseVariable>
1510 <#assign serviceZeitenEmpty = true />
1511 <#if baseVariable.servicezeitenStrukturiert?? && baseVariable.servicezeitenStrukturiert.tage??>
1512 <#list baseVariable.servicezeitenStrukturiert.tage?values as value>
1513 <#list value.paare?values as paare>
1514 <#if paare?? && paare?has_content && paare != '-'>
1515 <#assign serviceZeitenEmpty = false />
1516 <#break>
1517 </#if>
1518 </#list>
1519 <#if serviceZeitenEmpty == false>
1520 <#break>
1521 </#if>
1522 </#list>
1523 </#if>
1524
1525 <!-- serviceZeitenEmpty ${serviceZeitenEmpty?string('true','false')}-->
1526 <#if serviceZeitenEmpty == false>
1527 <table id="serviceTimeTable" class="table table-striped" style="width:100%;">
1528 <thead class="">
1529 <tr>
1530 <th style="width: calc(20%)" class="">Wochentag</th>
1531 <th style="width: calc(80% / 2)" class="">Servicezeitraum 1</th>
1532 <th style="width: calc(80% / 2)" class="">Servicezeitraum 2</th>
1533 </tr>
1534 </thead>
1535 <tbody>
1536 <#list baseVariable.servicezeitenStrukturiert.tage as tagName, tagZeiten>
1537 <#assign emptyTag = true />
1538 <#list tagZeiten.paare?values as tagZeitenPaar>
1539 <#if tagZeitenPaar?? && tagZeitenPaar?has_content && tagZeitenPaar != '-' >
1540 <#assign emptyTag = false />
1541 <#break>
1542 </#if>
1543 </#list>
1544 <#if emptyTag>
1545 <#else>
1546 <#if tagName??>
1547 <#assign
1548 tagNameFormated = tagName?substring(0, 1)?upper_case
1549 tagNameFormated = tagNameFormated + tagName?substring(1)?lower_case
1550 />
1551 <tr>
1552 <td>${tagNameFormated}</td>
1553 <#assign ersterEintraginSpalte = true />
1554 <#list tagZeiten.paare as key, value>
1555 <#if key == "VORMITTAGS">
1556 <#if value.getVon()?? && value.getBis()?has_content && value.getBis()?? && value.getBis()?has_content>
1557 <td class="">
1558 ${value.getVon()} bis ${value.getBis()} Uhr
1559 </td>
1560 <#else>
1561 <td class=""></td>
1562 </#if>
1563 </#if>
1564 <#if key == "NACHMITTAGS">
1565 <#if value.getVon()?? && value.getBis()?has_content && value.getBis()?? && value.getBis()?has_content>
1566 <td class="">
1567 ${value.getVon()} bis ${value.getBis()} Uhr
1568 </td>
1569 <#else>
1570 <td class=""></td>
1571 </#if>
1572 </#if>
1573 </#list>
1574 </tr>
1575 </#if>
1576 </#if>
1577 </#list>
1578 </tbody>
1579 </table>
1580 </#if>
1581</#macro>
1582
1583<#function createPhoneHref3 baseObject >
1584 <#return createNumberHref3(baseObject.telefonnummer,'tel') />
1585</#function>
1586<#function createFaxHref3 baseObject >
1587 <#return createNumberHref3(baseObject.faxnummer,'fax') />
1588</#function>
1589<#function createMailHref5 baseObject >
1590 <#return 'mailto:'+baseObject.email />
1591</#function>
1592<#function createMobilHref3 baseObject >
1593 <#return createNumberHref3(baseObject.mobil,'tel' ) />
1594</#function>
1595<#function createNumberHref3 baseObject prefix>
1596 <#assign
1597 phonenumber = baseObject?replace('-','')?replace(' ','')
1598 index = phonenumber?index_of('0')
1599 index = index + 1
1600 combinatedPhonenumber = prefix+":+49"+phonenumber?substring(index)
1601 />
1602 <#return combinatedPhonenumber />
1603</#function>
1604
1605<#function createContactList9 base listClass>
1606 <#assign
1607 listString = "<ul class='${listClass}' aria-label='Kontaktmöglichkeiten' style='list-style: none !important;padding: 0 !important;'>"
1608 />
1609 <#if existsAndHasContent1(base.telefonnummer!'')>
1610 <#assign listString = listString+
1611 "<li class='telefonnummer-li'>
1612 <p class='m-0'>Telefon:
1613 <a href='${createPhoneHref3(base)}' title='anrufen'>${base.telefonnummer} </a>
1614 </p>
1615 </li>"
1616 />
1617 </#if>
1618 <#if existsAndHasContent1(base.mobil!'')>
1619 <#assign listString = listString+
1620 "<li class='mobilnummer-li'>
1621 <p class='m-0'>Mobil:
1622 <a href='${createMobilHref3(base)}' title='anrufen'>${base.mobil} </a>
1623 </p>
1624 </li>"
1625 />
1626 </#if>
1627 <#if existsAndHasContent1(base.faxnummer!'')>
1628 <#assign listString = listString+
1629 "<li class='faxnummer-li'>
1630 <p class='m-0'>Fax:
1631 <a href='${createFaxHref3(base)}' title='Faxen'>${base.faxnummer} </a>
1632 </p>
1633 </li>"
1634 />
1635 </#if>
1636 <#if existsAndHasContent1(base.email!'')>
1637 <#assign listString = listString+
1638 "<li class='email-li'>
1639 <p class='m-0'>E-Mail:
1640 <a href='${createMailHref5(base)}' title='E-Mail schreiben'>${base.email}</a>
1641 </p>
1642 </li>"
1643 />
1644 </#if>
1645 <#assign listString = listString+"</ul>" />
1646 <#return listString />
1647</#function>
1648
1649<#function getFullFacilityName9 einrichtung spanClass>
1650 <#assign
1651 getFullFacilityNameCounter = 1
1652 einrichtungsname = ''
1653 />
1654 <#if einrichtung.breadcrumb?? && einrichtung.breadcrumb?has_content>
1655 <#list einrichtung.breadcrumb as i>
1656 <#if i.showAlways && i.name != einrichtung.name>
1657 <#assign
1658 einrichtungsname = einrichtungsname+' <span class="facility-name-level-'+getFullFacilityNameCounter+' '+spanClass+'">'+i.name+' </span>'
1659 getFullFacilityNameCounter = getFullFacilityNameCounter+1
1660 />
1661 </#if>
1662 </#list>
1663
1664 </#if>
1665
1666 <#if einrichtungsname == ''>
1667 <#assign einrichtungsname = '<span class="facility-name-level-1 '+spanClass+'">'+einrichtung.name+'</span>' />
1668 <#else>
1669 <#assign einrichtungsname = einrichtungsname+'<span class="facility-name-level-'+getFullFacilityNameCounter+' '+spanClass+'">'+einrichtung.name+' </span>' />
1670 </#if>
1671 <#return einrichtungsname />
1672</#function>
1673
1674<#function createAddressUL16 einrichtung listClass mitarbeiter>
1675 <#assign
1676 fullFacilityNameClass = listClass+'name'
1677 listString ="<ul aria-label='Adresse' class='address-list ${listClass}' style='list-style: none !important;padding: 0 !important;'>"
1678 listString = listString+
1679 "<li>
1680 ${getFullFacilityName9(einrichtung,fullFacilityNameClass)}
1681 </li>"
1682 listString = listString+
1683 "<li class='nameDerAdresse-li'>
1684 <span class='nameDerAdresse'>
1685 ${einrichtung.anschrift.name}
1686 </span>
1687 </li>"
1688 />
1689 <#if existsAndHasContent1(einrichtung.anschrift.strasse!'') || existsAndHasContent1(einrichtung.anschrift.hausnummer!'') >
1690 <#assign listString = listString+ "<li class='strasse-hausnummer-li'>" />
1691 <#if existsAndHasContent1(einrichtung.anschrift.strasse!'')>
1692 <#assign listString = listString+ "<span aria-label='Strasse' class='strasse'>${einrichtung.anschrift.strasse}</span> "/>
1693 </#if>
1694 <#if existsAndHasContent1(einrichtung.anschrift.hausnummer!'')>
1695 <#assign listString = listString+ "<span aria-label='Hausnummer' class='hausnummer'>${einrichtung.anschrift.hausnummer}</span> "/>
1696 </#if>
1697 <#assign listString = listString+ "</li>" />
1698 </#if>
1699 <#if existsAndHasContent1(einrichtung.anschrift.postleitzahl!'') || existsAndHasContent1(einrichtung.anschrift.ort!'')>
1700 <#assign listString = listString+ "<li class='postleitzahl-ort-li'>" />
1701 <#if existsAndHasContent1(einrichtung.anschrift.postleitzahl!'')>
1702 <#assign listString = listString+ "<span aria-label='Postleitzahl' class='postleitzahl'>${einrichtung.anschrift.postleitzahl}</span> "/>
1703 </#if>
1704 <#if existsAndHasContent1(einrichtung.anschrift.ort!'')>
1705 <#assign listString = listString+ "<span aria-label='Ort' class='ort'>${einrichtung.anschrift.ort}</span>" />
1706 </#if>
1707 <#assign listString = listString+ "</li>"/>
1708 </#if>
1709 <#if existsAndHasContent1(mitarbeiter!'')>
1710 <#if mitarbeiter.raum??>
1711 <#assign listString = listString+ "<li class='raum-li'>" />
1712 <#if einrichtung.anschrift.postleitzahl??>
1713 <#assign listString = listString+ "<span aria-label='Raum' class='raum'>Raum ${mitarbeiter.raum}</span> "/>
1714 </#if>
1715 <#assign listString = listString+ "</li>" />
1716 </#if>
1717 </#if>
1718
1719 <#if existsAndHasContent1(einrichtung.anschrift.postfach!'')>
1720 <#assign listString = listString+
1721 "<li class='mt-2 postfach-li'>
1722 <p class='m-0'><span class='postfach'>Postfach ${einrichtung.anschrift.getPostfach()}</span></p>
1723 <p class='m-0'>"
1724 />
1725
1726 <#if existsAndHasContent1(einrichtung.anschrift.postfachPostleitzahl!'')>
1727 <#assign listString = listString+ "<span aria-label='Postfach Postleitzahl' class='postleitzahl'>
1728 ${einrichtung.anschrift.postfachPostleitzahl}
1729 </span>"
1730 />
1731 </#if>
1732 <#if existsAndHasContent1(einrichtung.anschrift.postfachOrt!'')>
1733 <#assign listString = listString+ "<span aria-label='Postfach Ort' class='ort'>
1734 ${einrichtung.anschrift.postfachOrt}
1735 </span>"
1736 />
1737 </#if>
1738 <#assign listString = listString+ "</p></li>"/>
1739 </#if>
1740 <#if existsAndHasContent1(einrichtung.anschrift.zusatz!'')>
1741 <#assign listString = listString+
1742 "<li class='mt-2 adresszusatz-li'>
1743 <p class='m-0'>
1744 <span class='adresszusatz'>
1745 <strong>Adresszusatz: </strong>
1746 <br/>
1747 ${einrichtung.anschrift.getZusatz()}
1748 </span>
1749 </p></li>"
1750 />
1751 </#if>
1752 <#assign listString = listString+'</ul>'/>
1753 <#return listString />
1754</#function>
1755
1756<#macro kostenliste3>
1757 <#if existsAndHasContent1(dienstleistung.kostenmodul.beschreibung!'') || existsAndHasContent1(dienstleistung.kostenmodul.kosten!'')>
1758 <#if existsAndHasContent1(dienstleistung.kostenmodul.kosten!'')>
1759 <#assign showDescription = false />
1760 <#list dienstleistung.kostenmodul.kosten as kosten>
1761 <#if existsAndHasContent1(kosten.beschreibung!'')>
1762 <#assign showDescription = true />
1763 </#if>
1764 </#list>
1765 <table class="w-100">
1766 <thead>
1767 <tr>
1768 <th <#if showDescription> style="width:60%" <#else> style="width:80%" </#if>
1769 class="pl-0 pr-2 py-2">Name
1770 </th>
1771 <th class="p-2 d-none">Typ</th>
1772 <th <#if showDescription> style="width:15%" <#else> style="width:20%" </#if>
1773 class="p-2">Kosten</th>
1774 <#if showDescription>
1775 <th class="p-2" style="width:25%">Beschreibung</th>
1776 </#if>
1777 </tr>
1778 </thead>
1779 <tbody>
1780 <#list dienstleistung.kostenmodul.kosten as kosten>
1781 <tr>
1782 <td class="pl-0 pr-2 py-2">${kosten.name}</td>
1783 <td class="p-2 d-none">
1784 <#if kosten.typ?? && kosten.typ?length gt 0>
1785 <#assign kostenTypeName = kosten.typ+'' />
1786 ${kostenTypeName?substring(0, 1)?upper_case}${kostenTypeName?substring(1)?lower_case}
1787 <#else>
1788 <span class="sr-only">Keine Angabe</span>
1789 </#if>
1790 </td>
1791 <td class="p-2">
1792 <#if kosten.isKostenfrei()>
1793 kostenfrei
1794 <#elseif kosten.isKostenVariabel()>
1795 zwischen ${utils.formatCurrency(kosten.von)} und ${utils.formatCurrency(kosten.bis)} EUR
1796 <#else>
1797 ${utils.formatCurrency(kosten.von)} EUR
1798 </#if>
1799 </td>
1800 <#if showDescription>
1801 <td class="p-2"> <#if kosten.beschreibung??> ${kosten.beschreibung} </#if></td>
1802 </#if>
1803 </tr>
1804 </#list>
1805 </tbody>
1806 </table>
1807 </#if>
1808 ${dienstleistung.kostenmodul.beschreibung}
1809 </#if>
1810</#macro>
1811
1812<#macro openstreetmap52 headline lat lng>
1813 <#if (lat?has_content && lng?has_content) && (lat gt 0 && lng gt 0)>
1814 <hr>
1815 <h2>${headline}</h2>
1816 <div style="">
1817 <#assign
1818 url = 'https://www.openstreetmap.org'
1819 uri = '/export/embed.html?'
1820 delimiter = '%2C'
1821 box = 'bbox=' + (lng + 0.000911951065064) + delimiter + (lat + 0.00044345841716) + delimiter + (lng - 0.000911951065064) + delimiter + (lat - 0.00044345421122) + '&layer=mapnik&marker='+lat+delimiter+lng
1822 headline = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-headline"))
1823 content = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-content"))
1824 privacyTitle = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-privacy-title"))
1825 privacyUrl = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-privacy-url"))
1826 showButtonText = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-show-button-title"))
1827 hideButtonText = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-extern-content-map-hide-button-title"))
1828 contentUrl = url+uri+box
1829 />
1830 <@externContentLoader9 headline content contentUrl privacyTitle privacyUrl showButtonText hideButtonText />
1831 <hr>
1832 </div>
1833 </#if>
1834</#macro>
1835
1836<#function collapseBefore20 title icon colappseId>
1837 <#if dienstleistung?has_content>
1838 <#assign shortName = 'dl'/>
1839 <#elseif einrichtung?has_content>
1840 <#assign shortName = 'fa'/>
1841 <#elseif mitarbeiter?has_content>
1842 <#assign shortName = 'mi'/>
1843 </#if>
1844
1845 <#if colappseId != ''>
1846 <#assign collapeId = colappseId?replace(' ','')?replace('\\.','')?replace('/','')/>
1847 <#else>
1848 <#assign collapeId = title?replace(' ','')?replace('\\.','')?replace('/','')/>
1849 </#if>
1850 <#return "<div class='card collapseCard' id='collapse-${shortName}-base-${collapeId}'>
1851 <div class='card-header'>
1852 <a class='card-link collapsed' data-toggle='collapse' href='#${shortName}-${collapeId}' aria-expanded='false'>
1853 ${icon}
1854 <h2>${title}</h2>
1855 </a>
1856 </div>
1857 <div id='${shortName}-${collapeId}' class='collapse'>
1858 <div class='card-body'> "/>
1859</#function>
1860
1861<#function collapseAfter>
1862 <#return "</div></div></div>"/>
1863</#function>
1864
1865<#function createDLnewLink8 css, linkClass, bevoreLinkTitle, icon, title, targetParam, descriptionParam, hrefParam, aditionalAttributsParams>
1866 <#if descriptionParam?? && descriptionParam?has_content>
1867 <#assign descriptionTitle = "title='${descriptionParam}'" />
1868 </#if>
1869 <#if targetParam == "blank">
1870 <#assign target = "_blank" />
1871 <#elseif targetParam == "self">
1872 <#assign target = "_self" />
1873 <#else>
1874 <#assign target = "_blank" />
1875 </#if>
1876 <#if hrefParam?has_content && hrefParam != ''>
1877 <#assign href= "href='${hrefParam}'" />
1878 <#else>
1879 <#assign href = '' />
1880 </#if>
1881
1882 <#if aditionalAttributsParams?? && aditionalAttributsParams?has_content>
1883 <#assign attributs = aditionalAttributsParams />
1884 <#else>
1885 <#assign attributs = '' />
1886 </#if>
1887 <#return "<a class='${linkClass}'
1888 style='${css}'
1889 target='${target}'
1890 ${descriptionTitle}
1891 ${href}
1892 ${attributs}
1893 >
1894 ${bevoreLinkTitle}
1895 ${icon}
1896 <span>${title}</span>
1897 </a>" />
1898</#function>
1899
1900<#function iconLegendListEntry5 show icon content>
1901 <#assign value = '' />
1902 <#if show>
1903 <#assign value = "<li class=''>
1904 <div class='row'>
1905 <div class='col-2' style='min-height: 35px;display: flex;justify-content: center;align-items: center;'>
1906 <p class='mb-0'>${icon}
1907 </div>
1908 <div class='col-10' style='min-height: 35px;display: flex;justify-content:left ;align-items: center;'>
1909 <p class='mb-0'>${content}
1910 </div>
1911 </div>
1912 </li>"
1913 />
1914 </#if>
1915 <#return value>
1916</#function>
1917
1918<#macro iconLegendList10 elementId destination fontColor persoLogo persoContent lockIcon lockContent moneyIcon moneyContent>
1919 <#if showDLLockIcon || showDLMoneyIcon || showDLPersoLogo>
1920 <div class="<#if showDLIcons??> sr-only </#if>" style="font-size: 0.7rem" id="${elementId}">
1921 <h3 class="mb-0 mt-3" style="color:${fontColor}; font-weight: 700 !important;font-size: small !important;">Icon Legende</h3>
1922 <ul style="font-size: 0.7rem; list-style: none !important; padding-left: 0 !important;" aria-label="Icon Legende">
1923 ${iconLegendListEntry5(showDLPersoLogo,persoLogo, persoContent)}
1924 ${iconLegendListEntry5(showDLLockIcon,lockIcon, lockContent)}
1925 ${iconLegendListEntry5(showDLMoneyIcon,moneyIcon, moneyContent)}
1926 </ul>
1927 <a class="sr-only sr-only-focusable" href="#${destination}" >Sprung zur den Onlinedienstleistungen</a>
1928 </div>
1929 </#if>
1930</#macro>
1931
1932<#macro collapseList6 collapseId headline htmlContent htmlClass showAs>
1933 <button
1934 data-toggle="collapse"
1935 data-target="#${collapseId}"
1936 class="${htmlClass} <#if showAs == "button"> btn btn-secondary </#if> w-100 text-left text-break">
1937 ${headline}
1938 </button>
1939 <div id="${collapseId}" class="collapse">
1940 ${htmlContent}
1941 </div>
1942</#macro>
1943
1944<#function card3 title content>
1945 <#return "<div class='card'>
1946 <div class='card-header'>
1947 <h2>${title}</h2>
1948 </div>
1949 <div class='card-body'>
1950 ${content}
1951 </div>
1952 </div>" />
1953</#function>
1954
1955<#function getLabelName4 dienstleistung pathName default >
1956<#-- <#if dienstleistung.labels?? && dienstleistung.labels?has_content>
1957 ${dienstleistung.labels?size}
1958 <#if dienstleistung.labels.getOrDefault(pathName, default)?? && dienstleistung.labels.getOrDefault(pathName, default)?has_content>
1959 <#return dienstleistung.labels.getOrDefault(pathName, default) />
1960 </#if>
1961 <#else>-->
1962 <#return default>
1963<#-- </#if>-->
1964</#function>
1965
1966<#function renderTextmodul12 modul labelPath defaultLabelName>
1967 <#assign
1968 value =""
1969 label = "${getLabelName4(dienstleistung, labelPath,defaultLabelName)}"
1970 elementId = labelPath?replace('.','')
1971 />
1972 <#if existsAndHasContent1(modul.inhalt!'')>
1973 <#if showCollapse>
1974 <#assign value = value + "${collapseBefore20(label,collapseIcon,elementId)}"/>
1975 </#if>
1976 <#assign value = value + "${content_item3(label,modul.inhalt ,showLines)}"/>
1977 <#if showCollapse>
1978 <#assign value = value + "${collapseAfter()}"/>
1979 </#if>
1980 </#if>
1981 <#return value/>
1982</#function>
1983
1984<#function content_item3 title content line>
1985 <#assign value = "<div>" />
1986 <#if line == true>
1987 <#assign value = value + "<hr>"/>
1988 </#if>
1989 <#if line == true>
1990 <#assign value = value + "<h2>${title}</h2>"/>
1991 </#if>
1992 <#assign value = value + "${content}</div>"/>
1993 <#return value />
1994</#function>
1995
1996<#function linklooper7 linkList>
1997 <#assign
1998 value = ""
1999 class = ""
2000 target = ""
2001 />
2002 <#if linkList??>
2003 <#list linkList.weiterfuehrenderLink as link>
2004 <#if linksAsButton>
2005 <#assign class = "btn btn-secondary w-100 text-left mt-2" />
2006 </#if>
2007 <#if link.neuesFenster>
2008 target='_blank'
2009 </#if>
2010 <#assign
2011 value = value + "<li>
2012 <a href='${link.uri}' title='${link.titel}' class='${class}' ${target}>${IconBeforeOnlineServices}${link.titel}</a>
2013 </li>"/>
2014 </#list>
2015 </#if>
2016 <#return value>
2017</#function>
2018
2019<#function linklooperUL1 linkList>
2020 <#assign
2021 value = ""
2022 class = ""
2023 target = ""
2024 />
2025 <#if linkList??>
2026 <#list linkList.weiterfuehrenderLink as link>
2027 <#if linksAsButton>
2028 <#assign class = "btn btn-secondary w-100 text-left" />
2029 </#if>
2030 <#if link.neuesFenster>
2031 target='_blank'
2032 </#if>
2033 <#assign
2034 value = value + "<li>
2035 <a href='${link.uri}' title='${link.titel}' class='${class}' ${target}>${link.titel}</a>
2036 </li>"/>
2037 </#list>
2038 </#if>
2039 <#return value>
2040</#function>
2041
2042<#macro onlineServices147 linkToIconsid destination dienstleistung linkCss linkclass beforeLinkTitle lockIcon persoIcon moneyIcon dlNeedsLogin dlNeedsEidLogin dlHasCosts dlAndHasCosts internetAdressen>
2043 <#assign
2044 iconBefore = getterUtil.getString(themeDisplay.getThemeSetting("03-vr-details-left-online-services-icon"))
2045 beforeLinkTitle = iconBefore
2046 />
2047
2048 <#if existsAndSizeGTZero(dienstleistung.extensions)
2049 || existsAndSizeGTZero(dienstleistung.formulare)
2050 || (dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content)
2051 || existsAndSizeGTZero(dienstleistung.internetadressen)
2052 || existsAndSizeGTZero(dienstleistung.textmodul.formulare)>
2053 <#if showDLIcons && (showDLLockIcon || showDLMoneyIcon)>
2054 <a class="sr-only sr-only-focusable" href="#${destination}" id="${linkToIconsid}">Sprung zur Icon Legende.</a>
2055 </#if>
2056 <ul style="list-style: none !important; padding-left: 0 !important;">
2057 <#assign
2058 css = linkCss
2059 dlElementClass = linkClass
2060 />
2061 <#if existsAndSizeGTZero(dienstleistung.extensions)>
2062 <#assign userAuthLevel = utils.getAuthLevel(renderRequest)/>
2063 <#assign idCounter = 1 />
2064 <#list dienstleistung.extensions as formular>
2065
2066 <#assign title = formular.titel/>
2067 <#assign minAuthLevel = formular.minAuthLevel />
2068
2069 <#if loginForAllExtensions>
2070 <#if minAuthLevel == 0 >
2071 <#assign minAuthLevel = 1 />
2072 </#if>
2073 </#if>
2074 <!--
2075 minAuthLevel ${minAuthLevel}
2076 userAuthLevel ${userAuthLevel}
2077 -->
2078 <#if userAuthLevel gte minAuthLevel>
2079 <li class="mb-2">
2080 <p class="mb-0">
2081 <#assign description = "${formular.titel}."/>
2082 <#if formular.paymentSupported>
2083 <#assign description =description + dlHasCosts />
2084 </#if>
2085 <#assign target = 'self'/>
2086 <#assign icon = ''/>
2087 <#if formular.paymentSupported>
2088 <#assign showDLMoneyIcon = true />
2089 <#assign icon = icon+moneyIcon />
2090 </#if>
2091 <#assign href = formular.uri/>
2092 <#assign aditionalAttributs = ''/>
2093 ${createDLnewLink8(css dlElementClass iconBefore icon title target description href aditionalAttributs)}
2094 </p>
2095 </li>
2096 <#else>
2097 <#if minAuthLevel == 1>
2098 <#assign showDLLockIcon = true />
2099 <li class="mb-2">
2100 <p class="mb-0">
2101 <#assign description = "${formular.titel}. ${dlNeedsLogin}" />
2102 <#if formular.paymentSupported>
2103 <#assign description = description + dlAndHasCosts />
2104 </#if>
2105 <#assign target = 'self' />
2106 <#assign icon = lockIcon />
2107 <#if formular.paymentSupported >
2108 <#assign showDLMoneyIcon = true />
2109 <#assign icon =icon+moneyIcon />
2110 </#if>
2111 <#assign href = '' />
2112 <#assign aditionalAttributs = "${createLoginURL(formular.uri)}"/>
2113 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2114 </p>
2115 </li>
2116 <#elseif minAuthLevel == 2>
2117 <#assign showDLLockIcon = true />
2118 <li class="mb-2">
2119 <p class="mb-0">
2120 <#assign description = "${formular.titel}. ${dlNeedsLogin}"/>
2121 <#if formular.paymentSupported >
2122 <#assign description = description + dlAndHasCosts />
2123 </#if>
2124 <#assign target = 'self'/>
2125 <#assign icon =lockIcon/>
2126 <#if formular.paymentSupported>
2127 <#assign showDLMoneyIcon = true />
2128 <#assign icon =icon+moneyIcon/>
2129 </#if>
2130 <#assign href = '' />
2131 <#assign aditionalAttributs = "${createLoginURL(formular.uri)}"/>
2132 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2133 </p>
2134 </li>
2135 <#elseif minAuthLevel == 3>
2136 <#assign showDLPersoLogo = true />
2137 <li class="mb-2">
2138 <p class="mb-0">
2139 <#assign description = "${formular.titel}. ${dlNeedsEidLogin}"/>
2140 <#if formular.paymentSupported>
2141 <#assign description = description + dlAndHasCosts/>
2142 </#if>
2143 <#assign target = 'self'/>
2144
2145 <#assign persoIconId = 'PersoIcon'+idCounter/>
2146 <#assign icon = "${createPersoIcon13(persoIconId)}"/>
2147
2148 <#if formular.paymentSupported >
2149 <#assign showDLMoneyIcon = true />
2150 <#assign icon =icon+moneyIcon/>
2151 </#if>
2152 <#assign serviceName = dienstleistung.name />
2153 <#assign nameForDescrptionSite = serviceName?replace('\\&','')?replace(' ',' ')?replace('\\?','')?replace('\\#','')?replace('\\*','')?replace('\\+','')?replace('\\','')?replace('\\/','') />
2154 <#if utils.angemeldet>
2155 <#assign href = "${eIDLoginURLLevel4}?dlname=${nameForDescrptionSite}&dlurl=${themeDisplay.getURLCurrent()}"/>
2156 <#assign aditionalAttributs = '' />
2157 <#else>
2158 <#assign href = '' />
2159 <#assign aditionalAttributs = "${createLoginURL(formular.uri)}"/>
2160 </#if>
2161 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2162 </p>
2163 </li>
2164 </#if>
2165 </#if>
2166 <#assign idCounter = idCounter + 1 />
2167 </#list>
2168 </#if>
2169 <#if !utils.angemeldet && !dienstleistung.nutzbarAlsGast>
2170 <#if dienstleistung.formulare??>
2171 <#assign showDLLockIcon = true/>
2172 <#list dienstleistung.formulare as formular>
2173 <li class="mb-2">
2174 <p class="mb-0">
2175 <#assign title = formular.titel/>
2176 <#assign description = "${title}. ${dlNeedsLogin}"/>
2177 <#if formular.neuesFenster>
2178 <#assign target = "blank"/>
2179 <#else>
2180 <#assign target = 'self'/>
2181 </#if>
2182 <#assign icon =lockIcon/>
2183 <#assign href = ''/>
2184 <#assign aditionalAttributs = "${createLoginURL(formular.uri)}"/>
2185 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2186 </p>
2187 </li>
2188 </#list>
2189 </#if>
2190 <#if dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content>
2191 <#assign showDLLockIcon = true />
2192 <li class="mb-2">
2193 <p class="mb-0">
2194 <#assign title = 'Zum Kontaktformular' />
2195 <#assign description = "${title}. ${dlNeedsLogin}"/>
2196 <#assign target = ''/>
2197 <#assign icon =lockIcon/>
2198 <#assign href = ''/>
2199 <#assign aditionalAttributs = "${createLoginURL(dienstleistung.kontaktformularUrl)}"/>
2200 <!-- ${aditionalAttributs} -->
2201 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2202 </p>
2203 </li>
2204 </#if>
2205 <#if formularWithLogin>
2206 <!-- Linkformulare und Links-->
2207 <#if existsAndSizeGTZero(dienstleistung.textmodul.formulare)>
2208 <#list dienstleistung.textmodul.formulare.weiterfuehrenderLink as formular>
2209 <li class="mb-2">
2210 <p class="mb-0">
2211 <#if formular.titel != "" && !formular.titel??>
2212 <#assign title = formular.titel/>
2213 <#else>
2214 <#assign title = formular.uri/>
2215 </#if>
2216
2217 <#assign description = "${title}. ${dlNeedsLogin}"/>
2218 <#if formular.neuesFenster>
2219 <#assign target = 'blank'/>
2220 <#else>
2221 <#assign target = 'self'/>
2222 </#if>
2223 <#assign icon = lockIcon/>
2224 <#assign href = '' />
2225 <#assign aditionalAttributs = "${createLoginURL(formular.uri)}" />
2226 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2227 </p>
2228 </li>
2229 </#list>
2230 </#if>
2231 <#if internetAdressen == true && existsAndSizeGTZero(dienstleistung.internetadressen)>
2232 <#list dienstleistung.internetadressen as link>
2233 <li class="mb-2">
2234 <p class="mb-0">
2235 <#if link.titel != "" && link.titel??>
2236 <#assign title = link.titel/>
2237 <#else>
2238 <#assign title = link.uri/>
2239 </#if>
2240
2241 <#assign description = "${title}. ${dlNeedsLogin}"/>
2242 <#if link.neuesFenster>
2243 <#assign target = 'blank'/>
2244 <#else>
2245 <#assign target = 'self'/>
2246 </#if>
2247 <#assign icon =lockIcon/>
2248 <#assign href = ''/>
2249 <#assign aditionalAttributs = "${createLoginURL(link.uri)}"/>
2250 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2251 </p>
2252 </li>
2253 </#list>
2254 </#if>
2255 <!-- Linkformulare und Links ende-->
2256 </#if>
2257 <#else>
2258 <#if existsAndSizeGTZero(dienstleistung.formulare)>
2259 <#list dienstleistung.formulare as formular>
2260 <li class="mb-2">
2261 <p class="mb-0">
2262 <#assign title = formular.titel/>
2263 <#assign description = "${title}. ${dlNeedsLogin}"/>
2264 <#if formular.neuesFenster>
2265 <#assign target = 'blank'/>
2266 <#else>
2267 <#assign target = 'self'/>
2268 </#if>
2269 <#assign icon =''/>
2270 <#assign href = formular.uri/>
2271 <#assign aditionalAttributs = ''/>
2272 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2273 </p>
2274 </li>
2275 </#list>
2276 </#if>
2277 <#if dienstleistung.kontaktformularUrl?? && dienstleistung.kontaktformularUrl?has_content>
2278 <li class="mb-2">
2279 <p class="mb-0">
2280 <#assign title = 'Zum Kontaktformular'/>
2281 <#assign description = title/>
2282 <#assign target = ''/>
2283 <#assign icon = ''/>
2284 <#assign href = dienstleistung.kontaktformularUrl/>
2285 <#assign aditionalAttributs = '' />
2286 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2287 </p>
2288 </li>
2289 </#if>
2290 </#if>
2291 <#if formularWithLogin == false || utils.angemeldet || dienstleistung.nutzbarAlsGast>
2292 <#if existsAndSizeGTZero(dienstleistung.textmodul.formulare)>
2293 <#list dienstleistung.textmodul.formulare.weiterfuehrenderLink as formular >
2294 <li class="mb-2">
2295 <p class="mb-0">
2296
2297 <#if formular.titel != "" && formular.titel??>
2298 <#assign title = formular.titel />
2299 <#else>
2300 <#assign title = formular.uri />
2301 </#if>
2302
2303 <#assign description = title />
2304 <#if formular.neuesFenster >
2305 <#assign target = 'blank'/>
2306 <#else>
2307 <#assign target = 'self'/>
2308 </#if>
2309 <#assign icon ='' />
2310 <#assign href = formular.uri/>
2311 <#assign aditionalAttributs = '' />
2312 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2313 </p>
2314 </li>
2315 </#list>
2316 </#if>
2317 <#if internetAdressen == true && existsAndSizeGTZero(dienstleistung.internetadressen)>
2318 <#list dienstleistung.internetadressen as link>
2319 <li class="mb-2">
2320 <p class="mb-0">
2321 <#if link.titel != "" && link.titel??>
2322 <#assign title = link.titel/>
2323 <#else>
2324 <#assign title = link.uri/>
2325 </#if>
2326
2327 <#assign description = title />
2328 <#if link.neuesFenster>
2329 <#assign target = 'blank'/>
2330 <#else>
2331 <#assign target = 'self'/>
2332 </#if>
2333 <#assign icon =''/>
2334 <#assign href = link.uri/>
2335 <#assign aditionalAttributs = '' />
2336 ${createDLnewLink8(css, dlElementClass, iconBefore, icon, title, target, description, href, aditionalAttributs)}
2337 </p>
2338 </li>
2339 </#list>
2340 </#if>
2341 </#if>
2342 </ul>
2343 </#if>
2344</#macro>
2345
2346
2347<#function existsAndSizeGTZero element>
2348 <#if element?? && element?size gt 0>
2349 <#return true />
2350 <#else>
2351 <#return false />
2352 </#if>
2353</#function>
2354
2355<#function existsAndHasContent1 element>
2356 <#if element?? && element?has_content>
2357 <#return true />
2358 <#else>
2359 <#return false />
2360 </#if>
2361</#function>