Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing: ==> vr [in template "33473#33508#105131" at line 15, column 11] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: bis2017 = vr.bis2017 [in template "33473#33508#105131" at line 15, column 1] ----
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>