Modifications pour le document Service JSON des fichiers attachés

Modifié par Florent Charton le 2026/01/08 10:56

Depuis la version 1.1
modifié par superadmin
sur 2022/06/20 08:48
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-index-ui/13.10.6]
À la version 3.1
modifié par Florent Charton
sur 2026/01/08 10:56
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-index-ui/17.4.8]

Résumé

Détails

Propriétés de la Page
Auteur du document
... ... @@ -1,1 +1,1 @@
1 -XWiki.superadmin
1 +xwiki:XWiki.fcharton
Contenu
... ... @@ -1,99 +1,6 @@
1 1  {{template name="hierarchy_macros.vm" /}}
2 +{{template name="attachment_macros.vm" /}}
2 2  
3 -{{velocity output="false"}}
4 -#macro (maybeApplyStringFilter $fieldName $defaultMatchType $constraints $queryParameters)
5 - #if ("$!request.getParameter($fieldName)" != '')
6 - #set ($fieldNameWithAlias = $fieldName)
7 - #if ($fieldName.indexOf('.') < 0)
8 - #set ($fieldNameWithAlias = 'attachment.' + $fieldName)
9 - #end
10 - #set ($matchType = $request.getParameter("${fieldName}_match"))
11 - #if ("$!matchType" == '')
12 - #set ($matchType = $defaultMatchType)
13 - #end
14 - #set ($parameterName = $fieldNameWithAlias.replace('.', '_'))
15 - #if ($matchType == 'exact')
16 - #set ($discard = $constraints.add("$fieldNameWithAlias = :$parameterName"))
17 - #set ($parameterValue = $request.getParameter($fieldName))
18 - #else
19 - #set ($discard = $constraints.add("lower($fieldNameWithAlias) like lower(:$parameterName)"))
20 - #set ($parameterValue = $request.getParameter($fieldName).trim())
21 - #end
22 - #set ($discard = $queryParameters.add({
23 - 'name': $parameterName,
24 - 'match': $matchType,
25 - 'value': $parameterValue
26 - }))
27 - #end
28 -#end
29 -
30 -#macro (maybeApplyIntegerRangeFilter $fieldName $constraints $queryParameters)
31 - #set ($fieldValue = $request.getParameter($fieldName))
32 - #if ("$!fieldValue" != '')
33 - #set ($range = $fieldValue.split('-'))
34 - #set ($range = [$numbertool.toNumber($range.get(0)).intValue(), $numbertool.toNumber($range.get(1)).intValue()])
35 - #applyRangeFilter($fieldName $range $constraints $queryParameters)
36 - #end
37 -#end
38 -
39 -#macro (maybeApplyDateRangeFilter $fieldName $constraints $queryParameters)
40 - #set ($fieldValue = $request.getParameter($fieldName))
41 - #if ("$!fieldValue" != '')
42 - #set ($range = $fieldValue.split('-'))
43 - #set ($range = [
44 - $datetool.toDate($numbertool.toNumber($range.get(0))),
45 - $datetool.toDate($numbertool.toNumber($range.get(1)))
46 - ])
47 - #applyRangeFilter($fieldName $range $constraints $queryParameters)
48 - #end
49 -#end
50 -
51 -#macro (applyRangeFilter $fieldName $range $constraints $queryParameters)
52 - #set ($fieldNameWithAlias = $fieldName)
53 - #if ($fieldName.indexOf('.') < 0)
54 - #set ($fieldNameWithAlias = 'attachment.' + $fieldName)
55 - #end
56 - #set ($parameterNamePrefix = $fieldNameWithAlias.replace('.', '_'))
57 - #set ($start = $range.get(0))
58 - #if ($start)
59 - #set ($startParameterName = $parameterNamePrefix + '_start')
60 - #set ($discard = $constraints.add("$fieldNameWithAlias >= :$startParameterName"))
61 - #set ($discard = $queryParameters.add({
62 - 'name': $startParameterName,
63 - 'match': 'exact',
64 - 'value': $start
65 - }))
66 - #end
67 - #set ($end = $range.get(1))
68 - #if ($end)
69 - #set ($endParameterName = $parameterNamePrefix + '_end')
70 - #set ($discard = $constraints.add("$fieldNameWithAlias < :$endParameterName"))
71 - #set ($discard = $queryParameters.add({
72 - 'name': $endParameterName,
73 - 'match': 'exact',
74 - 'value': $end
75 - }))
76 - #end
77 -#end
78 -
79 -#macro (displayAttachmentMimeType $attachment)
80 - <div class="mime" data-type="$!escapetool.xml($attachment.mimeType)">
81 - #if ($attachment.isImage())
82 - <span title="$escapetool.xml($services.localization.render('core.viewers.attachments.mime.image'))">
83 - <img src="$xwiki.getURL($attachmentReference, 'download', 'width=48')"
84 - alt="$escapetool.xml($attachment.filename)" />
85 - </span>
86 - #else
87 - #mimetypeimg($attachment.mimeType.toLowerCase() $attachment.filename.toLowerCase())
88 - #end
89 - </div>
90 -#end
91 -
92 -#macro (displayAttachmentSize $attachment)
93 - <span class="size" data-size="$!escapetool.xml($attachment.longSize)">#dynamicsize($attachment.longSize)</span>
94 -#end
95 -{{/velocity}}
96 -
97 97  {{velocity wiki="false"}}
98 98  ## ========================================================================================
99 99  ## This page is requested asynchronously by the Attachments live table and returns a set of
... ... @@ -106,10 +106,7 @@
106 106   #if (!$offset || $offset < 0)
107 107   #set ($offset = 0)
108 108   #end
109 - #set ($limit = $numbertool.toNumber($request.limit).intValue())
110 - #if (!$limit)
111 - #set ($limit = 15)
112 - #end
16 + #getAndValidateQueryLimitFromRequest('limit', 15, $limit)
113 113   ##
114 114   ## Apply live table filters.
115 115   ##
... ... @@ -178,9 +178,12 @@
178 178   'local': true,
179 179   'displayTitle': false
180 180   })")
85 + ## The field "fullName" was used by Livetable and is needed for backwards-compatibility.
86 + ## The field "doc.fullName" is needed by LiveData as doc.fullName is the actual field name.
181 181   #set ($row = {
182 182   'acclev': $hasAccess,
183 183   'fullName': $location,
90 + 'doc.fullName': $location,
184 184   'filename': $attachmentReference.name,
185 185   'fileurl': $xwiki.getURL($attachmentReference)
186 186   })
... ... @@ -190,9 +190,9 @@
190 190   #set ($authorReference = $services.model.resolveDocument($attachment.author))
191 191   #set ($discard = $row.putAll({
192 192   'mimeType': "#displayAttachmentMimeType($attachment)",
193 - 'filesize': "#displayAttachmentSize($attachment)",
100 + 'filesize': "#displayAttachmentSize($attachment.longSize)",
194 194   'date': $xwiki.formatDate($attachment.date),
195 - 'author': $xwiki.getUserName($attachment.author)
102 + 'author': "#displayUserNameWithAvatar($attachment.author)"
196 196   }))
197 197   #end
198 198   #set ($discard = $results.rows.add($row))