1 28 29 30 package com.opencms.workplace; 31 32 import org.opencms.file.CmsObject; 33 import org.opencms.file.CmsUser; 34 import org.opencms.main.CmsException; 35 import org.opencms.util.CmsDateUtil; 36 import org.opencms.util.CmsStringUtil; 37 import org.opencms.workflow.CmsTaskLog; 38 39 import com.opencms.template.A_CmsXmlContent; 40 41 import java.util.Hashtable ; 42 import java.util.List ; 43 import java.util.Vector ; 44 45 import org.w3c.dom.Element ; 46 47 57 58 public class CmsTaskDocu extends A_CmsWpElement implements I_CmsWpElement { 59 60 66 67 private String addBrTags(String value) { 68 String lines[] = CmsStringUtil.splitAsArray(value, '\n'); 69 String retValue = ""; 70 for(int i = 0;i < lines.length;i++) { 71 retValue += lines[i] + "<BR>"; 72 } 73 return retValue; 74 } 75 76 93 94 public Object handleSpecialWorkplaceTag(CmsObject cms, Element n, A_CmsXmlContent doc, Object callingObject, 95 Hashtable parameters, CmsXmlLanguageFile lang) throws CmsException { 96 97 98 StringBuffer result = new StringBuffer (); 99 List taskdocs = new Vector (); 100 CmsTaskLog tasklog; 101 102 CmsXmlWpTemplateFile template = getTaskDocuDefinitions(cms); 104 105 String taskId = (String )parameters.get("taskid"); 107 if(taskId != null) { 108 int id = new Integer (taskId).intValue(); 109 taskdocs = cms.getTaskService().readTaskLogs(id); 110 } 111 112 for(int i = 1;i <= taskdocs.size();i++) { 114 tasklog = (CmsTaskLog)taskdocs.get(taskdocs.size() - i); 115 int type = tasklog.getType(); 116 117 if(type >= 100) { 119 120 java.sql.Timestamp time = tasklog.getStartTime(); 122 template.setData("DATE", CmsDateUtil.getDateTimeShort(time.getTime())); 123 124 CmsUser user = cms.getTaskService().readOwner(tasklog); 126 template.setData("USER", CmsUser.getFullName(user)); 127 128 template.setData("MESSAGE", addBrTags(tasklog.getComment())); 130 131 template.setData("ICON", template.getProcessedDataValue("ICON" + type, callingObject, parameters)); 133 134 template.setData("HEADLINE", lang.getLanguageValue("task.headline.m" + type)); 136 137 result.append(template.getProcessedDataValue("LISTENTRY", callingObject, parameters)); 139 140 result.append(template.getProcessedDataValue("LISTSEPETATOR", callingObject, parameters)); 142 } 143 } 144 return result.toString(); 145 } 146 147 157 158 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, 159 Hashtable parameters, String templateSelector) { 160 return false; 161 } 162 } 163 | Popular Tags |