Se ha producido un error al procesar la plantilla.
Expression entry is undefined on line 63, column 70 in 1455943#1455981#1552282.
1<#-- Service injection --> 
2<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.service.GroupLocalService")> 
3<#assign CalendarLocalService = serviceLocator.findService("calendar-portlet", "com.liferay.calendar.service.CalendarLocalService") > 
4<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService") > 
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetCategoryLocalService") > 
6<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.portlet.asset.service.AssetVocabularyLocalService") > 
7<#-- Namespacing --> 
8<#assign portletNamespace = renderResponse.getNamespace() /> 
9<#assign sharedNamespace = "_3_WAR_calendarportlet_" /> 
10 
11<#-- Taglibs --> 
12<#assign liferay_ui = taglibLiferayHash["/WEB-INF/tld/liferay-ui.tld"] /> 
13 
14<#-- Date formats --> 
15<#assign formatDate =  dateFormatFactory.getSimpleDateFormat("EEE d MMM. ' -> ' H'h'mm", locale) > 
16<#assign formatDateMonth =  dateFormatFactory.getSimpleDateFormat("MMMM yyyy", locale) > 
17<#assign formatDateDate =  dateFormatFactory.getSimpleDateFormat("EEE d MMM. ", locale) > 
18<#assign formatDateTime =  dateFormatFactory.getSimpleDateFormat(" H'H'mm", locale) > 
19<#assign userAgent = "" + request.getHeader("User-Agent") > 
20 
21<#-- Define actual scope group --> 
22<#assign currentGroup = GroupLocalService.getGroup(themeDisplay.getScopeGroupId()) > 
23<#assign currentGroupId = currentGroup.getGroupId() > 
24<#if !currentGroup.isStagingGroup() > 
25	<#if currentGroup.hasStagingGroup() > 
26    	<#assign currentGroupId = currentGroup.getStagingGroup().getGroupId() > 
27    </#if> 
28</#if> 
29 
30<#-- Get production categories --> 
31<#assign productionVocabulary = AssetVocabularyLocalService.getGroupVocabulary(currentGroup.getGroupId(), "Production") /> 
32<#assign productionCategories = productionVocabulary.getCategories() /> 
33<#list productionCategories as category > 
34	<#if category.getTitle(locale)?lower_case?contains("metronum") > 
35		<#assign metronumCategoryId = category.getCategoryId() /> 
36	</#if> 
37</#list> 
38 
39<section class="event-on-air"> 
40 
41	<input type="hidden" name="${sharedNamespace}resultsNamespace" id="${sharedNamespace}resultsNamespace" value="${portletNamespace}"/> 
42	<input type="hidden" name="${portletNamespace}ddmTemplateId" id="${portletNamespace}ddmTemplateId" value="0"/> 
43 
44    <#if (validator.isNull(detailsCalendarBooking))> 
45    	<h1 class="section-title"><a href="/evenements" title="A l'affiche">A l'affiche</a></h1> 
46    <#else> 
47    	<h1 class="section-title"><a href="/affichage-evenement/-/event/event/${detailsCalendarBooking.getCalendarBookingId()}" title="A l'affiche">A l'affiche</a></h1> 
48 
49    	<#-- Retrieve fields --> 
50        <#assign title = htmlUtil.escape(detailsCalendarBooking.getTitle(locale)) /> 
51        <#assign summary = detailsCalendarBooking.getDescription(locale) /> 
52        <#if (validator.isNull(summary))> 
53            <#assign summary = detailsCalendarBooking.getTitle() /> 
54        </#if> 
55        <#assign image = htmlUtil.escapeHREF(detailsCalendarBooking.getImage()) /> 
56        <#assign imageCarousel = htmlUtil.escapeHREF(detailsCalendarBooking.getImageCarousel()) /> 
57        <#assign target = detailsCalendarBooking.getTarget() /> 
58        <#assign type = detailsCalendarBooking.getType() /> 
59        <#assign location = detailsCalendarBooking.getLocation() /> 
60 
61		<#-- Retrieve start & end dates --> 
62        <#assign jStartCalendar = calendarFactory.getCalendar() > 
63	    <#assign startDateEvent = jStartCalendar.setTimeInMillis(entry.getStartTime()) > 
64	    <#assign jEndCalendar = calendarFactory.getCalendar() > 
65	    <#assign endDateEvent = jEndCalendar.setTimeInMillis(entry.getEndTime()) > 
66        <#if jEndCalendar.getTimeInMillis() < calendarFactory.getCalendar().getTimeInMillis() > 
67        	<#assign eventDone = "event-finished" /> 
68        <#else> 
69        	<#assign eventDone = "" /> 
70        </#if> 
71 
72		<#-- Retrieve asset & categories (e.g. production) --> 
73        <#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.calendar.model.CalendarBooking", detailsCalendarBooking.getCalendarBookingId()) /> 
74        <#assign viewURL = assetEntry.getAssetRenderer().getURLViewInContext(renderRequest, renderResponse, viewURL) /> 
75        <#assign viewURL = "/affichage-evenement/-/event/event/" + detailsCalendarBooking.getCalendarBookingId() /> 
76        <#assign categories = assetEntry.getCategories() /> 
77        <#assign isMetronumProduction = false /> 
78		<#assign productionCategoryTitle = "" /> 
79		<#list categories as category > 
80			<#if productionVocabulary.getVocabularyId() == category.getVocabularyId() > 
81				<#assign productionCategoryTitle = category.getTitle(locale) /> 
82				<#if category.getCategoryId() == metronumCategoryId > 
83              		<#assign isMetronumProduction = true /> 
84                </#if> 
85			</#if> 
86		</#list> 
87        <#if isMetronumProduction > 
88        	<#assign productionClass = "metronum-production" /> 
89        <#else> 
90			<#assign productionClass = "other-production" /> 
91        </#if> 
92 
93		<#-- Retrieve expandoes --> 
94		<#assign expandoBridge = detailsCalendarBooking.getExpandoBridge() /> 
95		<#assign subTitle = expandoBridge.getAttribute("subTitle", false) /> 
96		<#assign status = expandoBridge.getAttribute("status", false)?first /> 
97		<#assign externalLink = expandoBridge.getAttribute("externalLink", false) /> 
98		<#assign price = expandoBridge.getAttribute("price", false) /> 
99 
100		<#-- Display event --> 
101 
102		<#-- Edit button --> 
103		<#if (themeDisplay.isSignedIn()) > 
104			<a class="edit-button" href="javascript:;" data-calendar-booking-id="${detailsCalendarBooking.getCalendarBookingId()}" data-title="${detailsCalendarBooking.getTitleCurrentValue()}" data-all-day="${detailsCalendarBooking.getAllDay()?string}" data-start-time="${detailsCalendarBooking.getStartTime()}" data-end-time="${detailsCalendarBooking.getEndTime()}" ><@liferay.language key="edit" /></a> 
105		</#if> 
106 
107		<#-- Start event container --> 
108		<article class="event-item full-event"> 
109 
110 
111			<#-- Image --> 
112			<a href="${viewURL}" data-calendar-booking-id="${detailsCalendarBooking.getCalendarBookingId()}" class="event ev ent-handle"> 
113				<figure class="image"> 
114					<#if imageCarousel?has_content> 
115						<img class="event-image" src="/image-processor-portlet/i/${currentGroupId}/event-on-air/?u=${imageCarousel}" alt ="${title}"/> 
116					<#else> 
117						<img class="event-image" src="${themeDisplay.getPathThemeImages()}/imagedefault.jpg" alt ="${title}"/> 
118					</#if> 
119					<figcaption class="description"> 
120						${title} 
121						<#if subTitle?has_content > 
122							${subTitle?html} 
123						</#if> 
124					</figcaption> 
125				</figure> 
126			</a> 
127 
128			<a href="${viewURL}" data-calendar-booking-id="${detailsCalendarBooking.getCalendarBookingId()}" class="event ev ent-handle"> 
129				<h1 class="title"> 
130					${title} 
131					<#if subTitle?has_content > 
132						<span class="subtitle"> 
133							${subTitle} 
134						</span> 
135					</#if> 
136				</h1> 
137				<section class="categories"> 
138					<div class="what">${type}</div> 
139					<div class="where">${location}</div> 
140					<#if target?has_content> 
141		        		<div class="who">${target}</div> 
142	        		</#if> 
143				</section> 
144	        	<div class="abstract"> 
145	        		    <#if summary?length &lt; 169> 
146                            ${summary} 
147                        <#else> 
148                            ${summary?substring(0,170) + '...'} 
149                        </#if> 
150	        	</div> 
151        	</a> 
152		</article> 
153    </#if> 
154 
155</section>