Changes for page Per Year

From version 17.4
edited by Andrea Omicini
on 25/10/2021 16:33
Change comment: There is no comment for this version
To version 20.3
edited by Andrea Omicini
on 25/10/2021 17:04
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -9,6 +9,7 @@
9 9  #else
10 10   #set( $selectedStatus = 'all' )
11 11  #end
12 +$selectedStatus
12 12  ##check velocity variable, takes precedence
13 13  #if( $thesisStatus && $thesisStatus != '' && $allThesisStatuses.contains($thesisStatus.trim().toLowerCase()) )
14 14   #set( $selectedStatus = $thesisStatus.trim().toLowerCase() )
... ... @@ -92,6 +92,16 @@
92 92   #set( $contactFirstName = $contactdoc.display("first_name") )
93 93   #set( $contactLastName = $contactdoc.display("last_name") )
94 94  #end
96 +$selectedStatus
97 +$userSelected
98 +$roleSelected
99 +$supervisor
100 +$cosupervisor
101 +$contact
102 +$userFirstName $userLastName
103 +$supervisorFirstName $supervisorLastName
104 +$cosupervisorFirstName $cosupervisorLastName
105 +$contactFirstName $contactLastName
95 95  ##
96 96  ## $userSelected true and $roleSelected false means one user for all roles
97 97  ## $userSelected true and $roleSelected true for one user with one specific role
... ... @@ -126,67 +126,32 @@
126 126  #if( $selectedStatus == 'all' )
127 127   ALL STATUSES
128 128  #else
140 +## some selected status
129 129   #if( $userSelected )
142 +## some user selected
130 130   #if( $roleSelected )
144 +## some specific role selected
131 131   #set ($sql = ", BaseObject as obj, StringProperty as prop0, LargeStringProperty as prop1, DateProperty as prop2
132 - where obj.name = doc.fullName and obj.className='Theses.ThesisClass' and obj.name<>'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop0.name = 'status' and prop1.name = '$roleSelectedFieldName' and prop2.name = '$orderingDateFieldName' and prop0.value = '$thesisStatus' and prop1.value like '%$userName%' order by prop2.value desc" )
146 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop0.name = 'status' and prop1.name = '$roleSelectedFieldName' and prop2.name = '$orderingDateFieldName' and prop0.value = '$thesisStatus' and prop1.value like '%$userName%' order by prop2.value desc" )
147 + #else
148 +## no specific role selected
149 + #set ($sql = ", BaseObject as obj, StringProperty as prop0, LargeStringProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, DateProperty as prop4
150 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' 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 prop0.name = 'status' and prop1.name = 'supervisor' and prop2.name = 'coSupervisors' and prop3.name = 'contact' and prop4.name = '$orderingDateFieldName' and prop0.value = '$thesisStatus' and ( prop1.value like '%$userName%' or prop2.value like '%$userName%' or prop3.value like '%$userName%' ) order by prop4.value desc" )
151 + #end
152 + #elseif( $roleSelected )
153 +## no user selected, some role selected
154 + #set ($sql = ", BaseObject as obj, StringProperty as prop0, LargeStringProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, DateProperty as prop4
155 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' 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 prop0.name = 'status' and prop1.name = 'supervisor' and prop2.name = 'coSupervisors' and prop3.name = 'contact' and prop4.name = '$orderingDateFieldName' and prop1.value like '%$supervisorName%' and prop2.value like '%$cosupervisorName%' and prop3.value like '%$contactName%' order by prop4.value desc")
133 133   #else
134 - #set ($sql = ", BaseObject as obj, StringProperty as prop, LargeStringProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, DateProperty as prop4
135 - where obj.name=doc.fullName and
136 - obj.className='Theses.ThesisClass' and
137 - obj.name<>'Theses.ThesisClassTemplate' and
138 - prop.id.id=obj.id and
139 - prop1.id.id=obj.id and
140 - prop2.id.id=obj.id and
141 - prop3.id.id=obj.id and
142 - prop4.id.id=obj.id and
143 - prop.name='status' and
144 - prop.value = '$thesisStatus' and
145 - prop1.name='supervisor' and
146 - prop2.name='coSupervisors' and
147 - prop3.name='contact' and
148 - prop4.name='$orderingDateFieldName' and
149 - ( prop1.value like '%$userName%' or
150 - prop2.value like '%$userName%' or
151 - prop3.value like '%$userName%')
152 - order by prop4.value desc")
157 +## no user selected, some role selected
158 + #set ($sql = ", BaseObject as obj, StringProperty as prop0, DateProperty as prop1
159 + where obj.name = doc.fullName and obj.className = 'Theses.ThesisClass' and obj.name <> 'Theses.ThesisClassTemplate' and obj.name <> 'Theses.ThesisTemplate' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop0.name = 'status' and prop1.name = '$orderingDateFieldName' and prop0.value = '$thesisStatus' order by prop1.value desc" )
153 153   #end
154 -#elseif ( $roleSelected )
155 - #set ($sql = ", BaseObject as obj, StringProperty as prop, LargeStringProperty as prop1, LargeStringProperty as prop2, LargeStringProperty as prop3, DateProperty as prop4
156 - where obj.name=doc.fullName and
157 - obj.className='Theses.ThesisClass' and
158 - obj.name<>'Theses.ThesisClassTemplate' and
159 - prop.id.id=obj.id and
160 - prop1.id.id=obj.id and
161 - prop2.id.id=obj.id and
162 - prop3.id.id=obj.id and
163 - prop4.id.id=obj.id and
164 - prop.name='status' and
165 - prop.value = '$thesisStatus' and
166 - prop1.name='supervisor' and
167 - prop2.name='coSupervisors' and
168 - prop3.name='contact' and
169 - prop4.name='$orderingDateFieldName' and
170 - prop1.value like '%$supervisorName%' and
171 - prop2.value like '%$cosupervisorName%' and
172 - prop3.value like '%$contactName%'
173 - order by prop4.value desc")
174 -#else
175 - #set ($sql = ", BaseObject as obj, StringProperty as prop, DateProperty as prop1
176 - where obj.name=doc.fullName and
177 - obj.className='Theses.ThesisClass' and
178 - obj.name<>'Theses.ThesisClassTemplate' and
179 - prop.id.id=obj.id and
180 - prop1.id.id=obj.id and
181 - prop.name='status' and
182 - prop.value = '$thesisStatus' and
183 - prop1.name='$orderingDateFieldName'
184 - order by prop1.value desc")
185 185  #end
186 -#set($thesisFound = $xwiki.searchDocuments($sql))
162 +#set( $thesisFound = $xwiki.searchDocuments($sql) )
187 187  ##
188 188  #foreach ($thesis in $thesisFound)#set($thesisDoc = $xwiki.getDocument($thesis))
189 -* #thesisTitleLink($thesis)#if( $thesisDoc.getValue("studentUserName") != "" || $thesisDoc.getValue("studentName") != "" || ( $thesisDoc.getValue("studentFirstName") != "" && $thesisDoc.getValue("studentLastName") != "" ) ) //(#thesisAuthorLink($thesis)#if( $thesisDoc.display("endDate") != "" ), #thesisYear($thesis)#end)//#end
190 -
165 +##* #thesisTitleLink($thesis)#if( $thesisDoc.getValue("studentUserName") != "" || $thesisDoc.getValue("studentName") != "" || ( $thesisDoc.getValue("studentFirstName") != "" && $thesisDoc.getValue("studentLastName") != "" ) ) //(#thesisAuthorLink($thesis)#if( $thesisDoc.display("endDate") != "" ), #thesisYear($thesis)#end)//#end
166 +* $thesis
191 191  #end
192 192  {{/velocity}}