package hu.sch.web.authz;
import hu.sch.domain.Group;
import hu.sch.domain.user.User;
import org.apache.wicket.Application;
import org.apache.wicket.RuntimeConfigurationType;
import org.apache.wicket.request.Request;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Fejlesztői teszt autorizációs modul. Lényegében meghazudja nekünk, hogy mely
* körökben vagyunk körvezetők.
*
* @author hege
*/
public final class DummyAuthorization implements UserAuthorization {
/**
* A logoláshoz szükséges logger.
*/
private static Logger log = LoggerFactory.getLogger(DummyAuthorization.class);
/**
* {@inheritDoc}
*/
@Override
public void init(Application wicketApplication) {
if (wicketApplication.getConfigurationType() == RuntimeConfigurationType.DEPLOYMENT) {
throw new IllegalStateException("Do not use dummy authz module in production environment!");
}
log.warn("Dummy authorization mode initiated successfully");
}
/**
* {@inheritDoc}
*/
@Override
public Long getUserid(Request wicketRequest) {
return 18925L;
}
/**
* {@inheritDoc}
*/
@Override
public String getRemoteUser(Request wicketRequest) {
return "konvergal";
}
/**
* {@inheritDoc}
*/
@Override
public boolean isGroupLeaderInGroup(Request wicketRequest, Group group) {
// Kir-Dev, Teaház és 17.szint körvezetői tagsága
if ((group.getId().equals(331L) || group.getId().equals(106L)
|| group.getId().equals(21L) || group.getId().equals(Group.SVIE)) || group.getId().equals(26L)) {
return true;
}
return false;
}
/**
* {@inheritDoc}
*/
@Override
public boolean hasAbstractRole(Request wicketRequest, String role) {
switch (role) {
case "ADMIN":
return true;
case "JETI":
return true;
case "SVIE":
return true;
default:
return false;
}
}
/**
* {@inheritDoc}
*/
@Override
public boolean isGroupLeaderInSomeGroup(Request wicketRequest) {
return true;
}
/**
* {@inheritDoc}
*/
@Override
public User getUserAttributes(Request wicketRequest) {
return null;
}
}