Changes for page Per Year

From version 107.1
edited by Andrea Omicini
on 30/10/2021 17:24
Change comment: There is no comment for this version
To version 118.1
edited by Andrea Omicini
on 30/10/2021 18:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -18,7 +18,7 @@
18 18  #if( $request.to )
19 19   #set( $toPar = $mathtool.toInteger($request.to) )
20 20  #end
21 -#set years
21 +##set years
22 22  #if( $yearPar > 0 )
23 23   #set( $oneYear = true )
24 24   #set( $firstYear = $yearPar )
... ... @@ -43,9 +43,10 @@
43 43   #set( $yearList = [$lastYear..$firstYear] )
44 44   #end
45 45  #end
46 +## $selectedYear, $yearList and $oneYear set properly
46 46  ### END YEAR
47 47  ##
48 -### START USER & CYCLE
49 +### START USER
49 49  ## default values
50 50  #set( $oneUser = false )
51 51  #set( $selectedUser = '' )
... ... @@ -55,8 +55,8 @@
55 55  #if( $request.user )
56 56   #set( $userNamePar = $request.user.trim() )
57 57  #end
58 -#if( $userName || $userNamePar || $userNamePar != '' )
59 -## a user is specified for all roles
59 +#if( $userName || $userNamePar )
60 +## try to specify a user
60 60   #if( !$userName )
61 61   #set( $selectedUser = "XWiki.$userNamePar" )
62 62   #else
... ... @@ -72,30 +72,42 @@
72 72   #stop
73 73   #end
74 74  #end
75 -##if user selected, existing user page
76 +## $selectedUser and $oneUser set properly
77 +### END USER
78 +##
79 +### START CYCLE
76 76  #set( $oneCycle = false )
77 77  #set( $selectedCycle = '' )
78 -#set( $cyclePar = $request.cycle.trim().toUpperCase() )
82 +## cycle parameter
83 +#if( $request.cycle )
84 + #set( $cyclePar = $request.cycle.trim().toUpperCase() )
85 +#end
86 +## set cycle
79 79  #if( $cyclePar != '' && $allThesisCycles.contains($cyclePar) )
80 80   #set( $oneCycle = true )
81 81   #set( $selectedCycle = $cyclePar )
82 82  #end
83 -## $oneUser and $oneCycle set properly
84 -$yearList
91 +## $selectedCycle and $oneCycle set properly
92 +### END CYCLE
85 85  #if( $oneYear )
86 86   $selectedYear
95 +#else
96 + $yearList
87 87  #end
88 88  #if( $oneUser )
89 89   $selectedUser
100 +#else
101 + ALL USERS
90 90  #end
91 91  #if( $oneCycle )
92 92   $selectedCycle
93 - {{thesisCycle short='no'}}$selectedCycle{{/thesisCycle}}
105 +#else
106 + ALL USERS
94 94  #end
95 95  ### END USER & CYCLE
96 96  ##
97 97  ## title
98 ->#if( $oneCycle ){{thesisCycle short='no'}}$selectedCycle{{/thesisCycle}}#else{{stringEngIta eng="Theses" ita="Tesi"/}}#end / #if( $oneYear )$selectedYear#else$firstYear–$lastYear#end#if( $oneUser ) / $userFirstName **$userLastName**#end{{id name='top'/}}
111 +>#if( $oneCycle ){{thesisCycle uppercase='yes' short='no'}}$selectedCycle{{/thesisCycle}}#else{{stringEngIta eng="Theses" ita="Tesi"/}}#end / #if( $oneYear )$selectedYear#else$firstYear–$lastYear#end#if( $oneUser ) / $userFirstName **$userLastName**#end{{id name='top'/}}
99 99  ## index
100 100  #if( !$oneYear )
101 101  (% style="font-size: smaller; padding:1em 1.5em 0.25em 1.5em; background-color:$theme.highlightColor" %)(((#foreach( $year in $yearList )#if ($velocityCount > 1) | #end[[$year>>||anchor="$year"]]#end)))
... ... @@ -116,12 +116,13 @@
116 116   #if( !$oneCycle || $selectedCycle == $cycle )
117 117  ## some selected cycle or all cycles / now $cycle
118 118   #if( $oneUser)
119 - #set ($sql = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, LargeStringProperty as prop4
120 - where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop3.id.id = obj.id and prop4.id.id = obj.id and prop0.name = 'cycle' and prop1.name = 'year' and prop2.name = 'supervisors' and prop3.name = 'cosupervisors' and prop4.name = 'contacts' and prop0.value = '$cycle' and year(prop1.value) = '$year' and ( prop2.value like '%$selectedUser%' or prop3.value like '%$selectedUser%' or prop4.value like '%$selectedUser%' ) order by prop1.value desc" )
132 + #set ($sql = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1, StringProperty as prop2, LargeStringProperty as prop3, LargeStringProperty as prop4, LargeStringProperty as prop5
133 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop3.id.id = obj.id and prop4.id.id = obj.id and prop4.id.id = obj.id and prop0.name = 'cycle' and prop1.name = 'endDate' and prop2.name = 'status' and prop3.name = 'supervisors' and prop4.name = 'cosupervisors' and prop5.name = 'contacts' and prop0.value = '$cycle' and year(prop1.value) = '$year' and prop2.value = 'Completed' and ( prop3.value like '%$selectedUser%' or prop4.value like '%$selectedUser%' or prop5.value like '%$selectedUser%' ) order by prop1.value desc" )
121 121   #else
122 - #set ($sql = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1
123 - where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop0.name = 'cycle' and prop1.name = 'year' and prop0.value = '$cycle' and year(prop1.value) = '$year' order by prop1.value desc" )
135 + #set ($sql = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1, StringProperty as prop2
136 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop0.name = 'cycle' and prop1.name = 'endDate' and prop2.name = 'status' and prop0.value = '$cycle' and year(prop1.value) = '$year 'and prop2.value = 'Completed' order by prop1.value desc" )
124 124   #end
138 + $sql
125 125   #set( $thesisFound = $xwiki.searchDocuments($sql) )
126 126   #set( $thesisFoundNo = $thesisFound.size() )
127 127   #set( $thesisYearCycleNo = $thesisYearCycleNo + $thesisFoundNo )