1 15 package org.apache.tapestry.vlib; 16 17 import org.apache.tapestry.IRequestCycle; 18 import org.apache.tapestry.PageRedirectException; 19 import org.apache.tapestry.callback.PageCallback; 20 import org.apache.tapestry.event.PageEvent; 21 import org.apache.tapestry.vlib.pages.Login; 22 23 30 31 public abstract class AdminPage extends Protected implements IMessageProperty 32 { 33 34 public void pageValidate(PageEvent event) 35 { 36 IRequestCycle cycle = event.getRequestCycle(); 37 Visit visit = (Visit) getEngine().getVisit(); 38 39 if (visit == null || !visit.isUserLoggedIn()) 40 { 41 Login login = (Login) cycle.getPage("Login"); 42 43 login.setCallback(new PageCallback(this)); 44 45 throw new PageRedirectException(login); 46 } 47 48 if (!visit.getUser(cycle).isAdmin()) 49 { 50 VirtualLibraryEngine vengine = (VirtualLibraryEngine) getEngine(); 51 52 vengine.presentError("That function is restricted to adminstrators.", cycle); 53 54 throw new PageRedirectException(cycle.getPage()); 55 } 56 } 57 } | Popular Tags |