1 28 29 30 package com.opencms.workplace; 31 32 import org.opencms.db.CmsUserSettings; 33 import org.opencms.file.CmsObject; 34 import org.opencms.main.CmsException; 35 import org.opencms.main.CmsLog; 36 import org.opencms.workflow.CmsTaskService; 37 38 import com.opencms.core.I_CmsSession; 39 import com.opencms.legacy.CmsXmlTemplateLoader; 40 import com.opencms.template.A_CmsXmlContent; 41 import com.opencms.template.CmsXmlTemplateFile; 42 43 import java.util.Hashtable ; 44 import java.util.Vector ; 45 46 56 57 public class CmsTaskHead extends CmsWorkplaceDefault { 58 59 60 private static final String C_SPACER = "------------------------------------------------"; 61 62 72 73 public Object checked(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 74 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 75 Object allProjects = session.getValue(CmsWorkplaceDefault.C_SESSION_TASK_ALLPROJECTS); 76 77 if((allProjects != null) && (((Boolean )allProjects).booleanValue())) { 79 return "checked"; 80 } 81 else { 82 return ""; 83 } 84 } 85 86 97 98 public byte[] getContent(CmsObject cms, String templateFile, String elementName, Hashtable parameters, 99 String templateSelector) throws CmsException { 100 if(CmsLog.getLog(this).isDebugEnabled() && C_DEBUG) { 101 CmsLog.getLog(this).debug("Getting content of element " + ((elementName==null)?"<root>":elementName)); 102 CmsLog.getLog(this).debug("Template file is: " + templateFile); 103 CmsLog.getLog(this).debug("Selected template section is: " + ((templateSelector==null)?"<default>":templateSelector)); 104 } 105 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 106 CmsXmlTemplateFile xmlTemplateDocument = getOwnTemplateFile(cms, templateFile, elementName, parameters, templateSelector); 107 108 if(session.getValue(CmsWorkplaceDefault.C_SESSION_TASK_ALLPROJECTS) == null) { 110 111 CmsUserSettings settings = new CmsUserSettings(cms); 113 String startupFilter = settings.getTaskStartupFilter(); 114 boolean allProjects = settings.getTaskShowAllProjects(); 115 116 session.putValue(CmsWorkplaceDefault.C_SESSION_TASK_ALLPROJECTS, new Boolean (allProjects)); 118 session.putValue(CmsWorkplaceDefault.C_SESSION_TASK_FILTER, startupFilter); 119 120 } 121 122 if(parameters.get("filter") != null) { 124 125 if("OK".equals(parameters.get("ALL"))) { 127 session.putValue(CmsWorkplaceDefault.C_SESSION_TASK_ALLPROJECTS, new Boolean (true)); 128 } 129 else { 130 session.putValue(CmsWorkplaceDefault.C_SESSION_TASK_ALLPROJECTS, new Boolean (false)); 131 } 132 } 133 134 if((parameters.get("filter") != null) && (!(parameters.get("filter").equals("-")))) { 136 session.putValue(CmsWorkplaceDefault.C_SESSION_TASK_FILTER, parameters.get("filter")); 137 } 138 139 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, templateSelector); 141 } 142 143 163 164 public Integer getFilters(CmsObject cms, CmsXmlLanguageFile lang, Vector values, Vector names, 165 Hashtable parameters) throws CmsException { 166 167 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 169 String filter = (String )session.getValue(CmsWorkplaceDefault.C_SESSION_TASK_FILTER); 170 int selected = 0; 171 names.addElement("a1"); 172 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "a1")); 173 if("a1".equals(filter)) { 174 selected = 0; 175 } 176 names.addElement("b1"); 177 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "b1")); 178 if("b1".equals(filter)) { 179 selected = 1; 180 } 181 names.addElement("c1"); 182 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "c1")); 183 if("c1".equals(filter)) { 184 selected = 2; 185 } 186 names.addElement("-"); 187 values.addElement(C_SPACER); 188 names.addElement("a2"); 189 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "a2")); 190 if("a2".equals(filter)) { 191 selected = 4; 192 } 193 names.addElement("b2"); 194 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "b2")); 195 if("b2".equals(filter)) { 196 selected = 5; 197 } 198 names.addElement("c2"); 199 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "c2")); 200 if("c2".equals(filter)) { 201 selected = 6; 202 } 203 names.addElement("-"); 204 values.addElement(C_SPACER); 205 names.addElement("a3"); 206 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "a3")); 207 if("a3".equals(filter)) { 208 selected = 8; 209 } 210 names.addElement("b3"); 211 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "b3")); 212 if("b3".equals(filter)) { 213 selected = 9; 214 } 215 names.addElement("c3"); 216 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "c3")); 217 if("c3".equals(filter)) { 218 selected = 10; 219 } 220 names.addElement("-"); 221 values.addElement(C_SPACER); 222 names.addElement("d1"); 223 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "d1")); 224 if("d1".equals(filter)) { 225 selected = 12; 226 } 227 names.addElement("d2"); 228 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "d2")); 229 if("d2".equals(filter)) { 230 selected = 13; 231 } 232 names.addElement("d3"); 233 values.addElement(lang.getLanguageValue(CmsTaskService.TASK_FILTER + "d3")); 234 if("d3".equals(filter)) { 235 selected = 14; 236 } 237 return (new Integer (selected)); 238 } 239 240 250 251 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, 252 Hashtable parameters, String templateSelector) { 253 return false; 254 } 255 } 256 | Popular Tags |