package cms.controller.admin;
import cms.model.service.AuthorService;
import cms.util.GuiceUtil;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import org.slim3.controller.Controller;
import org.slim3.controller.Navigation;
public abstract class AdminController extends Controller {
private AuthorService authorService = GuiceUtil.getService(AuthorService.class);
@Override
protected Navigation setUp() {
UserService userService = UserServiceFactory.getUserService();
String thisURL = request.getRequestURI();
if (userService.isUserLoggedIn() && (userService.isUserAdmin() ||
authorService.isAuthor(userService.getCurrentUser().getEmail()))) {
requestScope("username", userService.getCurrentUser().getEmail());
requestScope("logoutUrl", userService.createLogoutURL(thisURL));
} else {
return new Navigation(userService.createLoginURL(thisURL), true);
}
return null;
}
}