Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Henrik Hammarström 58 posts 54 karma points
    Oct 18, 2009 @ 20:48
    Henrik Hammarström
    0

    HasAcess ?

    Hi

     

    isnt it possible to like this .....

    I want to check if a user hasaccess to a page

     

    <xsl:if test="umbraco.library:IsProtected(@id, @path) = false() or umbraco.library:HasAccess(@id, @path) = true()>
    <xsl:value-of select="data [@alias = 'Text_AF']"/>
    </xsl:if>

     

     

    I get this error

     

    Error occured

    System.OverflowException: Value was either too large or too small for an Int32.
    at System.Convert.ToInt32(Double value)
    at System.Double.System.IConvertible.ToInt32(IFormatProvider provider)
    at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
    at System.Xml.Xsl.Runtime.XmlQueryRuntime.ChangeTypeXsltArgument(XmlQueryType xmlType, Object value, Type destinationType)
    at System.Xml.Xsl.Runtime.XmlQueryContext.InvokeXsltLateBoundFunction(String name, String namespaceUri, IList`1[] args)
    at (XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime, XPathNavigator {urn:schemas-microsoft-com:xslt-debug}current)
    at Root(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime)
    at Execute(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime)
    at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlSequenceWriter results)
    at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer, Boolean closeWriter)
    at System.Xml.Xsl.XmlILCommand.Execute(IXPathNavigable contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter results)
    at System.Xml.Xsl.XmlILCommand.Execute(IXPathNavigable contextDocument, XmlResolver dataSources, XsltArgumentList argumentList, TextWriter results)
    at System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, TextWriter results)
    at umbraco.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)

     

     

     

     

    Best
    /H


  • Sebastiaan Janssen 5061 posts 15544 karma points MVP admin hq
    Oct 18, 2009 @ 20:54
    Sebastiaan Janssen
    2

    Make sure to surround your XSLT with a test to see if the id is empty:

    <xsl:if test="@id != ''">
     ...
    </xsl:if>
  • Henrik Hammarström 58 posts 54 karma points
    Oct 19, 2009 @ 20:40
    Henrik Hammarström
    0

    Hi again

     

    The problem is now that when I do like thisin my macro I get no valiue in @id

     

    <xsl:if test="@id != ''">
    <xsl:if test="(umbraco.library:IsProtected(@id, @path) = false() or umbraco.library:HasAccess(@id, @path) = true())">">
    <xsl:value-of select="data [@alias = 'Text_AF']"/>    
    </xsl:if>
    </xsl:if>

     

    How should I do to protect some text so it just been shown for logged in people ?

     

    Best

    /H

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies