Offres d'emploi en IT Services

Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> ViewAllText  [in template "20115#20151#56223" at line 163, column 276]

----
Tip: If the failing expression is known to be 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: ${ViewAllText}  [in template "20115#20151#56223" at line 163, column 274]
----
1<#assign countryISO = locale?keep_after("_") /> 
2<#assign plId = layout.getPlid()> 
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/> 
4<#assign layoutEntry = assetEntryLocalService.fetchEntry("com.liferay.portal.kernel.model.Layout", plId)> 
5<#assign assetCategories = layoutEntry.getCategories()/> 
6<#assign assignedCategories = ""/> 
7  <#list assetCategories as cat> 
8       <#assign catName = cat.getName()> 
9       <#assign catName += '|'> 
10       <#assign assignedCategories += catName> 
11  </#list> 
12  <#assign assignedCategories = assignedCategories?keep_before("|")/> 
13 <#assign subSpecialismId = "">  
14 <#assign specialismId = ""> 
15 <#assign parentPlid = layout.getParentPlid()> 
16 <#assign LayoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
17 <#if assignedCategories?has_content > 
18 <#assign nodeId = LayoutLocalService.getLayout(parentPlid).getExpandoBridge().getAttribute("NodeId")> 
19 <#if nodeId == "job-seeker"> 
20 <#assign specialismId = assignedCategories> 
21 <#else> 
22 <#assign subSpecialismId = assignedCategories>  
23 </#if> 
24 </#if> 
25 <#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale"> 
26 <#assign locale = propsUtil.get(ucmLocaleKey)/> 
27 
28<#assign keyword = ""> 
29 
30<#assign count = "5"> 
31<#assign assetEntryLocalService = serviceLocator.findService("com.hays.service.jobs.service.HaysJobsLocalService")  /> 
32<#if (assetEntryLocalService.getjobs(keyword, specialismId, subSpecialismId, count, locale))??> 
33<#assign getResponse = assetEntryLocalService.getjobs(keyword, specialismId, subSpecialismId, count, locale)> 
34 <#assign getResponseCount = getResponse.result.resultCount> 
35 <#if (getResponseCount gte 30)> 
36 <#assign ViewAllText = languageUtil.format(themeDisplay.getLocale(), "lr_ViewAllJobs",getResponseCount)/> 
37<#else> 
38<#assign getResponseCount = ""> 
39<#assign ViewAllText = languageUtil.format(themeDisplay.getLocale(), "lr_ViewAllJobs",getResponseCount)/> 
40</#if> 
41</#if> 
42 
43<script type="text/javascript">  
44function wysToggle() { 
45   if (window.jQuery && jQuery.isReady) { 
46           
47		var expand = $('<a href="javascript:void(0);" id="wysEvent" class="more"><span class="switch">${languageUtil.get(themeDisplay.getLocale(), "lr_ReadMore")}</span><span class="access"> on '+$('.box h1').text()+'</span></a>'); 
48 
49		var totalContents = document.getElementById('wysToggle').innerHTML; 
50		var totalHeight = $('#wysToggle').height(); 
51 
52		if(totalHeight < 125) { 
53	 
54			$('#wysEvent').hide(); 
55
56		else { 
57			var newLimit = 0; 
58			var currentHeight = 0; 
59			/*Keep adding characters until the box is less than 105px height*/ 
60			while(currentHeight < 105) {  
61				newLimit ++; 
62				var newVisibleText = totalContents.substring(0,newLimit); 
63           				$('#wysToggle').html(newVisibleText); 
64           				currentHeight = $('#wysToggle').height();								 
65           			}	 
66           		 
67           			/*With the new text, keep removing charatcers until I find the first blank space*/ 
68           			//while(newVisibleText.charAt(newVisibleText.length-1) != " "){							 
69           			while(!(/\s/.test(newVisibleText.charAt(newVisibleText.length-1)))){ 
70           		 
71           		 
72           				var counter = newVisibleText.length-1; 
73           				newVisibleText = totalContents.substring(0,counter); 
74           				 
75           			}		 
76           	 
77           			$('#wysToggle').html(newVisibleText); 
78           	 
79           			$('#wysToggle > :last-child').append(expand); 
80           			 
81
82           		$('#wysEvent').toggle(function(e){ 
83           			$(this) 
84           				.detach() 
85           				.removeClass('more') 
86           				.addClass('less') 
87           				.children('.switch') 
88           				.text('${languageUtil.get(themeDisplay.getLocale(), "lr_ReadLess")}'); 
89           			$('#wysToggle') 
90           				.html(totalContents) 
91           				.find('> :last-child') 
92           				.append(this); 
93           			 
94           			e.preventDefault(); 
95           		}, function(e){ 
96           			$(this) 
97           				.detach() 
98           				.removeClass('less') 
99           				.addClass('more') 
100           				.children('.switch') 
101           				.text('${languageUtil.get(themeDisplay.getLocale(), "lr_ReadMore")}'); 
102           			$('#wysToggle') 
103           				.html(newVisibleText) 
104           				.find('> :last-child') 
105           				.append(expand); 
106           			e.preventDefault() 
107           		}); 
108
109           	else{ 
110           		window.setTimeout(wysToggle, 100); 
111
112
113           wysToggle(); 
114            
115</script> 
116<#assign responseSiteArray = propsUtil.get("RESPONSE_FRIENDLY_URLS")?split(",")> 
117<#assign responseSiteCheck = responseSiteArray?seq_contains(themeDisplay.getLayout().getGroup().getFriendlyURL())?string("yes", "no")/> 
118<div class="box bullet"> 
119    <h1 class="underline">${Title.getData()} 
120	<#if Title.SubTitle??> 
121	   <br><span class="hays-cyan" style="text-transform: none">${Title.SubTitle.getData()}</span> 
122	</h1> 
123	<#else> 
124	</h1> 
125	</#if> 
126	<div class="content-img"> 
127		<#if SpecialismImage?? && SpecialismImage.getData() != ""> 
128			<#assign SpecialismImageData = SpecialismImage.getData()?replace("<p>", "")?replace("</p>", "")> 
129			<#if themeDisplay.isSignedIn() && responseSiteCheck == "no"> 
130				<#if SpecialismImageData?contains("/" + themeDisplay.getLocale().getLanguage()) && !(SpecialismImageData?contains("href=\"http"))> 
131					${SpecialismImageData?replace("/" + themeDisplay.getLocale().getLanguage(), "/" + themeDisplay.getLocale().getLanguage() + "/web" + themeDisplay.getLayout().getGroup().getFriendlyURL())} 
132				<#elseif !(SpecialismImageData?contains("href=\"http"))> 
133					${SpecialismImageData?replace("href=\"", "href=\"/web" + themeDisplay.getLayout().getGroup().getFriendlyURL())} 
134				<#else> 
135					${SpecialismImageData} 
136				</#if> 
137			<#else> 
138				${SpecialismImageData} 
139			</#if> 
140		</#if> 
141		<div class="hi_inner"> 
142		   <div class="wysiwyg" id="wysToggle">	 
143			  <#if themeDisplay.isSignedIn() && responseSiteCheck == "no"> 
144				<#if Summary.getData()?contains("/" + themeDisplay.getLocale().getLanguage()) && !(Summary.getData()?contains("href=\"http"))> 
145					${Summary.getData()?replace("/" + themeDisplay.getLocale().getLanguage(), "/" + themeDisplay.getLocale().getLanguage() + "/web" + themeDisplay.getLayout().getGroup().getFriendlyURL())} 
146				<#elseif !(Summary.getData()?contains("href=\"http"))> 
147					${Summary.getData()?replace("href=\"", "href=\"/web" + themeDisplay.getLayout().getGroup().getFriendlyURL())} 
148				<#else> 
149					${Summary.getData()} 
150				</#if> 
151			<#else> 
152				${Summary.getData()} 
153			</#if> 
154			  </div> 
155		</div>  
156		<#assign count = "5"> 
157		<#assign assetEntryLocalService = serviceLocator.findService("com.hays.service.jobs.service.HaysJobsLocalService")  /> 
158		<#if (assetEntryLocalService.getjobs(keyword, specialismId, subSpecialismId, count, locale))??> 
159			<#assign getResponse = assetEntryLocalService.getjobs(keyword, specialismId, subSpecialismId, count, locale)> 
160			<#assign getResponseCount = getResponse.result.resultCount> 
161			<#if (getResponseCount !=0) && assignedCategories?has_content> 
162				<#assign mobileUrlKey = themeDisplay.getLocale()+"."+siteType+"."+"Mobile_URL"> 
163				<a class="btn" id="googleJobs" href="${propsUtil.get(mobileUrlKey)}/search/?q=hays&amp;s=%2BxReleaseDate&amp;specialismId=${specialismId}&amp;subSpecialismId=${subSpecialismId}&amp;_ga=2.255521741.477195505.1538057228-1137019125.1538057228">${ViewAllText} <span id="gcsCountView"></span> ${languageUtil.get(themeDisplay.getLocale(), "")}</a> 
164			</#if>   
165		</#if>      
166	     
167    </div> 
168</div> 
169       
170 
171<style> 
172.access { 
173    display: none!important; 
174
175</style> 

HaysSearchForm Portlet

Blocs Divisions

Créer un compte

Sauvegardez votre recherche d'emploi et gérez vos candidatures ainsi que vos données personnelles.

Créez votre compte

Etude de remunération nationale

Découvrez notre dernière étude de rémunération nationale dédiée à nos spécialisations métiers, ainsi que toutes nos études. 

En savoir plus

Conseils de carrière

Nos experts vous accompagnent dans votre projet professionnel.

En savoir plus

Localiser le bureau le plus proche

Trouver le bureau Hays le plus proche de vous.

Localiser mon bureau Hays

TRAVAIL TEMPORAIRE

Travail temporaire

Choisir le travail temporaire avec Hays

En savoir plus

Bloc charte de la diversité

CHARTE DE LA DIVERSITE HAYS S'ENGAGE

Nous sommes fiers d'annoncer que nous sommes signataires de la Charte de la Diversité 2020. 

INSCRIPTION NEWSLETTER

INSCRIVEZ-VOUS !

Restez connectés, recevez les dernières informations qui vous permettront de booster votre carrière ou votre entreprise ! 

MISSION HANDICAP

MISSION HANDICAP

Découvrir notre engagement