package cms.model.validator;
import cms.model.dao.TemplateDAO;
import cms.model.meta.TemplateEntityMeta;
import cms.model.model.TemplateEntity;
import com.google.appengine.api.datastore.Key;
import com.google.inject.Inject;
public class TemplateValidator extends AbstractValidator {
protected TemplateEntityMeta meta = TemplateEntityMeta.get();
@Inject
protected TemplateDAO templateDAO;
protected boolean validateFields() {
boolean ret = true;
validators.add(meta.name, validators.required(), validators.maxlength(255));
if(isAdd()) {
String name = (String) input.get(meta.name.toString());
if (templateDAO.getByName(name) != null) {
validators.getErrors().put(meta.name.toString(), "Tato šablona již existuje.");
ret = false;
}
}
if(isEdit()) {
Key templateKey = (Key) input.get(meta.key.toString());
TemplateEntity oldTemplateEntity = templateDAO.get(templateKey);
String oldName = oldTemplateEntity.getName();
String name = (String) input.get(meta.name.toString());
if(!oldName.equals(name)) {
if (templateDAO.getByName(name) != null) {
validators.getErrors().put(meta.name.toString(), "Tato šablona již existuje.");
ret = false;
}
}
}
return ret;
}
}