Merged V1.3 to HEAD (3027:3044)

svn merge svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3027 svn://www.alfresco.org:3691/alfresco/BRANCHES/V1.3@3044 .


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@3339 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-07-18 15:17:28 +00:00
parent c235f3463f
commit b56cc82043
13 changed files with 169 additions and 62 deletions

View File

@@ -58,7 +58,7 @@ public class DefaultModelHelper
*
* @return Map containing the default model.
*/
public static Map<String, Object> buildDefaultModel(ServiceRegistry services, User user)
public static Map<String, Object> buildDefaultModel(ServiceRegistry services, User user, NodeRef template)
{
if (services == null)
{
@@ -85,6 +85,12 @@ public class DefaultModelHelper
// supply the current user Node as "person"
root.put("person", new TemplateNode(user.getPerson(), services, imageResolver));
// add the template itself as "template" if it comes from content on a node
if (template != null)
{
root.put("template", new TemplateNode(template, services, imageResolver));
}
// current date/time is useful to have and isn't supplied by FreeMarker by default
root.put("date", new Date());

View File

@@ -17,21 +17,16 @@
package org.alfresco.web.ui.repo.component.template;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import org.alfresco.repo.template.DateCompareMethod;
import org.alfresco.repo.template.HasAspectMethod;
import org.alfresco.repo.template.I18NMessageMethod;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.repository.TemplateException;
import org.alfresco.service.cmr.repository.TemplateImageResolver;
import org.alfresco.service.cmr.repository.TemplateNode;
import org.alfresco.service.cmr.repository.TemplateService;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository;
@@ -108,9 +103,6 @@ public class UITemplate extends SelfRenderingComponent
return;
}
// get the data model to use - building default if required
Object model = getModel();
// get the template to process
String template = getTemplate();
if (template != null && template.length() != 0)
@@ -125,6 +117,9 @@ public class UITemplate extends SelfRenderingComponent
startTime = System.currentTimeMillis();
}
// get the data model to use - building default if required
Object model = getModel();
// process the template against the model
try
{
@@ -195,7 +190,16 @@ public class UITemplate extends SelfRenderingComponent
FacesContext fc = FacesContext.getCurrentInstance();
ServiceRegistry services = Repository.getServiceRegistry(fc);
User user = Application.getCurrentUser(fc);
Map root = DefaultModelHelper.buildDefaultModel(services, user);
// add the template itself to the model
NodeRef templateRef = null;
if (getTemplate().indexOf(StoreRef.URI_FILLER) != -1)
{
// found a noderef template
templateRef = new NodeRef(getTemplate());
}
Map root = DefaultModelHelper.buildDefaultModel(services, user, templateRef);
// merge models
if (model instanceof Map)