mein-digiport-test.de

Trusty

BIS: Dienstleistungsübersicht

Fehler bei der Verarbeitung der Vorlage.
Denied resolving class org.apache.catalina.core.ApplicationHttpRequest by org.apache
1#set($utils = $vr.utils2017) 
2#set($dienstleistungsuebersicht = $vr.bis2017.dienstleistungsuebersicht) 
3#set($kachelDetailText = $getterUtil.getString($themeDisplay.getThemeSetting("Kachel-Detail-Text"))) 
4 
5 
6 
7#macro(createLeave11 $jsObject $root) 
8    #set($leaves = $root.properties.get('leaves')) 
9    #if ($leaves) 
10        #set($counter = $counter + 1) 
11        #foreach ($leaf in $leaves) 
12            ${jsObject}.leaves['$leaf.id'] = { 
13        id: ${leaf.id}, 
14        name: '${leaf.name.replace('&', ' und')}', 
15        url: '$utils.getDienstleistungUrl($leaf.id)' 
16
17        #end 
18    #end 
19#end 
20 
21 
22#macro(createChildren19 $jsObject $root) 
23    #if ($root.children) 
24        #set($jsObject = "['${root.name.replace('&', ' und')}'].child") 
25        #foreach ($child in $root.children) 
26            #set($jsObject = "['${root.name.replace('&', ' und')}'].child['${child.name.replace('&', ' und')}']") 
27        tree${jsObject} = { 
28        id:'${child.id}', 
29        name:'${child.name.replace('&', ' und')}', 
30        clearName:'${child.name.replace('&', ' und')}', 
31        level: 1, 
32        leaves:{}, 
33        child: {} 
34
35            #createLeave11("tree${jsObject}", $child) 
36            #createChildren19("tree${jsObject}", $child) 
37        #end 
38    #end 
39#end 
40 
41 
42<script> 
43    let tree = {}; 
44        #if($dienstleistungsuebersicht.tree) 
45            #foreach ($root in $dienstleistungsuebersicht.tree) 
46                #if($root.name.contains('.')) 
47                    #set ($index = $root.name.indexOf('.')) 
48                    #set ($imageId= $root.name.substring(0, $index)) 
49                    #set ($index = $index + 1) 
50                    #set ($name = $root.name.substring($index)) 
51                #else 
52                    #set ($imageId= '000') 
53                    #set ($name = $root.name) 
54                #end 
55 
56                #set($jsObject = "['${root.name.replace('&', ' und')}']") 
57            tree${jsObject} = { 
58                id:'${root.id}', 
59                name:'${root.name.replace('&', ' und')}', 
60                clearName:'${name.replace('&', ' und')}', 
61                image:'$imageId', 
62                level: 1, 
63                leaves:{}, 
64                child: {} 
65
66                #createLeave11("tree${jsObject}", $root) 
67                #createChildren19("tree${jsObject}", $root) 
68            #end 
69        #end 
70        #set($serviceGroupFound = false) 
71        #foreach ($root in $dienstleistungsuebersicht.tree) 
72            #if($root.name.replace("&", " und") == $request.getParameter("bereich").replace("&", " und")) 
73                #set($serviceGroupFound = true) 
74                #break 
75            #end 
76        #end 
77        #if($serviceGroupFound == false) 
78        $(document).ready(function () { 
79            for (const [key, value] of Object.entries(tree)) { 
80                let kachelId = value.name.replaceAll(" ", ""); 
81                let itemList = ''; 
82                let moreServcie =''; 
83                if(Object.keys(value.leaves).length > 0){ 
84                    moreServcie ='<a href="?bereich='+value.name+'" class="weitereDienstleistungen">Weitere Dienstleistungen</a>'; 
85
86                let children = value.child; 
87                if(Object.keys(children).length > 0){ 
88                    for (const [childKey, childValue] of Object.entries(children)) { 
89                        if(childValue.name.includes('Häufig genutzte Dienstleistungen')){ 
90                            for (const [childLeavesKey, childLeavesValue] of Object.entries(childValue.leaves)) { 
91                                itemList = itemList + '<li><a href="'+childLeavesValue.url+'">'+childLeavesValue.name+'</a></li>'; 
92
93
94
95
96 
97                $('#kachel-list').append('<li id="'+kachelId+'">' + 
98                        '<div class="service-title-wrapper">'+ 
99                        '<h4 style="width:70%" class="branch pull-left">'+value.clearName+'</h4>'+ 
100                        '<i class="Headericon"><img src="/o/stadtportal-paderborn-theme/images/'+value.image+'-kachel-icon.png" alt=""></i>'+ 
101                        '<br style="clear: both">'+ 
102                        '</div>'+ 
103                        '<ul class="level-(2) leaf list-unstyled kachel-item-list" style="display: none;">'+ 
104                        itemList+ 
105                        '</ul>'+ 
106                        '<ul class="level-2 list-unstyled" style="display: none;"> </ul>'+ 
107                        moreServcie+ 
108                        '</li>'); 
109
110        }); 
111        #else 
112 
113        function createServiceEntriesForOneSection(leaves, targetNode) { 
114            if(Object.keys(leaves).length > 0) { 
115                for (const [leaveKey, leaveValue] of Object.entries(leaves)) { 
116                    $(targetNode).append('<li><a href="'+leaveValue.url+'">' + leaveValue.name + '</a></li>') 
117
118
119
120        function createOnlineAndAppointmentSections(children) { 
121            let list =  $('#categoryList'); 
122            if(Object.keys(children).length > 0){ 
123                for (const [childKey, childValue] of Object.entries(children)) { 
124                    if(childValue.name.includes('- online')){ 
125                        $(list).prepend('<li id="onlineService"><div class="service-title-wrapper"><h4 class="branch">Online Dienstleitungen <span class="flag flag-online">Online</span></h4></div><ul class="level-(2) leaf list-unstyled" id="onlineServiceList"></ul></li>'); 
126                        createServiceEntriesForOneSection(childValue.leaves,'#onlineServiceList'); 
127                    }else if(childValue.name.includes('- termin')){ 
128                        if($('#categoryList #onlineService').length > 0){ 
129                            $('<li id="appointmentService"><div class="service-title-wrapper"><h4 class="branch">Dienstleistungen mit Terminbuchung <span class="flag flag-termin">Terminvereinbarung</span></h4></div><ul class="level-(2) leaf list-unstyled" id="appointmentServiceList"></ul></li>').insertAfter('#onlineService'); 
130                        }else{ 
131                            $(list).prepend('<li id="appointmentService"><div class="service-title-wrapper"><h4 class="branch">Dienstleistungen mit Terminbuchung</h4></div><ul class="level-(2) leaf list-unstyled" id="appointmentServiceList"></ul></li>'); 
132
133                        createServiceEntriesForOneSection(childValue.leaves,'#appointmentServiceList'); 
134
135
136
137
138        function createMostUsedServiceSection(children) { 
139            let mostUsedService = $('#mostUsedService'); 
140            $(mostUsedService).append('<div class="col-12 mb-3"><p>Keine Dienstleistungen hinterlegt</p></div>') 
141            if(Object.keys(children).length > 0){ 
142                $('.serviceBoxDetailRight .card.border-secondary.d-none').removeClass('d-none'); 
143                for (const [childKey, childValue] of Object.entries(children)) { 
144                    if(childValue.name.includes('Häufig genutzte Dienstleistungen')){ 
145                        $(mostUsedService).empty(); 
146                        if(Object.keys(childValue.leaves).length > 0) { 
147                            for (const [childLeavesKey, childLeavesValue] of Object.entries(childValue.leaves)) { 
148                                $(mostUsedService).append('<div class="col-12 col-lg-6 mb-3"><a href="'+childLeavesValue.url+'">' + childLeavesValue.name + '</a></div>') 
149
150
151
152
153
154
155        let serviceName = '$request.getParameter("bereich").replace("&", " und")'; 
156        $(document).ready(function () { 
157            if(tree[serviceName] !== undefined && !tree[serviceName].empty){ 
158                let leaves = tree[serviceName].leaves; 
159                let children = tree[serviceName].child; 
160                createServiceEntriesForOneSection(leaves,'#serviceList'); 
161                createOnlineAndAppointmentSections(children); 
162                createMostUsedServiceSection(children) 
163
164        }); 
165        #end 
166</script> 
167 
168#if($request.getParameter("bereich") && $serviceGroupFound) 
169    #set ($index = $request.getParameter("bereich").indexOf('.')) 
170    #set ($index = $index + 1) 
171    #set ($name = $request.getParameter("bereich").substring($index)) 
172<div id="serviceDetailList" class="px-3 mt-3"> 
173    <div class="text-right user-tool-asset-addon-entries"></div> 
174    <div class="clearfix journal-content-article"> 
175        <article class="col-xs-12 col-lg-12 content-left"> 
176            <header> 
177                <h2 style="color:black;" class="article-headline smallheader pt-0">${name}</h2> 
178            </header> 
179            <div class="row my-3"> 
180                <div class="col-md-12 col-lg-6 mb-3 serviceBoxDetailLeft"> 
181                    <div> 
182                        <p> 
183                            ${kachelDetailText.replace('[name]',${name})} 
184                        </p> 
185                    </div> 
186                </div> 
187                <div class="col-md-12 col-lg-6 serviceBoxDetailRight"> 
188                    <div class="card border-secondary rounded-0 d-none"> 
189                        <div class="card-header bg-white"> 
190                            <h3 class="font-weight-bold" style="color:#608119">Häufig genutzte Dienstleistungen</h3> 
191                        </div> 
192                        <div class="row card-body text-secondary haeufig-genutzte-dienstleistungen" id="mostUsedService"></div> 
193                    </div> 
194                </div> 
195            </div> 
196        </article> 
197    </div> 
198    <div class="content-metadata-asset-addon-entries"> 
199    </div> 
200    <div class="row dienstleistung-kategorie"> 
201        <div class="col-12"> 
202            <h3 style="color:black;" class="sr-only">Alle Dienstleistungen der Kategorie</h3> 
203            <ul class="level-1 list-unstyled" id="categoryList"> 
204                <li> 
205                    <div class="service-title-wrapper"> 
206                        <h4 class="branch">Weitere Dienstleistungen (Informationen)</h4> 
207                    </div> 
208                    <ul class="level-(2) leaf list-unstyled" id="serviceList"></ul> 
209                </li> 
210            </ul> 
211        </div> 
212    </div> 
213</div> 
214#else 
215<div id="boxes"> 
216    <div class="text-right user-tool-asset-addon-entries"></div> 
217    <div class="clearfix journal-content-article" data-analytics-asset-id="46696" data-analytics-asset-title="Dienstleistungen" data-analytics-asset-type="web-content"> 
218        <article class="col-xs-12 col-lg-12 content-left"> 
219            <header> 
220                <h2 style="color:black;"  class="article-headline smallheader"> 
221                    Dienstleistungen</h2> 
222            </header> 
223            <div class="col-md-12 col-lg-7 intro sr-only"> 
224                <p>Hier finden Sie unser Angebot sowie 
225                    alle wichtigen Informationen zu den 
226                    Dienstleistungen</p> 
227            </div> 
228        </article> 
229    </div> 
230    <div class="content-metadata-asset-addon-entries"> 
231    </div> 
232    <div class="kacheln mt-0"> 
233        <div class="portlet-content-container"> 
234            <div class="portlet-body"> 
235                <ul class="level-1 list-unstyled" id="kachel-list"> 
236 
237                </ul> 
238            </div> 
239        </div> 
240    </div> 
241</div> 
242#end 
243 
244 
245 
246#if ($dienstleistungsuebersicht.tree.empty) 
247<div class="alert alert-warning">Keine Dienstleistungenskategorien gefunden.</div> 
248#end