Änderungen von Dokument Team
Zuletzt geändert von xwikiadmin am 2025/05/21 10:12
Von Version 4.1
bearbeitet von xwikiadmin
am 2023/10/26 09:48
am 2023/10/26 09:48
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.12]
Auf Version 1.1
bearbeitet von xwikiadmin
am 2023/03/07 16:26
am 2023/03/07 16:26
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.7]
Zusammenfassung
-
Seiteneigenschaften (1 geändert, 0 hinzugefügt, 0 gelöscht)
-
Objekte (1 geändert, 0 hinzugefügt, 1 gelöscht)
Details
- Seiteneigenschaften
-
- Inhalt
-
... ... @@ -4,7 +4,6 @@ 4 4 5 5 |= Parameter |= Name |= Description |= Default 6 6 | tag | {{translation key='rendering.macro.team.parameter.tag.name'/}} | {{translation key='rendering.macro.team.parameter.tag.description'/}} | 7 -| users | {{translation key='rendering.macro.team.parameter.users.name'/}} | {{translation key='rendering.macro.team.parameter.users.description'/}} | 8 8 | size | {{translation key='rendering.macro.team.parameter.size.name'/}} | {{translation key='rendering.macro.team.parameter.size.description'/}} | 60 9 9 | showUsernames | {{translation key='rendering.macro.team.parameter.showUsernames.name'/}} | {{translation key='rendering.macro.team.parameter.showUsernames.description'/}} | false 10 10 | letterAvatarBgColor | {{translation key='rendering.macro.team.parameter.letterAvatarBgColor.name'/}} | {{translation key='rendering.macro.team.parameter.letterAvatarBgColor.description'/}} | #0A6
- XWiki.WikiMacroClass[0]
-
- Makro-Code
-
... ... @@ -1,4 +1,7 @@ 1 -{{velocity output="false"}} 1 +{{velocity}} 2 +#set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 3 +#set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 4 +#set($pictureList = {}) 2 2 #macro(avatarInitials $name $size $letterAvatarBgColor $letterAvatarFontColor) 3 3 #set($escapedSize = $escapetool.xml($size)) 4 4 #set($escapedLetterAvatarFontColor = $escapetool.xml($letterAvatarFontColor)) ... ... @@ -9,7 +9,7 @@ 9 9 > 10 10 <span class="xwikiteam-avatar-initials-inner"> 11 11 <span class="xwikiteam-avatar-initials-letters" style="color: $escapedLetterAvatarFontColor"> 12 - #foreach($firstLetter in $name.toUpperCase().split("[\s \[\]-]+"))$escapetool.xml($firstLetter.charAt(0))#end15 + #foreach($firstLetter in $name.toUpperCase().split("[\s-]"))$escapetool.xml($firstLetter.charAt(0))#end 13 13 </span> 14 14 </span> 15 15 </span> ... ... @@ -33,7 +33,7 @@ 33 33 #else 34 34 #set($escapedSize = $escapetool.xml($size)) 35 35 <img 36 - class='xwikiteam-avatar fixedSize-$escapedSize'39 + class='xwikiteam-avatar' 37 37 src='$escapetool.xml($return.url)' 38 38 alt='$escapedDisplayUser' 39 39 title='$escapedDisplayUser' ... ... @@ -45,192 +45,146 @@ 45 45 </a> 46 46 </li> 47 47 #end 48 -#macro (addUsersFromWiki $list $wiki $limit $tag $userList) 49 - #set($q = $services.query.hql($hql).setLimit($limit).setWiki($wiki)) 50 - #if ("$!tag" != "") 51 - #set($q = $q.bindValue('tag', $tag)) 51 +#set($tag = $wikimacro.parameters.tag) 52 +#set($size = $wikimacro.parameters.size) 53 +#set($scope = $wikimacro.parameters.scope) 54 +#set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor) 55 +#set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor) 56 +#set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 57 +#set($showUsernames = $wikimacro.parameters.showUsernames) 58 +#set($disableTools = $wikimacro.parameters.disableTools) 59 +#set($disableLetterAvatars = $wikimacro.parameters.disableLetterAvatars) 60 +#set($limit = $wikimacro.parameters.limit) 61 +#if("$!size" == "") 62 + #set($size = 60) 63 +#end 64 +#if("$!scope" == "") 65 + #set($scope = "auto") 66 +#end 67 +#if($scope == "auto") 68 + #if($xcontext.database != $xcontext.mainWikiName && "$!services.wiki" != '') 69 + #set ($wikiUserScope = $services.wiki.user.getUserScope($services.wiki.currentWikiId)) 70 + #if($wikiUserScope == 'GLOBAL_ONLY') 71 + #set($scope = 'global') 72 + #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 73 + #set($scope = 'both') 74 + #else 75 + #set($scope = 'local') 76 + #end 77 + #else 78 + #set($scope = 'global') 52 52 #end 53 - #if(!$userList.empty) 54 - #set($q = $q.bindValue('users', $userList)) 55 - #end 56 - #set($l = $q.execute()) 80 +#end 81 +#if($scope == "both" && $xcontext.database == $xcontext.mainWikiName) 82 + #set($scope = "global") 83 +#end 84 +#if("$!letterAvatarBgColor" == "") 85 + #set($letterAvatarBgColor = "#0A6") 86 +#end 87 +#if("$!letterAvatarFontColor" == "") 88 + #set($letterAvatarFontColor = "white") 89 +#end 90 +#if("$!requireExternalAuth" == "" || "$!requireExternalAuth" == "false" || "$!requireExternalAuth" == "0") 91 + #set($requireExternalAuth = false) 92 +#end 93 +#if("$!showUsernames" == "" || "$!showUsernames" == "false" || "$!showUsernames" == "0") 94 + #set($showUsernames = false) 95 +#end 96 +#if("$!disableTools" == "" || "$!disableTools" == "false" || "$!disableTools" == "0") 97 + #set($disableTools = false) 98 +#end 99 +#if("$!disableLetterAvatars" == "" || "$!disableLetterAvatars" == "false" || "$!disableLetterAvatars" == "0") 100 + #set($disableLetterAvatars = false) 101 +#end 102 +#if("$!limit" == "") 103 + #set($limit = 100) 104 +#end 105 +#if(!$tag || $tag == "") 106 + #set($tagselect = "") 107 + #set($tagwhere = "") 108 +#else 109 + #set($tagselect = ", 110 + BaseObject as obj3, 111 + DBStringListProperty as tagprop 112 + JOIN 113 + tagprop.list list 114 + ") 115 + #set($tagwhere = " and 116 + doc.fullName = obj3.name and 117 + obj3.className = 'XWiki.TagClass' and 118 + obj3.id = tagprop.id.id and 119 + tagprop.id.name = 'tags' and 120 + list = '$tag' 121 + ") 122 +#end 123 +#set($hql = ", 124 + BaseObject as obj 125 + #if($requireExternalAuth), BaseObject as obj2 #end, 126 + IntegerProperty as prop 127 + $tagselect 128 + WHERE 129 + doc.fullName = obj.name and 130 + obj.className = 'XWiki.XWikiUsers' 131 + #if($requireExternalAuth) and 132 + doc.fullName = obj2.name and ( 133 + obj2.className = 'XWiki.LDAPProfileClass' or 134 + obj2.className = 'XWiki.OIDC.UserClass' 135 + ) 136 + #end and 137 + obj.id = prop.id.id and 138 + prop.id.name = 'active' and 139 + prop.value = 1 140 + $tagwhere 141 + ORDER BY doc.name 142 +") 143 +#macro(addUsersFromWiki $list $wiki $limit) 144 + #set($l = $services.query.hql($hql).setLimit($limit).setWiki($wiki).execute()) 57 57 #foreach($username in $l) 58 58 #set($discard = $list.add("$wiki:$username")) 59 59 #end 60 60 #end 61 -#macro (executeMacro) 62 - #set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 63 - #set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 64 - #set($pictureList = {}) 65 - #set($tag = $wikimacro.parameters.tag) 66 - #set($users = $wikimacro.parameters.users) 67 - #set($size = $wikimacro.parameters.size) 68 - #set($scope = $wikimacro.parameters.scope) 69 - #set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor) 70 - #set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor) 71 - #set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 72 - #set($showUsernames = $wikimacro.parameters.showUsernames) 73 - #set($disableTools = $wikimacro.parameters.disableTools) 74 - #set($disableLetterAvatars = $wikimacro.parameters.disableLetterAvatars) 75 - #set($limit = $wikimacro.parameters.limit) 76 - #if("$!size" == "") 77 - #set($size = 60) 149 +#set($list = []) 150 +#if ($scope == "global") 151 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 152 +#elseif ($scope == "local") 153 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 154 +#elseif ($scope == "both") 155 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 156 + #if($list.size() < $limit) 157 + #set($limit = $limit - $list.size()) 158 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 78 78 #end 79 - #if("$!scope" == "") 80 - #set($scope = "auto") 81 - #end 82 - #if($scope == "auto") 83 - #if($xcontext.database != $xcontext.mainWikiName && "$!services.wiki" != '') 84 - #set ($wikiUserScope = $services.wiki.user.getUserScope($services.wiki.currentWikiId)) 85 - #if($wikiUserScope == 'GLOBAL_ONLY') 86 - #set($scope = 'global') 87 - #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 88 - #set($scope = 'both') 89 - #else 90 - #set($scope = 'local') 160 +#end 161 +{{html wiki=false clean=false}} 162 +<div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end"> 163 + #if ($list.size() > 0) 164 + <ul class="xwikiteam-ul"> 165 + #foreach($user in $list) 166 + #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 91 91 #end 92 - #else 93 - #set($scope = 'global') 94 - #end 95 - #end 96 - #if($scope == "both" && $xcontext.database == $xcontext.mainWikiName) 97 - #set($scope = "global") 98 - #end 99 - #if("$!letterAvatarBgColor" == "") 100 - #set($letterAvatarBgColor = "#0A6") 101 - #end 102 - #if("$!letterAvatarFontColor" == "") 103 - #set($letterAvatarFontColor = "white") 104 - #end 105 - #if("$!requireExternalAuth" == "" || "$!requireExternalAuth" == "false" || "$!requireExternalAuth" == "0") 106 - #set($requireExternalAuth = false) 107 - #end 108 - #if("$!showUsernames" == "" || "$!showUsernames" == "false" || "$!showUsernames" == "0") 109 - #set($showUsernames = false) 110 - #end 111 - #if("$!disableTools" == "" || "$!disableTools" == "false" || "$!disableTools" == "0") 112 - #set($disableTools = false) 113 - #end 114 - #if("$!disableLetterAvatars" == "" || "$!disableLetterAvatars" == "false" || "$!disableLetterAvatars" == "0") 115 - #set($disableLetterAvatars = false) 116 - #end 117 - #if("$!limit" == "") 118 - #set($limit = 100) 119 - #end 120 - #if(!$users || $users == "") 121 - #set($userList = []) 122 - #set($userswhere = '') 168 + #if(!$disableTools) 169 + <li class="xwikiteam-tools-link" hidden="hidden"> 170 + <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 171 + <span class="fa fa-wrench"></span> 172 + <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 173 + </a> 174 + </li> 175 + #end 176 + </ul> 177 + <div class="xwikiteam-tools" hidden="hidden"> 178 + <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" /> 179 + <label> 180 + <input 181 + class="xwikiteam-show-username-checkbox" 182 + type="checkbox" 183 + #if($showUsernames)checked="checked"#end 184 + /> 185 + $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames')) 186 + </label> 187 + </div> 123 123 #else 124 - #set($userswhere = 'and doc.fullName in :users') 125 - #set($userList = $users.split(",")) 189 + <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 126 126 #end 127 - #if(!$tag || $tag == "") 128 - #set($tagselect = "") 129 - #set($tagwhere = "") 130 - #else 131 - #set($tagselect = ", 132 - BaseObject as obj3, 133 - DBStringListProperty as tagprop 134 - JOIN 135 - tagprop.list list 136 - ") 137 - #set($tagwhere = " and 138 - doc.fullName = obj3.name and 139 - obj3.className = 'XWiki.TagClass' and 140 - obj3.id = tagprop.id.id and 141 - tagprop.id.name = 'tags' and 142 - list = ':tag' 143 - ") 144 - #end 145 - #set($hql = ", 146 - BaseObject as obj 147 - #if($requireExternalAuth), BaseObject as obj2 #end, 148 - IntegerProperty as prop 149 - $tagselect 150 - WHERE 151 - doc.fullName = obj.name and 152 - obj.className = 'XWiki.XWikiUsers' 153 - #if($requireExternalAuth) and 154 - doc.fullName = obj2.name and ( 155 - obj2.className = 'XWiki.LDAPProfileClass' or 156 - obj2.className = 'XWiki.OIDC.UserClass' 157 - ) 158 - #end and 159 - obj.id = prop.id.id and 160 - prop.id.name = 'active' and 161 - prop.value = 1 162 - $tagwhere 163 - $userswhere 164 - ORDER BY doc.name 165 - ") 166 - #set($list = []) 167 - #if ($scope == "global") 168 - #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 169 - #elseif ($scope == "local") 170 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 171 - #elseif ($scope == "both") 172 - #addUsersFromWiki($list $services.wiki.currentWikiId $limit $tag $userList) 173 - #if($list.size() < $limit) 174 - #set($limit = $limit - $list.size()) 175 - #addUsersFromWiki($list $xcontext.mainWikiName $limit $tag $userList) 176 - #end 177 - #end 178 - {{html clean=false}} 179 - ## Starting with XWiki 13.10.4 and 14.1, img tags have a 'height: auto' style set, see XWIKI-19432: Image not to scale 180 - ## on mobile. Since this breaks the macro fixed size feature, a specific size is added. 181 - #set ($escapedSize = $escapetool.xml($size)) 182 - <div> 183 - <style> 184 - .fixedSize-$escapedSize { 185 - height: ${escapedSize}px; 186 - } 187 - </style> 188 - </div> 189 - <div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end"> 190 - #if ($list.size() > 0) 191 - <ul class="xwikiteam-ul"> 192 - #foreach($user in $list) 193 - #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 194 - #end 195 - #if(!$disableTools) 196 - <li class="xwikiteam-tools-link" hidden="hidden"> 197 - <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 198 - <span class="fa fa-wrench"></span> 199 - <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 200 - </a> 201 - </li> 202 - #end 203 - </ul> 204 - <div class="xwikiteam-tools" hidden="hidden"> 205 - <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" /> 206 - <label> 207 - <input 208 - class="xwikiteam-show-username-checkbox" 209 - type="checkbox" 210 - #if($showUsernames)checked="checked"#end 211 - /> 212 - $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames')) 213 - </label> 214 - </div> 215 - #else 216 - <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 217 - #end 218 - </div> 219 - {{/html}} 220 -#end 191 +</div> 192 +{{/html}} 221 221 {{/velocity}} 222 - 223 -{{include reference="Licenses.Code.VelocityMacros"/}} 224 - 225 -{{velocity}} 226 -## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right 227 -## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that 228 -## don't have view right on those pages. 229 -#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference)) 230 - #executeMacro 231 -#else 232 - {{error}} 233 - #getMissingLicenseMessage('proMacros.extension.name') 234 - {{/error}} 235 -#end 236 -{{/velocity}} - Standardkategorie
-
... ... @@ -1,0 +1,1 @@ 1 +content
- XWiki.WikiMacroParameterClass[10]
-
- Parameter-Beschreibung
-
... ... @@ -1,1 +1,0 @@ 1 -Comma-separated list of users to show. - Parameter verpflichtend
-
... ... @@ -1,1 +1,0 @@ 1 -Nein - Parameter-Name
-
... ... @@ -1,1 +1,0 @@ 1 -users