⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmstaskcontentdetail.java

📁 OpenCms 是一个J2EE的产品
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        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 + -