Ä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
Ä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
Änderungskommentar: Install extension [com.xwiki.pro:xwiki-pro-macros/1.6]

Zusammenfassung

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}}