Changes for page Per Year
From version 150.1
edited by Andrea Omicini
on 30/06/2023 21:14
on 30/06/2023 21:14
Change comment:
There is no comment for this version
To version 163.1
edited by Andrea Omicini
on 03/07/2023 19:29
on 03/07/2023 19:29
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,17 +1,13 @@ 1 1 {{velocity}} 2 2 {{html wiki="true" clean="false"}} 3 -#template('apice_ boolean.vm')4 -# ### HANDLE PARAMETERS / START5 -# template('apice_theses.vm')3 +#template('apice_macros.vm') 4 +#setobjectspace("Theses") 5 +#### SET PARAMETERS / START 6 6 #template('apice_user_param.vm') 7 -## YEARS / START 8 -#set( $yearPar = $request.year.trim() ) 9 -#set( $firstYearPar = $request.from.trim() ) 10 -#set( $lastYearPar = $request.to.trim() ) 11 11 ## years / personal 12 12 #if( $isUserSpace ) 13 13 #set( $query = ", BaseObject as objPersonalThesis, LargeStringProperty as propUser 14 - where objPersonalThesis.name = doc.fullName and objPersonalThesis.className = '${objectSpace}.Personal. ${objectClass}' and propUser.id.id = objPersonalThesis.id and propUser.name = 'user' and propUser.value = '$userName' " )10 + where objPersonalThesis.name = doc.fullName and objPersonalThesis.className = '${objectSpace}.Personal.Class' and propUser.id.id = objPersonalThesis.id and propUser.name = 'user' and propUser.value = '$userName' " ) 15 15 #set( $personalThesisDocs = $xwiki.searchDocuments($query) ) 16 16 #if( $personalThesisDocs.size() > 0 ) 17 17 #set( $personalThesisDoc = $xwiki.getDocument($personalThesisDocs[0]) ) ... ... @@ -28,8 +28,9 @@ 28 28 ## years / parameters takes precedence 29 29 #set( $firstYear = $firstYearThesis ) 30 30 #set( $lastYear = $lastYearThesis ) 31 -#template('apice_years_param.vm') 32 -#### handle cycle 27 +#template('apice_year_param.vm') 28 +## 29 +## CYCLES / START 33 33 ## $cycleList gets the list of cycles to be shown 34 34 ## $oneCycle true if just one cycle to be shown 35 35 #if( $request.cycle && $request.cycle.trim() != "" ) ... ... @@ -51,14 +51,16 @@ 51 51 #set( $cycle = "" ) 52 52 #end 53 53 ## INVARIANT: $oneCycle and $cycleList are correctly and coherently initialised 54 -## ##HANDLEPARAMETERS / END51 +## CYCLES / END 55 55 ## 53 +#### SET PARAMETERS / END 54 +## 56 56 ## DATA STRUCTURES / START 57 57 #set( $itemMap = {} ) 58 58 #set( $itemNo = 0 ) 59 59 #foreach( $year in $yearList ) 60 60 #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 61 - 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" )60 + where objThesis.name = doc.fullName and objThesis.className = '${objectSpace}.Class' and objThesis.name <> '${objectSpace}.Template' 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" ) 62 62 ## do query 63 63 #set( $itemFound = $xwiki.searchDocuments($query) ) 64 64 ## set counters ... ... @@ -107,8 +107,14 @@ 107 107 ## page index 108 108 #if( $itemMap.keySet().size() > 1 ) 109 109 ## found more than one year 110 -{{id name="index"/}} 111 -(% style="font-size:smaller; text-align:right; padding:1em 1.5em 0.25em 1.5em; background-color:$theme.highlightColor" %)(((#foreach( $year in $itemMap.keySet() )#if( !$foreach.first ) | #end[[$year>>$doc||anchor=$year]]#end))) 109 +<div class="mainselectbar" id="index"> 110 + #foreach( $year in $itemMap.keySet() ) 111 + #if( !$foreach.first ) 112 +  •  113 + #end 114 + [[$year>>||anchor="$year"]] 115 + #end 116 +</div> 112 112 #end 113 113 ## theses displayed per year 114 114 ## ... ... @@ -115,15 +115,46 @@ 115 115 #template('apice_thesis_macros.vm') 116 116 ## 117 117 #foreach( $year in $itemMap.keySet() ) 118 -(% style="border-style:solid hidden hidden solid; border-color:$theme.borderColor; text-align:left; font-style:oblique" %)|{{id name='$year'/}}[[$year>>$doc||style="text-decoration:none; color:$theme.textPrimaryColor" queryString='year=$year#if( $oneUser )#if( $apiceUser )&user=$userName#{else}&name=$userFirstName&surname=$userLastName#end#end#if( $oneCycle )&cycle=$cycle#end']] 123 +## year top / start 124 +<div class="mainselectseparator"> 125 + <a class="mainselectseparatorlink" id="$year" href=$xwiki.getURL($doc,"view","year=$year#if( $apiceUser )&user=$userName#elseif( $oneUser )&name=$userFirstName&surname=$userLastName#end#if( $oneCycle )&cycle=$cycle#end")> 126 + $year 127 + </a> 128 +</div> 129 +## year top / end 130 +## 131 +## year display / start 119 119 <div style="font-style: normal"><ul> 120 -#foreach( $item in $itemMap[$year] ) 121 -<li>#thesis linked($item)</li>122 -#end 133 + #foreach( $item in $itemMap[$year] ) 134 +<li>#thesisyear($item)</li> 135 + #end 123 123 </ul></div> 137 +## year display / end 138 +## 139 +## year bottom / start 140 +<div #if( $foreach.last )id="bottom"#end class="mainselectbottom"> 124 124 #set( $itemYearNo = $itemMap[$year].size() ) 125 -(% style="border-style:hidden solid solid hidden; border-color:$theme.borderColor; text-align:right; font-style:oblique; font-size:smaller" %)|($itemYearNo #if( $oneCycle )#if( $itemYearNo == 1 ){{thesisCycle plural="false" uppercase="false"}}$cycle{{/thesisCycle}}#{else}{{thesisCycle plural="true" uppercase="false"}}$cycle{{/thesisCycle}}#end#else#if( $itemYearNo == 1 )$services.localization.render('thesis').toLowerCase()#else$services.localization.render('theses').toLowerCase()#end#end / $year) [[[{{stringEngIta eng='top' ita='in cima'/}}]>>||anchor="top"]] [[[{{stringEngIta eng='bottom' ita='in fondo'/}}]>>||anchor="bottom"]] 142 + $itemYearNo 143 + #if( $oneCycle ) 144 + #if( $itemYearNo == 1 ) 145 + {{thesisCycle plural="false" uppercase="false"}}$cycle{{/thesisCycle}} 146 + #else 147 + {{thesisCycle plural="true" uppercase="false"}}$cycle{{/thesisCycle}} 148 + #end 149 + #else 150 + #if( $itemYearNo == 1 ) 151 + $services.localization.render('thesis').toLowerCase() 152 + #else 153 + $services.localization.render('theses').toLowerCase() 154 + #end 155 + #end 156 + <span class="textsecondary"> / </span> 157 + $year 158 +  •  159 + #anchorlinks() 160 +</div> 161 +## year bottom / end 126 126 #end 163 +## DISPLAY / END 127 127 {{/html}} 128 -{{/velocity}} 129 -{{id name="bottom"/}} 165 +{{/velocity}}{{pageDisplay sort="objectservice"/}}