workgroup-queues.jsp

来自「openfire 服务器源码下载」· JSP 代码 · 共 700 行 · 第 1/2 页

JSP
700
字号
            <a href="workgroup-queue-create.jsp?wgID=<%= wgID %>"><img src="/images/add-16x16.gif" width="16" height="16" border="0"></a>
        </td>
        <td>
            <a href="workgroup-queue-create.jsp?wgID=<%= wgID %>">Add Queue</a>
        </td>
    </tr>
</table>

<br/>


<table class="jive-table" cellpadding="3" cellspacing="0" border="0">
    <tr>
        <th nowrap align="left" colspan="2">Name/Description</th>
        <th nowrap>Agents (active/total)</th>
        <th nowrap>In Queue</th>
        <th nowrap>Avg. Wait Time (sec)</th>
        <th nowrap>Edit</th>
        <th nowrap>Delete</th>
    </tr>
    <%
        int requestCount = workgroup.getRequestQueueCount();
        if (requestCount == 0) {
    %>
    <tr>
        <td colspan="98">
            No queues.
        </td>
    </tr>
    <%
        }
        int i = 0;
        for (RequestQueue requestQueue : workgroup.getRequestQueues()) {
            i++;
    %>
    <tr>
        <td width="1%" valign="top" nowrap>
            <%= i %>.
        </td>
        <td width="37%">
            <a href="workgroup-queue-agents.jsp?wgID=<%= wgID %>&qID=<%= requestQueue.getID() %>"
               title="Click to add/remove Agents and Groups."
                ><b><%= requestQueue.getName() %></b></a>

            <%  if (requestQueue.getDescription() != null) { %>

            <br>
            <span class="jive-description">
                <%= requestQueue.getDescription() %>
                </span>

            <%  } %>
        </td>
        <td width="15%" align="center">
            <%= requestQueue.getAgentSessionList().getAvailableAgentCount() %>
            /
            <%= requestQueue.getMemberCount() %>
        </td>
        <td width="15%" align="center">
            <%= requestQueue.getRequestCount() %>
        </td>
        <td width="15%" align="center">
            <%= requestQueue.getAverageTime() %>
        </td>
        <td width="1%" align="center">
            <a href="workgroup-queue-agents.jsp?wgID=<%= wgID %>&qID=<%= requestQueue.getID() %>"
               title="Click to manage this queue..."
                ><img src="images/edit-16x16.gif" width="16" height="16" border="0"></a>
        </td>
        <td width="1%" align="center">
            <a href="workgroup-queues.jsp?wgID=<%= wgID %>&qID=<%= requestQueue.getID() %>&delete=true"
               title="Click to delete this queue..."
               onclick="return confirm('Are you sure you want to delete this queue?');"
                ><img src="images/delete-16x16.gif" width="16" height="16" border="0"></a>
        </td>
    </tr>

    <%  } %>

</table>

<br/><br/>
<b>Routing Rules</b>
<br/>

<p>
    Specify which queue to route to based on the values assigned to the form variables in the Web Chat Client.
</p>

<table class="jive-table" cellspacing="0" width="100%">
    <th>Order</th><th>Query</th><th>Routes to Queue</th><th>Move</th><th>Edit</th><th>Delete</th>

    <tr style="border-left: none;">

    </tr>


    <% for (RoutingRule rule : rules) {
        RequestQueue rq = null;
        try {
            rq = workgroup.getRequestQueue(rule.getQueueID());
        }
        catch (NotFoundException e) {
            Log.error(e);
        }

        // Do not show rule.
        if (rq == null) {
            for (RequestQueue q : workgroup.getRequestQueues()) {
                rq = q;
                break;
            }
        }

        int rulePosition = rule.getPosition();
    %>
    <tr>
        <td><%= rule.getPosition()%>.</td>
        <td>
            <%= rule.getQuery()%>
        </td>
        <td>
            <%= rq.getName() %>
        </td>
        <td nowrap>
            <%  if ((rule.getPosition()) < rules.size()) { %>
            <a href="workgroup-queues.jsp?wgID=<%= wgID %>&changePos=true&down=true&pos=<%= rule.getPosition() %>"
                ><img src="images/arrow_down.gif" width="16" height="16" alt="Move this router down." border="0"></a>
            <%  } else { %>
            <img src="images/blank.gif" width="16" height="16" border="0" alt=""/>
            <%  } %>

            <%  if (rule.getPosition() != 1) { %>
            <a href="workgroup-queues.jsp?wgID=<%= wgID %>&changePos=true&up=true&pos=<%= rule.getPosition() %>"
                ><img src="images/arrow_up.gif" width="16" height="16" alt="Move this router up." border="0"></a>
            <%  } else { %>
            <img src="images/blank.gif" width="16" height="16" border="0" alt=""/>
            <%  } %>
        <td align="center">
            <a href="workgroup-queues.jsp?edit=true&wgID=<%= wgID %>&pos=<%= rule.getPosition() %>"
                ><img src="images/edit-16x16.gif" width="16" height="16" alt="Edit the properties of this Router" border="0"
                ></a>
        </td>
        <td align="center">
            <a href="workgroup-queues.jsp?remove=true&wgID=<%= wgID %>&pos=<%= rule.getPosition()%>"
                ><img src="images/delete-16x16.gif" width="16" height="16" alt="Delete this Router" border="0"
                ></a>
        </td>

    </tr>
    <% } %>


    <% if (rules.size() == 0) { %>
    <tr>
        <td colspan="7" align="center">There are no routing rules defined for this workgroup.</td>
    </tr>
    <%} %>

</table>
<br/>

<div id="editform" style="<%= edit ? "" : "display:none;" %>">
    <fieldset>
        <legend>Edit Routing Rule</legend>
        <table cellspacing="0" cellpadding="3">
            <form action="workgroup-queues.jsp" method="post">
                <input type="hidden" name="editPos" value="<%= pos %>"/>
                <tr>
                    <td colspan="3">
                        Update routing rule.
                        <br/><br/>
                    </td>
                </tr>
                <% if (!advancedBuilder) { %>
                <tr>
                    <td>
                        Form Variable:
                    </td>
                    <td>
                        <select name="editVariable">
                            <% for (FormField field : dataForm.getFields()) { %>
                            <option value="<%= field.getVariable()%>" <%= field.getVariable().equals(variable) ? "selected" : ""%>><%= field.getVariable()%></option>
                            <% } %>

                        </select>
                    </td>
                </tr><tr>
                <td>Form Value:</td>
                <td>
                    <input type="text" name="editValue" size="30" value="<%= value != null ? value : "" %>"/>
                </td>
            </tr>

                <% }
                else { %>
                <tr>
                    <input type="hidden" name="editAdvancedQuery" value="true"/>
                    <td>Edit Query:</td>
                    <td><input type="text" name="editQueryField" size="40" value="<%= variable%>"></td>
                </tr>

                <% } %>


                <tr>

                    <td>Route To Queue:</td>
                    <td>
                        <select name="editQueueID">
                            <% for (RequestQueue queue : workgroup.getRequestQueues()) { %>
                            <option value="<%= queue.getID()%>" <%= queue.getID() == queueID ? "selected" : ""%>><%= queue.getName()%></option>
                            <% } %>
                        </select>
                    </td>
                    <td>
                        <input type="submit" name="editRule" value="Update"/>
                    </td>
                </tr>

                <input type="hidden" name="wgID" value="<%= wgID%>"/>
            </form>
        </table>
    </fieldset>
    <br/>
</div>
<%
    String formElement = request.getParameter("fElement");
%>

<div style="<%= edit ? "display:none;" : "" %>" class="jive-contentBox">
	  <h4>Create New Routing Rule</h4>

    <table cellspacing="0" cellpadding="3">
        <form action="workgroup-queues.jsp" method="post">
            <tr>
                <td colspan="3">
                   Routing rules allow searches against incoming chat request metadata and allow for the routing to specific queues within this workgroup<br/><br/>
                </td>
            </tr>
            <tr>
                <td colspan="3">

                    <table>
                        <tr>
                            <td><input type="radio" name="selector" value="queryBuilder" checked onclick="enableDefault();"></td>
                            <td colspan="2"><b>Form Field Matcher</b></td>
                        </tr>
                        <tr>
                            <td></td>
                            <td>
                                Form Variable:
                            </td>
                            <td>
                                <select name="variable" onchange="updateForm(this);">
                                    <% for (FormField field : dataForm.getFields()) {
                                            if(formElement == null){
                                                formElement = field.getVariable();
                                            }
                                        String selected = field.getVariable().equals(formElement) ? "selected" : "";
                                    %>

                                    <option value="<%= field.getVariable()%>" <%= selected %>><%= field.getVariable()%></option>
                                    <% } %>

                                </select>
                            </td>
                        </tr><tr valign="top">
                        <td></td>
                        <td>Form Value:</td>
                        <td>
                            <%
                                for (org.jivesoftware.openfire.fastpath.dataforms.FormElement ele : form
                                        .getFormElements()) {
                                    if (formElement.equals(ele.getVariable())) {
                                        out.println(FormUtils.createAnswers(ele, "value"));
                                    }
                                }
                            %>

                        </td>
                    </tr>
                    </table>

                </td>



                <tr>
                    <td colspan="3">
                        <div id="advanced">

                            <table width="600">
                                <tr>
                                    <td><input type="radio" name="selector" value="advancedBuilder" onclick="enableAdvanced();"></td>
                                    <td colspan="2"><b>Query Builder</b></td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td width="1%" nowrap>Query:</td>
                                    <td><input type="text" name="advancedQuery" size="40" id="advancedField"/></td>
                                </tr>
                                <tr>
                                    <td></td>
                                    <td colspan="2"><span class="jive-description">Uses Lucene search syntax to search metadata. To search for
                                    a match in the username as well as in a question, use the following syntax: <i>username:derek AND question:chat</i>.<br>Please refer to the
                                    <a href="http://lucene.apache.org/java/docs/queryparsersyntax.html" target="_blank">Lucene Query Parser Syntax</a>&nbsp;tutorial for proper syntax.</span></td>
                                </tr>
                            </table>

                        </div>
                    </td>
                </tr>


                <td>
                    <table>
                        <tr>
                            <td>Route To Queue:</td>
                            <td>
                                <select name="queueID">
                                    <% for (RequestQueue queue : workgroup.getRequestQueues()) { %>
                                    <option value="<%= queue.getID()%>"><%= queue.getName()%></option>
                                    <% } %>
                                </select>
                            </td>
                            <td>

                                <input type="submit" name="submit" value="Add"/>
                            </td>
                        </tr>
                    </table>
                </td>


                <input type="hidden" name="wgID" value="<%= wgID%>"/>
        </form>
    </table>

</div>


<script type="text/javascript">
    enableDefault();
</script>


</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?