hs.hsadmin/hsarback/src/de/hsadmin/mods/email/EMailAliasModuleImpl.java

36 lines
1.1 KiB
Java
Raw Normal View History

2010-10-05 21:42:07 +02:00
package de.hsadmin.mods.email;
import java.util.List;
import de.hsadmin.core.model.AbstractEntity;
2011-05-20 16:25:45 +02:00
import de.hsadmin.core.model.AbstractModuleImpl;
import de.hsadmin.core.model.AuthorisationException;
2010-10-05 21:42:07 +02:00
import de.hsadmin.core.model.HSAdminException;
public class EMailAliasModuleImpl extends AbstractModuleImpl {
@Override
public List<AbstractEntity> search(Class<? extends AbstractEntity> entityClass,
String condition, String orderBy) throws HSAdminException {
if (orderBy == null || orderBy.length() == 0) {
2010-12-16 18:24:21 +01:00
orderBy = "ORDER BY obj.name ASC";
2010-10-05 21:42:07 +02:00
}
return super.search(entityClass, condition, orderBy);
}
2011-05-20 16:12:39 +02:00
@Override
public AbstractEntity add(AbstractEntity newEntity) throws HSAdminException {
EMailAlias alias = (EMailAlias) newEntity;
String name = alias.getName();
String pacname = alias.getPac().getName();
if (!name.startsWith(pacname)) {
2011-05-20 16:25:45 +02:00
throw new AuthorisationException(getLoginUser(), "add", newEntity);
2011-05-20 16:12:39 +02:00
}
if (name.length() > 5 && (name.charAt(5) != '-') || name.length() == 6) {
2011-05-20 16:25:45 +02:00
throw new AuthorisationException(getLoginUser(), "add", newEntity);
2011-05-20 16:12:39 +02:00
}
return super.add(newEntity);
}
2010-10-05 21:42:07 +02:00
}