Changes for page Spotlight
From version 11.2
edited by Andrea Omicini
on 20/07/2023 00:18
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
on 20/07/2023 09:30
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
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:hiddensolidsolidhidden; 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"/}}