Wiki source code of Release Notes Changes
Version 2.1 by Vincent Massol on 2016/09/30
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | = Generate Report = |
2 | |||
![]() |
2.1 | 3 | {{include reference="ReleaseNotes.Code.HomeGenerateReleaseNotes"/}} |
![]() |
1.1 | 4 | |
5 | = Existing Changes = | ||
6 | |||
7 | {{velocity}} | ||
8 | #set ($productName = $request.product) | ||
9 | #if ("$!productName" == '') | ||
10 | #set ($productName = "XWiki") | ||
11 | #end | ||
12 | ## Add new change | ||
13 | #if ($request.action == 'add') | ||
14 | #if ("$!request.version" == '') | ||
15 | {{error}}Version must be set for creating a new Release Note change!{{/error}} | ||
16 | |||
17 | #else | ||
18 | ## Compute automatically a new page name, using the format "Change###" where ### is a zero-padded number. | ||
19 | #set ($shortVersion = $stringtool.replaceChars($request.version, "-", "")) | ||
20 | #set ($shortVersion = $stringtool.upperCase($shortVersion)) | ||
21 | #set ($shortVersion = $shortVersion.replace('MILESTONE', 'M')) | ||
22 | #set ($versionSpaceReference = $services.model.createDocumentReference('', ["$topSpace", 'Data', "$productName", "$shortVersion"], 'WebHome').parent) | ||
23 | #set ($versionSpaceReferenceString = $services.model.serialize($versionSpaceReference)) | ||
24 | ## Make sure we have existing entries, otherwise start at 1 | ||
25 | #set ($query = $services.query.xwql("from doc.object(${topSpace}.Code.ChangesClass) as changes where doc.space like :space").bindValue('space', "${versionSpaceReferenceString}%")) | ||
26 | #if ($query.count() > 0) | ||
27 | #set ($highest = $services.query.xwql("from doc.object(${topSpace}.Code.ChangesClass) as changes where doc.space like '${versionSpaceReferenceString}%' order by doc.space desc").setLimit(1).execute()) | ||
28 | #set ($currentNumber = $numbertool.toNumber($services.model.resolveDocument($highest[0]).parent.name.substring(6)).intValue()) | ||
29 | #set ($nextUniqueNumber = $numbertool.format('000', $mathtool.add($currentNumber, 1))) | ||
30 | #else | ||
31 | #set ($nextUniqueNumber = '001') | ||
32 | #end | ||
33 | #set ($versionPageReference = "${versionSpaceReferenceString}.Change${nextUniqueNumber}.WebHome") | ||
34 | $response.sendRedirect($xwiki.getURL($versionPageReference.toString(), 'inline', "$!{request.queryString}&shortVersion=${escapetool.url($shortVersion)}")) | ||
35 | #end | ||
36 | #end | ||
37 | {{html clean='false'}} | ||
38 | <form> | ||
39 | <input type="hidden" name="action" value="add"/> | ||
40 | <input type="hidden" name="template" value="${topSpace}.Code.ChangesTemplate"/> | ||
![]() |
2.1 | 41 | <input id="product" type="text" name="product" value="XWiki" size="16"/> |
42 | <input id="version" type="text" name="version" value="Product version..." size="16" class="withTip"/> | ||
![]() |
1.1 | 43 | <span class="buttonwrapper"> |
44 | <input class="button" type="submit" value="Add Change"/> | ||
45 | </span> | ||
46 | </form> | ||
47 | {{/html}} | ||
48 | |||
49 | #set($columns = ['doc.creationDate', 'product', 'version', 'category', 'audience', 'title', 'importance', 'summary' ]) | ||
50 | #set($columnsProperties = { | ||
51 | 'doc.creationDate' : { 'type' : 'date', 'link' : true }, | ||
52 | 'product' : { 'type' : 'text', 'match': 'partial' }, | ||
53 | 'version' : { 'type' : 'text', 'match': 'partial' }, | ||
54 | 'category' : { 'type' : 'text', 'match': 'partial' }, | ||
55 | 'audience' : { 'type' : 'text', 'match': 'partial' }, | ||
56 | 'title' : { 'type' : 'text', 'sortable' : false }, | ||
57 | 'importance' : { 'type' : 'text'}, | ||
58 | 'summary' : { 'type' : 'text', 'html' : 'true', 'sortable' : false } | ||
59 | }) | ||
60 | #set($options = { | ||
61 | "className" : "${topSpace}.Code.ChangesClass", | ||
62 | "translationPrefix" : "releasenotes.changes.livetable.", | ||
63 | "tagCloud" : true, | ||
64 | "rowCount": 15 | ||
65 | }) | ||
66 | #livetable("releasenoteschanges" $columns $columnsProperties $options) | ||
67 | {{/velocity}} |