Zmeny dokumentu VelocityMacros

Naposledy upravil Admin-metais MetaIS 2025/05/28 21:41

Z verzie 1.1
Zmeniť komentár: Install extension [com.xwiki.licensing:application-licensing-licensor-ui/1.26]
Do verzie 2.1
Zmeniť komentár: Install extension [com.xwiki.licensing:application-licensing-licensor-ui/1.29]

Súhrn

Podrobnosti

Vlastnosti stránky
Obsah
... ... @@ -17,51 +17,15 @@
17 17  
18 18  #macro (getVisiblePaidExtensions)
19 19   #getPaidExtensions
20 + #set ($mandatoryExtensions = $services.licensing.licensor.getLicensedExtensionManager().getMandatoryLicensedExtensions())
20 20   #set ($visiblePaidExtensions = $collectiontool.set)
21 21   #foreach ($paidExtension in $paidExtensions)
22 - ## Filter out the paid extensions that are dependencies of other paid extensions (because the license of a paid
23 - ## extension should cover its paid dependencies).
24 - #isRequiredBy($paidExtension $paidExtensions)
25 - #if (!$isRequiredBy)
23 + #if ($mandatoryExtensions.contains($paidExtension.getId()))
26 26   #set ($discard = $visiblePaidExtensions.add($paidExtension))
27 27   #end
28 28   #end
29 29  #end
30 30  
31 -#macro (isRequiredBy $installedExtension $extensions)
32 - #set ($isRequiredBy = false)
33 - #set ($backwardDependencies = $collectiontool.queue)
34 - #addBackwardDependencies($installedExtension $backwardDependencies)
35 - ## We can't iterate the queue while modifying it and we can't write a "while" loop in Velocity so we're forced to
36 - ## rely on a range loop (limiting the number of backward dependencies that we analyze).
37 - #foreach ($i in [0..1000])
38 - #set ($backwardDependency = $backwardDependencies.poll())
39 - #if ($backwardDependency)
40 - #if ($extensions.contains($backwardDependency))
41 - #set ($isRequiredBy = true)
42 - #break
43 - #else
44 - #addBackwardDependencies($backwardDependency $backwardDependencies)
45 - #end
46 - #else
47 - #break
48 - #end
49 - #end
50 -#end
51 -
52 -#macro (addBackwardDependencies $installedExtension $backwardDependencies)
53 - #set ($backwardDependenciesSet = $collectiontool.set)
54 - #set ($discard = $backwardDependenciesSet.addAll($backwardDependencies))
55 - #set ($backwardDependenciesByNamespace = $services.extension.installed.getBackwardDependencies($installedExtension.id))
56 - #foreach ($backwardDependenciesOnNamespace in $backwardDependenciesByNamespace.values())
57 - #foreach ($backwardDependency in $backwardDependenciesOnNamespace)
58 - #if ($backwardDependenciesSet.add($backwardDependency))
59 - #set ($discard = $backwardDependencies.add($backwardDependency))
60 - #end
61 - #end
62 - #end
63 -#end
64 -
65 65  #macro (getLicensesAdminSectionURL)
66 66   ## We target the main wiki explicitly because licenses are managed globally.
67 67   #if ($xwiki.exists($services.model.createDocumentReference($xcontext.mainWikiName, 'XWiki', 'ConfigurableClass')))
... ... @@ -235,4 +235,36 @@
235 235   </div>
236 236  {{/html}}
237 237  #end
202 +
203 +#macro(installedAsDependency)
204 +{{html clean="false" wiki="true"}}
205 + <div class="modal fade" id="installed-as-dependency" tabindex="-1" role="dialog" aria-labelledby="installed-as-dependency-label">
206 + <div class="modal-dialog" role="document">
207 + <div class="modal-content">
208 + <div class="modal-header">
209 + <button type="button" class="close" data-dismiss="modal" aria-label="Close">
210 + <span aria-hidden="true">&times;</span>
211 + </button>
212 + <div class="modal-title" id="installed-as-dependency-label">
213 + $escapetool.xml($services.localization.render('licensor.installedAsDependency.modal.title'))
214 + </div>
215 + </div>
216 + <div class="modal-body">
217 + $escapetool.xml($services.localization.render('licensor.installedAsDependency.modal.description'))
218 + <ul class="parent-extensions"></ul>
219 + $escapetool.xml($services.localization.render('licensor.installedAsDependency.modal.question'))
220 + </div>
221 + <div class="modal-footer">
222 + <button type="button" class="btn btn-default" data-dismiss="modal">
223 + $escapetool.xml($services.localization.render('cancel'))
224 + </button>
225 + <button type="button" class="btn btn-primary">
226 + $escapetool.xml($services.localization.render('licensor.installedAsDependency.modal.confirm'))
227 + </button>
228 + </div>
229 + </div>
230 + </div>
231 + </div>
232 +{{/html}}
233 +#end
238 238  {{/velocity}}