<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:msg="org.pentaho.messages.Messages" exclude-result-prefixes="html msg"> <xsl:output method="html" encoding="UTF-8" /> <xsl:param name="baseUrl" select="''"/> <xsl:template match="input-page"> <xsl:variable name="untitled"> <xsl:value-of select="msg:getString('PropertiesPanelUIComponent.USER_UNTITLED')"/> </xsl:variable> <div id="itemdiv" style="border-right:1px solid #808080;position:absolute;top:0px;left:0px;width:380px;height:520px;overflow:default;padding-left:5px;padding-right:5px"> <form method="post" id="propform"> <xsl:attribute name="action"><xsl:value-of select="$baseUrl" />PropertiesPanel?path=<xsl:value-of select="./file-path/text()"/>&action=update</xsl:attribute> <span class="portlet-subsection-header" style="font-size:0.85em"><xsl:value-of select="msg:getString('UI.PROPS_PANEL.FILE')"/> <xsl:value-of select="./display-path/text()"/></span> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="padding-top:5px;width:100%"> <tr> <td class="portlet-table-header"><xsl:value-of select="msg:getString('UI.PROPS_PANEL.DELETE')"/></td> <td class="portlet-table-header"><xsl:value-of select="msg:getString('UI.PROPS_PANEL.ROLE')"/></td> <xsl:for-each select="./permission-names/name"> <td class="portlet-table-header"><xsl:value-of select="./text()"/></td> </xsl:for-each> </tr> <xsl:for-each select="./ac-list/access-control"> <xsl:variable name="recipientName" select="./recipient/text()"/> <xsl:variable name="recipientType" select="./recipient/@type" /> <xsl:variable name="pos" select="position()"/> <tr> <td class="portlet-table-text" style="text-align:center"> <INPUT type="checkbox"> <xsl:attribute name="name">delete_<xsl:value-of select="$recipientName"/></xsl:attribute> </INPUT> </td> <td class="portlet-table-text"> <xsl:value-of select="$recipientName"/> <input type="hidden"> <xsl:attribute name="name"><xsl:value-of select="$recipientType"/>_<xsl:value-of select="$recipientName"/>_<xsl:value-of select="$pos"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="$recipientName"/></xsl:attribute> </input> </td> <xsl:for-each select="./permission"> <td class="portlet-table-text" style="text-align:center"> <INPUT type="checkbox"> <xsl:attribute name="name">perm_<xsl:value-of select="./name/text()"/>_<xsl:value-of select="$pos"/></xsl:attribute> <xsl:if test="./permitted/text()='true'" > <xsl:attribute name="checked" /> </xsl:if> <!-- xsl:if test="$disable='true'"> <xsl:attribute name="disabled"><xsl:value-of select="$disable"/></xsl:attribute> </xsl:if --> </INPUT> </td> </xsl:for-each> </tr> </xsl:for-each> <tr><td colspan="10"> <xsl:if test="count(./ac-list/access-control) > 0"> <input name="updateBtn2" id="props-update" type="button"> <xsl:attribute name="value"><xsl:value-of select="msg:getString('UI.USER_UPDATE')"/></xsl:attribute> <xsl:attribute name="onclick">document.getElementById('updateBtn').value="yes"; document.forms['propform'].submit() ;return false;</xsl:attribute> </input> <input name="resetBtn" type="reset"> <xsl:attribute name="value"><xsl:value-of select="msg:getString('UI.USER_RESET')"/></xsl:attribute> </input> </xsl:if> <input name="addBtn" type="button"> <xsl:attribute name="value"><xsl:value-of select="msg:getString('UI.USER_ADD')"/></xsl:attribute> <xsl:attribute name="onclick">document.getElementById('adddiv').style.display='block';</xsl:attribute> </input> <br /> <!-- <xsl:if test="./is-directory/text()='true'" > <INPUT type="checkbox" name="appy-recursively"/><span class="text"><xsl:value-of select="msg:getString('UI.PROPS_PANEL.RECURSE')"/></span> </xsl:if> --> </td></tr> </table> <input type="hidden" name="updateBtn" id="updateBtn" value=""/> </form> </div> <xsl:call-template name="addContent"> </xsl:call-template> </xsl:template> <xsl:template name="addContent"> <div id="adddiv" style="padding-left:5px;position:absolute;top:0px;left:390px;width:275px;height:500px;overflow:default;display:none"> <form method="post" id="propaddform"> <span class="portlet-subsection-header" style="font-size:0.85em"><xsl:value-of select="msg:getString('UI.USER_PERMISSION_ADD_NEW')"/></span> <table width="100%" border="0" style="padding-top:5px"> <tr> <td class="portlet-table-header" colspan="10"><xsl:value-of select="msg:getString('UI.PROPS_PANEL.ROLE')"/></td> </tr> <tr> <td colspan="10"> <SELECT class="text" size="23" style="width:265px" multiple="true"> <xsl:attribute name="name">add_name</xsl:attribute> <xsl:attribute name="id">add_name</xsl:attribute> <OPTGROUP label="Roles" /> <xsl:for-each select="//recipients/role"> <xsl:variable name="aRole" select="./text()"/> <xsl:variable name="ok"> <xsl:for-each select="../../ac-list/access-control"> <xsl:if test="$aRole=./recipient/text()">no</xsl:if> </xsl:for-each> </xsl:variable> <xsl:if test="$ok=''"> <OPTION> <xsl:attribute name="value">role_<xsl:value-of select="$aRole" /></xsl:attribute> <xsl:value-of select="$aRole"/> </OPTION> </xsl:if> </xsl:for-each> <OPTGROUP label="Users" /> <xsl:for-each select="//recipients/user"> <xsl:variable name="aUser" select="./text()"/> <xsl:variable name="ok"> <xsl:for-each select="../../ac-list/access-control"> <xsl:if test="$aUser=./recipient/text()">no</xsl:if> </xsl:for-each> </xsl:variable> <xsl:if test="$ok=''"> <OPTION> <xsl:attribute name="value">user_<xsl:value-of select="$aUser" /></xsl:attribute> <xsl:value-of select="$aUser"/> </OPTION> </xsl:if> </xsl:for-each> </SELECT> </td> </tr> <tr> <xsl:for-each select="./permission-names/name"> <td class="portlet-table-header"><xsl:value-of select="./text()"/></td> </xsl:for-each> </tr> <tr> <xsl:for-each select="./permission-names/name"> <td align="center" valign="top"> <INPUT type="checkbox"> <xsl:attribute name="name">perm_Untitled-0#<xsl:value-of select="./text()"/></xsl:attribute> </INPUT> </td> </xsl:for-each> </tr> <tr> <td colspan="10"> <xsl:variable name="permCount" select="count(//ac-list/access-control[position()=1]/permission)"/> <input name="addBtn2" type="submit"> <xsl:attribute name="value"><xsl:value-of select="msg:getString('UI.USER_ADD')"/></xsl:attribute> <xsl:attribute name="onclick">if(document.getElementById('add_name').selectedIndex==-1) { return false; } document.getElementById('name_Untitled-0').value = document.getElementById('add_name').value; return true;</xsl:attribute> </input> <input name="cancelBtn" type="button"> <xsl:attribute name="value"><xsl:value-of select="msg:getString('UI.USER_CANCEL')"/></xsl:attribute> <xsl:attribute name="onclick">document.getElementById('adddiv').style.display='none';</xsl:attribute> <!-- xsl:attribute name="onclick">document.getElementById('delete_<xsl:value-of select="$addpos"/>').disabled = false; document.getElementById('delete_<xsl:value-of select="$addpos"/>').value = 'on'; document.getElementById('updateBtn').value="yes"; document.forms['propform'].submit() ;return false;</xsl:attribute --> </input> </td> </tr> </table> <input type="hidden" name="name_Untitled-0" id="name_Untitled-0" value=""/> <input type="hidden" name="action" value="update"/> <input type="hidden" name="addBtn" value="Add"/> </form> </div> </xsl:template> <xsl:template match="no-file-path"> <xsl:value-of select="./text()"/> </xsl:template> <xsl:template match="no-acls"> <xsl:value-of select="./text()"/> </xsl:template> </xsl:stylesheet>