views/licence-edit.ejs
<%- include('_header'); -%>
<div class="columns is-variable is-4-mobile is-4-tablet is-block-print" id="is-site-layout">
<%- include("_sideMenu-licences"); -%>
<div class="column is-block-print">
<nav class="breadcrumb">
<ul>
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
<li><a href="<%= urlPrefix %>/licences">
<span class="icon is-small"><i class="fas fa-certificate" aria-hidden="true"></i></span>
<span>Lottery Licences</span>
</a></li>
<% if (isCreate) { %>
<li class="is-active"><a href="#" aria-current="page">New Licence</a></li>
<% } else { %>
<li>
<a href="<%= urlPrefix %>/licences/<%= licence.licenceID %>">
<% if (configFunctions.getProperty("licences.externalLicenceNumber.isPreferredID")) { %>
Licence <%= licence.externalLicenceNumber %>
<% } else { %>
Licence #<%= licence.licenceID %>
<% } %>
</a>
</li>
<li class="is-active"><a href="#" aria-current="page">Update</a></li>
<% } %>
</ul>
</nav>
<div class="level">
<div class="level-left has-flex-shrink-1">
<h1 class="title is-1">
<%= (isCreate ? "Create a New Lottery Licence" : "Update an Existing Lottery Licence") %>
</h1>
</div>
<div class="level-right has-text-right ml-4 is-hidden-print">
<% if (licence.issueDate) { %>
<a class="button is-link" href="<%= urlPrefix %>/licences/<%= licence.licenceID %>/print" download>
<span class="icon is-small">
<i class="fas fa-print" aria-hidden="true"></i>
</span>
<span>Print Licence</span>
</a>
<% } else if (!isCreate) { %>
<button class="button is-success" id="is-issue-licence-button">
<span class="icon is-small">
<i class="fas fa-stamp" aria-hidden="true"></i>
</span>
<span>Issue Licence</span>
</button>
<% } %>
</div>
</div>
<% if (!isCreate && licence.licenceAmendments.length > 0) { %>
<%- include('_licence-view_edit-amendments'); -%>
<% } %>
<form id="form--licence" data-licence-is-issued="<%= (licence.issueDate ? "true" : "false") %>">
<div class="columns">
<div class="column">
<div class="field">
<label class="label" for="licence--licenceID">Licence ID</label>
<div class="control has-icons-left">
<input class="input is-readonly" id="licence--licenceID" name="licenceID" type="text" value="<%= licence.licenceID %>" placeholder="(New Licence Number)" readonly required />
<span class="icon is-left">
<i class="fas fa-key" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
<%
let licenceNumberIsReadOnly = true;
if (isCreate && configFunctions.getProperty("licences.externalLicenceNumber.newCalculation") === "") {
licenceNumberIsReadOnly = false;
}
%>
<div class="column">
<label class="label" for="licence--externalLicenceNumber"><%= configFunctions.getProperty("licences.externalLicenceNumber.fieldLabel") %></label>
<div class="field has-addons">
<div class="control is-expanded">
<input class="input <%= (licenceNumberIsReadOnly ? " is-readonly" : "") %>" id="licence--externalLicenceNumber" name="externalLicenceNumber" type="text" value="<%= licence.externalLicenceNumber %>" maxlength="20" autocomplete="false" <%= (licenceNumberIsReadOnly ? " readonly" : "") %> />
</div>
<% if (licenceNumberIsReadOnly) { %>
<div class="control">
<button class="button" id="is-external-licence-number-unlock-button" data-tooltip="Unlock Field" type="button">
<i class="fas fa-unlock" aria-hidden="true"></i>
<span class="sr-only">Unlock Field</span>
</button>
</div>
<% } %>
</div>
</div>
<div class="column">
<div class="field">
<label class="label" for="licence--applicationDateString">Application Date</label>
<div class="control has-icons-left">
<input class="input" id="licence--applicationDateString" name="applicationDateString" type="date" value="<%= licence.applicationDateString %>" max="<%= dateTimeFns.dateToString(new Date()) %>" required />
<span class="icon is-left">
<i class="fas fa-calendar" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column is-full">
<input id="licence--organizationID" name="organizationID" type="hidden" value="<%= (organization ? organization.organizationID : "") %>" />
<label class="label" for="licence--organizationName">Organization</label>
<div class="field has-addons">
<div class="control has-icons-left is-expanded">
<input class="input is-readonly" id="licence--organizationName" type="text" value="<%= (organization ? organization.organizationName : "") %>" readonly required />
<span class="icon is-left">
<i class="fas fa-users" aria-hidden="true"></i>
</span>
</div>
<div class="control">
<button class="button" id="is-organization-lookup-button" data-tooltip="Lookup Organization" type="button">
<span class="icon"><i class="fas fa-search" aria-hidden="true"></i></span>
<span>Lookup</span>
</button>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column is-one-third">
<div class="field">
<label class="label" for="licence--municipality">Municipality</label>
<div class="control has-icons-left">
<input class="input" id="licence--municipality" name="municipality" type="text" value="<%= licence.municipality %>" maxlength="100" />
<span class="icon is-left">
<i class="fas fa-city" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
<div class="column is-two-thirds">
<input id="licence--locationID" name="locationID" type="hidden" value="<%= licence.locationID %>" />
<label class="label" for="licence--locationDisplayName">Location</label>
<div class="field has-addons">
<div class="control has-icons-left is-expanded">
<input class="input is-readonly" id="licence--locationDisplayName" type="text" value="<%= licence.locationDisplayName %>" maxlength="100" readonly required />
<span class="icon is-left">
<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
</span>
</div>
<div class="control">
<button class="button" id="is-location-lookup-button" data-tooltip="Lookup Location" type="button">
<span class="icon"><i class="fas fa-search" aria-hidden="true"></i></span>
<span>Lookup</span>
</button>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column is-3">
<div class="field">
<label class="label" for="licence--startDateString">Start Date</label>
<div class="control has-icons-left">
<input class="input" id="licence--startDateString" name="startDateString" type="date" value="<%= licence.startDateString %>" min="<%= licence.applicationDateString %>" required />
<span class="icon is-left">
<i class="fas fa-play" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
<div class="column is-3">
<div class="field">
<div class="columns is-vcentered is-mobile mb-0">
<div class="column pb-2">
<label class="label" for="licence--endDateString">End Date</label>
</div>
<div class="column is-narrow pb-2">
<button class="button is-xsmall" id="is-endDateString-year-button" type="button">
<span class="icon">
<i class="fas fa-calendar-plus" aria-hidden="true"></i>
</span>
<span>Add 1 Year</span>
</button>
</div>
</div>
<div class="control has-icons-left">
<input class="input" id="licence--endDateString" name="endDateString" type="date" value="<%= licence.endDateString %>" min="<%= licence.startDateString %>" required />
<span class="icon is-left">
<i class="fas fa-stop" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
<div class="column is-3">
<div class="field">
<label class="label" for="licence--startTimeString">Start Time</label>
<div class="control has-icons-left">
<input class="input" id="licence--startTimeString" name="startTimeString" type="time" value="<%= licence.startTimeString %>" step="300" required />
<span class="icon is-left">
<i class="fas fa-play" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
<div class="column is-3">
<div class="field">
<label class="label" for="licence--endTimeString">End Time</label>
<div class="control has-icons-left">
<input class="input" id="licence--endTimeString" name="endTimeString" type="time" value="<%= licence.endTimeString %>" step="300" required />
<span class="icon is-left">
<i class="fas fa-stop" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column is-half">
<div class="field">
<label class="label" for="licence--licenceDetails">Licence Details</label>
<div class="control">
<textarea class="textarea" id="licence--licenceDetails" name="licenceDetails" rows="5"><%= licence.licenceDetails.trim() %></textarea>
</div>
</div>
</div>
<div class="column is-half">
<div class="field">
<div class="columns is-vcentered is-mobile mb-0">
<div class="column pb-2">
<label class="label" for="licence--termsConditions">Terms and Conditions</label>
</div>
<div class="column pb-2 is-narrow">
<button class="button is-xsmall" id="is-termsConditions-lookup-button" type="button">
<span class="icon">
<i class="fas fa-search" aria-hidden="true"></i>
</span>
<span>Lookup Past Terms</span>
</button>
</div>
</div>
<div class="control">
<textarea class="textarea" id="licence--termsConditions" name="termsConditions" rows="5"><%= licence.termsConditions.trim() %></textarea>
</div>
</div>
<div class="has-text-right is-hidden-print">
</div>
</div>
</div>
<%
const licenceType = (isCreate ? {} : configFunctions.getLicenceType(licence.licenceTypeKey));
let ticketTypesIsHidden = true;
if (!isCreate && ((licenceType && licenceType.ticketTypes && licenceType.ticketTypes.length) || licence.licenceTicketTypes.length > 0)) {
ticketTypesIsHidden = false;
}
%>
<div class="columns">
<div class="column is-half">
<div class="field">
<% if (isCreate) { %>
<label class="label" for="licence--licenceTypeKey">Licence Type</label>
<div class="control">
<div class="select is-fullwidth">
<select <%= (isCreate ? "" : "class=\"is-readonly\"") %> id="licence--licenceTypeKey" name="licenceTypeKey" required <%= (isCreate ? "" : " readonly") %>>
<option value="">(Select a Licence Type)</option>
<%
const licenceTypes = configFunctions.getProperty("licenceTypes");
for (let licenceTypeIndex = 0; licenceTypeIndex < licenceTypes.length; licenceTypeIndex += 1) {
const licenceTypeOption = licenceTypes[licenceTypeIndex];
if (!licenceTypeOption.isActive) {
continue;
}
%>
<option value="<%= licenceTypeOption.licenceTypeKey %>" data-total-prize-value-max="<%= licenceTypeOption.totalPrizeValueMax %>" data-has-ticket-types="<%= (licenceTypeOption.ticketTypes && licenceTypeOption.ticketTypes.length > 0 ? "true": "false") %>">
<%= licenceTypeOption.licenceType %>
</option>
<%
}
%>
</select>
</div>
</div>
<% } else { %>
<input id="licence--licenceTypeKey" name="licenceTypeKey" type="hidden" value="<%= licence.licenceTypeKey %>" />
<label class="label" for="licence--licenceType">Licence Type</label>
<div class="control">
<input class="input is-readonly" id="licence--licenceType" value="<%= (licenceType ? licenceType.licenceType : licence.licenceTypeKey) %>" readonly />
</div>
<% } %>
</div>
</div>
<div class="column is-half">
<div class="field">
<label class="label" for="licence--totalPrizeValue">Total Prize Value</label>
<div class="control has-icons-left">
<input class="input <%= (ticketTypesIsHidden ? "" : " is-readonly") %>" id="licence--totalPrizeValue" name="totalPrizeValue" type="number" value="<%= licence.totalPrizeValue %>" min="0.00" max="<%= (licenceType ? licenceType.totalPrizeValueMax : "") %>" step="0.01" required <%= (ticketTypesIsHidden ? "" : " readonly ") %> onwheel="return false;" />
<span class="icon is-left">
<i class="fas fa-dollar-sign" aria-hidden="true"></i>
</span>
</div>
</div>
</div>
</div>
<div class="columns">
<div class="column is-half">
<div class="panel">
<div class="panel-heading">
<div class="level">
<div class="level-left">
<h2 class="has-text-weight-bold">Event Dates</h2>
</div>
<div class="level-right is-hidden-print">
<div>
<div class="dropdown">
<div class="dropdown-trigger">
<button class="button is-small" type="button" aria-haspopup="true">
<span>Add</span>
<span class="icon">
<i class="fas fa-angle-down" aria-hidden="true"></i>
</span>
</button>
</div>
<div class="dropdown-menu has-text-weight-normal" role="menu">
<div class="dropdown-content">
<a class="dropdown-item is-add-event-button" data-source="licence--startDateString" href="#">
<span class="icon"><i class="fas fa-fw fa-play" aria-hidden="true"></i></span>
<span>Licence Start Date</span>
</a>
<a class="dropdown-item is-add-event-button" data-source="licence--endDateString" href="#">
<span class="icon"><i class="fas fa-fw fa-stop" aria-hidden="true"></i></span>
<span>Licence End Date</span>
</a>
<a class="dropdown-item is-add-event-button" href="#">
<span class="icon"><i class="fas fa-fw fa-calendar-day" aria-hidden="true"></i></span>
<span>New Event Date</span>
</a>
</div>
</div>
</div>
<button class="button is-small" id="is-event-calculator-button" type="button">
<span class="icon"><i class="fas fa-calculator" aria-hidden="true"></i></span>
<span>Event Calculator</span>
</button>
</div>
</div>
</div>
</div>
<div id="container--events">
<%
for (let eventIndex = 0; eventIndex < licence.events.length; eventIndex += 1) {
const eventObj = licence.events[eventIndex];
%>
<div class="panel-block is-block">
<div class="field has-addons">
<div class="control is-expanded has-icons-left">
<input class="input is-small input--eventDateString" type="date" value="<%= eventObj.eventDateString %>" min="<%= licence.startDateString %>" max="<%= licence.endDateString %>" required readonly />
<span class="icon is-left">
<i class="fas fa-calendar" aria-hidden="true"></i>
</span>
</div>
<div class="control">
<a class="button is-small" href="<%= urlPrefix %>/events/<%= licence.licenceID %>/<%= eventObj.eventDate %>">
<i class="fas fa-eye" aria-hidden="true"></i>
<span class="sr-only">View</span>
</a>
</div>
<% if (user.userProperties.canUpdate) { %>
<div class="control">
<a class="button is-small" href="<%= urlPrefix %>/events/<%= licence.licenceID %>/<%= eventObj.eventDate %>/edit">
<span class="icon"><i class="fas fa-pencil-alt" aria-hidden="true"></i></span>
<span>Edit</span>
</a>
</div>
<% } %>
</div>
</div>
<%
}
%>
</div>
<div class="panel-block is-hidden-print">
<button class="button is-small is-fullwidth is-add-event-button" data-source="licence--endDateString" type="button">
<span class="icon"><i class="fas fa-plus" aria-hidden="true"></i></span>
<span>Add an Event Date</span>
</button>
</div>
</div>
</div>
<div class="column is-half">
<%
const licenceTypes = configFunctions.getProperty("licenceTypes");
for (let licenceTypeIndex = 0; licenceTypeIndex < licenceTypes.length; licenceTypeIndex += 1) {
const licenceTypeOption = licenceTypes[licenceTypeIndex];
if (!isCreate && licence.licenceTypeKey !== licenceTypeOption.licenceTypeKey) {
continue;
}
%>
<fieldset class="container-licenceTypeFields <%= (licence.licenceTypeKey === licenceTypeOption.licenceTypeKey ? "" : " is-hidden") %>" id="container-licenceTypeFields--<%= licenceTypeOption.licenceTypeKey %>" <%= (licence.licenceTypeKey === licenceTypeOption.licenceTypeKey ? "" : " disabled") %>>
<div class="panel">
<legend class="panel-heading">
<h2 class="has-text-weight-bold">Additional <%= licenceTypeOption.licenceType %> Fields</h2>
</legend>
<%
const licenceFields = licenceTypeOption.licenceFields || [];
let fieldKeys = "";
for (let fieldIndex = 0; fieldIndex < licenceFields.length; fieldIndex += 1) {
const licenceField = licenceFields[fieldIndex];
const inputName = licenceTypeOption.licenceTypeKey + "-" + licenceField.fieldKey;
let fieldValue = "";
if (!isCreate) {
for (let savedFieldIndex = 0; savedFieldIndex < licence.licenceFields.length; savedFieldIndex += 1) {
if (licence.licenceFields[savedFieldIndex].fieldKey === inputName) {
licence.licenceFields[savedFieldIndex].isDisplayed = true;
fieldValue = licence.licenceFields[savedFieldIndex].fieldValue;
break;
}
}
}
if (!licenceField.isActive && fieldValue === "") {
continue;
}
fieldKeys += "," + inputName;
const inputAttributes = licenceField.inputAttributes || {};
if (!inputAttributes.type) {
inputAttributes.type = "text";
} else if (inputAttributes.type === "number") {
inputAttributes.onwheel = "return false";
}
let inputAttributesString = "";
for (let attributeName in inputAttributes) {
inputAttributesString += " " + attributeName + "=\"" + inputAttributes[attributeName] + "\"";
}
%>
<div class="panel-block is-block">
<div class="field">
<label class="label" for="licence--<%= inputName %>"><%= licenceField.fieldLabel || licenceField.fieldKey %></label>
<div class="control">
<input class="input" id="licence--<%= inputName %>" name="<%= inputName %>" value="<%= fieldValue %>" <%- inputAttributesString %> />
</div>
</div>
</div>
<%
}
if (!isCreate) {
for (let savedFieldIndex = 0; savedFieldIndex < licence.licenceFields.length; savedFieldIndex += 1) {
const savedField = licence.licenceFields[savedFieldIndex];
if (!savedField.isDisplayed) {
fieldKeys += "," + savedField.fieldKey;
%>
<div class="panel-block is-block">
<div class="field">
<label class="label" for="licence--<%= savedField.fieldKey %>-<%= licenceTypeOption.licenceTypeKey %>"><%= savedField.fieldKey %></label>
<div class="control">
<input class="input" id="licence--<%= savedField.fieldKey %>-<%= licenceTypeOption.licenceTypeKey %>" name="<%= savedField.fieldKey %>" type="text" value="<%= savedField.fieldValue %>" />
</div>
</div>
</div>
<%
}
}
}
%>
</div>
<input name="fieldKeys" type="hidden" value="<%= fieldKeys %>" />
</fieldset>
<%
}
%>
</div>
</div>
<%
if (isCreate || !ticketTypesIsHidden) {
%>
<div class="panel <%= (ticketTypesIsHidden ? " is-hidden" : "") %>" id="is-ticket-types-panel">
<div class="panel-heading">
<div class="level">
<div class="level-left">
<h2 class="has-text-weight-bold">Ticket Types</h2>
</div>
<div class="level-right is-hidden-print">
<div class="buttons justify-flex-end">
<button class="button is-small" id="is-add-ticket-type-button" type="button" aria-haspopup="true">
<span class="icon">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>Add</span>
</button>
<a class="button is-small" data-tooltip="Export Ticket Types" href="<%= urlPrefix %>/reports/ticketTypes-byLicence?licenceID=<%= licence.licenceID %>" download>
<i class="fas fa-file-download" aria-hidden="true"></i>
<span class="sr-only">Export Ticket Types</span>
</a>
</div>
</div>
</div>
</div>
<div class="panel-tabs">
<a class="is-active" href="#ticketTypesTabPanel--summary" aria-controls="ticketTypesTabPanel--summary">Summary</a>
<a href="#ticketTypesTabPanel--log" aria-controls="ticketTypesTabPanel--log">Log</a>
</div>
<table class="table is-fullwidth" id="ticketTypesTabPanel--summary">
<thead>
<tr>
<th>Type</th>
<th class="has-text-right">Total Units</th>
<th class="has-text-right">Total Value</th>
<th class="has-text-right">Total Prizes</th>
<th class="has-text-right">Total Licence Fee</th>
</tr>
</thead>
<tbody></tbody>
<tfoot></tfoot>
</table>
<table class="table is-fullwidth is-hidden" id="ticketTypesTabPanel--log">
<thead>
<th>Amend Date</th>
<th>Type</th>
<th class="has-text-right">Units</th>
<th class="has-text-right">Value</th>
<th class="has-text-right">Prizes</th>
<th class="has-text-right">Licence Fee</th>
<th>Manufacturer / Distributor</th>
<th class="is-hidden-print"></th>
</thead>
<tbody>
<%
const currentDate = dateTimeFns.dateToInteger(new Date());
for (const licenceTicketTypeObj of licence.licenceTicketTypes) {
%>
<%
const ticketType = (licenceType && licenceType.ticketTypes
? licenceType.ticketTypes.find(ele => ele.ticketType === licenceTicketTypeObj.ticketType)
: null);
const ticketValue = (ticketType ? (ticketType.ticketPrice * ticketType.ticketCount) : 0);
const totalValue = (ticketValue * licenceTicketTypeObj.unitCount).toFixed(2);
const prizesPerDeal = (ticketType ? ticketType.prizesPerDeal : 0);
const totalPrizesPerDeal = (prizesPerDeal * licenceTicketTypeObj.unitCount).toFixed(2);
%>
<tr data-ticket-type-index="<%= licenceTicketTypeObj.ticketTypeIndex %>"
data-ticket-type="<%= licenceTicketTypeObj.ticketType %>"
data-unit-count="<%= licenceTicketTypeObj.unitCount %>"
data-total-value="<%= totalValue %>"
data-total-prizes="<%= totalPrizesPerDeal %>"
data-licence-fee="<%= licenceTicketTypeObj.licenceFee %>"
data-manufacturer-id="<%= licenceTicketTypeObj.manufacturerLocationID %>"
data-distributor-id="<%= licenceTicketTypeObj.distributorLocationID %>">
<td>
<span><%= licenceTicketTypeObj.amendmentDateString %></span>
</td>
<td>
<span><%= licenceTicketTypeObj.ticketType %></span>
</td>
<td class="has-text-right">
<span><%= licenceTicketTypeObj.unitCount %></span>
</td>
<td class="has-text-right is-nowrap">
<span data-tooltip="$<%= ticketValue.toFixed(2) %> value per deal">$<%= totalValue %></span>
</td>
<td class="has-text-right is-nowrap">
<span data-tooltip="$<%= prizesPerDeal.toFixed(2) %> prizes per deal">$<%= totalPrizesPerDeal %></span>
</td>
<td class="has-text-right is-nowrap">
<span><%= "$" + licenceTicketTypeObj.licenceFee.toFixed(2) %></span>
</td>
<td class="is-size-7">
<% if (licenceTicketTypeObj.manufacturerLocationID) { %>
<%= licenceTicketTypeObj.manufacturerLocationDisplayName %>
<% } else { %>
<span class="has-text-grey">(No Manufacturer Set)</span>
<% } %><br />
<% if (licenceTicketTypeObj.distributorLocationID) { %>
<%= licenceTicketTypeObj.distributorLocationDisplayName %>
<% } else { %>
<span class="has-text-grey">(No Distributor Set)</span>
<% } %>
</td>
<td class="is-hidden-print">
<div class="field has-addons">
<div class="control">
<button class="button is-small has-tooltip-left is-edit-ticket-type-button" data-tooltip="Edit Ticket Type" type="button">
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
<span class="sr-only">Edit</span>
</button>
</div>
<div class="control">
<button class="button is-small is-danger has-tooltip-left is-delete-ticket-type-button" data-tooltip="Delete Ticket Type" type="button">
<i class="fas fa-trash" aria-hidden="true"></i>
<span class="sr-only">Delete</span>
</button>
</div>
</div>
</td>
</tr>
<% } %>
</tbody>
<tfoot></tfoot>
</table>
</div>
<%
}
%>
<% if (isCreate) { %>
<div class="message is-info">
<div class="message-body">
Once created, an ID will be generated for the licence that can be associated with any necessary payments.
</div>
</div>
<% } %>
<%
if (!isCreate) {
const hasLicenceFeeDiscrepancy = (licence.licenceFee !== parseFloat(feeCalculation.fee));
%>
<div class="columns">
<div class="column is-one-quarter">
<div class="panel">
<div class="panel-heading">
<h2 class="has-text-weight-bold">Licence Fee</h2>
</div>
<div class="panel-block is-block">
<div class="field">
<label class="label" for="licence--licenceFee">Licence Fee</label>
<div class="control has-icons-left">
<input class="input has-text-right is-readonly <%= (hasLicenceFeeDiscrepancy ? " is-danger" : "")%>" id="licence--licenceFee" name="licenceFee" type="text" value="<%= (licence.licenceFee || 0).toFixed(2) %>" />
<span class="icon is-small is-left">
<i class="fas fa-dollar-sign" aria-hidden="true"></i>
</span>
</div>
<% if (hasLicenceFeeDiscrepancy) { %>
<p class="help is-danger">
The licence fee recorded on this licence record
does not match the current licence fee calculation.
</p>
<% } else { %>
<p class="help has-text-right"><%= feeCalculation.message %></p>
<% } %>
</div>
</div>
<% if (hasLicenceFeeDiscrepancy) { %>
<div class="panel-block is-block">
<div class="columns">
<div class="column">
<strong>Licence Fee Expected</strong>
</div>
<div class="column is-narrow">
<strong>$ <%= feeCalculation.fee %></strong>
</div>
</div>
<p class="has-text-right is-size-7"><%= feeCalculation.message %></p>
<button class="button is-small is-fullwidth mt-3 is-primary is-hidden-print" id="is-update-expected-licence-fee-button" data-licence-fee-expected="<%= feeCalculation.fee %>" type="button">
Update Licence Fee
</button>
</div>
<% } %>
</div>
</div>
<div class="column">
<div class="panel">
<div class="panel-heading">
<div class="level">
<div class="level-left">
<h2 class="has-text-weight-bold">Transactions</h2>
</div>
<div class="level-right has-text-weight-normal has-text-right is-hidden-print">
<div class="buttons">
<button class="button is-small" id="is-add-transaction-button" type="button">
<span class="icon is-small">
<i class="fas fa-plus" aria-hidden="true"></i>
</span>
<span>Add a Transaction</span>
</button>
<a class="button is-small" data-tooltip="Export Transactions" href="<%= urlPrefix %>/reports/transactions-byLicence?licenceID=<%= licence.licenceID %>" download>
<i class="fas fa-file-download" aria-hidden="true"></i>
<span class="sr-only">Export Transactions</span>
</a>
</div>
</div>
</div>
</div>
<div class="panel-block is-block is-hidden" id="is-disabled-transaction-message">
<div class="message is-warning">
<p class="message-body">
<strong>Changes have been made to the licence which may affect the licence fee.</strong><br />
Please save the licence changes to re-enable transaction changes.
</p>
</div>
</div>
<% if (licence.licenceTransactions.length === 0) { %>
<div class="panel-block is-block">
<div class="message is-warning">
<p class="message-body">
No transactions have been recorded for this licence.
</p>
</div>
</div>
<% } else { %>
<table class="table is-fullwidth">
<thead>
<tr>
<th>Date</th>
<th><span class="sr-only">Transaction Type</span></th>
<th class="has-text-right">Amount</th>
<th><span class="sr-only">Options</span></th>
<th><%= configFunctions.getProperty("licences.externalReceiptNumber.fieldLabel") %></th>
<th>Note</th>
</tr>
</thead>
<tbody>
<%
let transactionTotal = 0;
for (let index = 0; index < licence.licenceTransactions.length; index += 1) {
const transactionObj = licence.licenceTransactions[index];
transactionTotal += transactionObj.transactionAmount;
%>
<tr>
<td><%= transactionObj.transactionDateString %></td>
<td class="has-text-right">
<% if (transactionObj.transactionAmount < 0) { %>
<span class="tag is-warning">Refund</span>
<% } %>
</td>
<td class="has-text-right">
$<%= transactionObj.transactionAmount.toFixed(2) %>
</td>
<td>
<% if (index === licence.licenceTransactions.length - 1) { %>
<button class="button is-small is-danger" id="is-void-transaction-button" data-transaction-index="<%= transactionObj.transactionIndex %>" data-transaction-amount="<%= transactionObj.transactionAmount %>" data-tooltip="Void Transaction" type="button">
<i class="fas fa-trash" aria-hidden="true"></i>
<span class="sr-only">Void Transaction</span>
</button>
<% } %>
</td>
<td><%= transactionObj.externalReceiptNumber %></td>
<td class="has-newline-chars"><%= transactionObj.transactionNote %></td>
</tr>
<%
}
%>
</tbody>
<tfoot>
<tr>
<td></td>
<td></td>
<td class="has-text-right has-text-weight-bold">
$<span id="licence--transactionTotal"><%= transactionTotal.toFixed(2) %></span>
<% if (licence.licenceFee.toFixed(2) !== transactionTotal.toFixed(2)) { %>
<br />
<span class="is-size-7 has-text-danger">
$<%= (licence.licenceFee - transactionTotal).toFixed(2) %> discrepancy
</span>
<% } %>
</td>
<td></td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>
<% } %>
</div>
</div>
</div>
<%
}
%>
<div class="fixed-container is-fixed-bottom px-3 py-3 has-background-grey-light is-hidden-print">
<div class="level">
<div class="level-left">
<div class="tags">
<% if (!isCreate && !licence.issueDate) { %>
<span class="tag is-medium is-warning is-light" id="is-not-issued-tag">Licence Not Issued</span>
<% } %>
<span id="container--form-message"></span>
</div>
</div>
<div class="level-right">
<div class="buttons justify-flex-end">
<button class="button is-success" type="submit">
<span class="icon">
<i class="fas fa-save" aria-hidden="true"></i>
</span>
<span><%= (isCreate ? "Create New Licence and Continue" : "Update Licence") %></span>
</button>
<% if (isCreate) { %>
<a class="button" href="<%= urlPrefix %>/licences">
Cancel
</a>
<% } else { %>
<div class="dropdown is-right is-up">
<div class="dropdown-trigger">
<button class="button" type="button" aria-haspopup="true">
<span>Options</span>
<span class="icon">
<i class="fas fa-angle-up" aria-hidden="true"></i>
</span>
</button>
</div>
<div class="dropdown-menu" role="menu">
<div class="dropdown-content">
<a class="dropdown-item" id="is-delete-licence-button" href="#">
<span class="icon"><i class="fas fa-trash has-text-danger" aria-hidden="true"></i></span>
<span>Delete Licence</span>
</a>
<% if (licence.issueDate) { %>
<a class="dropdown-item" id="is-unissue-licence-button" href="#">
<span class="icon"><i class="fas fa-ban has-text-danger" aria-hidden="true"></i></span>
<span>Unissue Licence</span>
</a>
<% } %>
</div>
</div>
</div>
<% } %>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="modal" id="is-termsConditions-lookup-modal">
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<h3 class="modal-card-title">Select Previously Used Terms and Conditions</h3>
<button class="delete is-close-modal-button" aria-label="close" type="button"></button>
</header>
<section class="modal-card-body">
<div id="container--termsConditionsPrevious"></div>
</section>
<footer class="modal-card-foot justify-right">
<button class="button is-close-modal-button" type="button">Cancel</button>
</footer>
</div>
</div>
<div class="modal" id="is-event-calculator-modal">
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<h3 class="modal-card-title">Calculate Events</h3>
<button class="delete is-close-modal-button" aria-label="close" type="button"></button>
</header>
<section class="modal-card-body">
<div class="columns">
<div class="column">
<div class="field">
<label class="label" for="eventCalc--eventCount">Number of Events</label>
<div class="control">
<input class="input has-text-right" id="eventCalc--eventCount" type="number" min="1" max="366" step="1" value="1" required onwheel="return false" />
</div>
</div>
</div>
<div class="column">
<div class="field">
<label class="label" for="eventCalc--dayInterval">Interval</label>
<div class="control">
<input class="input has-text-right" id="eventCalc--dayInterval" type="number" min="1" max="90" step="1" value="7" required onwheel="return false" />
</div>
</div>
</div>
</div>
</section>
<footer class="modal-card-foot justify-right">
<button class="button is-close-modal-button" type="button">Cancel</button>
<button class="button is-success is-calculate-events-button" type="button">Calculate and Add</button>
</footer>
</div>
</div>
<%- include('_footerA'); -%>
<script src="<%= urlPrefix %>/javascripts/licence-edit.min.js"></script>
<script src="<%= urlPrefix %>/javascripts/licence-viewEdit.min.js"></script>
<%- include('_footerB'); -%>