Changes for page Per Year

From version 77.1
edited by Andrea Omicini
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
Change comment: There is no comment for this version

Summary

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">&ensp;/&ensp;</span>
61 -#if( $oneYear )
62 - $year
63 -#else
64 - $firstYear–$lastYear
65 -#end
66 -#if( $oneUser )
67 - <span class="textsecondary">&ensp;/&ensp;</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 - &ensp;&bull;&ensp;
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">&ensp;&bull;&ensp;</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 &bull; #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"/}}