Online Termin vereinbaren

Suche

BIS: Suche und Detail

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> formular.neuesFenster  [in template "33417#33452#717531" at line 1042, column 22]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #if formular.neuesFenster  [in template "33417#33452#717531" in macro "onlineServices180" at line 1042, column 17]
	- Reached through: @onlineServices180 idTopLink, idBotto...  [in template "33417#33452#717531" at line 557, column 13]
----
1<#assign 
2    suchergebnisDienstleistung = vr.bis2017.suchergebnisDienstleistung 
3    suchergebnisEinrichtung = vr.bis2017.suchergebnisEinrichtung 
4    suchergebnisMitarbeiter = vr.bis2017.suchergebnisMitarbeiter 
5> 
6 
7<#assign mitarbeiterShow = "vr-bis-detail-mitarbeiter-show"> 
8<#assign einrichtungShow = "vr-bis-detail-einrichtung-show"> 
9<#assign dienstleistungShow = "vr-bis-detail-dienstleistung-show"> 
10 
11 
12<#assign current_url_WithHtml = themeDisplay.getPortalURL()> 
13<#assign current_uri_WithHtml = themeDisplay.getURLCurrent()> 
14 
15<#assign login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='> 
16<#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'> 
17<#assign login_url_WithHtml = login_url1_WithHtml + current_uri_WithHtml + login_url2_WithHtml> 
18 
19 
20 
21<#assign plid = themeDisplay.getPlid()> 
22<#assign createAccountURL = portletURLFactory.create(renderRequest,"com_liferay_login_web_portlet_LoginPortlet", plid, 
23"RENDER_PHASE")> 
24${createAccountURL.setParameter("mvcRenderCommandName", "/login/create_account")} 
25${createAccountURL.setParameter("p_p_state", "maximized")} 
26${createAccountURL.setParameter("p_p_mode", "view")} 
27 
28<#-- ---------------------------------------------------------------------------------------------- 
29Ansicht für Suchergebnisse "bisview-suchergebnis" 
30----------------------------------------------------------------------------------------------- --> 
31<style> 
32    .selected { 
33        outline: 3px solid #FFC04C; 
34    } 
35</style> 
36 
37<div id="search-dropdown"> 
38    <div id="resp"> 
39    <#if vr??> 
40        <div class="row mt-3"> 
41            <div class="col-12"> 
42                <div class="search-detail"> 
43 
44                    <#if suchergebnisDienstleistung?size == 0 && 
45                    suchergebnisEinrichtung?size == 0 && 
46                    suchergebnisMitarbeiter?size == 0 && 
47                    !dienstleistung?? && 
48                    !mitarbeiter?? && 
49                    !einrichtung??> <#-- Keine Treffer zur Suchanfrage --> 
50                    <p>Es gab keine Treffer zu Ihrer Suchanfrage.</p> 
51                    <#else> 
52                    <div class="row" id="quickSuggestions"> 
53                        <div class="col-sm-12 col-md-4"> 
54                            <div class="mb-md-2"> 
55                                <span class="fsML">Dienstleistungen (${suchergebnisDienstleistung?size})</span> 
56                            </div> 
57                            <#if (suchergebnisDienstleistung?size > 0)> 
58                            <#list suchergebnisDienstleistung as sDL> 
59                            <div class="ml-2 ml-md-0"> 
60                                <a href="${utils.getDienstleistungUrl(sDL.id)}" class="cBlue underline">${sDL.name}</a> 
61                            </div> 
62                            </#list> 
63                            </#if> 
64                        </div> 
65                        <div class="col-12 col-md-4"> 
66                            <div class="mb-md-2 mt-2 mt-md-0"> 
67                                <span class="fsML">Ämter &amp; Einrichtungen (${suchergebnisEinrichtung?size})</span> 
68                            </div> 
69                            <#if (suchergebnisEinrichtung?size > 0)> 
70                            <#list suchergebnisEinrichtung as sEin> 
71                            <div class="ml-2 ml-md-0"> 
72                                <a href="${utils.getEinrichtungUrl(sEin.id)}" class="cBlue underline">${sEin.name}</a> 
73                            </div> 
74                            </#list> 
75                            </#if> 
76                        </div> 
77                        <div class="col-sm-12 col-md-4"> 
78                            <div class="mb-md-2 mt-2 mt-md-0"> 
79                                <span class="fsML">Mitarbeiter (${suchergebnisMitarbeiter?size})</span> 
80                            </div> 
81                            <#if (suchergebnisMitarbeiter?size > 0)> 
82                            <#list suchergebnisMitarbeiter as sMa> 
83                            <div class="ml-2 ml-md-0"> 
84                                <a href="${utils.getMitarbeiterUrl(sMa.id)}" class="cBlue underline">${sMa.name}</a> 
85                            </div> 
86                            </#list> 
87                            </#if> 
88                        </div> 
89                    </div> 
90                    </#if> 
91                </div> 
92            </div> 
93        </div> 
94        </#if> 
95    </div> 
96</div> 
97<script> 
98 
99    let shiftEnabled = false; 
100 
101    jQuery(document).ready( function () { 
102        if(jQuery('#form-element-query')){ 
103            const searchbox = jQuery('#form-element-query'); 
104            searchbox.removeAttr('placeholder'); 
105            if(searchbox.val() != ''){ 
106                searchbox.parent().append('<label id="searchBoxLabel" for="form-element-query" class="searchLabel active">Was können wir für dich tun?</label>').css('z-index','1') 
107            }else { 
108                searchbox.parent().append('<label id="searchBoxLabel" for="form-element-query" class="searchLabel">Was können wir für dich tun?</label>').css('z-index','1') 
109            } 
110 
111            const label = jQuery('#searchBoxLabel'); 
112            label.click(function() { 
113                document.getElementById('form-element-query').focus(); 
114                label.addClass('active') 
115            }); 
116            searchbox.on({ 
117                focus: function() {activateSearchLabel()}, 
118                blur: function() {disactivateSearchLabel()}, 
119                keydown: function() {checkShift(event, true);manipulateFocusInput(event);keyCodeNavigation(event)}, 
120            }); 
121            searchbox.off('keyup').on('keyup', function() {checkShift(event, false)}); 
122            searchbox.attr({autocomplete: 'off'}); 
123        } 
124    }); 
125    function activateSearchLabel() { 
126        var label = document.getElementById("searchBoxLabel"); 
127        label.className = "searchLabel active"; 
128    } 
129    function disactivateSearchLabel() { 
130        var label = document.getElementById("searchBoxLabel"); 
131        var input = document.getElementById("form-element-query"); 
132        if(input.value==""){ 
133            label.className = "searchLabel"; 
134        } 
135    } 
136 
137    window.addEventListener("keydown", function(event) { 
138        checkShift(event, true) 
139    }); 
140    window.addEventListener("keyup", function(event) { 
141        checkShift(event, false) 
142    }); 
143 
144    function searchDropDownVisible() { 
145        var suggestions = document.getElementById("search-dropdown"); 
146        return suggestions.style.display != "none"; 
147    } 
148 
149 
150    function manipulateFocusInput(e) { 
151        if (e.keyCode == 9 && !shiftEnabled) { 
152            e.preventDefault(); 
153            var button = document.getElementById("form-element-suche-submit"); 
154            button.focus(); 
155        } 
156    } 
157 
158    function keyCodeNavigation(e) { 
159        var row = document.getElementById("quickSuggestions"); 
160        if(row != null){ 
161            var LEFT = 37, 
162                UP = 38, 
163                RIGHT = 39, 
164                DOWN = 40, 
165                ESC = 27, 
166                ENTER = 13, 
167                SPACE = 32; 
168            var kcode = e.keyCode; 
169 
170 
171            var input = document.getElementById("form-element-query"); 
172            var allA = row.getElementsByTagName("a"); 
173 
174            if (searchDropDownVisible()) { 
175                if ((kcode == ENTER || kcode == SPACE) && isASelected()) { 
176                    e.preventDefault(); 
177                    if (allA[getSelectedAIndex()]) { 
178                        var val = allA[getSelectedAIndex()].text; 
179                        input.value = val; 
180                        unselectAll(); 
181                        window.location.href = allA[getSelectedAIndex()].href 
182                    } 
183                } 
184                if (kcode == ESC && isASelected()) { 
185                    unselectAll(); 
186                } 
187                if (kcode == DOWN) { 
188                    e.preventDefault(); 
189                    if (!isASelected()) { 
190                        selectAByIndex(0) 
191                    } else { 
192                        var selectedTD = getSelectedAIndex(); 
193                        selectAByIndex((selectedTD + 1) % allA.length); 
194                    } 
195                } 
196                if (kcode == UP && isASelected()) { 
197                    e.preventDefault(); 
198                    if (!isASelected()) { 
199                        selectAByIndex(0) 
200                    } else { 
201                        var selectedTD = getSelectedAIndex(); 
202                        nextIDX = (selectedTD - 1) % allA.length; 
203                        if (nextIDX < 0) { 
204                            nextIDX = allA.length + nextIDX; 
205                        } 
206                        selectAByIndex(nextIDX); 
207 
208                    } 
209                } 
210                if (kcode == RIGHT && isASelected()) { 
211                    e.preventDefault(); 
212                    if (!isASelected()) { 
213                        selectAByIndex(0) 
214                    } else { 
215                        const selectedTD = getSelectedAIndex(); 
216                        //identify col 
217                        let countedAs = 0; 
218                        let corrCol = 0; 
219                        let posInCol = 0; 
220                        for(let i = 0; i< row.children.length; i++){ 
221                            const rowChildren = row.children[i].getElementsByTagName("a"); 
222                            for(let j = 0; j < rowChildren.length; j++){ 
223                                if (rowChildren[j] === allA[selectedTD]){ 
224                                    corrCol = i; 
225                                    posInCol = j+1; 
226                                    break; 
227                                } 
228                            } 
229                        } 
230                        //get corresponding id of next col 
231                        let nextColId = -1; 
232                        for(let i = corrCol+1; i< corrCol + row.children.length; i++){ 
233                            if(row.children[i % countCols()].getElementsByTagName("a").length >0){ 
234                                nextColId = i%countCols(); 
235                                break; 
236                            } 
237                        } 
238                        //identify position in next col and calc the index 
239                        if(nextColId > -1){ 
240                            const posInNextCol = Math.min(row.children[nextColId].getElementsByTagName("a").length, posInCol); 
241                            const nextIndexAddition = selectedTD + (row.children[corrCol].getElementsByTagName("a").length - posInCol)+ posInNextCol; 
242                            selectAByIndex(nextIndexAddition % allA.length); 
243                        } 
244 
245                    } 
246                } 
247                if (kcode == LEFT && isASelected()) { 
248                    e.preventDefault(); 
249                    if (!isASelected()) { 
250                        selectAByIndex(0) 
251                    } else { 
252                        const selectedTD = getSelectedAIndex(); 
253                        //identify col 
254                        let countedAs = 0; 
255                        let corrCol = 0; 
256                        let posInCol = 0; 
257                        for(let i = 0; i< row.children.length; i++){ 
258                            const rowChildren = row.children[i].getElementsByTagName("a"); 
259                            for(let j = 0; j < rowChildren.length; j++){ 
260                                if (rowChildren[j] == allA[selectedTD]){ 
261                                    corrCol = i; 
262                                    posInCol = j+1; 
263                                    break; 
264                                } 
265                            } 
266                        } 
267                        //get corresponding id of next col 
268                        let nextColId = -1; 
269                        for(let i = corrCol-1; i> corrCol - countCols(); i--){ 
270                            let modIndex = i; 
271                            if(i < 0) modIndex = modIndex + countCols(); 
272                            if(row.children[modIndex].getElementsByTagName("a").length >0){ 
273                                nextColId = modIndex; 
274                                break; 
275                            } 
276                        } 
277                        //identify position in next col and calc the index 
278                        if(nextColId > -1){ 
279                            const posInNextCol = Math.min(row.children[nextColId].getElementsByTagName("a").length, posInCol); 
280                            const nextIndexSubtraction = selectedTD -posInCol - (row.children[nextColId].getElementsByTagName("a").length -  posInNextCol); 
281                            selectAByIndex(nextIndexSubtraction % allA.length); 
282                        } 
283                    } 
284                } 
285            } 
286        } 
287 
288 
289 
290        function unselectAll() { 
291            for (var i = 0; i < allA.length; i++) { 
292                allA[i].parentElement.removeAttribute("class"); 
293                allA[i].parentElement.classList = "ml-2 ml-md-0"; 
294                allA[i].removeAttribute("aria-selected"); 
295                input.removeAttribute("aria-activedescendant"); 
296            } 
297        } 
298 
299        function getSelectedAIndex() { 
300            idx = 0; 
301            for (var i = 0; i < allA.length; i++) { 
302                if (allA[i].parentElement.className.indexOf("selected")>=0) { 
303                    idx = i; 
304                } 
305            } 
306            return idx; 
307        } 
308 
309        function countCols() { 
310            return row.children.length; 
311        } 
312 
313        function selectAByIndex(idx) { 
314            unselectAll(); 
315            allA[idx].parentElement.classList = "ml-2 ml-md-0 selected"; 
316            allA[idx].parentElement.setAttribute("aria-selected", "true"); 
317            input.setAttribute("aria-activedescendant", allA[idx].id) 
318        } 
319    } 
320 
321    function isASelected() { 
322        var isSelected = false; 
323        const allA = document.getElementById("quickSuggestions").getElementsByTagName("a") 
324        for (var i = 0; i < allA.length; i++) { 
325            if (allA[i].parentElement.className.includes("selected")) { 
326                isSelected = true; 
327            } 
328        } 
329        return isSelected; 
330    } 
331 
332    function checkShift(e, enable) { 
333        if (e.keyCode == 16) { 
334            shiftEnabled = enable 
335        } 
336        if(![37,38,39,40,9,13].includes(e.keyCode)){ 
337            if (jQuery(".search-form input").val().length > 1) { 
338                jQuery('#search-dropdown').show(); 
339                jQuery.ajax({ 
340                    url: url2, 
341                    data: { 
342                        query: jQuery(".search-form input").val() 
343                    }, 
344                    type: 'POST', 
345                    success: function(data) { 
346                        jQuery('#resp').html($(data).find("#resp")); 
347                        jQuery('#wait').hide(); 
348                    } 
349                }); 
350            } else { 
351                jQuery('#search-dropdown').hide(); 
352            } 
353        } 
354    } 
355 
356</script> 
357<#-- ---------------------------------------------------------------------------------------------- 
358Detailansicht für Dienstleistungen, Einrichtungen und Mitarbeiter. ("bisview-detail") 
359----------------------------------------------------------------------------------------------- --> 
360<#if vr?has_content> 
361    <#assign 
362    vr = vr 
363    utils = vr.utils2017 
364    ansicht = utils.ansicht 
365    bis2017 = vr.bis2017 
366/> 
367<#-- ---------------------------------------------------------------------------------------------- 
368Detailansicht Einrichtung 
369----------------------------------------------------------------------------------------------- --> 
370 
371<#if bis2017.ausgewaehlteEinrichtung??> 
372<#-- Einrichtungen --> 
373    <#assign 
374    einrichtung = bis2017.ausgewaehlteEinrichtung 
375    /> 
376<div> 
377    <div class="row mb-5"> 
378        <h2 class="pageheader"><span class="icon-door"></span>${einrichtung.name}</h2> 
379    </div> 
380 
381    <div class="row"> 
382        <div class="col-8 nopadleft"> 
383            <div class="fsM cGray lh35 mb-5"> 
384                ${einrichtung.beschreibung} 
385            </div> 
386            <#if (einrichtung.dienstleistungList?size > 0)> 
387            <h2 class="fsXL mb-4 mt-5"><b>Dienstleistungen</b></h2> 
388            <div class="mb-5"> 
389                <ul class="detaillist dienstleistungen fsM"> 
390                    <#list einrichtung.dienstleistungList as dl> 
391                    <li><a tabindex="0" href="${utils.getDienstleistungUrl(dl.id)}" class="cBlue">${dl.name}</a></li> 
392                    </#list> 
393                </ul> 
394            </div> 
395            </#if> 
396            <#if (einrichtung.mitarbeiterList?size > 0)> 
397            <h2 class="fsXL mb-4 mt-5"><b>Mitarbeiterinnen und Mitarbeiter</b></h2> 
398            <#list einrichtung.mitarbeiterList as ma> 
399            <div class="card white mb-4 nobutton padleft"> 
400                <div class="card-body"> 
401                    <h3 class="card-title cBlue fsM mb-1"><span class="icon-user" style="margin-left: -30px; margin-right: 10px;"></span> <b id="mitarbeiter_a">${ma.anrede} ${ma.nachname}</b></h3> 
402                    <p class="card-text cGray fsSM"> ${ma.funktion} </p> 
403 
404                    <#assign i = 0> 
405                    <#if ma.telefonnummer?has_content> 
406                    <div class="cardtabletext"> 
407                        <p><span class="icon-phone" style="font-size: 13px !important; margin-right: 5px;"></span> ${ma.telefonnummer}</p> 
408                    </div> 
409                    <#assign i = 1> 
410                    </#if> 
411                    <#if ma.email?has_content> 
412                    <#if (i >= 1)> 
413                    <span class="cardtabletextspan">|</span> 
414                    </#if> 
415                    <div class="cardtabletext"> 
416                        <a tabindex="0" href="mailto:${ma.email}" class="cBlue" aria-describedby="mitarbeiter_a"> 
417                            <b><span class="icon-mail" style="font-size: 13px !important; margin-right: 5px;"></span> E-Mail senden</b> 
418                        </a> 
419                    </div> 
420                    <#assign i = 1> 
421                    </#if> 
422                    <#if ma.raum?has_content> 
423                    <#if (i >= 1)> 
424                    <span class="cardtabletextspan">|</span> 
425                    </#if> 
426                    <div class="cardtabletext"> 
427                        <span class="icon-mapmarker" style="font-size: 13px !important; margin-right: 5px;"></span> ${ma.raum} 
428                    </div> 
429                    </#if> 
430                </div> 
431            </div> 
432            </#list> 
433            </#if> 
434        </div> 
435        <div class="col-4"> 
436            <div class="card blue darkbluegradient nobutton mb-5"> 
437                <div class="card-body"> 
438                    <h3 class="card-title fsML mb-4"><b>Kontakt</b></h3> 
439                    <div class="card-text marginspans fsS"> 
440                        <b id="kontakt_a">${einrichtung.name}</b><br> 
441                        ${einrichtung.strasse} ${einrichtung.hausnummer}<br> 
442                        ${einrichtung.postleitzahl} ${einrichtung.ort}<br> 
443                        <br> 
444                        <#if einrichtung.telefonnummer?has_content> 
445                        <p><span class="icon-phone" style="margin-right: 10px; font-size: 15px !important;"></span>${einrichtung.telefonnummer}<br></p> 
446                        </#if> 
447                        <#if einrichtung.faxnummer?has_content> 
448                        <p><span class="icon-fax" style="margin-right: 10px; font-size: 15px !important;"></span>${einrichtung.faxnummer}<br></p> 
449                        </#if> 
450                        <#if einrichtung.email?has_content> 
451                        <p><a aria-describedby="kontakt_a" tabindex="0" href="mailto:${einrichtung.email}" class="cWhite"><span class="icon-mail" style="margin-right: 10px; font-size: 15px !important;"></span>E-Mail senden</a><br></p> 
452                        </#if> 
453                        <#assign setCleverq = false> 
454                        <#list einrichtung.internetadressen as adresse> 
455                        <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq> 
456                        <p><a aria-describedby="kontakt_a" id="amt-online-termin" tabindex="0" href="${adresse.uri}" class="cWhite"><span class="icon-calendar" style="margin-right: 10px; font-size: 15px !important;"></span>Termin vereinbaren</a></p> 
457                        <#assign setCleverq = true> 
458                        </#if> 
459                        </#list> 
460                    </div> 
461                </div> 
462            </div> 
463            <#if einrichtung.servicezeiten?has_content> 
464            <div class="card blue darkbluegradient nobutton"> 
465                <div class="card-body"> 
466                    <h3 class="card-title fsML mb-4"><b>Servicezeiten</b></h3> 
467                    <p class="card-text fsS"> 
468                        ${einrichtung.servicezeiten} 
469                    </p> 
470                </div> 
471            </div> 
472            </#if> 
473        </div> 
474    </div> 
475</div> 
476<#assign setCleverq = false> 
477<#list einrichtung.internetadressen as adresse> 
478<#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq> 
479<script> 
480    jQuery(document).ready( function () { 
481        jQuery('.onlinetermin').attr('href', '${adresse.uri}'); 
482    }); 
483</script> 
484<#assign setCleverq = true> 
485</#if> 
486</#list> 
487<#if !setCleverq> 
488<script> 
489    jQuery(document).ready( function () { 
490        jQuery('.onlinetermin').remove(); 
491    }); 
492</script> 
493</#if> 
494</#if> 
495 
496<#-- ---------------------------------------------------------------------------------------------- 
497Detailansicht Dienstleistung 
498----------------------------------------------------------------------------------------------- --> 
499 
500<#if bis2017.ausgewaehlteDienstleistung??> 
501    <#-- Dienstleistungen --> 
502        <#assign 
503        dienstleistung = bis2017.ausgewaehlteDienstleistung 
504        > 
505 
506 
507<div class=""> 
508 
509    <div class="row mb-5"> <#-- Volle Breite --> 
510        <h2 class="pageheader"> 
511            <span class="icon-clipboard"></span> 
512            ${dienstleistung.name} 
513        </h2> 
514    </div> 
515 
516    <div class="row"> <#-- Zwei Spalten --> 
517 
518        <div class="col-8 nopadleft"> <#-- Linke Spalte --> 
519            <div class="fsM cGray lh35 mb-5"> 
520                <#if dienstleistung.kurzbeschreibung?has_content> 
521                <p> 
522                    ${dienstleistung.kurzbeschreibung} 
523                </p> 
524                </#if> 
525                <#if dienstleistung.beschreibung?has_content> 
526                <p> 
527                    ${dienstleistung.beschreibung} 
528                </p> 
529                </#if> 
530                <#if dienstleistung.weitereInfos?has_content> 
531                <p> 
532                    ${dienstleistung.weitereInfos} 
533                </p> 
534                </#if> 
535            </div> 
536            <#assign showDLPersoLogo = false> 
537            <#assign showDLMoneyIcon = false> 
538            <#assign showDLLockIcon = false> 
539 
540            <#assign idTopLink = "onlineservicesMid"> 
541            <#assign idBottomLink = "onlineservicesIconsMid"> 
542            <#assign linkCss = "width: 100%;text-align: left;"> 
543            <#assign linkClass = "btn btn-primary"> 
544 
545            <#assign lockIcon = '<svg role="img" aria-label="Schlossicon. Für diese Dienstleistung ist eine Anmeldung 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>'> 
546            <#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>'> 
547            <#assign persoIcon = ''> 
548            <#assign beforeLinkTitle = ""> 
549 
550            <#assign dlNeedsLogin = 'Diese Dienstleistung erfordert eine Anmeldung.'> 
551            <#assign dlNeedsEidLogin = 'Anmeldung mit elektronischen Personalausweis erforderlich.'> 
552            <#assign dlHasCosts = 'Diese Dienstleitung ist kostenpflichtig.'> 
553            <#assign dlAndHasCosts = 'und ist kostenpflichtig'> 
554 
555            <#assign internetAdressen = false> 
556            <#assign eIDLoginURLLevel = '/home#login'> 
557            <@onlineServices180 idTopLink idBottomLink dienstleistung linkCss linkClass beforeLinkTitle lockIcon persoIcon moneyIcon dlNeedsLogin dlNeedsEidLogin dlHasCosts dlAndHasCosts internetAdressen eIDLoginURLLevel /> 
558 
559            <#assign iconLegendLockInfo = "Anmeldung erforderlich"> 
560            <#assign iconLegendMoneyInfo = "Kostenpflichtig"> 
561            <#assign iconLegendPersoInfo = "Anmeldung mit elektronischen Personalausweis erforderlich"> 
562            <#assign persoIcon = ""> 
563 
564            <@iconLegendList15 idBottomLink idTopLink "black" persoIcon iconLegendPersoInfo lockIcon iconLegendLockInfo moneyIcon iconLegendMoneyInfo /> 
565 
566            <div class="fsM cGray lh35 mb-5 mt-5"> 
567                <#if dienstleistung.voraussetzungen?has_content> 
568                <hr> 
569                <h4>Voraussetzungen</h4> 
570                <p> 
571                    ${dienstleistung.voraussetzungen} 
572                </p> 
573                </#if> 
574                <#if dienstleistung.bearbeitungsdauer?has_content> 
575                <hr> 
576                <h4>Bearbeitungsdauer</h4> 
577                <p> 
578                    ${dienstleistung.bearbeitungsdauer} 
579                </p> 
580                </#if> 
581                <#if dienstleistung.verfahrensablauf?has_content> 
582                <hr> 
583                <h4>Verfahrensablauf</h4> 
584                <P> 
585                    ${dienstleistung.verfahrensablauf} 
586                </P> 
587                </#if> 
588                <#if dienstleistung.unterlagen?has_content> 
589                <hr> 
590                <h4>Unterlagen</h4> 
591                <p> 
592                    ${dienstleistung.unterlagen} 
593                </p> 
594                </#if> 
595                <#if dienstleistung.fristen?has_content> 
596                <hr> 
597                <h4>Fristen</h4> 
598                <p> 
599                    ${dienstleistung.fristen} 
600                </p> 
601                </#if> 
602                <#if dienstleistung.rechtsgrundlagen?has_content> 
603                <hr> 
604                <h4>Rechtsgrundlagen</h4> 
605                <p> 
606                    ${dienstleistung.rechtsgrundlagen} 
607                </p> 
608                </#if> 
609                <#if dienstleistung.rechtsbehelf?has_content> 
610                <hr> 
611                <h4>Rechtsbehelf</h4> 
612                <p> 
613                    ${dienstleistung.rechtsbehelf} 
614                </p> 
615                </#if> 
616                <#if dienstleistung.hinweiseBesonderheiten?has_content> 
617                <hr> 
618                <h4>Besonderheiten</h4> 
619                <p> 
620                    ${dienstleistung.hinweiseBesonderheiten} 
621                </p> 
622                </#if> 
623                <#if dienstleistung.kostenmodul.beschreibung?has_content || dienstleistung.kostenmodul.kosten?has_content> 
624                <hr> 
625                <h4>Kosten</h4> 
626 
627                <#if dienstleistung.kostenmodul.kosten?has_content> 
628                <table> 
629                    <tbody> 
630 
631                    <#list dienstleistung.kostenmodul.kosten as kosten> 
632                    <tr> 
633                        ${kosten.name} 
634                        <#if kosten.isKostenfrei()> 
635                        <td>(kostenfrei)</td> 
636                        <#elseif kosten.isKostenVariabel()> 
637                        <td>(zwischen ${utils.formatCurrency(kosten.von)} 
638                            und ${utils.formatCurrency(kosten.bis)} EUR) 
639                        </td> 
640                        <#else> 
641                        <td>(${utils.formatCurrency(kosten.von)} EUR)</td> 
642                        </#if> 
643                        <#if kosten.beschreibung?has_content> 
644                        <td> ${kosten.beschreibung}</td> 
645                        </#if> 
646 
647                    </tr> 
648                    </#list> 
649                    </tbody> 
650                </table> 
651                </#if> 
652 
653                ${dienstleistung.kostenmodul.beschreibung} 
654 
655                </#if> 
656 
657                <#if (dienstleistung.zahlungsweisen?size > 0)> 
658                <hr> 
659                <h4>Zahlungsweisen</h4> 
660                <p> 
661                <ul> 
662                    <#list dienstleistung.zahlungsweisen as zw> 
663                    <li> 
664                        <p>${zw.name}</p> 
665                        <#if zw.beschreibung?has_content> 
666                        <p>${zw.beschreibung}</p> 
667                        </#if> 
668                    </li> 
669                    </#list> 
670                </ul> 
671                </p> 
672                </#if> 
673            </div> 
674        </div> 
675        <div class="col-4"> <#-- Rechte Spalte --> 
676            <#if (dienstleistung.einrichtungList?size > 0)> 
677            <#assign ersteEinr = dienstleistung.einrichtungList[0]> 
678            <div class="card blue darkbluegradient nobutton mb-5"> 
679                <div class="card-body"> 
680                    <h2 class="card-title fsML mb-4"> <b>Zuständiges Amt</b></h2> 
681                    <p class="card-text fsS cardtabletext marginspans"> 
682                        <b id="zustaendiges_amt_a" class="fsM"> 
683                            <span class="icon-right" style="font-size: 15px !important; margin-right: 10px;"></span> 
684                            <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="${utils.getEinrichtungUrl(ersteEinr.id)}" >${ersteEinr.name}</a> 
685                        </b> 
686                        <br> 
687                        ${ersteEinr.anschrift.strasse} ${ersteEinr.anschrift.hausnummer} 
688                        <br> 
689                        ${ersteEinr.anschrift.postleitzahl} ${ersteEinr.anschrift.ort} 
690                        <br> 
691                        <br> 
692                        <#if ersteEinr.telefonnummer?has_content> 
693                        <span class="icon-phone" style="margin-right: 10px; font-size: 15px !important;"></span> 
694                        <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="tel:${ersteEinr.telefonnummer}"> 
695                            ${ersteEinr.telefonnummer} 
696                        </a> 
697                        <br> 
698                        </#if> 
699                        <#if ersteEinr.faxnummer?has_content> 
700                        <span class="icon-fax" style="margin-right: 10px; font-size: 15px !important;"></span> 
701                        <a class="cWhite" aria-describedby="zustaendiges_amt_a" tabindex="0" href="tel:${ersteEinr.faxnummer}"> 
702                            ${ersteEinr.faxnummer} 
703                        </a> 
704                        <br> 
705                        </#if> 
706                        <#if ersteEinr.email?has_content> 
707                        <a class="cWhite" tabindex="0" href="mailto:${ersteEinr.email}" aria-describedby="zustaendiges_amt_a"> 
708                            <span class="icon-mail" style="margin-right: 10px; font-size: 15px !important;"></span> 
709                            E-Mail senden 
710                        </a> 
711                        <br> 
712                        </#if> 
713                        <#assign setCleverq = false> 
714                        <#list dienstleistung.internetadressen as adresse> 
715                        <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq> 
716                        <a class="cWhite" id="amt-online-termin" tabindex="0" href="${adresse.uri}" target="_blank" aria-describedby="zustaendiges_amt_a" > 
717                            <span class="icon-calendar" style="margin-right: 10px; font-size: 15px !important;"></span> 
718                            Termin vereinbaren 
719                        </a> 
720                        <#assign setCleverq = true> 
721                        </#if> 
722                        </#list> 
723                    </p> 
724                </div> 
725            </div> 
726            </#if> 
727            <#if (dienstleistung.mitarbeiterList?size > 0)> 
728            <h2 class="fsXL mb-4"> 
729                <b>Ansprechpartner</b> 
730            </h2> 
731            <#assign i = 0> 
732            <#list dienstleistung.mitarbeiterList as dm> 
733            <#if (i < 20)> 
734            <div class="card white mb-4 nobutton padleft"> 
735                <div class="card-body"> 
736                    <h3 class="card-title cBlue fsM mb-2"> 
737                        <span class="icon-user" style="margin-left: -24px; margin-right: 10px; margin-top: 2px;"></span> 
738                        &nbsp; 
739                        <b id="ansprechpartner_${i}">${dm.anrede} ${dm.nachname}</b> 
740                    </h3> 
741 
742                    <p class="card-text marginspans fsS cGray cardtabletext"> 
743                        <#if dm.einrichtungList?? && dm.einrichtungList?size gt 0> 
744                        <span class="mb-1 w-100">${dm.einrichtungList[0].name}</span> 
745                        </#if> 
746                        <#if dm.telefonnummer?has_content> 
747                        <#if dm.position?has_content><span class="mb-1  w-100">${dm.position}</span> </#if> 
748                        <br> 
749                        <span class="icon-phone" style="margin-right: 10px; font-size: 14px !important;"></span> 
750                        <a class="cBlue" aria-describedby="ansprechpartner_${i}" tabindex="0" href="tel:${dm.telefonnummer}"> 
751                            ${dm.telefonnummer} 
752                        </a> 
753 
754                        </#if> 
755                        <#if dm.email?has_content> 
756                        <br> 
757                        <a class="cBlue" tabindex="0" href="mailto:${dm.email}" aria-describedby="ansprechpartner_${i}"> 
758                            <b> 
759                                <span class="icon-mail" style="margin-right: 10px; font-size: 14px !important;"></span> 
760                                E-Mail senden 
761                            </b> 
762                        </a> 
763 
764                        </#if> 
765                    </p> 
766                </div> 
767            </div> 
768            <#assign i = i + 1> 
769            </#if> 
770            </#list> 
771            </#if> 
772        </div> 
773    </div> 
774 
775    <#assign setCleverq = false> 
776    <#list dienstleistung.internetadressen as adresse> 
777    <#if adresse.uri?starts_with('https://cqm.cleverq.de') && !setCleverq> 
778    <script> 
779        jQuery(document).ready( function () { 
780            jQuery('.onlinetermin').attr('href', '${adresse.uri}'); 
781        }); 
782    </script> 
783    <#assign setCleverq = true> 
784    </#if> 
785    </#list> 
786    <#if !setCleverq> 
787    <script> 
788        jQuery(document).ready( function () { 
789            jQuery('.onlinetermin').remove(); 
790        }); 
791    </script> 
792    </#if> 
793    </#if> 
794 
795    <#-- ---------------------------------------------------------------------------------------------- 
796    Detailansicht Mitarbeiter 
797    ----------------------------------------------------------------------------------------------- --> 
798 
799    <#if bis2017.ausgewaehlterMitarbeiter??> 
800    <#-- Mitarbeitende --> 
801    <#assign 
802    mitarbeiter = bis2017.ausgewaehlterMitarbeiter 
803    /> 
804 
805    <div> 
806        <div class="row mb-5"> 
807            <h2 class="pageheader" id="content_result_a"> 
808                <span class="icon-user"></span> ${mitarbeiter.anrede} ${mitarbeiter.titel} ${mitarbeiter.nachname} 
809            </h2> 
810        </div> 
811        <div class="row"> 
812            <div class="col-8 nopadleft"> 
813                <table class="fsS cGray w-100"> 
814                    <tbody> 
815                    <#if mitarbeiter.einrichtungList?? && mitarbeiter.einrichtungList?has_content> 
816                    <#assign mEinrAdr = (mitarbeiter.einrichtungList[0].anschrift)!{}> 
817                    <tr> <th>Straße</th> <td>${(mEinrAdr.strasse)!} ${(mEinrAdr.hausnummer)!}</td> </tr> 
818                    <tr> <th>Ort</th> <td>${(mEinrAdr.postleitzahl)!} ${(mEinrAdr.ort)!}</td> </tr> 
819                    </#if> 
820                    <#if mitarbeiter.telefonnummer?has_content> 
821                    <tr> <th>Telefon</th> <td><span class="icon-phone" style="margin-right: 6px; font-size: 14px;"></span>${mitarbeiter.telefonnummer}</td> </tr> 
822                    </#if> 
823                    <#if mitarbeiter.faxnummer?has_content> 
824                    <tr> <th>Telefax</th> <td><span class="icon-fax" style="margin-right: 6px; font-size: 14px;"></span>${mitarbeiter.faxnummer}</td> </tr> 
825                    </#if> 
826                    <#if mitarbeiter.email?has_content> 
827                    <tr> <th>E-Mail-Adresse</th> <td><a tabindex="0" href="mailto:${mitarbeiter.email}" class="cBlue" aria-describedby="content_result_a"><b><span class="icon-mail" style="margin-right: 10px; font-size: 14px;"></span>E-Mail senden</b></a></td> </tr> 
828                    </#if> 
829                    <tr> <th><br></th> <td><br></td> </tr> 
830                    <#if mitarbeiter.einrichtungList?? && mitarbeiter.einrichtungList?has_content> 
831                    <#assign mEinr = (mitarbeiter.einrichtungList[0])!{}> 
832                    <tr> <th>Amt</th> <td> 
833                        <#if mEinr.id??> 
834                        <a tabindex="0" href="${utils.getEinrichtungUrl(mEinr.id)}" class="cBlue"><b><span class="icon-right" style="margin-right: 10px; font-size: 14px;"></span>${(mEinr.name)!}</b></a> 
835                        <#else> 
836                        ${(mEinr.name)!} 
837                        </#if> 
838                    </td> </tr> 
839                    <tr> <th>Gebäude</th> <td>${(mEinrAdr.zusatz)!} ${(mEinrAdr.strasse)!} ${(mEinrAdr.hausnummer)!} </td> </tr> 
840                    <#if mitarbeiter.raum?has_content> 
841                    <tr> <th>Raumnummer</th> <td>${mitarbeiter.raum}</td> </tr> 
842                    </#if> 
843                    <tr> <th>Lageplan</th> <td><a tabindex="0" href="#" class="cBlue"><b><span class="icon-mapmarker" style="margin-right: 10px; font-size: 14px;"></span>Lageplan ansehen</b></a></td> </tr> 
844                    </#if> 
845 
846                    </tbody> 
847                </table> 
848            </div> 
849            <div class="col-4"> 
850                <#if mitarbeiter.dienstleistungList?? && mitarbeiter.dienstleistungList?has_content> 
851                <h2 class="fsXL mb-4"><b>Dienstleistungen</b></h2> 
852                <div class="mb-5"> 
853                    <ul class="detaillist dienstleistungen fsM"> 
854                        <#list mitarbeiter.dienstleistungList as dl> 
855                        <li><a tabindex="0" href="${utils.getDienstleistungUrl(dl.id)}" class="cBlue">${dl.name}</a></li> 
856                        </#list> 
857                    </ul> 
858                </div> 
859                </#if> 
860            </div> 
861        </div> 
862    </div> 
863    </#if> 
864 </#if> 
865 
866    <#if einrichtung?? || mitarbeiter?? || dienstleistung??> 
867    <script> 
868        jQuery(document).ready(function () { 
869            jQuery('.search-area').parent().parent().remove() 
870        }); 
871    </script> 
872    </#if> 
873 
874    <#function createLoginURL destination> 
875    <#local login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='><#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'><#assign login_url_WithHtml = login_url1_WithHtml + destination?replace("https://mein-test.kreis-paderborn.de:443", "")?replace("https://mein.kreis-paderborn.de:443", "") + login_url2_WithHtml> 
876    <#return login_url_WithHtml/> 
877    </#function> 
878 
879    <#macro iconLegendList15 elementId destination fontColor persoLogo persoContent lockIcon lockContent moneyIcon moneyContent> 
880    <#if showDLLockIcon || showDLMoneyIcon || showDLPersoLogo> 
881    <div class="" style="font-size: 0.7rem" id="${elementId}"> 
882        <h3 class="mb-0 mt-3" style="color:${fontColor}; font-weight: 700 !important;font-size: small !important;">Icon Legende</h3> 
883        <ul style="font-size: 0.7rem; list-style: none !important; padding-left: 0 !important;" aria-label="Icon Legende"> 
884            <@iconLegendListEntry9 showDLPersoLogo persoLogo persoContent /> 
885            <@iconLegendListEntry9 showDLLockIcon lockIcon lockContent /> 
886            <@iconLegendListEntry9 showDLMoneyIcon moneyIcon moneyContent /> 
887        </ul> 
888        
889    </div> 
890    </#if> 
891    </#macro> 
892 
893 
894    <#macro iconLegendListEntry9 show icon content> 
895    <#if show> 
896    <li class=""> 
897        <div class="row"> 
898            <div class="col-2" style="min-height: 35px;"> 
899                <p class="mb-0" style="justify-content: center;align-items: center;display: flex;height: 100%;">${icon} 
900            </div> 
901            <div class="col-10" style="min-height: 35px;display: flex;justify-content:left ;align-items: center;"> 
902                <p class="mb-0" style="font-size: 1rem;font-family: myriad-pro,Arial,sans-serif;line-height: 1.42857143;">${content} 
903            </div> 
904        </div> 
905    </li> 
906    </#if> 
907    </#macro> 
908 
909    <#macro createDLnewLink18 css linkClass bevoreLinkTitle icon title target description href aditionalAttributs> 
910    <#if description?has_content && description != ""> 
911        <#assign description = "title='${description}'"> 
912    </#if> 
913    <#assign 
914        target = (target == "self")?string("_self", "_blank") 
915    /> 
916 
917 
918    <a class='${linkClass}' 
919       style='${css}' 
920       target='${target}' 
921            ${href?has_content?string("href='${href}'",'')} 
922            ${description} 
923            ${aditionalAttributs?has_content?string("${aditionalAttributs}",'')} 
924        ${bevoreLinkTitle} 
925        ${icon} 
926        <span>${title}</span> 
927        <span class="icon-right" style="font-size: 12px; margin-left: 10px;"></span> 
928    </a> 
929    </#macro> 
930 
931    <#macro onlineServices180 linkToIconsid destination dienstleistung linkCss linkclass beforeLinkTitle lockIcon persoIcon moneyIcon dlNeedsLogin dlNeedsEidLogin dlHasCosts dlAndHasCosts internetAdressen eIDLoginURLLevel> 
932    <#assign iconBefore = beforeLinkTitle> 
933    <#if dienstleistung.extensions?has_content 
934    || dienstleistung.formulare?has_content 
935    || dienstleistung.kontaktformularUrl?has_content 
936    || dienstleistung.internetadressen?has_content 
937    || dienstleistung.textmodul.formulare?has_content> 
938    <#assign current_url_WithHtml = themeDisplay.getPortalURL()?replace("https://mein-test.kreis-paderborn.de:443", "")?replace("https://mein.kreis-paderborn.de:443", "")> 
939    <#assign current_uri_WithHtml = themeDisplay.getURLCurrent()> 
940    <#assign login_url1_WithHtml = 'href="/home?p_p_id=com_liferay_login_web_portlet_LoginPortlet&p_p_lifecycle=0&_com_liferay_login_web_portlet_LoginPortlet_redirect='> 
941    <#assign login_url2_WithHtml = '#login" rel="nofollow" data-redirect="true"'> 
942    <#assign login_url_WithHtml = login_url1_WithHtml + current_url_WithHtml + current_uri_WithHtml + login_url2_WithHtml> 
943 
944    <#if showDLLockIcon || showDLMoneyIcon || showDLPersoLogo> 
945    <a class="sr-only sr-only-focusable" href="#${destination}" id="${linkToIconsid}">Sprung zur Icon Legende.</a> 
946    </#if> 
947 
948    <ul style="list-style: none !important;padding-left: 0 !important;display: flex;flex-wrap: wrap;gap: 5px;"> 
949        <#assign css = linkCss> 
950        <#assign dlElementClass = linkClass> 
951        <#if dienstleistung.extensions?has_content> 
952        <#assign userAuthLevel = utils.getAuthLevel(renderRequest)> 
953        <#assign idCounter = 1> 
954        <#list dienstleistung.extensions as formular> 
955 
956        <#assign title = formular.titel> 
957        <#assign minAuthLevel = formular.minAuthLevel> 
958        <#if (userAuthLevel >= minAuthLevel)> 
959        <li class="mb-2 w-75"> 
960            <p class="mb-0"> 
961                <#assign description = "${formular.titel}. ${formular.paymentSupported?string(dlHasCosts,'')}"> 
962                <#assign target = 'self'> 
963                <#assign icon = ''> 
964                <#if formular.paymentSupported> 
965                <#assign showDLMoneyIcon = true> 
966                <#assign icon = icon + moneyIcon> 
967                </#if> 
968                <#assign href = formular.uri> 
969                <#assign aditionalAttributs = ''> 
970                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
971            </p> 
972        </li> 
973        <#else> 
974        <#if (minAuthLevel == 1)> 
975        <#assign showDLLockIcon = true> 
976        <li class="mb-2 w-75"> 
977            <p class="mb-0"> 
978                <#assign description = "${formular.titel}. ${dlNeedsLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}"> 
979                <#assign target = 'self'> 
980                <#assign icon = lockIcon> 
981                <#if formular.paymentSupported> 
982                <#assign showDLMoneyIcon = true> 
983                <#assign icon = icon + moneyIcon> 
984                </#if> 
985                <#assign href = ''> 
986                <#assign aditionalAttributs = createLoginURL(formular.uri)/> 
987                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
988            </p> 
989        </li> 
990        <#elseif (minAuthLevel == 2)> 
991        <#assign showDLLockIcon = true> 
992        <li class="mb-2 w-75"> 
993            <p class="mb-0"> 
994                <#assign description = "${formular.titel}. ${dlNeedsLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}"> 
995                <#assign target = 'self'> 
996                <#assign icon = lockIcon> 
997                <#if formular.paymentSupported> 
998                <#assign showDLMoneyIcon = true> 
999                <#assign icon = icon + moneyIcon> 
1000                </#if> 
1001                <#assign href = ''> 
1002                <#assign aditionalAttributs = createLoginURL(formular.uri)/> 
1003                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1004            </p> 
1005        </li> 
1006        <#elseif (minAuthLevel == 3)> 
1007        <#assign showDLPersoLogo = true> 
1008        <li class="mb-2 w-75"> 
1009            <p class="mb-0"> 
1010                <#assign description = "${formular.titel}. ${dlNeedsEidLogin} ${formular.paymentSupported?string(dlAndHasCosts,'')}"> 
1011                <#assign target = 'self'> 
1012 
1013                <#assign persoIconId = 'PersoIcon' + idCounter> 
1014                <#assign icon = lockIcon> 
1015 
1016                <#if formular.paymentSupported> 
1017                <#assign showDLMoneyIcon = true> 
1018                <#assign icon = icon + moneyIcon> 
1019                </#if> 
1020                <#assign serviceName = dienstleistung.name> 
1021                <#assign nameForDescrptionSite = serviceName?replace('&','')?replace(' ','&ensp;')?replace('?','')?replace('#','')?replace('*','')?replace('+','')?replace('\\','')?replace('/','')> 
1022 
1023                <#assign href = "${eIDLoginURLLevel}?dlname=${nameForDescrptionSite}&dlurl=${themeDisplay.getURLCurrent()}"> 
1024                <#assign aditionalAttributs = ''> 
1025                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1026            </p> 
1027        </li> 
1028        </#if> 
1029        </#if> 
1030        <#assign idCounter = idCounter + 1> 
1031        </#list> 
1032        </#if> 
1033        <#if !utils.angemeldet && !dienstleistung.nutzbarAlsGast> 
1034        <#if dienstleistung.formulare?has_content> 
1035        <#assign showDLLockIcon = true> 
1036 
1037        <#list dienstleistung.formulare as formular> 
1038        <li class="mb-2 w-75"> 
1039            <p class="mb-0"> 
1040                <#assign title = formular.titel> 
1041                <#assign description = "${title}. ${dlNeedsLogin}"> 
1042                <#if formular.neuesFenster> 
1043                <#assign target = "blank"> 
1044                <#else> 
1045                <#assign target = 'self'> 
1046                </#if> 
1047                <#assign icon = lockIcon> 
1048                <#assign href = ''> 
1049                <#assign aditionalAttributs = createLoginURL(formular.uri)/> 
1050                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1051            </p> 
1052        </li> 
1053        </#list> 
1054        </#if> 
1055        <#if dienstleistung.kontaktformularUrl?has_content> 
1056        <#assign showDLLockIcon = true> 
1057        <li class="mb-2 w-75"> 
1058            <p class="mb-0"> 
1059                <#assign title = 'Zum Kontaktformular'> 
1060                <#assign description = "${title}. ${dlNeedsLogin}"> 
1061                <#assign target = ''> 
1062                <#assign icon = lockIcon> 
1063                <#assign href = ''> 
1064                <#assign aditionalAttributs = createLoginURL(dienstleistung.kontaktformularUrl)/> 
1065                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1066 
1067            </p> 
1068        </li> 
1069        </#if> 
1070        <#else> 
1071        <#if dienstleistung.formulare?has_content> 
1072        <#list dienstleistung.formulare as formular> 
1073        <li class="mb-2 w-75 formulare"> 
1074            <p class="mb-0"> 
1075                <#assign title = formular.titel> 
1076                <#assign description = "${title}."> 
1077                <#assign target = 'self'> 
1078                <#assign icon = ''> 
1079                <#assign href = formular.uri> 
1080                <#assign aditionalAttributs = ''> 
1081                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1082            </p> 
1083        </li> 
1084        </#list> 
1085        </#if> 
1086        <#if dienstleistung.kontaktformularUrl?has_content> 
1087        <li class="mb-2 w-75"> 
1088            <p class="mb-0"> 
1089                <#assign title = 'Zum Kontaktformular'> 
1090                <#assign description = title> 
1091                <#assign target = ''> 
1092                <#assign icon = ''> 
1093                <#assign href = dienstleistung.kontaktformularUrl> 
1094                <#assign aditionalAttributs = ''> 
1095                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1096            </p> 
1097        </li> 
1098        </#if> 
1099        </#if> 
1100        <#if dienstleistung.textmodul.formulare?has_content> 
1101        <#list dienstleistung.textmodul.formulare.weiterfuehrenderLink as formular> 
1102            <#if !formular.uri?starts_with('https://cqm.cleverq.de')> 
1103                <li class="mb-2 w-75 textmodul-formulare"> 
1104                    <p class="mb-0"> 
1105                        <#if formular.titel?has_content && formular.titel != ""> 
1106                            <#assign title = formular.titel> 
1107                        </#if> 
1108                        <#assign description = title> 
1109                        <#if formular.neuesFenster> 
1110                            <#assign target = 'blank'> 
1111                        <#else> 
1112                            <#assign target = 'self'> 
1113                        </#if> 
1114                        <#assign icon = ''> 
1115                        <#assign href = formular.uri> 
1116                        <#assign aditionalAttributs = ''> 
1117                        <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1118                    </p> 
1119                </li> 
1120            </#if> 
1121        </#list> 
1122        </#if> 
1123        <#if internetAdressen == true && dienstleistung.internetadressen?has_content> 
1124        <#list dienstleistung.internetadressen as link> 
1125        <#if !link.uri?starts_with('https://cqm.cleverq.de')> 
1126        <li class="mb-2 w-75 internetAdressen"> 
1127            <p class="mb-0"> 
1128                <#if link.titel?has_content && link.titel != ""> 
1129                <#assign title = link.titel> 
1130                <#else> 
1131                <#assign title = link.uri> 
1132                </#if> 
1133                <#assign description = title> 
1134                <#if link.neuesFenster> 
1135                <#assign target = 'blank'> 
1136                <#else> 
1137                <#assign target = 'self'> 
1138                </#if> 
1139                <#assign icon = ''> 
1140                <#assign href = link.uri> 
1141                <#assign aditionalAttributs = ''> 
1142                <@createDLnewLink18 css dlElementClass iconBefore icon title target description href aditionalAttributs /> 
1143            </p> 
1144        </li> 
1145        </#if> 
1146        </#list> 
1147        </#if> 
1148    </ul> 
1149    </#if> 
1150    </#macro>