null Opiskelijoiden 48 tunnin Sprint Online - ratkaisuideoita tilojen työvoimahaasteeseen
Virhe tapahtui prosessoidessa esitysmallia.
Java method "com.sun.proxy.$Proxy603.getLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy603 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@69bb47b4"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #local relatedArticle = JournalArticl...  [in template "43867" in macro "getWebContentHTML" at line 269, column 9]
	- Reached through: @ch5.getWebContentHTML contactPerson  [in template "20116#20152#43829" at line 75, column 33]
----
1<#-- Uutinen --> 
2<#-- 04/04/2019 --> 
3<#-- INIT --> 
4<#-- Import common variables, functions & macros --> 
5<#import "${templatesPath}/43867" as ch5> 
6 
7<#assign title = ch5.getTitle()> 
8<#assign summary = ch5.getSummary()> 
9<#assign date = ch5.getDisplayDate()> 
10<#assign contentType = ch5.getStructureName()> 
11 
12<#assign bodyText = body.getData()> 
13<#assign images = image.getSiblings()!""> 
14<#assign contact = contactPerson.getData()> 
15<#if contactPerson1?has_content><#assign contact1 = contactPerson1.getData()></#if> 
16<#if contactPerson2?has_content><#assign contact2 = contactPerson2.getData()></#if> 
17<#if contactPerson3?has_content><#assign contact3 = contactPerson3.getData()></#if> 
18<#assign attachments = attachment.getSiblings()!""> 
19<#assign membersOnly = extra.getSiblings()!""> 
20 
21<#assign articleTypeList = ch5.getCategoryNames(articleTypeVocabularyId) /> 
22<#assign articleType = articleTypeList?first!"" /> 
23 
24 
25<#-------------------------------- 
26    OUTPUT 
27---------------------------------> 
28<div> 
29	<div class="row"> 
30		<div class="col"> 
31			<#if articleType?has_content> 
32                <p>${contentType} – ${articleType}</p> 
33            <#else> 
34    		    <p>${contentType}</p> 
35            </#if> 
36			<h1>${title}</h1> 
37			<p class="text-muted">${date}</p> 
38		</div> 
39	</div> 
40	<div class="row"> 
41		<div class="col-11 article-intro"> 
42			<#if summary?has_content> 
43				<p>${htmlUtil.render(summary)}</p> 
44			</#if> 
45		</div> 
46	</div> 
47	<div class="row"> 
48		<div  style="" class="col-11 col-md-11"> 
49			<#list images as cur_image> 
50    			<#if cur_image.getData()?? && cur_image.getData() != ""> 
51    				<@ch5.getadatiivinemediaimage cur_image /> 
52    			</#if> 
53			</#list> 
54		</div> 
55		<div class="col-11 col-md-1"> 
56			<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
57			<#assign mtkpaagroup = GroupLocalService.fetchGroup(groupId) > 
58			<div class="artikkelisomelista"> 
59				<ul class="list-unstyled artikkelisomelista "> 
60					<li><a href="https://www.facebook.com/sharer/sharer.php?u=https://${mtkpaagroup.getPublicLayoutSet().getVirtualHostname()}/-/${.vars['reserved-article-url-title'].data}" target="_blank" class="fab fa-facebook-f fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediafacebook ml-3  mt-0"></a></li> 
61					<li><a href="https://twitter.com/intent/tweet?url=https://${mtkpaagroup.getPublicLayoutSet().getVirtualHostname()}/-/${.vars['reserved-article-url-title'].data}" target="_blank" class="fab fa-twitter fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediatwitter ml-3"></a></li> 
62					<li><a href="whatsapp://send?text=https://${mtkpaagroup.getPublicLayoutSet().getVirtualHostname()}/-/${.vars['reserved-article-url-title'].data}" data-action="share/whatsapp/share" target="_blank" class="fab fa-whatsapp fimtkteemaartikkelilistasosiaalinenmedia fimtkteemaartikkelilistasosiaalinenmediawhatsapp ml-3"></a></li> 
63				</ul> 
64			</div> 
65		</div> 
66	</div> 
67	<div class="row"> 
68		<div class="col-11" >	 
69			${bodyText} 
70			<#if attachments?has_content> 
71				<@ch5.listAttachments attachments /> 
72				<br/> 
73			</#if> 
74			<#if contact?has_content> 
75				<@ch5.getWebContentHTML contactPerson /> 
76			</#if> 
77			<#if contact1?has_content> 
78				<@ch5.getWebContentHTML contactPerson1 /> 
79			</#if> 
80            <#if contact2?has_content> 
81				<@ch5.getWebContentHTML contactPerson2 /> 
82			</#if> 
83            <#if contact3?has_content> 
84				<@ch5.getWebContentHTML contactPerson3 /> 
85			</#if> 
86			<@ch5.memberInfo membersOnly /> 
87			<p><@ch5.listTags tagBaseUrl="/artikkelit/-/tag/"/><p> 
88		</div> 
89	</div> 
90</div> 
91 
92<#assign imageurl = "https://${mtkpaagroup.getPublicLayoutSet().getVirtualHostname()}/-/${.vars['reserved-article-url-title'].data}"> 
93<@ch5.getogptags title summary imageurl /> 
94 
95<#assign latitude = 0> <#assign longitude = 0> <#if location?has_content && (location.getData() != "")> <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(location.getData())> <#assign latitude = geolocationJSONObject.getDouble("latitude")> <#assign longitude = geolocationJSONObject.getDouble("longitude")> <@liferay_map["map-display"] geolocation=true latitude=latitude longitude=longitude name="location${randomizer.nextInt()}" /> </#if> 

Suositellut artikkelit

Koronakevään vaikutus kausityövoiman saatavuuteen on herättänyt paljon julkista keskustelua. Ulkomaisen työvoiman lisäksi tarve on yhä löytää noin 10 000 työntekijää Suomesta. Työnantajat ovat löytäneet osaavia...

Maaseudulla on pitkään kärsitty työvoimapulasta. Tilanne kärjistyi, kun koronakriisi uhkaa kausityövoiman saatavuutta. MTK, ProAgria Keskusten Liitto sekä Suomen Kylät päättivät perustaa yhteisen Töitä Suomesta...