Do automaticky odesílaných e-mailů lze nyní vložit URL na záznam
požadavku. Při otevření URL se nastaví kurzor v gridu na příslušný záznam.Verze_1.0
parent
babb9f8312
commit
a9a98cfd63
@ -0,0 +1,39 @@
|
|||||||
|
package info.bukova.isspst;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.DataModel;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
public class CommonUrlResolver implements EntityUrlResolver {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HttpServletRequest request;
|
||||||
|
protected String defaultUrl;
|
||||||
|
|
||||||
|
public CommonUrlResolver() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String entityUrl(Object entity) {
|
||||||
|
if (defaultUrl == null) {
|
||||||
|
this.defaultUrl = request.getRequestURL().toString();
|
||||||
|
this.defaultUrl = defaultUrl.substring(0, defaultUrl.indexOf(request.getServletPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!DataModel.class.isAssignableFrom(entity.getClass())) {
|
||||||
|
return defaultUrl + "/app";
|
||||||
|
}
|
||||||
|
|
||||||
|
String url = Constants.URL_MAP.get(entity.getClass());
|
||||||
|
|
||||||
|
if (url == null) {
|
||||||
|
return defaultUrl + "/app";
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultUrl + url + "?select=" + String.valueOf(((DataModel)entity).getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
package info.bukova.isspst;
|
||||||
|
|
||||||
|
public interface EntityUrlResolver {
|
||||||
|
|
||||||
|
public String entityUrl(Object entity);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
package info.bukova.isspst;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.Requirement;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
public class RequirementUrlResolver implements EntityUrlResolver {
|
||||||
|
|
||||||
|
private String defaultUrl;
|
||||||
|
@Autowired
|
||||||
|
private HttpServletRequest request;
|
||||||
|
|
||||||
|
public RequirementUrlResolver() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String entityUrl(Object entity) {
|
||||||
|
if (!(entity instanceof Requirement)) {
|
||||||
|
return defaultUrl + "/app";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defaultUrl == null) {
|
||||||
|
this.defaultUrl = request.getRequestURL().toString();
|
||||||
|
this.defaultUrl = defaultUrl.substring(0, defaultUrl.indexOf(request.getServletPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
Requirement req = (Requirement)entity;
|
||||||
|
|
||||||
|
if (req.getKind() == Constants.REQ_TYPE_MATERIAL) {
|
||||||
|
return defaultUrl + Constants.URL_MAP.get(req) + "material/?select=" + String.valueOf(req.getId());
|
||||||
|
} else {
|
||||||
|
return defaultUrl + Constants.URL_MAP.get(req) + "services/?select=" + String.valueOf(req.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package info.bukova.isspst;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class UrlResolverHolder {
|
||||||
|
|
||||||
|
private EntityUrlResolver commonResolver;
|
||||||
|
private Map<Class<?>, EntityUrlResolver> resolvers;
|
||||||
|
|
||||||
|
public UrlResolverHolder(EntityUrlResolver common) {
|
||||||
|
this.commonResolver = common;
|
||||||
|
resolvers = new HashMap<Class<?>, EntityUrlResolver>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResolvers(Map<Class<?>, EntityUrlResolver> resolvers) {
|
||||||
|
this.resolvers = resolvers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityUrlResolver resolverFor(Class<?> clazz) {
|
||||||
|
EntityUrlResolver res = resolvers.get(clazz);
|
||||||
|
|
||||||
|
if (res == null) {
|
||||||
|
return commonResolver;
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue