
An error occurred while processing the template.
The following has evaluated to null or missing: ==> restClient.get("/headless-delivery/v1.0/sites/${groupId}/structured-contents/by-key/${reservedArticleId}").relatedContents [in template "20255#20295#196081" at line 20, column 26] ---- 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: #assign journalArticle = restClient.g... [in template "20255#20295#196081" at line 20, column 2] ----
1<#assign title = .vars['reserved-article-title'].data>
2 <#assign reservedArticleId = .vars['reserved-article-id'].data>
3 <#assign introText = "">
4 <#assign groupId = themeDisplay.getScopeGroupId()>
5 <#assign entryTitle =.vars["reserved-article-title"].data/>
6 <#assign groupURL = themeDisplay.getScopeGroup().getDisplayURL(themeDisplay) />
7
8 <#if IntroText?? && IntroText.getData() != "">
9 <#assign introText = IntroText.getData()>
10 </#if>
11
12 <#assign introTextImageUrl = "">
13 <#assign introTextMobileImageUrl = "">
14 <#assign floodsafeAudioFile = "#">
15 <#assign floodsafeFactSheet = "#">
16 <#assign stormsafeAudioFileTitle = "#">
17 <#assign stormsafeAudioFile = "#">
18 <#assign stormsafeFactSheet = "#">
19 <#assign floodsafeAudioFileTitle="#"/>
20 <#assign journalArticle=restClient.get("/headless-delivery/v1.0/sites/${groupId}/structured-contents/by-key/${reservedArticleId}").relatedContents/>
21
22 <#list journalArticle as jr>
23 <#assign linkTitle = jr.title/>
24 <#assign id = jr.id/>
25 <#assign url=restClient.get("/headless-delivery/v1.0/documents/${id}").contentUrl/>
26 <#if linkTitle?lower_case == entryTitle?lower_case>
27 <#assign introTextImageUrl = url />
28 <#elseif linkTitle?contains("Mobile-Blurb-png")>
29 <#assign introTextMobileImageUrl = url />
30 <#elseif linkTitle?contains("floodsafe-audio-mp3")>
31 <#assign floodsafeAudioFile = url />
32 <#assign floodsafeAudioFileTitle = linkTitle />
33 <#elseif linkTitle?contains("floodsafe-factsheet-pdf")>
34 <#assign floodsafeFactSheet = url />
35 <#assign floodsafeFactSheetTitle = linkTitle />
36 <#elseif linkTitle?contains("stormsafe-audio-mp3")>
37 <#assign stormsafeAudioFile = url />
38 <#assign stormsafeAudioFileTitle = linkTitle />
39 <#elseif linkTitle?contains("stormsafe-factsheet-pdf")>
40 <#assign stormsafeFactSheet = url />
41 <#assign stormsafeFactSheetTitle = linkTitle />
42 </#if>
43 </#list>
44
45 <style>
46 .other-language .desktop {
47 display:block;
48 }
49 .other-language .mobile {
50 display:none;
51 width: 100%;
52 }
53 .languagelist .language-icon {
54 width: 50%;
55 float: left;
56 text-align: center;
57 margin-bottom: 20px;
58 }
59
60 @media only screen and (max-width : 520px) {
61 .other-language .desktop {
62 display:none;
63 }
64 .other-language .mobile {
65 display:block;
66 }
67 .languagelist .language-icon {
68 width: 100%;
69 }
70
71 }
72
73 .taglib-header {
74 display: none;
75 }
76
77 .portlet-boundary_pagelead_WAR_empointcontentviewerportlet_ {
78 display: none;
79 }
80
81 </style>
82
83<div class="mb-2">
84 <h4 class="component-title">
85 <span class="header-back-to">
86 <a href="${groupURL}/information-in-other-languages" target="_self" class=" lfr-icon-item taglib-icon" id="_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_JiBBTBp6rIMw_rjus____">
87 <span id="qfkd____"><svg aria-hidden="true" class="lexicon-icon lexicon-icon-angle-left" focusable="false" viewBox="0 0 512 512"><g data-href="https://cdn.ses.vic.gov.au/o/website-frontend-theme/images/lexicon/icons.svg#angle-left">
88 <path class="lexicon-icon-outline" d="M114.106 254.607c0.22 6.936 2.972 13.811 8.272 19.11l227.222 227.221c11.026 11.058 28.94 11.058 39.999 0 11.058-11.026 11.058-28.94 0-39.999l-206.333-206.333c0 0 206.333-206.333 206.333-206.333 11.058-11.059 11.058-28.973 0-39.999-11.058-11.059-28.973-11.059-39.999 0l-227.221 227.221c-5.3 5.3-8.052 12.174-8.273 19.111z"></path>
89</g></svg></span>
90
91 </a>
92 </span>
93 </h4>
94 </div>
95
96 <div class="other-language" id="${reservedArticleId}">
97 <h2>${title}</h2>
98 <p>
99 <#if introText != "">
100 <div>
101 ${introText}
102 </div>
103 <#elseif introTextImageUrl == "">
104 <div>
105 <p><i>The State Emergency Service (SES) is a volunteer organisation that can help you in a flood or storm emergency. You do not have to pay for this service.</i></p>
106 <p>If you call 132 500 from your telephone, volunteers from SES will come to your home if it has been flooded or damaged by storms. You can also request a translator. SES volunteers always wear an orange uniform. They are experienced in responding to flood and storm emergencies.</p>
107 <p>Please see below for more information on how you can prepare your family and your home for floods and storms.</p>
108 <p>If you do not understand this information, ask a family member, friend or neighbour for assistance.</div></p>
109 </div>
110 <#else>
111 <img src="${introTextImageUrl}" alt="${title}" class="image-inline noborder desktop" title="${title}">
112 <img src="${introTextMobileImageUrl}" alt="${title}" class="image-inline noborder mobile" title="${title}">
113 </#if>
114 </p>
115 <div class="languagelist row-fluid">
116 <div class="language-icon">
117 <#if floodsafeAudioFile == "#">
118 <img src="/documents/${themeDisplay.getScopeGroupId()}/135437/0e61d413-f5ea-4ef6-9c81-36a798e36d00.png/0c7fabb1-53ab-47ff-bdb6-a045062cf5db?t=1473056747000" alt="Flood Audio" class="noborder" title="Floodsafe">
119 <div>Flood audio coming soon</div>
120 <#else>
121 <a title="${floodsafeAudioFileTitle}" href="${floodsafeAudioFile}" class="internal internal-link" target="_blank">
122 <img src="/documents/${themeDisplay.getScopeGroupId()}/135437/0e61d413-f5ea-4ef6-9c81-36a798e36d00.png/0c7fabb1-53ab-47ff-bdb6-a045062cf5db?t=1473056747000" alt="Flood Audio" class="noborder" title="${floodsafeAudioFileTitle}">
123 <div>Flood audio</div>
124 </a>
125 </#if>
126 </div>
127
128 <div class="language-icon">
129 <#if stormsafeAudioFile == "#">
130 <img src="/documents/${themeDisplay.getScopeGroupId()}/135437/41edaedc-ff7d-4af8-b622-5db94cee6eda.png/c7356be9-c299-4791-9602-78c7ee774e30?t=1473056741000" alt="Storm Audio" class="noborder" title="Stormsafe">
131 <div>StormSafe audio coming soon</div>
132 <#else>
133 <a title="${stormsafeAudioFileTitle}" href="${stormsafeAudioFile}" class="internal internal-link" target="_blank">
134 <img src="/documents/${themeDisplay.getScopeGroupId()}/135437/41edaedc-ff7d-4af8-b622-5db94cee6eda.png/c7356be9-c299-4791-9602-78c7ee774e30?t=1473056741000" alt="Storm Audio" class="noborder" title="${stormsafeAudioFileTitle}">
135 <div>Storm audio</div>
136 </a>
137 </#if>
138 </div>
139
140 </div>
141 </div>