Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8" ?>
- <xsl:stylesheet
- version="2.0"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <!-- Ausgabedefinition -->
- <xsl:output
- method="xml"
- encoding="UTF-8"
- doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd"
- indent="yes"
- omit-xml-declaration="no" />
- <xsl:template match="/">
- <xsl:variable name="jira.title.property.id" select="//OSPropertyEntry[@propertyKey='jira.title']/@id"/>
- <xsl:variable name="jira.title" select="//OSPropertyString[@id=$jira.title.property.id]/@value"/>
- <html>
- <head>
- <title>Documentation <xsl:value-of select="$jira.title" /></title>
- </head>
- <body>
- <h1>Documentation <xsl:value-of select="$jira.title" /></h1>
- <h2>Table of Contents</h2>
- <ol>
- <li><a href="#section-projects">Projects</a></li>
- <li><a href="#section-permissionschemes">Permission Schemes</a></li>
- </ol>
- <xsl:call-template name="projects" />
- <xsl:call-template name="permissionschemes" />
- </body>
- </html>
- </xsl:template>
- <xsl:template name="translatePermission">
- <xsl:param name="permission.id" />
- <!-- see com.atlassian.jira.security.Permissions -->
- <xsl:choose>
- <xsl:when test="$permission.id=0">ADMINISTER</xsl:when>
- <xsl:when test="$permission.id=1">USE</xsl:when>
- <xsl:when test="$permission.id=44">SYSTEM ADMIN</xsl:when>
- <xsl:when test="$permission.id=23">PROJECT_ADMIN</xsl:when>
- <xsl:when test="$permission.id=10">BROWSE</xsl:when>
- <xsl:when test="$permission.id=11">CREATE ISSUE</xsl:when>
- <xsl:when test="$permission.id=12">EDIT ISSUE</xsl:when>
- <xsl:when test="$permission.id=13">ASSIGN ISSUE</xsl:when>
- <xsl:when test="$permission.id=14">RESOLVE ISSUE</xsl:when>
- <xsl:when test="$permission.id=15">COMMENT ISSUE</xsl:when>
- <xsl:when test="$permission.id=16">DELETE ISSUE</xsl:when>
- <xsl:when test="$permission.id=17">ASSIGNABLE USER</xsl:when>
- <xsl:when test="$permission.id=18">CLOSE ISSUE</xsl:when>
- <xsl:when test="$permission.id=19">CREATE ATTACHMENT</xsl:when>
- <xsl:when test="$permission.id=20">WORK ISSUE</xsl:when>
- <xsl:when test="$permission.id=21">LINK ISSUE</xsl:when>
- <xsl:when test="$permission.id=22">CREATE SHARED OBJECTS</xsl:when>
- <xsl:when test="$permission.id=24">MANAGE GROUP FILTER SUBSCRIPTIONS</xsl:when>
- <xsl:when test="$permission.id=34">COMMENT EDIT ALL</xsl:when>
- <xsl:when test="$permission.id=35">COMMENT EDIT OWN</xsl:when>
- <xsl:when test="$permission.id=25">MOVE ISSUE</xsl:when>
- <xsl:when test="$permission.id=26">SET ISSUE SECURITY</xsl:when>
- <xsl:when test="$permission.id=27">USER PICKER</xsl:when>
- <xsl:when test="$permission.id=28">SCHEDULE ISSUE</xsl:when>
- <xsl:when test="$permission.id=29">VIEW VERSION CONTROL</xsl:when>
- <xsl:when test="$permission.id=30">MODIFY REPORTER</xsl:when>
- <xsl:when test="$permission.id=31">VIEW VOTERS AND WATCHERS</xsl:when>
- <xsl:when test="$permission.id=32">MANAGE WATCHER LIST</xsl:when>
- <xsl:when test="$permission.id=33">BULK CHANGE</xsl:when>
- <xsl:when test="$permission.id=36">COMMENT DELETE ALL</xsl:when>
- <xsl:when test="$permission.id=37">COMMENT DELETE OWN</xsl:when>
- <xsl:when test="$permission.id=38">ATTACHMENT DELETE ALL</xsl:when>
- <xsl:when test="$permission.id=39">ATTACHMENT DELETE OWN</xsl:when>
- <xsl:when test="$permission.id=40">WORKLOG EDIT OWN</xsl:when>
- <xsl:when test="$permission.id=41">WORKLOG EDIT ALL</xsl:when>
- <xsl:when test="$permission.id=42">WORKLOG DELETE OWN</xsl:when>
- <xsl:when test="$permission.id=43">WORKLOG DELETE ALL</xsl:when>
- <xsl:when test="$permission.id=44">MAX PERMISSION</xsl:when>
- <xsl:otherwise>UNKNOWN PERMISSION #<xsl:value-of select="$permission.id" /></xsl:otherwise>
- </xsl:choose>
- </xsl:template>
- <xsl:template name="projects">
- <a name="section-projects">
- <h2>Projects</h2>
- </a>
- <xsl:for-each select="//Project">
- <xsl:sort select="@name" lang="en" />
- <h3>
- <a>
- <xsl:attribute name="name">project-<xsl:value-of select="@id"/></xsl:attribute>
- <xsl:value-of select="@name" />
- </a>
- <small>
- (<xsl:value-of select="@id"/>)
- </small>
- </h3>
- <dl>
- <dt>Project Lead</dt>
- <dd><xsl:value-of select="@lead" /></dd>
- <dt>Permission Scheme</dt>
- <dd>
- <xsl:variable name="permission.scheme.id" select="//NodeAssociation[@sourceNodeEntity='Project' and @sinkNodeEntity='PermissionScheme' and @sourceNodeId=current()/@id]/@sinkNodeId"/>
- <xsl:value-of select="//PermissionScheme[@id=$permission.scheme.id]/@name" />
- <small> (
- <a>
- <xsl:attribute name="href">#permissionscheme-<xsl:value-of select="$permission.scheme.id"/></xsl:attribute>
- <xsl:value-of select="$permission.scheme.id" />
- </a>
- )
- </small>
- </dd>
- </dl>
- </xsl:for-each>
- </xsl:template>
- <xsl:template name="permissionschemes">
- <a name="section-permissionschemes">
- <h2>Permission Schemes</h2>
- </a>
- <xsl:variable name="permission.types.unique" select="//SchemePermissions[ not (@permission=preceding::SchemePermissions/@permission)]" />
- <xsl:for-each select="//PermissionScheme">
- <xsl:sort select="@name" lang="en" />
- <xsl:variable name="current.permissionscheme" select="current()" />
- <h3>
- <a>
- <xsl:attribute name="name">permissionscheme-<xsl:value-of select="@id"/></xsl:attribute>
- <xsl:value-of select="@name" />
- </a>
- <small>
- (<xsl:value-of select="@id"/>)
- </small>
- </h3>
- <table border="1">
- <tr>
- <th>Permission</th>
- <th>Project Roles</th>
- <th>Groups</th>
- <th>Users</th>
- <th>Other</th>
- </tr>
- <xsl:for-each select="$permission.types.unique">
- <xsl:sort select="@permission" data-type="number" />
- <xsl:variable name="current.permission" select="current()" />
- <tr>
- <td>
- <xsl:call-template name="translatePermission">
- <xsl:with-param name="permission.id" select="@permission" />
- </xsl:call-template>
- </td>
- <td>
- <xsl:for-each select="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='projectrole']">
- <xsl:sort select="//ProjectRole[@id=current()/@parameter]/@name" lang="en" />
- <xsl:value-of select="//ProjectRole[@id=current()/@parameter]/@name" /><br />
- </xsl:for-each>
- </td>
- <td>
- <xsl:for-each select="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='group']">
- <xsl:sort select="@parameter" lang="en" />
- <xsl:value-of select="@parameter" /><br />
- </xsl:for-each>
- </td>
- <td>
- <xsl:for-each select="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='user']">
- <xsl:sort select="@parameter" lang="en" />
- <xsl:value-of select="@parameter" /><br />
- </xsl:for-each>
- </td>
- <td>
- <xsl:if test="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='reporter']">
- Reporter<br />
- </xsl:if>
- <xsl:if test="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='assignee']">
- Assignee<br />
- </xsl:if>
- <xsl:if test="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='lead']">
- Project Lead<br />
- </xsl:if>
- <xsl:for-each select="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='userCF']">
- <xsl:variable name="cf.id" select="substring(@parameter, 13)" />
- User Custom Field "<xsl:value-of select="//CustomField[@id=$cf.id]/@name" />" (
- <a>
- <xsl:attribute name="href">#customfield-<xsl:value-of select="$cf.id"/></xsl:attribute>
- <xsl:value-of select="$cf.id" />
- </a>
- )<br />
- </xsl:for-each>
- <xsl:for-each select="//SchemePermissions[@scheme=$current.permissionscheme/@id and @permission=$current.permission/@permission and @type='groupCF']">
- <xsl:variable name="cf.id" select="substring(@parameter, 13)" />
- Group Custom Field "<xsl:value-of select="//CustomField[@id=$cf.id]/@name" />" (
- <a>
- <xsl:attribute name="href">#customfield-<xsl:value-of select="$cf.id"/></xsl:attribute>
- <xsl:value-of select="$cf.id" />
- </a>
- )<br />
- </xsl:for-each>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- </xsl:for-each>
- </xsl:template>
- </xsl:stylesheet>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement