package de.flower.rmt.ui.site;
import de.flower.rmt.model.db.entity.Role;
import de.flower.rmt.ui.app.Authentication;
import de.flower.rmt.ui.app.IPageResolver;
import de.flower.rmt.ui.page.error.AccessDenied403Page;
import de.flower.rmt.ui.page.error.InternalError500Page;
import de.flower.rmt.ui.page.error.PageExpiredPage;
import de.flower.rmt.ui.page.error.PageNotFound404Page;
import de.flower.rmt.ui.page.events.player.EventsPage;
import de.flower.rmt.ui.page.login.LoginPage;
import org.apache.wicket.Page;
import org.apache.wicket.request.component.IRequestablePage;
import org.springframework.stereotype.Component;
/**
* @author flowerrrr
*/
@Component
public class PageResolver implements IPageResolver {
/**
* Determine if user is manager or player and redirect to appropriate home page.
*/
@Override
public Class<? extends IRequestablePage> getHomePage() {
// get roles
if (Authentication.hasRole(Role.Roles.MANAGER.getRoleName())) {
return de.flower.rmt.ui.page.events.manager.EventsPage.class;
} else if (Authentication.hasRole(Role.Roles.PLAYER.getRoleName())){
return EventsPage.class;
} else {
return LoginPage.class;
}
}
@Override
public Class<? extends Page> getPageNotFoundPage() {
return PageNotFound404Page.class;
}
@Override
public Class<? extends Page> getInternalErrorPage() {
return InternalError500Page.class;
}
@Override
public Class<? extends Page> getAccessDeniedPage() {
return AccessDenied403Page.class;
}
@Override
public Class<? extends Page> getPageExpiredPage() {
return PageExpiredPage.class;
}
}