mirror of https://github.com/itflow-org/itflow
Update UI on Quote, Recurring Invoice and Guest views to match new optimized Invoice UI Layout
This commit is contained in:
parent
27595b2c4a
commit
409084c499
|
|
@ -178,87 +178,71 @@ if ($balance > 0) {
|
|||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row mb-4">
|
||||
<div class="col-2">
|
||||
<img class="img-fluid" src="<?php echo "../uploads/settings/$company_logo"; ?>">
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-2">
|
||||
<img class="img-fluid" src="<?php echo "../uploads/settings/$company_logo"; ?>" alt="Company logo">
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<?php if ($invoice_status == "Paid") { ?>
|
||||
<div class="ribbon-wrapper">
|
||||
<div class="ribbon bg-success">
|
||||
<?php echo $invoice_status; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php if ($invoice_status == "Cancelled") { ?>
|
||||
<div class="ribbon-wrapper">
|
||||
<div class="ribbon bg-danger">
|
||||
<?php echo $invoice_status; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<h3 class="text-right mt-5"><strong>Invoice</strong><br><small class="text-secondary"><?php echo "$invoice_prefix$invoice_number"; ?></small></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<div class="col-sm-6">
|
||||
<ul class="list-unstyled">
|
||||
<li><h4><strong><?php echo $company_name; ?></strong></h4></li>
|
||||
<li><?php echo $company_address; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip"; ?></li>
|
||||
<li><small><?php echo $company_country; ?></small></li>
|
||||
<li><?php echo $company_phone; ?></li>
|
||||
<li><?php echo $company_email; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip, $company_country"; ?></li>
|
||||
<li><?php echo "$company_email | $company_phone"; ?></li>
|
||||
<li><?php echo $company_website; ?></li>
|
||||
<?php if ($company_tax_id_display) { ?>
|
||||
<li><?php echo $company_tax_id_display; ?></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div class="col">
|
||||
|
||||
<ul class="list-unstyled text-right">
|
||||
<li><h4><strong><?php echo $client_name; ?></strong></h4></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip"; ?></li>
|
||||
<li><small><?php echo $location_country; ?></small></li>
|
||||
<li><?php echo "$contact_phone $contact_extension"; ?></li>
|
||||
<li><?php echo $contact_mobile; ?></li>
|
||||
<li><?php echo $contact_email; ?></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-sm-8">
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<table class="table">
|
||||
<h3 class="text-right"><strong>INVOICE</strong></h3>
|
||||
<h5 class="badge badge-<?php echo $invoice_badge_color; ?> p-2 float-right">
|
||||
<?php echo "$invoice_status"; ?>
|
||||
</h5>
|
||||
<table class="table table-sm table-borderless">
|
||||
<tr>
|
||||
<td>Date</td>
|
||||
<th>Invoice #:</th>
|
||||
<td class="text-right"><?php echo "$invoice_prefix$invoice_number"; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Date:</th>
|
||||
<td class="text-right"><?php echo $invoice_date; ?></td>
|
||||
</tr>
|
||||
<tr class="text-bold">
|
||||
<td>Due</td>
|
||||
<tr>
|
||||
<th>Due:</th>
|
||||
<td class="text-right"><?php echo $invoice_due; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mb-3 bg-light p-3">
|
||||
<div class="col">
|
||||
<h6><strong>Bill To:</strong></h6>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><?php echo $client_name; ?></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip, $location_country"; ?></li>
|
||||
<li><?php echo "$contact_email | $contact_phone $contact_extension"; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<table class="table table-borderless">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th>Product</th>
|
||||
<th>Item</th>
|
||||
<th>Description</th>
|
||||
<th class="text-center">Qty</th>
|
||||
<th class="text-right">Price</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th class="text-right">Tax</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -298,7 +282,7 @@ if ($balance > 0) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-7">
|
||||
<?php if (!empty($invoice_note)) { ?>
|
||||
<div class="card">
|
||||
|
|
@ -311,41 +295,41 @@ if ($balance > 0) {
|
|||
<div class="col-sm-3 offset-sm-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr class="border-bottom">
|
||||
<td>Subtotal</td>
|
||||
<tr>
|
||||
<td>Subtotal:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $sub_total, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
if ($invoice_discount > 0) {
|
||||
?>
|
||||
<tr class="border-bottom">
|
||||
<td>Discount</td>
|
||||
<tr>
|
||||
<td>Discount:</td>
|
||||
<td class="text-right">-<?php echo numfmt_format_currency($currency_format, $invoice_discount, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<?php if ($total_tax > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Tax</td>
|
||||
<tr>
|
||||
<td>Tax:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $total_tax, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Total</td>
|
||||
<tr>
|
||||
<td>Total:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $invoice_amount, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php if ($amount_paid > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td><div class="text-success">Paid</div></td>
|
||||
<tr>
|
||||
<td><div class="text-success">Paid:</div></td>
|
||||
<td class="text-right text-success"><?php echo numfmt_format_currency($currency_format, $amount_paid, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<tr class="border-bottom">
|
||||
<td><strong>Balance</strong></td>
|
||||
<td class="text-right"><strong><?php echo numfmt_format_currency($currency_format, $balance, $invoice_currency_code); ?></strong></td>
|
||||
<tr class="border-top h5 text-bold">
|
||||
<td>Balance:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $balance, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
|
@ -355,7 +339,7 @@ if ($balance > 0) {
|
|||
|
||||
<hr class="mt-5">
|
||||
|
||||
<div class="text-center"><?php echo nl2br($config_invoice_footer); ?></div>
|
||||
<div class="text-center text-secondary"><?php echo nl2br($config_invoice_footer); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,21 @@ $config_quote_footer = nullable_htmlentities($row['config_quote_footer']);
|
|||
//Set Currency Format
|
||||
$currency_format = numfmt_create($company_locale, NumberFormatter::CURRENCY);
|
||||
|
||||
//Set Badge color based off of quote status
|
||||
if ($quote_status == "Sent") {
|
||||
$quote_badge_color = "warning text-white";
|
||||
} elseif ($quote_status == "Viewed") {
|
||||
$quote_badge_color = "primary";
|
||||
} elseif ($quote_status == "Accepted") {
|
||||
$quote_badge_color = "success";
|
||||
} elseif ($quote_status == "Declined") {
|
||||
$quote_badge_color = "danger";
|
||||
} elseif ($quote_status == "Invoiced") {
|
||||
$quote_badge_color = "info";
|
||||
} else {
|
||||
$quote_badge_color = "secondary";
|
||||
}
|
||||
|
||||
//Update status to Viewed only if invoice_status = "Sent"
|
||||
if ($quote_status == 'Sent') {
|
||||
mysqli_query($mysqli, "UPDATE quotes SET quote_status = 'Viewed' WHERE quote_id = $quote_id");
|
||||
|
|
@ -115,82 +130,69 @@ if ($quote_status == "Draft" || $quote_status == "Sent" || $quote_status == "Vie
|
|||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-2">
|
||||
<img class="img-fluid" src="<?php echo "../uploads/settings/$company_logo"; ?>">
|
||||
<img class="img-fluid" src="<?php echo "../uploads/settings/$company_logo"; ?>" alt="Company logo">
|
||||
</div>
|
||||
<div class="col-sm-10">
|
||||
<?php if ($quote_status == "Accepted" || $quote_status == "Declined") { ?>
|
||||
<div class="ribbon-wrapper">
|
||||
<div class="ribbon bg-success <?php if ($quote_status == 'Declined') { echo 'bg-danger'; } ?>">
|
||||
<?php echo $quote_status; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<h3 class="text-right mt-5"><strong>Quote</strong><br><small class="text-secondary"><?php echo "$quote_prefix$quote_number"; ?></small></h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
|
||||
<div class="col-sm">
|
||||
<div class="col-sm-6">
|
||||
<ul class="list-unstyled">
|
||||
<li><h4><strong><?php echo $company_name; ?></strong></h4></li>
|
||||
<li><?php echo $company_address; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip"; ?></li>
|
||||
<li><small><?php echo $company_country; ?></small></li>
|
||||
<li><?php echo $company_phone; ?></li>
|
||||
<li><?php echo $company_email; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip, $company_country"; ?></li>
|
||||
<li><?php echo "$company_email | $company_phone"; ?></li>
|
||||
<li><?php echo $company_website; ?></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-sm">
|
||||
|
||||
<ul class="list-unstyled text-right">
|
||||
<li><h4><strong><?php echo $client_name; ?></strong></h4></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip"; ?></li>
|
||||
<li><small><?php echo $location_country; ?></small></li>
|
||||
<li><?php echo "$contact_phone $contact_extension"; ?></li>
|
||||
<li><?php echo $contact_mobile; ?></li>
|
||||
<li><?php echo $contact_email; ?></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-sm-8">
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<table class="table">
|
||||
<h3 class="text-right"><strong>QUOTE</strong></h3>
|
||||
<h5 class="badge badge-<?php echo $quote_badge_color; ?> p-2 float-right">
|
||||
<?php echo "$quote_status"; ?>
|
||||
</h5>
|
||||
<table class="table table-sm table-borderless">
|
||||
<tr>
|
||||
<td>Date</td>
|
||||
<th>Quote #:</th>
|
||||
<td class="text-right"><?php echo "$quote_prefix$quote_number"; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Date:</th>
|
||||
<td class="text-right"><?php echo $quote_date; ?></td>
|
||||
</tr>
|
||||
<tr class="text-bold">
|
||||
<td>Expire</td>
|
||||
<tr>
|
||||
<th>Expires:</th>
|
||||
<td class="text-right"><?php echo $quote_expire; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mb-3 bg-light p-3">
|
||||
<div class="col">
|
||||
<h6><strong>To:</strong></h6>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><?php echo $client_name; ?></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip, $location_country"; ?></li>
|
||||
<li><?php echo "$contact_email | $contact_phone $contact_extension"; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); ?>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<table class="table table-borderless">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th>Product</th>
|
||||
<th>Item</th>
|
||||
<th>Description</th>
|
||||
<th class="text-center">Qty</th>
|
||||
<th class="text-right">Price</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th class="text-right">Tax</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -233,7 +235,7 @@ if ($quote_status == "Draft" || $quote_status == "Sent" || $quote_status == "Vie
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-7">
|
||||
<?php if (!empty($quote_note)) { ?>
|
||||
<div class="card">
|
||||
|
|
@ -247,24 +249,24 @@ if ($quote_status == "Draft" || $quote_status == "Sent" || $quote_status == "Vie
|
|||
<div class="col-sm-3 offset-sm-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr class="border-bottom">
|
||||
<td>Subtotal</td>
|
||||
<tr>
|
||||
<td>Subtotal:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $sub_total, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php if ($quote_discount > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Discount</td>
|
||||
<tr>
|
||||
<td>Discount:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, -$quote_discount, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if ($total_tax > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Tax</td>
|
||||
<tr>
|
||||
<td>Tax:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $total_tax, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="border-bottom">
|
||||
<td><strong>Total</strong></td>
|
||||
<tr class="border-top h5 text-bold">
|
||||
<td><strong>Total:</strong></td>
|
||||
<td class="text-right"><strong><?php echo numfmt_format_currency($currency_format, $quote_amount, $quote_currency_code); ?></strong></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
|||
16
invoice.php
16
invoice.php
|
|
@ -449,7 +449,7 @@ if (isset($_GET['invoice_id'])) {
|
|||
<textarea class="form-control" rows="2" id="desc" name="description" placeholder="Enter a Description"></textarea>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" inputmode="numeric" pattern="[0-9]*\.?[0-9]{0,2}" class="form-control" style="text-align: center;" id="qty" name="qty" placeholder="Quantity">
|
||||
<input type="text" inputmode="numeric" pattern="[0-9]*\.?[0-9]{0,2}" class="form-control" style="text-align: center;" id="qty" name="qty" placeholder="Qty">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="form-control" inputmode="numeric" pattern="-?[0-9]*\.?[0-9]{0,2}" style="text-align: right;" id="price" name="price" placeholder="Price (<?php echo $invoice_currency_code; ?>)">
|
||||
|
|
@ -535,9 +535,9 @@ if (isset($_GET['invoice_id'])) {
|
|||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<tr class="h5 border-top">
|
||||
<td><strong>Balance:</strong></td>
|
||||
<td class="text-right"><strong><?php echo numfmt_format_currency($currency_format, $balance, $invoice_currency_code); ?></strong></td>
|
||||
<tr class="h5 text-bold border-top">
|
||||
<td>Balance:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $balance, $invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -593,7 +593,7 @@ if (isset($_GET['invoice_id'])) {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm d-print-none">
|
||||
<div class="col-sm d-print-none <?php if (mysqli_num_rows($sql_payments) == 0) { echo "d-none"; } ?>">
|
||||
<div class="card">
|
||||
<div class="card-header text-bold">
|
||||
<i class="fa fa-credit-card mr-2"></i>Payments
|
||||
|
|
@ -609,7 +609,7 @@ if (isset($_GET['invoice_id'])) {
|
|||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<thead class="<?php if (mysqli_num_rows($sql_payments) == 0) { echo "d-none"; } ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th class="text-right">Amount</th>
|
||||
|
|
@ -646,7 +646,7 @@ if (isset($_GET['invoice_id'])) {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm d-print-none">
|
||||
<div class="col-sm d-print-none <?php if (mysqli_num_rows($sql_tickets) == 0) { echo "d-none"; } ?>">
|
||||
<div class="card">
|
||||
<div class="card-header text-bold">
|
||||
<i class="fa fa-life-ring mr-2"></i>Tickets
|
||||
|
|
@ -675,7 +675,7 @@ if (isset($_GET['invoice_id'])) {
|
|||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<thead class="<?php if (mysqli_num_rows($sql_tickets) == 0) { echo "d-none"; } ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Subject</th>
|
||||
|
|
|
|||
122
quote.php
122
quote.php
|
|
@ -247,79 +247,70 @@ if (isset($_GET['quote_id'])) {
|
|||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col-2">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-2">
|
||||
<img class="img-fluid" src="<?php echo "uploads/settings/$company_logo"; ?>" alt="Company logo">
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<div class="ribbon-wrapper">
|
||||
<div class="ribbon bg-<?php echo $quote_badge_color; ?>">
|
||||
<?php echo $quote_status; ?>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="text-right mt-5"><strong>Quote</strong><br><small class="text-secondary"><?php echo "$quote_prefix$quote_number"; ?></small></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<div class="col-sm-6">
|
||||
<ul class="list-unstyled">
|
||||
<li>
|
||||
<h4><strong><?php echo $company_name; ?></strong></h4>
|
||||
</li>
|
||||
<li><h4><strong><?php echo $company_name; ?></strong></h4></li>
|
||||
<li><?php echo $company_address; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip"; ?></li>
|
||||
<li><small><?php echo $company_country; ?></small></li>
|
||||
<li><?php echo $company_phone; ?></li>
|
||||
<li><?php echo $company_email; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip, $company_country"; ?></li>
|
||||
<li><?php echo "$company_email | $company_phone"; ?></li>
|
||||
<li><?php echo $company_website; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled text-right">
|
||||
<li>
|
||||
<h4><strong><?php echo $client_name; ?></strong></h4>
|
||||
</li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip"; ?></li>
|
||||
<li><small><?php echo $location_country; ?></small></li>
|
||||
<li><?php echo "$contact_phone $contact_extension"; ?></li>
|
||||
<li><?php echo $contact_mobile; ?></li>
|
||||
<li><?php echo $contact_email; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-sm-8">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<table class="table">
|
||||
<h3 class="text-right"><strong>QUOTE</strong></h3>
|
||||
<h5 class="badge badge-<?php echo $quote_badge_color; ?> p-2 float-right">
|
||||
<?php echo "$quote_status"; ?>
|
||||
</h5>
|
||||
<table class="table table-sm table-borderless">
|
||||
<tr>
|
||||
<td>Date</td>
|
||||
<th>Quote #:</th>
|
||||
<td class="text-right"><?php echo "$quote_prefix$quote_number"; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Date:</th>
|
||||
<td class="text-right"><?php echo $quote_date; ?></td>
|
||||
</tr>
|
||||
<tr class="text-bold">
|
||||
<td>Expire</td>
|
||||
<tr>
|
||||
<th>Expires:</th>
|
||||
<td class="text-right"><?php echo $quote_expire; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mb-3 bg-light p-3">
|
||||
<div class="col">
|
||||
<h6><strong>To:</strong></h6>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><?php echo $client_name; ?></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip, $location_country"; ?></li>
|
||||
<li><?php echo "$contact_email | $contact_phone $contact_extension"; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); ?>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table" id="items">
|
||||
<thead>
|
||||
<table class="table table-borderless" id="items">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th class="d-print-none"></th>
|
||||
<th>Item</th>
|
||||
<th>Description</th>
|
||||
<th class="text-center">Quantity</th>
|
||||
<th class="text-right">Price</th>
|
||||
<th class="text-center">Qty</th>
|
||||
<th class="text-right">Unit Price</th>
|
||||
<th class="text-right">Tax</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -391,12 +382,12 @@ if (isset($_GET['quote_id'])) {
|
|||
<form action="post.php" method="post" autocomplete="off">
|
||||
<input type="hidden" name="quote_id" value="<?php echo $quote_id; ?>">
|
||||
<input type="hidden" name="item_order" value="<?php
|
||||
//find largest order number and add 1
|
||||
$sql = mysqli_query($mysqli, "SELECT MAX(item_order) AS item_order FROM invoice_items WHERE item_quote_id = $quote_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$item_order = intval($row['item_order']) + 1;
|
||||
echo $item_order;
|
||||
?>">
|
||||
//find largest order number and add 1
|
||||
$sql = mysqli_query($mysqli, "SELECT MAX(item_order) AS item_order FROM invoice_items WHERE item_quote_id = $quote_id");
|
||||
$row = mysqli_fetch_array($sql);
|
||||
$item_order = intval($row['item_order']) + 1;
|
||||
echo $item_order;
|
||||
?>">
|
||||
<td></td>
|
||||
<td>
|
||||
<input type="text" class="form-control" name="name" id="name" placeholder="Item" required>
|
||||
|
|
@ -405,7 +396,7 @@ if (isset($_GET['quote_id'])) {
|
|||
<textarea class="form-control" rows="2" name="description" id="desc" placeholder="Enter a Description"></textarea>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="form-control" inputmode="numeric" pattern="-?[0-9]*\.?[0-9]{0,2}" id="qty" style="text-align: center;" name="qty" placeholder="Quantity">
|
||||
<input type="text" class="form-control" inputmode="numeric" pattern="-?[0-9]*\.?[0-9]{0,2}" id="qty" style="text-align: center;" name="qty" placeholder="Qty">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="form-control" inputmode="numeric" pattern="-?[0-9]*\.?[0-9]{0,2}" id="price" style="text-align: right;" name="price" placeholder="Price (<?php echo $quote_currency_code; ?>)">
|
||||
|
|
@ -442,11 +433,11 @@ if (isset($_GET['quote_id'])) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-7">
|
||||
<div class="card">
|
||||
<div class="card-header text-bold">
|
||||
Notes
|
||||
Notes:
|
||||
<div class="card-tools d-print-none">
|
||||
<?php if (lookupUserPermission("module_sales") >= 2) { ?>
|
||||
<a href="#" class="btn btn-light btn-tool" data-toggle="modal" data-target="#quoteNoteModal">
|
||||
|
|
@ -464,25 +455,25 @@ if (isset($_GET['quote_id'])) {
|
|||
<div class="col-sm-3 offset-sm-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr class="border-bottom">
|
||||
<td>Subtotal</td>
|
||||
<tr>
|
||||
<td>Subtotal:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $sub_total, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php if ($quote_discount > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Discount</td>
|
||||
<tr>
|
||||
<td>Discount:</td>
|
||||
<td class="text-right">-<?php echo numfmt_format_currency($currency_format, $quote_discount, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if ($total_tax > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<td>Tax</td>
|
||||
<tr>
|
||||
<td>Tax:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $total_tax, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="border-bottom">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right"><strong><?php echo numfmt_format_currency($currency_format, $quote_amount, $quote_currency_code); ?></strong></td>
|
||||
<tr class="h5 text-bold border-top">
|
||||
<td>Total:</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $quote_amount, $quote_currency_code); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -598,7 +589,6 @@ if (isset($_GET['quote_id'])) {
|
|||
|
||||
require_once "includes/footer.php";
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<!-- JSON Autocomplete / type ahead -->
|
||||
|
|
|
|||
|
|
@ -188,81 +188,74 @@ if (isset($_GET['recurring_invoice_id'])) {
|
|||
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col-2">
|
||||
<img class="img-fluid" alt="Company logo" src="<?php echo "uploads/settings/$company_logo"; ?>">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-2">
|
||||
<img class="img-fluid" src="<?php echo "uploads/settings/$company_logo"; ?>" alt="Company logo">
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<div class="ribbon-wrapper">
|
||||
<div class="ribbon bg-<?php echo $status_badge_color; ?>">
|
||||
<?php echo $status; ?>
|
||||
</div>
|
||||
</div>
|
||||
<h3 class="text-right mt-5"><strong>Recurring Invoice</strong><br><small class="text-secondary"><?php echo ucwords($recurring_invoice_frequency); ?>ly</small></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<div class="col-sm-6">
|
||||
<ul class="list-unstyled">
|
||||
<li><h4><strong><?php echo $company_name; ?></strong></h4></li>
|
||||
<li><?php echo $company_address; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip"; ?></li>
|
||||
<li><small><?php echo $company_country; ?></small></li>
|
||||
<li><?php echo $company_phone; ?></li>
|
||||
<li><?php echo $company_email; ?></li>
|
||||
<li><?php echo "$company_city $company_state $company_zip, $company_country"; ?></li>
|
||||
<li><?php echo "$company_email | $company_phone"; ?></li>
|
||||
<li><?php echo $company_website; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled text-right">
|
||||
<li><h4><strong><?php echo $client_name; ?></strong></h4></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip"; ?></li>
|
||||
<li><small><?php echo $location_country; ?></small></li>
|
||||
<li><?php echo "$contact_phone $contact_extension"; ?></li>
|
||||
<li><?php echo $contact_mobile; ?></li>
|
||||
<li><?php echo $contact_email; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-4">
|
||||
<div class="col-sm-8">
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<table class="table">
|
||||
<h3 class="text-right"><strong>RECURRING INVOICE</strong></h3>
|
||||
<h5 class="badge badge-<?php echo $status_badge_color; ?> p-2 float-right">
|
||||
<?php echo $status; ?>
|
||||
</h5>
|
||||
<table class="table table-sm table-borderless">
|
||||
<tr>
|
||||
<td>Next Date</td>
|
||||
<td class="text-right text-bold"><?php echo $recurring_invoice_next_date; ?></td>
|
||||
<th>Frequency:</th>
|
||||
<th class="text-right"><?php echo ucwords($recurring_invoice_frequency); ?>ly</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Sent</td>
|
||||
<th>Next Date:</th>
|
||||
<td class="text-right"><?php echo $recurring_invoice_next_date; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Last Sent:</th>
|
||||
<td class="text-right"><?php echo $recurring_invoice_last_sent; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Created</td>
|
||||
<td class="text-right text-secondary"><?php echo $recurring_invoice_created_at; ?></td>
|
||||
<th>Created:</th>
|
||||
<td class="text-right"><?php echo $recurring_invoice_created_at; ?></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row mb-3 bg-light p-3">
|
||||
<div class="col">
|
||||
<h6><strong>Bill To:</strong></h6>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><?php echo $client_name; ?></li>
|
||||
<li><?php echo $location_address; ?></li>
|
||||
<li><?php echo "$location_city $location_state $location_zip, $location_country"; ?></li>
|
||||
<li><?php echo "$contact_email | $contact_phone $contact_extension"; ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id ORDER BY item_order ASC"); ?>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="table-responsive">
|
||||
<table class="table" id="items">
|
||||
<thead>
|
||||
<table class="table table-borderless" id="items">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th class="d-print-none"></th>
|
||||
<th>Item</th>
|
||||
<th>Description</th>
|
||||
<th class="text-center">Quantity</th>
|
||||
<th class="text-center">Qty</th>
|
||||
<th class="text-right">Price</th>
|
||||
<th class="text-right">Tax</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Amount</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -341,7 +334,7 @@ if (isset($_GET['recurring_invoice_id'])) {
|
|||
<textarea class="form-control" rows="2" id="desc" name="description" placeholder="Enter a Description"></textarea>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" inputmode="numeric" pattern="[0-9]*\.?[0-9]{0,2}" class="form-control" style="text-align: center;" id="qty" name="qty" placeholder="Quantity">
|
||||
<input type="text" inputmode="numeric" pattern="[0-9]*\.?[0-9]{0,2}" class="form-control" style="text-align: center;" id="qty" name="qty" placeholder="Qty">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" inputmode="numeric" pattern="[0-9]*\.?[0-9]{0,2}" class="form-control" style="text-align: right;" id="price" name="price" placeholder="Price (<?php echo $recurring_invoice_currency_code; ?>)">
|
||||
|
|
@ -378,7 +371,7 @@ if (isset($_GET['recurring_invoice_id'])) {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-7">
|
||||
<div class="card">
|
||||
<div class="card-header text-bold">
|
||||
|
|
@ -397,23 +390,23 @@ if (isset($_GET['recurring_invoice_id'])) {
|
|||
<div class="col-sm-3 offset-sm-2">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr class="border-bottom">
|
||||
<tr>
|
||||
<td>Subtotal</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $sub_total, $recurring_invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php if ($recurring_invoice_discount > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<tr>
|
||||
<td>Discount</td>
|
||||
<td class="text-right">-<?php echo numfmt_format_currency($currency_format, $recurring_invoice_discount, $recurring_invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if ($total_tax > 0) { ?>
|
||||
<tr class="border-bottom">
|
||||
<tr>
|
||||
<td>Tax</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $total_tax, $recurring_invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr class="border-bottom text-bold">
|
||||
<tr class="border-top h5 text-bold">
|
||||
<td>Total</td>
|
||||
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $recurring_invoice_amount, $recurring_invoice_currency_code); ?></td>
|
||||
</tr>
|
||||
|
|
|
|||
Loading…
Reference in New Issue