Changes for page Spotlight

From version 11.2
edited by Andrea Omicini
on 20/07/2023 00:18
Change comment: There is no comment for this version
To version 13.1
edited by Andrea Omicini
on 20/07/2023 09:42
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +$services.localization.render('spotlight')
Content
... ... @@ -1,51 +1,73 @@
1 -= {{italiano}}Spotlight{{/italiano}}{{english}}Spotlight{{/english}} =
2 -
3 -{{include reference="Courses.Environment" excludeFirstHeading="true"/}}{{velocity}}
4 -#set( $courseMenu = true )
5 -## $spotCourseNo has to be an integer
6 -#if( $spotCourseNo )
7 - #set( $spotCourseNo = $util.parseInt($spotCourseNo) )
8 -#end
9 -## user or general spotlight?
10 -#if( !$userName || $userName == "" || !$userSpace || $userSpace == "" || !$userFullname || $userFullname == "" )
11 -#### START GENERAL SHOWCASE
12 - #if( $spotCourseNo && $spotCourseNo > 0 )
13 - #set ($sql = ", BaseObject as obj, StringProperty as prop
14 - where obj.name = doc.fullName and obj.className = '${objectSpace}.${objectClass}' and obj.name <> '${objectSpace}.${objectTemplate}' and prop.id.id = obj.id and prop.name = 'ay' order by prop.value desc")
15 - #set( $courseFound = $xwiki.searchDocuments($sql) )
16 - #set( $courseFoundNo = $courseFound.size() )
17 - #if( $courseFoundNo > 0 )
18 - #if( $courseFoundNo > $spotCourseNo )
19 - #set( $n = $spotCourseNo - 1 )
20 - #else
21 - #set( $n = $courseFoundNo - 1 )
1 +{{velocity}}
2 +{{html clean="false" wiki="true"}}
3 +#template('apice_macros.vm')
4 +#objectspace()
5 +#nolangpar()
6 +#template('apice_course_macros.vm')
7 +#isuserspace()
8 +#if( $isUserSpace )
9 + #setobjectsubspace("Courses","Personal")
10 + #userspace()
11 +## user space variables
12 + #set( $query = ", BaseObject as objPersonalCourse, LargeStringProperty as propUser
13 + where objPersonalCourse.name = doc.fullName and objPersonalCourse.className = '${objectSpace}.Class' and propUser.id.id = objPersonalCourse.id and propUser.name = 'user' and propUser.value = '$userName' " )
14 + #set( $personalCourseDocs = $xwiki.searchDocuments($query) )
15 + #if( $personalCourseDocs.size() > 0 )
16 + #set( $personalCourseDoc = $xwiki.getDocument($personalCourseDocs[0]) )
17 + #else
18 + #stop
19 + #end
20 + #if( $personalCourseDoc.spotNo && $personalCourseDoc.spotNo != "" )
21 + #set( $spotCourseNo = $personalCourseDoc.spotNo )
22 + #end
23 +## USER SPOTLIGHT / START
24 + #if( $personalCourseDoc.getValue('spotList').size() > 0 )
25 + <table width="100%"><tr class='borderhalfbottom'>
26 + #foreach( $item in $personalCourseDoc.getValue('spotList') )
27 + #if( $foreach.count <= $maxCourseSpot )
28 + <td>{{course linked='title'}}$item{{/course}}</span></td>
22 22   #end
23 -(% style='border-style:hidden solid solid hidden; border-color:$theme.borderColor' %)#foreach( $i in [0..$n] )|{{course linked='title'}}$courseFound.get($i){{/course}}#end(%%)
24 24   #end
25 - #end
26 -#### END GENERAL SPOTLIGHT
27 -#else
28 -#### START USER SPOTLIGHT
29 -##
30 - #if( $spotCourses && $spotCourses != [] )
31 -(% style='border-style:hidden solid solid hidden; border-color:$theme.borderColor' %)#foreach( $course in $spotCourses )#if( ( $xwiki.exists("${objectSpace}.$course") || $xwiki.exists("${objectSpace}.${course}.WebHome") ) && ( $foreach.count <= $maxCourseSpot ) )|{{course linked='title'}}$course{{/course}}#end#end(%%)
31 + </tr></table>
32 32   #elseif( $spotCourseNo && $spotCourseNo > 0 )
33 33   #if( $spotCourseNo > $maxCourseSpot )
34 34   #set( $spotCourseNo = $maxCourseSpot )
35 35   #end
36 - #set ($sql = ", BaseObject as obj, StringProperty as prop0, LargeStringProperty as prop1
37 - where obj.name = doc.fullName and obj.className = '${objectSpace}.${objectClass}' and obj.name <> '${objectSpace}.${objectTemplate}' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop0.name = 'ay' and prop1.name = 'professor' and prop1.value like '%$userName%' order by prop0.value desc")
38 - #set( $courseFound = $xwiki.searchDocuments($sql) )
39 - #set( $courseFoundNo = $courseFound.size() )
40 - #if( $courseFoundNo > 0 )
41 - #if( $courseFoundNo > $spotCourseNo )
42 - #set( $n = $spotCourseNo - 1 )
43 - #else
44 - #set( $n = $courseFoundNo - 1 )
36 + #set( $query = ", BaseObject as objCourse, StringProperty as propYear, LargeStringProperty as propUser
37 + where objCourse.name = doc.fullName and objCourse.className = '${mainSpace}.Class' and propYear.id.id = objCourse.id and propYear.name = 'ay' and propUser.id.id = objCourse.id and propUser.name = 'professor' and propUser.value like '%$userName%' order by propYear.value desc " )
38 + #set( $itemFound = $xwiki.searchDocuments($query) )
39 + #set( $itemFoundNo = $itemFound.size() )
40 + #if( $itemFoundNo > 0 )
41 + <table width="100%"><tr class='borderhalfbottom'>
42 + #foreach( $item in $itemFound )
43 + #if( $foreach.count > $spotCourseNo )
44 + #break
45 + #end
46 + <td>{{course linked='title'}}$item{{/course}}</span></td>
45 45   #end
46 -(% style='border-style:hidden solid solid hidden; border-color:$theme.borderColor' %)#foreach( $i in [0..$n] )|{{course linked='title'}}$courseFound.get($i){{/course}}#end(%%)
48 + </tr></table>
47 47   #end
48 48   #end
49 49  #### END USER SPOTLIGHT
52 +#else
53 +#### START GENERAL SPOTLIGHT
54 + #if( $spotCourseNo && $spotCourseNo > 0 )
55 + #set( $query = ", BaseObject as objCourse, StringProperty as propYear
56 + where objCourse.name = doc.fullName and objCourse.className = '${mainSpace}.Class' and objCourse.name <> '${objectPool}.Template' and propYear.id.id = objCourse.id and propYear.name = 'ay' order by propYear.value desc" )
57 + #set( $itemFound = $xwiki.searchDocuments($query) )
58 + #set( $itemFoundNo = $itemFound.size() )
59 + #if( $itemFoundNo > 0 )
60 + <table width="100%"><tr class='borderhalfbottom'>
61 + #foreach( $item in $itemFound )
62 + #if( $foreach.count > $spotCourseNo )
63 + #break
64 + #end
65 + <td>{{course linked='title'}}$item{{/course}}</td>
66 + #end
67 + </tr></table>
68 + #end
69 + #end
70 +#### END GENERAL SPOTLIGHT
50 50  #end
51 -{{/velocity}}
72 +{{/html}}
73 +{{/velocity}}{{pageDisplay sort="objectservice"/}}