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 12.1
edited by Andrea Omicini
on 20/07/2023 09:30
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,74 @@
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 + #includeInContext("${userSpace}.Environment")
16 +## #if( $personalCourseDocs.size() > 0 )
17 +## #set( $personalCourseDoc = $xwiki.getDocument($personalCourseDocs[0]) )
18 +## #else
19 +## #stop
20 +## #end
21 +## #if( $personalCourseDoc.spotNo && $personalCourseDoc.spotNo != "" )
22 +## #set( $spotCourseNo = $personalCourseDoc.spotNo )
23 +## #end
24 +## USER SPOTLIGHT / START
25 + #if( $personalCourseDoc.getValue('spotList').size() > 0 )
26 + <table width="100%"><tr class='borderhalfbottom'>
27 + #foreach( $item in $personalCourseDoc.getValue('spotList') )
28 + #if( $foreach.count <= $maxCourseSpot )
29 + <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(%%)
32 + </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 )
37 + #set( $query = ", BaseObject as objCourse, StringProperty as propYear, LargeStringProperty as propUser
38 + 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 " )
39 + #set( $itemFound = $xwiki.searchDocuments($query) )
40 + #set( $itemFoundNo = $itemFound.size() )
41 + #if( $itemFoundNo > 0 )
42 + <table width="100%"><tr class='borderhalfbottom'>
43 + #foreach( $item in $itemFound )
44 + #if( $foreach.count > $spotCourseNo )
45 + #break
46 + #end
47 + <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(%%)
49 + </tr></table>
47 47   #end
48 48   #end
49 49  #### END USER SPOTLIGHT
53 +#else
54 +#### START GENERAL SPOTLIGHT
55 + #if( $spotCourseNo && $spotCourseNo > 0 )
56 + #set( $query = ", BaseObject as objCourse, StringProperty as propYear
57 + 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" )
58 + #set( $itemFound = $xwiki.searchDocuments($query) )
59 + #set( $itemFoundNo = $itemFound.size() )
60 + #if( $itemFoundNo > 0 )
61 + <table width="100%"><tr class='borderhalfbottom'>
62 + #foreach( $item in $itemFound )
63 + #if( $foreach.count > $spotCourseNo )
64 + #break
65 + #end
66 + <td>{{course linked='title'}}$item{{/course}}</td>
67 + #end
68 + </tr></table>
69 + #end
70 + #end
71 +#### END GENERAL SPOTLIGHT
50 50  #end
51 -{{/velocity}}
73 +{{/html}}
74 +{{/velocity}}{{pageDisplay sort="objectservice"/}}