Änderungen von Dokument Team
Zuletzt geändert von xwikiadmin am 2025/05/21 10:10
Von Version 1.1
bearbeitet von xwikiadmin
am 2022/11/23 13:31
am 2022/11/23 13:31
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.6]
Auf Version 2.1
bearbeitet von xwikiadmin
am 2023/04/25 11:51
am 2023/04/25 11:51
Änderungskommentar:
Install extension [com.xwiki.pro:xwiki-pro-macros/1.7.1]
Zusammenfassung
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- XWiki.WikiMacroClass[0]
-
- Makro-Code
-
... ... @@ -1,7 +1,4 @@ 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 = {}) 1 +{{velocity output="false"}} 5 5 #macro(avatarInitials $name $size $letterAvatarBgColor $letterAvatarFontColor) 6 6 #set($escapedSize = $escapetool.xml($size)) 7 7 #set($escapedLetterAvatarFontColor = $escapetool.xml($letterAvatarFontColor)) ... ... @@ -48,146 +48,166 @@ 48 48 </a> 49 49 </li> 50 50 #end 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') 79 - #end 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) 48 +#macro (addUsersFromWiki $list $wiki $limit) 144 144 #set($l = $services.query.hql($hql).setLimit($limit).setWiki($wiki).execute()) 145 145 #foreach($username in $l) 146 146 #set($discard = $list.add("$wiki:$username")) 147 147 #end 148 148 #end 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) 54 +#macro (executeMacro) 55 + #set($discard = $xwiki.ssx.use('xwiki:XWiki.Macros.Team')) 56 + #set($discard = $xwiki.jsx.use('xwiki:XWiki.Macros.Team')) 57 + #set($pictureList = {}) 58 + #set($tag = $wikimacro.parameters.tag) 59 + #set($size = $wikimacro.parameters.size) 60 + #set($scope = $wikimacro.parameters.scope) 61 + #set($letterAvatarBgColor = $wikimacro.parameters.letterAvatarBgColor) 62 + #set($letterAvatarFontColor = $wikimacro.parameters.letterAvatarFontColor) 63 + #set($requireExternalAuth = $wikimacro.parameters.requireExternalAuth) 64 + #set($showUsernames = $wikimacro.parameters.showUsernames) 65 + #set($disableTools = $wikimacro.parameters.disableTools) 66 + #set($disableLetterAvatars = $wikimacro.parameters.disableLetterAvatars) 67 + #set($limit = $wikimacro.parameters.limit) 68 + #if("$!size" == "") 69 + #set($size = 60) 159 159 #end 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) 71 + #if("$!scope" == "") 72 + #set($scope = "auto") 73 + #end 74 + #if($scope == "auto") 75 + #if($xcontext.database != $xcontext.mainWikiName && "$!services.wiki" != '') 76 + #set ($wikiUserScope = $services.wiki.user.getUserScope($services.wiki.currentWikiId)) 77 + #if($wikiUserScope == 'GLOBAL_ONLY') 78 + #set($scope = 'global') 79 + #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 80 + #set($scope = 'both') 81 + #else 82 + #set($scope = 'local') 167 167 #end 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> 84 + #else 85 + #set($scope = 'global') 86 + #end 87 + #end 88 + #if($scope == "both" && $xcontext.database == $xcontext.mainWikiName) 89 + #set($scope = "global") 90 + #end 91 + #if("$!letterAvatarBgColor" == "") 92 + #set($letterAvatarBgColor = "#0A6") 93 + #end 94 + #if("$!letterAvatarFontColor" == "") 95 + #set($letterAvatarFontColor = "white") 96 + #end 97 + #if("$!requireExternalAuth" == "" || "$!requireExternalAuth" == "false" || "$!requireExternalAuth" == "0") 98 + #set($requireExternalAuth = false) 99 + #end 100 + #if("$!showUsernames" == "" || "$!showUsernames" == "false" || "$!showUsernames" == "0") 101 + #set($showUsernames = false) 102 + #end 103 + #if("$!disableTools" == "" || "$!disableTools" == "false" || "$!disableTools" == "0") 104 + #set($disableTools = false) 105 + #end 106 + #if("$!disableLetterAvatars" == "" || "$!disableLetterAvatars" == "false" || "$!disableLetterAvatars" == "0") 107 + #set($disableLetterAvatars = false) 108 + #end 109 + #if("$!limit" == "") 110 + #set($limit = 100) 111 + #end 112 + #if(!$tag || $tag == "") 113 + #set($tagselect = "") 114 + #set($tagwhere = "") 188 188 #else 189 - <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 116 + #set($tagselect = ", 117 + BaseObject as obj3, 118 + DBStringListProperty as tagprop 119 + JOIN 120 + tagprop.list list 121 + ") 122 + #set($tagwhere = " and 123 + doc.fullName = obj3.name and 124 + obj3.className = 'XWiki.TagClass' and 125 + obj3.id = tagprop.id.id and 126 + tagprop.id.name = 'tags' and 127 + list = '$tag' 128 + ") 190 190 #end 191 -</div> 192 -{{/html}} 130 + #set($hql = ", 131 + BaseObject as obj 132 + #if($requireExternalAuth), BaseObject as obj2 #end, 133 + IntegerProperty as prop 134 + $tagselect 135 + WHERE 136 + doc.fullName = obj.name and 137 + obj.className = 'XWiki.XWikiUsers' 138 + #if($requireExternalAuth) and 139 + doc.fullName = obj2.name and ( 140 + obj2.className = 'XWiki.LDAPProfileClass' or 141 + obj2.className = 'XWiki.OIDC.UserClass' 142 + ) 143 + #end and 144 + obj.id = prop.id.id and 145 + prop.id.name = 'active' and 146 + prop.value = 1 147 + $tagwhere 148 + ORDER BY doc.name 149 + ") 150 + #set($list = []) 151 + #if ($scope == "global") 152 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 153 + #elseif ($scope == "local") 154 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 155 + #elseif ($scope == "both") 156 + #addUsersFromWiki($list $services.wiki.currentWikiId $limit) 157 + #if($list.size() < $limit) 158 + #set($limit = $limit - $list.size()) 159 + #addUsersFromWiki($list $xcontext.mainWikiName $limit) 160 + #end 161 + #end 162 + {{html wiki=false clean=false}} 163 + <div class="xwikiteam #if(!$showUsernames)xwikiteam-usernames-hidden#end"> 164 + #if ($list.size() > 0) 165 + <ul class="xwikiteam-ul"> 166 + #foreach($user in $list) 167 + #avatar($user $size $disableLetterAvatars $letterAvatarBgColor $letterAvatarFontColor) 168 + #end 169 + #if(!$disableTools) 170 + <li class="xwikiteam-tools-link" hidden="hidden"> 171 + <a href="#" role="button" title="$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))"> 172 + <span class="fa fa-wrench"></span> 173 + <span class="sr-only">$escapetool.xml($services.localization.render('rendering.macro.team.content.options'))</span> 174 + </a> 175 + </li> 176 + #end 177 + </ul> 178 + <div class="xwikiteam-tools" hidden="hidden"> 179 + <input class="xwikiteam-filter" type="text" placeholder="$escapetool.xml($services.localization.render('rendering.macro.team.content.filter'))" /> 180 + <label> 181 + <input 182 + class="xwikiteam-show-username-checkbox" 183 + type="checkbox" 184 + #if($showUsernames)checked="checked"#end 185 + /> 186 + $escapetool.xml($services.localization.render('rendering.macro.team.content.showUsernames')) 187 + </label> 188 + </div> 189 + #else 190 + <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 191 + #end 192 + </div> 193 + {{/html}} 194 +#end 193 193 {{/velocity}} 196 + 197 +{{include reference="Licenses.Code.VelocityMacros"/}} 198 + 199 +{{velocity}} 200 +## We need to check if there is a valid license because the macro is registered even if the user doesn't have view right 201 +## on the macro definition page. See XWIKI-14828: Rendering macros defined in wiki pages are available to users that 202 +## don't have view right on those pages. 203 +#if ($services.licensing.licensor.hasLicensureForEntity($xcontext.macro.doc.documentReference)) 204 + #executeMacro 205 +#else 206 + {{error}} 207 + #getMissingLicenseMessage('proMacros.extension.name') 208 + {{/error}} 209 +#end 210 +{{/velocity}}