Changes for page Per Year
From version 144.1
edited by Andrea Omicini
on 30/06/2023 17:11
on 30/06/2023 17:11
Change comment:
There is no comment for this version
To version 148.1
edited by Andrea Omicini
on 30/06/2023 20:37
on 30/06/2023 20:37
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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_ publications.vm')4 +#template('apice_theses.vm') 5 5 #template('apice_user_param.vm') 6 6 ## YEARS / START 7 7 #set( $yearPar = $request.year.trim() ) ... ... @@ -88,12 +88,12 @@ 88 88 ## INVARIANT: $oneCycle and $cycleList are correctly and coherently initialised 89 89 #### HANDLE PARAMETERS / END 90 90 ## 91 -## querytostructures91 +## 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 prop 0, DateProperty as prop1, StringProperty as prop2, LargeStringProperty as prop3, LargeStringProperty as prop4, LargeStringProperty as prop596 - where obj.name = doc.fullName and obj.className = '${objectSpace}.${objectClass}' and obj.name <> '${objectSpace}.${objectTemplate}' and prop 0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop3.id.id =obj.id andprop4.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 -## outputresults108 +## 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"> / </span> 126 +#if( $oneYear ) 127 + $year 128 +#else 129 + $firstYear–$lastYear 130 +#{end} 131 +#if( $oneUser ) 132 + <span class="textsecondary"> / </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