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 13.1
edited by Andrea Omicini
on 20/07/2023 09:42
on 20/07/2023 09:42
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,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:hiddensolidsolidhidden; 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"/}}