Changes for page Per Year
From version 77.1
edited by Andrea Omicini
on 06/07/2023 20:03
on 06/07/2023 20:03
Change comment:
There is no comment for this version
To version 77.2
edited by Andrea Omicini
on 31/12/2023 11:46
on 31/12/2023 11:46
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,119 +1,1 @@ 1 -{{velocity}} 2 -{{html clean="false" wiki="true"}} 3 -#template('apice_macros.vm') 4 -#setobjectspace("Events") 5 -#template('apice_event_macros.vm') 6 -#template('apice_user_param.vm') 7 -## years / personal 8 -#if( $isUserSpace ) 9 - #set( $query = ", BaseObject as objPersonalEvent, LargeStringProperty as propUser 10 - where objPersonalEvent.name = doc.fullName and objPersonalEvent.className = '${mainSpace}.Personal.Class' and propUser.id.id = objPersonalEvent.id and propUser.name = 'user' and propUser.value = '$userName' " ) 11 - #set( $personalEventDocs = $xwiki.searchDocuments($query) ) 12 - #if( $personalEventDocs.size() > 0 ) 13 - #set( $personalEventDoc = $xwiki.getDocument($personalEventDocs[0]) ) 14 - #else 15 - #stop 16 - #end 17 - #if( $personalEventDoc.maxYears && $personalEventDoc.maxYears != "" ) 18 - #set( $maxEventYears = $personalEventDoc.display('maxYears','view') ) 19 - #end 20 - #if( $personalEventDoc.firstYear && $personalEventDoc.firstYear != "" ) 21 - #set( $firstYearEvent = $personalEventDoc.display('firstYear','view') ) 22 - #end 23 - #if( $personalEventDoc.lastYear && $personalEventDoc.lastYear != "" ) 24 - #set( $lastYearEvent = $personalEventDoc.display('lastYear','view') ) 25 - #end 26 -#end 27 -## years / parameters takes precedence 28 -#set( $firstYear = $firstYearEvent ) 29 -#set( $lastYear = $lastYearEvent ) 30 -#template('apice_year_param.vm') 31 -## 32 -## DATA STRUCTURES / START 33 -#set( $itemMap = {} ) 34 -#set( $itemNo = 0 ) 35 -## cycle over years 36 -#foreach( $year in $yearList ) 37 -## set query 38 - #set( $query = ", BaseObject as objEvent #if( $oneUser ), BaseObject as objRole, LargeStringProperty as propWho #end, DateProperty as propStart 39 - where objEvent.name = doc.fullName and objEvent.className = '${mainSpace}.Class' and objEvent.name <> '${objectPool}.Template' and propStart.id.id = objEvent.id and propStart.name = 'start_date' and year(propStart.value) = $year #if( $oneUser ) and objRole.name = doc.fullName and objRole.className = '${mainSpace}.Roles.Class' and propWho.id.id = objRole.id and propWho.name = 'who' and propWho.value like '$userString' #end order by propStart.value desc " ) 40 -## execute query new 41 - #set( $itemFound = $xwiki.searchDocuments($query) ) 42 -## set counters 43 - #set( $itemYearNo = $itemFound.size() ) 44 - #if( $itemYearNo > 0 ) 45 - #set( $itemMap[$year] = $itemFound ) 46 - #set( $itemNo = $itemNo + $itemYearNo ) 47 - #end 48 -#end 49 -## DATA STRUCTURES / END 50 -## 51 -## DISPLAY / START 52 -## page subtitle 53 -<div class="mainheader"> 54 -$itemNo 55 -#if( $itemNo == 1 ) 56 - $services.localization.render('event').toLowerCase() 57 -#else 58 - $services.localization.render('events').toLowerCase() 59 -#end 60 -<span class="textsecondary"> / </span> 61 -#if( $oneYear ) 62 - $year 63 -#else 64 - $firstYear–$lastYear 65 -#end 66 -#if( $oneUser ) 67 - <span class="textsecondary"> / </span> 68 - $userFirstName $userLastName 69 -#end 70 -</div> 71 -## stop if no events are found 72 -#if( $itemNo == 0 || $itemMap.keySet().size() == 0 ) 73 -## redundant double check 74 - #stop 75 -#end 76 -## some events found 77 -## page index 78 -#if( $itemMap.keySet().size() > 1 ) 79 -## found more than one year 80 -<div class="mainselectbar" id="index"> 81 - #foreach( $year in $itemMap.keySet() ) 82 - #if( !$foreach.first ) 83 -  •  84 - #end 85 - [[$year>>||anchor="$year"]] 86 - #end 87 -</div> 88 -#end 89 -## events displayed per year 90 -#foreach( $year in $itemMap.keySet() ) 91 -## year top / start 92 -<div class="mainselectseparator"> 93 - <a class="mainselectseparatorlink" id="$year" href=$xwiki.getURL($doc,"view","year=$year#if( $apiceUser )&user=$userName#elseif( $oneUser )&name=$userFirstName&surname=$userLastName#end")> 94 - $year 95 - </a> 96 -</div> 97 -## year top / end 98 -## 99 -## year display / start 100 -<div> 101 - #foreach( $item in $itemMap[$year] ) 102 - #if( !$foreach.first ) 103 - <span class="menumainbody"> • </span> 104 - #end 105 - #eventlinked($item) <span class="textsecondary">(#eventyears($item))</span> 106 - #end 107 -</div> 108 -## year display / end 109 -## 110 -## year bottom / start 111 -<div #if( $foreach.last )id="bottom"#end class="mainselectbottom"> 112 - #set( $itemYearNo = $itemMap[$year].size() ) 113 -$itemYearNo #if( $itemYearNo == 1 ){{stringEngIta eng='event in' ita='evento nel'/}}#else{{stringEngIta eng='events in' ita='eventi nel'/}}#end $year • #anchorlinks() 114 -## year bottom / end 115 -</div> 116 -#end 117 -## DISPLAY / END 118 -{{/html}} 119 -{{/velocity}}{{pageDisplay sort="objectservice"/}} 1 +{{include reference="Showcase" excludeFirstHeading="true"/}}{{include reference="Classes.Users.PerYear" excludeFirstHeading="true"/}}