First git push to github
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
<?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 Alert</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addAlert</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/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-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}" enctype="multipart/form-data">
|
||||
|
||||
<input type="hidden" name="action" value="Alerts.addAlert"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="alert_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="alert_title" id="alert_title" maxlength="100" autocomplete="off" autofocus="yes"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_starts_date">Start Date</label>
|
||||
|
||||
<div class="input-group input-group-sm starts-date">
|
||||
|
||||
<span class="input-group-text">Date:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_starts_date" id="alert_starts_date" autocomplete="off" maxlength="10"
|
||||
value="{$TODAY_YYYYMMDD}"/>
|
||||
<button class="btn btn-outline-primary btnAlertStartDateCalendar" type="button" data-target="#alert_starts_date" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_starts_time">Start Time <span class="text-small text-muted text-nowrap ml-2">(24-Hour format)</span></label>
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
|
||||
<span class="input-group-text">Time:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_starts_time" id="alert_starts_time" autocomplete="off" maxlength="10"
|
||||
value="{$TODAY_HHMM}"/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_expires_date">Expires Date</label>
|
||||
|
||||
<div class="input-group input-group-sm expires-date">
|
||||
|
||||
<span class="input-group-text">Date:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_expires_date" id="alert_expires_date" autocomplete="off" maxlength="10"/>
|
||||
<button class="btn btn-outline-primary btnAlertExpiresDateCalendar" type="button" data-target="#alert_expires_date" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_expires_time">Expires Time <span class="text-small text-muted text-nowrap ml-2">(24-Hour format)</span></label>
|
||||
|
||||
<div class="input-group input-group-sm start_date">
|
||||
|
||||
<span class="input-group-text">Time:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_expires_time" id="alert_expires_time" autocomplete="off" maxlength="10"/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="alert_message">Alert Message</label>
|
||||
<textarea class="form-control form-control-sm" name="alert_message" id="alert_message"/>
|
||||
</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,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 City</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addCity</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-building 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="Cities.addCity"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="city_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="city_name" id="city_name" maxlength="100" 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 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,80 @@
|
||||
<?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 City</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addCityToSubscription</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-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="Subscriptions.addCityToSubscription"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<input type="hidden" name="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="city_serial">City</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="city_serial" id="city_serial" size="1">
|
||||
<xsl:apply-templates select="//cities"/>
|
||||
</select>
|
||||
</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-box-arrow-left 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>
|
||||
|
||||
<!-- Template for Cities dropdown -->
|
||||
|
||||
<xsl:template match="cities">
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{city_serial}" data-tokens="{city_serial}">
|
||||
<xsl:value-of select="city_name"/>
|
||||
</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 County</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addCounty</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-building 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="Counties.addCounty"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="county_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="county_name" id="county_name" maxlength="100" 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 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,80 @@
|
||||
<?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 To Subscription</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addCountyToSubscription</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-chat-dots me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//subscriptions/record/subscription_full_title"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Subscriptions.addCountyToSubscription"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<input type="hidden" name="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="county_serial">County</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="county_serial" id="county_serial" size="1">
|
||||
<xsl:apply-templates select="//counties"/>
|
||||
</select>
|
||||
</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-box-arrow-left me-2"/>Cancel</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Subscription dropdown -->
|
||||
|
||||
<xsl:template match="counties">
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{county_serial}" data-tokens="{county_serial}">
|
||||
<xsl:value-of select="county_name"/>
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</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/{$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/{$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/{$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/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/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,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">Add Project Type</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addProjectType</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-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="Subscriptions.addProjectType"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<input type="hidden" name="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="projecttype_name">Project Type</label>
|
||||
<input class="form-control form-control-sm" name="projecttype_name" id="projecttype_name"></input>
|
||||
</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-box-arrow-left me-2"/>Cancel</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/{$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,68 @@
|
||||
<?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 SIC Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">addSICCode</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-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="SICCodes.addSICCode"/>
|
||||
<input type="hidden" name="step" value="add"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="siccode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="siccode_code" id="siccode_code" maxlength="100" autocomplete="off" autofocus="autofocus"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="siccode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="siccode_description" id="siccode_description" maxlength="100" autocomplete="off"/>
|
||||
</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,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/{$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,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-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>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,146 @@
|
||||
<?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="alert alert-info py-2 small">
|
||||
<i class="bi bi-info-circle me-2"/>
|
||||
The subscriptions listed below will be added to the user.
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<!-- Left Side: Subscriptions Being Copied -->
|
||||
<div class="col-lg-8">
|
||||
|
||||
<div class="card h-100">
|
||||
|
||||
<div class="card-body p-0">
|
||||
|
||||
<div class="">
|
||||
<table class="table table-sm table-striped table-hover mb-0 align-middle subscriptions_error">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th style="width: 20px;">
|
||||
<input type="checkbox" class="form-check-input" id="selectAllSubscriptions"/>
|
||||
</th>
|
||||
<th>Subscription</th>
|
||||
<th>Start Date</th>
|
||||
<th>End Date</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(//subscriptions/record[not(subscription_serial = //usersubscriptions/record/usersubscription_subscription)]) = 0">
|
||||
<tr>
|
||||
<td colspan="4" class="text-center text-muted py-3">
|
||||
This user already has all available subscriptions.
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:apply-templates select="//subscriptions/record[not(subscription_serial = //usersubscriptions/record/usersubscription_subscription)]"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="subscriptions_errors" class="d-none px-3 pt-3">
|
||||
<div class="alert alert-danger py-2 small">
|
||||
<i class="bi bi-info-circle me-2"/>
|
||||
Select at least one subscription to copy.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="buttons mt-1 mb-2">
|
||||
|
||||
<div class="buttons mt-3 mb-1">
|
||||
<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-floppy me-2"/>Save</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Subscriptions Rows -->
|
||||
<xsl:template match="subscriptions/record">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="form-check-input subscription-checkbox" name="subscriptions[]" value="{subscription_serial}"/>
|
||||
</td>
|
||||
<td class="fw-semibold">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm subscription_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask subscription-start-date" name="subscription_start_date[]"/>
|
||||
<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>
|
||||
</td>
|
||||
<td>
|
||||
<div class="input-group input-group-sm subscription_end_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask subscription-end-date" name="subscription_end_date[]"/>
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
</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>
|
||||
+105
@@ -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/{$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" 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,222 @@
|
||||
<?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">Business Facts Basic</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">businessFactsBasic</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-building me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<input type="hidden" id="btnTwoWeeksPrior" data-subscription-serial="{//ranges/subscription_serial}"/>
|
||||
|
||||
<div class="d-flex flex-column align-items-center gap-2">
|
||||
<button type="button" class="btn btn-primary w-100 btnTwoWeeksPrior" style="max-width: 300px;"
|
||||
data-week-start="{//ranges/two_weeks_prior/start}" data-week-end="{//ranges/two_weeks_prior/end}">
|
||||
Week of
|
||||
<xsl:value-of select="//ranges/two_weeks_prior/start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/two_weeks_prior/end"/>
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary w-100 btnWeekPrior" style="max-width: 300px;"
|
||||
data-week-start="{//ranges/week_prior/start}" data-week-end="{//ranges/week_prior/end}">
|
||||
Week of
|
||||
<xsl:value-of select="//ranges/week_prior/start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/week_prior/end"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="buttons mt-1 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>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<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:value-of select="//ranges/searchedranges/week_start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/searchedranges/week_end"/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//businessfacts/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic ">
|
||||
<xsl:text>There are no Business Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="scrollable-40">
|
||||
|
||||
<xsl:apply-templates select="//businessfacts"/>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Business Fact Cards -->
|
||||
|
||||
<xsl:template match="//businessfacts/record">
|
||||
|
||||
<div class="card businessfact-card filterable mb-4">
|
||||
|
||||
<!-- 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="businessfact_company"/>
|
||||
</div>
|
||||
<div class="small">
|
||||
<xsl:value-of select="businessfact_address_one"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="businessfact_city_verbose"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="businessfact_state"/>
|
||||
<xsl:text> — </xsl:text>
|
||||
<xsl:value-of select="businessfact_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="businessfact_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">Contact Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_contact_name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Title:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_contact_title"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Phone Number:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat('(', substring(businessfact_phone, 1, 3), ') ', substring(businessfact_phone, 4, 3), '-', substring(businessfact_phone, 7, 4))"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Email Address:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(businessfact_email_address) != ''">
|
||||
<xsl:value-of select="businessfact_email_address"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">SIC Code:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat(businessfact_sic_code, '-', businessfact_siccode_description_verbose)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Employee Count (ES):</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_employee_count"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Home Based Business (HBB):</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="businessfact_home_based_business = 'Y'">Yes</xsl:when>
|
||||
<xsl:otherwise>No</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Year Established:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_year_established"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_action_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="text-muted small">Entry Date:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_entry_date_verbose"/>
|
||||
</div>
|
||||
</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">Change Password</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">changePassword</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-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,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>
|
||||
+328
@@ -0,0 +1,328 @@
|
||||
<?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/dec-international-logo.png"/>
|
||||
|
||||
<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/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/jquery-3.2.0.min.js?version={$VERSION}"/>
|
||||
<script src="js/bootstrap.bundle.min.js?version={$VERSION}"/>
|
||||
<script src="js/base.js?version={$VERSION}"/>
|
||||
<script src="js/content.js?version={$VERSION}"/>
|
||||
<script src="js/bootstrap-datepicker.min.js?version={$VERSION}"/>
|
||||
<script src="js/jquery.inputmask.min.js?version={$VERSION}"/>
|
||||
<script src="js/bootstrap-select.min.js?version={$VERSION}"/>
|
||||
<script src="js/dinero.min.js?version={$VERSION}"/>
|
||||
<script src="js/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-xxl">
|
||||
|
||||
<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-database me-2"></i>
|
||||
<!--DEC-DR-->
|
||||
<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">
|
||||
<a class="nav-link user-subscriptions" href="javascript:void(0);">
|
||||
<i class="bi bi-list-check me-1" aria-hidden="true"/>
|
||||
SUBSCRIPTIONS
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link user-exports" href="javascript:void(0);">
|
||||
<i class="bi bi-box-arrow-in-up-right me-1" aria-hidden="true"/>
|
||||
EXPORTS
|
||||
<span class="badge text-bg-danger notify-flag d-none">
|
||||
New
|
||||
<span class="visually-hidden">New alerts</span>
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="nav-link disabled">
|
||||
<xsl:text> | </xsl:text>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
<!-- SETUP is only available to Administrators -->
|
||||
|
||||
<xsl:if test="$USER_ROLE = 'Administrator' or $USER_ROLE = 'System Administrator'">
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
</xsl:if>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link sign-out" href="javascript:void(0);">
|
||||
<i class="bi bi-box-arrow-left me-1" aria-hidden="true"/>
|
||||
SIGN OUT
|
||||
</a>
|
||||
</li>
|
||||
</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-right 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-alerts" href="javascript:void(0);">
|
||||
<i class="bi bi-info-circle me-2"/>Alerts</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-cities" href="javascript:void(0);">
|
||||
<i class="bi bi-building me-2"/>Cities</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-counties" href="javascript:void(0);">
|
||||
<i class="bi bi-map me-2"/>Counties</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-dropdowntypes" href="javascript:void(0);">
|
||||
<i class="bi bi-caret-down-square me-2"/>Dropdown Types</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-popovers" href="javascript:void(0);">
|
||||
<i class="bi bi-chat-left-dots me-2"/>Popovers</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-reports" href="javascript:void(0);">
|
||||
<i class="bi bi-printer me-2"/>Reports</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-sic-codes" href="javascript:void(0);">
|
||||
<i class="bi bi-upc-scan me-2"/>SIC Codes</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-subscriptions" href="javascript:void(0);">
|
||||
<i class="bi bi-list-check me-2"/>Subscriptions</a>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-users" href="javascript:void(0);">
|
||||
<i class="bi bi-person-circle me-2"/>Users</a>
|
||||
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
|
||||
<a class="dropdown-item ps-2 setup-dropdowns" href="javascript:void(0);">
|
||||
<i class="bi bi-caret-down me-2"/>Dropdowns</a>
|
||||
|
||||
<a class="dropdown-item ps-2 view-journal" href="javascript:void(0);">
|
||||
<i class="bi bi-journal me-2"/>Journal</a>
|
||||
|
||||
<div class="dropdown-divider mt-1 mb-1"/>
|
||||
|
||||
<!-- <a class="dropdown-item ps-2 run-developer-stub" href="javascript:void(0);">
|
||||
<i class="bi bi-journal me-2"/>Developer Stub</a>-->
|
||||
|
||||
|
||||
</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-xxl 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> DEC International, 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,190 @@
|
||||
<?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="VERSION">1.0</xsl:param>
|
||||
<xsl:param name="PAGE-TITLE">Copy User Subscriptions</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">copyUser</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
|
||||
<div class="{$PAGE-NAME}">
|
||||
|
||||
<div class="card shadow-sm">
|
||||
|
||||
<!-- Header -->
|
||||
<div class="card-header bg-primary text-white p-1 ps-3">
|
||||
<i class="bi bi-person-check me-2"/>
|
||||
<xsl:copy-of select="$PAGE-TITLE"/>
|
||||
|
|
||||
<xsl:value-of select="//users/record/user_name"/>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<form action="" name="{$PAGE-NAME}" method="post" id="{$PAGE-NAME}">
|
||||
|
||||
<input type="hidden" name="action" value="Users.copyUser"/>
|
||||
<input type="hidden" name="step" value="copy"/>
|
||||
|
||||
<!-- Hidden source user -->
|
||||
<input type="hidden" name="source_user_serial" value="{//users/record/user_serial}"/>
|
||||
|
||||
<div class="alert alert-info py-2 small">
|
||||
<i class="bi bi-info-circle me-2"/>
|
||||
The subscriptions listed below will be copied to the selected receiving user.
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<!-- Left Side: Subscriptions Being Copied -->
|
||||
<div class="col-lg-8">
|
||||
|
||||
<div class="card h-100 border-primary">
|
||||
|
||||
<div class="card-header bg-light fw-bold">
|
||||
<i class="bi bi-shield-lock me-2"/>
|
||||
Subscriptions to Copy
|
||||
</div>
|
||||
|
||||
<div class="card-body p-0">
|
||||
|
||||
<div class="">
|
||||
<table class="table table-sm table-striped table-hover mb-0 align-middle subscriptions_error">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th style="width: 40px;">
|
||||
<input type="checkbox" class="form-check-input" id="selectAllSubscriptions"/>
|
||||
</th>
|
||||
<th>Subscription</th>
|
||||
<th>Start Date</th>
|
||||
<th>End Date</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- Left side table -->
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//usersubscriptions/record"/>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="subscriptions_errors" class="d-none px-3 pt-3">
|
||||
<div class="alert alert-danger py-2 small">
|
||||
<i class="bi bi-info-circle me-2"/>
|
||||
Select at least one subscription to copy.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Right Side: Receiving User -->
|
||||
<div class="col-lg-4">
|
||||
|
||||
<div class="card h-100 border-secondary">
|
||||
|
||||
<div class="card-header bg-light fw-bold">
|
||||
<i class="bi bi-person-plus me-2"/>
|
||||
Receiving User
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label fw-bold" for="receiving_user_serial">
|
||||
Copy Subscriptions To
|
||||
</label>
|
||||
|
||||
<!-- Receiving user dropdown -->
|
||||
<select class="form-control form-control-sm search-dropdown" name="receiving_user_serial" id="receiving_user_serial" size="1" required="required">
|
||||
<option value="">Choose...</option>
|
||||
<xsl:apply-templates select="//allusers/record"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="text-muted small">
|
||||
Select the user who should receive the copied Subscriptions.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<div class="buttons mt-3 mb-1">
|
||||
<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-copy me-2"/>Copy Subscriptions
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Subscriptions Rows -->
|
||||
<xsl:template match="usersubscriptions/record">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="checkbox" class="form-check-input subscription-checkbox" name="subscriptions[]" value="{usersubscription_subscription}"/>
|
||||
</td>
|
||||
<td class="fw-semibold">
|
||||
<xsl:value-of select="subscription_full_title"/>
|
||||
</td>
|
||||
<td>
|
||||
<!--<xsl:value-of select="usersubscription_start_date_verbose"/>-->
|
||||
<div class="input-group input-group-sm subscription_start_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask subscription-start-date" name="subscription_start_date[]"/>
|
||||
<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>
|
||||
</td>
|
||||
<td>
|
||||
<!--<xsl:value-of select="usersubscription_end_date_verbose"/>-->
|
||||
<div class="input-group input-group-sm subscription_end_date">
|
||||
<input type="text" class="form-control form-control-sm date-mask subscription-end-date" name="subscription_end_date[]"/>
|
||||
<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>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!-- All Users Dropdown -->
|
||||
<xsl:template match="allusers/record">
|
||||
|
||||
<!-- prevent copying to the same user -->
|
||||
<xsl:if test="user_serial != //users/record/user_serial">
|
||||
<option value="{user_serial}" data-tokens="{user_name} {user_email} {user_id}">
|
||||
<xsl:value-of select="user_name"/>
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:value-of select="user_email"/>
|
||||
</option>
|
||||
</xsl:if>
|
||||
|
||||
</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">Edit Alert</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editAlert</xsl:param>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<script src="js/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/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="Alerts.editAlert"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="alert_serial" id="alert_serial" value="{//alerts/record/alert_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="alert_title">Title</label>
|
||||
<input type="text" class="form-control form-control-sm" name="alert_title" id="alert_title" maxlength="100" autocomplete="off" value="{//alerts/record/alert_title}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_starts_date">Start Date</label>
|
||||
|
||||
<div class="input-group input-group-sm starts-date">
|
||||
|
||||
<span class="input-group-text">Date:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_starts_date" id="alert_starts_date" autocomplete="off" maxlength="10"
|
||||
value="{//alerts/record/alert_started_date}"/>
|
||||
<button class="btn btn-outline-primary btnAlertStartDateCalendar" type="button" data-target="#alert_starts_date" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_starts_time">Start Time <span class="text-small text-muted text-nowrap ml-2">(24-Hour format)</span></label>
|
||||
|
||||
<div class="input-group input-group-sm">
|
||||
|
||||
<span class="input-group-text">Time:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_starts_time" id="alert_starts_time" autocomplete="off" maxlength="10"
|
||||
value="{//alerts/record/alert_started_time}"/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_expires_date">Expires Date</label>
|
||||
|
||||
<div class="input-group input-group-sm expires-date">
|
||||
|
||||
<span class="input-group-text">Date:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_expires_date" id="alert_expires_date" autocomplete="off" maxlength="10"
|
||||
value="{//alerts/record/alert_expired_date}"/>
|
||||
<button class="btn btn-outline-primary btnAlertExpiresDateCalendar" type="button" data-target="#alert_expires_date" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
|
||||
<label class="form-label" for="alert_expires_time">Expires Time <span class="text-small text-muted text-nowrap ml-2">(24-Hour format)</span></label>
|
||||
|
||||
<div class="input-group input-group-sm start_date">
|
||||
|
||||
<span class="input-group-text">Time:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="alert_expires_time" id="alert_expires_time" autocomplete="off" maxlength="10" value="{//alerts/record/alert_expired_time}"/>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-12 mb-3">
|
||||
<label class="form-label" for="alert_message">Alert Message</label>
|
||||
<textarea class="form-control form-control-sm" name="alert_message" id="alert_message">
|
||||
<xsl:value-of select="//alerts/record/alert_message"/>
|
||||
</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>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?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 City</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editCity</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-building 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="Cities.editCity"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="city_serial" id="city_serial" value="{//cities/record/city_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="city_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="city_name" id="city_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//cities/record/city_name}"/>
|
||||
</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,63 @@
|
||||
<?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</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editCounty</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-building 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="Counties.editCounty"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="county_serial" id="county_serial" value="{//counties/record/county_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="county_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="county_name" id="county_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//counties/record/county_name}"/>
|
||||
</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,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/{$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/{$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/{$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/{$PAGE-NAME}.js?version={$VERSION}"/>
|
||||
<script src="js/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,63 @@
|
||||
<?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 ProjectType</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editProjectType</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-building 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="Cities.editProjectType"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="projecttype_serial" id="projecttype_serial" value="{//projecttypes/record/projecttype_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="projecttype_name">Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="projecttype_name" id="projecttype_name" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//projecttypes/record/projecttype_name}"/>
|
||||
</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,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/{$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,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 SIC Code</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editSICCode</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-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="SICCodes.editSICCode"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="siccode_serial" id="siccode_serial" value="{//siccodes/record/siccode_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="siccode_code">Code</label>
|
||||
<input type="text" class="form-control form-control-sm" name="siccode_code" id="siccode_code" maxlength="100" autocomplete="off" autofocus="autofocus" value="{//siccodes/record/siccode_code}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-5 mb-3">
|
||||
<label class="form-label" for="siccode_description">Description</label>
|
||||
<input type="text" class="form-control form-control-sm" name="siccode_description" id="siccode_description" maxlength="100" autocomplete="off" value="{//siccodes/record/siccode_description}"/>
|
||||
</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>
|
||||
<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,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/{$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,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,89 @@
|
||||
<?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 City</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editSubscriptionCity</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-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="Subscriptions.editSubscriptionCity"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="subscriptioncity_serial" value="{//subscriptioncity/record/subscriptioncity_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="city_serial">City</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="city_serial" id="city_serial" size="1">
|
||||
<xsl:call-template name="cities">
|
||||
<xsl:with-param name="current-city">
|
||||
<xsl:value-of select="//subscriptioncity/record/subscriptioncity_city"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</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-box-arrow-left 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>
|
||||
|
||||
<!-- Template for Road dropdown -->
|
||||
|
||||
<xsl:template name="cities">
|
||||
|
||||
<xsl:param name="current-city"/>
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="//cities/record">
|
||||
|
||||
<option value="{city_serial}" data-tokens="{city_name}">
|
||||
<xsl:if test="city_serial = $current-city">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="city_name" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,90 @@
|
||||
<?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 County</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">editSubscriptionCounty</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-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="Subscriptions.editSubscriptionCounty"/>
|
||||
<input type="hidden" name="step" value="update"/>
|
||||
|
||||
<input type="hidden" name="subscriptioncounty_serial" value="{//subscriptioncounty/record/subscriptioncounty_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-8 mb-3">
|
||||
<label class="form-label" for="county_serial">County</label>
|
||||
<select class="form-control form-control-sm search-dropdown" name="county_serial" id="county_serial" size="1">
|
||||
<xsl:call-template name="counties">
|
||||
<xsl:with-param name="current-county">
|
||||
<xsl:value-of select="//subscriptioncounty/record/subscriptioncounty_county"/>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
<!--<xsl:apply-templates select="//counties"/>-->
|
||||
</select>
|
||||
</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-box-arrow-left 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>
|
||||
|
||||
<!-- Template for Road dropdown -->
|
||||
|
||||
<xsl:template name="counties">
|
||||
|
||||
<xsl:param name="current-county"/>
|
||||
|
||||
<option value="">Choose..</option>
|
||||
|
||||
<xsl:for-each select="//counties/record">
|
||||
|
||||
<option value="{county_serial}" data-tokens="{county_name}">
|
||||
<xsl:if test="county_serial = $current-county">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="county_name" />
|
||||
</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,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,53 @@
|
||||
<?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;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: bold;
|
||||
text-decoration: underline;
|
||||
text-align: left;
|
||||
padding-right: 10px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
td {
|
||||
padding-right: 10px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<p class="text">
|
||||
Dear <xsl:value-of select="//users/record/user_name"/>,
|
||||
</p>
|
||||
|
||||
<p class="text">Your password has been reset. Below are your account credentials.</p>
|
||||
|
||||
<p class="text">Password: <xsl:value-of select="$USER-TEMP-PASSWORD"/></p>
|
||||
|
||||
<p class="text">Click <a href="https://apps.realestatedatainc.com/realestatedatainc/main.php" target="_blank">here</a> to Login.</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,24 @@
|
||||
<?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: 2rem;">
|
||||
DEC International
|
||||
</span>
|
||||
<br />
|
||||
<span class="text-primary" style="font-size: 1.5rem;">
|
||||
Data Repository
|
||||
</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/{$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,339 @@
|
||||
<?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">Planning/Zoning Facts Basic</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">pzFactsBasic</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-building me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<input type="hidden" data-subscription-serial="{//ranges/subscription_serial}"/>
|
||||
|
||||
<div class="d-flex flex-column align-items-center gap-2">
|
||||
<button type="button" class="btn btn-primary w-100 btnTwoWeeksPrior" style="max-width: 300px;"
|
||||
data-week-start="{//ranges/two_weeks_prior/start}" data-week-end="{//ranges/two_weeks_prior/end}">
|
||||
Week of
|
||||
<xsl:value-of select="//ranges/two_weeks_prior/start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/two_weeks_prior/end"/>
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary w-100 btnWeekPrior" style="max-width: 300px;"
|
||||
data-week-start="{//ranges/week_prior/start}" data-week-end="{//ranges/week_prior/end}">
|
||||
Week of
|
||||
<xsl:value-of select="//ranges/week_prior/start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/week_prior/end"/>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="buttons mt-1 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>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<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:value-of select="//ranges/searchedranges/week_start"/>
|
||||
-
|
||||
<xsl:value-of select="//ranges/searchedranges/week_end"/>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//pzfacts/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic ">
|
||||
<xsl:text>There are no Planning/Zoning Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="scrollable-40">
|
||||
|
||||
<xsl:apply-templates select="//pzfacts"/>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Planning/Zoning Fact Cards -->
|
||||
|
||||
<xsl:template match="//pzfacts/record">
|
||||
|
||||
<div class="card mt-3 pzfact-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="pzfact_project_name"/>
|
||||
</div>
|
||||
<div class="small">
|
||||
<xsl:value-of select="pzfact_project_address"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="project_city_verbose"/>
|
||||
<xsl:text> — </xsl:text>
|
||||
<xsl:value-of select="pzfact_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="pzfact_legacy_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Body -->
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<!-- Project Information -->
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Project Description:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_project_description) != ''">
|
||||
<xsl:value-of select="pzfact_project_description"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Project Type:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_project_type_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_project_type_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Professional Information -->
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="text-muted small">Architect/Engineer</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_professional_name) != ''">
|
||||
<xsl:value-of select="pzfact_professional_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="col-md-3">
|
||||
<div class="text-muted small">Contact Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_name) != ''">
|
||||
<xsl:value-of select="pzfact_owner_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Owner Information -->
|
||||
|
||||
<div class="row mb-3">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Owner Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_name) != ''">
|
||||
<xsl:value-of select="pzfact_owner_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="text-muted small">Owner Address:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_address) != ''">
|
||||
<xsl:value-of select="pzfact_owner_address"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Owner Phone:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_phone) != ''">
|
||||
<xsl:value-of select="concat('(', substring(pzfact_owner_phone, 1, 3), ') ', substring(pzfact_owner_phone, 4, 3), '-', substring(pzfact_owner_phone, 7, 4))"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-md-3">
|
||||
<div class="text-muted small">Owner Fax:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat('(', substring(pzfact_owner_fax, 1, 3), ') ', substring(pzfact_owner_fax, 4, 3), '-', substring(pzfact_owner_fax, 7, 4))"/>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Project Information -->
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Estimated Project Value:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="pzfact_dollar_value"/>
|
||||
</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(pzfact_district) != ''">
|
||||
<xsl:value-of select="pzfact_district"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Land Lot:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_land_lot) != ''">
|
||||
<xsl:value-of select="pzfact_land_lot"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action Code:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_action_code_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_action_code_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action Date:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_action_date_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_action_date_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Lot Acres:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_acres) != ''">
|
||||
<xsl:value-of select="format-number(pzfact_acres, '#,##0.00')"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="text-muted small">Status:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="pzfact_status"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,625 @@
|
||||
<?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 Business Facts</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">searchBusinessFacts</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//businessfacts/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//businessfacts/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//businessfacts/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//businessfacts/@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="BusinessFacts.searchBusinessFacts"/>
|
||||
<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="businessfact_company">Company</label>
|
||||
<input type="text" class="form-control form-control-sm" name="businessfact_company" id="businessfact_company" maxlength="100" autocomplete="off" autofocus="autofocus"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_company}"/>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="businessfact_zip">Zip Code</label>
|
||||
<input type="text" class="form-control form-control-sm zip-mask" name="businessfact_zip" id="businessfact_zip" maxlength="20"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_zip}"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_city">City</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="businessfact_city[]" id="businessfact_city" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncities"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="businessfact_county[]" id="businessfact_county" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncounties"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_business_class">Business Classification</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="businessfact_business_class[]" id="businessfact_business_class" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'business_classifications'"/>
|
||||
<xsl:with-param name="selected-path" select="'businessfact_business_class'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_action">Action</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="businessfact_action[]" id="businessfact_action" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'actions'"/>
|
||||
<xsl:with-param name="selected-path" select="'businessfact_action'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_sic_code">SIC Codes</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="businessfact_sic_code[]" id="businessfact_sic_code" size="1">
|
||||
<xsl:apply-templates select="//siccodes"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="businessfact_home_based_business">Home Based Business</label>
|
||||
<select class="form-control form-control-sm" name="businessfact_home_based_business" id="businessfact_home_based_business" size="1">
|
||||
<option value="">Choose..</option>
|
||||
<option value="Y">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/businessfact_home_based_business = 'Y'">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>Yes</option>
|
||||
<option value="N">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/businessfact_home_based_business = 'N'">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>No</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Employee Count</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="businessfact_employee_count_from" id="businessfact_employee_count_from" maxlength="7"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_employee_count_from}"/>
|
||||
<span class="input-group-text">To: </span>
|
||||
<input type="text" class="form-control form-control-sm numeric-mask" name="businessfact_employee_count_to" id="businessfact_employee_count_to" maxlength="7"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_employee_count_to}"/>
|
||||
</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="businessfact_entry_date_from" id="businessfact_entry_date_from" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_entry_date_from}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateFromCalendar" type="button" data-target="#businessfact_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="businessfact_entry_date_to" id="businessfact_entry_date_to" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_entry_date_to}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateToCalendar" type="button" data-target="#businessfact_entry_date_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<xsl:if test="//subscriptions/record/subscription_serial = 10">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Lease End - Date Range</label>
|
||||
|
||||
<div class="input-group input-group-sm lease-end-date">
|
||||
|
||||
<span class="input-group-text">From:</span>
|
||||
<input type="text" class="form-control form-control-sm date-mask" name="businessfact_lease_end_from" id="businessfact_lease_end_from" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_lease_end_from}"/>
|
||||
<button class="btn btn-outline-primary btnLeaseEndDateFromCalendar" type="button" data-target="#businessfact_lease_end_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="businessfact_lease_end_to" id="businessfact_lease_end_to" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/businessfact_lease_end_to}"/>
|
||||
<button class="btn btn-outline-primary btnLeaseEndDateToCalendar" type="button" data-target="#businessfact_lease_end_to" data-bs-toggle="tooltip" data-bs-title="Calendar" tabindex="-1">
|
||||
<i class="bi bi-calendar3"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</xsl:if>
|
||||
|
||||
</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"/>Return to Subscriptions Page</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="number(//businessfacts/@count) > 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_businessfacts']/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="businessfacts_per_page" id="businessfacts_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_pdf']/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>
|
||||
|
||||
<hr class="mt-3 mb-2"/>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="number(//businessfacts/@count) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Business 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 Business Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
<xsl:apply-templates select="//businessfacts"/>
|
||||
|
||||
</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:choose>
|
||||
<xsl:when test="//subscriptions/record/subscription_serial = 10">
|
||||
<!--<xsl:for-each select="/XML/dropdowns/record[dropdowntype_name = $dropdown-name]">-->
|
||||
<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:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:for-each select="/XML/dropdowns/record[dropdowntype_name = $dropdown-name and not(contains(translate(dropdown_value, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'lease ending'))]">
|
||||
<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:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
</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/businessfact_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/businessfact_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 SIC Codes dropdown -->
|
||||
|
||||
<xsl:template match="siccodes">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{siccode_code}" data-tokens="{siccode_code}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/businessfact_sic_code/id = siccode_code">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="concat(siccode_code, ' - ', siccode_description)" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Business Fact Cards -->
|
||||
|
||||
<xsl:template match="//businessfacts/record">
|
||||
|
||||
<div class="card mt-3 businessfact-card filterable">
|
||||
|
||||
<!-- Header -->
|
||||
<div class="card-header bg-primary text-white d-flex align-items-start justify-content-between">
|
||||
<div>
|
||||
<div class="fw-semibold">
|
||||
Company Name:
|
||||
<xsl:value-of select="businessfact_company"/>
|
||||
</div>
|
||||
<div class="small">
|
||||
<xsl:value-of select="businessfact_address_one"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="businessfact_city_verbose"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="businessfact_state"/>
|
||||
<xsl:text> — </xsl:text>
|
||||
<xsl:value-of select="businessfact_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="businessfact_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">Contact Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_contact_name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Title:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_contact_title"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Phone Number:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat('(', substring(businessfact_phone, 1, 3), ') ', substring(businessfact_phone, 4, 3), '-', substring(businessfact_phone, 7, 4))"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Email Address:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(businessfact_email_address) != ''">
|
||||
<xsl:value-of select="businessfact_email_address"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">SIC Code:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat(businessfact_sic_code, '-', businessfact_siccode_description_verbose)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Employee Count (ES):</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_employee_count"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Home Based Business (HBB):</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="businessfact_home_based_business = 'Y'">Yes</xsl:when>
|
||||
<xsl:otherwise>No</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Year Established:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_year_established"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Business Class:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_business_class_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_action_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Entry Date:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="businessfact_entry_date_verbose"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Square Footage:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(businessfact_square_feet) != ''">
|
||||
<xsl:value-of select="businessfact_square_feet"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<xsl:if test="//subscriptions/record/subscription_serial = 10">
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Lease Ending</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="businessfact_source_lease_ending = 0">NO</xsl:when>
|
||||
<xsl:otherwise>Yes</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Lease End:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(businessfact_lease_end) != ''">
|
||||
<xsl:value-of select="businessfact_lease_end_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
</xsl:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,643 @@
|
||||
<?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 Planning & Zoning Facts</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">searchPZFacts</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//pzfacts/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//pzfacts/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//pzfacts/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//pzfacts/@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="PlanningAndZoningFacts.searchPlanningAndZoningFacts"/>
|
||||
<input type="hidden" name="subscription_serial" value="{//subscriptions/record/subscription_serial}"/>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 mb-3">
|
||||
<label class="form-label" for="pzfact_project_name">Project Name</label>
|
||||
<input type="text" class="form-control form-control-sm" name="pzfact_project_name" id="pzfact_project_name" maxlength="100" autocomplete="off" autofocus="yes"
|
||||
value="{//searchhistory/record/searchhistory_parameters/pzfact_project_name}"/>
|
||||
</div>
|
||||
|
||||
<!-- <div class="col-lg-4 mb-3">
|
||||
<label class="form-label" for="pzfact_in_city_limit">In City?</label>
|
||||
<select class="form-control form-control-sm" name="pzfact_in_city_limit" id="pzfact_in_city_limit" size="1">
|
||||
<option value="">Choose..</option>
|
||||
<option value="Y">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/pzfact_in_city_limit = 'Y'">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>Yes</option>
|
||||
<option value="N">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/pzfact_in_city_limit = 'N'">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>No</option>
|
||||
</select>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="pzfact_project_city">City</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="pzfact_project_city[]" id="pzfact_project_city" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncities"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="pzfact_county">County</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="pzfact_county[]" id="pzfact_county" size="1">
|
||||
<xsl:apply-templates select="//subscriptioncounties"/>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="pzfact_project_type">Project Type</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="pzfact_project_type[]" id="pzfact_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="'pzfact_project_type'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-3 mb-3">
|
||||
<label class="form-label" for="pzfact_action_code">Action</label>
|
||||
<select class="form-control form-control-sm multiple-dropdown" multiple="multiple" name="pzfact_action_code[]" id="pzfact_action_code" size="1">
|
||||
<xsl:call-template name="dropdowns">
|
||||
<xsl:with-param name="dropdown-name" select="'action_codes'"/>
|
||||
<xsl:with-param name="selected-path" select="'pzfact_action_code'"/>
|
||||
</xsl:call-template>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-3">
|
||||
|
||||
<label class="form-label">Acreage</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="pzfact_acres_from" id="pzfact_acres_from" maxlength="7" value="{//searchhistory/record/searchhistory_parameters/pzfact_acres_from}"/>
|
||||
<span class="input-group-text">To: </span>
|
||||
<input type="text" class="form-control form-control-sm sqft-mask" name="pzfact_acres_to" id="pzfact_acres_to" maxlength="7" value="{//searchhistory/record/searchhistory_parameters/pzfact_acres_to}"/>
|
||||
</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="pzfact_entry_date_from" id="pzfact_entry_date_from" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/pzfact_entry_date_from}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateFromCalendar" type="button" data-target="#pzfact_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="pzfact_entry_date_to" id="pzfact_entry_date_to" autocomplete="off" maxlength="10"
|
||||
value="{//searchhistory/record/searchhistory_parameters/pzfact_entry_date_to}"/>
|
||||
<button class="btn btn-outline-primary btnEntryDateToCalendar" type="button" data-target="#pzfact_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="number(/XML/pzfacts/@count) > 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_pzfacts']/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="pzfacts_per_page" id="pzfacts_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_pdf']/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>
|
||||
<hr class="mt-3 mb-2"/>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="number(/XML/pzfacts/@count) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mb-1">
|
||||
<xsl:text>There are no Planning/Zoning 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 Planning/Zoning Facts to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
<xsl:apply-templates select="//pzfacts"/>
|
||||
|
||||
</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="cities">
|
||||
<xsl:for-each select="record">
|
||||
<option value="{pzfact_project_city}" data-tokens="{project_city_verbose}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/pzfact_project_city/id = subscriptioncity_city">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:value-of select="project_city_verbose" />
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</xsl:template>-->
|
||||
<!-- Template for Cities dropdown -->
|
||||
|
||||
<xsl:template match="subscriptioncities">
|
||||
<xsl:for-each select="record">
|
||||
<option value="{pzfact_project_city}" data-tokens="{pzfact_project_city}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/pzfact_project_city/id = pzfact_project_city">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:value-of select="project_city_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/pzfact_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>-->
|
||||
<xsl:template match="subscriptioncounties">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<option value="{pzfact_county}" data-tokens="{pzfact_county}">
|
||||
<xsl:if test="//searchhistory/record/searchhistory_parameters/pzfact_county/id = pzfact_county">
|
||||
<xsl:attribute name="selected">selected</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="pzfact_county_name_verbose" />
|
||||
</option>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for Planning/Zoning Fact Cards -->
|
||||
|
||||
<xsl:template match="//pzfacts/record">
|
||||
|
||||
<div class="card mt-3 pzfact-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="pzfact_project_name"/>
|
||||
</div>
|
||||
<div class="small">
|
||||
<xsl:value-of select="pzfact_project_address"/>
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="project_city_verbose"/>
|
||||
<xsl:text> — </xsl:text>
|
||||
<xsl:value-of select="pzfact_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="pzfact_legacy_id"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Body -->
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<!-- Project Information -->
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Project Description:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_project_description) != ''">
|
||||
<xsl:value-of select="pzfact_project_description"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Project Type:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_project_type_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_project_type_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Professional Information -->
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-9">
|
||||
<div class="text-muted small">Architect/Engineer</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_professional_name) != ''">
|
||||
<xsl:value-of select="pzfact_professional_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="col-md-3">
|
||||
<div class="text-muted small">Contact Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_name) != ''">
|
||||
<xsl:value-of select="pzfact_owner_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Owner Information -->
|
||||
|
||||
<div class="row mb-3">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Owner Name:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_name) != ''">
|
||||
<xsl:value-of select="pzfact_owner_name"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="text-muted small">Owner Address:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_address) != ''">
|
||||
<xsl:value-of select="pzfact_owner_address"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Owner Phone:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_owner_phone) != ''">
|
||||
<xsl:value-of select="concat('(', substring(pzfact_owner_phone, 1, 3), ') ', substring(pzfact_owner_phone, 4, 3), '-', substring(pzfact_owner_phone, 7, 4))"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="col-md-3">
|
||||
<div class="text-muted small">Owner Fax:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="concat('(', substring(pzfact_owner_fax, 1, 3), ') ', substring(pzfact_owner_fax, 4, 3), '-', substring(pzfact_owner_fax, 7, 4))"/>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Project Information -->
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Estimated Project Value:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="pzfact_dollar_value"/>
|
||||
</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(pzfact_district) != ''">
|
||||
<xsl:value-of select="pzfact_district"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Land Lot:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_land_lot) != ''">
|
||||
<xsl:value-of select="pzfact_land_lot"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row mb-2">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action Code:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_action_code_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_action_code_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Action Date:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_action_date_verbose) != ''">
|
||||
<xsl:value-of select="pzfact_action_date_verbose"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="text-muted small">Lot Acres:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:choose>
|
||||
<xsl:when test="normalize-space(pzfact_acres) != ''">
|
||||
<xsl:value-of select="format-number(pzfact_acres, '#,##0.00')"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>N/A</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="text-muted small">Status:</div>
|
||||
<div class="fw-semibold">
|
||||
<xsl:value-of select="pzfact_status"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,600 @@
|
||||
<?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}" data-bs-toggle="tooltip" data-bs-title="You may only use a Permit or Issue Date, not both." data-bs-custom-class="custom-tooltip"/>
|
||||
<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}" data-bs-toggle="tooltip" data-bs-title="You may only use a Permit or Issue Date, not both." data-bs-custom-class="custom-tooltip"/>
|
||||
<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}" data-bs-toggle="tooltip" data-bs-title="You may only use a Permit or Issue Date, not both." data-bs-custom-class="custom-tooltip"/>
|
||||
<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="{$TODAY_MMDDYYYY}" data-bs-toggle="tooltip" data-bs-title="You may only use a Permit or Issue Date, not both." data-bs-custom-class="custom-tooltip"/>
|
||||
<!--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="number(/XML/permitfacts/@count) > 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_pdf']/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>
|
||||
|
||||
<hr class="mt-3 mb-2"/>
|
||||
|
||||
</xsl:if>
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="number(/XML/permitfacts/@count) = 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:choose>
|
||||
<xsl:when test="string-length(normalize-space(permitfact_value)) > 0 and number(permitfact_value) = number(permitfact_value)">
|
||||
$<xsl:value-of select="format-number(permitfact_value, '#,##0')"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
N/A
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</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,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/{$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,160 @@
|
||||
<?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">Alerts</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupAlerts</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//alerts/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//alerts/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//alerts/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//alerts/@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-info-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-lg-4">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_alert" id="find_alert" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_alert']/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_alert']/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="alerts_per_page" id="alerts_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(//alerts/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Alerts 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="alerts-table">
|
||||
<thead>
|
||||
<th>Title</th>
|
||||
<th>Starts</th>
|
||||
<th>Expires</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//alerts"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="alerts/record">
|
||||
|
||||
<tr class="hoverable alert-row" data-alert-serial="{alert_serial}" data-alert-name="{alert_title}">
|
||||
|
||||
<td class="alert_title">
|
||||
<xsl:value-of select="alert_title"/>
|
||||
</td>
|
||||
<td class="alert_start">
|
||||
<xsl:value-of select="alert_started_verbose"/>
|
||||
</td>
|
||||
<td class="alert_end">
|
||||
<xsl:value-of select="alert_expires_verbose"/>
|
||||
</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">Cities</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupCities</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//cities/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//cities/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//cities/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//cities/@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-building 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_city" id="find_city" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_city']/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_city']/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="cities_per_page" id="cities_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(//cities/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Cities 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="cities-table">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Name</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//cities"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="cities/record">
|
||||
|
||||
<tr class="hoverable city-row" data-city-serial="{city_serial}" data-city-name="{city_name}">
|
||||
|
||||
<td class="city_name">
|
||||
<xsl:value-of select="city_name"/>
|
||||
</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">Counties</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupCounties</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//counties/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//counties/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//counties/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//counties/@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-building 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_county" id="find_county" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_county']/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_county']/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="counties_per_page" id="counties_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(//counties/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Counties 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="counties-table">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Name</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//counties"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="counties/record">
|
||||
|
||||
<tr class="hoverable county-row" data-county-serial="{county_serial}" data-county-name="{county_name}">
|
||||
|
||||
<td class="county_name">
|
||||
<xsl:value-of select="county_name"/>
|
||||
</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/{$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,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">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/{$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/{$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,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">Project Types</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupProjectTypes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//projecttypes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//projecttypes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//projecttypes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//projecttypes/@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-building 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_projecttype" id="find_projecttype" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_projecttype']/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_projecttype']/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="projecttypes_per_page" id="projecttypes_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(//projecttypes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no Project 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="projecttypes-table">
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Name</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:apply-templates select="//projecttypes"/>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for table rows -->
|
||||
|
||||
<xsl:template match="projecttypes/record">
|
||||
|
||||
<tr class="hoverable projecttype-row" data-projecttype-serial="{projecttype_serial}" data-projecttype-name="{projecttype_name}">
|
||||
|
||||
<td class="projecttype_name">
|
||||
<xsl:value-of select="projecttype_name"/>
|
||||
</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/{$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,163 @@
|
||||
<?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">SIC Codes</xsl:param>
|
||||
<xsl:param name="PAGE-NAME">setupSICCodes</xsl:param>
|
||||
|
||||
<!-- Variables -->
|
||||
|
||||
<xsl:variable name="PAGINATION_COUNT" select="//siccodes/@count"/>
|
||||
<xsl:variable name="PAGINATION_START" select="//siccodes/@start"/>
|
||||
<xsl:variable name="PAGINATION_END" select="//siccodes/@end"/>
|
||||
<xsl:variable name="PAGINATION_PAGE" select="//siccodes/@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-upc-scan me-2"/>
|
||||
<xsl:value-of select="$PAGE-TITLE"/>
|
||||
<xsl:if test="$PAGINATION_COUNT > 0">
|
||||
<xsl:text> | Showing </xsl:text>
|
||||
<xsl:value-of select="format-number($PAGINATION_START, '###,##0')"/>
|
||||
<xsl:text> to </xsl:text>
|
||||
<xsl:value-of select="format-number($PAGINATION_END, '###,##0')"/>
|
||||
<xsl:text> of </xsl:text>
|
||||
<xsl:value-of select="format-number($PAGINATION_COUNT, '###,##0')"/>
|
||||
</xsl:if>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row align-items-center mt-2 mb-2">
|
||||
|
||||
<div class="col-lg-4 mb-2">
|
||||
<div class="input-group input-group-sm">
|
||||
<input type="text" class="form-control autosave" name="find_siccode" id="find_siccode" maxlength="100" autocomplete="off" placeholder="{//popovers/record[popover_name = 'find_siccode']/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_siccode']/popover_text}" data-bs-html="true" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-search"/>
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary fw-bold btnClearFind" data-bs-toggle="tooltip" data-bs-title="Clear Find" data-bs-custom-class="custom-tooltip">
|
||||
<i class="bi bi-arrow-clockwise"/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-auto mb-2">
|
||||
<div class="input-group input-group-sm" data-bs-toggle="tooltip" data-bs-title="Show Per Page" data-bs-custom-class="custom-tooltip">
|
||||
<div class="input-group-text">
|
||||
<i class="bi bi-list-ol"/>
|
||||
</div>
|
||||
<select class="form-select" name="siccodes_per_page" id="siccodes_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 mb-2 btnAdd">
|
||||
<i class="bi bi-plus-lg me-2"/>Add</button>
|
||||
|
||||
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnDone">
|
||||
<i class="bi bi-box-arrow-left me-2"/>Done</button>
|
||||
|
||||
<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(//siccodes/record) = 0">
|
||||
|
||||
<div class="fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
|
||||
<xsl:text>There are no SIC Code Records to view...</xsl:text>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
|
||||
<div class="table-responsive">
|
||||
|
||||
<table class="table table-sm table-striped table-hover base-table" id="siccodes-table">
|
||||
|
||||
<thead class="sticky-header" data-theme="{$THEME}">
|
||||
<th>Code</th>
|
||||
<th>Description</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<xsl:apply-templates select="//siccodes"/>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:otherwise>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- Template for SIC Code rows -->
|
||||
|
||||
<xsl:template match="siccodes/record">
|
||||
|
||||
<tr class="hoverable siccode-row" data-siccode-serial="{siccode_serial}" data-siccode-code="{siccode_code}">
|
||||
|
||||
<td class="siccode_code">
|
||||
<xsl:value-of select="siccode_code"/>
|
||||
</td>
|
||||
<td class="siccode_description">
|
||||
<xsl:value-of select="siccode_description"/>
|
||||
</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/{$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,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,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/{$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>Client Name</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_client_name">
|
||||
<xsl:value-of select="user_client_name"/>
|
||||
</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>
|
||||
+114
@@ -0,0 +1,114 @@
|
||||
<?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">DEC Data Repository Login</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: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/dec-international-logo.png"/>
|
||||
|
||||
<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/jquery-3.2.0.min.js?version={$VERSION}"/>
|
||||
<script src="js/bootstrap.bundle.min.js?version={$VERSION}"/>
|
||||
<script src="js/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">
|
||||
<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>
|
||||
|
||||
<xsl:if test="$RESET_PASSWORD_SUCCESSFUL = 'TRUE'">
|
||||
<div class="alert alert-danger">
|
||||
<xsl:text>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.</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>
|
||||
|
||||
<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 class="d-grid gap-2 col-11 mx-auto pb-3">
|
||||
<button class="btn btn-primary btn-sm btnSignIn">Sign In</button>
|
||||
<button class="btn btn-secondary btn-sm btnForgot">Forgot/Reset Password</button>
|
||||
</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,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,141 @@
|
||||
<?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}">
|
||||
|
||||
<xsl:choose>
|
||||
|
||||
<xsl:when test="count(//alerts/record) > 0">
|
||||
|
||||
<div class="card mb-4">
|
||||
|
||||
<div class="card-header bg-danger text-white p-1 ps-3">
|
||||
<i class="bi bi-info-circle me-2"/>
|
||||
Messages
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<xsl:apply-templates select="//alerts"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</xsl:when>
|
||||
|
||||
</xsl:choose>
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
<!-- Template to create Alerts objects -->
|
||||
|
||||
<xsl:template match="alerts">
|
||||
|
||||
<xsl:for-each select="record">
|
||||
|
||||
<div class="row">
|
||||
<xsl:value-of select="alert_message" disable-output-escaping="yes"/>
|
||||
</div>
|
||||
|
||||
<!-- <div class="row alert-time-elapsed-row mb-0 text-muted">
|
||||
<div class="col alert-company">
|
||||
<xsl:value-of select="alert_time_elapsed"/>
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<xsl:if test="position() != last()">
|
||||
<hr class="mt-1 mb-1"/>
|
||||
</xsl:if>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,425 @@
|
||||
<?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 btnCopy">
|
||||
<i class="bi bi-copy me-2"/>Copy User</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/{$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/{$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>
|
||||
Reference in New Issue
Block a user