New game with hot wins!




How to play Powerspin On Fire



An error occurred while processing the template.
The following has evaluated to null or missing:
==> journalArticle.getDDMTemplateKey  [in template "37301#37343#37741" at line 47, column 44]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: @liferay_journal["journal-article"] a...  [in template "37301#37343#37741" at line 45, column 29]
----
1<#if entries?has_content> 
2    <#assign listEntriesId = ""/> 
3    <#list entries as entry> 
4        <#assign listEntriesId = "${listEntriesId}${entry.getEntryId()}"/> 
5    </#list> 
6    <#assign tagged = "news"/> 
7    <#list entries[0].getTags() as tag> 
8        <#if tag.name == "announcement"> 
9            <#assign tagged = "announcement"/> 
10        </#if> 
11    </#list> 
12    <#attempt> 
13        <#assign 
14            carousel_interval = (portletPreferences["carouselAutoplay"]?first)!"0" 
15        /> 
16        <#recover> 
17            <#assign 
18                carousel_interval = "0" 
19            /> 
20    </#attempt> 
21    <#if carousel_interval == '0' || carousel_interval == ''> 
22        <#assign carousel_interval = "false" /> 
23    </#if> 
24        <div id="${renderResponse.getNamespace()}carousel" class="opap-ntf-${tagged} carousel slide <#if tagged == "news">shadow<#else>d-none</#if>" 
25             data-interval=${carousel_interval} data-ride="<#if entries?size lte 1 || carousel_interval == "false">false<#else>carousel</#if>"> 
26            <#if tagged == "announcement"> 
27                <a class="opap-dismiss" href="javascript:void(0);" onclick="OPAPNotificationDismiss${renderResponse.getNamespace()}(false)" role="button"> 
28                    <i class="icon-remove"></i> 
29                </a> 
30            </#if> 
31            <#if entries?size gt 1> 
32                <a class="opap-carousel-control-prev rounded-circle bg-white" href="javascript:void(0);" role="button" 
33                   data-target="#${renderResponse.getNamespace()}carousel" data-slide="prev"> 
34                    <i class="icon-chevron-left" aria-hidden="true"></i> 
35                </a> 
36            </#if> 
37            <div class="carousel-inner"> 
38                <#list entries as entry> 
39                    <#assign 
40                    assetRenderer = entry.getAssetRenderer() 
41                    journalArticle = assetRenderer.getAssetObject() 
42                    /> 
43                    <#if journalArticle.getStatus() == 0> 
44                        <div class="carousel-item <#if entry?index == 0>active</#if>"> 
45                            <@liferay_journal["journal-article"] 
46                            articleId=journalArticle.getArticleId() 
47                            ddmTemplateKey=journalArticle.getDDMTemplateKey() 
48                            groupId=journalArticle.getGroupId() 
49                            /> 
50                        </div> 
51                    </#if> 
52                </#list> 
53            </div> 
54            <#if entries?size gt 1> 
55                <a class="opap-carousel-control-next rounded-circle bg-white" href="javascript:void(0);" role="button" 
56                   data-target="#${renderResponse.getNamespace()}carousel" data-slide="next"> 
57                    <i class="icon-chevron-right" aria-hidden="true"></i> 
58                </a> 
59            </#if> 
60        </div> 
61        <script> 
62            (function () { 
63                let OPAP_ANNOUNCEMENTS_KEY = 'showAnnouncementDialog'; 
64                let OPAP_ANNOUNCEMENTS_UUID = "${listEntriesId}".split("").sort((a, b) => a && b ? a.localeCompare(b) : -1).join(""); 
65                window.OPAPNotificationDismiss${renderResponse.getNamespace()} = function (toggle) { 
66                    let container = document.querySelector('#${renderResponse.getNamespace()}carousel'); 
67                    // defaults to true; 
68                    let show = sessionStorage.getItem(OPAP_ANNOUNCEMENTS_KEY + OPAP_ANNOUNCEMENTS_UUID) !== 'false'; 
69                    if (toggle !== undefined) { 
70                        show = !!toggle; 
71                        sessionStorage.setItem(OPAP_ANNOUNCEMENTS_KEY + OPAP_ANNOUNCEMENTS_UUID, show === true ? 'true' : 'false'); 
72
73                    container.classList.toggle('d-none', !show); 
74                }; 
75                Liferay.on('allPortletsReady', function () { window.OPAPNotificationDismiss${renderResponse.getNamespace()}() }); 
76            })(); 
77        </script> 
78</#if> 

Powerspin Οn Fire exclusively at OPAP stores and via opapstore app!

Download the app & enjoy your favorite games!