mirror of
https://github.com/itflow-org/itflow
synced 2026-03-23 05:55:38 +00:00
UI: Update Invoices Listing Top Header to include Drafts, Unpaid and Overdue instead of Drafts, Sent, Viewed and Partial
This commit is contained in:
58
invoices.php
58
invoices.php
@@ -24,7 +24,7 @@ $draft_count = $row['num'];
|
|||||||
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_status = 'Cancelled'"));
|
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_status = 'Cancelled'"));
|
||||||
$cancelled_count = $row['num'];
|
$cancelled_count = $row['num'];
|
||||||
|
|
||||||
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_due > CURDATE()"));
|
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('invoice_id') AS num FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Paid' AND invoice_due < CURDATE()"));
|
||||||
$overdue_count = $row['num'];
|
$overdue_count = $row['num'];
|
||||||
|
|
||||||
$sql_total_draft = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS total_draft FROM invoices WHERE invoice_status = 'Draft'");
|
$sql_total_draft = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS total_draft FROM invoices WHERE invoice_status = 'Draft'");
|
||||||
@@ -57,18 +57,19 @@ $row = mysqli_fetch_array($sql_total_overdue);
|
|||||||
$total_overdue = floatval($row['total_overdue']);
|
$total_overdue = floatval($row['total_overdue']);
|
||||||
|
|
||||||
$real_overdue_amount = $total_overdue - $total_overdue_partial;
|
$real_overdue_amount = $total_overdue - $total_overdue_partial;
|
||||||
|
$total_unpaid = $total_sent + $total_viewed + $total_partial;
|
||||||
|
$unpaid_count = $sent_count + $viewed_count + $partial_count;
|
||||||
|
|
||||||
//Invoice status from GET
|
//Invoice status from GET
|
||||||
if (isset($_GET['status']) && ($_GET['status']) == 'Draft') {
|
if (isset($_GET['status']) && ($_GET['status']) == 'Draft') {
|
||||||
$status_query = 'Draft';
|
$status_query = "invoice_status = 'Draft'";
|
||||||
} elseif (isset($_GET['status']) && ($_GET['status']) == 'Sent') {
|
} elseif (isset($_GET['status']) && ($_GET['status']) == 'Unpaid') {
|
||||||
$status_query = 'Sent';
|
$status_query = "invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial'";
|
||||||
} elseif (isset($_GET['status']) && ($_GET['status']) == 'Viewed') {
|
} elseif (isset($_GET['status']) && ($_GET['status']) == 'Overdue') {
|
||||||
$status_query = 'Viewed';
|
$status_query = "invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial'";
|
||||||
} elseif (isset($_GET['status']) && ($_GET['status']) == 'Partial') {
|
$overdue_query = "AND (invoice_due < CURDATE())";
|
||||||
$status_query = 'Partial';
|
|
||||||
} else {
|
} else {
|
||||||
$status_query = '%';
|
$status_query = "invoice_status LIKE '%'";
|
||||||
}
|
}
|
||||||
|
|
||||||
//Rebuild URL
|
//Rebuild URL
|
||||||
@@ -79,7 +80,8 @@ $sql = mysqli_query(
|
|||||||
"SELECT SQL_CALC_FOUND_ROWS * FROM invoices
|
"SELECT SQL_CALC_FOUND_ROWS * FROM invoices
|
||||||
LEFT JOIN clients ON invoice_client_id = client_id
|
LEFT JOIN clients ON invoice_client_id = client_id
|
||||||
LEFT JOIN categories ON invoice_category_id = category_id
|
LEFT JOIN categories ON invoice_category_id = category_id
|
||||||
WHERE (invoice_status LIKE '$status_query')
|
WHERE ($status_query)
|
||||||
|
$overdue_query
|
||||||
AND DATE(invoice_date) BETWEEN '$dtf' AND '$dtt'
|
AND DATE(invoice_date) BETWEEN '$dtf' AND '$dtt'
|
||||||
AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR invoice_scope LIKE '%$q%' OR client_name LIKE '%$q%' OR invoice_status LIKE '%$q%' OR invoice_amount LIKE '%$q%' OR category_name LIKE '%$q%')
|
AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$q%' OR invoice_scope LIKE '%$q%' OR client_name LIKE '%$q%' OR invoice_status LIKE '%$q%' OR invoice_amount LIKE '%$q%' OR category_name LIKE '%$q%')
|
||||||
ORDER BY $sort $order LIMIT $record_from, $record_to"
|
ORDER BY $sort $order LIMIT $record_from, $record_to"
|
||||||
@@ -90,7 +92,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-4">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<a href="?<?php echo $url_query_strings_sort; ?>&status=Draft" class="small-box bg-secondary">
|
<a href="?<?php echo $url_query_strings_sort; ?>&status=Draft" class="small-box bg-secondary">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
@@ -104,43 +106,29 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
|
|||||||
</div>
|
</div>
|
||||||
<!-- ./col -->
|
<!-- ./col -->
|
||||||
|
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-4">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<a href="?<?php echo $url_query_strings_sort; ?>&status=Sent" class="small-box bg-warning">
|
<a href="?<?php echo $url_query_strings_sort; ?>&status=Unpaid" class="small-box bg-info">
|
||||||
<div class="inner text-white">
|
<div class="inner text-white">
|
||||||
<h3><?php echo numfmt_format_currency($currency_format, $total_sent, $session_company_currency); ?></h3>
|
<h3><?php echo numfmt_format_currency($currency_format, $total_unpaid, $session_company_currency); ?></h3>
|
||||||
<p><?php echo $sent_count; ?> Sent</p>
|
<p><?php echo $unpaid_count; ?> Unpaid</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fa fa-paper-plane"></i>
|
<i class="fa fa-hand-holding-usd"></i>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<!-- ./col -->
|
<!-- ./col -->
|
||||||
|
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-4">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<a href="?<?php echo $url_query_strings_sort; ?>&status=Viewed" class="small-box bg-info">
|
<a href="?<?php echo $url_query_strings_sort; ?>&status=Overdue" class="small-box bg-danger">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3><?php echo numfmt_format_currency($currency_format, $total_viewed, $session_company_currency); ?></h3>
|
<h3><?php echo numfmt_format_currency($currency_format, $total_overdue, $session_company_currency); ?></h3>
|
||||||
<p><?php echo $viewed_count; ?> Viewed</p>
|
<p><?php echo $overdue_count; ?> Overdue</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fa fa-eye"></i>
|
<i class="fa fa-exclamation-triangle"></i>
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<!-- ./col -->
|
|
||||||
|
|
||||||
<div class="col-lg-3">
|
|
||||||
<!-- small box -->
|
|
||||||
<a href="?<?php echo $url_query_strings_sort; ?>&status=Partial" class="small-box bg-primary">
|
|
||||||
<div class="inner">
|
|
||||||
<h3><?php echo numfmt_format_currency($currency_format, $total_partial, $session_company_currency); ?></h3>
|
|
||||||
<p><?php echo $partial_count; ?> Partial</p>
|
|
||||||
</div>
|
|
||||||
<div class="icon">
|
|
||||||
<i class="fa fa-wine-glass-alt"></i>
|
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user