Wiki source code of Security Advisory Application
Last modified by Simon Urli on 2026/06/25 06:58
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set ($securityEntrySpace = "SecurityAdvisoryApplication.SecurityEntries") | ||
| 3 | #set ($securityEntrySpaceRef = $services.model.resolveSpace($securityEntrySpace)) | ||
| 4 | ## FIXME: Do we keep it like that? | ||
| 5 | #set ($allUsersGroup = "XWiki.XWikiAllGroup") | ||
| 6 | #set ($isOpenToAll = $services.security.authorization.hasAccess("view", $allUsersGroup, $securityEntrySpaceRef)) | ||
| 7 | #if ($isOpenToAll) | ||
| 8 | ## Example of creating a link from a translation like "translation=my {0}link label{1} | ||
| 9 | #set ($warningMessage = $services.localization.render('securityadvisoryapplication.home.right.warning', ["__BEGINLINK__", "__ENDLINK__"])) | ||
| 10 | #set ($warningMessage = $services.rendering.escape($warningMessage, "xwiki/2.1")) | ||
| 11 | #set ($warningMessage = $warningMessage.replace($services.rendering.escape("__BEGINLINK__", "xwiki/2.1"), "[[")) | ||
| 12 | #set ($warningMessage = $warningMessage.replace($services.rendering.escape("__ENDLINK__", "xwiki/2.1"), ">>${securityEntrySpace}.WebHome]]")) | ||
| 13 | {{warning}} | ||
| 14 | $warningMessage | ||
| 15 | {{/warning}} | ||
| 16 | #end | ||
| 17 | #if ($services.security.authorization.hasAccess('admin')) | ||
| 18 | You can import an advisory from Github directly using [[this tool>>.Code.SingleAdvisoryImportPage]]. | ||
| 19 | #end | ||
| 20 | #set ($columnsProperties = { | ||
| 21 | 'doc.date': {"type":"date"}, | ||
| 22 | 'status': {}, | ||
| 23 | 'product': {"type": "suggest"}, | ||
| 24 | 'doc.title': {"link":"view"}, | ||
| 25 | 'cvssScore': {}, | ||
| 26 | 'embargoDate': {"html": true}, | ||
| 27 | 'doc.author': {"link":"author"}, | ||
| 28 | '_actions': {"sortable":false,"filterable":false,"html":true,"actions":["edit","delete"]} | ||
| 29 | }) | ||
| 30 | #set ($options = { | ||
| 31 | 'className': 'SecurityAdvisoryApplication.Code.SecurityAdvisoryApplicationClass', | ||
| 32 | 'translationPrefix': 'securityadvisoryapplication.livetable.', | ||
| 33 | 'tagCloud': true, | ||
| 34 | 'rowCount': 15, | ||
| 35 | 'maxPages': 10, | ||
| 36 | 'selectedColumn': 'status', | ||
| 37 | 'defaultOrder': 'asc' | ||
| 38 | }) | ||
| 39 | #set ($columns = ['doc.date','status', 'product', 'doc.title', 'cvssScore', 'doc.author', 'embargoDate', '_actions']) | ||
| 40 | #livetable('securityadvisoryapplication' $columns $columnsProperties $options) | ||
| 41 | {{/velocity}} |