Changes for page Per Status

From version 70.2
edited by Andrea Omicini
on 02/01/2023 16:29
Change comment: There is no comment for this version
To version 67.3
edited by Andrea Omicini
on 22/07/2022 17:55
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,92 +1,61 @@
1 1  = {{italiano}}Per stato{{/italiano}}{{english}}Per Status{{/english}} =
2 2  
3 3  {{include reference="Publications.Environment" excludeFirstHeading="true"/}}{{velocity}}
4 -## a Publications page
5 5  #set( $publicationMenu = true )
6 6  #### get parameters
7 7  ## who
8 -#set( $userNamePar = $request.user.trim() )
9 -#set( $firstNamePar = $request.name.trim() )
10 -#set( $lastNamePar = $request.surname.trim() )
7 +#set( $userNamePar = $context.getRequest().getParameter("user") )
8 +#set( $firstNamePar = $context.getRequest().getParameter("name") )
9 +#set( $lastNamePar = $context.getRequest().getParameter("surname") )
11 11  ## which status
12 -#set( $statusPar = $request.status.trim() )
11 +#set($statusPar = $context.getRequest().getParameter("status"))
13 13  ##
14 14  #### handle who
15 15  #if( $userName )
16 -## from a personal page, "XWiki.$userName" $userName form
17 - #if( !$xwiki.exists( $userName ) )
18 -{{warning}}User $userName does not exist{{/warning}}
19 - #stop
20 - #end
21 - #set( $apiceUser = true )
22 - #set( $oneUser = true )
15 +## from a personal page, "XWiki.PersonalSpace" $userName form
16 + #set( $oneAuthor = true )
23 23   #set( $userdoc = $xwiki.getDocument($userName) )
24 - #set( $userFirstName = $userdoc.display("first_name") )
25 - #set( $userLastName = $userdoc.display("last_name") )
26 -#elseif( $userNamePar ) ## from the URL, "user=$userNamePar" parameter
27 - #if( $userNamePar.contains('XWiki.') )
28 - #set( $userName = "$userNamePar" )
29 - #else
30 - #set( $userName = "XWiki.$userNamePar" )
31 - #end
32 - #if( !$xwiki.exists( $userName ) )
33 - #if( $services.localization.currentLocale == 'it' )
34 -{{warning}}L'utente “$userNamePar” non esiste{{/warning}}
35 - #else
36 -{{warning}}User “$userNamePar” does not exist{{/warning}}
37 - #end
38 - #stop
39 - #end
40 - #set( $apiceUser = true )
41 - #set( $oneUser = true)
42 - #set( $userdoc = $xwiki.getDocument($userName) )
43 - #set( $userFirstName = $userdoc.display("first_name") )
44 - #set( $userLastName = $userdoc.display("last_name") )
18 + #set( $authorFirstName = $userdoc.display("first_name") )
19 + #set( $authorLastName = $userdoc.display("last_name") )
20 +#elseif( $userNamePar )
21 +## from the URL, "user=PersonalSpace" parameter
22 + #set( $oneAuthor = true)
23 + #set( $userdoc = $xwiki.getDocument("XWiki.$userNamePar") )
24 + #set( $authorFirstName = $userdoc.display("first_name") )
25 + #set( $authorLastName = $userdoc.display("last_name") )
45 45  #elseif( $firstNamePar && $lastNamePar )
46 46  ## from the URL, "name=Firstname&surname=Lastname" parameter
47 - #set( $apiceUser = false )
48 - #set( $oneUser = true )
49 - #set( $userFirstName = $firstNamePar )
50 - #set( $userLastName = $lastNamePar )
28 + #set( $oneAuthor = true )
29 + #set( $authorFirstName = $firstNamePar )
30 + #set( $authorLastName = $lastNamePar )
51 51  #else
52 - #set( $apiceUser = false )
53 - #set( $oneUser = false )
54 - #set( $userFirstName = "" )
55 - #set( $userLastName = "" )
32 + #set( $oneAuthor = false )
33 + #set( $authorFirstName = "" )
34 + #set( $authorLastName = "" )
56 56  #end
57 -#if( $oneUser )
58 - #if( $apiceUser )
59 - #set( $userString = "%$userName%" )
60 - #else
61 - #set( $userString = "%$userFirstName $userLastName%" )
62 - #end
63 -#else
64 - #set( $userString = "%%" )
65 -#end
66 66  ##
67 67  #### handle status
68 68  ## $oneStatus false gets a list of statuses, true just one
69 69  #set( $oneStatus = false )
70 70  ## $statusList gets the list of statuses to be shown
71 -#set( $statusList = [] )
72 72  ## default: all unpublished papers except Rejected ones
73 -#set( $discard = $statusList.addAll($unpublishedStatuses) )
42 +#set( $statusList = $statusRangeUnpublished )
74 74  #if( $statusPar.toLowerCase() == "all" )
75 75  ## 'all' value gets all unpublished papers including "Rejected" ones
76 - #set( $discard = $statusList.add("rejected") )
45 + #set($statusList = $statusRangeUnpublishedFull)
77 77  #else
78 - #if( $allStatusesPlus.contains($statusPar) )
47 + #if( $statusRangeFull.contains($statusPar) )
79 79   ## 'status' parameter is an admissible publication status value
80 - #set( $oneStatus = true )
81 - #set( $statusList = [$statusPar] )
49 + #set($oneStatus = true)
50 + #set($statusList = [$statusPar])
82 82   #end
83 83  #end
84 84  ##
85 85  {{id name="top"/}}
86 -#if( $oneUser )#if( $oneStatus )
87 ->**{{pubStatus uppercase='true' plural='true'}}$statusPar{{/pubStatus}}** / $userFirstName $userLastName
55 +#if( $oneAuthor )#if( $oneStatus )
56 +>**{{pubStatus uppercase='true' plural='true'}}$statusPar{{/pubStatus}}** / $authorFirstName $authorLastName
88 88  #else
89 ->**{{pubStatus uppercase='true' plural='true'}}unpublished{{/pubStatus}}** / $userFirstName $userLastName
58 +>**{{pubStatus uppercase='true' plural='true'}}unpublished{{/pubStatus}}** / $authorFirstName $authorLastName
90 90  #end#elseif($oneStatus)
91 91  >{{pubStatus uppercase='true' plural='true'}}$statusPar{{/pubStatus}}
92 92  #else
... ... @@ -94,12 +94,12 @@
94 94  #end
95 95  ##
96 96  #if( !$oneStatus )
97 -(% style="font-size: smaller; padding:1em 1.5em 0.25em 1.5em; background-color:$theme.highlightColor" %)(((#foreach( $status in $statusList )#if( $foreach.index > 0 ) | #end[[{{pubStatus}}$status{{/pubStatus}}>>||anchor=$status]]#end)))
66 +(% style="font-size: smaller; padding:1em 1.5em 0.25em 1.5em; background-color:$theme.highlightColor" %)(((#foreach( $status in $statusList )#if( $velocityCount > 1 ) | #end[[{{pubStatus}}$status{{/pubStatus}}>>||anchor=$status]]#end)))
98 98  #end
99 99  ##
100 100  #foreach( $status in $statusList )
101 - #set( $from = ", BaseObject as obj, LargeStringProperty as prop0, LargeStringProperty as prop1, StringProperty as prop2" )
102 - #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'" )
70 + #set( $from = ", BaseObject as obj, LargeStringProperty as prop0, StringProperty as prop1" )
71 + #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 prop0.name='author' and (prop0.value like '%$authorFirstName $authorLastName%' or prop0.value like '%$authorLastName, $authorFirstName%') and prop1.name = 'status' and prop1.value = '$status'" )
103 103   #set( $sql = $from + " where " + $where )
104 104   #set( $pubFound = $xwiki.searchDocuments($sql) )
105 105   #set( $pubStatusNo = $pubFound.size() )
... ... @@ -108,7 +108,10 @@
108 108  (% style="border-style:solid hidden hidden solid; border-color:$theme.borderColor; text-align:left; font-style:oblique" %)|{{id name='$sort'/}}{{pubStatus plural='true' uppercase='true'}}$status{{/pubStatus}}{{id name="$status"/}}
109 109   #end
110 110   #foreach( $pub in $pubFound )#if( $xwiki.exists($pub) )#set( $pubDoc = $xwiki.getDocument($pub) )#if( $pubDoc.getObject("${objectSpace}.${objectClass}") )## handling visibility at show time
111 -|{{pub inline='false' linked='title'}}$pub{{/pub}}
80 +##|(% style='color:$theme.textColor; display:block; line-height:1.25em; margin-top:0; margin-bottom:0em'%){{pubAutheditors eds='true'}}$pub{{/pubAutheditors}}
81 +##{{pubTitle}}$pub{{/pubTitle}}
82 +##{{pubVenue}}$pub{{/pubVenue}}(%%)
83 +|{{pub inline=false linked=true}}$pub{{/pub}}
112 112   #end#end#end
113 113  (% style="#if( !$oneStatus )border-style:hidden solid solid hidden;#end border-color:$theme.borderColor; text-align:right; font-style:oblique; font-weight:normal; font-size:smaller; color:gray" %)|($pubStatusNo #if( $pubStatusNo > 1 ){{pubStatus plural='true'}}$status{{/pubStatus}}#else{{pubStatus plural='false'}}$status{{/pubStatus}}#end) [[[top]>>||anchor="top"]]
114 114   #end