Changes for page Per Year

From version 146.1
edited by Andrea Omicini
on 30/06/2023 17:13
Change comment: There is no comment for this version
To version 148.1
edited by Andrea Omicini
on 30/06/2023 20:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -88,12 +88,12 @@
88 88  ## INVARIANT: $oneCycle and $cycleList are correctly and coherently initialised
89 89  #### HANDLE PARAMETERS / END
90 90  ##
91 -## query to structures
91 +## DATA STRUCTURES / START
92 92  #set( $itemMap = {} )
93 93  #set( $itemNo = 0 )
94 94  #foreach( $year in $yearList )
95 - #set( $query = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1, StringProperty as prop2, LargeStringProperty as prop3, LargeStringProperty as prop4, LargeStringProperty as prop5
96 - 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 prop3.id.id = obj.id and prop4.id.id = obj.id and prop5.id.id = obj.id and prop0.name = 'cycle' and prop1.name = 'end' and prop2.name = 'status' and prop3.name = 'supervisors' and prop4.name = 'cosupervisors' and prop5.name = 'contacts' #if( $oneCycle ) and prop0.value = '$cycle'#end and year(prop1.value) = $year and lower(prop2.value) = 'completed' #if( $oneUser )and ( prop3.value like '%$userString%' or prop4.value like '%$userString%' or prop5.value like '%$userString%' )#end order by prop1.value desc" )
95 + #set( $query = ", BaseObject as objThesis #if( $oneCycle ), StringProperty as propCycle #end, DateProperty as propEnddate, StringProperty as propStatus, LargeStringProperty as propSupervisor, LargeStringProperty as propCosupervisor, LargeStringProperty as propContact
96 + where objThesis.name = doc.fullName and objThesis.className = '${objectSpace}.${objectClass}' and objThesis.name <> '${objectSpace}.${objectTemplate}' and propEnddate.id.id = objThesis.id and propStatus.id.id = objThesis.id and propSupervisor.id.id = objThesis.id and propCosupervisor.id.id = objThesis.id and propContact.id.id = objThesis.id and propEnddate.name = 'end' and propStatus.name = 'status' and propSupervisor.name = 'supervisors' and propCosupervisor.name = 'cosupervisors' and propContact.name = 'contacts' #if( $oneCycle ) and propCycle.id.id = objThesis.id and propCycle.name = 'cycle' and propCycle.value = '$cycle' #end and year(propEnddate.value) = $year and lower(propStatus.value) = 'completed' #if( $oneUser )and ( propSupervisor.value like '%$userString%' or propCosupervisor.value like '%$userString%' or propContact.value like '%$userString%' )#end order by propEnddate.value desc" )
97 97  ## do query
98 98   #set( $itemFound = $xwiki.searchDocuments($query) )
99 99  ## set counters
... ... @@ -103,12 +103,36 @@
103 103   #set( $itemNo = $itemNo + $itemYearNo )
104 104   #end
105 105  #end
106 +## DATA STRUCTURES / END
106 106  ##
107 -## output results
108 +## DISPLAY / START
108 108  ## page subtitle
109 -{{id name="top"/}}
110 ->(%%)$itemNo #if( $itemNo == 1 )#if( $oneCycle ){{thesisCycle plural="false" uppercase="false"}}$cycle{{/thesisCycle}}#else$services.localization.render('thesis').toLowerCase()#end#{else}#if( $oneCycle ){{thesisCycle plural="true" uppercase="false"}}$cycle{{/thesisCycle}}#else$services.localization.render('theses').toLowerCase()#end#{end} / #if( $oneYear )$year#else$firstYear–$lastYear#{end}#if( $oneUser ) / $userFirstName $userLastName#{end}(%%)
111 -
110 +<div class="mainheader">
111 +$itemNo
112 +#if( $itemNo == 1 )
113 + #if( $oneCycle )
114 + {{thesisCycle plural="false" uppercase="false"}}$cycle{{/thesisCycle}}
115 + #else
116 + $services.localization.render('thesis').toLowerCase()
117 + #end
118 +#{else}
119 + #if( $oneCycle )
120 + {{thesisCycle plural="true" uppercase="false"}}$cycle{{/thesisCycle}}
121 + #else
122 + $services.localization.render('theses').toLowerCase()
123 + #end
124 +#{end}
125 +<span class="textsecondary">&ensp;/&ensp;</span>
126 +#if( $oneYear )
127 + $year
128 +#else
129 + $firstYear–$lastYear
130 +#{end}
131 +#if( $oneUser )
132 + <span class="textsecondary">&ensp;/&ensp;</span>
133 + $userFirstName $userLastName
134 +#end
135 +</div>
112 112  ## stop if no thesis is found
113 113  #if( $itemNo == 0 || $itemMap.keySet().size() == 0 )
114 114  ## redundant double check