Changes for page Per Status

From version 73.1
edited by Andrea Omicini
on 02/01/2023 23:59
Change comment: There is no comment for this version
To version 77.1
edited by Andrea Omicini
on 03/01/2023 00:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -81,6 +81,7 @@
81 81   #set( $statusList = [$statusPar] )
82 82   #end
83 83  #end
84 +$statusList
84 84  ##
85 85  ## query to structures
86 86  #set( $pubMap = {} )
... ... @@ -90,13 +90,28 @@
90 90   #set( $where = "obj.name = doc.fullName and obj.className = '${objectSpace}.${objectClass}' and obj.name <> '${objectSpace}.${objectTemplate}' and prop0.id.id = obj.id and prop1.id.id = obj.id and prop2.id.id = obj.id and prop0.name = 'author' and prop1.name = 'editor' and ( prop0.value like '$userString' or ( prop0.value = '' and prop1.value like '$userString' ) ) and prop2.name = 'status' and prop2.value = '$status'" )
91 91   #set( $sql = $from + " where " + $where )
92 92   #set( $pubFound = $xwiki.searchDocuments($sql) )
93 - #set( $pubStatusNo = $pubFound.size() )
94 +$pubFound.size()
94 94   #if( $pubStatusNo > 0 )
95 - #set( $pubMap[$year] = $pubFound )
96 - #set( $pubNo = $pubNo + $pubYearNo )
96 + #set( $pubMap[$status] = $pubFound )
97 + #set( $pubNo = $pubNo + $pubStatusNo )
97 97   #end
98 98  #end
99 -$pubMap
100 +## output results
101 +## page subtitle
102 +{{id name="top"/}}
103 +>(%%)$pubNo #if( $pubNo == 1 ){{stringEngIta eng="$objectEngSingular.toLowerCase()" ita="$objectItaSingular.toLowerCase()"/}}#{else}{{stringEngIta eng="$objectEngPlural.toLowerCase()" ita="$objectItaPlural.toLowerCase()"/}}#{end} / #if( $oneStatus ){{pubStatus uppercase='true' plural='true'}}$statusPar{{/pubStatus}}#{else}{{pubStatus uppercase='true' plural='true'}}unpublished{{/pubStatus}}#{end}#if( $oneUser ) / $userFirstName $userLastName#{end}(%%)
104 +## stop if no pubs are found
105 +#if( $pubNo == 0 || $pubMap.keySet().size() == 0 )
106 +## redundant double check
107 + #stop
108 +#end
109 +## some pubs found
110 +## page index
111 +#if( $pubMap.keySet().size() > 1 )
112 +## found more than one status
113 +{{id name="index"/}}
114 +(% style="font-size:smaller; text-align:right; padding:1em 1.5em 0.25em 1.5em; background-color:$theme.highlightColor" %)(((#foreach( $status in $pubMap.keySet() )#if( !$foreach.first ) | #end[[${pubStatus uppercase='false' plural='true'}}$statusPar{{/pubStatus}}>>||anchor="$status"]]#end)))
115 +#end
100 100  
101 101  
102 102  {{/velocity}}