Votre poste idéal pas encore à vue?
SOUMETTRE UNE CANDIDATURE SPONTANÉE
Une erreur s'est produite en traitant le modèle.
The following has evaluated to null or missing: ==> journalArticleUtils.fetchArticleByUrlTitle(groupId, "reglementation_ontario") [in template "89010#89044#EMPLOI_COMPLET-7.0.5.1" at line 128, column 51] ---- 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: #assign articleReglementationOntario ... [in template "89010#89044#EMPLOI_COMPLET-7.0.5.1" at line 128, column 11] ----
1<#macro section titre description estImprimable>
2 <#if titre.getData()?has_content && description.getData()?has_content>
3 <#if estImprimable.getData()?has_content && getterUtil.getBoolean(estImprimable.getData())>
4 <div class="page-emploi-imprimable">
5 <#else>
6 <div class="page-emploi-non-imprimable">
7 </#if>
8 <div class="emploi-titre-section">
9 <h2 class="primaire">${titre.getData()}</h2>
10 </div>
11 <div class="emploi-description">
12 <p>${description.getData()}</p>
13 </div>
14 </div>
15 </#if>
16</#macro>
17
18<#macro boutonPostuler classeId>
19 <div class="emploi-bouton">
20 <button id="bouton-postuler-${classeId}" class="btn btn-lg">
21 ${bouton.getData()}
22 <i class="${bouton.icone.getData()} btn-fleche"></i>
23 </button>
24 </div>
25</#macro>
26
27<#assign
28listeCategoriesVille = []
29contenuReglementationOntario = ""
30categorieFiliale = ""
31contenuFiliale = ""
32categorieTypeEmploi = ""
33categorieTypeHoraire = ""
34categories = categoryUtils.getCategories(groupId,.vars['reserved-article-id'].data, locale, true)
35/>
36
37<#list categories as categorie>
38 <#assign vocabulary = categoryUtils.getVocabulary(categorie)!"" />
39 <#if vocabulary.name == "Villes" >
40 <#assign listeCategoriesVille = listeCategoriesVille + [categorie.name] />
41 <#elseif vocabulary.name == "Filiales">
42 <#assign categorieFiliale = categorie.name />
43 <#assign contenuFiliale = categoryUtils.getCategoryPropertyValue(categorie, "contenu")/>
44 <#elseif vocabulary.name == "Types emploi">
45 <#assign categorieTypeEmploi = categorie.name />
46 <#elseif vocabulary.name == "Types horaire">
47 <#assign categorieTypeHoraire = categorie.name />
48 </#if>
49</#list>
50
51<#if listeCategoriesVille?seq_contains("Toronto") ||
52 listeCategoriesVille?seq_contains("North Bay")>
53 <#assign contenuReglementationOntario = "REGLEMENTATION_ONTARIO" />
54<#else>
55 <#assign contenuReglementationOntario = "" />
56</#if>
57
58<div id="page-emploi">
59 <div class="emploi wrapper">
60 <div id="emploi-poste" class="emploi-poste">
61 <div class="emploi-titre">
62 <div>
63 <i class="icon-arrow-right-circle emploi-icone"></i>
64 <h1>${titre.getData()}</h1>
65 </div>
66 </div>
67 <div class="emploi-sous-titre">
68 <h5>
69 <span>${categorieFiliale} / </span>
70 <span>${listeCategoriesVille?join(", ",""," / ")}</span>
71 <span>${categorieTypeEmploi} / ${categorieTypeHoraire}</span>
72 </h5>
73 </div>
74
75 <div class="emploi-partages-sociaux">
76 <div class="emploi-medias-sociaux">
77 <span class="emploi-medias-sociaux-texte">${partagerTexte.getData()}</span>
78 <#if getterUtil.getBoolean(partageFacebook.getData())>
79 <a id="partager-facebook" href="#">
80 <i class="fab fa-facebook-f"></i>
81 <span class="sr-only">Facebook</span>
82 </a>
83 </#if>
84
85 <#if getterUtil.getBoolean(partageTwitter.getData())>
86 <a id="partager-twitter" target="_blank">
87 <i class="fab fa-twitter"></i>
88 <span class="sr-only">Twitter</span>
89 </a>
90 </#if>
91
92 <#if getterUtil.getBoolean(partageLinkedin.getData())>
93 <a id="partager-linkedin" target="_blank">
94 <i class="fab fa-linkedin-in"></i>
95 <span class="sr-only">LinkedIn</span>
96
97 </a>
98 </#if>
99 </div>
100
101 <@boutonPostuler "top"/>
102 </div>
103 <hr>
104
105 <div class="page-emploi-section">
106 <@section
107 titre=sectionResponsabilites
108 description=sectionResponsabilites.descriptionResponsabilites
109 estImprimable=sectionResponsabilites.estImprimableResponsabilites />
110
111 <@section
112 titre=sectionExperienceFormation
113 description=sectionExperienceFormation.descriptionExperienceFormation
114 estImprimable=sectionExperienceFormation.estImprimableExperienceFormation />
115
116 <@section
117 titre=sectionQualitesAptitudes
118 description=sectionQualitesAptitudes.descriptionQualitesAptitudes
119 estImprimable=sectionQualitesAptitudes.estImprimableQualitesAptitudes />
120 </div>
121
122 <hr>
123
124 <div id="page-emploi-bas-de-page" class="emploi-bas-de-page">
125 <hr>
126
127 <#if contenuReglementationOntario?has_content>
128 <#assign articleReglementationOntario = journalArticleUtils.fetchArticleByUrlTitle(groupId, "reglementation_ontario") />
129 <#assign articleReglementationOntarioContenu = journalArticleUtils.getArticleContent(articleReglementationOntario, null, null, locale, null) />
130 ${articleReglementationOntarioContenu}
131
132 </#if>
133
134 <h1>${messageAuBas.getData()}</h1>
135 <@boutonPostuler "bas"/>
136 </div>
137
138 </div>
139
140 <#assign articleFiliale = journalArticleUtils.fetchArticleByUrlTitle(groupId, contenuFiliale)/>
141 <#assign articleFilialeContenu = journalArticleUtils.getArticleContent(articleFiliale, null, null, locale, null) />
142 ${articleFilialeContenu}
143
144 </div>
145
146
147 <script>
148 $(document).ready(function () {
149 $('title').html('${titre.getData()}');
150 $(".banniere-candidature").css("display", "none");
151 verifierGrandeurFenetre();
152 });
153 $(window).resize(verifierGrandeurFenetre);
154
155 function verifierGrandeurFenetre() {
156 var isMobile = $(window).width() < 750;
157 if (isMobile) {
158 $("#page-emploi").css("background-image", 'url(${imageMobile.getData()})');
159 $("#page-emploi-bas-de-page").appendTo("#page-emploi");
160 } else {
161 $("#page-emploi").css("background-image", 'url(${imageDesktop.getData()})');
162 $("#page-emploi-bas-de-page").appendTo("#emploi-poste");
163 }
164 }
165
166 $("#partager-facebook").on("click", function () {
167 var url = $(location).attr('href');
168 var lien = "https://www.facebook.com/sharer/sharer.php?&u=" + url;
169 lien = encodeURI(lien);
170 window.open(lien , "pop", "width=800, height=600, scrollbars=1, resizable=1");
171 return false;
172 });
173
174 $("#partager-twitter").on("click", function () {
175 var url = $(location).attr('href');
176 var lien = "https://twitter.com/intent/tweet?url=" + url;
177 lien = encodeURI(lien);
178 window.open(lien , "pop", "width=800, height=600, scrollbars=1, resizable=1");
179 return false;
180 });
181
182 $("#partager-linkedin").on("click", function () {
183 var url = $(location).attr('href');
184 var lien = "https://www.linkedin.com/shareArticle?mini=true&url=" + url +
185 "&title=${titre.getData()}&summary=${categorieFiliale} / ${listeCategoriesVille?join(" / ","")} / " +
186 "${categorieTypeEmploi}, ${categorieTypeHoraire}";
187 lien = encodeURI(lien);
188 window.open(lien, "pop", "width=800, height=600, scrollbars=1, resizable=1");
189 return false;
190 });
191 </script>
192</div>