Hiba jelentkezett a sablon feldolgozása során.
Java method "jdk.proxy3.$Proxy133.getOrganization(long)" threw an exception when invoked on jdk.proxy3.$Proxy133 object "com.liferay.portal.service.impl.OrganizationLocalServiceImpl@6ee7fe51"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign organizationByGroup = Organiz...  [in template "91531405550289#20120#256501" at line 123, column 1]
----
1<link nonce="Nefx+w99qP/e7Ua27uGOEg==" nonce="9zPhIk/okhkmkSLqJD4eng==" rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css"> 
2<style nonce="Nefx+w99qP/e7Ua27uGOEg==" nonce="9zPhIk/okhkmkSLqJD4eng=="> 
3*{ margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;} 
4img { border: 0; outline: none; display: block; } 
5.aui .lfr-icon-action a img { display: inline-block; } 
6.bannerArea.banner_home .container {width: 100%; } 
7.eventArea .live { margin-left: 12px; padding: 5px 55px; color: #a0a6a6; line-height: 1.5; font-size: 17px; font-weight: 600; float: right; text-decoration: none; border: 1px solid #6F7070; 
8 background-color: #6F7070; } 
9.live.act { color: #fff; background-color: #002C5F; line-height: 1.5; border-color: #002C5F; } 
10.eventArea .call-b { padding: 5px 25px; line-height: 1.5; font-size: 17px; font-weight: 600; color: #002C5F; border: 1px solid #002C5F; float: right; text-decoration: none;  
11background-color: #fff; } 
12.go-b { padding: 5px 15px; font-size: 17px; font-weight: 600; color: #002C5F; float: left; position: relative; } 
13.go-b img { position: absolute; top: 10px; left: -5px;} 
14.hide-content { display: none; } 
15.show-content { display: block; } 
16.p_l_r_48 { padding: 0px 48px !important; } 
17.p_l_r_30 { padding: 0px 30px; } 
18small, em { line-height: 1.5; } 
19.eventArea .call-b:hover, .eventArea .go-b:hover { color: #002C5F; text-decoration: none; opacity: 0.5; } 
20.eventArea .live:hover { color: #a0a6a6; text-decoration: none; opacity: 0.5; } 
21.eventArea .live.act:hover { color: #fff; opacity: 0.5; } 
22.overlay { width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: #000; opacity: 0.5; z-index: 1; } 
23.videoArea { width: 745px; height: 434px; border: 6px solid #fff; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; z-index: 4; } 
24.videoArea img { width: 100%; height: 100%; } 
25.videoArea iframe { width: 100%; height: 100%; } 
26.videoArea .close-pop { position: absolute; top: -14px; right: -14px; display: inline-block; padding: 6px; border-radius: 50%; background-color: #000; } 
27.lunch-time { float: left; } 
28.lunch-time small { font-size: 12px; font-weight: 400; color: #000; display: block; } 
29.lunch-time em { font-size: 14px; font-weight: 600; color: #000; display: block; font-style: normal; } 
30.bannerArea { width: 100%; position: relative; text-align: center; font-family: 'Open Sans', sans-serif; overflow: hidden; display: table;  
31background: url('${banner.getData()}') no-repeat; height: 365px; background-size: cover; } 
32.bannerArea .container { display: table-cell; vertical-align: middle; } 
33.bannerArea.live-video { height: calc(100vh - 102px); } 
34.bannerArea .launch { margin: auto; max-width: 550px; overflow: hidden; position: relative; z-index: 2; } 
35.bannerArea small { font-size: 20px; font-weight: 600; color: #fff; } 
36.bannerArea h3 { margin: 10px 0 10px 0; font-size: 48px; font-weight: 600; color: #fff; line-height: 1.2; } 
37.bannerArea p { color: #fff; font-weight: 500; line-height: 1.2; } 
38ul.time { margin: 0; width: 100%; list-style: none; text-align: center; line-height: 1.5; } 
39ul.time li { margin: 0 31px; display: inline-block; }  
40ul.time h4 { margin: 0px 0 3px; font-size: 41px; font-weight: 600; color: #fff; line-height: 1.2; } 
41ul.time span { font-size: 16px; font-weight: 600; color: #fff; display: block; } 
42.bannerArea a.live { margin: 20px 0 0; display: inline-block; float: none; line-height: 1.5; color: #a0a6a6; } 
43.bannerArea a.live:hover { text-decoration: none; } 
44ul.time.day { width: auto; float: left;} 
45ul.time.day  li { margin: 0 8px; } 
46ul.time.day  li:first-child { margin-left: 0; } 
47ul.time.day h4 { font-size: 12px; font-weight: 800; color: #000; } 
48ul.time.day span { font-size: 12px; color: #333333; } 
49.pagination { float: right; } 
50.pagination .page-link{ font-size: 14px; font-weight: 400;color: #002C5F; } 
51.pagination .page-item.active .page-link { font-size: 14px; color: #fff; background-color: #002C5F; } 
52.pageArea { margin: 5px 0 0; font-size: 14px; color: #666666; font-weight: 400; display: inline-block; } 
53.pageArea p { margin: 0; } 
54.eventArea { padding: 21px 0; width: 100%; overflow: hidden; font-family: 'Open Sans', sans-serif; } 
55.eventArea .more { margin-bottom: 28px; width: 100%; border-bottom: 1px solid #BFC0BF; } 
56.eventArea h3 { padding-bottom: 14px; margin: 0; font-size: 20px; font-weight: 600; color: #333333; } 
57.eventArea .event { padding: 22px 18px; width: 100%; overflow: hidden;border-bottom: 1px solid #BFC0BF; } 
58.eventArea .event span { display: inline-block; font-size: 16px; font-weight: 600; color: #000; position: relative; } 
59.eventArea .event img.live-icon { position: absolute; right: -65px; top: 1px; } 
60.eventArea .event p {margin: 8px 0 25px; font-size: 12px; line-height: 16px; font-weight: 400; color: #333333; } 
61.eventArea .photo { float: left; width: 21%; } 
62.eventArea .photo img { max-width: 100%; width: 215px; height: 140px; } 
63.eventArea .detail { padding: 0 0 0 35px; float: left; width: 79%; } 
64.callArea { padding: 30px 0; width: 100%; height: 102px; overflow: hidden; } 
65table.dataTable.no-footer { 
66    border-bottom: 0 none; 
67
68@media only screen and (max-width:1023px){ 
69.p_l_r_48 { padding: 0 15px; } 
70.p_l_r_30 { padding: 0; } 
71.bannerArea { height: 300px; } 
72.bannerArea h3 { font-size: 40px; } 
73ul.time h4 { font-size: 24px; } 
74ul.time li { margin: 0 15px; } 
75ul.time span { font-size:14px; } 
76.eventArea .event { padding: 20px 15px; } 
77.call-b, .live { font-size: 13px; } 
78.videoArea { width: 600px; height: 300px;} 
79.bannerArea.live-video { height: 430px; } 
80.go-b { font-size: 13px; } 
81.callArea { height: 95px; } 
82.bannerArea.live-video { height: calc(100vh - 95px); } 
83.go-b img { top: 8px; left: -3px; width: 14px; } 
84
85	 
86@media only screen and (max-width:767px){ 
87.bannerArea { margin-top:-6px; } 
88.eventArea h3 { font-size: 18px; } 
89.eventArea .event span { font-size: 15px;} 
90.eventArea .detail { padding: 15px 0 0; width: 100%; } 
91ul.time.day, .lunch-time { margin-bottom: 15px; } 
92.bannerArea small { font-size: 15px; } 
93.bannerArea h3 { font-size: 28px; } 
94ul.time li { margin: 0 5px; } 
95ul.time h4 { font-size: 16px;} 
96ul.time span { font-size: 13px; } 
97.eventArea .photo { width: 100%; } 
98.eventArea .photo img { width: 100%; height:auto;} 
99.videoArea { width: 310px; height: 200px; } 
100.bannerArea.live-video { height: calc(100vh - 85px); } 
101.callArea { padding: 25px 0; height: 85px; } 
102
103@media screen and (min-width: 320px) and (max-width: 359px) { 
104	.eventArea .live {padding: 5px 25px;} 
105
106@media screen and (min-width: 359px) and (max-width: 767px) { 
107	.eventArea .live {padding: 5px 20px;} 
108
109</style> 
110 
111 
112<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
113<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
114 
115<#-- Group Id --> 
116<#assign group_Id = themeDisplay.getLayout().getGroupId() /> 
117<#-- Dealer Code --> 
118 
119<#assign OrganizationService = serviceLocator.findService("com.liferay.portal.kernel.service.OrganizationLocalService")/> 
120<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")/> 
121<#assign group = GroupLocalService.getGroup(themeDisplay.getScopeGroupId())/> 
122<#assign organizationByGroup = OrganizationService.getOrganization(group.getClassPK())/> 
123<#assign DealerCode = organizationByGroup.getExpandoBridge().getAttribute("Dealer Code")/> 
124 
125 
126 
127 
128<input type="hidden" id="eventStartTime" value="" /> 
129<input type="hidden" id="eventDate" value="" /> 
130 
131<div class="bannerArea banner_home"> 
132	<div class="container"> 
133		<div class="launch"> 
134			<small id="eventDateInBanner"> </small> 
135			<h3 id="eventNameInBanner"> </h3> 
136		    <p id="eventDescriptionInBanner"> </p> 
137			<ul id="countdown-section" class="time"> </ul> 
138			<div class="eventArea" id="liveButtonInBanner"> </div> 
139		</div> 
140	</div> 
141	<div class="overlay"></div> 
142</div> 
143 
144<div class="eventArea"> 
145	<div class="more"> 
146		<div class="container p_l_r_48"> 
147			<h3>More Events</h3> 
148		</div> 
149	</div> 
150	 
151	<div class="container p_l_r_30"> 
152		<div id="dynamicEventsSection">  
153			<!-- DATA TABLE --> 
154			<table id="event-list-table" style="width:100%"> 
155				<thead style="display:none"> 
156					<tr> 
157						<th>Events through Pagination</th> 
158					</tr> 
159				</thead> 
160				<tbody id="event-list-body"> 
161 
162				</tbody>			 
163			</table> 
164			<!-- DATA TABLE ENDS --> 
165		</div> 
166	</div> 
167</div> 
168 
169<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>  
170<script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>  
171<script> 
172    var countdownTimer; 
173	$(document).ready(function() { 
174		 
175	}); 
176	 
177	function getEventList() { 
178		console.log("Inside getEventList method !!"); 
179		var serviceDomain = 'https://efflux.myhyundai.co.in'; 
180		var apiKey = 'test_70P6X3KN';		 
181		var dealerCode = '${DealerCode}'; 
182		var recordsPerPage = '30'; 
183		var currentPage = '1'; 
184		var eventListURL = serviceDomain + '/api/get_event_list/?api_key='+apiKey+'&dealer_code='+dealerCode+'&records_per_page='+recordsPerPage+'&current_page='+currentPage; 
185		console.log("Event Listing URL :: " + eventListURL); 
186		 
187		$.ajax({ 
188			url : eventListURL, 
189			type: 'GET', 
190			dataType: 'json', 
191			success: function(response) { 
192				var eventsHtml = ""; 
193				var bannerHtml = ""; 
194				console.log("Success in getting List of Events !!"); 
195				var jsonData = response; 
196				for (var i = 0; i < jsonData.data.length; i++) { 
197					var counter = jsonData.data[i]; 
198					if(i==0) { 
199						bannerHtml = "<a href='/live-broadcasting/live-stream?eventId="+counter.event_id+"' id='countdown-live-button' style='pointer-events:none;' class='live'>Go Live</a>"; 
200						$("#liveButtonInBanner").append(bannerHtml); 
201						$("#eventNameInBanner").append(counter.event_name); 
202						$("#eventDescriptionInBanner").append(counter.event_description); 
203						$("#eventDateInBanner").append(counter.event_date); 
204						$("#eventStartTime").val(counter.event_start); 
205						$("#eventDate").val(counter.event_date); 
206
207					else { 
208						eventsHtml = "<div class='event'><div class='photo'><img src='"+counter.event_image+"' alt='' id='eventImage'></div><div class='detail'><span id='eventName'>"+counter.event_name+"</span><p id='eventDescription'>"+counter.event_description+"</p><div class='lunch-time'><small>Launch Time & Date</small><span id ='eventDateTime'><em>"+counter.event_start+" and "+counter.event_date+"</em></span></div><a href='/live-broadcasting/live-stream?eventId="+counter.event_id+"' class='live' style='pointer-events:none'>Go Live</a></div></div>"; 
209						// $("#dynamicEventsSection").append(eventsHtml); 
210						var trtd = '<tr><td>' + eventsHtml + '</td></tr>'; 
211						$('#event-list-table').find('tbody').append(trtd); 
212
213
214				// Applying DataTable 
215				console.log("Applying Datatable !!"); 
216				table = $("#event-list-table").DataTable 
217				({ 
218					"pageLength": 4, 
219					"bLengthChange": false, 
220					"bFilter": false, 
221					"info": false, 
222					"pagingType": "simple_numbers" 
223				}); 
224				countdown(); 
225			}, 
226			error: function() { 
227				console.log('Error Occured in fetching Event Listing !!'); 
228
229		}); 
230
231	 
232	getEventList(); 
233	 
234	function countdown() { 
235	    console.log("Inside countdown Method  !!"); 
236		var eventStartTime = $("#eventStartTime").val(); 
237		var eventDate = $("#eventDate").val();  
238		var newEventDate = eventDate.split("/").reverse().join("-"); 
239		console.log("Event Start Time :: " + eventStartTime); 
240		console.log("Event Date :: " + eventDate); 
241		console.log("New Event Date :: " + newEventDate); 
242		 
243		var eventDateAndTime = new Date(newEventDate + 'T' + eventStartTime); 
244		console.log("Event Date and Time :: " + eventDateAndTime); 
245		var currentDateAndTime = new Date(); 
246		console.log("Current Date and Time :: " + currentDateAndTime); 
247		 
248		if(currentDateAndTime < eventDateAndTime) { 
249			console.log("Event has not started yet, hence show countdown timer !!"); 
250			var differenceInTime = Math.abs((eventDateAndTime-currentDateAndTime)/1000); 
251			console.log("Difference in seconds :: " + differenceInTime); 
252			var diff = Math.floor(differenceInTime); 
253			console.log("Difference in seconds (without decimal) :: " + diff); 
254			var seconds = diff; 
255			 
256			countdownTimer = setInterval(function () { 
257			  var days        = Math.floor(seconds/24/60/60); 
258			  var hoursLeft   = Math.floor((seconds) - (days*86400)); 
259			  var hours       = Math.floor(hoursLeft/3600); 
260			  var minutesLeft = Math.floor((hoursLeft) - (hours*3600)); 
261			  var minutes     = Math.floor(minutesLeft/60); 
262			  var remainingSeconds = seconds % 60; 
263			  function pad(n) { 
264				return (n < 10 ? "0" + n : n); 
265
266 
267			  document.getElementById('countdown-section').innerHTML = '<li><h4>'+pad(days)+'</h4><span>Day</span></li>' + 
268																	   '<li><h4>'+pad(hours)+'</h4><span>Hours</span></li>' +  
269																	   '<li><h4>'+pad(minutes)+'</h4><span>Minutes</span></li>' +  
270																	   '<li><h4>'+pad(remainingSeconds)+'</h4><span>Seconds</span></li>'; 
271			  if (seconds == 0) { 
272				clearInterval(countdownTimer); 
273				$("#countdown-section").hide(); 
274				$("#countdown-live-button").css("pointer-events", "auto"); 
275				document.getElementById("countdown-live-button").classList.add("act"); 
276			  } else { 
277				seconds--; 
278
279			}, 1000); 
280
281		else { 
282			console.log("Event has already started !!"); 
283			clearInterval(countdownTimer); 
284			$("#countdown-section").hide(); 
285			$("#countdown-live-button").css("pointer-events", "auto"); 
286			document.getElementById("countdown-live-button").classList.add("act"); 
287
288
289	 
290</script> 
291 
292<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>  
293<script type="text/javascript" src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>