Modifications pour le document Service JSON des fichiers attachés
Modifié par Florent Charton le 2026/01/08 10:56
Depuis la version 3.1
modifié par Florent Charton
sur 2026/01/08 10:56
sur 2026/01/08 10:56
Commentaire de modification :
Install extension [org.xwiki.platform:xwiki-platform-index-ui/17.4.8]
À la version 1.1
modifié par superadmin
sur 2022/06/20 08:48
sur 2022/06/20 08:48
Commentaire de modification :
Install extension [org.xwiki.platform:xwiki-platform-index-ui/13.10.6]
Résumé
-
Propriétés de la Page (2 modifications, 0 ajouts, 0 suppressions)
Détails
- Propriétés de la Page
-
- Auteur du document
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki:XWiki.fcharton1 +XWiki.superadmin - Contenu
-
... ... @@ -1,6 +1,99 @@ 1 1 {{template name="hierarchy_macros.vm" /}} 2 -{{template name="attachment_macros.vm" /}} 3 3 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 + 4 4 {{velocity wiki="false"}} 5 5 ## ======================================================================================== 6 6 ## This page is requested asynchronously by the Attachments live table and returns a set of ... ... @@ -13,7 +13,10 @@ 13 13 #if (!$offset || $offset < 0) 14 14 #set ($offset = 0) 15 15 #end 16 - #getAndValidateQueryLimitFromRequest('limit', 15, $limit) 109 + #set ($limit = $numbertool.toNumber($request.limit).intValue()) 110 + #if (!$limit) 111 + #set ($limit = 15) 112 + #end 17 17 ## 18 18 ## Apply live table filters. 19 19 ## ... ... @@ -82,12 +82,9 @@ 82 82 'local': true, 83 83 'displayTitle': false 84 84 })") 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. 87 87 #set ($row = { 88 88 'acclev': $hasAccess, 89 89 'fullName': $location, 90 - 'doc.fullName': $location, 91 91 'filename': $attachmentReference.name, 92 92 'fileurl': $xwiki.getURL($attachmentReference) 93 93 }) ... ... @@ -97,9 +97,9 @@ 97 97 #set ($authorReference = $services.model.resolveDocument($attachment.author)) 98 98 #set ($discard = $row.putAll({ 99 99 'mimeType': "#displayAttachmentMimeType($attachment)", 100 - 'filesize': "#displayAttachmentSize($attachment .longSize)",193 + 'filesize': "#displayAttachmentSize($attachment)", 101 101 'date': $xwiki.formatDate($attachment.date), 102 - 'author': "#displayUserNameWithAvatar($attachment.author)"195 + 'author': $xwiki.getUserName($attachment.author) 103 103 })) 104 104 #end 105 105 #set ($discard = $results.rows.add($row))