Modifiche per il documento Utenti

Dalla versione 9.1
modificato da Andrea Omicini
il 2026/08/29 01:11
Cambia il commento: Nessun commento per questa versione
Alla versione 11.1
modificato da Andrea Omicini
il 2026/08/29 17:44
Cambia il commento: add the ?status= filter, validated against the class's own value list

Summary

Details

Page properties
Content
... ... @@ -14,6 +14,11 @@
14 14  ##
15 15  ## the groups, in class order, and the people, from the users themselves
16 16  #set( $statusList = $xwiki.getDocument('XWiki.XWikiUsers').getxWikiClass().get('status').getListValues() )
17 +## an optional ?status=<value> filter. The value is validated against the list the
18 +## class itself declares, so no status value is written down here: change the class
19 +## and both the grouping and the filter follow.
20 +#set( $wanted = "$!request.getParameter('status')" )
21 +#set( $known = ( $wanted == '' || $statusList.contains($wanted) ) )
17 17  #set( $people = {} )
18 18  #foreach( $s in $statusList )
19 19   #set( $discard = $people.put($s, []) )
... ... @@ -55,15 +55,31 @@
55 55   #end
56 56  #end
57 57  ##
63 +#if( !$known )
64 +#### the class does not declare this value — say so, and show what it does declare
65 +>{{stringEngIta eng="Unknown status" ita="Stato sconosciuto"/}}: **$escapetool.xml($wanted)**
66 +
67 + #foreach( $s in $statusList )[[$services.localization.render("XWiki.XWikiUsers_status_${s}")>>||queryString="status=${s}"]]#if( !$foreach.last ) • #end#end
68 +
69 +#elseif( $wanted != '' )
70 +#### ONE GROUP, ASKED FOR BY ?status= — students included, like any other value
71 + #if( $people.get($wanted).isEmpty() )
72 +
73 +>{{stringEngIta eng="Nobody has this status" ita="Nessuno ha questo stato"/}}
74 +
75 + #else
76 + #apiceGroup($wanted)
77 + #end
78 +#else
58 58  #### CURRENT PEOPLE — every status except students and past members
59 59  #foreach( $s in $statusList )
60 - #if( $s != 'Student' && $s != 'Gone' )
81 + #if( $s != 'student' && $s != 'gone' )
61 61   #apiceGroup($s)
62 62   #end
63 63  #end
64 64  ##
65 65  #### PAST MEMBERS
66 -#apiceGroup('Gone')
87 +#apiceGroup('gone')
67 67  ##
68 68  #### anyone whose status is not among those declared by the class — should be empty
69 69  #set( $strays = [] )
... ... @@ -79,5 +79,6 @@
79 79   #foreach( $stray in $strays )$stray#if( !$foreach.last ) • #end#end
80 80  
81 81  #end
103 +#end
82 82  {{/velocity}}
83 83