Serviços

Entrar
Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> lifecycleLabel[lifecycle]  [in template "20154#20194#25337" at line 73, column 53]

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

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if (header.getTitle(locale)?lower_ca...  [in template "20154#20194#25337" at line 73, column 9]
----
1<style> 
2	.cor {background: ${(category.color.getData())!} !important;} 
3	.ico-service { 
4		border: 4px solid #fff; 
5		display: table !important; 
6		border-radius: 100%; 
7		padding: 10px; 
8
9	.ico-service i {color:#fff;font-size:100px;padding:10px;display: table-cell !important;} 
10	.back-service{height: 100% !important;background-size: cover !important;} 
11	.service-title{ 
12		font-size: 45px; 
13		color: #fff; 
14		text-transform: uppercase; 
15		font-weight: bold; 
16		display: -webkit-inline-box; 
17		vertical-align: top; 
18		line-height: 120px; 
19		margin-left: 20px; 
20
21	.service-title small{font-size: 14px;line-height: 18px;margin-top: -40px;position: absolute;} 
22	.cor .icon-wrapper { 
23		border: 2px solid #fff; 
24		width: 64px; 
25		height: 64px; 
26		display: table !important; 
27		border-radius: 50px; 
28		margin: 0 auto; 
29		padding: 5px; 
30
31	.cor a, .cor .service-icon{color:#fff;} 
32	.cor a:hover{color:#fff;text-decoration:none;} 
33	.service-menu-container .span3{width: 24.9999999% !important;} 
34	.service-menu-container [class*="span"]{margin-left: 0 !important} 
35	.service-menu-container [class*="span"]:first-child {margin-left: 0 !important;} 
36	.pagetitle-content input[type="text"] { 
37		color: #fff; 
38		background: rgba(255,255,255,0.3); 
39		border: 0; 
40		padding: 3px 5px; 
41		margin-top: 5px; 
42
43	.lfr-token-list{display:none;} 
44	.search-layout{display:none;} 
45	.control-group{margin-bottom:0 !important;} 
46	.pagetitle-content form{margin-bottom:0;display:-webkit-inline-box;margin-left: 20px;} 
47	.pagetitle-content{padding:5px 0 0 !important;} 
48	.no-margin { margin: 0px !important; } 
49	.service-ciclo-vida { width: 50% !important; height: 230px !important; } 
50	.service-ciclo-vida-titulo { margin: 40px 0 0 20px; } 
51	.service-ciclo-vida-titulo span { float: left; } 
52</style> 
53 
54<#assign categories = [] /> 
55<#assign exists = false /> 
56<#assign count = 1 /> 
57<#assign lum = 0.1 /> 
58<#assign asc = true /> 
59<#assign lifecycle = httpUtil.getParameter(portalUtil.getCurrentCompleteURL(request), 'ciclo')! /> 
60<#assign lifecycleLabel = { 
61	'cv_crianca' : 'criança', 
62	'cv_adolescente' : 'adolescente', 
63	'cv_adulto' : 'adulto', 
64	'cv_idoso' : 'idoso', 
65	'cv_servidor' : 'servidor', 
66	'cv_ute': 'Credito' 
67} /> 
68 
69<#if (lifecycle != '') > 
70    <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
71	<#-- TODO MIGRA: Tomar cuidado com número mágico abaixo --> 
72    <#list assetEntryLocalService.getAssetTagAssetEntries(193149) as header > 
73        <#if (header.getTitle(locale)?lower_case == lifecycleLabel[lifecycle]) > 
74            <#assign renderer = header.getAssetRenderer()  /> 
75            <#assign className = renderer.getClassName()  /> 
76            <#if className == "com.liferay.journal.model.JournalArticle" > 
77                <#assign jad = renderer.getArticle()  /> 
78                <#assign document = saxReaderUtil.read(jad.getContent())  /> 
79                <#assign rootElement = document.getRootElement()  /> 
80                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='color']/dynamic-content")  /> 
81                <#assign color = xPathSelector.selectSingleNode(rootElement).getStringValue()  /> 
82                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='icon']/dynamic-content")  /> 
83                <#assign icon = xPathSelector.selectSingleNode(rootElement).getStringValue()  /> 
84                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='category']/dynamic-content")  /> 
85                <#assign category = xPathSelector.selectSingleNode(rootElement).getStringValue()  /> 
86                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='imagem']/dynamic-content")  /> 
87                <#assign image = xPathSelector.selectSingleNode(rootElement).getStringValue()  /> 
88                <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='color_text']/dynamic-content")  /> 
89                <#assign style = xPathSelector.selectSingleNode(rootElement).getStringValue()  /> 
90                 
91                <style>.cor{background:${color};} .back-service{background: url('${image?trim}');}</style> 
92     
93                <div class="row-fluid" style="margin-top: 20px;"> 
94                    <div class="span6 cor contrast-cor1 no-margin service-ciclo-vida service-ciclo-vida-icone"> 
95						<div class="service-ciclo-vida-titulo"> 
96							<span> 
97								<div class="ico-service"> 
98									<i class="${icon}"></i> 
99								</div> 
100							</span> 
101							<span class="service-title contrast-cor1">${category}<br/><small>Selecione a área relacionada ao serviço</small></span> 
102						</div> 
103					</div> 
104					 
105					<div class="span6 cor contrast-cor1 no-margin service-ciclo-vida"> 
106						<div class="back-service img-contrast"></div> 
107                    </div> 
108                </div> 
109            </#if> 
110            <#break> 
111        </#if> 
112    </#list> 
113</#if> 
114 
115<div class="service-container" style="padding:0;margin-bottom:80px;background:none;"> 
116	<section class="service-menu-container row-fluid" style="display: flex;flex-wrap: wrap;;"> 
117		<#if (lifecycle == '') >	 
118			<style>.cor{background:#056CAF;}.service-menu-container{margin-top: -15px !important;}</style> 
119			<#list entries as curEntry > 
120				<@listaConteudoMesmaCategoria curEntry /> 
121			</#list> 
122		<#else> 
123			<#list entries! as curEntry > 
124				<#assign entryTags = (curEntry.getTags())! /> 
125				<#list entryTags as tag > 
126					<#if (tag.name == lifecycle) > 
127						<@listaConteudoMesmaCategoria curEntry /> 
128						<#break> 
129					</#if> 
130				</#list> 
131			</#list> 
132		</#if> 
133	</section> 
134</div> 
135 
136<#macro listaConteudoMesmaCategoria curEntry> 
137	<#list curEntry.getCategories() as entryCat > 
138		<#if entryCat! != "" > 
139			<#if categories?seq_contains(entryCat.name?trim) > 
140				<#break> 
141			<#else> 
142				<#if (entryCat.name?trim != "general") > 
143					<#assign categories = categories + [entryCat.name?trim] > 
144					<#assign icon = (entryCat.getDescriptionCurrentValue())! /> 
145					<#assign icon = (icon?split("icon-")[1])!"mt-mt" /> 
146					<#assign icon = (icon?split(" ")[0])! /> 
147					<#assign icon = "icon-" + icon?trim /> 
148					<#assign renderer = curEntry.getAssetRenderer()  /> 
149					<#assign link = renderer.getURLViewInContext(renderRequest, renderResponse, '')  /> 
150					<#if asc > <#assign contrast = "contrast-cor${count}" /> 
151						<#else > <#assign contrast = "contrast-cor${5 - count}" /> 
152					</#if> 
153					<div class="span3 cor ${contrast}" style="height:inherit;padding: 12px 12px 0px 8px;"> 
154						<a href="${link}?ciclo=${lifecycle!}"> 
155							<div class="icon-wrapper"> 
156								<i class="service-icon ${icon}"></i> 
157							</div> 
158							<h5 style="font-size:1.1em;font-weight:normal;text-transform:uppercase;">${entryCat.name?trim}<h5> 
159						</a> 
160					</div> 
161					<#if (count > 1) > 
162						<#if (asc) > <#assign lum = lum + 0.2 /> 
163							<#else> <#assign lum = lum - 0.2 /> 
164						</#if> 
165					</#if> 
166					<#assign count = count + 1 /> 
167					<#if (count > 4) > 
168						<#assign count = 1 /> 
169						<#assign asc = !asc /> 
170					</#if> 
171				</#if> 
172			</#if> 
173		</#if> 
174		<script type="text/javascript"> 
175			var items = document.querySelectorAll(".cor"); 
176			var lastchild = items[items.length-1]; 
177			lastchild.style.backgroundColor = ColorLuminance("${color!"#00609E"}", ${lum}); 
178			function ColorLuminance(hex, lum) { 
179				// validate hex string 
180				hex = String(hex).replace(/[^0-9a-f]/gi, ''); 
181				if (hex.length < 6) { 
182					hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]; 
183
184				lum = lum || 0; 
185				// convert to decimal and change luminosity 
186				var rgb = "#", c, i; 
187				for (i = 0; i < 3; i++) { 
188					c = parseInt(hex.substr(i*2,2), 16); 
189					c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16); 
190					rgb += ("00"+c).substr(c.length); 
191				}	 
192				return rgb; 
193
194		</script> 
195	</#list> 
196</#macro> 
197 
198<script type="text/javascript"> 
199    searchInterno(); 
200</script>