در حین انجام عملیات خطایی رخ داده است.
The following has evaluated to null or missing:
==> curUniversityProgram  [in template "20097#20123#3633486" at line 434, column 162]

----
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: @liferay_portlet.param name="universi...  [in template "20097#20123#3633486" at line 434, column 105]
	- Reached through: @portlet.renderURL var="nextPage"  [in template "20097#20123#3633486" at line 433, column 33]
----
1<style> 
2	.edu-list-portlet-wrapper { 
3		font-family: 'KalamehWebFaNum_Bold'; 
4		background: #F7F7F7; 
5
6	.edu-list-portlet-wrapper .edu-list-portlet-header .container { 
7		padding-top: 80px; 
8		padding-bottom: 170px; 
9
10	.edu-list-portlet-wrapper .edu-list-portlet-header h1.head { 
11		color: #fff; 
12		text-align: center; 
13
14	.edu-list-portlet-wrapper .edu-list-portlet-header .filter { 
15		justify-content: center; 
16
17	.edu-list-portlet-wrapper .edu-list-portlet-header .filter .input.dropdown { 
18		background: #ffc000; 
19		padding: 0 30px !important; 
20
21	.edu-list-portlet-wrapper .edu-list-portlet-header .filter .input{ 
22		background: #FFFFFF; 
23		border-radius: 25px; 
24
25	.edu-list-portlet-wrapper .edu-list-portlet-header button.button.input { 
26		background: transparent; 
27		color: #064096; 
28		margin-right: -55px; 
29		padding: 8px; 
30
31	.edu-list-portlet-wrapper .edu-list-portlet-header .filter .input.button svg { 
32		fill: #223a70; 
33		margin-left: 0; 
34
35	.edu-list-portlet-wrapper .edu-list-portlet-header { 
36		background-image: url('/documents/20123/3633508/faculty-list.png/a4c0deb3-c68f-52fa-dbb7-3316c8eee431?version=1.0&t=1652970401030'); 
37		background-repeat: no-repeat; 
38		background-size: cover; 
39		position: relative; 
40
41	.edu-list-portlet-wrapper .edu-list-portlet-header:before { 
42		content: ""; 
43		position: absolute; 
44		width: 100%; 
45		height: 100%; 
46		background: linear-gradient(90.05deg, rgba(32, 86, 173, 0.8) 1.32%, rgba(53, 85, 173, 0.8) 16%, rgba(74, 84, 174, 0.8) 27.65%, rgba(95, 83, 174, 0.8) 40.31%, rgba(97, 66, 164, 0.8) 56.01%, rgba(100, 50, 154, 0.8) 74.75%, rgba(103, 34, 144, 0.8) 98.56%); 
47
48	.edu-list-portlet-wrapper .users .item { 
49		background: #FFFFFF; 
50		box-shadow: 0px 5px 25px rgb(0 0 0 / 15%); 
51		border-radius: 8px; 
52		margin-bottom: 70px; 
53
54	.edu-list-portlet-wrapper .users .item .image { 
55		background: #FFFFFF; 
56		box-shadow: 0px 5px 25px rgb(0 0 0 / 15%); 
57		border-radius: 8px; 
58		margin-right: 24px; 
59		margin-top: -75px; 
60
61	.edu-list-portlet-wrapper .users .item .content .title { 
62		font-weight: 700; 
63		font-size: 18px; 
64		line-height: 27px; 
65		color: #726E6E; 
66
67	.edu-list-portlet-wrapper .users .item .content .text { 
68		color: #4e4a67; 
69		margin-bottom: 20px; 
70		line-height: 1.5em; 
71		font-family: 'KalamehWebFaNum'; 
72
73	.edu-list-portlet-wrapper .pagination .page-item.active .page-link { 
74		background: #ffc000; 
75		color: #223a70; 
76
77</style> 
78<#assign 
79UniversityPersonLocalService = serviceLocator.findService("ir.sain.university.people.service.UniversityPersonLocalService") 
80UniversityProgramLocalService = serviceLocator.findService("ir.sain.university.service.UniversityProgramLocalService") 
81UniversityFacultyUniversityProgramRelLocalService = serviceLocator.findService("ir.sain.university.people.service.UniversityFacultyUniversityProgramRelLocalService") 
82 
83/> 
84<@portlet.actionURL 
85	name="/faculty_list/faculty_action" 
86	var="facultySearchURL" 
87
88	<@liferay_portlet.param 
89	name="cmd" 
90	value="search" 
91	/> 
92</@> 
93 
94<!-- Start EDU List Portlet --> 
95 
96<main class="edu-list-portlet-wrapper"> 
97	<div class="edu-list-portlet-header"> 
98		<div class="container"> 
99			<div class="row"> 
100				<#if universityDepartment?has_content> 
101					<h1 class="col-12 head">${languageUtil.get(resourceBundle,"elmi")} 
102						<#if sizeDepartments gt 1> 
103							<div class="dropdown input m-0" data-dropdown="" style=" display: inline-block;"> 
104								<button class="dropbtn" data-dropdown-btn="" style="padding: 0.2em 0.4em;"> 
105									<svg style="top: -2px;height: 1.1em;" viewBox="0 0 26 26"> 
106																<path d="M 7.984375 1 C 7.722656 1.003906 7.476563 1.109375 7.292969 1.292969 L 3.292969 5.292969 C 3.03125 5.542969 2.925781 5.917969 3.019531 6.265625 C 3.109375 6.617188 3.382813 6.890625 3.734375 6.980469 C 4.082031 7.074219 4.457031 6.96875 4.707031 6.707031 L 7 4.414063 L 7 17 L 9 17 L 9 4.414063 L 11.292969 6.707031 C 11.542969 6.96875 11.917969 7.074219 12.265625 6.980469 C 12.617188 6.890625 12.890625 6.617188 12.980469 6.265625 C 13.074219 5.917969 12.96875 5.542969 12.707031 5.292969 L 8.707031 1.292969 C 8.515625 1.101563 8.253906 0.996094 7.984375 1 Z M 17 1 L 17 3 L 19 3 L 19 1 Z M 17 5 L 17 7 L 19 7 L 19 5 Z M 17 9 L 17 21.585938 L 14.707031 19.292969 C 14.519531 19.097656 14.261719 18.992188 13.988281 18.988281 C 13.582031 18.992188 13.21875 19.238281 13.0625 19.613281 C 12.910156 19.992188 13 20.421875 13.292969 20.707031 L 17.292969 24.707031 C 17.683594 25.097656 18.316406 25.097656 18.707031 24.707031 L 22.707031 20.707031 C 22.96875 20.457031 23.074219 20.082031 22.980469 19.734375 C 22.890625 19.382813 22.617188 19.109375 22.265625 19.019531 C 21.917969 18.925781 21.542969 19.03125 21.292969 19.292969 L 19 21.585938 L 19 9 Z M 7 19 L 7 21 L 9 21 L 9 19 Z M 7 23 L 7 25 L 9 25 L 9 23 Z"></path> 
107															</svg> 
108								</button> 
109 
110								<div class="dropdown-content" style="font-size: 0.5em;"> 
111									<svg style="left: 0.5em;top: 0.4em;" viewBox="0 0 30 30"> 
112											<path d="M 13 3 C 7.4889971 3 3 7.4889971 3 13 C 3 18.511003 7.4889971 23 13 23 C 15.396508 23 17.597385 22.148986 19.322266 20.736328 L 25.292969 26.707031 A 1.0001 1.0001 0 1 0 26.707031 25.292969 L 20.736328 19.322266 C 22.148986 17.597385 23 15.396508 23 13 C 23 7.4889971 18.511003 3 13 3 z M 13 5 C 17.430123 5 21 8.5698774 21 13 C 21 17.430123 17.430123 21 13 21 C 8.5698774 21 5 17.430123 5 13 C 5 8.5698774 8.5698774 5 13 5 z"></path> 
113										</svg> 
114 
115									<input 
116											type="text" 
117											placeholder="<@liferay.language key="search" /> ..." 
118											class="search-input" 
119											data-dropdown-search/> 
120									<#if universityDepartments?has_content> 
121 
122										<@portlet.renderURL var="departmentRenderURL"> 
123											<@liferay_portlet.param name="universityDepartmentId" value="0" /> 
124											<@liferay_portlet.param 
125												name="keywords" 
126												value="${keywords}" 
127											/> 
128										</@> 
129										<#list universityDepartments as universityDepartment> 
130											<@portlet.renderURL var="programRenderURL"> 
131												<@liferay_portlet.param name="universityDepartmentId" value=universityDepartment.getUniversityDepartmentId()?string /> 
132												<@liferay_portlet.param 
133													name="keywords" 
134													value="${keywords}" 
135												/> 
136											</@> 
137											<a href=${programRenderURL}> ${universityDepartment.getName(locale)} </a> 
138										</#list> 
139									</#if> 
140								</div> 
141							</div> 
142						</#if> 
143					</h1> 
144					<div class="col-12 filter"> 
145							<form 
146									action="${facultySearchURL}" 
147									method="post" 
148									name="<@portlet.namespace/>"> 
149								<input 
150										class="input" 
151										type="search" 
152										name="<@portlet.namespace/>keywords" 
153										value="<#if keywords?has_content>${keywords}</#if>" 
154										placeholder="${languageUtil.get(resourceBundle,"search-by-name")}"/> 
155								<input 
156										type="hidden" 
157										name="<@portlet.namespace/>universityDepartmentId" 
158										value="${universityDepartment.getUniversityDepartmentId()}"/> 
159								<input 
160										type="hidden" 
161										name="<@portlet.namespace/>universityProgramId" 
162										value="${curUniversityProgram}"/> 
163								<button class="button input"> 
164									<svg viewBox="0 0 30 30"> 
165										<path 
166												d="M 13 3 C 7.4889971 3 3 7.4889971 3 13 C 3 18.511003 7.4889971 23 13 23 C 15.396508 23 17.597385 22.148986 19.322266 20.736328 L 25.292969 26.707031 A 1.0001 1.0001 0 1 0 26.707031 25.292969 L 20.736328 19.322266 C 22.148986 17.597385 23 15.396508 23 13 C 23 7.4889971 18.511003 3 13 3 z M 13 5 C 17.430123 5 21 8.5698774 21 13 C 21 17.430123 17.430123 21 13 21 C 8.5698774 21 5 17.430123 5 13 C 5 8.5698774 8.5698774 5 13 5 z" 
167										></path> 
168									</svg> 
169								</button> 
170							</form> 
171 
172							<div 
173									class="m-3 hide">${languageUtil.get(resourceBundle,"programs")}: 
174							</div> 
175 
176							<div class="input dropdown m-0" data-dropdown> 
177								<button 
178										class="dropbtn" 
179										data-dropdown-btn> 
180									<svg viewBox="0 0 26 26"> 
181										<path 
182												d="M 7.984375 1 C 7.722656 1.003906 7.476563 1.109375 7.292969 1.292969 L 3.292969 5.292969 C 3.03125 5.542969 2.925781 5.917969 3.019531 6.265625 C 3.109375 6.617188 3.382813 6.890625 3.734375 6.980469 C 4.082031 7.074219 4.457031 6.96875 4.707031 6.707031 L 7 4.414063 L 7 17 L 9 17 L 9 4.414063 L 11.292969 6.707031 C 11.542969 6.96875 11.917969 7.074219 12.265625 6.980469 C 12.617188 6.890625 12.890625 6.617188 12.980469 6.265625 C 13.074219 5.917969 12.96875 5.542969 12.707031 5.292969 L 8.707031 1.292969 C 8.515625 1.101563 8.253906 0.996094 7.984375 1 Z M 17 1 L 17 3 L 19 3 L 19 1 Z M 17 5 L 17 7 L 19 7 L 19 5 Z M 17 9 L 17 21.585938 L 14.707031 19.292969 C 14.519531 19.097656 14.261719 18.992188 13.988281 18.988281 C 13.582031 18.992188 13.21875 19.238281 13.0625 19.613281 C 12.910156 19.992188 13 20.421875 13.292969 20.707031 L 17.292969 24.707031 C 17.683594 25.097656 18.316406 25.097656 18.707031 24.707031 L 22.707031 20.707031 C 22.96875 20.457031 23.074219 20.082031 22.980469 19.734375 C 22.890625 19.382813 22.617188 19.109375 22.265625 19.019531 C 21.917969 18.925781 21.542969 19.03125 21.292969 19.292969 L 19 21.585938 L 19 9 Z M 7 19 L 7 21 L 9 21 L 9 19 Z M 7 23 L 7 25 L 9 25 L 9 23 Z" 
183										></path> 
184									</svg> 
185									<#if curUniversityProgram gt 0> 
186										<#assign 
187										uProgram = UniversityProgramLocalService.getUniversityProgram(curUniversityProgram) 
188										/> 
189										<#if uProgram?has_content> 
190											${uProgram.getName(locale)} 
191										</#if> 
192									<#else> 
193										<@liferay.language key="all" /> 
194									</#if> 
195								</button> 
196 
197								<div class="dropdown-content"> 
198									<svg viewBox="0 0 30 30"> 
199										<path 
200												d="M 13 3 C 7.4889971 3 3 7.4889971 3 13 C 3 18.511003 7.4889971 23 13 23 C 15.396508 23 17.597385 22.148986 19.322266 20.736328 L 25.292969 26.707031 A 1.0001 1.0001 0 1 0 26.707031 25.292969 L 20.736328 19.322266 C 22.148986 17.597385 23 15.396508 23 13 C 23 7.4889971 18.511003 3 13 3 z M 13 5 C 17.430123 5 21 8.5698774 21 13 C 21 17.430123 17.430123 21 13 21 C 8.5698774 21 5 17.430123 5 13 C 5 8.5698774 8.5698774 5 13 5 z" 
201										></path> 
202									</svg> 
203 
204									<input 
205											type="text" 
206											placeholder="<@liferay.language key="search" /> ..." 
207											class="search-input" 
208											data-dropdown-search/> 
209									<#if universityPrograms?has_content> 
210 
211										<@portlet.renderURL var="programRenderURL"> 
212											<@liferay_portlet.param name="universityProgramId" value="0" /> 
213											<@liferay_portlet.param 
214												name="keywords" 
215												value="${keywords}" 
216											/> 
217										</@> 
218										<a href=${programRenderURL}> ${languageUtil.get(resourceBundle,"all")} </a> 
219 
220										<#list universityPrograms as universityProgram> 
221											<@portlet.renderURL var="programRenderURL"> 
222												<@liferay_portlet.param name="universityProgramId" value=universityProgram.getUniversityProgramId()?string /> 
223												<@liferay_portlet.param 
224													name="keywords" 
225													value="${keywords}" 
226												/> 
227											</@> 
228											<a href=${programRenderURL}> ${universityProgram.getName(locale)} </a> 
229										</#list> 
230									</#if> 
231								</div> 
232							</div> 
233					</div> 
234				</#if> 
235			</div> 
236		</div> 
237	</div> 
238	<div class="container" style="margin-top: -70px"> 
239		<#if universityFaculties?has_content> 
240			<div class="row users"> 
241				<#list universityFaculties as universityFaculty> 
242					<#assign 
243					universityPerson = UniversityPersonLocalService.getUniversityPerson(universityFaculty.getUniversityPersonId()) 
244					universityFacultyProgram = UniversityFacultyUniversityProgramRelLocalService.getUniversityFacultyUniversityProgramRelByUniversityFacultyId(universityFaculty.getUniversityFacultyId(), -1, -1, null)[0] 
245					universityProgram = UniversityProgramLocalService.getUniversityProgram(universityFacultyProgram.getUniversityProgramId()) 
246					a=emailAddress.getEmailAddresses(companyId,nameFaculty,universityFaculty.getUniversityFacultyId()) 
247 
248					/> 
249 
250					<div class="col-md-6 col-xl-4"> 
251						<div class="item"> 
252							<a href="${portletDisplayContext.getUniversityFacultyProfileURL(universityFaculty.getUniversityFacultyId())}"> 
253								<div class="image"> 
254									<@portlet.resourceURL 
255										id="/person/image" 
256										var="imageResourceURL" 
257
258										<@liferay_portlet.param name="universityPersonImageId" value=universityPerson.getImageId()?string /> 
259									</@> 
260									<#if universityPerson.getImageId() gt 0> 
261										<img 
262												class="img" 
263												alt="${universityPerson.getFirstName(locale)} ${universityPerson.getLastName(locale)}" 
264												src="${imageResourceURL}"/> 
265									<#else> 
266										<#if universityPerson.getMale()> 
267											<img 
268													class="img" 
269													alt="${universityPerson.getFirstName(locale)} ${universityPerson.getLastName(locale)}" 
270													src="/o/ir.sain.university.people/images/male.jpg"/> 
271										<#else> 
272											<img 
273													class="img" 
274													alt="${universityPerson.getFirstName(locale)} ${universityPerson.getLastName(locale)}" 
275													src="/o/ir.sain.university.people/images/female.jpeg"/> 
276										</#if> 
277									</#if> 
278								</div> 
279 
280								<div class="content"> 
281									<#if universityFaculty.getDegree() gt -1> 
282										<#switch universityFaculty.getDegree()> 
283											<#case 0> 
284												<span class="code">${languageUtil.get(resourceBundle,"prof")}</span> 
285												<#break> 
286											<#case 1> 
287												<span class="code">${languageUtil.get(resourceBundle,"assprof")}</span> 
288												<#break> 
289											<#case 2> 
290												<span class="code">${languageUtil.get(resourceBundle,"assknow")}</span> 
291												<#break> 
292											<#case 3> 
293												<span class="code">${languageUtil.get(resourceBundle,"coach")}</span> 
294												<#break> 
295											<#case 5> 
296												<span class="code">${languageUtil.get(resourceBundle,"trainer")}</span> 
297												<#break> 
298										</#switch> 
299									</#if> 
300									<div class="title">${universityPerson.getFirstName(locale)} ${universityPerson.getLastName(locale)}</div> 
301									<div class="text"> 
302										${universityProgram.getName(locale)} 
303									</div> 
304								</div> 
305							</a> 
306 
307							<div class="social"> 
308 
309								<#if a?has_content> 
310									<#list a as t> 
311 
312										<#if t?has_content> 
313											<#assign 
314											tm=t.getAddress() 
315											lines = stringUtil.split(tm, "@") 
316											email="" 
317											prex="" 
318											i=0 
319											/> 
320											<#list lines as curLine> 
321 
322												<#if i==0> 
323													<#assign email = curLine /> 
324												<#else> 
325													<#assign prex = curLine /> 
326												</#if> 
327												<#assign 
328												i++ 
329												/> 
330											</#list> 
331											<a 
332													class="email" 
333													data-email="${email}" 
334													data-prefix="${prex}"> 
335												<svg> 
336													<use xlink:href="#email" /> 
337												</svg> 
338											</a> 
339										</#if> 
340									</#list> 
341								</#if> 
342							</div> 
343						</div> 
344					</div> 
345				</#list> 
346			</div> 
347		</#if> 
348 
349		<#if currentNumberPage?has_content> 
350			<div class="text-center"> 
351				<ul class="justify-content-center pagination"> 
352								<#if currentNumberPage gte 2> 
353				<li class="page-item"> 
354				<@portlet.renderURL var="before"> 
355												<@liferay_portlet.param name="universityProgramId" value=curUniversityProgram?string /> 
356												<#if keywords?has_content> 
357													<@liferay_portlet.param 
358														name="keywords" 
359														value="${keywords}" 
360													/> 
361												</#if> 
362												<@liferay_portlet.param 
363													name="currentNumberPage" 
364													value=(currentNumberPage - 1)?string 
365												/> 
366											</@> 
367											<a 
368													class="page-link" 
369													href="${before}" 
370											>${languageUtil.get(resourceBundle,"before")}</a> 
371										</li> 
372 
373									<#else> 
374				<li class="disabled page-item"> 
375											<a 
376													class="page-link" 
377													href="#" 
378													tabindex="-1" 
379													aria-disabled="true">${languageUtil.get(resourceBundle,"before")}</a> 
380										</li> 
381									</#if> 
382									<#if currentNumberPage gt 2> 
383				<li class="page-item"> 
384				<@portlet.renderURL var="first"> 
385												<@liferay_portlet.param name="universityProgramId" value=curUniversityProgram?string /> 
386												<#if keywords?has_content> 
387													<@liferay_portlet.param 
388														name="keywords" 
389														value="${keywords}" 
390													/> 
391												</#if> 
392												<@liferay_portlet.param 
393													name="currentNumberPage" 
394													value=(1)?string 
395												/> 
396											</@> 
397											<a 
398													class="page-link" 
399													href="${first}" 
400											>1</a> 
401										</li> 
402									</#if> 
403									<#if currentNumberPage-1 gt 2> 
404				<li class="page-item"> 
405											<a 
406													class="page-link">...</a> 
407										</li> 
408									</#if> 
409 
410									<#if (currentNumberPage - 1) gt 0> 
411				<li class="page-item"> 
412				<@portlet.renderURL var="prePage"> 
413												<@liferay_portlet.param name="currentNumberPage" value=(currentNumberPage - 1)?string /> 
414												<@liferay_portlet.param 
415													name="universityProgramId" 
416													value=curUniversityProgram?string 
417												/> 
418											</@> 
419											<a 
420													class="page-link" 
421													href="${prePage}">${currentNumberPage - 1}</a> 
422										</li> 
423									</#if> 
424				<li class="active page-item"> 
425										<a 
426												class="page-link" 
427												href="#">${currentNumberPage}</a> 
428									</li> 
429 
430									<#if allPages gt currentNumberPage> 
431										<#if currentNumberPage+1 lt allPages> 
432				<li class="page-item"> 
433				<@portlet.renderURL var="nextPage"> 
434													<@liferay_portlet.param name="universityProgramId" value=curUniversityProgram?string /> 
435													<@liferay_portlet.param 
436														name="currentNumberPage" 
437														value=(currentNumberPage + 1)?string 
438													/> 
439												</@> 
440												<a 
441														class="page-link" 
442														href="${nextPage}">${currentNumberPage + 1}</a> 
443											</li> 
444										</#if> 
445									</#if> 
446									<#if allPages?has_content> 
447										<#if allPages-currentNumberPage gt 2> 
448				<li class="page-item"> 
449												<a class="page-link">...</a> 
450											</li> 
451										</#if> 
452									</#if> 
453									<#if allPages?has_content> 
454										<#if allPages gt currentNumberPage> 
455				<li class="page-item"> 
456				<@portlet.renderURL var="last"> 
457													<@liferay_portlet.param name="universityProgramId" value=curUniversityProgram?string /> 
458													<#if keywords?has_content> 
459														<@liferay_portlet.param 
460															name="keywords" 
461															value="${keywords}" 
462														/> 
463													</#if> 
464													<@liferay_portlet.param 
465														name="currentNumberPage" 
466														value=(allPages)?string 
467													/> 
468												</@> 
469												<a 
470														class="page-link" 
471														href="${last}">${allPages}</a> 
472											</li> 
473										</#if> 
474									</#if> 
475									<#if lastPage gt currentNumberPage> 
476				<li class="page-item"> 
477				<@portlet.renderURL var="after"> 
478												<@liferay_portlet.param name="universityProgramId" value=curUniversityProgram?string /> 
479												<#if keywords?has_content> 
480													<@liferay_portlet.param 
481														name="keywords" 
482														value="${keywords}" 
483													/> 
484												</#if> 
485												<@liferay_portlet.param 
486													name="currentNumberPage" 
487													value=(currentNumberPage + 1)?string 
488												/> 
489											</@> 
490											<a 
491													class="page-link" 
492													href="${after}">${languageUtil.get(resourceBundle,"next")}</a> 
493										</li> 
494									<#else> 
495				<li class="disabled page-item"> 
496										<a 
497												class="page-link" 
498												href="#" 
499												tabindex="-1" 
500												aria-disabled="true">${languageUtil.get(resourceBundle,"next")}</a> 
501									</li> 
502								</#if> 
503			</ul> 
504			</div> 
505		</#if> 
506	</div> 
507</main> 
508 
509<!--/ End EDU List Portlet -->