I've been banging my head against this all day.
Is there something obvious here that I'm missing?  I put a new .vm file
called User.vm in the templates/layouts directory of my webapp and when I
try to switch to it by using
data.getTemplateInfo().setScreenTemplate(TurbineResources.getString("template.enduser"));
which is the same way that the loging template is switched to, I always
get the following error:

        Exception:  java.lang.Exception: Screen template '/layouts/User.vm' not found
        Stack Trace follows:
        java.lang.Exception: Screen template '/layouts/User.vm' not found
        at 
org.apache.turbine.services.template.TurbineTemplateService.getParsedScreenTemplateName(TurbineTemplateService.jav$
        at 
org.apache.turbine.services.template.TurbineTemplateService.getCachedName(TurbineTemplateService.java:572)
        at 
org.apache.turbine.services.template.TurbineTemplateService.getScreenTemplateName(TurbineTemplateService.java:412)
        at 
org.apache.turbine.services.template.TurbineTemplate.getScreenTemplateName(TurbineTemplate.java:92)
        at 
org.apache.turbine.modules.screens.VelocityScreen.buildTemplate(VelocityScreen.java:133)
        at 
org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:136)
        at org.apache.turbine.modules.Screen.build(Screen.java:99)
        at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:129)
        at 
org.apache.turbine.modules.layouts.VelocityECSLayout.doBuild(VelocityECSLayout.java:103)
        at org.apache.turbine.modules.Layout.build(Layout.java:91)
        at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:123)
        at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:166)
        at org.apache.turbine.modules.Page.build(Page.java:90)
        at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123)
        at org.apache.turbine.Turbine.doGet(Turbine.java:444)
        at org.apache.turbine.Turbine.doPost(Turbine.java:534)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:225)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:469)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
        at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

Code is as follows, it works everytime for the failed logins, but not for
this, any hints?  The value of isAuthorized doesn't seem to matter either
on this one.


protected boolean isAuthorized( RunData data )  throws Exception
    {
        boolean isAuthorized = false;

        AccessControlList acl = data.getACL();

        if (acl==null || (!(acl.hasRole("admin")) && !(acl.hasRole("enduser"))))
        {
            data.getTemplateInfo().setScreenTemplate(
                TurbineResources.getString("template.login"));

            data.setScreen(TurbineResources.getString("screen.login"));
            isAuthorized = false;
        }
        else if (acl.hasRole("enduser"))
        {
            data.getTemplateInfo().setScreenTemplate(
                TurbineResources.getString("template.enduser"));

            data.setScreen(TurbineResources.getString("screen.enduser"));

            isAuthorized = true;
        }

        else if(acl.hasRole("admin"))
        {
            isAuthorized = true;
        }

        return isAuthorized;
    }

Thanks,
Kurt


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to