first commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?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">Add County Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addCountyCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="CountyCodes.addCountyCode"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="countycode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="countycode_code" id="countycode_code" maxlength="3" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="countycode_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="countycode_name" id="countycode_name" maxlength="120" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="countycode_state">State</label>
|
||||
<select class="form-control form-control-sm" name="countycode_state" id="countycode_state" size="1">
|
||||
<xsl:call-template name="states"/>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for States dropdown -->
|
||||
|
||||
<xsl:template name="states">
|
||||
<option value="">Choose...</option>
|
||||
<xsl:for-each select="//Constants/States/State">
|
||||
<option value="{@abbreviation}">
|
||||
<xsl:value-of select="."/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?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">Add History Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addHistoryCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="HistoryCodes.addHistoryCode"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="historycode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="historycode_code" id="historycode_code" maxlength="1" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="historycode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="historycode_description" id="historycode_description" maxlength="120" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?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">Add Political Party</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addPoliticalParty</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="PoliticalParties.addPoliticalParty"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="politicalparty_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="politicalparty_code" id="politicalparty_code" maxlength="3" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="politicalparty_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="politicalparty_name" id="politicalparty_name" maxlength="120" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?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">Add Race Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addRaceCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="RaceCodes.addRaceCode"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="racecode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="racecode_code" id="racecode_code" maxlength="1" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="racecode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="racecode_description" id="racecode_description" maxlength="120" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,106 @@
|
||||
<?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">Add Subscription</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addSubscription</xsl:param>
|
||||
|
||||
<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-list-check me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Subscriptions.addSubscription"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="subscription_title" id="subscription_title" maxlength="100" autocomplete="off" autofocus="yes"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_service_level">Service Level</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="subscription_service_level" id="subscription_service_level" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name">service_levels</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_market">Market</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="subscription_market" id="subscription_market" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name">markets</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-floppy me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-check-lg me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="boolean(number(dropdown_default)) = true()">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,129 @@
|
||||
<?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">Add Subscription to User</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addSubscriptionToUser</xsl:param>
|
||||
|
||||
<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-list-check me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_id"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Subscriptions.addSubscriptionToUser"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
<input type="hidden" name="user_serial" value="{//users/record/user_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_serial">Subscription Title</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="subscription_serial" id="subscription_serial" size="1">
|
||||
<xsl:apply-templates select="//subscriptions"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
|
||||
<label class="form-label" for="subscription_start_date">Start Date</label>
|
||||
<div class="input-group input-group-sm subscription_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="subscription_start_date" id="subscription_start_date" value="{$TODAY_MMDDYYYY}"/>
|
||||
<button class="btn btn-sm btn-outline-primary btnSubscriptionStartDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
|
||||
<i class="bi bi-calendar3"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mb-3">
|
||||
|
||||
<label class="form-label" for="subscription_end_date">End Date</label>
|
||||
<div class="input-group input-group-sm subscription_end_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="subscription_end_date" id="subscription_end_date" value="{$TODAY_MMDDYYYY}"/>
|
||||
<button class="btn btn-sm btn-outline-primary btnSubscriptionEndDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
|
||||
<i class="bi bi-calendar3"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-floppy me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-check-lg me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="boolean(number(dropdown_default)) = true()">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Subscription dropdown -->
|
||||
|
||||
<xsl:template match="subscriptions">
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{subscription_serial}" data-tokens="{subscription_serial}">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?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"/>
|
||||
|
||||
<!--<meta http-equiv="refresh" content="60"></meta>-->
|
||||
|
||||
<!-- Parameters -->
|
||||
|
||||
<xsl:param name="VERSION">1.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Budgets Months</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">viewBudgetMonths</xsl:param>
|
||||
|
||||
<!-- 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-calendar3 me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<!-- Action Buttons -->
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//budgetmonths/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Budget Months to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table" id="budgetmonth-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<!--<th class="text-nowrap">Month</th>-->
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//budgetmonths"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="budgetmonths/record">
|
||||
|
||||
<tr class="hoverable budgetmonth-row" data-budgetmonth-serial="{budgetmonth_serial}">
|
||||
|
||||
<td class="budget_month">
|
||||
<xsl:value-of select="budgetmonth_month_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,107 @@
|
||||
<?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">Choose Export</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">chooseExport</xsl:param>
|
||||
|
||||
<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="fa-regular fa-circle-user me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Export.chooseExport"/>
|
||||
<input type="hidden" name="step" value="run"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
|
||||
<label class="form-label" for="export_processdate">Process Date</label>
|
||||
<div class="input-group input-group-sm process_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="export_processdate" id="export_processdate" autocomplete="no" maxlength="10" autofocus="autofocus"/>
|
||||
<button class="btn btn-sm btn-outline-primary btnProcessDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
|
||||
<i class="fa-solid fa-calendar-days"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="export_accounting_period">Accounting Period</label>
|
||||
<input type="text" class="form-control form-control-sm autosave accounting-period" name="export_accounting_period" id="export_accounting_period" maxlength="7" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
|
||||
<label class="form-label" for="export_type">Export Type</label>
|
||||
|
||||
<select class="form-control form-control-sm search-dropdown" name="export_type" id="export_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name">export_type</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnRun">
|
||||
<i class="fa-solid fa-file-export me-2"/>Run</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-check-lg me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="boolean(number(dropdown_default)) = true()">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,112 @@
|
||||
<?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">Edit County Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editCountyCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="CountyCodes.editCountyCode"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="countycode_serial" value="{//countycodes/record/countycode_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="countycode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="countycode_code" id="countycode_code" maxlength="3" autocomplete="off" autofocus="autofocus"
|
||||
value="{//countycodes/record/countycode_code}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="countycode_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="countycode_name" id="countycode_name" maxlength="120" autocomplete="off"
|
||||
value="{//countycodes/record/countycode_name}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="countycode_state">State</label>
|
||||
<select class="form-control form-control-sm" name="countycode_state" id="countycode_state" size="1">
|
||||
<xsl:call-template name="states">
|
||||
<xsl:with-param name="current-value">
|
||||
<xsl:value-of select="//countycodes/record/countycode_state"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="countycode_active" id="countycode_active" value="true">
|
||||
<xsl:if test="boolean(number(//countycodes/record/countycode_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="countycode_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for States dropdown -->
|
||||
|
||||
<xsl:template name="states">
|
||||
<xsl:param name="current-value"/>
|
||||
<option value="">Choose...</option>
|
||||
<xsl:for-each select="//Constants/States/State">
|
||||
<option value="{@abbreviation}">
|
||||
<xsl:if test="@abbreviation = $current-value">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="."/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?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">Edit History Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editHistoryCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="HistoryCodes.editHistoryCode"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="historycode_serial" value="{//historycodes/record/historycode_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="historycode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="historycode_code" id="historycode_code" maxlength="1" autocomplete="off" autofocus="autofocus"
|
||||
value="{//historycodes/record/historycode_code}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="historycode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="historycode_description" id="historycode_description" maxlength="120" autocomplete="off"
|
||||
value="{//historycodes/record/historycode_description}"/>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="historycode_active" id="historycode_active" value="true">
|
||||
<xsl:if test="boolean(number(//historycodes/record/historycode_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="historycode_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?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">Edit Political Party</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editPoliticalParty</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="PoliticalParties.editPoliticalParty"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="politicalparty_serial" value="{//politicalparties/record/politicalparty_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="politicalparty_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="politicalparty_code" id="politicalparty_code" maxlength="3" autocomplete="off" autofocus="autofocus"
|
||||
value="{//politicalparties/record/politicalparty_code}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="politicalparty_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="politicalparty_name" id="politicalparty_name" maxlength="120" autocomplete="off"
|
||||
value="{//politicalparties/record/politicalparty_name}"/>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="politicalparty_active" id="politicalparty_active" value="true">
|
||||
<xsl:if test="boolean(number(//politicalparties/record/politicalparty_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="politicalparty_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?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">Edit Race Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editRaceCode</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
<i class="bi bi-plus-lg me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="RaceCodes.editRaceCode"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="racecode_serial" value="{//racecodes/record/racecode_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="racecode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="racecode_code" id="racecode_code" maxlength="1" autocomplete="off" autofocus="autofocus"
|
||||
value="{//racecodes/record/racecode_code}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="racecode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="racecode_description" id="racecode_description" maxlength="120" autocomplete="off"
|
||||
value="{//racecodes/record/racecode_description}"/>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="racecode_active" id="racecode_active" value="true">
|
||||
<xsl:if test="boolean(number(//racecodes/record/racecode_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="racecode_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,116 @@
|
||||
<?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">Edit Subscription</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editSubscription</xsl:param>
|
||||
|
||||
<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-list-check me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Subscriptions.editSubscription"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="subscription_serial" id="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="subscription_title" id="subscription_title" maxlength="100" autocomplete="off" autofocus="yes" value="{//subscriptions/record/subscription_title}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_service_level">Service Level</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="subscription_service_level" id="subscription_service_level" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name">service_levels</xsl:with-param>
|
||||
<xsl:with-param name="current-value">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_service_level"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="subscription_market">Market</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="subscription_market" id="subscription_market" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name">markets</xsl:with-param>
|
||||
<xsl:with-param name="current-value">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_market"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<xsl:param name="current-value"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="dropdown_serial = $current-value">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,140 @@
|
||||
<?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">Edit User</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editUser</xsl:param>
|
||||
|
||||
<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 border-bottom-0">
|
||||
|
||||
<i class="bi bi-person-circle me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_client_name"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.editUser"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="user_serial" id="user_serial" value="{//users/record/user_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm autosave" name="user_name" id="user_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//users/record/user_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_email">Email</label>
|
||||
<input type="text" class="form-control form-control-sm autosave" name="user_email" id="user_email" maxlength="128" autocomplete="off" value="{//users/record/user_email}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_client_name">Client Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="user_client_name" id="user_client_name" maxlength="128" autocomplete="off" value="{//users/record/user_client_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-4">
|
||||
|
||||
<label class="form-label" for="user_role">Role</label>
|
||||
|
||||
<select class="form-control form-control-sm search-dropdown" name="user_role" id="user_role" size="1">
|
||||
<xsl:apply-templates select="//Constants/UserRoles"/>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1" for="user_active">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="user_active" id="user_active" value="true">
|
||||
<xsl:if test="boolean(number(//users/record/user_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="user_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Role dropdown -->
|
||||
|
||||
<xsl:template match="Constants/UserRoles">
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="UserRole">
|
||||
|
||||
<xsl:sort select="."/>
|
||||
|
||||
<option value="{.}" data-tokens="{.}">
|
||||
<xsl:if test=". = //users/record/user_role">
|
||||
<xsl:attribute name="selected"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,131 @@
|
||||
<?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">Edit Users Subscription</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editUsersSubscription</xsl:param>
|
||||
|
||||
<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-list-check me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_id"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Subscriptions.editUsersSubscription"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
<input type="hidden" name="user_serial" value="{//users/record/user_serial}"/>
|
||||
<input type="hidden" name="usersubscription_serial" value="{//usersubscription/record/usersubscription_serial}" />
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5">
|
||||
<label class="form-label" for="subscription_serial">Subscription Title</label>
|
||||
|
||||
<p>
|
||||
<xsl:value-of select="//usersubscription/record/subscription_full_title"/>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
|
||||
<label class="form-label" for="subscription_start_date">Start Date</label>
|
||||
<div class="input-group input-group-sm subscription_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="subscription_start_date" id="subscription_start_date" value="{//usersubscription/record/usersubscription_start_date_verbose}"/>
|
||||
<button class="btn btn-sm btn-outline-primary btnSubscriptionStartDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
|
||||
<i class="bi bi-calendar3"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-3 mb-3">
|
||||
|
||||
<label class="form-label" for="subscription_end_date">End Date</label>
|
||||
<div class="input-group input-group-sm subscription_end_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="subscription_end_date" id="subscription_end_date" value="{//usersubscription/record/usersubscription_end_date_verbose}"/>
|
||||
<button class="btn btn-sm btn-outline-primary btnSubscriptionEndDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
|
||||
<i class="bi bi-calendar3"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-floppy me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="boolean(number(dropdown_default)) = true()">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Subscription dropdown -->
|
||||
|
||||
<xsl:template match="subscriptions">
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{subscription_serial}" data-tokens="{subscription_serial}">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,173 @@
|
||||
<?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">Voters</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">manageVoters</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//voters/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//voters/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//voters/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//voters/@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-people 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_voter" id="find_voter" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_voter']/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_voter']/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">
|
||||
<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 autosave" name="voters_per_page" id="voters_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-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//voters/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Voters to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="voters-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Voter ID</th>
|
||||
<th class="text-nowrap">Last Name</th>
|
||||
<th class="text-nowrap">First Name</th>
|
||||
<th class="text-nowrap">Address</th>
|
||||
<th class="text-nowrap">Party</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//voters"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="voters/record">
|
||||
|
||||
<tr class="hoverable voters-row" data-voter-serial="{voter_serial}">
|
||||
|
||||
<td class="voter_id">
|
||||
<xsl:value-of select="voter_id"/>
|
||||
</td>
|
||||
<td class="voter_name_first">
|
||||
<xsl:value-of select="voter_name_first"/>
|
||||
</td>
|
||||
<td class="voter_name_last">
|
||||
<xsl:value-of select="voter_name_last"/>
|
||||
</td>
|
||||
<td class="voter_address">
|
||||
<xsl:value-of select="concat(voter_residence_address_1, ' ', voter_residence_city, ', ', voter_residence_state, ' ', voter_residence_zip)"/>
|
||||
</td>
|
||||
<td class="voter_party_affiliation">
|
||||
<xsl:value-of select="voter_party_affiliation_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,687 @@
|
||||
<?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">2.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Search Licenses</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">searchLicenses</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//licenses/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//licenses/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//licenses/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//licenses/@page"/>
|
||||
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/bootstrap-autocomplete.min.js?version={$VERSION}"/>
|
||||
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 d-flex align-items-center">
|
||||
<i class="bi bi-search me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="FWCLicenses.searchLicenses"/>
|
||||
<input type="hidden" name="step" value="search"/>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="license_search_type">License Search Type</label>
|
||||
<select class="form-control form-control-sm" name="license_search_type" id="license_search_type" size="1" autofocus="autofocus">
|
||||
<option value="">Choose...</option>
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'license_search_type'"/>
|
||||
<xsl:with-param name="selected-path" select="'license_search_type'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-none" id="recreational_search">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_last_name">Last Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="license_last_name" id="license_last_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_first_name">First Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="license_first_name" id="license_first_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_county[]" id="license_county" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'florida_counties'"/>
|
||||
<xsl:with-param name="selected-path" select="'florida_counties'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="license_type">License Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_type[]" id="license_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'license_types'"/>
|
||||
<xsl:with-param name="selected-path" select="'license_types'"/>
|
||||
</xsl:call-template>
|
||||
<!--<xsl:apply-templates select="//licensetypes"/>-->
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label class="form-label" for="license_start_date">Start Date</label>
|
||||
<div class="input-group input-group-sm license_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="license_start_date" id="license_start_date" autocomplete="off" value=""/>
|
||||
<button class="btn btn-sm btn-outline-primary btnLicenseStartDateCalendar" type="button" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label class="form-label" for="license_expire_date">Expire Date</label>
|
||||
<div class="input-group input-group-sm license_expire_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="license_expire_date" id="license_expire_date" autocomplete="off" value=""/>
|
||||
<button class="btn btn-sm btn-outline-primary btnLicenseExpireDateCalendar" type="button" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_gender">Gender</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_gender[]" id="license_gender" size="1">
|
||||
<xsl:apply-templates select="//Constants/Genders"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_ethnicity">Ethnicity</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_ethnicity[]" id="license_ethnicity" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'ethnicities'"/>
|
||||
<xsl:with-param name="selected-path" select="'ethnicities'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="d-none" id="commercial_search">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="commercial_license_company_or_last_name">Company/Last Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="commercial_license_company_or_last_name" id="commercial_license_company_or_last_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_code">License Codes</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_code[]" id="license_code" size="1">
|
||||
<xsl:apply-templates select="//licensecodes"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="commercial_license_number">License Number</label>
|
||||
<input type="text" class="form-control form-control-sm licensenumber-autocomplete" name="commercial_license_number" id="commercial_license_number" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_county[]" id="license_county" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'florida_counties'"/>
|
||||
<xsl:with-param name="selected-path" select="'florida_counties'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12 mb-3">
|
||||
|
||||
<label class="form-label">Tag Quantity</label>
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">From: </span>
|
||||
<input type="text" class="form-control form-control-sm me-2 numeric-mask" name="commercial_license_total_tag_qty_from" id="commercial_license_total_tag_qty_from" maxlength="6"/>
|
||||
<span class="input-group-text">To: </span>
|
||||
<input type="text" class="form-control form-control-sm numeric-mask" name="commercial_license_total_tag_qty_to" id="commercial_license_total_tag_qty_to" maxlength="6"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12 mb-3">
|
||||
|
||||
<label class="form-label">Begin Date Range</label>
|
||||
|
||||
<div class="input-group input-group-sm begin_date">
|
||||
|
||||
<span class="input-group-text">From:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="commercial_license_begin_date_from" id="commercial_license_begin_date_from" autocomplete="off" maxlength="10"/>
|
||||
<button class="btn btn-outline-primary btnBeginDateFromCalendar" type="button" data-target="#commercial_license_begin_date_from" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
<span class="input-group-text ms-2">To:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="commercial_license_begin_date_to" id="commercial_license_begin_date_to" autocomplete="off" maxlength="10"/>
|
||||
<button class="btn btn-outline-primary btnBeginDateToCalendar" type="button" data-target="#commercial_license_begin_date_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12 mb-3">
|
||||
|
||||
<label class="form-label">Expire Date Range</label>
|
||||
|
||||
<div class="input-group input-group-sm expire_date">
|
||||
|
||||
<span class="input-group-text">From:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="commercial_license_expire_date_from" id="commercial_license_expire_date_from" autocomplete="off" maxlength="10"/>
|
||||
<button class="btn btn-outline-primary btnExpireDateFromCalendar" type="button" data-target="commercial_license_expire_date_from" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
<span class="input-group-text ms-2">To:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="commercial_license_expire_date_to" id="commercial_license_expire_date_to" autocomplete="off" maxlength="10"/>
|
||||
<button class="btn btn-outline-primary btnExpireDateToCalendar" type="button" data-target="#commercial_license_expire_date_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnHome">
|
||||
<i class="bi bi-house me-2"/>Home</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSearch">
|
||||
<i class="bi bi-search me-2"/>Search</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnReset">
|
||||
<i class="bi bi-arrow-clockwise me-2"/>Reset Search</button>
|
||||
|
||||
<div id="search-form-error" class="search-form-error fs-5 text-danger fw-bold fst-italic mt-3 mb-1 d-none">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Search Card -->
|
||||
</div>
|
||||
|
||||
<!-- Results Card -->
|
||||
|
||||
<div class="col-lg-9">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//licenses/record) > 0">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3">
|
||||
<i class="bi bi-tools me-2"/>
|
||||
Results
|
||||
<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="filter" id="filter" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'filter_licenses']/popover_placeholder}"/>
|
||||
<button type="button" class="btn btn-primary fw-bold btnClearFilter" data-bs-toggle="tooltip" data-bs-title="Clear Filter" 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="licenses_per_page" id="licenses_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="count(//licenses/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>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 dropdown-toggle btnExportSelected d-none" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-download me-2"/>Export Selected
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnExportCSV">
|
||||
<i class="bi bi-filetype-csv me-2"/>CSV File</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportExcel">
|
||||
<i class="bi bi-filetype-xlsx me-2"/>Excel Spreadsheet</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnPrintSelected">
|
||||
<i class="bi bi-printer me-2"/>PDF</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 dropdown-toggle btnExportAll" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-download me-2"/>Export All
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnExportAllCSV">
|
||||
<i class="bi bi-filetype-csv me-2"/>CSV</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportAllExcel">
|
||||
<i class="bi bi-filetype-xlsx me-2"/>Excel Spreadsheet</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportAllPDF">
|
||||
<i class="bi bi-filetype-pdf me-1"></i>PDF</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<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(//licenses/record) = 0">
|
||||
|
||||
<div class="filter-error fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="filter-error fs-5 text-danger fw-bold fst-italic mb-1 d-none">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table" id="licenses-table">
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="//licenses/@type = 'commercial'">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-center" >Select</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_last_name" >Company/Last Name</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_type" >License Code</th>
|
||||
<th class="text-nowrap sortable" data-order-by="commercial_license_number" >License Number</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_county" >County</th>
|
||||
<th class="text-nowrap sortable text-end" data-order-by="commercial_license_total_tag_qty">Tag Qty</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_start_date" >Begin Date</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_expire_date" >Expire Date</th>
|
||||
|
||||
</thead>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-center" >Select</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_first_name" >First Name</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_last_name" >Last Name</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_county" >County</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_city" >City</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_type" >Type</th>
|
||||
<th class="text-nowrap sortable text-center" data-order-by="license_gender" >Gender</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_ethnicity" >Ethnicity</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_start_date" >Start Date</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_expire_date">Expire Date</th>
|
||||
|
||||
</thead>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//licenses/record"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3">
|
||||
<i class="bi bi-tools me-2"/>
|
||||
Results
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<!-- the node name inside searchhistory_parameters that holds <id> list -->
|
||||
<xsl:param name="selected-path"/>
|
||||
|
||||
<!-- Grab the selected ids once -->
|
||||
<xsl:variable name="selectedIds" select="/XML/searchhistory/record/searchhistory_parameters/*[name()=$selected-path]/id"/>
|
||||
|
||||
<xsl:for-each select="/XML/dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="$selectedIds = dropdown_serial">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value"/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Gender dropdown -->
|
||||
|
||||
<xsl:template match="Constants/Genders">
|
||||
|
||||
<xsl:for-each select="Gender">
|
||||
<xsl:sort select="."/>
|
||||
<option value="{@abbreviation}" data-tokens="{@abbreviation}">
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for License Types dropdown -->
|
||||
|
||||
<xsl:template match="licensetypes">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{license_type}" data-tokens="{license_type}">
|
||||
<xsl:value-of select="license_type"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Cities dropdown -->
|
||||
|
||||
<xsl:template match="cities">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{city_name}" data-tokens="{city_name}">
|
||||
<xsl:value-of select="city_name"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Commercial License Codes dropdown -->
|
||||
|
||||
<xsl:template match="licensecodes">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{license_code}" data-tokens="{license_code}">
|
||||
<xsl:value-of select="concat(license_code, ' - ', license_description)"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Recreational License rows -->
|
||||
|
||||
<xsl:template match="licenses/record">
|
||||
<xsl:choose>
|
||||
<xsl:when test="../@type = 'commercial'">
|
||||
<xsl:call-template name="commercial-license-row"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="recreational-license-row"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="recreational-license-row">
|
||||
|
||||
<tr class="hoverable license-row text-nowrap" data-license-serial="{license_serial}">
|
||||
|
||||
<td class="checkbox text-center selection-checkboxes selection-area">
|
||||
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{license_serial}">
|
||||
</input>
|
||||
<span class="selection-area user-select-none"> </span>
|
||||
</td>
|
||||
|
||||
<td class="license_first_name filterable">
|
||||
<xsl:value-of select="license_first_name"/>
|
||||
</td>
|
||||
|
||||
<td class="license_last_name text-nowrap filterable">
|
||||
<xsl:value-of select="license_last_name"/>
|
||||
</td>
|
||||
|
||||
<td class="license_county text-nowrap filterable">
|
||||
<xsl:value-of select="license_county"/>
|
||||
</td>
|
||||
|
||||
<td class="license_city text-nowrap filterable">
|
||||
<xsl:value-of select="license_city"/>
|
||||
</td>
|
||||
|
||||
<td class="license_type filterable">
|
||||
<xsl:value-of select="license_type"/>
|
||||
</td>
|
||||
|
||||
<td class="license_gender text-center">
|
||||
<xsl:value-of select="license_gender"/>
|
||||
</td>
|
||||
|
||||
<td class="license_ethnicity filterable">
|
||||
<xsl:value-of select="license_ethnicity"/>
|
||||
</td>
|
||||
|
||||
<td class="license_start_date filterable">
|
||||
<xsl:value-of select="license_start_date_verbose"/>
|
||||
</td>
|
||||
|
||||
<td class="license_expire_date filterable">
|
||||
<xsl:value-of select="license_expire_date_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Commercial License rows -->
|
||||
|
||||
<xsl:template name="commercial-license-row">
|
||||
|
||||
<tr class="hoverable license-row text-nowrap" data-license-serial="{license_serial}">
|
||||
|
||||
<td class="checkbox text-center selection-checkboxes selection-area">
|
||||
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{license_serial}">
|
||||
</input>
|
||||
<span class="selection-area user-select-none"> </span>
|
||||
</td>
|
||||
|
||||
<td class="license_last_name text-nowrap filterable">
|
||||
<xsl:value-of select="license_last_name"/>
|
||||
</td>
|
||||
|
||||
<td class="license_type filterable">
|
||||
<xsl:value-of select="license_type"/>
|
||||
</td>
|
||||
|
||||
<td class="commercial_license_number filterable">
|
||||
<xsl:value-of select="commercial_license_number"/>
|
||||
</td>
|
||||
|
||||
<td class="license_county text-nowrap filterable">
|
||||
<xsl:value-of select="license_county"/>
|
||||
</td>
|
||||
|
||||
<td class="commercial_license_total_tag_qty text-end filterable">
|
||||
<xsl:value-of select="commercial_license_total_tag_qty"/>
|
||||
</td>
|
||||
|
||||
<td class="license_start_date filterable">
|
||||
<xsl:value-of select="license_start_date_verbose"/>
|
||||
</td>
|
||||
|
||||
<td class="license_expire_date filterable">
|
||||
<xsl:value-of select="license_expire_date_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,589 @@
|
||||
<?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">2.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Search Permit Facts</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">searchPermitFacts</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//permitfacts/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//permitfacts/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//permitfacts/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//permitfacts/@page"/>
|
||||
|
||||
|
||||
<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 d-flex align-items-center">
|
||||
<i class="bi bi-search me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//subscriptions/record/subscription_full_title"/>
|
||||
<span class="ms-auto">
|
||||
Available Records: <xsl:value-of select="format-number(//userstotalavailablerecords/record/count, '#,##0')" />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="PermitFacts.searchPermitFacts"/>
|
||||
<input type="hidden" name="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="permitfact_company">Permit Holder</label>
|
||||
<input type="text" class="form-control form-control-sm" name="permitfact_company" id="permitfact_company" maxlength="100" autocomplete="off" autofocus="autofocus"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_company}"/>
|
||||
</div>
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="permitfact_project_name">Project Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="permitfact_project_name" id="permitfact_project_name" maxlength="100" autocomplete="off"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_project_name}"/>
|
||||
</div>
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="permitfact_project_zip">Zip Code</label>
|
||||
<input type="text" class="form-control form-control-sm zip-mask" name="permitfact_project_zip" id="permitfact_project_zip" maxlength="20"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_project_zip}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="permitfact_project_city">City</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="permitfact_project_city[]" id="permitfact_project_city" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncities"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="permitfact_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="permitfact_county[]" id="permitfact_county" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncounties"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="permitfact_project_type">Project Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="permitfact_project_type[]" id="permitfact_project_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'project_types'"/>
|
||||
<xsl:with-param name="selected-path" select="'permitfact_project_type'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-2 mb-3">
|
||||
<label class="form-label" for="permitfact_work_type">Work Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="permitfact_work_type[]" id="permitfact_work_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'work_types'"/>
|
||||
<xsl:with-param name="selected-path" select="'permitfact_work_type'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="permitfact_building_type">Building Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="permitfact_building_type[]" id="permitfact_building_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'building_type'"/>
|
||||
<xsl:with-param name="selected-path" select="'permitfact_building_type'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Square Footage</label>
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">From: </span>
|
||||
<input type="text" class="form-control form-control-sm me-2 sqft-mask" name="permitfact_size_from" id="permitfact_size_from" maxlength="7" value="{//searchhistory/record/searchhistory_parameters/permitfact_size_from}"/>
|
||||
<span class="input-group-text">To: </span>
|
||||
<input type="text" class="form-control form-control-sm sqft-mask" name="permitfact_size_to" id="permitfact_size_to" maxlength="7" value="{//searchhistory/record/searchhistory_parameters/permitfact_size_to}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Value Range</label>
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
<span class="input-group-text">From: </span>
|
||||
<input type="text" class="form-control form-control-sm me-2 money-mask" name="permitfact_value_from" id="permitfact_value_from" maxlength="18" value="{//searchhistory/record/searchhistory_parameters/permitfact_value_from}"/>
|
||||
<span class="input-group-text">To: </span>
|
||||
<input type="text" class="form-control form-control-sm money-mask" name="permitfact_value_to" id="permitfact_value_to" maxlength="18" value="{//searchhistory/record/searchhistory_parameters/permitfact_value_to}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Permit Issue Date Range</label>
|
||||
|
||||
<div class="input-group input-group-sm permit_date">
|
||||
|
||||
<span class="input-group-text">From:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="permitfact_permit_date_from" id="permitfact_permit_date_from" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_permit_date_from}"/>
|
||||
<button class="btn btn-outline-primary btnPermitDateFromCalendar" type="button" data-target="#permitfact_permit_date_from" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
<span class="input-group-text ms-2">To:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="permitfact_permit_date_to" id="permitfact_permit_date_to" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_permit_date_to}"/>
|
||||
<button class="btn btn-outline-primary btnPermitDateToCalendar" type="button" data-target="#permitfact_permit_date_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Entry Date Range</label>
|
||||
|
||||
<div class="input-group input-group-sm entry_date">
|
||||
|
||||
<span class="input-group-text">From:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="permitfact_entry_date_from" id="permitfact_entry_date_from" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_entry_date_from}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateFromCalendar" type="button" data-target="#permitfact_entry_date_from" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
<span class="input-group-text ms-2">To:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="permitfact_entry_date_to" id="permitfact_entry_date_to" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/permitfact_entry_date_to}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateToCalendar" type="button" data-target="#permitfact_entry_date_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnHome">
|
||||
<i class="bi bi-house me-2"/>Home</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSearch">
|
||||
<i class="bi bi-search me-2"/>Search</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnReset">
|
||||
<i class="bi bi-arrow-clockwise me-2"/>Reset Search</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Search Card -->
|
||||
|
||||
<!-- Results Card -->
|
||||
|
||||
<div class="card mt-4">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 d-flex align-items-center">
|
||||
<i class="bi bi-card-list me-2"/>
|
||||
Results
|
||||
<span class="ms-auto">
|
||||
<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')"/>
|
||||
Records
|
||||
</xsl:if>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<xsl:if test="count(//permitfacts/record) > 0">
|
||||
|
||||
<div class="row align-items-center mt-2 mb-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="filter" id="filter" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'filter_permitfacts']/popover_placeholder}"/>
|
||||
<button type="button" class="btn btn-primary fw-bold btnClearFilter" data-bs-toggle="tooltip" data-bs-title="Clear Filter" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-arrow-clockwise"/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-auto">
|
||||
<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 autosave" name="permitfacts_per_page" id="permitfacts_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>
|
||||
|
||||
<div class="buttons mt-1 mb-2 print_page_buttons">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-printer me-2"/>Print
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnPrintSearchResultsPDF" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'print_search_results']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<xsl:if test="$PAGINATION_COUNT > 2500">
|
||||
<xsl:attribute name="disabled">disabled</xsl:attribute>
|
||||
</xsl:if>
|
||||
<i class="bi bi-filetype-pdf text-danger me-2"/>Search Results - PDF</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item" onclick="window.print()">
|
||||
<i class="bi bi-display me-2"/>Screen</button>
|
||||
</li>
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
<button class="dropdown-item btnPrintAllRecordsPDF" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'print_all_records']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-filetype-pdf text-danger me-2"/>All Records - PDF</button>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-download me-2"/>Export
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnExportCSV" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'export_search_results_csv']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<xsl:if test="$PAGINATION_COUNT > 2500">
|
||||
<xsl:attribute name="disabled">disabled</xsl:attribute>
|
||||
</xsl:if>
|
||||
<i class="bi bi-filetype-csv me-2 text-info"/> Searched Results - CSV</button>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportExcel" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'export_search_results_excel']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<xsl:if test="$PAGINATION_COUNT > 2500">
|
||||
<xsl:attribute name="disabled">disabled</xsl:attribute>
|
||||
</xsl:if>
|
||||
<i class="bi bi-filetype-xlsx me-2 text-success"/>Searched Results - Excel</button>
|
||||
|
||||
</li>
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
<button class="dropdown-item btnExportAllRecordsCSV" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'export_all_records_csv']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-filetype-csv me-2 text-info"/> All Records - CSV</button>
|
||||
<button class="dropdown-item btnExportAllRecordsExcel" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'export_all_records_excel']/popover_text}"
|
||||
data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-filetype-xlsx me-2 text-success"/>All Records - Excel</button>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group ms-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>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//permitfacts/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Permit Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="scrollable-40">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-2 mb-1 filter-error d-none">
|
||||
<xsl:text>There are no Permit Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
<xsl:apply-templates select="//permitfacts"/>
|
||||
|
||||
</div>
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<!-- the node name inside searchhistory_parameters that holds <id> list -->
|
||||
<xsl:param name="selected-path"/>
|
||||
|
||||
<!-- Grab the selected ids once -->
|
||||
<xsl:variable name="selectedIds" select="/XML/searchhistory/record/searchhistory_parameters/*[name()=$selected-path]/id"/>
|
||||
|
||||
<xsl:for-each select="/XML/dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="$selectedIds = dropdown_serial">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value"/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<!-- Template for Cities dropdown -->
|
||||
|
||||
<xsl:template match="subscriptioncities">
|
||||
<xsl:for-each select="record">
|
||||
<option value="{subscriptioncity_city}" data-tokens="{subscriptioncities_city_name_verbose}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/permitfact_project_city/id = subscriptioncity_city">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:value-of select="subscriptioncities_city_name_verbose" />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Counties dropdown -->
|
||||
|
||||
<xsl:template match="subscriptioncounties">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{subscriptioncounty_county}" data-tokens="{subscriptioncounty_county}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/permitfact_county/id = subscriptioncounty_county">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="subscriptioncounties_county_name_verbose" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Permit Fact Cards -->
|
||||
|
||||
<xsl:template match="//permitfacts/record">
|
||||
|
||||
<div class="card mt-3 permitfact-card filterable">
|
||||
|
||||
<!-- Header -->
|
||||
<div class="card-header bg-primary text-white d-flex align-items-start justify-content-between">
|
||||
<div>
|
||||
<div class="fw-semibold">
|
||||
Project Name:
|
||||
<xsl:value-of select="permitfact_project_name"/>
|
||||
</div>
|
||||
<div class="small">
|
||||
<xsl:value-of select="permitfact_project_address"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="project_city_verbose"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="permitfact_project_zip"/>
|
||||
<xsl:text> — </xsl:text>
|
||||
<xsl:value-of select="permitfact_county_name_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- far-right number -->
|
||||
<div class="text-end ms-3">
|
||||
<div class="small">Record #</div>
|
||||
<div class="fw-bold">
|
||||
<xsl:value-of select="permitfact_legacy_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Body -->
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Permit Number</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_permit_number"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Permit Date</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_permit_date_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">District</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(permitfact_dist_ll) != ''">
|
||||
<xsl:value-of select="permitfact_dist_ll"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Lot / Block</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(permitfact_lot_block) != ''">
|
||||
<xsl:value-of select="permitfact_lot_block"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Value</div>
|
||||
<div class="fw-semibold">$<xsl:value-of select="format-number(permitfact_value, '#,##0.00')"/></div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Size (sq ft)</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="format-number(permitfact_size, '#,##0')" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Work Type</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_work_type_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Project Type</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_project_type_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Building Type</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_building_type_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="text-muted small">Company</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_company"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-10">
|
||||
<div class="text-muted small">Company Address</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_address"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="permitfact_city_verbose"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="permitfact_state"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="permitfact_zip"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="text-muted small">Phone</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(permitfact_phone) = 10">
|
||||
<xsl:value-of
|
||||
select="concat('(', substring(permitfact_phone, 1, 3), ') ', substring(permitfact_phone, 4, 3), '-', substring(permitfact_phone, 7, 4))"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="permitfact_phone"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="text-muted small">Owner Name</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="permitfact_owner_name"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<div class="text-muted small">Owner Phone</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(permitfact_owner_phone) = 10">
|
||||
<xsl:value-of
|
||||
select="concat('(', substring(permitfact_owner_phone, 1, 3), ') ', substring(permitfact_owner_phone, 4, 3), '-', substring(permitfact_owner_phone, 7, 4))"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="permitfact_owner_phone"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,500 @@
|
||||
<?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">2.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Search Recreational Licenses</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">searchRecreationalLicenses</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//licenses/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//licenses/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//licenses/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//licenses/@page"/>
|
||||
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<div class="col-lg-3">
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 d-flex align-items-center">
|
||||
<i class="bi bi-search me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="FWCLicenses.searchRecreationalLicenses"/>
|
||||
<input type="hidden" name="step" value="search"/>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_last_name">Last Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="license_last_name" id="license_last_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_first_name">First Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="license_first_name" id="license_first_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_county[]" id="license_county" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'florida_counties'"/>
|
||||
<xsl:with-param name="selected-path" select="'florida_counties'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_city">City</label>
|
||||
<input type="text" class="form-control form-control-sm" name="license_city" id="license_city" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="license_type">License Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_type[]" id="license_type" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'license_types'"/>
|
||||
<xsl:with-param name="selected-path" select="'license_types'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label class="form-label" for="license_start_date">Start Date</label>
|
||||
<div class="input-group input-group-sm license_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="license_start_date" id="license_start_date" autocomplete="off" value=""/>
|
||||
<button class="btn btn-sm btn-outline-primary btnLicenseStartDateCalendar" type="button" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label class="form-label" for="license_expire_date">Expire Date</label>
|
||||
<div class="input-group input-group-sm license_expire_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="license_expire_date" id="license_expire_date" autocomplete="off" value=""/>
|
||||
<button class="btn btn-sm btn-outline-primary btnLicenseExpireDateCalendar" type="button" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_gender">Gender</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_gender[]" id="license_gender" size="1">
|
||||
<xsl:apply-templates select="//Constants/Genders"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="license_ethnicity">Ethnicity</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="license_ethnicity[]" id="license_ethnicity" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'ethnicities'"/>
|
||||
<xsl:with-param name="selected-path" select="'ethnicities'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnHome">
|
||||
<i class="bi bi-house me-2"/>Home</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSearch">
|
||||
<i class="bi bi-search me-2"/>Search</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnReset">
|
||||
<i class="bi bi-arrow-clockwise me-2"/>Reset Search</button>
|
||||
|
||||
<div id="search-form-error" class="search-form-error fs-5 text-danger fw-bold fst-italic mt-3 mb-1 d-none">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Search Card -->
|
||||
</div>
|
||||
|
||||
<!-- Results Card -->
|
||||
|
||||
<div class="col-lg-9">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//licenses/record) > 0">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3">
|
||||
<i class="bi bi-tools me-2"/>
|
||||
Results
|
||||
<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="filter" id="filter" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'filter_licenses']/popover_placeholder}"/>
|
||||
<button type="button" class="btn btn-primary fw-bold btnClearFilter" data-bs-toggle="tooltip" data-bs-title="Clear Filter" 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="licenses_per_page" id="licenses_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="count(//licenses/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>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 dropdown-toggle btnExportSelected d-none" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-download me-2"/>Export Selected
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnExportCSV">
|
||||
<i class="bi bi-filetype-csv me-2"/>CSV File</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportExcel">
|
||||
<i class="bi bi-filetype-xlsx me-2"/>Excel Spreadsheet</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnPrintSelected">
|
||||
<i class="bi bi-printer me-2"/>PDF</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 dropdown-toggle btnExportAll" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="bi bi-download me-2"/>Export Full
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<button class="dropdown-item btnExportSearchResultsCSV">
|
||||
<i class="bi bi-filetype-csv me-2"/>CSV</button>
|
||||
</li>
|
||||
<li>
|
||||
<button class="dropdown-item btnExportAllPDF">
|
||||
<i class="bi bi-filetype-pdf me-1"></i>PDF</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<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(//licenses/record) = 0">
|
||||
|
||||
<div class="filter-error fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="filter-error fs-5 text-danger fw-bold fst-italic mb-1 d-none">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table" id="licenses-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-center" >Select</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_first_name" >First Name</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_last_name" >Last Name</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_county" >County</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_city" >City</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_type" >Type</th>
|
||||
<th class="text-nowrap sortable text-center" data-order-by="license_gender" >Gender</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_ethnicity" >Ethnicity</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_start_date" >Start Date</th>
|
||||
<th class="text-nowrap sortable" data-order-by="license_expire_date">Expire Date</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//licenses/record"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3">
|
||||
<i class="bi bi-tools me-2"/>
|
||||
Results
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Licenses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<!-- the node name inside searchhistory_parameters that holds <id> list -->
|
||||
<xsl:param name="selected-path"/>
|
||||
|
||||
<!-- Grab the selected ids once -->
|
||||
<xsl:variable name="selectedIds" select="/XML/searchhistory/record/searchhistory_parameters/*[name()=$selected-path]/id"/>
|
||||
|
||||
<xsl:for-each select="/XML/dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="$selectedIds = dropdown_serial">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value"/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Gender dropdown -->
|
||||
|
||||
<xsl:template match="Constants/Genders">
|
||||
|
||||
<xsl:for-each select="Gender">
|
||||
<xsl:sort select="."/>
|
||||
<option value="{@abbreviation}" data-tokens="{@abbreviation}">
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for License Types dropdown -->
|
||||
|
||||
<xsl:template match="licensetypes">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{license_type}" data-tokens="{license_type}">
|
||||
<xsl:value-of select="license_type"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Cities dropdown -->
|
||||
|
||||
<xsl:template match="cities">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{city_name}" data-tokens="{city_name}">
|
||||
<xsl:value-of select="city_name"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Commercial License Codes dropdown -->
|
||||
|
||||
<xsl:template match="licensecodes">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{license_code}" data-tokens="{license_code}">
|
||||
<xsl:value-of select="concat(license_code, ' - ', license_description)"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Recreational License rows -->
|
||||
|
||||
<xsl:template match="licenses/record">
|
||||
<xsl:choose>
|
||||
<xsl:when test="../@type = 'commercial'">
|
||||
<xsl:call-template name="commercial-license-row"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="recreational-license-row"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="recreational-license-row">
|
||||
|
||||
<tr class="hoverable license-row text-nowrap" data-license-serial="{license_serial}">
|
||||
|
||||
<td class="checkbox text-center selection-checkboxes selection-area">
|
||||
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{license_serial}">
|
||||
</input>
|
||||
<span class="selection-area user-select-none"> </span>
|
||||
</td>
|
||||
|
||||
<td class="license_first_name filterable">
|
||||
<xsl:value-of select="license_first_name"/>
|
||||
</td>
|
||||
|
||||
<td class="license_last_name text-nowrap filterable">
|
||||
<xsl:value-of select="license_last_name"/>
|
||||
</td>
|
||||
|
||||
<td class="license_county text-nowrap filterable">
|
||||
<xsl:value-of select="license_county"/>
|
||||
</td>
|
||||
|
||||
<td class="license_city text-nowrap filterable">
|
||||
<xsl:value-of select="license_city"/>
|
||||
</td>
|
||||
|
||||
<td class="license_type filterable">
|
||||
<xsl:value-of select="license_type"/>
|
||||
</td>
|
||||
|
||||
<td class="license_gender text-center">
|
||||
<xsl:value-of select="license_gender"/>
|
||||
</td>
|
||||
|
||||
<td class="license_ethnicity filterable">
|
||||
<xsl:value-of select="license_ethnicity"/>
|
||||
</td>
|
||||
|
||||
<td class="license_start_date filterable">
|
||||
<xsl:value-of select="license_start_date_verbose"/>
|
||||
</td>
|
||||
|
||||
<td class="license_expire_date filterable">
|
||||
<xsl:value-of select="license_expire_date_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,158 @@
|
||||
<?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">BudgetDetails</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupBudgetDetails</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//subscriptions/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//subscriptions/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//subscriptions/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//subscriptions/@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 border-bottom-0">
|
||||
<i class="bi bi-list 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_subscription" id="find_subscription" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_subscription']/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_subscription']/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">
|
||||
<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 autosave" name="subscriptions_per_page" id="subscriptions_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>
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//subscriptions/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no BudgetDetails to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="subscriptions-table">
|
||||
<thead>
|
||||
<th>Title</th>
|
||||
<th>Service Level</th>
|
||||
<th>Market</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//subscriptions"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="subscriptions/record">
|
||||
|
||||
<tr class="text-nowrap hoverable subscription-row" data-subscription-serial="{subscription_serial}" data-subscription-name="{subscription_name}">
|
||||
|
||||
<td class="subscription_title">
|
||||
<xsl:value-of select="subscription_title"/>
|
||||
</td>
|
||||
<td class="subscription_service_level">
|
||||
<xsl:value-of select="subscription_service_level_verbose"/>
|
||||
</td>
|
||||
<td class="subscription_market">
|
||||
<xsl:value-of select="subscription_market_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,176 @@
|
||||
<?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">County Codes</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupCountyCodes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//countycodes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//countycodes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//countycodes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//countycodes/@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-map me-2"></i>
|
||||
<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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_countycode" id="find_countycode" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_countycode']/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_countycode']/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">
|
||||
<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 autosave" name="countycodes_per_page" id="countycodes_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-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//countycodes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no County Codes to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="countycodes-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Code</th>
|
||||
<th class="text-nowrap">Name</th>
|
||||
<th class="text-nowrap">State</th>
|
||||
<th class="text-nowrap">Active</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//countycodes"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="countycodes/record">
|
||||
|
||||
<tr class="hoverable countycodes-row" data-countycode-serial="{countycode_serial}">
|
||||
|
||||
<td class="countycode_code">
|
||||
<xsl:value-of select="countycode_code"/>
|
||||
</td>
|
||||
|
||||
<td class="countycode_name">
|
||||
<xsl:value-of select="countycode_name"/>
|
||||
</td>
|
||||
|
||||
<td class="countycode_state">
|
||||
<xsl:value-of select="countycode_state"/>
|
||||
</td>
|
||||
|
||||
<td class="countycode_active text-center">
|
||||
<xsl:if test="boolean(number(countycode_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,171 @@
|
||||
<?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">History Codes</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupHistoryCodes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//historycodes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//historycodes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//historycodes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//historycodes/@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-grid-3x3-gap me-2"></i>
|
||||
<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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_historycode" id="find_historycode" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_historycode']/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_historycode']/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">
|
||||
<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 autosave" name="historycodes_per_page" id="historycodes_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-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//historycodes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no History Codes to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="historycodes-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Code</th>
|
||||
<th class="text-nowrap">Description</th>
|
||||
<th class="text-nowrap">Active</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//historycodes"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="historycodes/record">
|
||||
|
||||
<tr class="hoverable historycodes-row" data-historycode-serial="{historycode_serial}">
|
||||
|
||||
<td class="historycode_code">
|
||||
<xsl:value-of select="historycode_code"/>
|
||||
</td>
|
||||
|
||||
<td class="historycode_description">
|
||||
<xsl:value-of select="historycode_description"/>
|
||||
</td>
|
||||
|
||||
<td class="historycode_active text-center">
|
||||
<xsl:if test="boolean(number(historycode_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,171 @@
|
||||
<?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">Political Parties</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupPoliticalParties</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//politicalparties/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//politicalparties/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//politicalparties/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//politicalparties/@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-bank me-2"></i>
|
||||
<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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_politicalparty" id="find_politicalparty" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_politicalparty']/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_politicalparty']/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">
|
||||
<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 autosave" name="politicalparties_per_page" id="politicalparties_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-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//politicalparties/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Race Codes to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="politicalparties-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Code</th>
|
||||
<th class="text-nowrap">Name</th>
|
||||
<th class="text-nowrap">Active</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//politicalparties"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="politicalparties/record">
|
||||
|
||||
<tr class="hoverable politicalparties-row" data-politicalparty-serial="{politicalparty_serial}">
|
||||
|
||||
<td class="politicalparty_code">
|
||||
<xsl:value-of select="politicalparty_code"/>
|
||||
</td>
|
||||
|
||||
<td class="politicalparty_name">
|
||||
<xsl:value-of select="politicalparty_name"/>
|
||||
</td>
|
||||
|
||||
<td class="politicalparty_active text-center">
|
||||
<xsl:if test="boolean(number(politicalparty_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,171 @@
|
||||
<?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">Race Codes</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupRaceCodes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//racecodes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//racecodes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//racecodes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//racecodes/@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-person-standing me-2"></i>
|
||||
<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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_racecode" id="find_racecode" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_racecode']/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_racecode']/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">
|
||||
<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 autosave" name="racecodes_per_page" id="racecodes_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-3 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//racecodes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Race Codes to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="racecodes-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Code</th>
|
||||
<th class="text-nowrap">Description</th>
|
||||
<th class="text-nowrap">Active</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//racecodes"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="racecodes/record">
|
||||
|
||||
<tr class="hoverable racecodes-row" data-racecode-serial="{racecode_serial}">
|
||||
|
||||
<td class="racecode_code">
|
||||
<xsl:value-of select="racecode_code"/>
|
||||
</td>
|
||||
|
||||
<td class="racecode_description">
|
||||
<xsl:value-of select="racecode_description"/>
|
||||
</td>
|
||||
|
||||
<td class="racecode_active text-center">
|
||||
<xsl:if test="boolean(number(racecode_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,158 @@
|
||||
<?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">Subscriptions</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupSubscriptions</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//subscriptions/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//subscriptions/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//subscriptions/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//subscriptions/@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 border-bottom-0">
|
||||
<i class="bi bi-list 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_subscription" id="find_subscription" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_subscription']/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_subscription']/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">
|
||||
<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 autosave" name="subscriptions_per_page" id="subscriptions_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>
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//subscriptions/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Subscriptions to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="subscriptions-table">
|
||||
<thead>
|
||||
<th>Title</th>
|
||||
<th>Service Level</th>
|
||||
<th>Market</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//subscriptions"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="subscriptions/record">
|
||||
|
||||
<tr class="text-nowrap hoverable subscription-row" data-subscription-serial="{subscription_serial}" data-subscription-name="{subscription_name}">
|
||||
|
||||
<td class="subscription_title">
|
||||
<xsl:value-of select="subscription_title"/>
|
||||
</td>
|
||||
<td class="subscription_service_level">
|
||||
<xsl:value-of select="subscription_service_level_verbose"/>
|
||||
</td>
|
||||
<td class="subscription_market">
|
||||
<xsl:value-of select="subscription_market_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,409 @@
|
||||
<?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">Subscription Summary</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">subscriptionSummary</xsl:param>
|
||||
|
||||
<!-- 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-list me-2" aria-hidden="true"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
|
||||
<!-- Details -->
|
||||
|
||||
<div class="card card-header rounded p-0 ms-0 me-0 mb-3">
|
||||
|
||||
<div class="card-body p-2">
|
||||
|
||||
<div class="row fs-875 lh-sm">
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Title:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_title"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Service Level:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_service_level_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Market:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_market_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_created_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_creator"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_changed_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//subscriptions/record/subscription_changed_subscription"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <div class="row align-items-baseline mt-1">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Active Status:
|
||||
</div>
|
||||
|
||||
<div class="col-3">
|
||||
<select class="form-select form-select-sm" name="subscription_active" id="subscription_active" size="1">
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="//subscriptions/record/subscription_active = 1">
|
||||
<option value="1" selected="yes">Active</option>
|
||||
<option value="0">Inactive</option>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<option value="1">Active</option>
|
||||
<option value="0" selected="yes">Inactive</option>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mb-2"/>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnEdit">
|
||||
<i class="bi bi-pencil me-2"/>Edit</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-1 mb-3"/>
|
||||
|
||||
<!-- Tabs -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="nav nav-tabs" id="nav-tabs" role="tablist">
|
||||
<a class="nav-item nav-link active" id="tab-Counties" data-bs-toggle="tab" href="#pane-Counties" role="tab" data-tab="Counties" aria-controls="st-Counties">
|
||||
<i class="bi bi-list-check me-1"/>Counties</a>
|
||||
<a class="nav-item nav-link" id="tab-Cities" data-bs-toggle="tab" href="#pane-Cities" role="tab" data-tab="Cities" aria-controls="st-Cities">
|
||||
<i class="bi bi-list-check me-1"/>Cities</a>
|
||||
<a class="nav-item nav-link" id="tab-Notes" data-bs-toggle="tab" href="#pane-Notes" role="tab" data-tab="Notes" aria-controls="st-Notes">
|
||||
<i class="bi bi-chat-dots me-1"/>Notes</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tab Content -->
|
||||
|
||||
<div class="tab-content mb-3" id="tab-content">
|
||||
|
||||
<!-- Counties -->
|
||||
|
||||
<div class="tab-pane show active" id="pane-Counties" role="tabpanel" aria-labelledby="tab-SCounties">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//subscriptioncounties/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Counties...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="subscriptioncounties-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Name</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//subscriptioncounties"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddCountyToSubscription">
|
||||
<i class="bi bi-plus-lg me-2"/>Add County</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Counties -->
|
||||
|
||||
<!-- Cities -->
|
||||
|
||||
<div class="tab-pane" id="pane-Cities" role="tabpanel" aria-labelledby="tab-Cities">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//subscriptioncities/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Cities...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="subscriptioncities-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Name</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//subscriptioncities"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddCityToSubscription">
|
||||
<i class="bi bi-plus-lg me-2"/>Add City</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Cities -->
|
||||
|
||||
<!-- Notes -->
|
||||
|
||||
<div class="tab-pane" id="pane-Notes" role="tabpanel" aria-labelledby="tab-Notes">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//notes/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Notes...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="notes-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Date</th>
|
||||
<th>Subscription</th>
|
||||
<th>Type</th>
|
||||
<th>Note</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//notes" />
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddNote">
|
||||
<i class="bi bi-plus-lg me-2"/>Add Note</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Notes -->
|
||||
|
||||
</div> <!-- Tab Content -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<xsl:param name="current-value"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="dropdown_serial = $current-value">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Notes Tab -->
|
||||
|
||||
<xsl:template match="notes/record">
|
||||
|
||||
<tr class="hoverable note-row" data-note-serial="{note_serial}">
|
||||
|
||||
<td class="note_timestamp text-nowrap">
|
||||
<xsl:value-of select="note_timestamp_verbose"/>
|
||||
</td>
|
||||
<td class="note_origin text-nowrap">
|
||||
<xsl:value-of select="note_origin"/>
|
||||
</td>
|
||||
<td class="note_type text-nowrap">
|
||||
<xsl:value-of select="note_type"/>
|
||||
</td>
|
||||
<td class="note_text pre-wrap">
|
||||
<xsl:value-of select="note_text"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Counties Tab -->
|
||||
|
||||
<xsl:template match="subscriptioncounties/record">
|
||||
|
||||
<tr class="subscriptioncounty-row hoverable" data-subscriptioncounty-serial="{subscriptioncounty_serial}">
|
||||
|
||||
<td class="subscriptioncounties_county_name_verbose">
|
||||
<xsl:value-of select="subscriptioncounties_county_name_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Cities Tab -->
|
||||
|
||||
<xsl:template match="subscriptioncities/record">
|
||||
|
||||
<tr class="subscriptioncity-row hoverable" data-subscriptioncity-serial="{subscriptioncity_serial}">
|
||||
|
||||
<td class="subscriptioncity_city_name">
|
||||
<xsl:value-of select="subscriptioncities_city_name_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,56 @@
|
||||
<?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">Add Dropdown</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addDropdown</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-caret-down-square me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//dropdowntypes/record/dropdowntype_title"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Dropdowns.addDropdown"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<input type="hidden" name="dropdowntype_serial" id="dropdowntype_serial" value="{//dropdowntypes/record/dropdowntype_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdown_value">Value</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdown_value" id="dropdown_value" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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">Add Dropdown Type</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addDropdowntype</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-caret-down-square me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Dropdowns.addDropdowntype"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_name" id="dropdowntype_name" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_title" id="dropdowntype_title" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_table">Table</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_table" id="dropdowntype_table" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_column">Column</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_column" id="dropdowntype_column" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,59 @@
|
||||
<?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">Add Note</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addNote</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-chat-dots me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Notes.addNote"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<input type="hidden" name="note_type" value="{$NOTE_TYPE}"/>
|
||||
<input type="hidden" name="note_reference" value="{$NOTE_REFERENCE}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="note_text">Note</label>
|
||||
<textarea class="form-control form-control-sm" name="note_text" id="note_text" rows="8" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-floppy me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-check-lg me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,85 @@
|
||||
<?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">Add Popover</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addPopover</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/system/ckeditor.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-chat-square-dots me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" name="action" value="Popovers.addPopover"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_name" id="popover_name" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_title" id="popover_title" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_placeholder">Placeholder</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_placeholder" id="popover_placeholder" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-10 mb-3">
|
||||
<label class="form-label" for="popover_text">Popover Text</label>
|
||||
<textarea class="form-control form-control-sm" name="popover_text" id="popover_text"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?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">Add Report</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addReport</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-printer me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Reports.addReport"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_name" id="report_name" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_class">Class</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_class" id="report_class" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_type">Type</label>
|
||||
<select class="form-select form-select-sm" name="report_type" id="report_type" size="1">
|
||||
<xsl:apply-templates select="//Constants/ReportTypes"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="report_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_description" id="report_description" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="report_target">Target</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_target" id="report_target" maxlength="50" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Type dropdown -->
|
||||
|
||||
<xsl:template match="Constants/ReportTypes">
|
||||
<xsl:for-each select="ReportType">
|
||||
<xsl:sort select="."/>
|
||||
<option value="{.}">
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,82 @@
|
||||
<?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">Add Status</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addStatus</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-list-task me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Statuses.addStatus"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="status_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="status_name" id="status_name" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="status_classes">Classes</label>
|
||||
<input type="text" class="form-control form-control-sm" name="status_classes" id="status_classes" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="status_active" id="status_active" checked="checked" value="true">
|
||||
</input>
|
||||
<label class="form-check-label" for="status_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?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">Add User</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addUser</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-person-circle me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.addUser"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_name">User Name</label>
|
||||
<input type="text" class="form-control form-control-sm text-capitalize" name="user_name" id="user_name" maxlength="100" autocomplete="off" autofocus="autofocus" data-bs-toggle="popover" data-bs-content="{//popovers/record[popover_name = 'user_name']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-popover" data-bs-offset="0,10"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_client_name">Client Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="user_client_name" id="user_client_name" maxlength="100" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_email">Email</label>
|
||||
<input type="text" class="form-control form-control-sm" name="user_email" id="user_email" maxlength="128" autocomplete="off"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-4">
|
||||
|
||||
<label class="form-label" for="user_role">Role</label>
|
||||
|
||||
<select class="form-control form-control-sm search-dropdown" name="user_role" id="user_role" size="1">
|
||||
<xsl:apply-templates select="//Constants/UserRoles"/>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Role dropdown -->
|
||||
|
||||
<xsl:template match="Constants/UserRoles">
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="UserRole">
|
||||
<xsl:sort select="."/>
|
||||
<option value="{.}" data-tokens="{.}">
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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">Change Password</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">changePassword</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-lock me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.changePassword"/>
|
||||
<input type="hidden" name="step" value="change"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="user_new_password">New Password</label>
|
||||
<input type="password" class="form-control form-control-sm autosave" name="user_new_password" id="user_new_password" maxlength="128" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="user_verify_password">Verify Password</label>
|
||||
<input type="password" class="form-control form-control-sm autosave" name="user_verify_password" id="user_verify_password" maxlength="128" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,390 @@
|
||||
<?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="APPLICATION_NAME"></xsl:param>
|
||||
<xsl:param name="NAVIGATION_AREA_WIDTH">xxl</xsl:param>
|
||||
<xsl:param name="CONTENT_AREA_WIDTH">xxl</xsl:param>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<xsl:text disable-output-escaping="yes"><!DOCTYPE html></xsl:text>
|
||||
|
||||
<html lang="en" data-bs-theme="{$THEME}">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
|
||||
<title>
|
||||
<xsl:value-of select="$APPLICATION_NAME"/>
|
||||
</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="images/server.svg"/>
|
||||
|
||||
<link href="css/themes/Sandstone/bootstrap.min.css?version={$VERSION}" rel="stylesheet" media="screen"/>
|
||||
<link href="css/bootstrap-icons.min.css?version={$VERSION}" rel="stylesheet" media="screen"/>
|
||||
<link href="css/base.css?version={$VERSION}" rel="stylesheet" media="screen" />
|
||||
<link href="css/bootstrap-datepicker.min.css?version={$VERSION}" rel="stylesheet" media="screen" />
|
||||
<link href="css/bootstrap-select.min.css?version={$VERSION}" rel="stylesheet" media="screen" />
|
||||
|
||||
<script src="js/system/jquery-3.2.0.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/bootstrap.bundle.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/base.js?version={$VERSION}"/>
|
||||
<script src="js/system/content.js?version={$VERSION}"/>
|
||||
<script src="js/system/bootstrap-datepicker.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/jquery.inputmask.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/bootstrap-select.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/dinero.min.js?version={$VERSION}"/>
|
||||
<!--<script src="js/system/autologout.js?version={$VERSION}"/>-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<xsl:if test="$THEME = 'Spacelab'">
|
||||
<xsl:attribute name="class">bg-light bg-opacity-50</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<script type="text/javascript">
|
||||
var msie = /msie\s|trident/i.test(window.navigator.userAgent);
|
||||
if (msie) {
|
||||
window.location.href = "html/unsupported.html";
|
||||
}
|
||||
</script>
|
||||
|
||||
<input type="hidden" id="APPLICATION_MNEMONIC" value="{$APPLICATION_MNEMONIC}"/>
|
||||
|
||||
<nav class="navbar navbar-expand-lg fixed-top bg-primary navbar-dark">
|
||||
|
||||
<div class="container-fluid">
|
||||
|
||||
<a class="navbar-brand ms-1 me-0" href="./" aria-label="Home" data-bs-toggle="tooltip" data-bs-title="Home" data-bs-custom-class="custom-tooltip" data-bs-placement="right" data-bs-offset="0,5">
|
||||
<i class="bi bi-check-circle me-2"></i>
|
||||
<xsl:value-of select="$APPLICATION_NAME"/>
|
||||
</a>
|
||||
|
||||
<button type="button" class="navbar-toggler p-0" data-bs-toggle="collapse" data-bs-target="#navbar-main" aria-controls="navbar-main" aria-expanded="false" aria-label="Toggle Navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="navbar-collapse collapse" id="navbar-main">
|
||||
|
||||
<ul class="navbar-nav mx-auto">
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
|
||||
<a href="javascript:void(0);" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="bi bi-search me-1" aria-hidden="true"/>
|
||||
SEARCH
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu mt-2 pt-0 pb-0">
|
||||
|
||||
<a class="dropdown-item ps-2 search-voters" href="javascript:void(0);">
|
||||
<i class="bi bi-person-check me-2"/>
|
||||
Voters
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 search-recreational-licenses" href="javascript:void(0);">
|
||||
<i class="bi bi-feather me-2"></i>
|
||||
Recreational Licenses
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 search-commercial-licenses" href="javascript:void(0);">
|
||||
<i class="bi bi-feather me-2"></i>
|
||||
Commercial Licenses
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<!-- SETUP is only available to Administrators -->
|
||||
|
||||
<xsl:if test="$USER_ROLE = 'Administrator' or $USER_ROLE = 'System Administrator'">
|
||||
|
||||
<li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
|
||||
<a href="javascript:void(0);" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="bi bi-wrench me-1" aria-hidden="true"/>
|
||||
MANAGE
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu mt-2 pt-0 pb-0">
|
||||
|
||||
<a class="dropdown-item ps-2 manage-voter-records" href="javascript:void(0);">
|
||||
<i class="bi bi-map me-2"/>
|
||||
Voters
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 manage-voter-history-records" href="javascript:void(0);">
|
||||
<i class="bi bi-grid-3x3-gap me-2"></i>
|
||||
Voter History
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
|
||||
<a href="javascript:void(0);" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="bi bi-tools me-1" aria-hidden="true"/>
|
||||
SETUP
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu mt-2 pt-0 pb-0">
|
||||
|
||||
<a class="dropdown-item ps-2 setup-county-codes" href="javascript:void(0);">
|
||||
<i class="bi bi-map me-2"/>
|
||||
County Codes
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-history-codes" href="javascript:void(0);">
|
||||
<i class="bi bi-grid-3x3-gap me-2"></i>
|
||||
History Codes
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-political-parties" href="javascript:void(0);">
|
||||
<i class="bi bi-bank me-2"/>
|
||||
Political Parties
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-race-codes" href="javascript:void(0);">
|
||||
<i class="bi bi-person-standing me-2"/>
|
||||
Race Codes
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>
|
||||
|
||||
<!-- <li class="nav-item">
|
||||
<a class="nav-link select-report" href="javascript:void(0);">
|
||||
<i class="bi bi-printer me-1" aria-hidden="true"/>
|
||||
REPORTS
|
||||
</a>
|
||||
</li> -->
|
||||
|
||||
<!-- <li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>-->
|
||||
|
||||
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link run-developer-stub" href="javascript:void(0);">
|
||||
<i class="bi bi-code-slash me-1" aria-hidden="true"/>
|
||||
DEVELOPER
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
</ul>
|
||||
|
||||
<ul class="navbar-nav user-dropdown ms-0">
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
|
||||
<a href="javascript:void(0);" class="nav-link ps-2 dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false">
|
||||
<span class="username me-1">
|
||||
<span>
|
||||
<i class="bi bi-person-circle me-2" aria-hidden="true"></i>
|
||||
</span>
|
||||
<xsl:value-of select="$USER_NAME"/>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-end mt-2 pt-0 pb-0">
|
||||
|
||||
<a class="dropdown-item ps-2 toggle-theme" href="javascript:void(0);">
|
||||
<i class="bi bi-moon me-2"/>Toggle Dark/Light</a>
|
||||
|
||||
<xsl:if test="$USER_ROLE = 'Administrator' or $USER_ROLE = 'System Administrator'">
|
||||
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-dropdowntypes" href="javascript:void(0);">
|
||||
<i class="bi bi-caret-down-square me-2"></i>Dropdown Types
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-dropdowns" href="javascript:void(0);">
|
||||
<i class="bi bi-caret-down me-2"></i>Dropdowns
|
||||
</a>
|
||||
|
||||
<div class="dropdown-divider mt-1 mb-1"></div>
|
||||
|
||||
<a class="dropdown-item ps-2 view-journal" href="javascript:void(0);">
|
||||
<i class="bi bi-journal me-2"></i>Journal
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-popovers" href="javascript:void(0);">
|
||||
<i class="bi bi-chat-left-dots me-2"></i>Popovers
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-reports" href="javascript:void(0);">
|
||||
<i class="bi bi-printer me-2"></i>Reports
|
||||
</a>
|
||||
|
||||
<!-- <a class="dropdown-item ps-2 setup-subscriptions" href="javascript:void(0);">
|
||||
<i class="bi bi-list-check me-2"></i>Subscriptions
|
||||
</a>-->
|
||||
|
||||
<a class="dropdown-item ps-2 setup-users" href="javascript:void(0);">
|
||||
<i class="bi bi-person-circle me-2"></i>Users
|
||||
</a>
|
||||
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<a class="dropdown-item ps-2 sign-out" href="javascript:void(0);">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Sign Out</a>
|
||||
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
<!-- Content Area -->
|
||||
|
||||
<div class="container-fluid content">
|
||||
|
||||
$$$-CONTENT-$$$
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
|
||||
<footer id="footer">
|
||||
|
||||
<div class="col text-center mt-3 lh-1">
|
||||
<div class="m-0 p-0">
|
||||
<small class="text-muted pb-4">Copyright ©<span>
|
||||
<xsl:value-of select="$COPYRIGHT"/>
|
||||
</span> OneSource IT Solutions LLC | All Rights Reserved</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
<!-- Spinner Modal Dialog -->
|
||||
|
||||
<div class="modal" id="spinner-dialog" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
|
||||
<div class="modal-dialog modal-sm modal-dialog-centered">
|
||||
<div class="modal-content bg-transparent border-0">
|
||||
<div class="modal-body text-center">
|
||||
<div class="spinner-border text-white" style="width:5rem;height:5rem;" role="status">
|
||||
<span class="visually-hidden">Loading...</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Confirm Modal Dialog -->
|
||||
|
||||
<div class="modal" id="confirm-dialog" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-primary p-1 ps-3">
|
||||
<h6 class="modal-title text-white"/>
|
||||
</div>
|
||||
<div class="modal-body mt-2"/>
|
||||
<div class="buttons m-3 mt-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnConfirmDialogCancel" data-bs-dismiss="modal">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnConfirmDialogConfirm">
|
||||
<i class="bi-check-lg me-2"/>Confirm</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Continue Modal Dialog -->
|
||||
|
||||
<div class="modal" id="continue-dialog" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-primary p-1 ps-3">
|
||||
<h6 class="modal-title text-white"/>
|
||||
</div>
|
||||
<div class="modal-body mt-2"/>
|
||||
<div class="buttons m-3 mt-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 btnClose" data-bs-dismiss="modal">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Toast -->
|
||||
|
||||
<div class="toast-container position-fixed bottom-0 start-50 translate-middle-x p-2">
|
||||
<div id="toast-message" class="toast bg-primary text-center" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="3000">
|
||||
<div class="toast-body fs-100 text-white"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Print Dialog -->
|
||||
|
||||
<div class="modal fade" id="print-dialog" tabindex="-1" role="dialog" data-bs-backdrop="static" data-bs-keyboard="false">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header bg-primary p-2 pl-2">
|
||||
<h6 class="modal-title text-white">
|
||||
View / Print
|
||||
</h6>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="print-report-container"/>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn page-link btn-sm mr-auto" data-dismiss="modal" data-toggle="tooltip" title="Close" data-placement="top">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Common Submit Form -->
|
||||
|
||||
<form action="./" method="post" id="formSubmit"/>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,60 @@
|
||||
<?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">Edit Dropdown</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editDropdown</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
|
||||
<i class="bi bi-caret-down-square me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//dropdowns/record/dropdowntype_title"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Dropdowns.editDropdown"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="dropdowntype_serial" id="dropdowntype_serial" value="{//dropdowns/record/dropdowntype_serial}"/>
|
||||
<input type="hidden" name="dropdown_serial" id="dropdown_serial" value="{//dropdowns/record/dropdown_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdown_value">Value</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdown_value" id="dropdown_value" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//dropdowns/record/dropdown_value}"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete"><i class="bi bi-trash3 me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?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">Edit Dropdown Type</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editDropdowntype</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
|
||||
<i class="bi bi-caret-down-square me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Dropdowns.editDropdowntype"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="dropdowntype_serial" id="dropdowntype_serial" value="{//dropdowntypes/record/dropdowntype_serial}"/>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_name" id="dropdowntype_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//dropdowntypes/record/dropdowntype_name}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_title" id="dropdowntype_title" maxlength="100" autocomplete="off" value="{//dropdowntypes/record/dropdowntype_title}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_table">Table</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_table" id="dropdowntype_table" maxlength="100" autocomplete="off" value="{//dropdowntypes/record/dropdowntype_table}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="dropdowntype_column">Column</label>
|
||||
<input type="text" class="form-control form-control-sm" name="dropdowntype_column" id="dropdowntype_column" maxlength="100" autocomplete="off" value="{//dropdowntypes/record/dropdowntype_column}"/>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete"><i class="bi bi-trash3 me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?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">Edit Note</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editNote</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-chat-dots me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Notes.editNote"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="note_serial" value="{//notes/record/note_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="note_text">Note</label>
|
||||
<textarea class="form-control form-control-sm pre-wrap" name="note_text" id="note_text" rows="8" autofocus="autofocus">
|
||||
<xsl:value-of select="//notes/record/note_text"/>
|
||||
</textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-floppy me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-check-lg me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary ms-4 me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,91 @@
|
||||
<?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">Edit Popover</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editPopover</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/system/ckeditor.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
|
||||
<i class="bi bi-chat-square-dots me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" name="action" value="Popovers.editPopover"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="popover_serial" id="popover_serial" value="{//popovers/record/popover_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_name" id="popover_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//popovers/record/popover_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_title" id="popover_title" maxlength="100" autocomplete="off" value="{//popovers/record/popover_title}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="popover_placeholder">Placeholder</label>
|
||||
<input type="text" class="form-control form-control-sm" name="popover_placeholder" id="popover_placeholder" maxlength="100" autocomplete="off" value="{//popovers/record/popover_placeholder}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-10 mb-3">
|
||||
<label class="form-label" for="popover_text">Popover Text</label>
|
||||
<textarea class="form-control form-control-sm" name="popover_text" id="popover_text">
|
||||
<xsl:value-of select="//popovers/record/popover_text"/>
|
||||
</textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete"><i class="bi bi-trash3 me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,113 @@
|
||||
<?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">Edit Report</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editReport</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-printer me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Reports.editReport"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="report_serial" id="report_serial" value="{//reports/record/report_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_name" id="report_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//reports/record/report_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_class">Class</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_class" id="report_class" maxlength="100" autocomplete="off" value="{//reports/record/report_class}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="report_type">Type</label>
|
||||
<select class="form-select form-select-sm" name="report_type" id="report_type" size="1">
|
||||
<xsl:apply-templates select="//Constants/ReportTypes"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="report_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_description" id="report_description" maxlength="100" autocomplete="off" value="{//reports/record/report_description}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="report_target">Target</label>
|
||||
<input type="text" class="form-control form-control-sm" name="report_target" id="report_target" maxlength="50" autocomplete="off" value="{//reports/record/report_target}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete"><i class="bi bi-trash3 me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Type dropdown -->
|
||||
|
||||
<xsl:template match="Constants/ReportTypes">
|
||||
<xsl:for-each select="ReportType">
|
||||
<xsl:sort select="."/>
|
||||
<xsl:choose>
|
||||
<xsl:when test=". = //reports/record/report_type">
|
||||
<option value="{.}" SELECTED="SELECTED"><xsl:value-of select="." /></option>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<option value="{.}"><xsl:value-of select="." /></option>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,107 @@
|
||||
<?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">Edit Status</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editStatus</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-list-task me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Statuses.editStatus"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="status_serial" id="status_serial" value="{//statuses/record/status_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="status_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="status_name" id="status_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//statuses/record/status_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="status_classes">Classes</label>
|
||||
<input type="text" class="form-control form-control-sm" name="status_classes" id="status_classes" maxlength="100" autocomplete="off" value="{//statuses/record/status_classes}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="status_active" id="status_active" value="true">
|
||||
<xsl:if test="boolean(number(//statuses/record/status_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="status_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1">Default</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="status_default" id="status_default" value="true">
|
||||
<xsl:if test="boolean(number(//statuses/record/status_default)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="status_default">Default</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel"><i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave"><i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete"><i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,140 @@
|
||||
<?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">Edit User</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editUser</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
|
||||
<i class="bi bi-person-circle me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_client_name"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.editUser"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="user_serial" id="user_serial" value="{//users/record/user_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm autosave" name="user_name" id="user_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//users/record/user_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_email">Email</label>
|
||||
<input type="text" class="form-control form-control-sm autosave" name="user_email" id="user_email" maxlength="128" autocomplete="off" value="{//users/record/user_email}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="user_client_name">Client Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="user_client_name" id="user_client_name" maxlength="128" autocomplete="off" value="{//users/record/user_client_name}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-4">
|
||||
|
||||
<label class="form-label" for="user_role">Role</label>
|
||||
|
||||
<select class="form-control form-control-sm search-dropdown" name="user_role" id="user_role" size="1">
|
||||
<xsl:apply-templates select="//Constants/UserRoles"/>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<label class="mb-1" for="user_active">Active Status</label>
|
||||
|
||||
<div class="col-auto mb-3">
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" name="user_active" id="user_active" value="true">
|
||||
<xsl:if test="boolean(number(//users/record/user_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
<label class="form-check-label" for="user_active">Active</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnCancel">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Cancel</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnSave">
|
||||
<i class="bi bi-save me-2"/>Save</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDelete">
|
||||
<i class="bi bi-trash me-2"/>Delete</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Role dropdown -->
|
||||
|
||||
<xsl:template match="Constants/UserRoles">
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="UserRole">
|
||||
|
||||
<xsl:sort select="."/>
|
||||
|
||||
<option value="{.}" data-tokens="{.}">
|
||||
<xsl:if test=". = //users/record/user_role">
|
||||
<xsl:attribute name="selected"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="." />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?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"/>
|
||||
|
||||
<xsl:param name="USER-TEMP-PASSWORD"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.text {
|
||||
font-family: Calibri ,Arial, Helvetica, sans-serif;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<p class="text">
|
||||
Dear <xsl:value-of select="//user/record/user_client_name"/>,
|
||||
</p>
|
||||
|
||||
<p class="text">Thank you for being a customer of DEC International. Below are your account credentials.</p>
|
||||
|
||||
<p class="text">Username: <xsl:value-of select="//user/record/user_name"/></p>
|
||||
<p class="text">Password: <xsl:value-of select="$USER-TEMP-PASSWORD"/></p>
|
||||
|
||||
<p class="text">You login in at the following web address: <a href="https://ahr.realestatedatainc.com" target="_blank">Atlanta Housing Report</a></p>
|
||||
|
||||
<p class="text">Thank you,</p>
|
||||
|
||||
<p class="text">DEC-International Support</p>
|
||||
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
<br/> <!-- Line Breaks before email Disclaimer -->
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,71 @@
|
||||
<?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="APPLICATION_NAME"></xsl:param>
|
||||
<xsl:param name="FILE_NAME"></xsl:param>
|
||||
<xsl:param name="LINE_NUMBER"></xsl:param>
|
||||
<xsl:param name="ERROR_MESSAGE"></xsl:param>
|
||||
<xsl:param name="ERROR_NUMBER"></xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<div class="error" id="error_page">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-danger text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-exclamation-triangle me-2" aria-hidden="true"/>
|
||||
Issue
|
||||
</div>
|
||||
|
||||
<div class="card-body text-left">
|
||||
|
||||
<p>
|
||||
Oops...
|
||||
</p>
|
||||
|
||||
<p>
|
||||
An unexpected issue has occurred and our
|
||||
<b>Support Team</b> has been automatically notified.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are sorry for any inconvenience and appreciate your
|
||||
patience while we correct the problem.
|
||||
</p>
|
||||
|
||||
<xsl:if test="$ENVIRONMENT = 'Development'">
|
||||
|
||||
<div class="alert alert-danger">
|
||||
<b>Application: </b>
|
||||
<xsl:copy-of select="$APPLICATION_NAME"/>
|
||||
<br/>
|
||||
<b>File: </b>
|
||||
<xsl:copy-of select="$FILE_NAME"/>
|
||||
<br/>
|
||||
<b>Line: </b>
|
||||
<xsl:copy-of select="$LINE_NUMBER"/>
|
||||
<br/>
|
||||
<b>Message: </b>
|
||||
<xsl:value-of select="$ERROR_MESSAGE" disable-output-escaping="yes"/>
|
||||
</div>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<a role="button" class="btn btn-sm btn-primary me-2 btnContinue"><i class="bi bi-box-arrow-right me-2"/>Continue</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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" indent="yes"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<div class="home pt-5">
|
||||
|
||||
<div class="col text-center">
|
||||
<span class="text-primary" style="font-size: 3rem;">
|
||||
VoterVue
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?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">2.0</xsl:param>
|
||||
<xsl:param name="MESSAGE"></xsl:param>
|
||||
<xsl:param name="PAGE-NAME">notice</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
|
||||
<div class="notice" id="notice_page">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-warning text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-info-circle me-2" aria-hidden="true"/>
|
||||
System Message
|
||||
</div>
|
||||
|
||||
<div class="card-body text-left">
|
||||
|
||||
<div class="alert alert-warning">
|
||||
<b>Message: </b>
|
||||
<xsl:value-of select="$MESSAGE" disable-output-escaping="yes"/>
|
||||
</div>
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
<a role="button" class="btn btn-sm btn-primary me-2 btnContinue">
|
||||
<i class="bi bi-box-arrow-right me-2"/>Continue</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,172 @@
|
||||
<?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">Reports</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">selectReport</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//reports/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//reports/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//reports/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//reports/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-printer 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-3">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="select_report" id="select_report" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'select_report']/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 = 'select_report']/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">
|
||||
<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 autosave" name="reports_per_page" id="reports_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>
|
||||
|
||||
<div class="buttons mt-3 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//reports/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Reports to select...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="reports-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Type</th>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//reports"/>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form to Print a Report -->
|
||||
|
||||
<form style="display:inline;" id="PrintForm" method="post" action="" target="PrintTab">
|
||||
|
||||
<input type="hidden" name="action" value="print"/>
|
||||
<input type="hidden" name="report" value=""/>
|
||||
|
||||
</form>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="reports/record">
|
||||
|
||||
<tr class="text-nowrap hoverable report-row" data-report-serial="{report_serial}" data-report-class="{report_class}" data-report-type="{report_type}" data-report-target="{report_target}">
|
||||
|
||||
<td class="report_type text-center fs-100" style="width: 10%;">
|
||||
<xsl:choose>
|
||||
<xsl:when test="report_type = 'Download'">
|
||||
<i class="bi bi-cloud-download" data-bs-toggle="tooltip" data-bs-title="Download" data-bs-placement="right" data-bs-custom-class="custom-tooltip"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="report_type = 'Email'">
|
||||
<i class="bi bi-send" data-bs-toggle="tooltip" data-bs-title="Email" data-bs-placement="right" data-bs-custom-class="custom-tooltip"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="report_type = 'Graph'">
|
||||
<i class="bi bi-bar-chard" data-bs-toggle="tooltip" data-bs-title="Graph" data-bs-placement="right" data-bs-custom-class="custom-tooltip"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="report_type = 'Report'">
|
||||
<i class="bi bi-printer" data-bs-toggle="tooltip" data-bs-title="Report" data-bs-placement="right" data-bs-custom-class="custom-tooltip"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="report_type = 'Upload'">
|
||||
<i class="bi bi-cloud-upload" data-bs-toggle="tooltip" data-bs-title="Upload" data-bs-placement="right" data-bs-custom-class="custom-tooltip"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
|
||||
<td class="report_name"><xsl:value-of select="report_name"/></td>
|
||||
<td class="report_description"><xsl:value-of select="report_description"/></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,152 @@
|
||||
<?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">Dropdowns</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupDropdowns</xsl:param>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-caret-down-square me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body ps-1 pe-1">
|
||||
|
||||
<div class="buttons ms-2 mt-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-3 mb-3"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//dropdowntypes/record) = 0">
|
||||
<div class="fs-5 text-danger fw-bold fst-italic m-2">
|
||||
<xsl:text>There are no Dropdowns defined...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div id="dropdown-accordion">
|
||||
|
||||
<xsl:apply-templates select="//dropdowntypes"/>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Create Dropdown Accordions -->
|
||||
|
||||
<xsl:template match="dropdowntypes/record">
|
||||
|
||||
<xsl:variable name="DROPDOWNTYPE_SERIAL" select="dropdowntype_serial"/>
|
||||
|
||||
<div class="card dropdowntype-card border-0">
|
||||
|
||||
<div class="card-header collapsed dropdowntype-card-header text-truncate border-0 bg-transparent p-0 ps-2" role="button" data-bs-toggle="collapse" data-bs-target="#C-{position()}" aria-expanded="false" aria-controls="C-{position()}">
|
||||
<i class="bi bi-caret-right-fill caret-toggle me-2"/>
|
||||
<xsl:value-of select="dropdowntype_title"/>
|
||||
</div>
|
||||
|
||||
<div id="C-{position()}" class="collapse" data-bs-parent="#dropdown-accordion">
|
||||
|
||||
<div class="card-body border mt-2 mb-2 pt-1 ms-3 me-3">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//dropdowns/record[dropdown_dropdowntype = $DROPDOWNTYPE_SERIAL]) = 0">
|
||||
<div class="fs-6 text-danger fw-bold fst-italic m-2 ms-0">
|
||||
<xsl:text>There are no Dropdowns defined...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive table-wrapper scrollable mt-2">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto dropdown-table" id="dropdown-{position()}-table">
|
||||
|
||||
<thead>
|
||||
<th class="text-center pe-3">Default</th>
|
||||
<th class="text-center pe-3">Active</th>
|
||||
<th>Value</th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdown_dropdowntype = $DROPDOWNTYPE_SERIAL]">
|
||||
|
||||
<tr class="text-nowrap hoverable dropdown-row" data-dropdown-serial="{dropdown_serial}" data-dropdown-value="{dropdown_value}" data-dropdown-dropdowntype="{dropdown_dropdowntype}">
|
||||
|
||||
<td class="checkbox text-center dropdown_default pe-3">
|
||||
<input class="form-check-input fs-6 dropdown_default align-middle mb-1" type="checkbox" name="dropdown_default" value="true">
|
||||
<xsl:if test="boolean(number(dropdown_default)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
</td>
|
||||
|
||||
<td class="checkbox text-center dropdown_active pe-3">
|
||||
<input class="form-check-input fs-6 dropdown_active align-middle mb-1" type="checkbox" name="dropdown_active" data-dropdown-serial="{dropdown_serial}" value="true">
|
||||
<xsl:if test="boolean(number(dropdown_active)) = true()">
|
||||
<xsl:attribute name="checked"/>
|
||||
</xsl:if>
|
||||
</input>
|
||||
</td>
|
||||
|
||||
<td class="dropdown_value align-middle"><xsl:value-of select="dropdown_value"/></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons ms-0 mt-3">
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd" data-dropdowntype-serial="{dropdowntype_serial}"><i class="bi bi-plus-lg me-1"/>Add</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,162 @@
|
||||
<?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">Dropdown Types</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupDropdowntypes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//dropdowntypes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//dropdowntypes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//dropdowntypes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//dropdowntypes/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-caret-down-square 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_dropdowntype" id="find_dropdowntype" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_dropdowntype']/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_dropdowntype']/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">
|
||||
<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 autosave" name="dropdowntypes_per_page" id="dropdowntypes_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>
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//dropdowntypes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Dropdown Types to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="dropdowntypes-table">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th>Title</th>
|
||||
<th>Table</th>
|
||||
<th>Column</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//dropdowntypes"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="dropdowntypes/record">
|
||||
|
||||
<tr class="text-nowrap hoverable dropdowntype-row" data-dropdowntype-serial="{dropdowntype_serial}" data-dropdowntype-name="{dropdowntype_name}">
|
||||
|
||||
<td class="dropdowntype_name">
|
||||
<xsl:value-of select="dropdowntype_name"/>
|
||||
</td>
|
||||
<td class="dropdowntype_title">
|
||||
<xsl:value-of select="dropdowntype_title"/>
|
||||
</td>
|
||||
<td class="dropdowntype_table">
|
||||
<xsl:value-of select="dropdowntype_table"/>
|
||||
</td>
|
||||
<td class="dropdowntype_column">
|
||||
<xsl:value-of select="dropdowntype_column"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,142 @@
|
||||
<?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">Popovers</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupPopovers</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//popovers/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//popovers/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//popovers/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//popovers/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-chat-square-dots 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_popover" id="find_popover" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_popover']/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_popover']/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">
|
||||
<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 autosave" name="popovers_per_page" id="popovers_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-3 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd"><i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//popovers/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Popovers to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="popovers-table">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th>Title</th>
|
||||
<th>Placeholder</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//popovers"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="popovers/record">
|
||||
|
||||
<tr class="hoverable popover-row" data-popover-serial="{popover_serial}" data-popover-name="{popover_name}">
|
||||
|
||||
<td class="popover_name"><xsl:value-of select="popover_name"/></td>
|
||||
<td class="popover_title"><xsl:value-of select="popover_title"/></td>
|
||||
<td class="popover_placeholder"><xsl:value-of select="popover_placeholder"/></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,149 @@
|
||||
<?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">Reports</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupReports</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//reports/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//reports/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//reports/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//reports/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-printer 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-3">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_report" id="find_report" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_report']/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_report']/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">
|
||||
<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 autosave" name="reports_per_page" id="reports_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>
|
||||
|
||||
<div class="buttons mt-3 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd"><i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//reports/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Reports to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="reports-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Class</th>
|
||||
<th>Type</th>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
<th>Target</th>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//reports"/>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="reports/record">
|
||||
|
||||
<tr class="text-nowrap hoverable report-row" data-report-serial="{report_serial}">
|
||||
|
||||
<td class="report_class"><xsl:value-of select="report_class"/></td>
|
||||
<td class="report_type"><xsl:value-of select="report_type"/></td>
|
||||
<td class="report_name"><xsl:value-of select="report_name"/></td>
|
||||
<td class="report_description"><xsl:value-of select="report_description"/></td>
|
||||
<td class="report_target"><xsl:value-of select="report_target"/></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,150 @@
|
||||
<?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">Statuses</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupStatuses</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//statuses/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//statuses/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//statuses/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//statuses/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-list-task me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
<xsl:if test="$PAGINATION_COUNT > 0">
|
||||
<xsl:text> | </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-3">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_status" id="find_status" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_status']/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_status']/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">
|
||||
<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 autosave" name="statuses_per_page" id="statuses_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>
|
||||
|
||||
<div class="buttons mt-4 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd"><i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//statuses/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Statuses to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="statuses-table">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Name</th>
|
||||
<th>Classes</th>
|
||||
<th class="text-center">Active</th>
|
||||
<th class="text-center">Default</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//statuses"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="statuses/record">
|
||||
|
||||
<tr class="hoverable status-row" data-status-serial="{status_serial}" data-status-name="{status_name}">
|
||||
|
||||
<td class="status_name"><xsl:value-of select="status_name"/></td>
|
||||
<td class="status_classes"><xsl:value-of select="status_classes"/></td>
|
||||
<td class="status_active text-center">
|
||||
<xsl:if test="boolean(number(status_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td class="status_default text-center">
|
||||
<xsl:if test="boolean(number(status_default)) = true()">
|
||||
<i class="bi bi-x-lg text-success"/>
|
||||
</xsl:if>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,179 @@
|
||||
<?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">Users</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupUsers</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//users/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//users/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//users/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//users/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-3 border-bottom-0">
|
||||
<i class="bi bi-person-circle 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-3">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_user" id="find_user" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_user']/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_user']/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">
|
||||
<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 autosave" name="users_per_page" id="users_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">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//users/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Users to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="users-table">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Username</th>
|
||||
<th>User ID</th>
|
||||
<th>Email</th>
|
||||
<th>Role</th>
|
||||
<th class="text-center">Active</th>
|
||||
<th class="text-center">Last Login</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//users"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="users/record">
|
||||
|
||||
<tr class="text-nowrap hoverable user-row" data-user-serial="{user_serial}" data-user-name="{user_name}">
|
||||
|
||||
<td class="user_name">
|
||||
<xsl:value-of select="user_name"/>
|
||||
</td>
|
||||
<td class="user_id">
|
||||
<xsl:value-of select="user_id"/>
|
||||
</td>
|
||||
<td class="user_email">
|
||||
<xsl:value-of select="user_email"/>
|
||||
</td>
|
||||
<td class="user_role">
|
||||
<xsl:value-of select="user_role"/>
|
||||
</td>
|
||||
<td class="user_active text-center">
|
||||
<xsl:choose>
|
||||
<xsl:when test="boolean(number(user_active)) = true()">
|
||||
<i class="bi bi-check-lg text-success"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<i class="bi bi-x-lg text-danger"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td class="user_login text-center">
|
||||
<xsl:value-of select="user_login_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,147 @@
|
||||
<?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="APPLICATION_NAME">VoterVue</xsl:param>
|
||||
<xsl:param name="PAGE_TITLE">VoterVue Sign In</xsl:param>
|
||||
<xsl:param name="FORM_NAME">signIn</xsl:param>
|
||||
<xsl:param name="BTN_SUBMIT"/>
|
||||
<xsl:param name="BTN_RESET_PASSWORD">?Xaction=resetpassword</xsl:param>
|
||||
<xsl:param name="INVALID_SIGNIN"/>
|
||||
<xsl:param name="RESET_PASSWORD_SUCCESSFUL"/>
|
||||
<xsl:param name="VERSION"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:text disable-output-escaping="yes"><!DOCTYPE html></xsl:text>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
|
||||
<title>
|
||||
<xsl:value-of select="$APPLICATION_NAME"/>
|
||||
</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="images/votervue_logo.png"/>
|
||||
|
||||
<link href="css/themes/Sandstone/bootstrap.min.css?version={$VERSION}" rel="stylesheet"/>
|
||||
<link href="css/bootstrap-icons.min.css?version={$VERSION}" rel="stylesheet"/>
|
||||
<link href="css/signIn.css?version={$VERSION}" rel="stylesheet"/>
|
||||
|
||||
<script src="js/jquery-3.2.0.min.js?version={$VERSION}"></script>
|
||||
<script src="js/bootstrap.bundle.min.js?version={$VERSION}"></script>
|
||||
<script src="js/signIn.js?version={$VERSION}"></script>
|
||||
</head>
|
||||
|
||||
<body class="bg-light">
|
||||
|
||||
<main class="min-vh-100 d-flex align-items-center justify-content-center px-3">
|
||||
|
||||
<div class="card shadow-sm border-0 login-card">
|
||||
|
||||
<div class="card-body p-4">
|
||||
|
||||
<div class="text-center mb-4">
|
||||
|
||||
<h1 class="h5 fw-bold mb-1">
|
||||
<xsl:value-of select="$PAGE_TITLE"/>
|
||||
</h1>
|
||||
|
||||
<div class="text-muted small">
|
||||
Please sign in to continue
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<xsl:if test="$INVALID_SIGNIN = 'TRUE'">
|
||||
<div class="alert alert-danger d-flex align-items-center py-2" role="alert">
|
||||
<i class="bi bi-exclamation-triangle-fill me-2"></i>
|
||||
<div>Invalid username or password.</div>
|
||||
</div>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$RESET_PASSWORD_SUCCESSFUL = 'TRUE'">
|
||||
<div class="alert alert-info d-flex align-items-start py-2" role="alert">
|
||||
<i class="bi bi-info-circle-fill me-2 mt-1"></i>
|
||||
<div>
|
||||
If an account exists for the email address provided, you will receive an email containing a temporary password and a link to reset your password.
|
||||
</div>
|
||||
</div>
|
||||
</xsl:if>
|
||||
|
||||
<form action="{$BTN_SUBMIT}" name="{$FORM_NAME}" method="post" id="{$FORM_NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.login"/>
|
||||
<input type="hidden" name="step" value="authenticate"/>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="user_name" class="form-label small fw-semibold">Username</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-person-fill" aria-hidden="true"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
id="user_name"
|
||||
name="user_name"
|
||||
class="form-control"
|
||||
placeholder="Enter username"
|
||||
maxlength="128"
|
||||
autofocus="autofocus"
|
||||
autocomplete="username"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="user_password" class="form-label small fw-semibold">Password</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-lock-fill" aria-hidden="true"></i>
|
||||
</span>
|
||||
<input id="user_password"
|
||||
name="user_password"
|
||||
type="password"
|
||||
class="form-control"
|
||||
placeholder="Enter password"
|
||||
maxlength="128"
|
||||
autocomplete="current-password"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-grid gap-2 mt-4">
|
||||
<button type="submit" class="btn btn-primary btnSignIn">
|
||||
<i class="bi bi-box-arrow-in-right me-1"></i>
|
||||
Sign In
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-outline-secondary btnForgot">
|
||||
Forgot/Reset Password
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form action="{$BTN_RESET_PASSWORD}" name="reset-password" method="post" id="reset-password">
|
||||
<input type="hidden" id="reset_user_name" name="user_name"/>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-center bg-white border-0 pb-4">
|
||||
<small class="text-muted">
|
||||
<i class="bi bi-shield-lock me-1"></i>
|
||||
Unauthorized Access is Prohibited
|
||||
</small>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,101 @@
|
||||
<?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="PAGE_TITLE">VoterVue</xsl:param>
|
||||
<xsl:param name="FORM_NAME">signIn</xsl:param>
|
||||
<xsl:param name="BTN_SUBMIT"/>
|
||||
<xsl:param name="INVALID_SIGNIN"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:text disable-output-escaping="yes"><!DOCTYPE html></xsl:text>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
|
||||
<title>
|
||||
<xsl:value-of select="$APPLICATION_NAME"/>
|
||||
</title>
|
||||
|
||||
<link href="css/themes/Spacelab/bootstrap.min.css?version={$VERSION}" rel="stylesheet" media="screen"/>
|
||||
<link href="css/bootstrap-icons.min.css?version={$VERSION}" rel="stylesheet" media="screen"/>
|
||||
<link href="css/signIn.css?version={$VERSION}" rel="stylesheet" media="screen"/>
|
||||
|
||||
<script src="js/system/jquery-3.2.0.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/bootstrap.bundle.min.js?version={$VERSION}"/>
|
||||
<script src="js/system/signIn.js?version={$VERSION}"/>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white text-center h6 p-2">
|
||||
<i class="bi bi-check-circle me-2"></i>
|
||||
<xsl:copy-of select="$PAGE_TITLE"/>
|
||||
</div>
|
||||
|
||||
<form action="{$BTN_SUBMIT}" name="{$FORM_NAME}" method="post" id="{$FORM_NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.login"/>
|
||||
<input type="hidden" name="step" value="authenticate"/>
|
||||
|
||||
<xsl:if test="$INVALID_SIGNIN = 'TRUE'">
|
||||
<div class="alert alert-danger">
|
||||
<xsl:text>Invalid Sign In</xsl:text>
|
||||
</div>
|
||||
</xsl:if>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-person-fill" aria-hidden="true"></i>
|
||||
</span>
|
||||
<input type="text" id="user_name" name="user_name" class="form-control form-control-sm" placeholder="Username" maxlength="128" autofocus="autofocus" autocomplete="no"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">
|
||||
<i class="bi bi-lock-fill" aria-hidden="true"></i>
|
||||
</span>
|
||||
<input id="user_password" name="user_password" type="password" class="form-control form-control-sm" placeholder="Password" maxlength="128"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="d-grid gap-2 col-11 mx-auto pb-3">
|
||||
<button class="btn btn-primary btn-sm btnSignIn">Sign In</button>
|
||||
<!--<a href="main.php?action=resetpassword" class="btn btn-secondary btn-sm btnForgot">Forgot Password</a>-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
|
||||
<footer id="footer">
|
||||
|
||||
<div class="col text-center mt-3">
|
||||
<small class="text-muted pb-0">Authorized Access is Prohibitted</small>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,423 @@
|
||||
<?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">User Summary</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">userSummary</xsl:param>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-person me-2" aria-hidden="true"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
|
||||
<!-- Details -->
|
||||
|
||||
<div class="card card-header rounded p-0 ms-0 me-0 mb-3">
|
||||
|
||||
<div class="card-body p-2">
|
||||
|
||||
<div class="row fs-875 lh-sm">
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Name
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Main Email:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_email"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
User Name:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_client_name"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Role:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_role"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Change Password?:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="boolean(number(//users/record/user_change_password)) = true()">
|
||||
<span class="badge bg-success">Yes</span>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<span class="badge bg-danger">No</span>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_created_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_creator"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_changed_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_changed_user"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Last Login:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_login_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row align-items-baseline mt-1">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Active Status:
|
||||
</div>
|
||||
|
||||
<div class="col-3">
|
||||
<select class="form-select form-select-sm" name="user_active" id="user_active" size="1">
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="//users/record/user_active = 1">
|
||||
<option value="1" selected="yes">Active</option>
|
||||
<option value="0">Inactive</option>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<option value="1">Active</option>
|
||||
<option value="0" selected="yes">Inactive</option>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mb-2"/>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnEdit">
|
||||
<i class="bi bi-pencil me-2"/>Edit</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnPrint">
|
||||
<i class="bi bi-printer me-2"/>Print</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnResetPassword">
|
||||
<i class="bi bi-unlock me-2"/>Reset Password</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-1 mb-3"/>
|
||||
|
||||
<!-- Tabs -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="nav nav-tabs" id="nav-tabs" role="tablist">
|
||||
<a class="nav-item nav-link active" id="tab-Subscriptions" data-bs-toggle="tab" href="#pane-Subscriptions" role="tab" data-tab="Subscriptions" aria-controls="st-Subscriptions">
|
||||
<i class="bi bi-list-check me-1"/>Subscriptions</a>
|
||||
<a class="nav-item nav-link" id="tab-Notes" data-bs-toggle="tab" href="#pane-Notes" role="tab" data-tab="Notes" aria-controls="st-Notes">
|
||||
<i class="bi bi-chat-dots me-1"/>Notes</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tab Content -->
|
||||
|
||||
<div class="tab-content mb-3" id="tab-content">
|
||||
|
||||
<!-- Subscriptions -->
|
||||
|
||||
<div class="tab-pane show active" id="pane-Subscriptions" role="tabpanel" aria-labelledby="tab-Subscriptions">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//usersubscriptions/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Subscriptions....</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="usersubscriptions-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Title</th>
|
||||
<th>Start Date</th>
|
||||
<th>End Date</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//usersubscriptions"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddSubscription">
|
||||
<i class="bi bi-plus-lg me-2"/>Add Subscription</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Subscriptions -->
|
||||
|
||||
<!-- Notes -->
|
||||
|
||||
<div class="tab-pane" id="pane-Notes" role="tabpanel" aria-labelledby="tab-Notes">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//notes/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Notes...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="notes-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Date</th>
|
||||
<th>User</th>
|
||||
<th>Type</th>
|
||||
<th>Note</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//notes" />
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddNote">
|
||||
<i class="bi bi-plus me-2"/>Add Note</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Notes -->
|
||||
|
||||
</div> <!-- Tab Content -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form to Print the User Summary -->
|
||||
|
||||
<form style="display:inline;" id="PrintUserSummaryForm" method="post" action="" target="PrintTab">
|
||||
|
||||
<input type="hidden" name="action" value="print"/>
|
||||
<input type="hidden" name="report" value="Print_UserSummary"/>
|
||||
<input type="hidden" name="user_serial" value=""/>
|
||||
|
||||
</form>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<xsl:param name="current-value"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="dropdown_serial = $current-value">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Notes Tab -->
|
||||
|
||||
<xsl:template match="notes/record">
|
||||
|
||||
<tr class="hoverable note-row" data-note-serial="{note_serial}">
|
||||
|
||||
<td class="note_timestamp text-nowrap">
|
||||
<xsl:value-of select="note_timestamp_verbose"/>
|
||||
</td>
|
||||
<td class="note_origin text-nowrap">
|
||||
<xsl:value-of select="note_origin"/>
|
||||
</td>
|
||||
<td class="note_type text-nowrap">
|
||||
<xsl:value-of select="note_type"/>
|
||||
</td>
|
||||
<td class="note_text pre-wrap">
|
||||
<xsl:value-of select="note_text"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Users Subscriptions Tab -->
|
||||
|
||||
<xsl:template match="usersubscriptions/record">
|
||||
|
||||
<tr class="usersubscription-row hoverable" data-usersubscription-serial="{usersubscription_serial}">
|
||||
|
||||
<td class="subscription_title">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</td>
|
||||
<td class="usersubscription_start_date_verbose">
|
||||
<xsl:value-of select="usersubscription_start_date_verbose"/>
|
||||
</td>
|
||||
<td class="usersubscription_end_date_verbose">
|
||||
<xsl:value-of select="usersubscription_end_date_verbose"/>
|
||||
</td>
|
||||
|
||||
<!-- <xsl:choose>
|
||||
<xsl:when test="usersubscription_status = 'EXPIRED'">
|
||||
<td class="usersubscription_status">
|
||||
<span class="badge rounded-pill text-bg-danger">
|
||||
<xsl:value-of select="usersubscription_status"/>
|
||||
</span>
|
||||
</td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td class="usersubscription_status">
|
||||
<span class="badge text-bg-success">
|
||||
<xsl:value-of select="usersubscription_status"/>
|
||||
</span>
|
||||
</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>-->
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,202 @@
|
||||
<?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"/>
|
||||
|
||||
<!--<meta http-equiv="refresh" content="60"></meta>-->
|
||||
|
||||
<!-- Parameters -->
|
||||
|
||||
<xsl:param name="VERSION">1.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">My Exports</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">viewExports</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//exportjobs/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//exportjobs/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//exportjobs/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//exportjobs/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$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-box-arrow-in-up-right 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-3">
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_exportjob" id="find_exportjob" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_exportjob']/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_exportjob']/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">
|
||||
<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 autosave" name="exportjobs_per_page" id="exportjobs_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-3 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnRefresh">
|
||||
<i class="bi bi-arrow-clockwise me-2"/>Refresh</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//exportjobs/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Exports to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="exportjobs-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Title</th>
|
||||
<th class="text-nowrap">Type</th>
|
||||
<th class="text-nowrap">Submitted</th>
|
||||
<th class="text-nowrap">Completed</th>
|
||||
<th class="text-nowrap">Status</th>
|
||||
<th class="text-nowrap">Action</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//exportjobs"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="exportjobs/record">
|
||||
|
||||
<tr class="hoverable exportjobs-row" data-export-code="{exportjob_download_token}" data-exportjobs-serial="{exportjob_serial}">
|
||||
|
||||
<td class="subscription_full_title">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</td>
|
||||
<td class="exportjob_file_type">
|
||||
<xsl:value-of select="exportjob_file_type"/>
|
||||
</td>
|
||||
<td class="exportjob_created">
|
||||
<xsl:value-of select="exportjob_created_verbose"/>
|
||||
</td>
|
||||
|
||||
<td class="exportjob_created">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(exportjob_completed) != ''">
|
||||
<xsl:value-of select="exportjob_completed_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>--</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!--<xsl:value-of select="exportjob_completed_verbose"/>-->
|
||||
</td>
|
||||
|
||||
<td class="exportjob_status">
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(normalize-space(exportjob_status)) > 0">
|
||||
<xsl:value-of select="concat(translate(substring(exportjob_status, 1, 1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),
|
||||
substring(exportjob_status, 2))"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise/>
|
||||
</xsl:choose>
|
||||
|
||||
</td>
|
||||
<td class="exportjob_action text-center">
|
||||
<button class="btn btn-sm btn-primary btnDownload" data-bs-toggle="tooltip" data-bs-title="{//popovers/record[popover_name = 'download_export']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<xsl:if test="exportjob_status != 'complete'">
|
||||
<xsl:attribute name="disabled">disabled</xsl:attribute>
|
||||
</xsl:if>
|
||||
<i class="bi bi-download"></i>
|
||||
</button>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,143 @@
|
||||
<?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">Journal</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">viewJournal</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//journal/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//journal/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//journal/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//journal/@page"/>
|
||||
|
||||
<!-- Main Template -->
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/system/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card">
|
||||
|
||||
<div class="card-header bg-primary text-white p-1 ps-2 border-bottom-0">
|
||||
<i class="bi bi-book me-2" aria-hidden="true"/>
|
||||
<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-3">
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_journal" id="find_journal" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_journal']/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_journal']/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">
|
||||
<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 autosave" name="journals_per_page" id="journals_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>
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnDone"><i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnRefresh"><i class="bi bi-arrow-clockwise me-2"/>Refresh</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 btnClear"><i class="bi bi-trash3 me-2"/>Clear</button>
|
||||
|
||||
<div class="btn-group ms-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-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//journal/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Journal Entries to View...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive table-wrapper">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="journal-table">
|
||||
<thead>
|
||||
<th>Timestamp</th>
|
||||
<th>Message</th>
|
||||
<th>Origin</th>
|
||||
<th>IP</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//journal/record"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template to build table rows -->
|
||||
|
||||
<xsl:template match="journal/record">
|
||||
|
||||
<tr class="journal-row text-nowrap">
|
||||
|
||||
<td class="journal_timestamp"><xsl:value-of select="journal_timestamp_verbose"/></td>
|
||||
<td class="journal_entry" ><xsl:value-of select="journal_entry"/></td>
|
||||
<td class="journal_origin" ><xsl:value-of select="journal_origin" /></td>
|
||||
<td class="journal_ip" ><xsl:value-of select="journal_ip" /></td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?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">My Subscriptions</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">userSubscriptions</xsl:param>
|
||||
|
||||
<!-- 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-list-check me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//usersubscriptions/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-2 mb-2">
|
||||
<xsl:text>There are no Subscriptions to view... Please Contact Support</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table table-auto" id="usersubscription-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<th class="text-nowrap">Name</th>
|
||||
<th class="text-nowrap">Start Date</th>
|
||||
<th class="text-nowrap">End Date</th>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//usersubscriptions"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="usersubscriptions/record">
|
||||
|
||||
<tr class="hoverable usersubscription-row" data-usersubscription-subscription="{usersubscription_subscription}" data-usersubscription-serial="{usersubscription_serial}">
|
||||
|
||||
<td class="subscription_title">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</td>
|
||||
<td class="usersubscription_start_date_verbose">
|
||||
<xsl:value-of select="usersubscription_start_date_verbose"/>
|
||||
</td>
|
||||
<td class="usersubscription_end_date_verbose">
|
||||
<xsl:value-of select="usersubscription_end_date_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,100 @@
|
||||
<?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"/>
|
||||
|
||||
<!--<meta http-equiv="refresh" content="60"></meta>-->
|
||||
|
||||
<!-- Parameters -->
|
||||
|
||||
<xsl:param name="VERSION">1.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Budgets Months</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">viewBudgetMonths</xsl:param>
|
||||
|
||||
<!-- 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-calendar3 me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<!-- Action Buttons -->
|
||||
|
||||
<div class="buttons mt-2 mb-2">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-3 mb-2"/>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//budgetmonths/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 ">
|
||||
<xsl:text>There are no Budget Months to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-wrapper table-responsive scrollable">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table" id="budgetmonth-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
|
||||
<!--<th class="text-nowrap">Month</th>-->
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//budgetmonths"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="budgetmonths/record">
|
||||
|
||||
<tr class="hoverable budgetmonth-row" data-budgetmonth-serial="{budgetmonth_serial}">
|
||||
|
||||
<td class="budget_month">
|
||||
<xsl:value-of select="budgetmonth_month_verbose"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,420 @@
|
||||
<?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">User Summary</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">userSummary</xsl:param>
|
||||
|
||||
<!-- 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-person me-2" aria-hidden="true"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
|
||||
<!-- Details -->
|
||||
|
||||
<div class="card card-header rounded p-0 ms-0 me-0 mb-3">
|
||||
|
||||
<div class="card-body p-2">
|
||||
|
||||
<div class="row fs-875 lh-sm">
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Name
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Main Email:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_email"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
User Name:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_client_name"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Role:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_role"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Change Password?:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:choose>
|
||||
<xsl:when test="boolean(number(//users/record/user_change_password)) = true()">
|
||||
<span class="badge bg-success">Yes</span>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<span class="badge bg-danger">No</span>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_created_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Created By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_creator"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_changed_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Changed By:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_changed_user"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Last Login:
|
||||
</div>
|
||||
<div class="col-9">
|
||||
<xsl:value-of select="//users/record/user_login_verbose"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row align-items-baseline mt-1">
|
||||
|
||||
<div class="col-3 fw-bold">
|
||||
Active Status:
|
||||
</div>
|
||||
|
||||
<div class="col-3">
|
||||
<select class="form-select form-select-sm" name="user_active" id="user_active" size="1">
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="//users/record/user_active = 1">
|
||||
<option value="1" selected="yes">Active</option>
|
||||
<option value="0">Inactive</option>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<option value="1">Active</option>
|
||||
<option value="0" selected="yes">Inactive</option>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mb-2"/>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
|
||||
<div class="buttons mt-1 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnEdit">
|
||||
<i class="bi bi-pencil me-2"/>Edit</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnPrint">
|
||||
<i class="bi bi-printer me-2"/>Print</button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 mb-1 btnResetPassword">
|
||||
<i class="bi bi-unlock me-2"/>Reset Password</button>
|
||||
|
||||
</div>
|
||||
|
||||
<hr class="mt-1 mb-3"/>
|
||||
|
||||
<!-- Tabs -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="nav nav-tabs" id="nav-tabs" role="tablist">
|
||||
<a class="nav-item nav-link active" id="tab-Subscriptions" data-bs-toggle="tab" href="#pane-Subscriptions" role="tab" data-tab="Subscriptions" aria-controls="st-Subscriptions">
|
||||
<i class="bi bi-list-check me-1"/>Subscriptions</a>
|
||||
<a class="nav-item nav-link" id="tab-Notes" data-bs-toggle="tab" href="#pane-Notes" role="tab" data-tab="Notes" aria-controls="st-Notes">
|
||||
<i class="bi bi-chat-dots me-1"/>Notes</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tab Content -->
|
||||
|
||||
<div class="tab-content mb-3" id="tab-content">
|
||||
|
||||
<!-- Subscriptions -->
|
||||
|
||||
<div class="tab-pane show active" id="pane-Subscriptions" role="tabpanel" aria-labelledby="tab-Subscriptions">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//usersubscriptions/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Subscriptions....</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="usersubscriptions-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Description</th>
|
||||
<th>End Date</th>
|
||||
<th>Status</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//usersubscriptions"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddSubscription">
|
||||
<i class="bi bi-plus me-2"/>Add Subscription</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Subscriptions -->
|
||||
|
||||
<!-- Notes -->
|
||||
|
||||
<div class="tab-pane" id="pane-Notes" role="tabpanel" aria-labelledby="tab-Notes">
|
||||
|
||||
<div class="card mb-0 mt-3">
|
||||
|
||||
<div class="card-body pt-2 pb-2">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//notes/record) = 0">
|
||||
<div class="col fs-6 text-danger fw-bold fst-italic mt-1 mb-1">
|
||||
<xsl:text>There are no Notes...</xsl:text>
|
||||
</div>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive scrollable-30">
|
||||
<table class="table table-sm table-striped base-table table-auto" id="notes-table">
|
||||
<thead class="sticky-header">
|
||||
<th>Date</th>
|
||||
<th>User</th>
|
||||
<th>Type</th>
|
||||
<th>Note</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//notes" />
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
<div class="buttons mt-2 mb-1">
|
||||
<button type="button" class="btn btn-sm btn-primary mt-2 me-1 mb-1 btnAddNote">
|
||||
<i class="bi bi-plus me-2"/>Add Note</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> <!-- Notes -->
|
||||
|
||||
</div> <!-- Tab Content -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Form to Print the User Summary -->
|
||||
|
||||
<form style="display:inline;" id="PrintUserSummaryForm" method="post" action="" target="PrintTab">
|
||||
|
||||
<input type="hidden" name="action" value="print"/>
|
||||
<input type="hidden" name="report" value="Print_UserSummary"/>
|
||||
<input type="hidden" name="user_serial" value=""/>
|
||||
|
||||
</form>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Dropdowns -->
|
||||
|
||||
<xsl:template name="dropdowns">
|
||||
|
||||
<xsl:param name="dropdown-name"/>
|
||||
<xsl:param name="current-value"/>
|
||||
|
||||
<option value="">Choose...</option>
|
||||
|
||||
<xsl:for-each select="//dropdowns/record[dropdowntype_name = $dropdown-name]">
|
||||
|
||||
<option value="{dropdown_serial}" data-tokens="{dropdown_value}">
|
||||
<xsl:if test="dropdown_serial = $current-value">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="dropdown_value" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Notes Tab -->
|
||||
|
||||
<xsl:template match="notes/record">
|
||||
|
||||
<tr class="hoverable note-row" data-note-serial="{note_serial}">
|
||||
|
||||
<td class="note_timestamp text-nowrap">
|
||||
<xsl:value-of select="note_timestamp_verbose"/>
|
||||
</td>
|
||||
<td class="note_origin text-nowrap">
|
||||
<xsl:value-of select="note_origin"/>
|
||||
</td>
|
||||
<td class="note_type text-nowrap">
|
||||
<xsl:value-of select="note_type"/>
|
||||
</td>
|
||||
<td class="note_text pre-wrap">
|
||||
<xsl:value-of select="note_text"/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Users Subscriptions Tab -->
|
||||
|
||||
<xsl:template match="usersubscriptions/record">
|
||||
|
||||
<tr class="usersubscription-row hoverable" data-usersubscription-serial="{usersubscription_serial}">
|
||||
|
||||
<td class="subscription_title">
|
||||
<xsl:value-of select="concat(subscription_title, '-', subscription_description)"/>
|
||||
</td>
|
||||
<td class="usersubscription_stop_date_verbose">
|
||||
<xsl:value-of select="usersubscription_stop_date_verbose"/>
|
||||
</td>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="usersubscription_status = 'EXPIRED'">
|
||||
<td class="usersubscription_status">
|
||||
<span class="badge rounded-pill text-bg-danger">
|
||||
<xsl:value-of select="usersubscription_status"/>
|
||||
</span>
|
||||
</td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td class="usersubscription_status">
|
||||
<span class="badge text-bg-success">
|
||||
<xsl:value-of select="usersubscription_status"/>
|
||||
</span>
|
||||
</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</tr>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
Reference in New Issue
Block a user