Changes for page Supervisors

From version 102.1
edited by Andrea Omicini
on 30/06/2023 00:53
Change comment: There is no comment for this version
To version 94.1
edited by Andrea Omicini
on 29/01/2023 21:43
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -#if($request.tag)$services.localization.render('supervisor').toLowerCase() : $xwiki.getUserName($request.tag,false)#else$services.localization.render('supervisors')#end
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Content
... ... @@ -1,13 +1,20 @@
1 -{{velocity}}
2 -{{html clean="false" wiki="true"}}
3 -#template('apice_theses.vm')
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 +
3 +{{include reference="Theses.Environment" excludeFirstHeading="true"/}}{{velocity}}
4 +## thesis page with menus
5 +#set( $thesisMenu = true )
4 4  ##
5 5  #### tag parameter possibly brings name to be used as tag
6 -#if( !$request.tag )
7 7  ## no tag parameter --> just the cloud
9 +## yes tag parameter --> the item list
10 +##
11 +## NO TAG PARAMETER
12 +#if( !$request.tag )
13 +## subtitle
14 +>{{stringEngIta eng="$objectEngPlural" ita= "$objectItaPlural"/}}#if( $oneUser ) / $userFirstName $userLastName#{end}
8 8  ## set query
9 - #set( $query = ", BaseObject as objThesis, LargeStringProperty as propSupervisors, StringProperty as propStatus, DateProperty as propEnddate
10 - where objThesis.name = doc.fullName and objThesis.className = '${objectSpace}.${objectClass}' and objThesis.name <> '${objectSpace}.${objectTemplate}' and propSupervisors.id.id = objThesis.id and propStatus.id.id = objThesis.id and propEnddate.id.id = objThesis.id and propSupervisors.name = 'supervisors' and propSupervisors.value <> '' and propStatus.name = 'status' and lower(propStatus.value) = 'completed' and propEnddate.name = 'end' order by propEnddate.value desc" )
16 + #set( $query = ", BaseObject as obj, StringProperty as prop1, DateProperty as prop2
17 + where obj.name = doc.fullName and obj.className = '${objectSpace}.${objectClass}' and obj.name <> '${objectSpace}.${objectTemplate}' and prop1.id.id = obj.id and prop2.id.id = obj.id and prop1.name = 'status' and lower(prop1.value) = 'completed' and prop2.name = 'end' order by prop2.value desc" )
11 11  ## execute query
12 12   #set( $itemFound = $xwiki.searchDocuments($query) )
13 13   #set( $itemFoundNo = $itemFound.size() )
... ... @@ -17,20 +17,22 @@
17 17   #foreach( $item in $itemFound )
18 18  ## set $doc & $obj
19 19   #set( $itemDoc = $xwiki.getDocument($item) )
20 - #set( $nameList = $itemDoc.getValue("supervisors").split(",") )
27 + #if( $itemDoc.getValue("supervisors") != "" )
28 + #set( $nameList = $itemDoc.getValue("supervisors").split(",") )
21 21  ## set user-item map
22 - #foreach( $name in $nameList )
30 + #foreach( $name in $nameList )
23 23  #### build name lists
24 - #if( $nameMap.keySet().contains($name) )
32 + #if( $nameMap.keySet().contains($name) )
25 25  ## nameMap already contains current name
26 26  ## add $item to nameMap for current name
27 - #set( $discard = $nameMap[$name].add($item) )
28 - #elseif( !$oneUser || $oneUser && $name != $userName )
35 + #set( $discard = $nameMap[$name].add($item) )
36 + #elseif( !$oneUser || $oneUser && $name != $userName )
29 29  ## nameMap does not contain name or selected user
30 30  ## add name / selected user to nameMap
31 - #set( $nameMap[$name] = [] )
39 + #set( $nameMap[$name] = [] )
32 32   ## adding $item to nameMap for $name
33 - #set( $discard = $nameMap[$name].add($item) )
41 + #set( $discard = $nameMap[$name].add($item) )
42 + #end
34 34   #end
35 35   #end
36 36  #### END / feed name list from each item
... ... @@ -38,11 +38,8 @@
38 38  ## END EACH ITEM IN MAP
39 39  ## final values: $nameMap
40 40   #set( $nameFoundNo = $nameMap.keySet().size() )
41 -### CLOUD PAGE / START
42 -<div class="mainheader">
43 - $services.localization.render('theses').toLowerCase()
44 -</div>
45 -<div style='text-align: center'>
50 +## tag cloud
51 +(% style='text-align:center' %)(((
46 46   #foreach( $name in $nameMap.keySet() )
47 47   #set( $nameItemNo = $nameMap[$name].size() )
48 48   #if( $nameItemNo > 40 )#set( $tagSize = "140%" )
... ... @@ -55,39 +55,29 @@
55 55   #elseif( $nameItemNo == 2 )#set( $tagSize = "100%" )
56 56   #else#set( $tagSize = "90%" )
57 57   #end
58 - #set( $urlEscapedName = $escapetool.url($name) )
59 -<span style='font-size:$tagSize; white-space: nowrap'>&ensp;[[#if( $name.startsWith("XWiki.") )$xwiki.getUserName($name,false)#else$name#end>>$doc|queryString='tag=$urlEscapedName']]</span><sub class='textprimary' style="font-size: .75em">$nameItemNo</sub>&ensp;
60 - #end
61 -</div>
64 +[[(% style='font-size:$tagSize; white-space: nowrap' %){{namesFromUsers linked='false'}}$name{{/namesFromUsers}}(%%)>>$doc||queryString='tag=$name']](% style='font-style:normal;color:$theme.textPrimaryColor;font-size:75%' %),,$nameItemNo,, (%%) #end
65 +)))
62 62  ## cloud bottom
63 -<div class="menuqualifier" style="text-align: right">
64 -[ $nameFoundNo #if( $nameFoundNo == 1 )$services.localization.render('supervisor').toLowerCase()#{else}$services.localization.render('supervisors').toLowerCase()#end / $itemFoundNo #if( $itemFoundNo == 1 )$services.localization.render('thesis').toLowerCase()#{else}$services.localization.render('theses').toLowerCase()#end ]
65 -</div>
66 -### CLOUD PAGE / END
67 +(% style='font-style:oblique;font-size:smaller;text-align:right;color:$theme.textSecondaryColor' %)(((
68 +[ $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 ]
69 +)))
70 +#### YES TAG PARAMETER
67 67  #else
68 -## yes tag parameter --> the item list
69 -##
70 -#### TAG PAGE / START
71 - #set( $query = ", BaseObject as objThesis, LargeStringProperty as propSupervisors, StringProperty as propStatus, DateProperty as propEnddate
72 - where objThesis.name = doc.fullName and objThesis.className = '${objectSpace}.${objectClass}' and objThesis.name <> '${objectSpace}.${objectTemplate}' and propSupervisors.id.id = objThesis.id and propStatus.id.id = objThesis.id and propEnddate.id.id = objThesis.id and propSupervisors.name = 'supervisors' and propSupervisors.value like '%$request.tag%' and propStatus.name = 'status' and lower(propStatus.value) = 'completed' and propEnddate.name = 'end' order by propEnddate.value desc" )
72 +## set query
73 + #set( $query = ", BaseObject as obj, LargeStringProperty as prop0, StringProperty as prop1, DateProperty as prop2
74 + 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%' and prop1.name = 'status' and lower(prop1.value) = 'completed' and prop2.name = 'end' order by prop2.value desc" )
73 73  ## execute query
74 74   #set( $itemFound = $xwiki.searchDocuments($query) )
75 75   #set( $itemFoundNo = $itemFound.size() )
76 76  ## subtitle
77 -<div class="mainheader">
78 -$itemNo #if( $itemNo > 1)$services.localization.render('theses').toLowerCase()#{else}$services.localization.render('thesis').toLowerCase()#{end}
79 -</div>
80 -## thesis list
81 - #template('apice_thesis_macros.vm')
79 +>$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
80 +## talk list
81 +(((
82 82   #foreach( $item in $itemFound )
83 -<div>
84 -[[image:icon:book]] #thesislinked($item)
85 -</div>
83 +[[image:icon:book]] {{thesis}}$item{{/thesis}}
86 86   #end
85 +)))
87 87  ## thesis list bottom
88 -<div class="menuqualifier" style="text-align: right">
89 -[ [[{{stringEngIta eng="supervisor cloud" ita="nuvola relatori" /}}>>$doc.name]] / $services.localization.render('theses').toLowerCase() ]
90 -</div>
87 +(% 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()"/}} ])))(%%)
91 91  #end
92 -{{/html}}
93 -{{/velocity}}{{pageDisplay sort="objectservice"/}}
89 +{{/velocity}}