Xuất bản thông tin

null Cử tri Đồng Tháp háo hức đi bầu cử

Có lỗi xảy ra trong quá trình xử lý biểu mẫu.
Java method "com.sun.proxy.$Proxy2430.getArticle(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy2430 object "com.liferay.journal.change.tracking.internal.service.CTJournalArticleLocalServiceWrapper@f64a6ab"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign article = journalArticleLocal...  [in template "34201#34227#5008789" at line 13, column 1]
----
1<#assign  
2    title = .vars['reserved-article-title'].data 
3	portalURL = themeDisplay.getPortalURL()  
4	currentUrl = portalURL + themeDisplay.getURLCurrent()  
5	imageUrl = portalURL + .vars['reserved-article-small-image-url'].data 
6	srcfb = "https://www.facebook.com/plugins/like.php?href=${currentUrl}&width=172&layout=button_count&action=like&size=small&share=true&height=46&appId=2034212100232051"  
7	displayDate = .vars['reserved-article-display-date'].data 
8	summary = .vars['reserved-article-description'].data/> 
9 
10<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
11<#assign scopeId = themeDisplay.getScopeGroupId()> 
12<#assign contentId = .vars['reserved-article-id'].data> 
13<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeId), contentId)> 
14<#assign articlePrimKey = article.resourcePrimKey> 
15<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService")> 
16<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
17<#assign articleCatId = catLocalService.getCategoryIds("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey))> 
18<#assign categoryList = catLocalService.getAssetEntryAssetCategories(getterUtil.getLong(articlePrimKey))> 
19<#assign layoutService =  serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
20<#if (request.getParameter("plidlayout")?has_content)> 
21    <#assign plidlayout = request.getParameter("plidlayout") /> 
22    <#else> 
23    <#assign plidlayout = 2 /> 
24</#if> 
25<#assign layout = layoutService.fetchLayout(plidlayout?number) /> 
26<#assign curLayout = layoutService.fetchLayout(plid?number) /> 
27<#assign pageTitle = layout.getName(locale) /> 
28<#assign pageUrl = layout.getFriendlyURL(locale) /> 
29<#assign curPageTitle = curLayout.getName(locale) /> 
30<#assign originalLocale = .locale> 
31<#setting locale = localeUtil.getDefault()> 
32<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")> 
33<#assign locale = originalLocale> 
34<#assign displayDate = displayDate?string("HH:mm dd/MM/yyyy")> 
35<#assign listLayoutDHD = [5474,5512,179]> 
36<#assign layo = themeDisplay.getPlid() /> 
37<#assign articleCatIds = "" /> 
38<#list articleCatId as item> 
39	<#assign articleCatIds = articleCatIds + item + "," /> 
40</#list> 
41<#assign assetEntryQueryService = objectUtil('com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil')> 
42<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')> 
43<#assign search = assetEntryQuery.setAllCategoryIds(articleCatId)> 
44<#assign search = assetEntryQuery.setOrderByCol1("publishDate")/> 
45<#assign search = assetEntryQuery.setStart(0)/> 
46<#assign search = assetEntryQuery.setEnd(10)/> 
47<#assign search = assetEntryQuery.setOrderByType1("DESC")/> 
48<#assign teste = assetEntryQueryService.getEntries(assetEntryQuery) 
49		totalPage = 0/> 
50 
51 <liferay-util:html-top outputKey="htmltop" style="display:none;"> 
52	<meta name="title" property="og:title" content="${title}"/> 
53    <meta name="image" property="og:image" content="${imageUrl}"/> 
54    <meta name="image" property="og:image:secure_url" content="${imageUrl}"/> 
55    <meta name="description" property="og:description" content="${summary?replace("<p>","")?replace("</p>","")}"/> 
56    <meta name="url" property="og:url" content="${currentUrl}"/> 
57</liferay-util:html-top> 
58<script src="https://sp.zalo.me/plugins/sdk.js"></script> 
59 
60<article class="noidung"> 
61	<#if listLayoutDHD?seq_index_of(layo) &gt; -1 > 
62		<ol class="breadcrumb"> 
63			<li class="breadcrumb-item"><a href="#">Trang chủ</a></li> 
64			<li class="breadcrumb-item active">Tin tức</li> 
65		</ol> 
66		<#else> 
67			<#assign journalArticleId = .vars['reserved-article-id'].data> 
68			<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
69			<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
70			<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
71			<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
72		<ol class="breadcrumb"> 
73			<li class="breadcrumb-item"><a href="#">Trang chủ</a></li> 
74			<#list categoryList as thisCategory> 
75				<#if (thisCategory_index==0)> 
76					<li class="breadcrumb-item active">${thisCategory.getName()}</li> 
77				</#if> 
78			</#list> 
79		</ol> 
80	</#if> 
81	 
82		<header class="clearfix"> 
83			<h3 class="tieudebaiviet mb-4 text-justify">${title}</h3> 
84				<span class="float-left time"> ${displayDate}</span> 
85				<div class="icontrogiup float-right mb-3"> 
86					<i class="fas fa-volume-up btndoc"></i> 
87					<i class="fas fa-volume-mute btntat an"></i> 
88					<i>&#124;</i> 
89					<i class="fas fa-file-alt btngiamtuongphan"></i> 
90					<i class="far fa-file-alt btntangtuongphan"></i> 
91					<i>&#124;</i> 
92					<i class="fas fa-search-minus btnchunho"></i> 
93					<i class="fas fa-search btnchubinhthuong"></i> 
94					<i class="fas fa-search-plus btnchulon"></i> 
95					<i>&#124;</i> 
96					<i class="fas fa-print btnin"></i> 
97					<i class="fas fa-envelope"></i> 
98					<i class="fas fa-download"></i> 
99					<input type="hidden" id="baiVietId" name="baiVietId" value="${articlePrimKey}"></input> 
100					<input type="hidden" id="commentId" name="commentId" value=""></input> 
101					<input type="hidden" id="tieuDe" name="tieuDe" value="${title?html}"></input> 
102					<input type="hidden" id="articleCatIds" name="articleCatIds" value="${articleCatIds}"></input> 
103					<input type="hidden" value="1" id="curPage"/> 
104					<input type="hidden" value="0" id="totalRelated"/> 
105				</div> 
106			</header> 
107						<div class="tomtat text-justify">${summary}</div> 
108					<div class="noidungchitiet"> 
109						${noiDung.getData()?replace("audioPreview=1","audioPreview=0")} 
110					</div> 
111					<div class="hinhtacgia">		 
112							<div class="hinhtacgiachitiet"> 
113								<#if tacGia?has_content && tacGia.getOptions()?has_content> 
114									<#list tacGia.getOptions() as item>  
115										<#if item?has_content> 
116											<#assign u = userLocalService.fetchUser(item?number)/>	 
117												<#if u?has_content> 
118													<#if u.getExpandoBridge()?has_content && u.getExpandoBridge().getAttribute("Bút danh")?has_content && u.getExpandoBridge().getAttribute("Email cá nhân")?has_content> 
119														<#assign ten = u.getExpandoBridge().getAttribute("Bút danh")/> 
120														<#assign email = u.getExpandoBridge().getAttribute("Email cá nhân")/> 
121													</#if> 
122													<#assign portraitURL = u.getPortraitURL(themeDisplay)/> 
123													<#if ten?has_content && email?has_content> 
124														<a href="/ve-chung-toi"> 
125															<img src="${portraitURL}" alt=""> 
126														</a> 
127														<div class="right"> 
128															<h4><a href="/ve-chung-toi" title="">${ten}</a></h4> 
129															<a href="mailto:${email}">${email}</a> 
130														</div>	 
131													</#if> 
132												</#if> 
133										</#if> 
134									</#list> 
135								</#if>	 
136							</div>			 
137							 
138							<!-- tac gia 2 --> 
139							<#if congTacVien?has_content && congTacVien.tenCongTacVien?has_content && congTacVien.emailCongTacVien?has_content && congTacVien.tenCongTacVien.getData()?has_content> 
140									<#assign tenCongTacVien = congTacVien.tenCongTacVien.getData()/> 
141									<#assign emailCongTacVien = congTacVien.emailCongTacVien.getData()/> 
142									<div class="hinhtacgiachitiet ctt"> 
143										<a href="/ve-chung-toi"> 
144											<img src="/documents/34223/2640277/avata.jpg" alt=""> 
145										</a> 
146										<div class="right"> 
147											<h4><a href="/ve-chung-toi" title="">${tenCongTacVien}</a></h4> 
148											<a href="mailto:${emailCongTacVien}">${emailCongTacVien}</a> 
149										</div> 
150									</div>	 
151							</#if> 
152					</div><!-- end hinh tac gia --> 
153					 
154					<div class="social-buttons"> 
155				<button class="quantam" id="quantam" onclick="follow(${articlePrimKey},'${title?html}');">					 
156				</button> 
157                <!-- <div class="zalo-follow-only-button" data-oaid="3540423014405379625" style="width: 88px;"></div> --> 
158                <div class="zalo-share-button" data-href="${currentUrl}" data-oaid="4499765515963062717" data-layout="1" data-color="blue"></div> 
159                <iframe src="${srcfb}" width="140" height="35" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allow="encrypted-media"></iframe> 
160		    </div> 
161		</article> 
162		<div class="row ml-0 mr-0 relatedentry2" id="relatedentry2"> 
163					 
164		</div> 
165		<div style="text-align: center"> 
166			<div class="pagination2" style="position: relative; justify-content: center;"> 
167				Hiển thị  
168				<select id="pageSize" onchange="changePageSize2();"> 
169					<option>10</option> 
170					<option>20</option> 
171					<option>30</option> 
172				</select>  
173				Tới trang  
174				<select id="pageIndex" onchange="changePageIndex2();"> 
175					<option>1</option> 
176				</select>  
177				của <span id="totalPage" style="vertical-align: middle;font-size: 12px;">135</span> 
178				<a id="previousP" onclick="previousPP2();">&lt;</a> 
179				<a id="nextP" onclick="nextPP2();">&gt;</a>					 
180			</div> 
181		</div> 
182		 
183<script> 
184	$(document).ready(function () { 
185		var modal = $('.modal-thongtin'); 
186		var btn = $('.btnsend'); 
187		var button_dt = $('.button-dt'); 
188		var button_dt_close = $('.button-dt-close'); 
189		var span = $('.close'); 
190		var baiVietId = $('#baiVietId'); 
191		var tieuDe = $('#tieuDe'); 
192		var commentContent = $('#commentContent'); 
193		var commentName = $('#commentName'); 
194		var commentAddress = $('#commentAddress'); 
195		var commentEmail = $('#commentEmail'); 
196		 
197		btn.click(function () { 
198			if (commentContent.val().length == 0) { 
199				alert('Vui lòng nhập nội dung ý kiến!'); 
200			} else { 
201				modal.show(); 
202				btn.hide(); 
203
204		}); 
205		 
206		 
207		button_dt.click(function () { 
208		const valid = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; 
209			if (commentName.val().length == 0) { 
210				commentName.css('border-color', 'red'); 
211				commentName.focus(); 
212			} else if (commentAddress.val().length == 0) { 
213				commentAddress.css('border-color', 'red'); 
214				commentAddress.focus(); 
215			} else if (commentEmail.val().length == 0) { 
216				commentEmail.css('border-color', 'red'); 
217				commentEmail.focus(); 
218			} else if (!valid.test(commentEmail.val())) { 
219				commentEmail.css('border-color', 'red'); 
220				commentEmail.focus(); 
221				alert('Vui lòng nhập đúng email!'); 
222			}else { 
223				comment(baiVietId.val(), tieuDe.val(), commentContent.val(), commentName.val(), commentAddress.val(), commentEmail.val(), ${groupId}); 
224				commentContent.val(''); 
225				commentName.val(''); 
226				commentAddress.val(''); 
227				commentEmail.val(''); 
228				modal.hide(); 
229				btn.show(); 
230
231		}); 
232		 
233		button_dt_close.click(function () { 
234			commentContent.val(''); 
235			commentName.val(''); 
236			commentAddress.val(''); 
237			commentEmail.val(''); 
238			commentName.css('border-color', '#ccc'); 
239			commentAddress.css('border-color', '#ccc'); 
240			commentEmail.css('border-color', '#ccc'); 
241			modal.hide(); 
242			btn.show(); 
243			 
244		}); 
245 
246		span.click(function () { 
247			commentContent.val(''); 
248			commentName.val(''); 
249			commentAddress.val(''); 
250			commentEmail.val(''); 
251			modal.hide(); 
252			$('.replyBox').hide(); 
253			btn.show(); 
254			 
255			$('.inputReplyContent').val(''); 
256			commentNameReply.val(''); 
257			commentAddressReply.val(''); 
258			commentEmailReply.val(''); 
259			modal_reply.hide(); 
260			$('.replyBox').hide(); 
261			btnreply.show(); 
262		}); 
263 
264		$(window).on('click', function (e) { 
265		if ($(e.target).is('.modal-thongtin')) { 
266			commentContent.val(''); 
267			commentName.val(''); 
268			commentAddress.val(''); 
269			commentEmail.val(''); 
270			modal.hide(); 
271			btn.show(); 
272
273		if ($(e.target).is('.modal-thongtin-reply')) { 
274			$('.inputReplyContent').val(''); 
275			commentNameReply.val(''); 
276			commentAddressReply.val(''); 
277			commentEmailReply.val(''); 
278			modal_reply.hide(); 
279			btnreply.show(); 
280
281		}); 
282		 
283		 
284		var modal_reply = $('.modal-thongtin-reply'); 
285		var btnreply = $('.btnreply'); 
286		var button_dt_reply = $('.button-dt-reply'); 
287		var button_dt_reply_close = $('.button-dt-reply-close'); 
288		var span = $('.close'); 
289		var commentNameReply = $('#commentNameReply'); 
290		var commentAddressReply = $('#commentAddressReply'); 
291		var commentEmailReply = $('#commentEmailReply'); 
292		 
293		function submitreply() { 
294			var commentId = $('#commentId').val(); 
295			if ($('#inputReplyContent' + commentId).val().length == 0) { 
296				alert('Vui lòng nhập nội dung ý kiến!'); 
297			} else { 
298				modal_reply.show(); 
299				$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
300				btnreply.hide(); 
301
302
303		 
304		button_dt_reply.click(function () { 
305			if (commentNameReply.val().length == 0) { 
306				commentNameReply.css('border-color', 'red'); 
307			} else if (commentAddressReply.val().length == 0) { 
308				commentAddressReply.css('border-color', 'red'); 
309			} else if (commentEmailReply.val().length == 0) { 
310				commentEmailReply.css('border-color', 'red'); 
311			} else { 
312				replyComment($('#commentId').val(),baiVietId.val(), tieuDe.val(), $('#commentContentReply').val(), commentNameReply.val(), commentAddressReply.val(), commentEmailReply.val()); 
313				$('.inputReplyContent').val(''); 
314				commentNameReply.val(''); 
315				commentAddressReply.val(''); 
316				commentEmailReply.val(''); 
317				modal_reply.hide(); 
318
319		}); 
320		 
321		button_dt_reply_close.click(function () { 
322			$('.inputReplyContent').val(''); 
323			commentNameReply.val(''); 
324			commentAddressReply.val(''); 
325			commentEmailReply.val(''); 
326			modal_reply.hide(); 
327			 
328		}); 
329	}); 
330	 
331	function submitreply() { 
332		var commentId = $('#commentId').val(); 
333		if ($('#inputReplyContent' + commentId).val().length == 0) { 
334			alert('Vui lòng nhập nội dung ý kiến!'); 
335		} else { 
336			$('.modal-thongtin-reply').show(); 
337			$('#commentContentReply').val($('#inputReplyContent' + commentId).val()); 
338			$('.btnreply').hide(); 
339
340
341	 
342	function changePageSize2(){ 
343		var pageSize = $('#pageSize').val(); 
344		var pageIndex = $('#pageIndex').val(); 
345		paginate2(pageIndex, pageSize); 
346
347	 
348	function changePageIndex2(){ 
349		var pageSize = $('#pageSize').val(); 
350		var pageIndex = $('#pageIndex').val(); 
351		$('#curPage').val(pageIndex); 
352		paginate2(pageIndex, pageSize);	 
353
354	 
355 
356</script>