Changes for page Per Year

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

Summary

Details

Page properties
Content
... ... @@ -1,7 +1,7 @@
1 1  {{velocity}}
2 2  #template('apice_boolean.vm')
3 3  #### HANDLE PARAMETERS / START
4 -#template('apice_theses.vm')
4 +#template('apice_publications.vm')
5 5  #template('apice_user_param.vm')
6 6  ## YEARS / START
7 7  #set( $yearPar = $request.year.trim() )
... ... @@ -21,7 +21,7 @@
21 21   #set( $firstYearThesis = $personalThesisDoc.display('firstYear','view') )
22 22   #end
23 23   #if( $personalThesisDoc.lastYear && $personalThesisDoc.lastYear != "" )
24 - #set( $lastYearThesis = $personalThesisDoc.display('lastYear','view') )
24 + #set( $lastYearThesis = $.display('lastYear','view') )
25 25   #end
26 26  #end
27 27  ## years / parameters takes precedence
... ... @@ -88,12 +88,12 @@
88 88  ## INVARIANT: $oneCycle and $cycleList are correctly and coherently initialised
89 89  #### HANDLE PARAMETERS / END
90 90  ##
91 -## DATA STRUCTURES / START
91 +## query to structures
92 92  #set( $itemMap = {} )
93 93  #set( $itemNo = 0 )
94 94  #foreach( $year in $yearList )
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" )
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" )
97 97  ## do query
98 98   #set( $itemFound = $xwiki.searchDocuments($query) )
99 99  ## set counters
... ... @@ -103,36 +103,12 @@
103 103   #set( $itemNo = $itemNo + $itemYearNo )
104 104   #end
105 105  #end
106 -## DATA STRUCTURES / END
107 107  ##
108 -## DISPLAY / START
107 +## output results
109 109  ## page subtitle
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>
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 +
136 136  ## stop if no thesis is found
137 137  #if( $itemNo == 0 || $itemMap.keySet().size() == 0 )
138 138  ## redundant double check