Änderungen von Dokument Team
Zuletzt geändert von xwikiadmin am 2025/05/21 10:10
Von 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]
Auf 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]
Zusammenfassung
-
Objekte (1 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- 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)) ... ... @@ -45,166 +45,146 @@ 45 45 </a> 46 46 </li> 47 47 #end 48 -#macro (addUsersFromWiki $list $wiki $limit) 49 - #set($l = $services.query.hql($hql).setLimit($limit).setWiki($wiki).execute()) 50 - #foreach($username in $l) 51 - #set($discard = $list.add("$wiki:$username")) 52 - #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) 53 53 #end 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) 70 - #end 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') 83 - #end 84 - #else 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') 85 85 #set($scope = 'global') 72 + #elseif($wikiUserScope == 'LOCAL_AND_GLOBAL') 73 + #set($scope = 'both') 74 + #else 75 + #set($scope = 'local') 86 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 = "") 115 115 #else 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 - ") 78 + #set($scope = 'global') 129 129 #end 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 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 149 149 ") 150 - #set($list = []) 151 - #if ($scope == "global") 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()) 145 + #foreach($username in $l) 146 + #set($discard = $list.add("$wiki:$username")) 147 + #end 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()) 152 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 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 194 #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) 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> 188 + #else 189 + <p>$escapetool.xml($services.localization.render('rendering.macro.team.content.noUsers'))</p> 190 + #end 191 +</div> 192 +{{/html}} 195 195 {{/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}}