Changes for page VelocityMacros
Last modified by Jean Franco on 2022/10/27 21:09
edited by Jean Franco
on 2022/07/30 13:08
on 2022/07/30 13:08
edited by Jean Franco
on 2022/10/27 21:09
on 2022/10/27 21:09
Change comment:
Install extension [com.xwiki.licensing:application-licensing-licensor-ui/1.23]
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -155,34 +155,41 @@ 155 155 {{/html}} 156 156 #end 157 157 158 -#macro (licenseButton $licenseType $cssClass $key $jsonData) 158 +#macro (licenseButton $licenseType $cssClass $iconName $key $jsonData) 159 159 #set ($jsonData.licenseType = $licenseType) 160 - #set ($label = $services.localization.render("licensor.${key}License.label")) 161 - <button class="btn btn-$cssClass licenseButton licenseButton-$escapetool.xml($key)" 162 - data-button="$escapetool.xml($jsontool.serialize($jsonData))">$label</button> 160 + #set ($label = $escapetool.xml($services.localization.render("licensor.${key}License.label"))) 161 + <a href="#$escapetool.xml($key)" class="action licenseButton licenseButton-$escapetool.xml($key)" 162 + data-button="$escapetool.xml($jsontool.serialize($jsonData))" title="$label"> 163 + <span class="action-icon"><span class="fa fa-$iconName"></span></span>## 164 + <span class="action-label">$label</span> 165 + </a> 163 163 #end 164 164 165 -#macro ( moreActionsButton $extensionId)168 +#macro (autoUpgradeButton $extensionId) 166 166 #set ($licensingConfigDoc = $xwiki.getDocument('Licenses.Code.LicensingConfig')) 167 167 #set ($autoUpgradesObj = $licensingConfigDoc.getObject('Licenses.Code.AutomaticUpgradesClass')) 168 168 #set ($isAutoUpgrade = $autoUpgradesObj.getValue('allowlist').contains($extensionId)) 172 + #set ($upgradeL10nKey = "#if ($isAutoUpgrade)prevent#{else}allow#end") 169 169 <div class="btn-group"> 170 - <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false" 171 - title="$services.localization.render("licensor.moreActions")" role="button"> 172 - <span class="fa fa-ellipsis-v"></span> 173 - </a> 174 - <ul class="dropdown-menu dropdown-left"> 175 - <li class="dropdown-header"> 176 - <form target="_blank" class="xform half"> 177 - <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.token)" /> 178 - <input type="hidden" name="extensionId" value="$extensionId" /> 179 - <input type="checkbox" name="autoUpgrade" #if ($isAutoUpgrade) checked #end /> 180 - <label for="autoUpgrade"> 181 - $services.localization.render("licensor.moreActions.autoUpgrade.allow") 182 - </label> 183 - </form> 184 - </li> 185 - </ul> 174 + <form target="_blank" class="xform half"> 175 + <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.token)" /> 176 + <input type="hidden" name="extensionId" value="$!escapetool.xml($extensionId)" /> 177 + <input type="hidden" name="autoUpgrade" value="$!escapetool.xml($isAutoUpgrade)" /> 178 + ## The data translations attributes are used for updating the title from js. These can be removed once licensing 179 + ## starts depending on a XWiki version >= 13.8 to include XWIKI-18973: Simplify the way JavaScript code loads 180 + ## translation messages. 181 + <a href="#autoUpgrade" class="action licenseButton-autoUpgrade" title="$escapetool.xml( 182 + $services.localization.render("licensor.moreActions.autoUpgrade.${upgradeL10nKey}"))" data-allow-label= 183 + "$escapetool.xml($services.localization.render('licensor.moreActions.autoUpgrade.allow'))" 184 + data-prevent-label="$escapetool.xml( 185 + $services.localization.render('licensor.moreActions.autoUpgrade.prevent'))" > 186 + <span class="action-icon #if ($isAutoUpgrade)isAutoUpgrade#end"> 187 + <span class="fa fa-cloud-download"></span>## 188 + </span><span class="action-label">$escapetool.xml( 189 + $services.localization.render('licensor.moreActions.autoUpgrade.label')) 190 + </span> 191 + </a> 192 + </form> 186 186 </div> 187 187 #end 188 188 ... ... @@ -195,24 +195,30 @@ 195 195 }) 196 196 #if (!$license || $license.expirationDate == 0) 197 197 ## No license available. 198 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)")) 199 - #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'trial' $jsonData)")) 205 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)")) 206 + #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'hourglass-start' 'trial' $jsonData)")) 200 200 #elseif ($license.type == 'FREE') 201 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)")) 208 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)")) 202 202 #elseif ($license.type == 'TRIAL') 203 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'paid' $jsonData)")) 204 - #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'extendTrial' $jsonData)")) 210 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'paid' $jsonData)")) 211 + #set ($discard = $actions.add("#licenseButton('TRIAL' 'primary' 'hourglass-end' 'extendTrial' $jsonData)")) 205 205 #elseif ($license.type == 'PAID') 206 - #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'extendPaid' $jsonData)")) 213 + #set ($discard = $actions.add("#licenseButton('PAID' 'success' 'shopping-cart' 'extendPaid' $jsonData)")) 207 207 #end 208 - #set ($discard = $actions.add("#moreActionsButton($jsonData.featureId)")) 209 209 #end 210 210 211 211 #macro (licenseActions $license $extension) 212 212 #set ($actions = []) 219 + ## Pull the resources needed by license actions. 220 + #set ($discard = $services.icon.use('Font Awesome')) 213 213 #getLicenseActions($license $extension $actions) 214 - <div class="licenseActions"> 215 - $stringtool.join($actions, '') 222 + <div class="licenseActions container-fluid"> 223 + <div class="row"> 224 + $stringtool.join($actions, '') 225 + </div> 226 + <div class="row"> 227 + #autoUpgradeButton($extension.id.id) 228 + </div> 216 216 </div> 217 217 #end 218 218 {{/velocity}}