Artikkel

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 8, column 17 in 10153#10191#5883698.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7 
8<#assign bCode= qstringmap["bankercode"]?first> 
9<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
10<#list bData as b>      
11    <#assign lc = b.locationcode > 
12    <#assign rLC = b.reallocationcode > 
13    <#assign mappedLC = b.mappedLocationCode > 
14</#list>  
15<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
16    <#assign ameriprise = true> 
17<#else> 
18    <#assign ameriprise = false> 
19</#if> 
20 
21<#if mappedLC?has_content && !ameriprise> 
22    <#assign lc = mappedLC > 
23</#if> 
24 
25<#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bCode)> 
26<#if fiData?first?has_content> 
27    <#assign fi = fiData?first> 
28    <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
29        <#assign subbu_special = fi.offerId> 
30    </#if> 
31</#if> 
32 
33 
34<#if lc?has_content> 
35    <#assign prefix = "00000" > 
36    <#assign lcWithPrefix = prefix + lc> 
37    <#assign withPrefixLength = lcWithPrefix?length > 
38    <#assign startHere = withPrefixLength - 5> 
39    <#assign lc = lcWithPrefix?substring(startHere)>     
40    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
41    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
42 
43    <#assign clientProfile = clientProfileList?first> 
44    <#assign partnerName = clientProfile.getMarketingNameLong()> 
45    <#assign pbu = clientProfile.getPbu()> 
46    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>     
47    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
48    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
49    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
50    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")>             
51        <#assign partnerUrl = 'https://' + partnerUrl> 
52    </#if> 
53 
54    <!-- <#assign clientdataList = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
55    <#if clientdataList?has_content > 
56        <#assign clientdata = clientdataList?first > 
57    	<#assign backgroundHexColor = clientdata["backgroundHexColor"] > 
58		<#assign backgroundImage = clientdata["backgroundImage"] > 
59		<#assign buttonHexColor = clientdata["buttonHexColor"] > 
60		<#assign AprMin = clientdata["AprMin"] > 
61		<#assign AprMax = clientdata["AprMax"] > 
62		<#assign cashAdvanceRate = clientdata["cashAdvanceRate"] > 
63		<#assign BillingCycles = clientdata["BillingCycles"] > 
64		<#assign textHexColor = clientdata["textHexColor"] > 
65		<#assign linkHexColor = clientdata["linkHexColor"] > 
66		<#assign hoverColor = clientdata["hoverColor"] > 
67		<#assign secondaryBackgroundImage = clientdata["secondaryBackgroundImage"] > 
68		<#assign transparency = clientdata["transparency"] > 
69		<#assign businessBackgroundImageLarge = clientdata["businessBackgroundImageLarge"] > 
70		<#assign businessBackgroundImageSmall = clientdata["businessBackgroundImageSmall"] > 
71		<#assign businessTransparency = clientdata["businessTransparency"] > 
72		<#assign dmaBackgroundImage = clientdata["dmaBackgroundImage"] > 
73		<#assign secondaryDmaBackgroundImage = clientdata["secondaryDmaBackgroundImage"] > 
74	</#if> --> 
75	 
76    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
77    <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
78        <script> 
79        console.log('logo url', '${cdnLogoUrl}${logoFileName}'); 
80    </script> 
81    <#if pbu == "0864054"> 
82        <#assign override = "berkshire"> 
83    <#else> 
84        <#assign override = " "> 
85    </#if> 
86    <#--  this one should be delete for prod  --> 
87                 
88    <#-- <#assign cdnLogoUrl = "https://4f61efb10f32ceb57895-3733e103896f37259213d6ad72acbe68.ssl.cf2.rackcdn.com">   
89    <#assign logoFileName = pbu + "-" + subbu + ".png">--> 
90 
91    <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
92    <#if (subbu_special?has_content)> 
93        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
94        <script> 
95            console.log('new subbu', '${subbu_special!''}'); 
96        </script>  
97    <#else> 
98        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
99    </#if> 
100    <#assign temp = []> 
101    <#assign consumerCards = []> 
102    <#assign businessCards = []>  
103    <#assign offerTypeList = []>       
104    <#assign index = 0> 
105    <#assign ameriprise_cards= []> 
106    <#assign consumerOfferTypes =['101', '108', '109', '104', '138', '154', '141', '147', '115']> 
107    <#assign businessOfferTypes =['128', '121', '144', '143']> 
108    <#list fiCardsData as fib> 
109        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
110            <#assign offerTypeList = offerTypeList + [fib.offerType]> 
111            <#assign temp = temp + fiCardsData[index..index]>    
112            <#if ameriprise> 
113                <#if (fib.offerType == "101" || fib.offerType == "103")> 
114                    <#assign ameriprise_cards= ameriprise_cards + fiCardsData[index..index]> 
115                </#if>                      
116            <#else> 
117                <#if consumerOfferTypes?seq_contains(fib.offerType)> 
118                    <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
119                <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
120                    <#assign businessCards = businessCards + fiCardsData[index..index]> 
121                </#if>             
122            </#if>                 
123        </#if>  
124        <#assign index = index + 1>   
125                     
126    </#list>        
127    <#assign fiCardsData = temp> 
128    <#if ameriprise> 
129        <#assign consumerCards = ameriprise_cards?sort_by("offerType")> 
130    </#if> 
131 
132    <#if (fiCardsData?size > 0)>   
133        <#if (subbu_special?has_content)> 
134            <#assign lc_used = fiCardsData?first.WebLocationCode>   
135        <#else> 
136            <#if ameriprise> 
137                <#assign lc_used = mappedLC>  
138            <#else> 
139                <#assign lc_used = lc>  
140            </#if> 
141        </#if>               
142        <#assign offerId = ""> 
143        <#assign sourceCode = ""> 
144        <#assign cardArtImage = ""> 
145        <#assign productUrl = ""> 
146        <#assign product = ""> 
147        <#assign preparerType = "customer"> 
148        <#assign apr = ""> 
149        <#assign cardIndex = 0>   
150        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
151            <#if (offerTypeList?seq_contains("101") || offerTypeList?seq_contains("103"))> 
152                <#list consumerCards as card> 
153                    <#if (card.offerType=="101" || card.offerType=="103") > 
154                        <#assign offerId = card.offerId> 
155                        <#assign sourceCode = card.sourceCode> 
156                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
157                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
158 
159                        <#assign productUrl="consumer-edr2112"> 
160                        <#assign product="Everyday Rewards+"> 
161                        <#assign cardIndex = 1> 
162 
163                        <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
164                        <#if (scrapedData?size > 0)> 
165                            <#list scrapedData as sItem> 
166                            <script> 
167                              console.log("scrapped item", "${sItem.scrapedLabel}"); 
168                            </script> 
169                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
170                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
171                                    <#break> 
172                                </#if> 
173                            </#list> 
174                            <script> 
175                                $(document).ready(function () { 
176                                    var aprText = "${apr}"; 
177                                    if (aprText) { 
178                                        console.log("apr: " + aprText); 
179                                        try { 
180                                            $(".apr-full-text").html(aprText); 
181                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
182                                            var billing_cycle = matches[1]; 
183                                            var apr_min = apr_min = matches[2]; 
184                                            var apr_max = apr_max = matches[3]; 
185                                            if (billing_cycle) { 
186                                                $(".scraped-billing-cycle").html(billing_cycle); 
187
188                                            if (apr_min) { 
189                                                $(".scraped-apr-min").html(apr_min); 
190
191                                            if (apr_max) { 
192                                                $('.scraped-apr-max').html(apr_max); 
193
194 
195                                        } catch (e) { 
196                                            console.log(e); 
197
198                                    } else { 
199                                      $(".apr-full-text").html(''); 
200
201                                }); 
202                            </script> 
203                        </#if> 
204                        <script> 
205                        var product = "${product}"; 
206                        var partnerName = "${partnerName}"; 
207                          $(document).ready(function () { 
208                            $(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&amp;offerId=${offerId}&amp;locationCode=${lc_used}" target="_blank"><span class="screen-reader-only">' + partnerName + ' ' + product + ' Card</span>See terms &amp; conditions</a>'); 
209                          }); 
210                        </script> 
211                    </#if> 
212                </#list> 
213            <#else> 
214                <#assign displayedCard = consumerCards[0]> 
215                <#assign offerId = displayedCard.offerId> 
216                <#assign sourceCode = displayedCard.sourceCode> 
217                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
218                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
219                <#if ameriprise> 
220                    <#if (displayedCard.offerType == "101")> 
221                        <#assign productUrl="ameriprise-premier-visa-signature"> 
222                        <#assign product="Premier Visa Signature"> 
223                        <#assign cardIndex = 0> 
224                    <#elseif (displayedCard.offerType == "103")> 
225                        <#assign productUrl = "ameriprise-visa-signature"> 
226                        <#assign product="Visa Signature"> 
227                        <#assign cardIndex = 1> 
228                    </#if> 
229                <#else>                   
230                        <#if (displayedCard.offerType == "108" || displayedCard.offerType == "109")> 
231                            <#assign productUrl = "consumer-platinum2103"> 
232                            <#assign product="Platinum">    
233                            <#assign cardIndex = 4>    
234                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
235                            <#if (scrapedData?size > 0)> 
236                                <#list scrapedData as sItem> 
237                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
238                                        <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
239                                        <#break> 
240                                    </#if> 
241                                </#list> 
242                                <script> 
243                                    $(document).ready(function () { 
244                                        var aprText = "${apr}"; 
245                                        if (aprText) { 
246                                            console.log("apr:" + aprText); 
247                                            try { 
248                                                $(".apr-full-text").html(aprText); 
249                                                var matches= aprText.match(/\d+(\.\d+)?%?/g); 
250                                                var billing_cycle = matches[1]; 
251                                                var apr_min = apr_min = matches[2]; 
252                                                var apr_max = apr_max = matches[3]; 
253                                                if (billing_cycle) { 
254                                                    $(".scraped-billing-cycle").html(billing_cycle); 
255
256                                                if (apr_min) { 
257                                                    $(".scraped-apr-min").html(apr_min); 
258
259                                                if (apr_max) { 
260                                                    $('.scraped-apr-max').html(apr_max); 
261
262 
263                                            } catch (e) { 
264                                                console.log(e); 
265
266                                        } else { 
267                                          $(".apr-full-text").html(''); 
268
269                                    }); 
270                                </script> 
271                            </#if>     
272                        <#elseif (displayedCard.offerType == "104")> 
273                            <#assign productUrl = "max-cash"> 
274                            <#assign product="Max Cash Preferred"> 
275                            <#assign cardIndex = 0>    
276                        <#elseif (displayedCard.offerType == "141")> 
277                            <#assign productUrl = "college-real-rewards"> 
278                            <#assign product="College Real Rewards"> 
279                            <#assign cardIndex = 2>                                                
280                        <#elseif (displayedCard.offerType == "115")> 
281                            <#assign productUrl = "secured"> 
282                            <#assign product="Secured"> 
283                            <#assign cardIndex = 3> 
284                        </#if> 
285                </#if> 
286            </#if> 
287        </#if> 
288        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
289            <#if (offerTypeList?seq_contains("128")) > 
290                <#list businessCards as card> 
291                    <#if (card.offerType=="128")> 
292                        <#assign offerId = card.offerId> 
293                        <#assign sourceCode = card.sourceCode> 
294                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
295                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
296                        <#assign productUrl = "business-cash-preferred"> 
297                        <#assign product="Business Cash Preferred">                 
298                        <#assign cardIndex = 0> 
299                    </#if> 
300                </#list> 
301            <#else> 
302                <#assign displayedCard = businessCards[0]> 
303                <#assign offerId = displayedCard.offerId> 
304                <#assign sourceCode = displayedCard.sourceCode> 
305                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
306                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
307 
308                <#if (displayedCard.offerType=="143")> 
309                    <#assign productUrl="business-real-rewards"> 
310                    <#assign product="Business Real Rewards"> 
311                    <#assign cardIndex = 2>    
312                <#elseif (displayedCard.offerType=="144")> 
313                    <#assign productUrl = "smart-business-rewards"> 
314                    <#assign product="Smart Business Rewards"> 
315                    <#assign cardIndex = 1>                     
316                <#elseif (displayedCard.offerType=="121")> 
317                    <#assign productUrl = "business-platinum2103"> 
318                    <#assign product="Business Card"> 
319                    <#assign cardIndex = 3> 
320                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
321                    <#if (scrapedData?size > 0)> 
322                        <#list scrapedData as sItem> 
323                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
324                                <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
325                                <#break> 
326                            </#if> 
327                        </#list> 
328                        <script> 
329                        console.log("apr"); 
330                            $(document).ready(function () { 
331                                var aprText = "${apr}"; 
332                                if (aprText) { 
333                                    console.log("apr: " + aprText); 
334                                    try { 
335                                        $(".apr-full-text").html(aprText); 
336                                        var matches= aprText.match(/\d+(\.\d+)?%?/g); 
337                                        var billing_cycle = matches[1]; 
338                                        var apr_min = apr_min = matches[2]; 
339                                        var apr_max = apr_max = matches[3]; 
340                                        if (billing_cycle) { 
341                                            $(".scraped-billing-cycle").html(billing_cycle); 
342
343                                        if (apr_min) { 
344                                            $(".scraped-apr-min").html(apr_min); 
345
346                                        if (apr_max) { 
347                                            $('.scraped-apr-max').html(apr_max); 
348
349 
350                                    } catch (e) { 
351                                        console.log(e); 
352
353                                } else { 
354                                  $(".apr-full-text").html(''); 
355
356                            }); 
357                        </script> 
358                    </#if>                       
359                </#if> 
360            </#if> 
361        </#if>    
362        <#if product != ""> 
363            <#if ameriprise> 
364                <#assign card_art_alt =  partnerName + " " + product + " Card"> 
365                <#assign rollover_text =  partnerName + " " + product + " Card"> 
366            <#else> 
367                <#assign card_art_alt = partnerName + " " + product + "  Card"> 
368                <#assign rollover_text =  partnerName + " " + product + " Credit Card"> 
369                <#assign card_text = product + " Card"> 
370            </#if>  
371        </#if>  
372        <div class="jn-hero-container product-${productUrl} tier1-hero-${class.getData()}" title="${rollover_text!''}"> 
373            <div class="hero-main"> 
374                <div class="hero-main-logo"> 
375                    <#if partnerUrl?has_content> 
376                        <a href="${partnerUrl!''}" title="${partnerName!''} Logo"><img src="${cdnLogoUrl!''}/${logoFileName!''}" title="${partnerName!''} Logo" alt="${partnerName!''} Logo"></a> 
377                    <#else> 
378                        <a title="${partnerName!''} Logo"><img src="${cdnLogoUrl!''}/${logoFileName!''}" title="${partnerName!''} Logo" alt="${partnerName!''} Logo"></a> 
379                    </#if> 
380                </div> 
381                <div class="hero-main-container"> 
382                    <div class="hero-main-offer bg-color-white"> 
383                    <div class="offer-detail"> 
384 
385                            <div class="offer-detail-cardArt cardArtImg">                                                  
386                                <img src="${cardArtImage!''}" alt="${card_art_alt!''}" srcset="" title="${card_art_alt!''}" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
387                                <p>${card_text!''}</p> 
388                            </div> 
389                            <div class="offer-detail-text text-color-default hide-desktop"> 
390                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureTop.getData()} 
391                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureBottom.getData()} 
392                            </div> 
393 
394                            <#if ameriprise> 
395                                <a data-button-name="cta-button-top" title="Learn More about ${partnerName!''} credit cards" class="jn-button apply-button text-bold button-bg-color-custom text-color-white hide-desktop" href="javascript:void(0);" onclick="goToByScroll('product-display')">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a>                                 
396                            <#else>  
397                                <form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm hide-desktop"> 
398                                    <label for="appDataBAAMobile-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
399                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAAMobile-${sourceCode}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
400                                    <button  
401                                        type="submit"  
402                                        data-button-name="cta-button-top"   
403                                        data-product-name="${productUrl!''}"                                        
404                                        class="jn-button apply-button apply-now-button text-bold button-bg-color-custom text-color-white" 
405                                        disabled  
406
407                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()} <span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card</span> 
408                                    </button> 
409                                </form> 
410                            </#if> 
411                        </div> 
412 
413                        <div class="offer-header"> 
414                             <div class="offer-text-top"> 
415                                <div class="offer-title">${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()}</div> 
416                                <h1 class="offer-subtitle">${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}</h1> 
417                            </div> 
418                            <div class="offer-text-bottom hide-mobile"> 
419                                <div class="offer-detail-text text-color-default"> 
420                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureTop.getData()} 
421                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureBottom.getData()} 
422                                </div> 
423 
424                                <#if ameriprise> 
425                                    <a data-button-name="cta-button-top" title="Learn More about ${partnerName!''} credit cards" class="jn-button apply-button text-bold button-bg-color-custom text-color-white" href="javascript:void(0);" onclick="goToByScroll('product-display')">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a>                                 
426                                <#else>  
427                                    <form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm"> 
428                                        <label for="appDataBAA-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
429                                        <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${sourceCode}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
430                                        <button  
431                                            type="submit"  
432                                            data-button-name="cta-button-top"   
433                                            data-product-name="${productUrl!''}"  
434                                            class="jn-button apply-button apply-now-button text-bold button-bg-color-custom text-color-white" 
435                                            disabled 
436
437                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card</span> 
438                                        </button> 
439                                    </form> 
440                                </#if> 
441                            </div> 
442                        </div>                        
443                    </div> 
444                </div> 
445            </div> 
446        </div>   
447 
448    </#if> 
449</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 8, column 17 in 10153#10191#5883698.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
4<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
5<#assign url404 = '/error/404.html'> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7 
8<#assign bCode= qstringmap["bankercode"]?first> 
9<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
10<#list bData as b>      
11    <#assign lc = b.locationcode > 
12    <#assign rLC = b.reallocationcode > 
13    <#assign mappedLC = b.mappedLocationCode > 
14</#list>  
15<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
16    <#assign ameriprise = true> 
17<#else> 
18    <#assign ameriprise = false> 
19</#if> 
20 
21<#if mappedLC?has_content && !ameriprise> 
22    <#assign lc = mappedLC > 
23</#if> 
24 
25<#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bCode)> 
26<#if fiData?first?has_content> 
27    <#assign fi = fiData?first> 
28    <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
29        <#assign subbu_special = fi.offerId> 
30    </#if> 
31</#if> 
32 
33 
34<#if lc?has_content> 
35    <#assign prefix = "00000" > 
36    <#assign lcWithPrefix = prefix + lc> 
37    <#assign withPrefixLength = lcWithPrefix?length > 
38    <#assign startHere = withPrefixLength - 5> 
39    <#assign lc = lcWithPrefix?substring(startHere)>     
40    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
41    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
42 
43    <#assign clientProfile = clientProfileList?first> 
44    <#assign partnerName = clientProfile.getMarketingNameLong()> 
45    <#assign pbu = clientProfile.getPbu()> 
46    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>     
47    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
48    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
49    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
50    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")>             
51        <#assign partnerUrl = 'https://' + partnerUrl> 
52    </#if> 
53 
54    <!-- <#assign clientdataList = utilServ.makeCall('crcDDCTier1Customizations','0&'+pbu+'&'+subbu+'&11')> 
55    <#if clientdataList?has_content > 
56        <#assign clientdata = clientdataList?first > 
57    	<#assign backgroundHexColor = clientdata["backgroundHexColor"] > 
58		<#assign backgroundImage = clientdata["backgroundImage"] > 
59		<#assign buttonHexColor = clientdata["buttonHexColor"] > 
60		<#assign AprMin = clientdata["AprMin"] > 
61		<#assign AprMax = clientdata["AprMax"] > 
62		<#assign cashAdvanceRate = clientdata["cashAdvanceRate"] > 
63		<#assign BillingCycles = clientdata["BillingCycles"] > 
64		<#assign textHexColor = clientdata["textHexColor"] > 
65		<#assign linkHexColor = clientdata["linkHexColor"] > 
66		<#assign hoverColor = clientdata["hoverColor"] > 
67		<#assign secondaryBackgroundImage = clientdata["secondaryBackgroundImage"] > 
68		<#assign transparency = clientdata["transparency"] > 
69		<#assign businessBackgroundImageLarge = clientdata["businessBackgroundImageLarge"] > 
70		<#assign businessBackgroundImageSmall = clientdata["businessBackgroundImageSmall"] > 
71		<#assign businessTransparency = clientdata["businessTransparency"] > 
72		<#assign dmaBackgroundImage = clientdata["dmaBackgroundImage"] > 
73		<#assign secondaryDmaBackgroundImage = clientdata["secondaryDmaBackgroundImage"] > 
74	</#if> --> 
75	 
76    <#assign logoFileName = clientProfile.getLogoBFormat1()?replace(".", "-")?replace("-([^-]*)$", ".$1", "r")?lower_case> 
77    <#assign cdnLogoUrl = propsUtil.get('rackspace.cdn.web.url')> 
78        <script> 
79        console.log('logo url', '${cdnLogoUrl}${logoFileName}'); 
80    </script> 
81    <#if pbu == "0864054"> 
82        <#assign override = "berkshire"> 
83    <#else> 
84        <#assign override = " "> 
85    </#if> 
86    <#--  this one should be delete for prod  --> 
87                 
88    <#-- <#assign cdnLogoUrl = "https://4f61efb10f32ceb57895-3733e103896f37259213d6ad72acbe68.ssl.cf2.rackcdn.com">   
89    <#assign logoFileName = pbu + "-" + subbu + ".png">--> 
90 
91    <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')> 
92    <#if (subbu_special?has_content)> 
93        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
94        <script> 
95            console.log('new subbu', '${subbu_special!''}'); 
96        </script>  
97    <#else> 
98        <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
99    </#if> 
100    <#assign temp = []> 
101    <#assign consumerCards = []> 
102    <#assign businessCards = []>  
103    <#assign offerTypeList = []>       
104    <#assign index = 0> 
105    <#assign ameriprise_cards= []> 
106    <#assign consumerOfferTypes =['101', '108', '109', '104', '138', '154', '141', '147', '115']> 
107    <#assign businessOfferTypes =['128', '121', '144', '143']> 
108    <#list fiCardsData as fib> 
109        <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
110            <#assign offerTypeList = offerTypeList + [fib.offerType]> 
111            <#assign temp = temp + fiCardsData[index..index]>    
112            <#if ameriprise> 
113                <#if (fib.offerType == "101" || fib.offerType == "103")> 
114                    <#assign ameriprise_cards= ameriprise_cards + fiCardsData[index..index]> 
115                </#if>                      
116            <#else> 
117                <#if consumerOfferTypes?seq_contains(fib.offerType)> 
118                    <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
119                <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
120                    <#assign businessCards = businessCards + fiCardsData[index..index]> 
121                </#if>             
122            </#if>                 
123        </#if>  
124        <#assign index = index + 1>   
125                     
126    </#list>        
127    <#assign fiCardsData = temp> 
128    <#if ameriprise> 
129        <#assign consumerCards = ameriprise_cards?sort_by("offerType")> 
130    </#if> 
131 
132    <#if (fiCardsData?size > 0)>   
133        <#if (subbu_special?has_content)> 
134            <#assign lc_used = fiCardsData?first.WebLocationCode>   
135        <#else> 
136            <#if ameriprise> 
137                <#assign lc_used = mappedLC>  
138            <#else> 
139                <#assign lc_used = lc>  
140            </#if> 
141        </#if>               
142        <#assign offerId = ""> 
143        <#assign sourceCode = ""> 
144        <#assign cardArtImage = ""> 
145        <#assign productUrl = ""> 
146        <#assign product = ""> 
147        <#assign preparerType = "customer"> 
148        <#assign apr = ""> 
149        <#assign cardIndex = 0>   
150        <#if (class.getData() == "landing-consumer" && consumerCards?size > 0)> 
151            <#if (offerTypeList?seq_contains("101") || offerTypeList?seq_contains("103"))> 
152                <#list consumerCards as card> 
153                    <#if (card.offerType=="101" || card.offerType=="103") > 
154                        <#assign offerId = card.offerId> 
155                        <#assign sourceCode = card.sourceCode> 
156                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
157                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
158 
159                        <#assign productUrl="consumer-edr2112"> 
160                        <#assign product="Everyday Rewards+"> 
161                        <#assign cardIndex = 1> 
162 
163                        <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
164                        <#if (scrapedData?size > 0)> 
165                            <#list scrapedData as sItem> 
166                            <script> 
167                              console.log("scrapped item", "${sItem.scrapedLabel}"); 
168                            </script> 
169                                <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
170                                    <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
171                                    <#break> 
172                                </#if> 
173                            </#list> 
174                            <script> 
175                                $(document).ready(function () { 
176                                    var aprText = "${apr}"; 
177                                    if (aprText) { 
178                                        console.log("apr: " + aprText); 
179                                        try { 
180                                            $(".apr-full-text").html(aprText); 
181                                            var matches= aprText.match(/\d+(\.\d+)?%?/g); 
182                                            var billing_cycle = matches[1]; 
183                                            var apr_min = apr_min = matches[2]; 
184                                            var apr_max = apr_max = matches[3]; 
185                                            if (billing_cycle) { 
186                                                $(".scraped-billing-cycle").html(billing_cycle); 
187
188                                            if (apr_min) { 
189                                                $(".scraped-apr-min").html(apr_min); 
190
191                                            if (apr_max) { 
192                                                $('.scraped-apr-max').html(apr_max); 
193
194 
195                                        } catch (e) { 
196                                            console.log(e); 
197
198                                    } else { 
199                                      $(".apr-full-text").html(''); 
200
201                                }); 
202                            </script> 
203                        </#if> 
204                        <script> 
205                        var product = "${product}"; 
206                        var partnerName = "${partnerName}"; 
207                          $(document).ready(function () { 
208                            $(".see-terms").replaceWith('<a href="${oadURL_TC}?step=display&amp;offerId=${offerId}&amp;locationCode=${lc_used}" target="_blank"><span class="screen-reader-only">' + partnerName + ' ' + product + ' Card</span>See terms &amp; conditions</a>'); 
209                          }); 
210                        </script> 
211                    </#if> 
212                </#list> 
213            <#else> 
214                <#assign displayedCard = consumerCards[0]> 
215                <#assign offerId = displayedCard.offerId> 
216                <#assign sourceCode = displayedCard.sourceCode> 
217                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
218                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
219                <#if ameriprise> 
220                    <#if (displayedCard.offerType == "101")> 
221                        <#assign productUrl="ameriprise-premier-visa-signature"> 
222                        <#assign product="Premier Visa Signature"> 
223                        <#assign cardIndex = 0> 
224                    <#elseif (displayedCard.offerType == "103")> 
225                        <#assign productUrl = "ameriprise-visa-signature"> 
226                        <#assign product="Visa Signature"> 
227                        <#assign cardIndex = 1> 
228                    </#if> 
229                <#else>                   
230                        <#if (displayedCard.offerType == "108" || displayedCard.offerType == "109")> 
231                            <#assign productUrl = "consumer-platinum2103"> 
232                            <#assign product="Platinum">    
233                            <#assign cardIndex = 4>    
234                            <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
235                            <#if (scrapedData?size > 0)> 
236                                <#list scrapedData as sItem> 
237                                    <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
238                                        <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
239                                        <#break> 
240                                    </#if> 
241                                </#list> 
242                                <script> 
243                                    $(document).ready(function () { 
244                                        var aprText = "${apr}"; 
245                                        if (aprText) { 
246                                            console.log("apr:" + aprText); 
247                                            try { 
248                                                $(".apr-full-text").html(aprText); 
249                                                var matches= aprText.match(/\d+(\.\d+)?%?/g); 
250                                                var billing_cycle = matches[1]; 
251                                                var apr_min = apr_min = matches[2]; 
252                                                var apr_max = apr_max = matches[3]; 
253                                                if (billing_cycle) { 
254                                                    $(".scraped-billing-cycle").html(billing_cycle); 
255
256                                                if (apr_min) { 
257                                                    $(".scraped-apr-min").html(apr_min); 
258
259                                                if (apr_max) { 
260                                                    $('.scraped-apr-max').html(apr_max); 
261
262 
263                                            } catch (e) { 
264                                                console.log(e); 
265
266                                        } else { 
267                                          $(".apr-full-text").html(''); 
268
269                                    }); 
270                                </script> 
271                            </#if>     
272                        <#elseif (displayedCard.offerType == "104")> 
273                            <#assign productUrl = "max-cash"> 
274                            <#assign product="Max Cash Preferred"> 
275                            <#assign cardIndex = 0>    
276                        <#elseif (displayedCard.offerType == "141")> 
277                            <#assign productUrl = "college-real-rewards"> 
278                            <#assign product="College Real Rewards"> 
279                            <#assign cardIndex = 2>                                                
280                        <#elseif (displayedCard.offerType == "115")> 
281                            <#assign productUrl = "secured"> 
282                            <#assign product="Secured"> 
283                            <#assign cardIndex = 3> 
284                        </#if> 
285                </#if> 
286            </#if> 
287        </#if> 
288        <#if (class.getData() == "landing-business" && businessCards?size > 0)> 
289            <#if (offerTypeList?seq_contains("128")) > 
290                <#list businessCards as card> 
291                    <#if (card.offerType=="128")> 
292                        <#assign offerId = card.offerId> 
293                        <#assign sourceCode = card.sourceCode> 
294                        <#assign cardArtImage = cdnCardArtUrl + "/"+card.filename+".png"> 
295                        <#assign cardArtImageAlt = cdnCardArtUrl + "/"+card.filename+".jpg"> 
296                        <#assign productUrl = "business-cash-preferred"> 
297                        <#assign product="Business Cash Preferred">                 
298                        <#assign cardIndex = 0> 
299                    </#if> 
300                </#list> 
301            <#else> 
302                <#assign displayedCard = businessCards[0]> 
303                <#assign offerId = displayedCard.offerId> 
304                <#assign sourceCode = displayedCard.sourceCode> 
305                <#assign cardArtImage = cdnCardArtUrl + "/"+ displayedCard.filename + ".png"> 
306                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+ displayedCard.filename + ".jpg"> 
307 
308                <#if (displayedCard.offerType=="143")> 
309                    <#assign productUrl="business-real-rewards"> 
310                    <#assign product="Business Real Rewards"> 
311                    <#assign cardIndex = 2>    
312                <#elseif (displayedCard.offerType=="144")> 
313                    <#assign productUrl = "smart-business-rewards"> 
314                    <#assign product="Smart Business Rewards"> 
315                    <#assign cardIndex = 1>                     
316                <#elseif (displayedCard.offerType=="121")> 
317                    <#assign productUrl = "business-platinum2103"> 
318                    <#assign product="Business Card"> 
319                    <#assign cardIndex = 3> 
320                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', offerId + '&'+ sourceCode)> 
321                    <#if (scrapedData?size > 0)> 
322                        <#list scrapedData as sItem> 
323                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
324                                <#assign apr = sItem.scrapedValue?replace("(\n|\r\n|\r)+", " ","r")> 
325                                <#break> 
326                            </#if> 
327                        </#list> 
328                        <script> 
329                        console.log("apr"); 
330                            $(document).ready(function () { 
331                                var aprText = "${apr}"; 
332                                if (aprText) { 
333                                    console.log("apr: " + aprText); 
334                                    try { 
335                                        $(".apr-full-text").html(aprText); 
336                                        var matches= aprText.match(/\d+(\.\d+)?%?/g); 
337                                        var billing_cycle = matches[1]; 
338                                        var apr_min = apr_min = matches[2]; 
339                                        var apr_max = apr_max = matches[3]; 
340                                        if (billing_cycle) { 
341                                            $(".scraped-billing-cycle").html(billing_cycle); 
342
343                                        if (apr_min) { 
344                                            $(".scraped-apr-min").html(apr_min); 
345
346                                        if (apr_max) { 
347                                            $('.scraped-apr-max').html(apr_max); 
348
349 
350                                    } catch (e) { 
351                                        console.log(e); 
352
353                                } else { 
354                                  $(".apr-full-text").html(''); 
355
356                            }); 
357                        </script> 
358                    </#if>                       
359                </#if> 
360            </#if> 
361        </#if>    
362        <#if product != ""> 
363            <#if ameriprise> 
364                <#assign card_art_alt =  partnerName + " " + product + " Card"> 
365                <#assign rollover_text =  partnerName + " " + product + " Card"> 
366            <#else> 
367                <#assign card_art_alt = partnerName + " " + product + "  Card"> 
368                <#assign rollover_text =  partnerName + " " + product + " Credit Card"> 
369                <#assign card_text = product + " Card"> 
370            </#if>  
371        </#if>  
372        <div class="jn-hero-container product-${productUrl} tier1-hero-${class.getData()}" title="${rollover_text!''}"> 
373            <div class="hero-main"> 
374                <div class="hero-main-logo"> 
375                    <#if partnerUrl?has_content> 
376                        <a href="${partnerUrl!''}" title="${partnerName!''} Logo"><img src="${cdnLogoUrl!''}/${logoFileName!''}" title="${partnerName!''} Logo" alt="${partnerName!''} Logo"></a> 
377                    <#else> 
378                        <a title="${partnerName!''} Logo"><img src="${cdnLogoUrl!''}/${logoFileName!''}" title="${partnerName!''} Logo" alt="${partnerName!''} Logo"></a> 
379                    </#if> 
380                </div> 
381                <div class="hero-main-container"> 
382                    <div class="hero-main-offer bg-color-white"> 
383                    <div class="offer-detail"> 
384 
385                            <div class="offer-detail-cardArt cardArtImg">                                                  
386                                <img src="${cardArtImage!''}" alt="${card_art_alt!''}" srcset="" title="${card_art_alt!''}" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
387                                <p>${card_text!''}</p> 
388                            </div> 
389                            <div class="offer-detail-text text-color-default hide-desktop"> 
390                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureTop.getData()} 
391                                ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureBottom.getData()} 
392                            </div> 
393 
394                            <#if ameriprise> 
395                                <a data-button-name="cta-button-top" title="Learn More about ${partnerName!''} credit cards" class="jn-button apply-button text-bold button-bg-color-custom text-color-white hide-desktop" href="javascript:void(0);" onclick="goToByScroll('product-display')">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a>                                 
396                            <#else>  
397                                <form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm hide-desktop"> 
398                                    <label for="appDataBAAMobile-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
399                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAAMobile-${sourceCode}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
400                                    <button  
401                                        type="submit"  
402                                        data-button-name="cta-button-top"   
403                                        data-product-name="${productUrl!''}"                                        
404                                        class="jn-button apply-button apply-now-button text-bold button-bg-color-custom text-color-white" 
405                                        disabled  
406
407                                        ${productTitle.getSiblings()[cardIndex].ctaText.getData()} <span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card</span> 
408                                    </button> 
409                                </form> 
410                            </#if> 
411                        </div> 
412 
413                        <div class="offer-header"> 
414                             <div class="offer-text-top"> 
415                                <div class="offer-title">${productTitle.getSiblings()[cardIndex].primaryHeadlineText.getData()}</div> 
416                                <h1 class="offer-subtitle">${productTitle.getSiblings()[cardIndex].primaryHeadlineFeature.getData()}</h1> 
417                            </div> 
418                            <div class="offer-text-bottom hide-mobile"> 
419                                <div class="offer-detail-text text-color-default"> 
420                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureTop.getData()} 
421                                    ${productTitle.getSiblings()[cardIndex].primaryHeadlineFeatureBottom.getData()} 
422                                </div> 
423 
424                                <#if ameriprise> 
425                                    <a data-button-name="cta-button-top" title="Learn More about ${partnerName!''} credit cards" class="jn-button apply-button text-bold button-bg-color-custom text-color-white" href="javascript:void(0);" onclick="goToByScroll('product-display')">${productTitle.getSiblings()[cardIndex].ctaText.getData()}</a>                                 
426                                <#else>  
427                                    <form action="${oadURL}?locationCode=${lc_used}&offerId=${offerId}&preparerType=${preparerType}&sourceCode=${sourceCode}" method="post" class="BAAForm"> 
428                                        <label for="appDataBAA-${sourceCode}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
429                                        <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${sourceCode}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
430                                        <button  
431                                            type="submit"  
432                                            data-button-name="cta-button-top"   
433                                            data-product-name="${productUrl!''}"  
434                                            class="jn-button apply-button apply-now-button text-bold button-bg-color-custom text-color-white" 
435                                            disabled 
436
437                                            ${productTitle.getSiblings()[cardIndex].ctaText.getData()}<span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card</span> 
438                                        </button> 
439                                    </form> 
440                                </#if> 
441                            </div> 
442                        </div>                        
443                    </div> 
444                </div> 
445            </div> 
446        </div>   
447 
448    </#if> 
449</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 32, column 17 in 10153#10191#5843849.
1<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService") > 
2<#assign oadURL = propsUtil.get('elan.oad.url') > 
3<#assign url = request.attributes.CURRENT_URL > 
4<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
5<#-- <#assign url404 = '/error/404.html'> --> 
6<#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
7<#assign environment = url?replace('/index.*','','r')> 
8 
9 
10<#assign text_to_apply_source = "vanity url" > 
11<#if qstringmap["sms"]?has_content> 
12    <#assign sms = 1 > 
13    <#assign text_to_apply_source = "sms" > 
14</#if> 
15<#if qstringmap["qrCode"]?has_content> 
16    <#assign text_to_apply_source = "qr code" > 
17</#if> 
18 
19<#if qstringmap["ecid"]?has_content> 
20    <#assign ecidExt="&ecid="+qstringmap["ecid"]?first> 
21    <#assign campaignId = qstringmap["ecid"]?first > 
22<#else> 
23    <#assign ecidExt=""> 
24    <#assign campaignId = "" > 
25</#if> 
26<#--  check bankercode validity  --> 
27<#if oadURL?contains("uat-")> 
28    <#assign oadURL_TC = 'https://uat-online1.elancard.com/oad/terms.controller' > 
29<#else> 
30    <#assign oadURL_TC = 'https://online1.elancard.com/oad/terms.controller' > 
31</#if> 
32<#assign bCode= qstringmap["bankercode"]?first> 
33 
34<#assign fiData= utilServ.makeCall('crcDDCBankerAssistedAppSql','0&'+bCode)> 
35<#if fiData?first?has_content> 
36    <#assign fi = fiData?first> 
37    <#if ((fi.projectId == "12") || (fi.projectId == "13") || (fi.projectId == "14"))> 
38        <#assign subbu_special = fi.offerId> 
39    </#if> 
40</#if> 
41 
42<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
43<#list bData as b>      
44    <#assign lc = b.locationcode > 
45    <#assign bName = b.branch > 
46    <#assign bPhone = b.businessphone > 
47    <#assign boeid = b.oeid > 
48    <#assign fName = b.firstname?trim > 
49    <#assign lName = b.lastname?trim > 
50    <#assign rLC = b.reallocationcode > 
51    <#assign mappedLC = b.mappedLocationCode > 
52</#list>  
53 
54<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
55    <#assign ameriprise = true> 
56<#else> 
57    <#assign ameriprise = false> 
58</#if> 
59<#if mappedLC?has_content && !ameriprise> 
60    <#assign lc = mappedLC > 
61</#if> 
62 
63           
64<#if lc?has_content> 
65    <#assign firstNameLength = fName?length > 
66    <#assign lastNameLength = lName?length > 
67    <#if firstNameLength + lastNameLength &gt; 19 > 
68        <#if lastNameLength &gt; 18 > 
69            <#assign bLName = lName?substring(0,18)> 
70        <#else> 
71            <#assign bLName = lName> 
72        </#if> 
73        <#assign maxFirstName = 19 - bLName?length > 
74        <#if firstNameLength &gt; maxFirstName > 
75            <#assign bFName = fName?substring(0,maxFirstName)> 
76        <#else> 
77            <#assign bFName = fName> 
78        </#if> 
79    <#else> 
80        <#assign bFName = fName> 
81        <#assign bLName = lName> 
82    </#if>  
83 
84    <#assign prefix = "00000" > 
85    <#assign lcWithPrefix = prefix + lc > 
86    <#assign withPrefixLength = lcWithPrefix?length > 
87    <#assign startHere = withPrefixLength - 5> 
88    <#assign lc = lcWithPrefix?substring(startHere)>   
89    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
90    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
91    <#if (clientProfileList?first?has_content)> 
92        <#assign clientProfile = clientProfileList?first> 
93        <#assign partnerName = clientProfile.getMarketingNameLong()> 
94        <#assign pbu = clientProfile.getPbu()> 
95        <#assign subbu = clientProfile.getSUBBRANDBUNBR()>          
96        <#assign cdnCardArtUrl = propsUtil.get('rackspace.cdn.cardart.url')>  
97        <#if (subbu_special?has_content)> 
98        <script> 
99            console.log("special subbu:", '${subbu_special}'); 
100        </script> 
101            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu_special)>  
102        <#else> 
103            <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&' + pbu + '&' + subbu)>  
104                    <script> 
105            console.log("subbu:", '${subbu}'); 
106        </script> 
107        </#if> 
108 
109        <#-- Begin: filter cards by sourceCode and offerId and remove duplicated cards--> 
110        <#assign temp = []> 
111        <#assign consumerCards = []> 
112        <#assign businessCards = []>  
113        <#assign offerTypeList = []>  
114        <#assign consumerOfferTypes =['104', '101', '103', '108', '109', '115', '141', '147', '138', '154']> 
115        <#assign businessOfferTypes =['144', '128', '143', '121']>     
116        <#assign index = 0> 
117        <#list fiCardsData as fib> 
118            <#if (fib.offerType?has_content && !(offerTypeList?seq_contains(fib.offerType)))>   
119                <#assign offerTypeList = offerTypeList + [fib.offerType]> 
120                <#assign temp = temp + fiCardsData[index..index]>   
121                <#if consumerOfferTypes?seq_contains(fib.offerType)> 
122                    <#assign consumerCards = consumerCards + fiCardsData[index..index]> 
123                <#elseif (businessOfferTypes?seq_contains(fib.offerType))> 
124                    <#assign businessCards = businessCards + fiCardsData[index..index]> 
125                </#if>                 
126            </#if>  
127            <#assign index = index + 1>                
128        </#list>  
129 
130 
131        <#assign fiCardsData = temp> 
132 
133        <#if (fiCardsData?size > 0)>   
134            <#if (subbu_special?has_content)> 
135                <#assign lc_used = fiCardsData?first.WebLocationCode>   
136            <#else> 
137                <#if ameriprise> 
138                    <#assign lc_used = mappedLC>  
139                <#else> 
140                    <#assign lc_used = lc>  
141                </#if> 
142            </#if>  
143        </#if>  
144 
145        <#if (consumerCards?size > 0 || businessCards?size > 0)>  
146         
147            <div class="content-container content-container-main jn-consumer-content" id="product-display"> 
148                <#if ((consumerCards?size > 0) && (businessCards?size > 0))> 
149                    <nav class="jn-primary-nav two-tabs"> 
150                        <ul> 
151                            <li title="${partnerName!''} - Personal products"> 
152                                <a href="#" class="tab-nav active" id="consumerTab"><span>Personal</span></a> 
153                            </li> 
154                            <li title="${partnerName!''} - Business products"> 
155                                <a href="#" class="tab-nav" id="businessTab"><span>Business</span></a> 
156                            </li> 
157                        </ul> 
158                    </nav> 
159                <#else> 
160                    <#if (consumerCards?size > 0)> 
161                        <nav class="jn-primary-nav" title="${partnerName!''} - Personal products"> 
162                            <ul> 
163                                <li> 
164                                    <p class="tab-nav" id="consumerTab"><span>Personal</span></p> 
165                                </li> 
166                            </ul> 
167                        </nav> 
168                    </#if> 
169                    <#if (businessCards?size > 0)> 
170                        <nav class="jn-primary-nav" title="${partnerName!''} - Business products"> 
171                            <ul> 
172                                <li> 
173                                    <p class="tab-nav" id="businessTab"><span>Business</span></p> 
174                                </li> 
175                            </ul> 
176                        </nav> 
177                    </#if> 
178                </#if> 
179                <#if (consumerCards?size > 0)> 
180                    <div class="tab-more-wrapper"> 
181                        <div class="jn-consumer-content-wrapper jn-tab-content active transition-start" data-id="consumerTab" title="${partnerName!''} - Personal products"> 
182                            <#list consumerCards as fib> 
183                                <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png" > 
184                                <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg">                         
185                                <#if ameriprise>                                
186                                    <#if (fib.offerType == "101")> 
187                                            <#assign productName = "premier-visa-signature"> 
188                                            <#assign product="Premier Visa Signature"> 
189                                            <#assign cardIndex = 0> 
190                                    <#elseif (fib.offerType == "103")> 
191                                            <#assign productName = "visa-signature"> 
192                                            <#assign product="Visa Signature"> 
193                                            <#assign cardIndex = 1> 
194                                    </#if> 
195                                    <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
196                                    <#assign titleText = titleText?replace('<[^>]+>','','r')> 
197                                <#else> 
198                                    <#switch fib.offerType> 
199                                        <#case "101"> 
200                                            <#assign productName = "consumer-edr2112"> 
201                                            <#assign product="Everyday Rewards+"> 
202                                            <#assign cardIndex = 0> 
203                                            <#break> 
204                                        <#case "108"> 
205                                            <#assign productName = "consumer-platinum2103"> 
206                                            <#assign product="Platinum"> 
207                                            <#assign cardIndex = 2> 
208                                            <#break> 
209                                        <#case "109"> 
210                                            <#assign productName = "consumer-platinum2103"> 
211                                            <#assign product="Platinum"> 
212                                            <#assign cardIndex = 2> 
213                                            <#break>                                            
214                                        <#case "115"> 
215                                            <#assign productName = "secured"> 
216                                            <#assign product="Secured"> 
217                                            <#assign cardIndex = 5> 
218                                            <#break> 
219                                        <#case "104"> 
220                                            <#assign productName = "max-cash"> 
221                                            <#assign product="Max Cash Preferred"> 
222                                            <#assign cardIndex = 1> 
223                                            <#break> 
224                                        <#case "147"> 
225                                            <#assign productName = "max-cash-secured"> 
226                                            <#assign product="Max Cash Secured"> 
227                                            <#assign cardIndex = 4> 
228                                            <#break> 
229                                        <#case "141"> 
230                                            <#assign productName = "college-real-rewards"> 
231                                            <#assign product="College Real Rewards"> 
232                                            <#assign cardIndex = 3> 
233                                            <#break> 
234                                        <#case "138"> 
235                                            <#assign productName = "travel-rewards-plus"> 
236                                            <#assign product="Travel Rewards+"> 
237                                            <#assign cardIndex = 10> 
238                                            <#break> 
239                                        <#case "154"> 
240                                            <#assign productName = "reserve-rewards-plus"> 
241                                            <#assign product="Reserve Rewards+"> 
242                                            <#assign cardIndex = 11> 
243                                            <#break> 
244                                        <#default> 
245                                    </#switch> 
246 
247                                    <#assign newTag = ""> 
248                                    <#if (consumerTitle.getSiblings()[cardIndex].addNewTag?has_content && consumerTitle.getSiblings()[cardIndex].addNewTag.getData() == "true")> 
249                                        <#assign newTag = "with-new-tag"> 
250                                    </#if> 
251                                     
252                                    <#assign titleText = consumerTitle.getSiblings()[cardIndex].Title.getData()> 
253                                    <#assign titleText = titleText?replace('<[^>]+>','','r')> 
254                                     
255 
256                                    <#assign APR=""> 
257                                    <#assign AMF=""> 
258                                    <#assign BAL=""> 
259                                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
260                                    <#if (scrapedData?size > 0)> 
261                                        <#list scrapedData as sItem> 
262                                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
263                                                <#assign APR = sItem.scrapedValue> 
264                                            <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
265                                                <#assign AMF = sItem.scrapedValue> 
266                                            <#elseif ((sItem.scrapedLabel?contains("APR for Balance Transfers")) && (sItem.scrapedValue?has_content)) > 
267                                                <#assign BAL = sItem.scrapedValue> 
268                                            </#if> 
269                                            <#if (APR?has_content && AMF?has_content && BAL?has_content)> 
270                                                <#break> 
271                                            </#if> 
272                                        </#list> 
273                                    </#if> 
274                                </#if> 
275                                <#if ameriprise> 
276                                    <#assign rollover_text =  partnerName + " " + product + " " + " Card"> 
277                                <#else> 
278                                    <#assign rollover_text =  partnerName + " " + product + " " + " Credit Card"> 
279                                </#if>                             
280                                <div class="${newTag} jn-consumer-item item-${fib.offerType}" title="${rollover_text!''}"> 
281                                    <div class="tag-container"> 
282                                        <div class="tag-corner"> 
283                                            <div class="tag-label">NEW</div> 
284                                        </div> 
285                                    </div> 
286                                    <div class="consumer-card-heading hide-desktop"> 
287                                        <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
288                                        ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
289                                    </div> 
290                                    <div class="jn-consumer-card-image"> 
291                                        <img src="${cardArtImage!''}" alt="${rollover_text!''}"  class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
292                                        <#assign calculatorConsumerOfferTypes = ["101", "103", "104", "138", "154"] > 
293                                        <#if (calculatorConsumerOfferTypes?seq_contains(fib.offerType))> 
294                                            <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
295                                        </#if> 
296                                        <#if (consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content) > 
297                                            <p class="jn-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
298                                        </#if> 
299                                    </div> 
300 
301                                    <div class="jn-consumer-card-info"> 
302                                        <div class="consumer-card-heading hide-mobile"> 
303                                            <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
304                                            ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
305                                        </div> 
306                                        <div class="jn-additional"> 
307                                            <ul class="${fib.offerType}"> 
308                                                <#if !ameriprise>                                            
309                                                    <#if (fib.offerType == "104")> 
310                                                        <li class="${fib.offerType}"> 
311                                                            <p> 
312                                                                <strong>APR for Purchases: </strong> 
313                                                                ${APR!''} 
314                                                                <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank"> 
315                                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
316                                                                </a> 
317                                                            </p>                                                             
318                                                        </li> 
319                                                        <li class="${fib.offerType}"> 
320                                                            <p> 
321                                                                <strong>Intro APR<sup>*</sup> for Balance Transfers: </strong> 
322                                                                ${BAL!''}  
323                                                                <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank"> 
324                                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
325                                                                </a> 
326                                                            </p> 
327                                                        </li> 
328                                                    <#else> 
329                                                        <li class="${fib.offerType}"> 
330                                                            <p> 
331                                                                <#if (fib.offerType == "147" || fib.offerType== "115" || fib.offerType== "138" || fib.offerType== "154")> 
332                                                                    <strong>APR for Purchases and Balance Transfers: </strong> 
333                                                                <#elseif (fib.offerType== "101")> 
334                                                                    <strong>INTRO APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
335                                                                <#else> 
336                                                                    <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
337                                                                </#if> 
338 
339                                                                ${APR!''}  
340                                                                <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank"> 
341                                                                    <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
342                                                                </a> 
343                                                            </p> 
344                                                        </li> 
345                                                    </#if> 
346                                                </#if> 
347                                                <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
348                                                    <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
349                                                        <li>${marketingInfo.getData()}</li> 
350                                                    </#list> 
351                                                </#if> 
352                                                <#if !ameriprise> 
353                                                    <li> 
354                                                        <p> 
355                                                            Annual Fee: ${AMF!''}  
356                                                            <a  href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}"  target="_blank"> 
357                                                                <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
358                                                            </a> 
359                                                        </p> 
360                                                    </li> 
361                                                </#if> 
362                                            </ul> 
363                                        </div> 
364                                        <ul class="actions"> 
365                                            <li> 
366                                                <form action="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}" method="post" class="BAAForm"> 
367                                                    <label for="appDataBAA-${fib.offerId}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
368                                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${fib.offerId}" class="appDataBAA" style="display:none;" title="application data"></textarea> 
369                                                    <a  
370                                                        class="applyNowLink apply-now-button"  
371                                                        href="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}" 
372                                                        data-button-name="apply-now-link"  
373                                                        data-product-name="${productName}"                 
374
375                                                            ${consumerTitle.getSiblings()[cardIndex].applyNow.getData()}<span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card </span> 
376                                                    </a> 
377                                                </form> 
378                                            </li> 
379                                            <li> 
380                                            <#if ameriprise> 
381                                                <a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc_used}${ecidExt}"> 
382                                                    ${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}<span class="screen-reader-only"> about ${partnerName!''} ${product!''} Card </span> 
383                                                </a> 
384                                            <#else> 
385                                                <a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc}${ecidExt}"> 
386                                                    ${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}<span class="screen-reader-only">about ${partnerName!''} ${product!''} Card </span> 
387                                                </a> 
388                                            </#if> 
389                                            </li> 
390                                        </ul> 
391                                    </div>                             
392                                </div> 
393                            </#list> 
394                        </div> 
395                    </div>                 
396                </#if> 
397                <#if (businessCards?size > 0)>  
398                    <div class="tab-more-wrapper">    
399                        <div class="jn-consumer-content-wrapper jn-tab-content transition-start" data-id="businessTab" title="${partnerName!''} - Business products"> 
400                             
401                            <#list businessCards as fib> 
402                                    <#assign cardArtImage = cdnCardArtUrl + "/" + fib.filename + ".png"> 
403                                    <#assign cardArtImageAlt = cdnCardArtUrl + "/"+fib.filename+".jpg"> 
404                                    <#switch fib.offerType>                                   
405                                        <#case "144"> 
406                                            <#assign productName = "smart-business-rewards"> 
407                                            <#assign product="Smart Business Rewards"> 
408                                            <#assign cardIndex = 8> 
409                                            <#break> 
410                                        <#case "128"> 
411                                            <#assign productName = "business-cash-preferred"> 
412                                            <#assign product="Business Cash Preferred"> 
413                                            <#assign cardIndex = 6>   
414                                            <#break> 
415                                        <#case "143"> 
416                                            <#assign productName = "business-real-rewards"> 
417                                            <#assign product="Business Real Rewards"> 
418                                            <#assign cardIndex = 9> 
419                                            <#break> 
420                                        <#case "121"> 
421                                            <#assign productName = "business-platinum2103"> 
422                                            <#assign product="Business Card"> 
423                                            <#assign cardIndex = 7> 
424                                            <#break> 
425                                        <#default> 
426                                    </#switch> 
427 
428                                    <#assign newTag = ""> 
429                                    <#if (consumerTitle.getSiblings()[cardIndex].addNewTag?has_content && consumerTitle.getSiblings()[cardIndex].addNewTag.getData() == "true")> 
430                                        <#assign newTag = "with-new-tag"> 
431                                    </#if> 
432                                    <#assign APR=""> 
433                                    <#assign AMF=""> 
434                                    <#assign scrapedData = utilServ.makeCall('crcDDCGetSchumerBox', fib.offerId + '&'+ fib.sourceCode)> 
435                                    <#if (scrapedData?size > 0)> 
436                                        <#list scrapedData as sItem> 
437                                            <#if ((sItem.scrapedLabel?contains("Annual Percentage Rate (APR) for Purchases")) && (sItem.scrapedValue?has_content)) > 
438                                                <#assign APR = sItem.scrapedValue> 
439                                            <#elseif ((sItem.scrapedLabel?contains("Annual Membership Fee")) && (sItem.scrapedValue?has_content)) > 
440                                                <#assign AMF = sItem.scrapedValue> 
441                                            </#if> 
442                                            <#if (APR?has_content && AMF?has_content)> 
443                                                <#break> 
444                                            </#if> 
445                                        </#list> 
446                                    </#if> 
447                                     
448                                <div class="${newTag} jn-consumer-item item-${fib.offerType}" title="${partnerName!''} ${product!''} Credit Card"> 
449                                    <div class="tag-container"> 
450                                        <div class="tag-corner"> 
451                                            <div class="tag-label">NEW</div> 
452                                        </div> 
453                                    </div> 
454                                    <div class="consumer-card-heading hide-desktop"> 
455                                        <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
456                                        ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
457                                    </div> 
458                                    <div class="jn-consumer-card-image"> 
459                                        <img src="${cardArtImage!''}" alt="${rollover_text!''}"  class="jn-img-responsive" onerror="this.onerror=null;this.src='${cardArtImageAlt!''}'"> 
460                                        <#assign calculatorBizOfferTypes = ["144", "143", "128"] > 
461                                        <#if (calculatorBizOfferTypes?seq_contains(fib.offerType))> 
462                                            <a class="reward-calculator-link" target="_blank" onclick='ga("send", "event", "click", "Rewards Calculator", "Outbound Link");' class="whiteLink" href="http://www.myaccountbenefits.com/rewards-calculator?ecdma-lc=${lc}">Calculate Rewards</a> 
463                                        </#if> 
464                                        <#if (consumerTitle.getSiblings()[cardIndex].cardArtDescription?has_content) > 
465                                            <p class="jn-card-art-description">${consumerTitle.getSiblings()[cardIndex].cardArtDescription.getData()}</p> 
466                                        </#if> 
467                                    </div> 
468 
469                                    <div class="jn-consumer-card-info"> 
470                                        <div class="consumer-card-heading hide-mobile"> 
471                                            <div class="consumer-card-heading__subheading">${consumerTitle.getSiblings()[cardIndex].Title.getData()}</div> 
472                                            ${consumerTitle.getSiblings()[cardIndex].headlineText.getData()} 
473                                        </div> 
474                                        <div class="jn-additional"> 
475                                            <ul> 
476                                                <li class="${fib.offerType}"> 
477                                                    <p> 
478                                                        <#if (fib.offerType == "144")> 
479                                                            <strong>APR for Purchases and Balance Transfers: </strong> 
480                                                        <#else> 
481                                                            <strong>Intro APR<sup>*</sup> for Purchases and Balance Transfers: </strong> 
482                                                        </#if> 
483 
484                                                        ${APR!''} 
485                                                        <a href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank"> 
486                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
487                                                        </a> 
488                                                    </p> 
489                                                </li> 
490                                                <#if consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings()?has_content> 
491                                                    <#list consumerTitle.getSiblings()[cardIndex].additionalInfo.getSiblings() as marketingInfo> 
492                                                        <li>${marketingInfo.getData()}</li> 
493                                                    </#list> 
494                                                </#if> 
495                                                <li> 
496                                                    <p> 
497                                                        Annual Fee: ${AMF!''} <a 
498                                                        href="${oadURL_TC}?step=display&amp;offerId=${fib.offerId}&amp;locationCode=${lc_used}" target="_blank"> 
499                                                            <span class="screen-reader-only">${partnerName!''} ${product!''} Card </span>See terms &amp; conditions 
500                                                        </a> 
501                                                    </p> 
502                                                </li> 
503                                            </ul> 
504                                        </div> 
505                                        <ul class="actions">                                     
506                                            <li> 
507                                                <form action="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}" method="post" class="BAAForm"> 
508                                                    <label for="appDataBAA-${fib.offerId}" style="position:absolute; clip:rect(0 0 0 0);">Application Data</label> 
509                                                    <textarea rows="20" cols="100" name="applicationData" id="appDataBAA-${fib.offerId}" class="appDataBAA" style="display:none;" title="application data"></textarea>                                         
510                                                    <a  
511                                                        class="applyNowLink apply-now-button"  
512                                                        href="${oadURL}?locationCode=${lc_used}&amp;offerId=${fib.offerId}&amp;preparerType=customer&amp;sourceCode=${fib.sourceCode}"  
513                                                        data-button-name="apply-now-link"  
514                                                        data-product-name="${productName}" 
515
516                                                        ${consumerTitle.getSiblings()[cardIndex].applyNow.getData()} 
517                                                        <span class="screen-reader-only"> for ${partnerName!''} ${product!''} Card </span> 
518                                                    </a> 
519                                                </form> 
520                                            </li> 
521                                            <li> 
522                                                <a href="${environment}/${productName}?bankercode=${bCode}&ecdma-lc=${lc}${ecidExt}"> 
523                                                    ${consumerTitle.getSiblings()[cardIndex].LearnMore.getData()}<span class="screen-reader-only">about ${partnerName!''} ${product!''} Card </span> 
524                                                </a> 
525                                            </li> 
526                                        </ul> 
527                                    </div> 
528                                </div> 
529                                 
530                            </#list> 
531                             
532                        </div> 
533                    </div> 
534                </#if>  
535            </div> 
536            <script> 
537                var consumerSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="consumerTab"]'; 
538                var businessSelector = '.jn-consumer-content-wrapper.jn-tab-content[data-id="businessTab"]'; 
539                 $(document).ready(function () { 
540                    var banker_code = "${bCode!''}"; 
541                    var tabs=$('.tab-nav'); 
542                    var slideDiv = $('.jn-tab-content.active');                    
543                    var screenWidthMobile = 768; 
544                    var screenWidth = window.innerWidth; 
545 
546                    if (tabs.length == 1) { 
547                        if ($(consumerSelector).length > 0) { 
548                            if(banker_code && (banker_code.indexOf("amp") == 0) && (banker_code.length > 6)) { 
549                                $("nav.jn-primary-nav").hide(); 
550                                changeCardLayout(consumerSelector); 
551                                createMetaTag("consumer"); 
552                            } else { 
553                                hideHeroAndDisclaimer('business'); 
554                                showHeroAndDisclaimer('consumer'); 
555                                changeCardLayout(consumerSelector); 
556                                renumberFootnote("consumer"); 
557                                createMetaTag("consumer");  
558
559                        }  
560                        if ($(businessSelector).length > 0) { 
561                            $(businessSelector).addClass('active'); 
562                            hideHeroAndDisclaimer('consumer'); 
563                            showHeroAndDisclaimer('business'); 
564                            changeCardLayout(businessSelector); 
565                            renumberFootnote("business"); 
566                            createMetaTag("business");  
567
568
569                    if (tabs.length == 2) { 
570                        renumberFootnote("consumer"); 
571                        renumberFootnote("business"); 
572                        createMetaTag("consumer"); 
573                        if ($(consumerSelector + ' .jn-consumer-item').length < 3) { 
574                            changeCardLayout(consumerSelector); 
575
576                        if ($(businessSelector + ' .jn-consumer-item').length < 3) { 
577                            changeCardLayout(businessSelector); 
578
579                             
580                        var tabsNav = document.querySelectorAll('.tab-nav'); 
581                        togglePrimaryNav(tabsNav); 
582 
583                        if(window.location.href.indexOf('#business') > -1 ) { 
584                            $(consumerSelector).removeClass('active'); 
585                            $(businessSelector).addClass('active'); 
586                            $('#consumerTab').removeClass('active'); 
587                            $('#businessTab').addClass('active'); 
588                            hideHeroAndDisclaimer('consumer'); 
589                            showHeroAndDisclaimer('business'); 
590                            changeCardLayout(businessSelector); 
591                            renumberFootnote("business"); 
592                            createMetaTag("business"); 
593 
594                            $(tabs).click(function(){ 
595                                if ($(this).attr('id') === "consumerTab") { 
596                                    var newUrl = window.location.toString(); 
597                                    window.location = newUrl.replace(/#business/, '#consumer'); 
598
599                                if ($(this).attr('id') === "businessTab") { 
600                                    var url = window.location.toString(); 
601                                    window.location = url.replace(/#consumer/, '#business'); 
602
603                            }); 
604
605
606                     
607                }); 
608                // Primary Nav function 
609                 
610                function togglePrimaryNav(elem) { 
611                    for (var i = 0; i < elem.length; i++) { 
612                        elem[i].addEventListener("click", function(e) { 
613 
614                            var current = this, 
615                                allSections = document.querySelectorAll('[data-id]'), 
616                                section = document.querySelector("[data-id='"+ current.id +"']"); 
617 
618                            for (var a = 0; a < allSections.length; a++) { 
619                                allSections[a].classList.remove('active'); 
620
621                            for (var c = 0; c < elem.length; c++) { 
622                                if (current != elem[c]) { 
623                                    elem[c].classList.remove('active'); 
624                                } else { 
625                                    current.classList.add('active'); 
626                                    section.classList.add('active'); 
627                                    hideHeroAndDisclaimer('consumer'); 
628                                    hideHeroAndDisclaimer('business'); 
629                                    if(current.getAttribute('id') === "consumerTab"){ 
630                                        showHeroAndDisclaimer('consumer'); 
631                                    } else if(current.getAttribute('id') === "businessTab"){ 
632                                        showHeroAndDisclaimer('business'); 
633
634
635
636                            e.preventDefault(); 
637                        }); 
638
639
640 
641                function renumberFootnote(type) { 
642                    var discriptionSelector = '.jn-consumer-content-wrapper.jn-tab-content' + '[data-id="' + type + 'Tab"]'; 
643                    var disclaimerSelector = '.tier1-disclaimer-landing-' + type; 
644                    var heroSelector = '.tier1-hero-landing-' + type; 
645                    var numOfFootnote = $(disclaimerSelector + ' sup').length; 
646                    var showList = []; 
647                    var hideList=[]; 
648                    for (var i = 1; i <= numOfFootnote; i++) { 
649                    var cssClass="tag-" + i; 
650                    if ($(discriptionSelector + ' sup').hasClass(cssClass) || $(heroSelector + ' sup').hasClass(cssClass)) { 
651                        showList.push(i);      
652                    } else { 
653                        hideList.push(i); 
654
655                    }  
656                    /* 
657                    for (var i = 1; i < showList.length + 1; i++) { 
658                        if(showList[i-1] != i) { 
659                            var className="tag-" + showList[i-1]; 
660                            $(heroSelector).find("." +  className).html(i); 
661                            // $(discriptionSelector).find("." +  className).html(i); 
662                            $(disclaimerSelector).find("." +  className).html(i); 
663
664
665                    */ 
666                    for (var i = 0; i <hideList.length; i++) { 
667                        var cname="tag-" + hideList[i]; 
668                        $(disclaimerSelector).find("." + cname).parent().hide(); 
669                    }    
670
671 
672                function changeCardLayout(cssSelector) { 
673                    var numOfCards = $(cssSelector + ' .jn-consumer-item').length; 
674                    if(numOfCards == 1) { 
675                        $(cssSelector).addClass('one-card'); 
676                    } else if (numOfCards == 2) { 
677                        $(cssSelector).addClass('two-card'); 
678                    }   
679
680                function hideHeroAndDisclaimer(type) { 
681                    try { 
682                        document.querySelector('.tier1-hero-landing-'+ type).classList.remove('show'); 
683                        document.querySelector('.tier1-hero-landing-'+ type).classList.add('hide'); 
684                    } catch (e) { 
685                        console.log(e); 
686
687 
688                    try { 
689                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.remove('show'); 
690                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.add('hide');  
691                    } catch (e) { 
692                        console.log(e); 
693
694 
695
696                function showHeroAndDisclaimer(type) { 
697                    try { 
698                        document.querySelector('.tier1-hero-landing-'+ type).classList.add('show'); 
699                        document.querySelector('.tier1-hero-landing-'+ type).classList.remove('hide'); 
700                    } catch (e) { 
701                        console.log(e); 
702
703                     
704                    try { 
705                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.add('show'); 
706                        document.querySelector('.tier1-disclaimer-landing-'+ type).classList.remove('hide');  
707                    } catch (e) { 
708                        console.log(e); 
709
710 
711
712                function createMetaTag(type) { 
713                    var partnerName = "${partnerName!0}"; 
714                    var product_name = $('.jn-hero-container .jn-button').data('product-name'); 
715                    var metaDesc = ""; 
716                    if (type == "consumer") {     
717                        if(location.pathname.indexOf("11t1m") != -1) { 
718                            metaDesc = "Apply Today for an Ameriprise Financial Credit Card. Earn Rewards Points worth $375 cash value when deposited into an eligible account after spending $3,000 in eligible net purchases within the first 90 days of account opening." 
719                        } else {                                    
720                            if(product_name ==  "consumer-platinum2103") { 
721                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Limited Time Offer. 0% Intro APR on Purchases and Balance Transfers for 20 Billing Cycles Consolidate your Balances with the "+partnerName+" Intro APR Card."; 
722                            } else if(product_name ==  "real-rewards") { 
723                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Take home 2,500 bonus points after your first purchase."; 
724                            } else if(product_name ==  "secured") { 
725                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Use this card as a solid foundation to build your credit."; 
726                            } else if(product_name ==  "max-cash") { 
727                                metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn a $150 Bonus and 5% cash back on the two categories you select."; 
728
729
730 
731                    } else if (type == "business") { 
732                        if(product_name ==  "business-cashback") {               
733                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. Earn Cash back on common business expenses."; 
734                        } else if(product_name ==  "business-real-rewards") { 
735                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. Get more rewards in the categories you spend the most on."; 
736                        } else if(product_name ==  "business-visa") { 
737                            metaDesc = "Apply Today for a "+partnerName+" Business Card. 0% Intro APR on Purchases and Balance Transfers for 15 Billing Cycles"; 
738                        } else if(product_name ==  "smart-business-rewards") { 
739                            metaDesc = "Apply Today for a "+partnerName+" Credit Card. More choices. More value for your business. Earn a $200 Bonus and 2x Rewards on your top 2 spend categories each month with the "+partnerName+" Credit Card."; 
740
741
742                    var m = document.createElement('meta');  
743                    m.name = 'description';  
744                    m.content = metaDesc;  
745                    document.head.appendChild(m); 
746
747                function goToByScroll(id) { 
748                    var element = document.getElementById(id); 
749                    element.scrollIntoView(true); 
750
751                 
752            </script> 
753            <script> 
754                    var reportingData = window.reportingData || {}; 
755                document.addEventListener('DOMContentLoaded', function() { 
756                    console.log('inside ready'); 
757                    var page = location.pathname.split('/')[location.pathname.split('/').length-1]; 
758                    var hostName = location.hostname;                                     
759                    function getDomainFromHostname(hostname) { 
760                        var parts = hostname.split('.'); 
761                        return parts.length === 3 ? parts[1] : parts[0]; 
762
763                    var domain = getDomainFromHostname(hostName); 
764                    var partnerName = "${partnerName!0}"; 
765                    var ameriprise = '${ameriprise?string("yes", "no")}'; 
766                    var locationCode = "${rLC!lc}"; 
767                    var eidAmp = ""; 
768                    var heroCardImgs = document.querySelectorAll('.jn-consumer-card-image img, .cardArtImg img'); 
769                    for (var index = 0; index < heroCardImgs.length; index++) { 
770                        var heroCardImg = heroCardImgs[index]; 
771                        var heroCardSrc = heroCardImg.getAttribute("src"); 
772                        if(heroCardSrc != "") { 
773                            resizeImg(heroCardImg); 
774
775
776                    if (ameriprise == "yes") { 
777                        var bankercode_amp = '${bCode}'; 
778                        eidAmp = bankercode_amp.substring(3); 
779                        locationCode =""; 
780                        document.title = "Ameriprise Financial Credit Card Overview Page"; 
781                    } else { 
782                        document.title = partnerName + " Credit Card Index Page"; 
783
784                     
785                    var lc = '${lc!0}'; 
786 
787                    var regex = /\d+/g; 
788                    var bdNumber = "${bPhone!''}"; 
789                    var phoneNum = bdNumber.match(regex); 
790                    var areaCode = ""; 
791                    var exchangeCode = ""; 
792                    var num = ""; 
793                    if(phoneNum != null) { 
794                        phoneNum = phoneNum.join(""); 
795                        areaCode = phoneNum.substring(0,3); 
796                        exchangeCode = phoneNum.substring(3,6); 
797                        num = phoneNum.substring(6,10); 
798
799 
800                        /* update SiteCatalyst data object */ 
801                    reportingData.current_page = "microsite:${partnerName}:" + domain + ':' + page.replace('-',' '); 
802                    reportingData.page_type = 'product';  
803                    reportingData.site_section = 'credit cards'; 
804                    reportingData.platform = 'microsite'; 
805                    reportingData.campaign_id = '${campaignId}'; 
806                    reportingData.location_code = '${rLC!0}'; 
807                    reportingData.partner_name = "${partnerName}"; 
808                    reportingData.product = 'All Cards'; 
809                    reportingData.text_to_apply_source = '${text_to_apply_source}'; 
810                    reportingData.visitor_type = 'prospect';         
811                    reportingData.Banker_id = '${boeid}'; 
812                    reportingData.Banker_code = '${bCode}'; 
813 
814                                                     
815                    /* SiteCatalyst  pageView tracking */ 
816                    AUI().ready(function() { 
817                        if (window.publisherFW) { 
818                            //console.log('reportingData', reportingData); 
819                            window.publisherFW.publishEvent("pageView", reportingData); 
820
821                    });  
822 
823                                     
824                    $('.jn-button').removeAttr('disabled'); 
825                    $('.jn-button').removeClass('jn-disabled'); 
826 
827                    jQuery('.applyNowLink').on('click', function(e){ 
828                        $(this).closest('.BAAForm').submit(); 
829                        ga("send", { 
830                            hitType: "event", 
831                            eventAction: "ApplyNow", 
832                            eventCategory: "click", 
833                            eventLabel: "BottomButton" 
834                        }); 
835                        return false; 
836                    }); 
837                    jQuery(".BAAForm").on("submit", function(e){ 
838                        e.preventDefault(); 
839                        console.log("in custom submit"); 
840                        var xmlData; 
841                        if(ameriprise == "yes") { 
842                            xmlData = '<?xml version="1.0"?>'+ 
843                                "<prefillData>"+  
844                                "<versionNumber>1.0</versionNumber>"+  
845                                "<applicationData>"+  
846                                "<referral>" +  
847                                "<employeeId>" + eidAmp + "</employeeId>" + 
848                                "<storeNumber>"+"${bName!'0'}"+"</storeNumber>"+ 
849                                "<divisionNumber></divisionNumber>"+ 
850                                "</referral>" +  
851                                "<bankerInformation>"+  
852                                "<locationCode>" + locationCode + "</locationCode>"+ 
853                                "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
854                                "<employeeID>${boeid!0}</employeeID>"+ 
855                                "<name>" + 
856                                "<first>${bFName!'0'}</first>" + 
857                                "<last>${bLName!'0'}</last>" + 
858                                "</name>"+ 
859                                "<phone>"+ 
860                                "<areaCode>"+areaCode+"</areaCode>"+  
861                                "<exchange>"+exchangeCode+"</exchange>"+ 
862                                "<number>"+num+"</number>"+  
863                                "</phone>"+  
864                                "</bankerInformation>"+  
865                                "</applicationData>"+  
866                                "</prefillData>" 
867                        } else { 
868                            xmlData = '<?xml version="1.0"?>'+ 
869                                "<prefillData>"+  
870                                "<versionNumber>1.0</versionNumber>"+  
871                                "<applicationData>"+  
872                                "<bankerInformation>"+  
873                                "<locationCode>" + locationCode + "</locationCode>"+ 
874                                "<originatingBranchNumber>"+"${bName!'0'}"+"</originatingBranchNumber>"+ 
875                                "<employeeID>${boeid!0}</employeeID>"+ 
876                                "<name>" + 
877                                "<first>${bFName!'0'}</first>" + 
878                                "<last>${bLName!'0'}</last>" + 
879                                "</name>"+ 
880                                "<phone>"+ 
881                                "<areaCode>"+areaCode+"</areaCode>"+  
882                                "<exchange>"+exchangeCode+"</exchange>"+ 
883                                "<number>"+num+"</number>"+  
884                                "</phone>"+  
885                                "</bankerInformation>"+  
886                                "</applicationData>"+  
887                                "</prefillData>" 
888
889                        $(this).children(".appDataBAA").val(xmlData); 
890                        var buttonName = $(this).find(".apply-now-button").data("button-name"); 
891                        var productName = $(this).find(".apply-now-button").data("product-name"); 
892                        /* SiteCatalyst  onClick tracking */ 
893                        reportingData.apply_button = buttonName; 
894                        reportingData.product = productName; 
895 
896                        if (window.publisherFW) { 
897                            console.log('clicked', reportingData); 
898                            window.publisherFW.publishEvent("onClick", reportingData); 
899
900 
901                        this.submit(); 
902                    });                                                                
903                     
904 
905                }); 
906                function resizeImg(img) { 
907                    img.addEventListener("load", function() { 
908                        var cardImgWidth = img.width; 
909                        var cardImgHeight = img.height; 
910                        console.log('width', cardImgWidth); 
911                        console.log('height', cardImgHeight); 
912                        if(cardImgWidth > cardImgHeight) { 
913                            img.style.width = "285px"; 
914                        } else { 
915                            img.style.width = "150px"; 
916
917                    }); 
918
919            </script>                    
920                 
921        </#if>  
922    </#if> 
923</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10153#10191#5843858.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
4 
5<#assign bCode= qstringmap["bankercode"]?first> 
6<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
13    <#assign ameriprise = true> 
14<#else> 
15    <#assign ameriprise = false> 
16</#if> 
17<#if mappedLC?has_content && !ameriprise> 
18    <#assign lc = mappedLC > 
19</#if> 
20 
21 
22<#if lc?has_content> 
23    <#assign prefix = "00000" > 
24    <#assign lcWithPrefix = prefix + lc > 
25    <#assign withPrefixLength = lcWithPrefix?length > 
26    <#assign startHere = withPrefixLength - 5> 
27    <#assign lc = lcWithPrefix?substring(startHere)> 
28    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
29    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
30 
31    <#assign clientProfile = clientProfileList?first>  
32    <#assign partnerName=clientProfile.getMarketingNameLong()> 
33 
34    <#assign pbu = clientProfile.getPbu()> 
35    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
36    <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
37    <#if (fiCardsData?size > 0) > 
38        <#assign cardProvider = utilServ.makeCall('crcDDCGetMcOrVisa', fiCardsData[0].offerType + '&' + lc)> 
39     
40        <#if (cardProvider?size > 0)> 
41            <#-- This will be V for visa or M for mastercard. --> 
42            <#assign cardProviderAbbreviated = cardProvider[0].cardType> 
43        <#else> 
44            <script> 
45                console.log("No card provider(Visa/Master Card) found for disclaimer"); 
46            </script> 
47        </#if> 
48 
49 
50        <div class="jn-disclaimer tier1-disclaimer-${class.getData()}" title="${partnerName} - Disclaimer"> 
51            <div class="disclaimer" > 
52                <#if (disclaimersVisa?has_content && cardProviderAbbreviated?contains("V"))> 
53                    ${disclaimersVisa.getData()} 
54                </#if> 
55                <#if (disclaimersMasterCard?has_content && cardProviderAbbreviated?contains("M")) > 
56                    ${disclaimersMasterCard.getData()} 
57                </#if> 
58            </div> 
59        </div> 
60    </#if> 
61<#else> 
62    <script> 
63        console.log("No lc for disclaimer"); 
64    </script> 
65</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 5, column 17 in 10153#10191#5843858.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
4 
5<#assign bCode= qstringmap["bankercode"]?first> 
6<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
7<#list bData as b>      
8    <#assign lc = b.locationcode > 
9    <#assign rLC = b.reallocationcode > 
10    <#assign mappedLC = b.mappedLocationCode > 
11</#list>  
12<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
13    <#assign ameriprise = true> 
14<#else> 
15    <#assign ameriprise = false> 
16</#if> 
17<#if mappedLC?has_content && !ameriprise> 
18    <#assign lc = mappedLC > 
19</#if> 
20 
21 
22<#if lc?has_content> 
23    <#assign prefix = "00000" > 
24    <#assign lcWithPrefix = prefix + lc > 
25    <#assign withPrefixLength = lcWithPrefix?length > 
26    <#assign startHere = withPrefixLength - 5> 
27    <#assign lc = lcWithPrefix?substring(startHere)> 
28    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
29    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
30 
31    <#assign clientProfile = clientProfileList?first>  
32    <#assign partnerName=clientProfile.getMarketingNameLong()> 
33 
34    <#assign pbu = clientProfile.getPbu()> 
35    <#assign subbu = clientProfile.getSUBBRANDBUNBR()> 
36    <#assign fiCardsData = utilServ.makeCall('crcTier3GetPbuData','0&'+ pbu +'&'+subbu)>  
37    <#if (fiCardsData?size > 0) > 
38        <#assign cardProvider = utilServ.makeCall('crcDDCGetMcOrVisa', fiCardsData[0].offerType + '&' + lc)> 
39     
40        <#if (cardProvider?size > 0)> 
41            <#-- This will be V for visa or M for mastercard. --> 
42            <#assign cardProviderAbbreviated = cardProvider[0].cardType> 
43        <#else> 
44            <script> 
45                console.log("No card provider(Visa/Master Card) found for disclaimer"); 
46            </script> 
47        </#if> 
48 
49 
50        <div class="jn-disclaimer tier1-disclaimer-${class.getData()}" title="${partnerName} - Disclaimer"> 
51            <div class="disclaimer" > 
52                <#if (disclaimersVisa?has_content && cardProviderAbbreviated?contains("V"))> 
53                    ${disclaimersVisa.getData()} 
54                </#if> 
55                <#if (disclaimersMasterCard?has_content && cardProviderAbbreviated?contains("M")) > 
56                    ${disclaimersMasterCard.getData()} 
57                </#if> 
58            </div> 
59        </div> 
60    </#if> 
61<#else> 
62    <script> 
63        console.log("No lc for disclaimer"); 
64    </script> 
65</#if> 

Artikkel

En feil oppsto under behandling av visningsmalen.
Expression qstringmap["bankercode"] is undefined on line 6, column 17 in 10153#10191#6590080.
1<#assign url = request.attributes.CURRENT_URL > 
2<#assign qstringmap = httpUtil.getParameterMap(httpUtil.getQueryString(url))> 
3<#assign utilServ = serviceLocator.findService("crc-utilities-portlet", "com.elan.crc.utilities.service.CRCRemoteServiceService")> 
4<#assign url404 = '/error/404.html'> 
5 
6<#assign bCode= qstringmap["bankercode"]?first> 
7<#assign bData = utilServ.makeCall('crcDDCBankerAssistedAppDetailSql','0&'+bCode)> 
8<#list bData as b>      
9    <#assign lc = b.locationcode > 
10    <#assign rLC = b.reallocationcode > 
11    <#assign mappedLC = b.mappedLocationCode > 
12</#list>  
13 
14<#if bCode?starts_with("amp") && (url?contains("11t1m"))> 
15    <#assign ameriprise = true> 
16<#else> 
17    <#assign ameriprise = false> 
18</#if> 
19<#if mappedLC?has_content && !ameriprise> 
20    <#assign lc = mappedLC > 
21</#if> 
22 
23<#if lc?has_content> 
24 
25    <#assign prefix = "00000" > 
26    <#assign lcWithPrefix = prefix + lc > 
27    <#assign withPrefixLength = lcWithPrefix?length > 
28    <#assign startHere = withPrefixLength - 5> 
29    <#assign lc = lcWithPrefix?substring(startHere)> 
30    <#assign clientProfileService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcClientProfileLocalService") > 
31    <#assign clientProfileList = clientProfileService.findByLocationCode(lc)> 
32 
33    <#assign clientProfile = clientProfileList?first> 
34    <#assign pbu = clientProfile.getPbu()> 
35    <#assign subbu = clientProfile.getSUBBRANDBUNBR()>   
36    <#assign partnerName=clientProfile.getMarketingNameLong()> 
37    <#assign clientDataService = serviceLocator.findService("crc-clientprofile-portlet", "com.elan.crc.servicebuilder.crcclientprofile.service.CrcPbuLocalService") > 
38    <#assign clientProfileDataList = clientDataService.getByPbuAndSubBu(pbu,subbu)> 
39    <#assign partnerUrl = clientProfileDataList.getPartnerMainUrl()> 
40    <#if partnerUrl?has_content && !partnerUrl?matches(r"(?i)^https?\:\/\/.*") && !partnerUrl?matches(r"(?i)^https?\:&#x2F;&#x2F;.*")> 
41        <#-- add protocal if missing  --> 
42        <#assign partnerUrl = 'https://' + partnerUrl> 
43    </#if> 
44    <footer class="footer bg-color-black text-color-white"> 
45        ${footerContent.getData()} 
46    </footer> 
47    <#if url?contains("11t1m")> 
48        <script>                 
49            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
50            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://login.elancreditcard.com/onlineCard/publicPrivacyPolicy.do?loc=18598" target="_blank">Privacy and Security</a>'; 
51        </script> 
52    <#else> 
53        <script>                 
54            document.querySelector('.footer .copyright').classList.add("ecdma-footer-client-name-copyright"); 
55            document.querySelector('.footer .fdic').innerHTML='<a class="text-color-white" href="https://www.myaccountaccess.com/onlineCard/publicPrivacyPolicy.do?loc=${lc!0}" target="_blank">Privacy and Security</a>'; 
56            var newNode = document.createElement("div");  
57             newNode.classList.add("member-agreement"); 
58            newNode.innerHTML='<a class="text-color-white" href="https://online1.elancard.com/oad/cmas.controller?locationCode=${lc!0}&preparerType=customer&isNewRequest=false" target="_blank">Cardmember Agreements</a>'; 
59            var fdicNode = document.querySelector('.footer .fdic'); 
60            var parent = fdicNode.parentNode; 
61            parent.insertBefore(newNode, fdicNode); 
62        </script> 
63    </#if> 
64 
65    <#if partnerUrl?has_content> 
66        <script> 
67            document.querySelector('.copyright .homelink').innerHTML="<a class='text-color-white' href='${partnerUrl!''}' title='${partnerName!''}' target='_blank'>Home</a>"; 
68        </script> 
69    </#if> 
70</#if>