214 lines
11 KiB
XML
214 lines
11 KiB
XML
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
|
|
||
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||
|
|
<xsl:output method="html" encoding="utf-8" indent="yes"/>
|
||
|
|
|
||
|
|
<!-- Parameters -->
|
||
|
|
|
||
|
|
<xsl:param name="VERSION">1.0</xsl:param>
|
||
|
|
<xsl:param name="PAGE-TITLE">Support Tickets</xsl:param>
|
||
|
|
<xsl:param name="PAGE-NAME">viewSupportTickets</xsl:param>
|
||
|
|
|
||
|
|
<!-- Variables -->
|
||
|
|
|
||
|
|
<xsl:variable name="PAGINATION_COUNT" select="//supporttickets/@count"/>
|
||
|
|
<xsl:variable name="PAGINATION_START" select="//supporttickets/@start"/>
|
||
|
|
<xsl:variable name="PAGINATION_END" select="//supporttickets/@end"/>
|
||
|
|
<xsl:variable name="PAGINATION_PAGE" select="//supporttickets/@page"/>
|
||
|
|
|
||
|
|
<!-- Main Template -->
|
||
|
|
|
||
|
|
<xsl:template match="/">
|
||
|
|
|
||
|
|
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||
|
|
|
||
|
|
<div class="{$PAGE-NAME}">
|
||
|
|
|
||
|
|
<div class="card">
|
||
|
|
|
||
|
|
<div class="card-header bg-primary text-white p-1 ps-3">
|
||
|
|
<i class="bi bi-tools me-2"/>
|
||
|
|
<xsl:value-of select="$PAGE-TITLE"/>
|
||
|
|
<xsl:if test="$PAGINATION_COUNT > 0">
|
||
|
|
<xsl:text> | Showing </xsl:text>
|
||
|
|
<xsl:value-of select="format-number($PAGINATION_START, '###,##0')"/>
|
||
|
|
<xsl:text> to </xsl:text>
|
||
|
|
<xsl:value-of select="format-number($PAGINATION_END, '###,##0')"/>
|
||
|
|
<xsl:text> of </xsl:text>
|
||
|
|
<xsl:value-of select="format-number($PAGINATION_COUNT, '###,##0')"/>
|
||
|
|
</xsl:if>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="card-body">
|
||
|
|
|
||
|
|
<div class="row align-items-center mt-2 mb-2">
|
||
|
|
|
||
|
|
<div class="col-lg-4 mb-2">
|
||
|
|
<div class="input-group input-group-sm">
|
||
|
|
<input type="text" class="form-control autosave" name="find_supportticket" id="find_supportticket" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_supportticket']/popover_placeholder}" autofocus="autofocus"/>
|
||
|
|
<button type="button" class="btn btn-primary fw-bold btnFind" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'find_supportticket']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-search"/>
|
||
|
|
</button>
|
||
|
|
<button type="button" class="btn btn-primary fw-bold btnClearFind" data-bs-toggle="tooltip" data-bs-title="Clear Find" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-arrow-clockwise"/>
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div class="col-auto mb-2">
|
||
|
|
<div class="input-group input-group-sm" data-bs-toggle="tooltip" data-bs-title="Show Per Page" data-bs-custom-class="custom-tooltip">
|
||
|
|
<div class="input-group-text">
|
||
|
|
<i class="bi bi-list-ol"/>
|
||
|
|
</div>
|
||
|
|
<select class="form-select" name="supporttickets_per_page" id="supporttickets_per_page">
|
||
|
|
<option value="20">20</option>
|
||
|
|
<option value="40">40</option>
|
||
|
|
<option value="60">60</option>
|
||
|
|
<option value="80">80</option>
|
||
|
|
<option value="100">100</option>
|
||
|
|
</select>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Action Buttons -->
|
||
|
|
|
||
|
|
<div class="buttons mt-1 mb-1">
|
||
|
|
|
||
|
|
<xsl:if test="not($USER_ROLE = 'Guest')">
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnAdd">
|
||
|
|
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||
|
|
</xsl:if>
|
||
|
|
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnDone">
|
||
|
|
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||
|
|
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnRefresh">
|
||
|
|
<i class="bi bi-arrow-clockwise me-2"/>Refresh</button>
|
||
|
|
|
||
|
|
<xsl:if test="count(//supporttickets/record) > 0">
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnSelectAll" >
|
||
|
|
<i class="bi bi-check2-square me-2"/>Select All</button>
|
||
|
|
</xsl:if>
|
||
|
|
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnDeselectAll d-none">
|
||
|
|
<i class="bi bi-square me-2"/>Deselect All</button>
|
||
|
|
|
||
|
|
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnPrintSelected d-none">
|
||
|
|
<i class="bi bi-printer me-2"/>Print Selected</button>
|
||
|
|
|
||
|
|
<div class="btn-group ms-2 mb-2" role="group">
|
||
|
|
<xsl:if test="$PAGINATION_PAGE > 1">
|
||
|
|
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="first" data-bs-toggle="tooltip" data-bs-title="First Page" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-chevron-bar-left me-1"/>First</button>
|
||
|
|
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="previous" data-bs-toggle="tooltip" data-bs-title="Previous Page" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-chevron-left me-1"/>Previous</button>
|
||
|
|
</xsl:if>
|
||
|
|
<xsl:if test="$PAGINATION_COUNT > $PAGINATION_END">
|
||
|
|
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="next" data-bs-toggle="tooltip" data-bs-title="Next Page" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-chevron-right me-1"/>Next</button>
|
||
|
|
<button type="button" class="btn btn-sm btn-primary btnPagination" data-pagination="last" data-bs-toggle="tooltip" data-bs-title="Last Page" data-bs-custom-class="custom-tooltip">
|
||
|
|
<i class="bi bi-chevron-bar-right me-1"/>Last</button>
|
||
|
|
</xsl:if>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<hr class="mt-2 mb-2"/>
|
||
|
|
|
||
|
|
<xsl:choose>
|
||
|
|
|
||
|
|
<xsl:when test="count(//supporttickets/record) = 0">
|
||
|
|
|
||
|
|
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||
|
|
<xsl:text>There are no Support Tickets to view...</xsl:text>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</xsl:when>
|
||
|
|
|
||
|
|
<xsl:otherwise>
|
||
|
|
|
||
|
|
<div class="table-responsive">
|
||
|
|
|
||
|
|
<table class="table table-sm table-striped table-hover base-table" id="supporttickets-table">
|
||
|
|
|
||
|
|
<thead class="sticky-header" data-theme="{$THEME}">
|
||
|
|
|
||
|
|
<th class="text-center">Select</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_creator" >Customer</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_subject" >Subject</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_catagory_verbose">Catagory</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_message" >Message</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_created_verbose" >Submitted</th>
|
||
|
|
<th class="sortable text-nowrap" data-order-by="supportticket_status" >Status</th>
|
||
|
|
|
||
|
|
</thead>
|
||
|
|
|
||
|
|
<tbody>
|
||
|
|
|
||
|
|
<xsl:apply-templates select="//supporttickets"/>
|
||
|
|
|
||
|
|
</tbody>
|
||
|
|
|
||
|
|
</table>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</xsl:otherwise>
|
||
|
|
|
||
|
|
</xsl:choose>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Form to Print Selected Tickets -->
|
||
|
|
|
||
|
|
<form style="display:inline;" id="PrintSupportTicketForm" method="post" action="" target="PrintTab">
|
||
|
|
|
||
|
|
<input type="hidden" name="action" value="print"/>
|
||
|
|
<input type="hidden" name="report" value="Print_Selected_SupportTickets"/>
|
||
|
|
<input type="hidden" name="selected_supporttickets" value=""/>
|
||
|
|
|
||
|
|
</form>
|
||
|
|
|
||
|
|
</xsl:template>
|
||
|
|
|
||
|
|
<!-- Template for RDI tows -->
|
||
|
|
|
||
|
|
<xsl:template match="supporttickets/record">
|
||
|
|
|
||
|
|
<tr class="hoverable supportticket-row text-nowrap" data-supportticket-serial="{supportticket_serial}">
|
||
|
|
|
||
|
|
<td class="checkbox text-center selection-checkboxes selection-area">
|
||
|
|
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{supportticket_serial}">
|
||
|
|
</input>
|
||
|
|
<span class="selection-area user-select-none"> </span>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_creator">
|
||
|
|
<xsl:value-of select="supportticket_creator"/>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_subject text-nowrap">
|
||
|
|
<xsl:value-of select="supportticket_subject"/>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_catagory_verbose text-nowrap">
|
||
|
|
<xsl:value-of select="supportticket_catagory_verbose"/>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_message">
|
||
|
|
<xsl:value-of select="supportticket_message_raw"/>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_created_verbose">
|
||
|
|
<xsl:value-of select="supportticket_created_verbose"/>
|
||
|
|
</td>
|
||
|
|
<td class="supportticket_status">
|
||
|
|
<xsl:value-of select="supoortticket_status_verbose"/>
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
|
||
|
|
</xsl:template>
|
||
|
|
|
||
|
|
</xsl:stylesheet>
|