package org.ovirt.engine.ui.userportal.place;
import org.ovirt.engine.ui.common.auth.CurrentUser;
import org.ovirt.engine.ui.common.place.ApplicationPlaceManager;
import org.ovirt.engine.ui.common.place.PlaceRequestFactory;
import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace;
import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
import org.ovirt.engine.ui.uicommonweb.auth.CurrentUserRole;
import org.ovirt.engine.ui.userportal.auth.UserPortalCurrentUserRole;
import org.ovirt.engine.ui.userportal.section.DefaultMainSectionExtendedPlace;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
import com.gwtplatform.mvp.shared.proxy.TokenFormatter;
public class UserPortalPlaceManager extends ApplicationPlaceManager {
private final UserPortalCurrentUserRole userRole;
private final PlaceRequest defaultMainSectionRequest;
private final PlaceRequest defaultMainSectionExtendedRequest;
@Inject
public UserPortalPlaceManager(EventBus eventBus,
TokenFormatter tokenFormatter,
CurrentUser user,
CurrentUserRole userRole,
ClientAgentType clientAgentType,
@DefaultMainSectionPlace String defaultMainSectionPlace,
@DefaultMainSectionExtendedPlace String defaultMainSectionExtendedPlace) {
super(eventBus, tokenFormatter, user, clientAgentType);
this.userRole = (UserPortalCurrentUserRole) userRole;
this.defaultMainSectionRequest = PlaceRequestFactory.get(defaultMainSectionPlace);
this.defaultMainSectionExtendedRequest = PlaceRequestFactory.get(defaultMainSectionExtendedPlace);
}
@Override
protected PlaceRequest getDefaultMainSectionPlace() {
return userRole.isBasicUser() ? defaultMainSectionRequest : defaultMainSectionExtendedRequest;
}
public boolean isMainSectionBasicPlaceVisible() {
return defaultMainSectionRequest.getNameToken().equals(
getCurrentPlaceRequest().getNameToken());
}
}