Changes for page Supervisors
From version 88.1
edited by Andrea Omicini
on 29/01/2023 20:04
on 29/01/2023 20:04
Change comment:
There is no comment for this version
To version 90.1
edited by Andrea Omicini
on 29/01/2023 21:18
on 29/01/2023 21:18
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,8 +1,7 @@ 1 -= {{velocity}}#if( $request.tag )(% style="color:$theme.textSecondaryColor" %) tag: (%%)$request.tag#else{{stringEngIta eng="Tags" ita= "Tag"/}}#end{{/velocity}} =1 += {{velocity}}#if( $request.tag )(% style="color:$theme.textSecondaryColor" %)supervisor : (%%){{namesFromUsers linked='false'}}$request.tag{{/namesFromUsers}}#{else}{{stringEngIta eng="Supervisors" ita= "Supervisori"/}}#{end}{{/velocity}} = 2 2 3 -{{include reference="Theses.Environment" excludeFirstHeading="true"/}}{{velocity}} ##3 +{{include reference="Theses.Environment" excludeFirstHeading="true"/}}{{velocity}} 4 4 ## thesis page with menus 5 -## 6 6 #set( $thesisMenu = true ) 7 7 ## 8 8 #### get parameters ... ... @@ -96,45 +96,74 @@ 96 96 ## subtitle 97 97 >{{stringEngIta eng="$objectEngPlural" ita= "$objectItaPlural"/}}#if( $oneUser ) / $userFirstName $userLastName#{end} 98 98 ## set query 99 - #set( $ from= ", BaseObject as obj0,StringProperty as prop0,LargeStringProperty as prop1,LargeStringProperty as prop2,LargeStringProperty as prop3" )100 - #set($where= "obj0.name = doc.fullName and obj0.className = '${objectSpace}.${objectClass}' and obj0.name <> '${objectSpace}.${objectTemplate}' and prop0.id.id = obj0.id and prop1.id.id = obj0.id and prop2.id.id = obj0.id and prop3.id.id = obj0.id and prop0.name = 'status'andlower(prop0.value)='completed'and prop1.name = 'supervisors' and prop2.name = 'cosupervisors' and prop3.name = 'contacts'#if( $oneUser)and( prop1.valuelike '%$userName%'orprop2.valuelike'%$userName%' or prop3.value like '%$userName%' )#end" )98 + #set( $query = ", BaseObject as obj, LargeStringProperty as prop0, StringProperty as prop1, DateProperty as prop2 99 + 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 prop2.id.id = obj.id and prop0.name = 'supervisors' #if( $oneUser )and prop0.value like '$userString'#end and prop1.name = 'status' and lower(prop1.value) = 'completed' and prop2.name = 'end' order by prop2.value desc" ) 101 101 ## execute query 102 - #set( $tagCount = $xwiki.tag.getTagCountForQuery($from, $where) ) 103 - #set( $tagInstanceNo = 0 ) 104 - #set( $tagNo = 0 ) 101 + #set( $itemFound = $xwiki.searchDocuments($query) ) 102 + #set( $itemFoundNo = $itemFound.size() ) 103 +## name-item map 104 + #set( $nameMap = {} ) 105 +## START EACH ITEM IN MAP 106 + #foreach( $item in $itemFound ) 107 +## set $doc & $obj 108 + #set( $itemDoc = $xwiki.getDocument($item) ) 109 + #set( $itemObj = $itemDoc.getObject("${objectSpace}.${objectClass}") ) 110 + #set( $nameList = $itemObj.getValue("supervisors").split(",") ) 111 +## set user-item map 112 + #foreach( $name in $nameList ) 113 +#### build name lists 114 + #if( $nameMap.keySet().contains($name) ) 115 +## nameMap already contains current name 116 +## add $item to nameMap for current name 117 + #set( $discard = $nameMap[$name].add($item) ) 118 + #elseif( !$oneUser || $oneUser && $name != $userName ) 119 +## nameMap does not contain name or selected user 120 +## add name / selected user to nameMap 121 + #set( $nameMap[$name] = [] ) 122 + ## adding $item to nameMap for $name 123 + #set( $discard = $nameMap[$name].add($item) ) 124 + #end 125 + #end 126 +#### END / feed name list from each item 127 + #end 128 +## END EACH ITEM IN MAP 129 +## final values: $nameMap 130 + #set( $nameFoundNo = $nameMap.keySet().size() ) 105 105 ## tag cloud 106 106 (% style='text-align:center' %)((( 107 - #foreach( $itemTag in $tagCount.keySet() ) 108 - #set( $itemCount = $tagCount.get($itemTag) ) 109 - #set( $tagInstanceNo = $tagInstanceNo + $itemCount ) 110 - #set( $tagNo = $tagNo + 1 ) 111 - #if( $itemCount > 40 )#set( $tagSize = "140%" ) 112 - #elseif( $itemCount > 30 )#set( $tagSize = "135%" ) 113 - #elseif( $itemCount > 20 )#set( $tagSize = "130%" ) 114 - #elseif( $itemCount > 10 )#set( $tagSize = "125%" ) 115 - #elseif( $itemCount > 5 )#set( $tagSize = "120%" ) 116 - #elseif( $itemCount > 3 )#set( $tagSize = "110%" ) 117 - #elseif( $itemCount == 3 )#set( $tagSize = "105%" ) 118 - #elseif( $itemCount == 2 )#set( $tagSize = "100%" ) 133 + #foreach( $name in $nameMap.keySet() ) 134 + #set( $nameItemNo = $nameMap[$name].size() ) 135 + #if( $nameItemNo > 40 )#set( $tagSize = "140%" ) 136 + #elseif( $nameItemNo > 30 )#set( $tagSize = "135%" ) 137 + #elseif( $nameItemNo > 20 )#set( $tagSize = "130%" ) 138 + #elseif( $nameItemNo > 10 )#set( $tagSize = "125%" ) 139 + #elseif( $nameItemNo > 5 )#set( $tagSize = "120%" ) 140 + #elseif( $nameItemNo > 3 )#set( $tagSize = "110%" ) 141 + #elseif( $nameItemNo == 3 )#set( $tagSize = "105%" ) 142 + #elseif( $nameItemNo == 2 )#set( $tagSize = "100%" ) 119 119 #else#set( $tagSize = "90%" ) 120 120 #end 121 - #set($urlEscapedTag = $escapetool.url($itemTag)) 122 -(% style='font-size:$tagSize' %) [[$itemTag>>$doc||queryString="tag=$urlEscapedTag&$parameterString"]](% style='font-style:normal;color:$theme.textPrimaryColor;font-size:75%' %),,$itemCount,,(%%) (%%)#end 145 +[[(% style='font-size:$tagSize; white-space: nowrap' %){{namesFromUsers linked='false'}}$name{{/namesFromUsers}}(%%)>>$doc||queryString='tag=$name#if( $oneUser )&$parameterString#end']](% style='font-style:normal;color:$theme.textPrimaryColor;font-size:75%' %),,$nameItemNo,, (%%) #end 123 123 ))) 124 124 ## cloud bottom 125 -(% style="font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor" %)((( 126 -[ $tagInstanceNo / $tagNo {{stringEngIta eng = "tags" ita = "tag"/}} ] 148 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)((( 149 +#if( $oneUser ) 150 +[ $nameFoundNo #if( $nameFoundNo == 1 ){{stringEngIta eng="co-supervisor" ita="co-supervisore"/}}#else{{stringEngIta eng="co-supervisors" ita="co-supervisori"/}}#end / $itemFoundNo #if( $itemFoundNo == 1 ){{stringEngIta eng="$objectEngSingular.toLowerCase()" ita="$objectItaSingular.toLowerCase()"/}}#else{{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}}#end ] 151 +#else 152 +[ $nameFoundNo #if( $nameFoundNo == 1 ){{stringEngIta eng="supervisor" ita="supervisore"/}}#else{{stringEngIta eng="supervisors" ita="supervisori"/}}#end / $itemFoundNo #if( $itemFoundNo == 1 ){{stringEngIta eng="$objectEngSingular.toLowerCase()" ita="$objectItaSingular.toLowerCase()"/}}#else{{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita="$objectItaPlural.toLowerCase()"/}}#end ] 153 +#end 127 127 ))) 128 128 #### YES TAG PARAMETER 129 129 #else 130 130 ## set query 131 - #set( $query = ", BaseObject as obj0, DBStringListProperty as prop0 join prop0.list item, BaseObject as obj1, StringProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, LargeStringProperty as prop4, DateProperty as prop5 132 - where obj0.className = 'XWiki.TagClass' and obj0.name = doc.fullName and obj0.id = prop0.id.id and prop0.id.name = 'tags' and lower(item) = lower('$request.tag') and obj1.name = doc.fullName and obj1.className = '${objectSpace}.${objectClass}' and obj1.name <> '${objectSpace}.${objectTemplate}' and prop1.id.id = obj1.id and prop2.id.id = obj1.id and prop3.id.id = obj1.id and prop4.id.id = obj1.id and prop5.id.id = obj1.id and prop1.name = 'status' and prop2.name = 'supervisors' and prop3.name = 'cosupervisors' and prop4.name = 'contacts' and prop5.name = 'end' and lower(prop1.value) = 'completed' #if( $oneUser )and ( prop2.value like '$userString' or prop3.value like '$userString' or prop4.value like '$userString' )#end order by prop5.value desc" ) 158 + #set( $query = ", BaseObject as obj, LargeStringProperty as prop0, StringProperty as prop1, DateProperty as prop2 159 + 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 prop2.id.id = obj.id and prop0.name = 'supervisors' and prop0.value like '%$request.tag%' #if( $request.user )and prop0.value like '%$request.user%'#end #if( $request.name && $request.surname )and prop0.value like '%$request.name $request.surname%'#end and prop1.name = 'status' and lower(prop1.value) = 'completed' and prop2.name = 'end' order by prop2.value desc" ) 160 +## execute query 133 133 #set( $itemFound = $xwiki.searchDocuments($query) ) 134 134 #set( $itemFoundNo = $itemFound.size() ) 135 135 ## subtitle 136 ->$itemFoundNo #if( $itemFoundNo == 1 ){{stringEngIta eng oneUser ) / $userFirstName $userLastName#end137 -## t hesislist164 +>$itemFoundNo #if( $itemFoundNo == 1 ){{stringEngIta eng="$objectEngSingular.toLowerCase()" ita="$objectItaSingular.toLowerCase()"/}}#else{{stringEngIta eng="$objectEngPlural.toLowerCase()" ita="$objectItaPlural.toLowerCase()"/}}#end#if( $request.user ) / {{namesFromUsers linked='false'}}$request.user{{/namesFromUsers}}#end#if( $request.name && $request.surname ) / {{namesFromUsers linked='false'}}$request.name $request.surname{{/namesFromUsers}}#end 165 +## talk list 138 138 ((( 139 139 #foreach( $item in $itemFound ) 140 140 [[image:icon:book]] {{thesis}}$item{{/thesis}} ... ... @@ -146,11 +146,17 @@ 146 146 #else 147 147 #set( $embodiedPage = false ) 148 148 #end 149 -## t hesislist bottom150 -#if( $embodiedPage || !$oneUser)151 -(% style= "font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor"%)((([ [[{{stringEngIta eng="tagcloud" ita="nuvolatag" /}}>>$doc.name]] / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%)177 +## talk list bottom 178 + #if( $embodiedPage ) 179 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)((([ [[{{stringEngIta eng="co-supervisor cloud" ita="nuvola co-supervisori" /}}>>$doc]] / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%) 152 152 #else 153 -(% style="font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor" %)((([ [[{{stringEngIta eng="tag cloud" ita="nuvola tag" /}}>>$doc.name||queryString="$parameterString"]] / $userFirstName $userLastName / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%) 181 + #if( $request.user ) 182 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)((([ [[{{stringEngIta eng="co-supervisor cloud" ita="nuvola co-supervisori" /}}>>$doc||queryString="user=$request.user"]] / {{namesFromUsers linked='false'}}$request.user{{/namesFromUsers}} / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%) 183 + #elseif( $request.name && $request.surname ) 184 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)((([ [[{{stringEngIta eng="co-supervisor cloud" ita="nuvola co-supervisori" /}}>>$doc||queryString="name=$request.name&surname=$request.surname"]] / {{namesFromUsers linked='false'}}$request.name $request.surname{{/namesFromUsers}} / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%) 185 + #else 186 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)((([ [[{{stringEngIta eng="supervisor cloud" ita="nuvola supervisori" /}}>>$doc||]] / {{stringEngIta eng = "$objectEngPlural.toLowerCase()" ita = "$objectItaPlural.toLowerCase()"/}} ])))(%%) 187 + #end 154 154 #end 155 155 #end 156 156 {{/velocity}}