معلومات بطاقة الخدمة

تسجيل المؤرخ الشاب
حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing: ==> linkToSubmitURL [in template "20097#20123#255590" at line 798, column 111] ---- Tip: If the failing expression is known to 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: ${portalUtil.addPreservedParameters(t... [in template "20097#20123#255590" at line 798, column 62] ----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the left panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8<#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
9<#attempt>
10 <#assign articleId = paramUtil.getString(request, "serviceid", "")>
11<#recover>
12 <#assign articleId = "0" />
13</#attempt>
14
15<#assign groupId = themeDisplay.getSiteGroupId() />
16 <#assign isCareer = false>
17 <#assign isSupplierRegistration = false>
18 <#assign supplierRegistrationStatus = -1>
19
20<#if articleId?has_content && articleId != "0">
21 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
22 <#attempt>
23 <#assign journalArticle = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId)>
24 <#recover>
25 <#assign journalArticle = ""/>
26 </#attempt>
27 <#if journalArticle?has_content>
28
29 <#assign articleName = journalArticle.getTitle() />
30 <#assign termsCondition = "">
31 <#assign serviceDetailsHeading = []>
32 <#assign serviceDetailDescription = []>
33 <#assign serviceDetailIconURL = []>
34 <#assign specificationsIconURL = []>
35 <#assign specificationsDescription = []>
36 <#assign specifications = []>
37 <#assign serviceStepCounter = []>
38 <#assign stepIconURL = []>
39 <#assign stepDescription = []>
40 <#assign linkToSubmitURL = "">
41 <#assign service_card_docs = []>
42 <#assign doc_names = []>
43 <#assign last_updates = []>
44
45
46 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
47 <#assign rootElement = document.getRootElement() />
48
49 <#list rootElement.elements() as dynamicElement>
50 <#if "Description" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "">
51 <#assign Description = dynamicElement.element("dynamic-content").getText() />
52 </#if>
53
54 <#if "ServiceProvider" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "" >
55 <#assign ServiceProvider = dynamicElement.element("dynamic-content").getText() />
56 </#if>
57
58 <#if "LinkToSubmit" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "">
59 <#assign linkToSubmit = dynamicElement.element("dynamic-content").getText() />
60 <#assign
61 data = linkToSubmit?eval
62 linkToSubmitURL = data['layoutId']
63 />
64
65 </#if>
66
67 <#if "TermsCondition" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "">
68 <#assign termsCondition = termsCondition +"<li>"+ dynamicElement.element("dynamic-content").getText()+"</li>" />
69 </#if>
70
71 <#if "ServiceDetailsHeading" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "">
72 <#assign serviceDetailsHeading = serviceDetailsHeading+ [dynamicElement.element("dynamic-content").getText()] />
73 <#list dynamicElement.elements("dynamic-element") as serviceDetailsElement>
74 <#if "ServiceDetailDescription" == serviceDetailsElement.attributeValue("name")>
75 <#assign serviceDetailDescription = serviceDetailDescription + [serviceDetailsElement.element("dynamic-content").getText()] />
76 </#if>
77 <#if "ServiceDetailIcon" == serviceDetailsElement.attributeValue("name")>
78 <#assign ServiceDetailIconsrc = serviceDetailsElement.element("dynamic-content").getData() />
79 <#if ServiceDetailIconsrc?has_content>
80 <#assign
81 data = ServiceDetailIconsrc?eval
82 fileEntryId = data.fileEntryId
83 />
84 <#assign
85 data = ServiceDetailIconsrc?eval
86 uuid = data.uuid
87 />
88 <#assign serviceDetailIconURL = serviceDetailIconURL + ["/c/document_library/get_file?uuid=" + uuid + "&groupId=" + entry.getGroupId()] />
89 <#else>
90 <#assign serviceDetailIconURL = serviceDetailIconURL +[""] />
91 </#if>
92
93 </#if>
94
95 </#list>
96 </#if>
97
98 <#if "Specifications" == dynamicElement.attributeValue("name") && dynamicElement.element("dynamic-content").getText()?? && dynamicElement.element("dynamic-content").getText() != "">
99 <#assign specifications = specifications+ [dynamicElement.element("dynamic-content").getText()] />
100 <#assign SingleSpecificationsDescription1 = "" />
101 <#list dynamicElement.elements("dynamic-element") as SpecificationsElement>
102 <#if "SpecificationsDescription" == SpecificationsElement.attributeValue("name")>
103 <#assign singleSpecificationsDescription = SpecificationsElement.element("dynamic-content").getText() +"," />
104 <#assign SingleSpecificationsDescription1 = SingleSpecificationsDescription1 + singleSpecificationsDescription />
105 </#if>
106 <#if "SpecificationsIcon" == SpecificationsElement.attributeValue("name")>
107 <#assign SpecificationsIconsrc = SpecificationsElement.element("dynamic-content").getData() />
108 <#if SpecificationsIconsrc?has_content>
109 <#assign
110 data = SpecificationsIconsrc?eval
111 fileEntryId = data.fileEntryId
112 />
113 <#assign
114 data = SpecificationsIconsrc?eval
115 uuid = data.uuid
116 />
117 <#assign specificationsIconURL = specificationsIconURL + ["/c/document_library/get_file?uuid=" + uuid + "&groupId=" + entry.getGroupId()] />
118 <#else>
119 <#assign specificationsIconURL = specificationsIconURL +[""] />
120 </#if>
121
122 </#if>
123
124 </#list>
125 <#assign specificationsDescription = specificationsDescription + [SingleSpecificationsDescription1] />
126 </#if>
127
128 <#if "service_card_document" == dynamicElement.attributeValue("name")>
129 <#assign docURL = "" />
130 <#assign docName = "" />
131 <#assign lastUpdate = "" />
132 <#assign docContent = dynamicElement.element("dynamic-content").getData() />
133
134 <#if docContent?has_content>
135 <#assign
136 data = docContent?eval
137 fileuuid = data.uuid
138 groupId = data.groupId
139 />
140 <#assign docURL = "/c/document_library/get_file?uuid=" + fileuuid + "&groupId=" + entry.getGroupId() />
141 </#if>
142
143 <#list dynamicElement.elements("dynamic-element") as nestedElement>
144 <#if "Document_Name" == nestedElement.attributeValue("name")>
145 <#assign docName = nestedElement.element("dynamic-content").getText() />
146 </#if>
147 <#if "Last_update" == nestedElement.attributeValue("name")>
148 <#assign lastUpdate = nestedElement.element("dynamic-content").getText() />
149 </#if>
150 </#list>
151
152 <#assign service_card_docs = service_card_docs + [docURL] />
153 <#assign doc_names = doc_names + [docName] />
154 <#assign last_updates = last_updates + [lastUpdate] />
155 </#if>
156
157
158 <#if "ServiceStepsGroup" == dynamicElement.attributeValue("name") && dynamicElement.attributeValue("name")?? && dynamicElement.attributeValue("name") != "">
159 <#list dynamicElement.elements("dynamic-element") as ServiceStepsElement>
160 <#if "ServiceStepCounter" == ServiceStepsElement.attributeValue("name")>
161 <#assign serviceStepCounter = serviceStepCounter + [ServiceStepsElement.element("dynamic-content").getText()] />
162 </#if>
163 <#list ServiceStepsElement.elements("dynamic-element") as ServiceStepsCounterElement>
164 <#if "StepDescription" == ServiceStepsCounterElement.attributeValue("name")>
165 <#assign stepDescription = stepDescription + [ServiceStepsCounterElement.element("dynamic-content").getText()] />
166 </#if>
167 <#if "StepIcon" == ServiceStepsCounterElement.attributeValue("name")>
168 <#assign StepIconsrc = ServiceStepsCounterElement.element("dynamic-content").getData() />
169 <#if StepIconsrc?has_content>
170 <#assign
171 data = StepIconsrc?eval
172 fileEntryId = data.fileEntryId
173 />
174 <#assign
175 data = StepIconsrc?eval
176 uuid = data.uuid
177 />
178 <#assign stepIconURL = stepIconURL + ["/c/document_library/get_file?uuid=" + uuid + "&groupId=" + entry.getGroupId()] />
179 <#else>
180 <#assign stepIconURL = stepIconURL +[""] />
181 </#if>
182
183 </#if>
184 </#list>
185
186
187 </#list>
188 </#if>
189
190 </#list>
191 <#if serviceLocator.findService("com.na.database.service.SlangWordsLocalService")?? >
192 <#assign slangWordsLocalService = serviceLocator.findService("com.na.database.service.SlangWordsLocalService") />
193 <#assign saveOrDraft = slangWordsLocalService.saveOrDraft(themeDisplay.getUserId(),journalArticle.getTitle()?lower_case?replace(" ", "-") )>
194
195 <#if (("Supplier Registration")?lower_case?replace(" ", "-")) == journalArticle.getTitle()?lower_case?replace(" ", "-") >
196 <#assign isSupplierRegistration = true>
197 <#assign supplierRegistrationStatus = slangWordsLocalService.getStatus(themeDisplay.getUserId(),journalArticle.getTitle()?lower_case?replace(" ", "-"))>
198 </#if>
199
200 </#if>
201
202 <#if journalArticle.getTitle("en_US")?lower_case?contains("career") >
203 <#assign isCareer = true>
204
205 </#if>
206
207 <script>
208 $(".main-text__heading").text("${journalArticle.getTitle(locale)}");
209 $("#na-breadcrumb-active").text("${journalArticle.getTitle(locale)}");
210 </script>
211 <div class="container service-detail position-relative" artical="${journalArticle.getTitle()?lower_case?replace(" ", "-") }">
212 <#if isCareer >
213 <div class=" s-apply-now">
214 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn"> <@liferay.language key="submit-my-profile" /> </a>
215
216 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,"/check-available-jobs?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn ml-3"> <@liferay.language key="check-available-jobs" /> </a>
217 </div>
218 <#elseif isSupplierRegistration>
219 <#if supplierRegistrationStatus == 1>
220 <@liferay.language key="request-submitted-pending" />
221 <#elseif supplierRegistrationStatus == 2>
222 <@liferay.language key="request-submitted-progress" />
223 <#elseif supplierRegistrationStatus == 3>
224 <@liferay.language key="request-submitted-approved" />
225 <#elseif supplierRegistrationStatus == 4>
226 <div class="draft-saved d-flex justify-content-end">
227 <div>
228 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="update" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
229 </div>
230 </div>
231 <#elseif supplierRegistrationStatus == 5>
232 <div class="draft-saved d-flex justify-content-between">
233 <span>
234 <img src="/documents/${themeDisplay.getSiteGroupId()}/0/draftimg.svg/">
235 <@liferay.language key="draft-form-saved" />
236 </span>
237 <div>
238 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?action=delete&redirectURL=services-card-details?serviceid=${articleId}")}" class="na-delete-service"><@liferay.language key="delete-draft" /></a>
239 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="continue" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
240 </div>
241 </div>
242 <#elseif supplierRegistrationStatus == 6>
243 <div class="draft-saved d-flex justify-content-end">
244 <div>
245 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="update" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
246 </div>
247 </div>
248 <#elseif supplierRegistrationStatus == 7>
249 <@liferay.language key="request-submitted-rejected-blocked" />
250
251 <#else>
252 <div class=" s-apply-now">
253 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn">
254 <@liferay.language key="start-service" /> </a>
255 </div>
256 </#if>
257 <#else>
258 <#if saveOrDraft?? && saveOrDraft >
259 <div class="draft-saved d-flex justify-content-between">
260 <span> <img src="/documents/${themeDisplay.getSiteGroupId()}/0/draftimg.svg/"> <@liferay.language key="draft-form-saved" /></span>
261 <div>
262 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?action=delete&redirectURL=services-card-details?serviceid=${articleId}")}" class="na-delete-service"><@liferay.language key="delete-draft" /></a>
263 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="continue" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
264 </div>
265 </div>
266 <#else>
267 <div class=" s-apply-now">
268 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn">
269 <!--<img class="s-apply-img" src="/documents/${themeDisplay.getSiteGroupId()}/0/home-apply.svg" alt="" style=""> -->
270 <@liferay.language key="start-service" /> </a>
271 </div>
272 </#if>
273 </#if>
274 <#if Description?? && Description!="">
275 <section class="mt-4 w-75">
276 <div>
277 <h4 class="services-sub-headings d-t-tc others__heading"><@liferay.language key="service-definition" /></h4>
278 <p class="d-t-tc lib-text"> ${Description}</p>
279 </div>
280
281 </section>
282 </#if >
283 <#if ServiceProvider?? && ServiceProvider!="">
284 <section class="mt-4 w-75">
285 <h4 class="services-sub-headings d-t-tc others__heading"><@liferay.language key="service-provider" /></h4>
286 <p class="d-t-tc lib-text"> ${ServiceProvider}</p>
287 </section>
288 </#if >
289 <#if termsCondition?? && termsCondition!="">
290 <section class="mt-4 w-75">
291 <h4 class="services-sub-headings d-t-tc others__heading"><@liferay.language key="service-terms-and-conditions" /></h4>
292 <ol class="d-t-tc lib-text" >
293 ${termsCondition}
294 </ol>
295 </section>
296 </#if >
297 <#if serviceDetailsHeading?? && (serviceDetailsHeading?size > 0 ) >
298 <section class="mt-5 mb-4">
299 <div class="d-flex flex-wrap">
300 <#list serviceDetailsHeading as row>
301 <div class="d-flex service-detail-card align-items-center">
302 <div class="detail-img">
303 <span><img class="d-t-svg" src="${serviceDetailIconURL[row?index]}" alt="" style="height: 40px; width: 40px;" onerror="this.onerror=null;this.src='/o/national-archives-theme/images/main-logo.svg';">
304 </span>
305 </div>
306 <div class="detail-content">
307 <b class="d-t-tc ">${row}</b>
308 <p class="d-t-tc ">${serviceDetailDescription[row?index]}</p>
309 </div>
310 </div>
311 </#list>
312 </div>
313 </section>
314 </#if >
315 <#if specifications?? && (specifications?size > 0 ) >
316 <section class="mt-5 mb-4 specifications">
317 <h4 class="services-sub-headings d-t-tc others__heading"><@liferay.language key="specifications" /></h4>
318 <div class="d-flex flex-column">
319 <#list specifications as row>
320 <div class="d-flex service-detail-card">
321 <div class="detail-img">
322 <img class="d-t-svg" src="${specificationsIconURL[row?index]}" alt="" style="height: 60px; width: 60px;" onerror="this.onerror=null;this.src='/o/national-archives-theme/images/main-logo.svg';">
323 </div>
324 <div class="detail-content">
325 <b class="d-t-tc">${row}</b>
326 <#assign totalspecificationsDescription = specificationsDescription[row?index]?split(r'\s*,\s*', 'r') />
327 <#if ( totalspecificationsDescription?size > 1 )>
328 <ol>
329 <#list specificationsDescription[row?index]?split(r'\s*,\s*', 'r') as idString>
330 <li>${idString}</li>
331 </#list>
332 </ol>
333 <#else>
334 <#list specificationsDescription[row?index]?split(r'\s*,\s*', 'r') as idString>
335 ${idString}
336 </#list>
337 </#if>
338
339 </div>
340 </div>
341 </#list>
342 </div>
343 </section>
344 </#if>
345
346 <#if service_card_docs?? && (service_card_docs?size > 0) >
347 <#list service_card_docs as doc>
348 <#assign currentIndex = doc?index>
349 <section>
350 <div class="d-flex flex-row p-3 mb-4 sc-document">
351 <img class="d-t-svg" src="/documents/37247/0/pdf_icon.svg" alt="">
352 <div class="d-flex flex-column ml-3 justify-content-center">
353 <p class="mb-0 d-t-tc lib-text">${doc_names[currentIndex]}</p>
354 <p class="mb-0 d-t-tc lib-text">${last_updates[currentIndex]}</p>
355 <a target="_blank" class="na-primary-color" href="${doc}"><@liferay.language key="download" /></a>
356 </div>
357 </div>
358 </section>
359 </#list>
360 </#if>
361
362
363
364 <#if serviceStepCounter?? && (serviceStepCounter?size > 0)>
365 <section class="mt-5 mb-4">
366 <div class="hta-wrapper d-flex flex-column">
367 <h2 class="d-t-tc others__heading"><@liferay.language key="service-provision-procedures" /></h2>
368 <div class="d-flex mt-1 flex-column service-steps">
369 <#assign stepViewCounter = 1 />
370 <#list serviceStepCounter as row>
371
372 <#if row?has_content >
373 <div class="service-step" data-title="${row}" data-description="${stepDescription[row?index]}">
374 <span>
375 ${stepViewCounter}
376 </span>
377 <p>${stepDescription[row?index]}</p>
378 </div>
379 <#assign stepViewCounter = stepViewCounter+1 />
380 </#if>
381 </#list>
382
383 </div>
384 <div class="step-btn">
385 <#if isCareer >
386 <div class="sb-apply-now">
387 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn"> <@liferay.language key="submit-my-profile" /> </a>
388
389 <a onclick="return issigncheck();" href="/check-available-jobs?redirectURL=services-card-details?serviceid=${articleId}" class="na-primary-btn ml-3"> <@liferay.language key="check-available-jobs" /> </a>
390 </div>
391 <#elseif isSupplierRegistration>
392 <#if supplierRegistrationStatus == 1>
393 <@liferay.language key="request-submitted-pending" />
394 <#elseif supplierRegistrationStatus == 2>
395 <@liferay.language key="request-submitted-progress" />
396 <#elseif supplierRegistrationStatus == 3>
397 <@liferay.language key="request-submitted-approved" />
398 <#elseif supplierRegistrationStatus == 4>
399 <div class="draft-saved d-flex justify-content-end">
400 <div>
401 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="update" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
402 </div>
403 </div>
404 <#elseif supplierRegistrationStatus == 5>
405 <div class="draft-saved d-flex justify-content-between">
406 <span>
407 <img src="/documents/${themeDisplay.getSiteGroupId()}/0/draftimg.svg/">
408 <@liferay.language key="draft-form-saved" />
409 </span>
410 <div>
411 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?action=delete&redirectURL=services-card-details?serviceid=${articleId}")}" class="na-delete-service"><@liferay.language key="delete-draft" /></a>
412 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="continue" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
413 </div>
414 </div>
415 <#elseif supplierRegistrationStatus == 6>
416 <div class="draft-saved d-flex justify-content-end">
417 <div>
418 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="update" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
419 </div>
420 </div>
421 <#elseif supplierRegistrationStatus == 7>
422 <@liferay.language key="request-submitted-rejected-blocked" />
423
424 <#else>
425 <div class="sb-apply-now">
426 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn">
427 <@liferay.language key="start-service" /> </a>
428 </div>
429 </#if>
430 <#else>
431 <#if saveOrDraft?? && saveOrDraft >
432 <div class="draft-saved d-flex justify-content-between">
433 <span> <img src="/documents/${themeDisplay.getSiteGroupId()}/0/draftimg.svg/"> <@liferay.language key="draft-form-saved" /></span>
434 <div>
435 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?action=delete&redirectURL=services-card-details?serviceid=${articleId}")}" class="na-delete-service"><@liferay.language key="delete-draft" /></a>
436 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"redirectURL=services-card-details?serviceid=${articleId}")}" class="na-contine-service"><@liferay.language key="continue" /> <img class="d-t-svg" src="/documents/${themeDisplay.getSiteGroupId()}/0/submit-arrow.svg/"> </a>
437 </div>
438 </div>
439 <#else>
440 <div class="sb-apply-now">
441 <a onclick="return issigncheck();" href="${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}" class="na-primary-btn">
442 <!--<img class="s-apply-img" src="/documents/${themeDisplay.getSiteGroupId()}/0/home-apply.svg" alt="" style=""> -->
443 <@liferay.language key="start-service" /> </a>
444 </div>
445 </#if>
446 </#if>
447 </div>
448 </div>
449
450 </section>
451 </#if>
452
453 <section class="mt-5">
454 <div class="d-flex justify-content-between">
455 <div class="useful-content">
456 <p class="d-t-tc lib-text"><@liferay.language key="do-you-find-this-content-useful" /></p>
457
458 <div class="check-List">
459 <label for="yes" class="na-checkbox-container d-flex check-fnt mr-2" >
460 <input type="checkbox" id="yes" class="mr-2 " name="useful-content" onchange="addPageUseFull(1)" value="1"><@liferay.language key="yes" />
461 <span class="checkmark check-right"></span>
462 </label>
463
464 <label for="no" class="ml-2 na-checkbox-container d-flex check-fnt">
465 <input type="checkbox" id="no" class="mr-2 " name="useful-content" onchange="addPageUseFull(0)" value="0"><@liferay.language key="no" />
466 <span class="checkmark check-right"></span>
467 </label><br>
468 </div>
469 </div>
470 <div class="service-rating d-flex flex-column">
471 <p class="mb-1 d-t-tc lib-text"><@liferay.language key="rate-your-overall-experience" /></p>
472 <div class="rating_List ">
473 <fieldset class="pr-rating rating-box d-flex flex-row-reverse justify-content-between pb-1">
474
475 <input type="radio" id="star5" name="Page-rating" onchange="addPage()" value="5" /><label class = "full" for="star5" title="Awesome - 5 stars"></label>
476 <input type="radio" id="star4" name="Page-rating" onchange="addPage()" value="4" /><label class = "full" for="star4" title=" good - 4 stars"></label>
477 <input type="radio" id="star3" name="Page-rating" onchange="addPage()" value="3" /><label class = "full" for="star3" title="Avg"></label>
478 <input type="radio" id="star2" name="Page-rating" onchange="addPage()" value="2" /><label class = "full" for="star2" title=" bad - 2 stars"></label>
479 <input type="radio" id="star1" name="Page-rating" onchange="addPage()" value="1" /><label class = "full" for="star1" title="Very-poor"></label>
480 </fieldset>
481
482
483 </div>
484 <div class="rating_Section d-flex justify-content-between">
485 <span class="d-t-tc lib-text"><@liferay.language key="bad" /></span>
486 <span class="d-t-tc lib-text" ><@liferay.language key="excellent" /></span>
487 </div>
488 </div>
489 </div>
490 </section>
491
492 <script>
493
494 function addPage(){
495 var rate_Star = $("input[name=Page-rating]:checked").val();
496 var pageId = themeDisplay.getLayoutId();
497 console.log(rate_Star);
498 addPageRating(pageId,rate_Star,${articleId},"${articleName}");
499 }
500
501 function addPageUseFull(yesRno){
502 if(yesRno == 1){
503 var pageId = themeDisplay.getLayoutId();
504 console.log("if 1 "+yesRno);
505 addPageUseFullContent(pageId,yesRno,"","",${articleId},"${articleName}");
506 }
507 if(yesRno == 0){
508 $("[id$='puf-serviceId']").val(${articleId});
509 $("[id$='puf-serviceName']").val("${articleName}");
510 if($("#no:checked").val() == 0){
511 console.log("if 0 "+yesRno);
512 $("#pageUseFullPopup").modal({});
513 }
514 }
515
516 }
517 </script>
518
519 <#if (serviceStepCounter?size > 5)>
520 <style>
521 .hta-scroll-List{
522 overflow-x: auto;
523 height: 171px;
524 align-items: center;
525 justify-content: flex-start !important;
526 }
527 </style>
528 </#if>
529 <style>
530 @import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);
531 .na-checkbox-container.check-fnt{
532 font-size: 14px;
533 padding-left: 25px ;
534 }
535 .step-btn{
536 position: relative;
537 display: flex;
538 justify-content: flex-end;
539 }
540 #stepPopup {
541 max-height: 250px;
542 text-align: center;
543 padding: 25px 30px 10px !important;
544 width: 500px;
545 border-radius: 25px;
546 height: auto;
547 overflow: visible;
548 }
549 .na-checkbox-container .check-right::after{
550 width: 4px !important;
551 height: 11px!important;
552 }
553 .rating-box{
554 margin: 0px !important;
555 box-shadow: none !important;
556 padding:0px !important;
557 }
558
559 .check-List label.na-checkbox-container{
560 color: #000;
561 }
562
563 .pr-rating {
564 border: none;
565 float: left;
566 }
567
568 .pr-rating > input { display: none; }
569 .pr-rating > label:before {
570 margin: 5px;
571 font-size: 1.25em;
572 font-family: FontAwesome;
573 display: inline-block;
574 content: "\f005";
575 }
576
577 .pr-rating > label {
578 color: #ddd;
579 float: right;
580 }
581
582 /***** CSS Magic to Highlight Stars on Hover *****/
583
584 .pr-rating > input:checked ~ label, /* show gold star when clicked */
585 .pr-rating:not(:checked) > label:hover, /* hover current star */
586 .pr-rating:not(:checked) > label:hover ~ label { color: #75020e; } /* hover previous stars in list */
587
588 .pr-rating > input:checked + label:hover, /* hover current star when changing rating */
589 .pr-rating > input:checked ~ label:hover,
590 .pr-rating > label:hover ~ input:checked ~ label, /* lighten current selection */
591 .pr-rating > input:checked ~ label:hover ~ label { color: #ddd; }
592
593 .check-List{
594 display: flex;
595 }
596
597 .s-apply-now {
598 position: absolute;
599 right: 0;
600 top: -15px;
601 }
602 .rtl .s-apply-now {
603 left: 0;
604 right: auto !important;
605 }
606 .rtl .na-checkbox-container.check-fnt{
607 padding-left: 0px;
608 }
609 .rtl .nat-arc .na-checkbox-container{
610 padding-right: 27px;
611 }
612 .s-apply-now img{
613 height: 25px;
614 width: 25px;
615 margin: 5px 15px 10px 0px;
616
617 }
618 .rtl .s-apply-now img{
619 margin: 5px 0px 10px 15px;
620 }
621 .na-contine-service{
622 color: #75020E !important;
623 }
624 .na-delete-service{
625 color: #0b5fff !important;
626 padding: 0px 10px;
627 }
628 .na-discard-service{
629 color: #383838 !important;
630 }
631 html[dir="ltr"] .na-contine-service img{
632 transform: rotate(180deg);
633 }
634 .services-sub-headings{
635 color: #231F20;
636 font-weight: 600;
637 margin: 10px 0 !important;
638 }
639 .sc-document{
640 border: 1px solid #D1D3D4;
641 border-radius: 10px;
642 }
643 .service-detail-card {
644 width: 30%;
645 margin-bottom: 25px;
646 color: #383838d6;
647 }
648 .service-detail {
649 color: #383838d6;
650 }
651
652 .service-detail ol{
653 padding-left: 25px;
654 padding-right: 25px;
655
656 }
657 .specifications .service-detail-card .detail-img {
658 height: 80px;
659 }
660 .specifications .service-detail-card .detail-content {
661 padding: 0px 0 10px;
662 }
663 .service-detail-card .detail-img {
664 background: #bdbdbd36;
665 border-radius: 18px;
666 padding: 10px;
667
668 }
669 .detail-content{
670 display: flex;
671 flex-direction: column;
672 justify-content: space-between;
673 padding: 10px 0;
674 margin: 0 25px;
675 }
676 .detail-content b{
677 font-weight: 500;
678 color: #0D0D0D;
679 font-size: 16px;
680 }
681 .detail-content p{
682 color: #8A8A8D;
683 font-weight: normal;
684 font-size: 14px;
685 margin-bottom: 0px;
686 }
687 .hta-wrapper{
688 padding: 25px;
689 background: #F2F2F2;
690
691 }
692 .hta-wrapper h2{
693 color: #0D0D0D;
694 font-size: 18px;
695 font-weight: 600;
696 }
697
698 .hta-wrapper .progressbar{
699 position: relative;
700 margin-right: 85px;
701 z-index: 1;
702 }
703 .rtl .hta-wrapper .progressbar:first-child{
704 margin-right: 0px;
705 }
706 .hta-wrapper .progressbar:first-child:nth-last-child(1){
707 margin-right: 0px;
708
709 }
710 .hta-wrapper .progressbar span{
711 background-color: #fff;
712 padding: 29px 22px;
713 border-radius: 50%;
714 border: 1px solid #CFCFCF;
715 }
716 .hta-wrapper .progressbar img{
717 width: 40px;
718 height: 40px;
719 }
720 .hta-wrapper .progressbar p{
721 margin-bottom: 0;
722 margin-top: 35px;
723 color: #8A8A8D;
724 text-align: center;
725 }
726 .hta-wrapper .progressbar p:last-child a{
727 color: #383838;
728 }
729 .rtl .progressbar:before {
730 right: 100%;
731 }
732
733 .progressbar:before {
734 content: '';
735 background: gray;
736 width: 100px;
737 position: absolute;
738 top: 20%;
739 left: 100%;
740 height: 3px;
741 z-index: 2;
742 }
743 .progressbar:last-child:before {
744 content: '';
745 background: gray;
746 width: 100px;
747 position: absolute;
748 top: 20%;
749 left: 100%;
750 height: 0px;
751 }
752 .draft-saved{
753 background: #F2F2F2;
754 padding: 10px;
755 border-radius: 15px;
756 }
757 .service-step {
758 display: flex;
759 margin-bottom: 20px;
760 align-items: center;
761 color: #1D1D1B;
762 }
763 .service-step span {
764 background: #C4C4C4;
765 padding: 10px 16px;
766 border-radius: 100%;
767 margin-right: 25px;
768 }
769 .rtl .service-step span {
770 margin-right: 0;
771 margin-left: 25px;
772 }
773 .service-step p {
774 margin-bottom: 0px;
775 }
776 .step-btn .draft-saved {
777 background: #cacaca;
778 width: 100%;
779 }
780 @media only screen and (max-width: 768px){
781 .sb-apply-now {
782 position: relative !important;
783 display: flex !important;
784 flex-direction: column !important;
785 }
786 .sb-apply-now a {
787 margin: 10px 0 !important;
788 }
789 }
790 </style>
791 </div>
792 </#if>
793 <script>
794 var isSignedIn = "${themeDisplay.isSignedIn()?string('yes', 'no')}";
795 function issigncheck(){
796 if(isSignedIn == "no"){
797 if (confirm('<@liferay.language key="need-to-login-to-apply-this-service-are-you-need-to-login" />')){
798 window.location.replace("/login?redirect=${portalUtil.addPreservedParameters(themeDisplay,linkToSubmitURL+"?redirectURL=services-card-details?serviceid=${articleId}")}");
799 } return false;
800 }
801 return true;
802 }
803 </script>
804</#if>
هل لديك أي أسئلة؟
إذا كان لديك أي استفسار ، قم بزيارة الأسئلة الشائعة التي تمت الإجابة عنها