📄 cmstaskcontentdetail.java
字号:
long now = newcal.getTime().getTime();
try {
projectname = taskService.readTask(task.getRoot()).getName();
} catch (Exception exc) {
// no root?!
}
priority = xmlTemplateDocument.getProcessedDataValue("priority" + task.getPriority(), this);
startTime = task.getStartTime().getTime();
timeout = task.getTimeOut().getTime();
String due = "";
try {
due = CmsDateUtil.getDateShort(timeout);
} catch (Exception exc) {
// ignore the exception
}
String from = "";
try {
from = CmsDateUtil.getDateShort(startTime);
} catch (Exception exc) {
// ignore the exception
}
xmlTemplateDocument.setData("taskid", task.getId() + "");
boolean isOwner = context.currentUser().equals(owner);
boolean isEditor = context.currentUser().equals(editor);
boolean isInRole = false;
try {
isInRole = cms.userInGroup(context.currentUser().getName(), roleName);
} catch (Exception exc) {
// ignore the exception
}
// choose the right style and buttons
if (task.getState() == CmsTaskService.TASK_STATE_ENDED) {
if (isOwner) {
// this is the owner of the task
button1 = getButton(xmlTemplateDocument, "button_message", false);
button2 = getButton(xmlTemplateDocument, "button_accept", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_reakt", true);
} else {
if (isEditor) {
// this user is the editor for this task
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_forward", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_reakt", false);
} else {
if (isInRole) {
// this user is in the role for this task
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_reakt", false);
} else {
// all other users
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_reakt", false);
}
}
}
if (timeout < now) {
style = xmlTemplateDocument.getProcessedDataValue("style_ok", this);
} else {
style = xmlTemplateDocument.getProcessedDataValue("style_ok", this);
}
} else {
if (task.getPercentage() == 0) {
if (isOwner && isEditor) {
// this is a task from me and for me
button1 = getButton(xmlTemplateDocument, "button_query", true);
button2 = getButton(xmlTemplateDocument, "button_accept", true);
button3 = getButton(xmlTemplateDocument, "button_due", true);
button4 = getButton(xmlTemplateDocument, "button_priority", true);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
if (isOwner) {
// this is the owner of the task
button1 = getButton(xmlTemplateDocument, "button_message", true);
button2 = getButton(xmlTemplateDocument, "button_forward", true);
button3 = getButton(xmlTemplateDocument, "button_due", true);
button4 = getButton(xmlTemplateDocument, "button_priority", true);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
if (isEditor) {
// this user is the editor for this task
button1 = getButton(xmlTemplateDocument, "button_query", true);
button2 = getButton(xmlTemplateDocument, "button_accept", true);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
if (isInRole) {
// this user is in the role for this task
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", true);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
// all other users
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
}
}
}
}
if (timeout < now) {
style = xmlTemplateDocument.getProcessedDataValue("style_alert", this);
} else {
style = xmlTemplateDocument.getProcessedDataValue("style_new", this);
}
} else {
if (isOwner && isEditor) {
// this is a task from me and for me
button1 = getButton(xmlTemplateDocument, "button_query", true);
button2 = getButton(xmlTemplateDocument, "button_forward", true);
button3 = getButton(xmlTemplateDocument, "button_due", true);
button4 = getButton(xmlTemplateDocument, "button_priority", true);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", true);
} else {
if (isOwner) {
// this is the owner of the task
button1 = getButton(xmlTemplateDocument, "button_message", true);
button2 = getButton(xmlTemplateDocument, "button_forward", true);
button3 = getButton(xmlTemplateDocument, "button_due", true);
button4 = getButton(xmlTemplateDocument, "button_priority", true);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
if (isEditor) {
// this user is the editor for this task
button1 = getButton(xmlTemplateDocument, "button_query", true);
button2 = getButton(xmlTemplateDocument, "button_forward", true);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", true);
button6 = getButton(xmlTemplateDocument, "button_ok", true);
} else {
if (isInRole) {
// this user is in the role for this task
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", true);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
} else {
// all other users
button1 = getButton(xmlTemplateDocument, "button_query", false);
button2 = getButton(xmlTemplateDocument, "button_take", false);
button3 = getButton(xmlTemplateDocument, "button_due", false);
button4 = getButton(xmlTemplateDocument, "button_priority", false);
button5 = getButton(xmlTemplateDocument, "button_comment", false);
button6 = getButton(xmlTemplateDocument, "button_ok", false);
}
}
}
}
if (timeout < now) {
style = xmlTemplateDocument.getProcessedDataValue("style_alert", this);
} else {
style = xmlTemplateDocument.getProcessedDataValue("style_activ", this);
}
}
}
// get the processed list.
xmlTemplateDocument.setData("style", style);
xmlTemplateDocument.setData("priority", priority);
xmlTemplateDocument.setData("task", task.getName());
xmlTemplateDocument.setData("foruser", CmsUser.getFullName(editor));
xmlTemplateDocument.setData("forrole", roleName);
xmlTemplateDocument.setData("actuator", CmsUser.getFullName(owner));
xmlTemplateDocument.setData("due", due);
xmlTemplateDocument.setData("from", from);
xmlTemplateDocument.setData("project", projectname);
// now setting the buttons
xmlTemplateDocument.setData("button1", button1);
xmlTemplateDocument.setData("button2", button2);
xmlTemplateDocument.setData("button3", button3);
xmlTemplateDocument.setData("button4", button4);
xmlTemplateDocument.setData("button5", button5);
xmlTemplateDocument.setData("button6", button6);
// now check where to go back
if ((templateSelector == null || templateSelector == "") && lastUrl != null) {
// tasks either completed or aborted, go back
try {
if (lastUrl.startsWith("http:")) {
// complete path
CmsXmlTemplateLoader.getResponse(context).sendRedirect(lastUrl);
} else {
// relative to the opencms path
CmsXmlTemplateLoader.getResponse(context).sendCmsRedirect(lastUrl);
}
session.removeValue("lasturl");
} catch (IOException exc) {
throw new CmsLegacyException("Could not redirect to " + lastUrl, exc);
}
return null;
}
// Now load the template file and start the processing
return startProcessing(cms, xmlTemplateDocument, elementName, parameters, templateSelector);
}
/**
* Indicates if the results of this class are cacheable.
*
* @param cms CmsObject Object for accessing system resources
* @param templateFile Filename of the template file
* @param elementName Element name of this template in our parent template.
* @param parameters Hashtable with all template class parameters.
* @param templateSelector template section that should be processed.
* @return <EM>true</EM> if cacheable, <EM>false</EM> otherwise.
*/
public boolean isCacheable(
CmsObject cms,
String templateFile,
String elementName,
Hashtable parameters,
String templateSelector) {
return false;
}
/**
* This private helper method generates a string-representation of a button.
* @param xmlTemplateDocument The xml-document in which the buttons are defined.
* @param name The name of the button to generate.
* @param enabled True, if the button is enabled, else false.
* @return the string-representation of the button.
* @throws Throws CmsException, if something goes wrong.
*/
private String getButton(CmsXmlWpTemplateFile xmlTemplateDocument, String name, boolean enabled)
throws CmsException {
if (enabled) {
// the button is enabled
xmlTemplateDocument.setData("disabled", "");
} else {
// the button is disabled
xmlTemplateDocument.setData("disabled", "disabled");
}
// return the generated button
return xmlTemplateDocument.getProcessedDataValue(name, this);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -