This commit is contained in:
o-psi
2024-02-09 22:49:12 +00:00
parent 971830ac21
commit 2bf0a2aef8
12 changed files with 1334 additions and 1225 deletions
+3 -7
View File
@@ -41,18 +41,16 @@ while ($row = mysqli_fetch_array($sql)) {
$client_id = intval($row['event_client_id']); $client_id = intval($row['event_client_id']);
require "calendar_event_edit_modal.php"; require "calendar_event_edit_modal.php";
} }
?> ?>
<?php require_once "footer.php"; <?php require_once "footer.php";
?> ?>
<script src='plugins/fullcalendar/main.min.js'></script> <script src='plugins/fullcalendar/main.min.js'></script>
<script> <script>
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar'); var calendarEl = document.getElementById('calendar');
@@ -121,7 +119,6 @@ while ($row = mysqli_fetch_array($sql)) {
$event_start = json_encode($row['ticket_created_at']); $event_start = json_encode($row['ticket_created_at']);
echo "{ id: $event_id, title: $event_title, start: $event_start, color: 'orange', url: 'ticket.php?ticket_id=$event_id' },"; echo "{ id: $event_id, title: $event_title, start: $event_start, color: 'orange', url: 'ticket.php?ticket_id=$event_id' },";
} }
//Tickets Scheduled //Tickets Scheduled
@@ -137,7 +134,7 @@ while ($row = mysqli_fetch_array($sql)) {
if (strtotime($row['ticket_schedule']) < time()) { if (strtotime($row['ticket_schedule']) < time()) {
if ($row['ticket_status'] == 'Scheduled') { if ($row['ticket_status'] == 'Scheduled') {
$event_color = "red"; $event_color = "red";
}else { } else {
$event_color = "green"; $event_color = "green";
} }
} else { } else {
@@ -175,13 +172,12 @@ while ($row = mysqli_fetch_array($sql)) {
], ],
eventClick: function(editEvent) { eventClick: function(editEvent) {
$('#editEventModal'+editEvent.event.id).modal(); $('#editEventModal' + editEvent.event.id).modal();
} }
}); });
calendar.render(); calendar.render();
}); });
</script> </script>
<!-- Automatically set new event end date to 1 hr after start date --> <!-- Automatically set new event end date to 1 hr after start date -->
+4 -2
View File
@@ -24,7 +24,7 @@ if ($config_enable_cron == 0) {
} }
// Check Cron Key // Check Cron Key
if ( $argv[1] !== $config_cron_key ) { if ($argv[1] !== $config_cron_key) {
exit("Cron Key invalid -- Quitting.."); exit("Cron Key invalid -- Quitting..");
} }
@@ -131,6 +131,7 @@ if (mysqli_num_rows($sql_failed_queue) > 0) {
$email_content = $row['email_content']; $email_content = $row['email_content'];
$email_queued_at = $row['email_queued_at']; $email_queued_at = $row['email_queued_at'];
$email_sent_at = $row['email_sent_at']; $email_sent_at = $row['email_sent_at'];
$email_ics_str = $row['email_cal_str'];
// Increment the attempts // Increment the attempts
$email_attempts = intval($row['email_attempts']) + 1; $email_attempts = intval($row['email_attempts']) + 1;
@@ -155,7 +156,8 @@ if (mysqli_num_rows($sql_failed_queue) > 0) {
$email_recipient, $email_recipient,
$email_recipient_name, $email_recipient_name,
$email_subject, $email_subject,
$email_content $email_content,
$email_ics_str
); );
if ($mail !== true) { if ($mail !== true) {
+136 -123
View File
@@ -34,7 +34,8 @@ $sql_years_select = mysqli_query(
UNION DISTINCT SELECT YEAR(client_created_at) FROM clients UNION DISTINCT SELECT YEAR(client_created_at) FROM clients
UNION DISTINCT SELECT YEAR(user_created_at) FROM users UNION DISTINCT SELECT YEAR(user_created_at) FROM users
ORDER BY all_years DESC ORDER BY all_years DESC
"); "
);
?> ?>
@@ -51,7 +52,9 @@ $sql_years_select = mysqli_query(
$year_select = date('Y'); $year_select = date('Y');
} }
?> ?>
<option <?php if ($year == $year_select) { echo "selected"; } ?> > <?php echo $year_select; ?></option> <option <?php if ($year == $year_select) {
echo "selected";
} ?>> <?php echo $year_select; ?></option>
<?php <?php
} }
@@ -60,14 +63,18 @@ $sql_years_select = mysqli_query(
<?php if ($session_user_role == 1 || $session_user_role == 3 && $config_module_enable_accounting == 1) { ?> <?php if ($session_user_role == 1 || $session_user_role == 3 && $config_module_enable_accounting == 1) { ?>
<div class="custom-control custom-switch mr-sm-3 mb-3"> <div class="custom-control custom-switch mr-sm-3 mb-3">
<input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch1" name="enable_financial" value="1" <?php if($user_config_dashboard_financial_enable == 1) { echo "checked"; } ?>> <input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch1" name="enable_financial" value="1" <?php if ($user_config_dashboard_financial_enable == 1) {
echo "checked";
} ?>>
<label class="custom-control-label" for="customSwitch1">Toggle Financial</label> <label class="custom-control-label" for="customSwitch1">Toggle Financial</label>
</div> </div>
<?php } ?> <?php } ?>
<?php if ($session_user_role >= 2 && $config_module_enable_ticketing == 1) { ?> <?php if ($session_user_role >= 2 && $config_module_enable_ticketing == 1) { ?>
<div class="custom-control custom-switch mb-3"> <div class="custom-control custom-switch mb-3">
<input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch2" name="enable_technical" value="1" <?php if($user_config_dashboard_technical_enable == 1) { echo "checked"; } ?>> <input type="checkbox" onchange="this.form.submit()" class="custom-control-input" id="customSwitch2" name="enable_technical" value="1" <?php if ($user_config_dashboard_technical_enable == 1) {
echo "checked";
} ?>>
<label class="custom-control-label" for="customSwitch2">Toggle Technical</label> <label class="custom-control-label" for="customSwitch2">Toggle Technical</label>
</div> </div>
<?php } ?> <?php } ?>
@@ -78,117 +85,117 @@ $sql_years_select = mysqli_query(
if ($user_config_dashboard_financial_enable == 1) { if ($user_config_dashboard_financial_enable == 1) {
// Enforce accountant / admin role for the financial dashboard // Enforce accountant / admin role for the financial dashboard
if ($_SESSION['user_role'] != 3 && $_SESSION['user_role'] != 1) { if ($_SESSION['user_role'] != 3 && $_SESSION['user_role'] != 1) {
exit('<script type="text/javascript">window.location.href = \'dashboard_technical.php\';</script>'); exit('<script type="text/javascript">window.location.href = \'dashboard_technical.php\';</script>');
} }
//Define var so it doesnt throw errors in logs //Define var so it doesnt throw errors in logs
$largest_income_month = 0; $largest_income_month = 0;
//Get Total income //Get Total income
$sql_total_payments_to_invoices = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS total_payments_to_invoices FROM payments WHERE YEAR(payment_date) = $year"); $sql_total_payments_to_invoices = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS total_payments_to_invoices FROM payments WHERE YEAR(payment_date) = $year");
$row = mysqli_fetch_array($sql_total_payments_to_invoices); $row = mysqli_fetch_array($sql_total_payments_to_invoices);
$total_payments_to_invoices = floatval($row['total_payments_to_invoices']); $total_payments_to_invoices = floatval($row['total_payments_to_invoices']);
//Do not grab transfer payment as these have a category_id of 0 //Do not grab transfer payment as these have a category_id of 0
$sql_total_revenues = mysqli_query($mysqli, "SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE YEAR(revenue_date) = $year AND revenue_category_id > 0"); $sql_total_revenues = mysqli_query($mysqli, "SELECT SUM(revenue_amount) AS total_revenues FROM revenues WHERE YEAR(revenue_date) = $year AND revenue_category_id > 0");
$row = mysqli_fetch_array($sql_total_revenues); $row = mysqli_fetch_array($sql_total_revenues);
$total_revenues = floatval($row['total_revenues']); $total_revenues = floatval($row['total_revenues']);
$total_income = $total_payments_to_invoices + $total_revenues; $total_income = $total_payments_to_invoices + $total_revenues;
//Get Total expenses and do not grab transfer expenses as these have a vendor of 0 //Get Total expenses and do not grab transfer expenses as these have a vendor of 0
$sql_total_expenses = mysqli_query($mysqli, "SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_vendor_id > 0 AND YEAR(expense_date) = $year"); $sql_total_expenses = mysqli_query($mysqli, "SELECT SUM(expense_amount) AS total_expenses FROM expenses WHERE expense_vendor_id > 0 AND YEAR(expense_date) = $year");
$row = mysqli_fetch_array($sql_total_expenses); $row = mysqli_fetch_array($sql_total_expenses);
$total_expenses = floatval($row['total_expenses']); $total_expenses = floatval($row['total_expenses']);
//Total up all the Invoices that are not draft or cancelled //Total up all the Invoices that are not draft or cancelled
$sql_invoice_totals = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_totals FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled' AND YEAR(invoice_date) = $year"); $sql_invoice_totals = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_totals FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled' AND YEAR(invoice_date) = $year");
$row = mysqli_fetch_array($sql_invoice_totals); $row = mysqli_fetch_array($sql_invoice_totals);
$invoice_totals = floatval($row['invoice_totals']); $invoice_totals = floatval($row['invoice_totals']);
//Quaeries from Receivables //Quaeries from Receivables
$sql_total_payments_to_invoices_all_years = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS total_payments_to_invoices_all_years FROM payments"); $sql_total_payments_to_invoices_all_years = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS total_payments_to_invoices_all_years FROM payments");
$row = mysqli_fetch_array($sql_total_payments_to_invoices_all_years); $row = mysqli_fetch_array($sql_total_payments_to_invoices_all_years);
$total_payments_to_invoices_all_years = floatval($row['total_payments_to_invoices_all_years']); $total_payments_to_invoices_all_years = floatval($row['total_payments_to_invoices_all_years']);
$sql_invoice_totals_all_years = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_totals_all_years FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled'"); $sql_invoice_totals_all_years = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_totals_all_years FROM invoices WHERE invoice_status NOT LIKE 'Draft' AND invoice_status NOT LIKE 'Cancelled'");
$row = mysqli_fetch_array($sql_invoice_totals_all_years); $row = mysqli_fetch_array($sql_invoice_totals_all_years);
$invoice_totals_all_years = floatval($row['invoice_totals_all_years']); $invoice_totals_all_years = floatval($row['invoice_totals_all_years']);
$receivables = $invoice_totals_all_years - $total_payments_to_invoices_all_years; $receivables = $invoice_totals_all_years - $total_payments_to_invoices_all_years;
$profit = $total_income - $total_expenses; $profit = $total_income - $total_expenses;
$sql_accounts = mysqli_query($mysqli, "SELECT * FROM accounts WHERE account_archived_at IS NULL ORDER BY account_name ASC"); $sql_accounts = mysqli_query($mysqli, "SELECT * FROM accounts WHERE account_archived_at IS NULL ORDER BY account_name ASC");
$sql_latest_invoice_payments = mysqli_query( $sql_latest_invoice_payments = mysqli_query(
$mysqli, $mysqli,
"SELECT * FROM payments, invoices, clients "SELECT * FROM payments, invoices, clients
WHERE payment_invoice_id = invoice_id WHERE payment_invoice_id = invoice_id
AND invoice_client_id = client_id AND invoice_client_id = client_id
ORDER BY payment_id DESC LIMIT 5" ORDER BY payment_id DESC LIMIT 5"
); );
$sql_latest_expenses = mysqli_query( $sql_latest_expenses = mysqli_query(
$mysqli, $mysqli,
"SELECT * FROM expenses, vendors, categories "SELECT * FROM expenses, vendors, categories
WHERE expense_vendor_id = vendor_id WHERE expense_vendor_id = vendor_id
AND expense_category_id = category_id AND expense_category_id = category_id
ORDER BY expense_id DESC LIMIT 5" ORDER BY expense_id DESC LIMIT 5"
); );
//Get Yearly Recurring Income Total //Get Yearly Recurring Income Total
$sql_recurring_yearly_total = mysqli_query($mysqli, "SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND YEAR(recurring_created_at) <= $year"); $sql_recurring_yearly_total = mysqli_query($mysqli, "SELECT SUM(recurring_amount) AS recurring_yearly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'year' AND YEAR(recurring_created_at) <= $year");
$row = mysqli_fetch_array($sql_recurring_yearly_total); $row = mysqli_fetch_array($sql_recurring_yearly_total);
$recurring_yearly_total = floatval($row['recurring_yearly_total']); $recurring_yearly_total = floatval($row['recurring_yearly_total']);
//Get Monthly Recurring Income Total //Get Monthly Recurring Income Total
$sql_recurring_monthly_total = mysqli_query($mysqli, "SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND YEAR(recurring_created_at) <= $year"); $sql_recurring_monthly_total = mysqli_query($mysqli, "SELECT SUM(recurring_amount) AS recurring_monthly_total FROM recurring WHERE recurring_status = 1 AND recurring_frequency = 'month' AND YEAR(recurring_created_at) <= $year");
$row = mysqli_fetch_array($sql_recurring_monthly_total); $row = mysqli_fetch_array($sql_recurring_monthly_total);
$recurring_monthly_total = floatval($row['recurring_monthly_total']) + ($recurring_yearly_total / 12); $recurring_monthly_total = floatval($row['recurring_monthly_total']) + ($recurring_yearly_total / 12);
//Get Yearly Recurring Expenses Total //Get Yearly Recurring Expenses Total
$sql_recurring_expense_yearly_total = mysqli_query($mysqli, "SELECT SUM(recurring_expense_amount) AS recurring_expense_yearly_total FROM recurring_expenses WHERE recurring_expense_status = 1 AND recurring_expense_frequency = 2 AND YEAR(recurring_expense_created_at) <= $year"); $sql_recurring_expense_yearly_total = mysqli_query($mysqli, "SELECT SUM(recurring_expense_amount) AS recurring_expense_yearly_total FROM recurring_expenses WHERE recurring_expense_status = 1 AND recurring_expense_frequency = 2 AND YEAR(recurring_expense_created_at) <= $year");
$row = mysqli_fetch_array($sql_recurring_expense_yearly_total); $row = mysqli_fetch_array($sql_recurring_expense_yearly_total);
$recurring_expense_yearly_total = floatval($row['recurring_expense_yearly_total']); $recurring_expense_yearly_total = floatval($row['recurring_expense_yearly_total']);
//Get Monthly Recurring Expenses Total //Get Monthly Recurring Expenses Total
$sql_recurring_expense_monthly_total = mysqli_query($mysqli, "SELECT SUM(recurring_expense_amount) AS recurring_expense_monthly_total FROM recurring_expenses WHERE recurring_expense_status = 1 AND recurring_expense_frequency = 1 AND YEAR(recurring_expense_created_at) <= $year"); $sql_recurring_expense_monthly_total = mysqli_query($mysqli, "SELECT SUM(recurring_expense_amount) AS recurring_expense_monthly_total FROM recurring_expenses WHERE recurring_expense_status = 1 AND recurring_expense_frequency = 1 AND YEAR(recurring_expense_created_at) <= $year");
$row = mysqli_fetch_array($sql_recurring_expense_monthly_total); $row = mysqli_fetch_array($sql_recurring_expense_monthly_total);
$recurring_expense_monthly_total = floatval($row['recurring_expense_monthly_total']) + ($recurring_expense_yearly_total / 12); $recurring_expense_monthly_total = floatval($row['recurring_expense_monthly_total']) + ($recurring_expense_yearly_total / 12);
//Get Total Miles Driven //Get Total Miles Driven
$sql_miles_driven = mysqli_query($mysqli, "SELECT SUM(trip_miles) AS total_miles FROM trips WHERE YEAR(trip_date) = $year"); $sql_miles_driven = mysqli_query($mysqli, "SELECT SUM(trip_miles) AS total_miles FROM trips WHERE YEAR(trip_date) = $year");
$row = mysqli_fetch_array($sql_miles_driven); $row = mysqli_fetch_array($sql_miles_driven);
$total_miles = floatval($row['total_miles']); $total_miles = floatval($row['total_miles']);
if ($config_module_enable_ticketing && $config_module_enable_accounting) { if ($config_module_enable_ticketing && $config_module_enable_accounting) {
//Get Unbilled, closed tickets //Get Unbilled, closed tickets
$sql_unbilled_tickets = mysqli_query($mysqli, "SELECT COUNT('ticket_id') AS unbilled_tickets FROM tickets WHERE ticket_status = 'Closed' AND ticket_billable = 1 AND ticket_invoice_id = 0 AND YEAR(ticket_created_at) = $year"); $sql_unbilled_tickets = mysqli_query($mysqli, "SELECT COUNT('ticket_id') AS unbilled_tickets FROM tickets WHERE ticket_status = 'Closed' AND ticket_billable = 1 AND ticket_invoice_id = 0 AND YEAR(ticket_created_at) = $year");
$row = mysqli_fetch_array($sql_unbilled_tickets); $row = mysqli_fetch_array($sql_unbilled_tickets);
$unbilled_tickets = intval($row['unbilled_tickets']); $unbilled_tickets = intval($row['unbilled_tickets']);
} else { } else {
//Get Total Recurring Invoices added //Get Total Recurring Invoices added
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('recurring_id') AS recurring_invoices_added FROM recurring WHERE YEAR(recurring_created_at) = $year")); $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('recurring_id') AS recurring_invoices_added FROM recurring WHERE YEAR(recurring_created_at) = $year"));
$recurring_invoices_added = intval($row['recurring_invoices_added']); $recurring_invoices_added = intval($row['recurring_invoices_added']);
} }
//Get Total Clients added //Get Total Clients added
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('client_id') AS clients_added FROM clients WHERE YEAR(client_created_at) = $year AND client_archived_at IS NULL")); $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('client_id') AS clients_added FROM clients WHERE YEAR(client_created_at) = $year AND client_archived_at IS NULL"));
$clients_added = intval($row['clients_added']); $clients_added = intval($row['clients_added']);
//Get Total Vendors added //Get Total Vendors added
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('vendor_id') AS vendors_added FROM vendors WHERE YEAR(vendor_created_at) = $year AND vendor_client_id = 0 AND vendor_template = 0 AND vendor_archived_at IS NULL")); $row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT COUNT('vendor_id') AS vendors_added FROM vendors WHERE YEAR(vendor_created_at) = $year AND vendor_client_id = 0 AND vendor_template = 0 AND vendor_archived_at IS NULL"));
$vendors_added = intval($row['vendors_added']); $vendors_added = intval($row['vendors_added']);
?> ?>
<!-- Icon Cards--> <!-- Icon Cards-->
<div class="row"> <div class="row">
<div class="col-lg-4 col-md-6 col-sm-12"> <div class="col-lg-4 col-md-6 col-sm-12">
<!-- small box --> <!-- small box -->
<a class="small-box bg-primary" href="payments.php?dtf=<?php echo $year; ?>-01-01&dtt=<?php echo $year; ?>-12-31"> <a class="small-box bg-primary" href="payments.php?dtf=<?php echo $year; ?>-01-01&dtt=<?php echo $year; ?>-12-31">
@@ -268,7 +275,9 @@ $vendors_added = intval($row['vendors_added']);
<a class="small-box bg-secondary" href="report_tickets_unbilled.php"> <a class="small-box bg-secondary" href="report_tickets_unbilled.php">
<div class="inner"> <div class="inner">
<h3><?php echo $unbilled_tickets; ?></h3> <h3><?php echo $unbilled_tickets; ?></h3>
<p>Unbilled Ticket<?php if ($unbilled_tickets > 1 || $unbilled_tickets = 0) { echo "s";}?></p> <p>Unbilled Ticket<?php if ($unbilled_tickets > 1 || $unbilled_tickets = 0) {
echo "s";
} ?></p>
</div> </div>
<div class="icon"> <div class="icon">
<i class="fa fa-ticket-alt"></i> <i class="fa fa-ticket-alt"></i>
@@ -558,7 +567,7 @@ $vendors_added = intval($row['vendors_added']);
</div> </div>
</div> </div>
</div> </div>
</div> <!-- row --> </div> <!-- row -->
<?php } ?> <?php } ?>
@@ -568,51 +577,51 @@ $vendors_added = intval($row['vendors_added']);
if ($user_config_dashboard_technical_enable == 1) { if ($user_config_dashboard_technical_enable == 1) {
// Get Total Clients added // Get Total Clients added
$sql_clients = mysqli_fetch_assoc(mysqli_query( $sql_clients = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('client_id') AS clients_added FROM clients "SELECT COUNT('client_id') AS clients_added FROM clients
WHERE YEAR(client_created_at) = $year" WHERE YEAR(client_created_at) = $year"
)); ));
$clients_added = $sql_clients['clients_added']; $clients_added = $sql_clients['clients_added'];
// Get Total contacts added // Get Total contacts added
$sql_contacts = mysqli_fetch_assoc(mysqli_query( $sql_contacts = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('contact_id') AS contacts_added FROM contacts "SELECT COUNT('contact_id') AS contacts_added FROM contacts
WHERE YEAR(contact_created_at) = $year" WHERE YEAR(contact_created_at) = $year"
)); ));
$contacts_added = $sql_contacts['contacts_added']; $contacts_added = $sql_contacts['contacts_added'];
// Get Total assets added // Get Total assets added
$sql_assets = mysqli_fetch_assoc(mysqli_query( $sql_assets = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('asset_id') AS assets_added FROM assets "SELECT COUNT('asset_id') AS assets_added FROM assets
WHERE YEAR(asset_created_at) = $year" WHERE YEAR(asset_created_at) = $year"
)); ));
$assets_added = $sql_assets['assets_added']; $assets_added = $sql_assets['assets_added'];
// Ticket count // Ticket count
$sql_tickets = mysqli_fetch_assoc(mysqli_query( $sql_tickets = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('ticket_id') AS active_tickets "SELECT COUNT('ticket_id') AS active_tickets
FROM tickets FROM tickets
WHERE ticket_status != 'Closed'" WHERE ticket_status != 'Closed'"
)); ));
$active_tickets = $sql_tickets['active_tickets']; $active_tickets = $sql_tickets['active_tickets'];
// Your Ticket count // Your Ticket count
$sql_your_tickets = mysqli_fetch_assoc(mysqli_query( $sql_your_tickets = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('ticket_id') AS your_tickets "SELECT COUNT('ticket_id') AS your_tickets
FROM tickets FROM tickets
WHERE ticket_status != 'Closed' WHERE ticket_status != 'Closed'
AND ticket_assigned_to = $session_user_id" AND ticket_assigned_to = $session_user_id"
)); ));
$your_tickets = $sql_your_tickets['your_tickets']; $your_tickets = $sql_your_tickets['your_tickets'];
// Expiring domains (but not ones that have already expired) // Expiring domains (but not ones that have already expired)
$sql_domains_expiring = mysqli_fetch_assoc(mysqli_query( $sql_domains_expiring = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('domain_id') as expiring_domains "SELECT COUNT('domain_id') as expiring_domains
FROM domains FROM domains
@@ -620,11 +629,11 @@ $sql_domains_expiring = mysqli_fetch_assoc(mysqli_query(
AND domain_expire > CURRENT_DATE AND domain_expire > CURRENT_DATE
AND domain_expire < CURRENT_DATE + INTERVAL 30 DAY AND domain_expire < CURRENT_DATE + INTERVAL 30 DAY
AND domain_archived_at IS NULL" AND domain_archived_at IS NULL"
)); ));
$expiring_domains = $sql_domains_expiring['expiring_domains']; $expiring_domains = $sql_domains_expiring['expiring_domains'];
// Expiring Certificates (but not ones that have already expired) // Expiring Certificates (but not ones that have already expired)
$sql_certs_expiring = mysqli_fetch_assoc(mysqli_query( $sql_certs_expiring = mysqli_fetch_assoc(mysqli_query(
$mysqli, $mysqli,
"SELECT COUNT('certificate_id') as expiring_certs "SELECT COUNT('certificate_id') as expiring_certs
FROM certificates FROM certificates
@@ -632,10 +641,10 @@ $sql_certs_expiring = mysqli_fetch_assoc(mysqli_query(
AND certificate_expire > CURRENT_DATE AND certificate_expire > CURRENT_DATE
AND certificate_expire < CURRENT_DATE + INTERVAL 30 DAY AND certificate_expire < CURRENT_DATE + INTERVAL 30 DAY
AND certificate_archived_at IS NULL" AND certificate_archived_at IS NULL"
)); ));
$expiring_certificates = $sql_certs_expiring['expiring_certs']; $expiring_certificates = $sql_certs_expiring['expiring_certs'];
$sql_your_tickets = mysqli_query( $sql_your_tickets = mysqli_query(
$mysqli, $mysqli,
"SELECT * FROM tickets "SELECT * FROM tickets
LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN clients ON ticket_client_id = client_id
@@ -643,12 +652,12 @@ $sql_your_tickets = mysqli_query(
WHERE ticket_assigned_to = $session_user_id WHERE ticket_assigned_to = $session_user_id
AND ticket_status != 'Closed' AND ticket_status != 'Closed'
ORDER BY ticket_number DESC" ORDER BY ticket_number DESC"
); );
?> ?>
<!-- Icon Cards--> <!-- Icon Cards-->
<div class="row"> <div class="row">
<div class="col-lg-4 col-6"> <div class="col-lg-4 col-6">
<!-- small box --> <!-- small box -->
@@ -729,10 +738,10 @@ $sql_your_tickets = mysqli_query(
</div> </div>
<!-- ./col --> <!-- ./col -->
</div> <!-- rows --> </div> <!-- rows -->
<?php if ($your_tickets) { ?> <?php if ($your_tickets) { ?>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="card card-dark mb-3"> <div class="card card-dark mb-3">
<div class="card-header"> <div class="card-header">
@@ -791,7 +800,7 @@ $sql_your_tickets = mysqli_query(
$ticket_status_color = "success"; $ticket_status_color = "success";
} elseif ($ticket_status == "Closed") { } elseif ($ticket_status == "Closed") {
$ticket_status_color = "dark"; $ticket_status_color = "dark";
} else{ } else {
$ticket_status_color = "secondary"; $ticket_status_color = "secondary";
} }
@@ -799,7 +808,7 @@ $sql_your_tickets = mysqli_query(
$ticket_priority_color = "danger"; $ticket_priority_color = "danger";
} elseif ($ticket_priority == "Medium") { } elseif ($ticket_priority == "Medium") {
$ticket_priority_color = "warning"; $ticket_priority_color = "warning";
} else{ } else {
$ticket_priority_color = "info"; $ticket_priority_color = "info";
} }
@@ -811,7 +820,9 @@ $sql_your_tickets = mysqli_query(
?> ?>
<tr class="<?php if(empty($ticket_updated_at)) { echo "text-bold"; }?>"> <tr class="<?php if (empty($ticket_updated_at)) {
echo "text-bold";
} ?>">
<td><a class="text-dark" href="ticket.php?ticket_id=<?php echo $ticket_id; ?>"><?php echo "$ticket_prefix$ticket_number"; ?></a></td> <td><a class="text-dark" href="ticket.php?ticket_id=<?php echo $ticket_id; ?>"><?php echo "$ticket_prefix$ticket_number"; ?></a></td>
<td> <td>
<a href="ticket.php?ticket_id=<?php echo $ticket_id; ?>"><?php echo $ticket_subject; ?></a> <a href="ticket.php?ticket_id=<?php echo $ticket_id; ?>"><?php echo $ticket_subject; ?></a>
@@ -839,9 +850,9 @@ $sql_your_tickets = mysqli_query(
</div> </div>
</div> </div>
<?php } ?> <?php } ?>
@@ -850,7 +861,7 @@ $sql_your_tickets = mysqli_query(
<!-- End Tech Dashboard --> <!-- End Tech Dashboard -->
<?php require_once "footer.php"; <?php require_once "footer.php";
?> ?>
<script> <script>
// Set new default font family and font color to mimic Bootstrap's default styling // Set new default font family and font color to mimic Bootstrap's default styling
@@ -875,7 +886,7 @@ $sql_your_tickets = mysqli_query(
pointBorderWidth: 2, pointBorderWidth: 2,
data: [ data: [
<?php <?php
for($month = 1; $month<=12; $month++) { for ($month = 1; $month <= 12; $month++) {
$sql_payments = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month"); $sql_payments = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year AND MONTH(payment_date) = $month");
$row = mysqli_fetch_array($sql_payments); $row = mysqli_fetch_array($sql_payments);
$payments_for_month = floatval($row['payment_amount_for_month']); $payments_for_month = floatval($row['payment_amount_for_month']);
@@ -914,7 +925,7 @@ $sql_your_tickets = mysqli_query(
pointBorderWidth: 2, pointBorderWidth: 2,
data: [ data: [
<?php <?php
for($month = 1; $month<=12; $month++) { for ($month = 1; $month <= 12; $month++) {
$sql_payments = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year-1 AND MONTH(payment_date) = $month"); $sql_payments = mysqli_query($mysqli, "SELECT SUM(payment_amount) AS payment_amount_for_month FROM payments, invoices WHERE payment_invoice_id = invoice_id AND YEAR(payment_date) = $year-1 AND MONTH(payment_date) = $month");
$row = mysqli_fetch_array($sql_payments); $row = mysqli_fetch_array($sql_payments);
$payments_for_month = floatval($row['payment_amount_for_month']); $payments_for_month = floatval($row['payment_amount_for_month']);
@@ -956,7 +967,7 @@ $sql_your_tickets = mysqli_query(
$largest_invoice_month = 0; $largest_invoice_month = 0;
for($month = 1; $month<=12; $month++) { for ($month = 1; $month <= 12; $month++) {
$sql_projected = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_amount_for_month FROM invoices WHERE YEAR(invoice_due) = $year AND MONTH(invoice_due) = $month AND invoice_status NOT LIKE 'Cancelled' AND invoice_status NOT LIKE 'Draft'"); $sql_projected = mysqli_query($mysqli, "SELECT SUM(invoice_amount) AS invoice_amount_for_month FROM invoices WHERE YEAR(invoice_due) = $year AND MONTH(invoice_due) = $month AND invoice_status NOT LIKE 'Cancelled' AND invoice_status NOT LIKE 'Draft'");
$row = mysqli_fetch_array($sql_projected); $row = mysqli_fetch_array($sql_projected);
$invoice_for_month = floatval($row['invoice_amount_for_month']); $invoice_for_month = floatval($row['invoice_amount_for_month']);
@@ -992,7 +1003,7 @@ $sql_your_tickets = mysqli_query(
$largest_expense_month = 0; $largest_expense_month = 0;
for($month = 1; $month<=12; $month++) { for ($month = 1; $month <= 12; $month++) {
$sql_expenses = mysqli_query($mysqli, "SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0"); $sql_expenses = mysqli_query($mysqli, "SELECT SUM(expense_amount) AS expense_amount_for_month FROM expenses WHERE YEAR(expense_date) = $year AND MONTH(expense_date) = $month AND expense_vendor_id > 0");
$row = mysqli_fetch_array($sql_expenses); $row = mysqli_fetch_array($sql_expenses);
$expenses_for_month = floatval($row['expense_amount_for_month']); $expenses_for_month = floatval($row['expense_amount_for_month']);
@@ -1012,7 +1023,8 @@ $sql_your_tickets = mysqli_query(
?> ?>
], ],
}], }
],
}, },
options: { options: {
scales: { scales: {
@@ -1030,7 +1042,8 @@ $sql_your_tickets = mysqli_query(
yAxes: [{ yAxes: [{
ticks: { ticks: {
min: 0, min: 0,
max: <?php $max = max(1000, $largest_expense_month, $largest_income_month, $largest_invoice_month); echo roundUpToNearestMultiple($max); ?>, max: <?php $max = max(1000, $largest_expense_month, $largest_income_month, $largest_invoice_month);
echo roundUpToNearestMultiple($max); ?>,
maxTicksLimit: 5 maxTicksLimit: 5
}, },
gridLines: { gridLines: {
@@ -1068,7 +1081,7 @@ $sql_your_tickets = mysqli_query(
pointBorderWidth: 2, pointBorderWidth: 2,
data: [ data: [
<?php <?php
for($month = 1; $month<=12; $month++) { for ($month = 1; $month <= 12; $month++) {
$sql_trips = mysqli_query($mysqli, "SELECT SUM(trip_miles) AS trip_miles_for_month FROM trips WHERE YEAR(trip_date) = $year AND MONTH(trip_date) = $month"); $sql_trips = mysqli_query($mysqli, "SELECT SUM(trip_miles) AS trip_miles_for_month FROM trips WHERE YEAR(trip_date) = $year AND MONTH(trip_date) = $month");
$row = mysqli_fetch_array($sql_trips); $row = mysqli_fetch_array($sql_trips);
$trip_miles_for_month = floatval($row['trip_miles_for_month']); $trip_miles_for_month = floatval($row['trip_miles_for_month']);
@@ -1107,7 +1120,8 @@ $sql_your_tickets = mysqli_query(
yAxes: [{ yAxes: [{
ticks: { ticks: {
min: 0, min: 0,
max: <?php $max = max(1000, $largest_trip_miles_month); echo roundUpToNearestMultiple($max); ?>, max: <?php $max = max(1000, $largest_trip_miles_month);
echo roundUpToNearestMultiple($max); ?>,
maxTicksLimit: 5 maxTicksLimit: 5
}, },
gridLines: { gridLines: {
@@ -1308,5 +1322,4 @@ $sql_your_tickets = mysqli_query(
} }
} }
}); });
</script> </script>
+116 -87
View File
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -1619,7 +1619,7 @@ if (isset($_POST['edit_ticket_schedule'])) {
); );
if(empty($conflicting_tickets)){ if (empty($conflicting_tickets)) {
$_SESSION['alert_message'] = "Ticket scheduled for $email_datetime"; $_SESSION['alert_message'] = "Ticket scheduled for $email_datetime";
header("Location: " . $_SERVER["HTTP_REFERER"]); header("Location: " . $_SERVER["HTTP_REFERER"]);
} else { } else {
@@ -1630,4 +1630,3 @@ if (isset($_POST['edit_ticket_schedule'])) {
exit; exit;
} }
+6 -4
View File
@@ -25,26 +25,28 @@
$contact_id = intval($row['contact_id']); $contact_id = intval($row['contact_id']);
$contact_name = nullable_htmlentities($row['contact_name']); $contact_name = nullable_htmlentities($row['contact_name']);
$contact_primary = intval($row['contact_primary']); $contact_primary = intval($row['contact_primary']);
if($contact_primary == 1) { if ($contact_primary == 1) {
$contact_primary_display = " (Primary)"; $contact_primary_display = " (Primary)";
} else { } else {
$contact_primary_display = ""; $contact_primary_display = "";
} }
$contact_technical = intval($row['contact_technical']); $contact_technical = intval($row['contact_technical']);
if($contact_technical == 1) { if ($contact_technical == 1) {
$contact_technical_display = " (Technical)"; $contact_technical_display = " (Technical)";
} else { } else {
$contact_technical_display = ""; $contact_technical_display = "";
} }
$contact_title = nullable_htmlentities($row['contact_title']); $contact_title = nullable_htmlentities($row['contact_title']);
if(!empty($contact_title)) { if (!empty($contact_title)) {
$contact_title_display = " - $contact_title"; $contact_title_display = " - $contact_title";
} else { } else {
$contact_title_display = ""; $contact_title_display = "";
} }
?> ?>
<option value="<?php echo $contact_id; ?>" <?php if ($contact_primary == 1) { echo "selected"; } ?>><?php echo "$contact_name$contact_title_display$contact_primary_display$contact_technical_display"; ?></option> <option value="<?php echo $contact_id; ?>" <?php if ($contact_primary == 1) {
echo "selected";
} ?>><?php echo "$contact_name$contact_title_display$contact_primary_display$contact_technical_display"; ?></option>
<?php } ?> <?php } ?>
</select> </select>
</div> </div>
+10 -12
View File
@@ -23,7 +23,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
?> ?>
<div class="card card-dark"> <div class="card card-dark">
<div class="card-header py-2"> <div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fas fa-fw fa-calendar-check mr-2"></i>Recurring Tickets</h3> <h3 class="card-title mt-2"><i class="fas fa-fw fa-calendar-check mr-2"></i>Recurring Tickets</h3>
<div class='card-tools'> <div class='card-tools'>
@@ -42,7 +42,9 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<div class="col-md-4"> <div class="col-md-4">
<div class="input-group mb-3 mb-md-0"> <div class="input-group mb-3 mb-md-0">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(nullable_htmlentities($q)); } ?>" placeholder="Search Scheduled Tickets"> <input type="search" class="form-control" name="q" value="<?php if (isset($q)) {
echo stripslashes(nullable_htmlentities($q));
} ?>" placeholder="Search Scheduled Tickets">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-dark"><i class="fa fa-search"></i></button> <button class="btn btn-dark"><i class="fa fa-search"></i></button>
</div> </div>
@@ -55,8 +57,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>) <i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<button class="dropdown-item text-danger text-bold" <button class="dropdown-item text-danger text-bold" type="submit" form="multi_actions" name="bulk_delete_scheduled_tickets">
type="submit" form="multi_actions" name="bulk_delete_scheduled_tickets">
<i class="fas fa-fw fa-trash mr-2"></i>Delete <i class="fas fa-fw fa-trash mr-2"></i>Delete
</button> </button>
</div> </div>
@@ -116,8 +117,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
</th> </th>
<td> <td>
<a href="#" data-toggle="modal" data-target="#editScheduledTicketModal" <a href="#" data-toggle="modal" data-target="#editScheduledTicketModal" onclick="populateScheduledTicketEditModal(<?php echo $scheduled_ticket_client_id, ",", $scheduled_ticket_id ?>)"> <?php echo $scheduled_ticket_subject ?>
onclick="populateScheduledTicketEditModal(<?php echo $scheduled_ticket_client_id, ",", $scheduled_ticket_id ?>)"> <?php echo $scheduled_ticket_subject ?>
</a> </a>
</td> </td>
@@ -133,8 +133,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
<i class="fas fa-ellipsis-h"></i> <i class="fas fa-ellipsis-h"></i>
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" <a class="dropdown-item" href="#" data-toggle="modal" data-target="#editScheduledTicketModal" onclick="populateScheduledTicketEditModal(<?php echo $scheduled_ticket_client_id, ",", $scheduled_ticket_id ?>)">
data-target="#editScheduledTicketModal" onclick="populateScheduledTicketEditModal(<?php echo $scheduled_ticket_client_id, ",", $scheduled_ticket_id ?>)">
<i class="fas fa-fw fa-edit mr-2"></i>Edit <i class="fas fa-fw fa-edit mr-2"></i>Edit
</a> </a>
<?php <?php
@@ -164,10 +163,10 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()"));
?> ?>
</div> </div>
</div> </div>
<script src="js/scheduled_tickets_edit_modal.js"></script> <script src="js/scheduled_tickets_edit_modal.js"></script>
<script src="js/bulk_actions.js"></script> <script src="js/bulk_actions.js"></script>
<?php <?php
require_once "scheduled_ticket_add_modal.php"; require_once "scheduled_ticket_add_modal.php";
@@ -175,4 +174,3 @@ require_once "scheduled_ticket_add_modal.php";
require_once "scheduled_ticket_edit_modal.php"; require_once "scheduled_ticket_edit_modal.php";
require_once "footer.php"; require_once "footer.php";
+54 -18
View File
@@ -14,14 +14,18 @@
<ul class="nav nav-pills nav-sidebar flex-column mt-3" data-widget="treeview" data-accordion="false"> <ul class="nav nav-pills nav-sidebar flex-column mt-3" data-widget="treeview" data-accordion="false">
<li class="nav-item"> <li class="nav-item">
<a href="dashboard.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "dashboard.php") { echo "active"; } ?>"> <a href="dashboard.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "dashboard.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-tachometer-alt"></i> <i class="nav-icon fas fa-tachometer-alt"></i>
<p>Dashboard</p> <p>Dashboard</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="clients.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "clients.php") { echo "active"; } ?>"> <a href="clients.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "clients.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-user-friends"></i> <i class="nav-icon fas fa-user-friends"></i>
<p>Clients</p> <p>Clients</p>
</a> </a>
@@ -31,7 +35,9 @@
<li class="nav-header mt-3">SUPPORT</li> <li class="nav-header mt-3">SUPPORT</li>
<li class="nav-item"> <li class="nav-item">
<a href="tickets.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "tickets.php" || basename($_SERVER["PHP_SELF"]) == "ticket.php" || basename($_SERVER["PHP_SELF"]) == "scheduled_tickets.php") { echo "active"; } ?>"> <a href="tickets.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "tickets.php" || basename($_SERVER["PHP_SELF"]) == "ticket.php" || basename($_SERVER["PHP_SELF"]) == "scheduled_tickets.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-life-ring"></i> <i class="nav-icon fas fa-life-ring"></i>
<p>Tickets</p> <p>Tickets</p>
</a> </a>
@@ -40,7 +46,9 @@
<?php } ?> <?php } ?>
<li class="nav-item"> <li class="nav-item">
<a href="calendar_events.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "calendar_events.php") { echo "active"; } ?>"> <a href="calendar_events.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "calendar_events.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-calendar-alt"></i> <i class="nav-icon fas fa-calendar-alt"></i>
<p>Calendar</p> <p>Calendar</p>
</a> </a>
@@ -50,31 +58,41 @@
<li class="nav-header mt-3">SALES</li> <li class="nav-header mt-3">SALES</li>
<li class="nav-item"> <li class="nav-item">
<a href="quotes.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "quotes.php" || basename($_SERVER["PHP_SELF"]) == "quote.php") { echo "active"; } ?>"> <a href="quotes.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "quotes.php" || basename($_SERVER["PHP_SELF"]) == "quote.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-comment-dollar"></i> <i class="nav-icon fas fa-comment-dollar"></i>
<p>Quotes</p> <p>Quotes</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="invoices.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "invoices.php" || basename($_SERVER["PHP_SELF"]) == "invoice.php") { echo "active"; } ?>"> <a href="invoices.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "invoices.php" || basename($_SERVER["PHP_SELF"]) == "invoice.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-file-invoice"></i> <i class="nav-icon fas fa-file-invoice"></i>
<p>Invoices</p> <p>Invoices</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="recurring_invoices.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "recurring_invoices.php") { echo "active"; } ?>"> <a href="recurring_invoices.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "recurring_invoices.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-redo-alt"></i> <i class="nav-icon fas fa-redo-alt"></i>
<p>Recurring Invoices</p> <p>Recurring Invoices</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="revenues.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "revenues.php") { echo "active"; } ?>"> <a href="revenues.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "revenues.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-hand-holding-usd"></i> <i class="nav-icon fas fa-hand-holding-usd"></i>
<p>Revenues</p> <p>Revenues</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="products.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "products.php") { echo "active"; } ?>"> <a href="products.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "products.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-box-open"></i> <i class="nav-icon fas fa-box-open"></i>
<p>Products</p> <p>Products</p>
</a> </a>
@@ -86,49 +104,65 @@
<li class="nav-header mt-3">FINANCE</li> <li class="nav-header mt-3">FINANCE</li>
<li class="nav-item"> <li class="nav-item">
<a href="payments.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "payments.php") { echo "active"; } ?>"> <a href="payments.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "payments.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-credit-card"></i> <i class="nav-icon fas fa-credit-card"></i>
<p>Payments</p> <p>Payments</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="vendors.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "vendors.php") { echo "active"; } ?>"> <a href="vendors.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "vendors.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-building"></i> <i class="nav-icon fas fa-building"></i>
<p>Vendors</p> <p>Vendors</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="expenses.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "expenses.php") { echo "active"; } ?>"> <a href="expenses.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "expenses.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-shopping-cart"></i> <i class="nav-icon fas fa-shopping-cart"></i>
<p>Expenses</p> <p>Expenses</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="recurring_expenses.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "recurring_expenses.php") { echo "active"; } ?>"> <a href="recurring_expenses.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "recurring_expenses.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-redo-alt"></i> <i class="nav-icon fas fa-redo-alt"></i>
<p>Recurring Expenses</p> <p>Recurring Expenses</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="accounts.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "accounts.php") { echo "active"; } ?>"> <a href="accounts.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "accounts.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-piggy-bank"></i> <i class="nav-icon fas fa-piggy-bank"></i>
<p>Accounts</p> <p>Accounts</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="transfers.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "transfers.php") { echo "active"; } ?>"> <a href="transfers.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "transfers.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-exchange-alt"></i> <i class="nav-icon fas fa-exchange-alt"></i>
<p>Transfers</p> <p>Transfers</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="budget.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "budget.php") { echo "active"; } ?>"> <a href="budget.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "budget.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-balance-scale"></i> <i class="nav-icon fas fa-balance-scale"></i>
<p>Budget</p> <p>Budget</p>
</a> </a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="trips.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "trips.php") { echo "active"; } ?>"> <a href="trips.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "trips.php") {
echo "active";
} ?>">
<i class="nav-icon fas fa-route"></i> <i class="nav-icon fas fa-route"></i>
<p>Trips</p> <p>Trips</p>
</a> </a>
@@ -139,7 +173,9 @@
<li class="nav-header mt-3">MORE</li> <li class="nav-header mt-3">MORE</li>
<li class="nav-item"> <li class="nav-item">
<a href="report_income_summary.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "report_income_summary.php") { echo "active"; } ?>"> <a href="report_income_summary.php" class="nav-link <?php if (basename($_SERVER["PHP_SELF"]) == "report_income_summary.php") {
echo "active";
} ?>">
<i class="fas fa-chart-line nav-icon"></i> <i class="fas fa-chart-line nav-icon"></i>
<p>Reports</p> <p>Reports</p>
<i class="fas fa-angle-right nav-icon float-right"></i> <i class="fas fa-angle-right nav-icon float-right"></i>
+51 -30
View File
@@ -34,8 +34,6 @@ if (isset($_GET['ticket_id'])) {
echo "<center><h1 class='text-secondary mt-5'>Nothing to see here</h1><a class='btn btn-lg btn-secondary mt-3' href='tickets.php'><i class='fa fa-fw fa-arrow-left'></i> Go Back</a></center>"; echo "<center><h1 class='text-secondary mt-5'>Nothing to see here</h1><a class='btn btn-lg btn-secondary mt-3' href='tickets.php'><i class='fa fa-fw fa-arrow-left'></i> Go Back</a></center>";
include_once "footer.php"; include_once "footer.php";
} else { } else {
$row = mysqli_fetch_array($sql); $row = mysqli_fetch_array($sql);
@@ -193,13 +191,15 @@ if (isset($_GET['ticket_id'])) {
$warranty_check = date('m/d/Y', strtotime('-8 hours')); $warranty_check = date('m/d/Y', strtotime('-8 hours'));
if ($dt_value <= $date) { if ($dt_value <= $date) {
$dt_value = "Expired on $asset_warranty_expire"; $warranty_status_color ='red'; $dt_value = "Expired on $asset_warranty_expire";
$warranty_status_color = 'red';
} else { } else {
$warranty_status_color = 'green'; $warranty_status_color = 'green';
} }
if ($asset_warranty_expire == "NULL") { if ($asset_warranty_expire == "NULL") {
$dt_value = "None"; $warranty_status_color ='red'; $dt_value = "None";
$warranty_status_color = 'red';
} }
// Get all ticket replies // Get all ticket replies
@@ -228,7 +228,7 @@ if (isset($_GET['ticket_id'])) {
AND ticket_attachment_ticket_id = $ticket_id" AND ticket_attachment_ticket_id = $ticket_id"
); );
?> ?>
<!-- Breadcrumbs--> <!-- Breadcrumbs-->
<ol class="breadcrumb d-print-none"> <ol class="breadcrumb d-print-none">
@@ -312,12 +312,22 @@ if (isset($_GET['ticket_id'])) {
<span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span> <span class="input-group-text"><i class="fa fa-fw fa-thermometer-half"></i></span>
</div> </div>
<select class="form-control select2" name="status" required> <select class="form-control select2" name="status" required>
<option <?php if ($ticket_status == "In-Progress") {echo "selected";}?> >In-Progress</option> <option <?php if ($ticket_status == "In-Progress") {
<option <?php if ($ticket_status == "Pending-Client") {echo "selected";}?> >Pending-Client</option> echo "selected";
<option <?php if ($ticket_status == "Pending-Vendor") {echo "selected";}?> >Pending-Vendor</option> } ?>>In-Progress</option>
<option <?php if ($ticket_status == "Pending-Shipment") {echo "selected";}?> >Pending-Shipment</option> <option <?php if ($ticket_status == "Pending-Client") {
<?php if($config_ticket_autoclose) { ?> echo "selected";
<option <?php if ($ticket_status == 'Auto Close') { echo "selected"; } ?> >Auto Close</option> } ?>>Pending-Client</option>
<option <?php if ($ticket_status == "Pending-Vendor") {
echo "selected";
} ?>>Pending-Vendor</option>
<option <?php if ($ticket_status == "Pending-Shipment") {
echo "selected";
} ?>>Pending-Shipment</option>
<?php if ($config_ticket_autoclose) { ?>
<option <?php if ($ticket_status == 'Auto Close') {
echo "selected";
} ?>>Auto Close</option>
<?php } ?> <?php } ?>
</select> </select>
</div> </div>
@@ -365,7 +375,7 @@ if (isset($_GET['ticket_id'])) {
<div class="form-row"> <div class="form-row">
<?php if(!empty($contact_email && $contact_email !== $session_email)){ ?> <?php if (!empty($contact_email && $contact_email !== $session_email)) { ?>
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -426,7 +436,13 @@ if (isset($_GET['ticket_id'])) {
?> ?>
<div class="card card-outline <?php if ($ticket_reply_type == 'Internal') { echo "card-dark"; } elseif ($ticket_reply_type == 'Client') {echo "card-warning"; } else { echo "card-info"; } ?> mb-3"> <div class="card card-outline <?php if ($ticket_reply_type == 'Internal') {
echo "card-dark";
} elseif ($ticket_reply_type == 'Client') {
echo "card-warning";
} else {
echo "card-info";
} ?> mb-3">
<div class="card-header"> <div class="card-header">
<h3 class="card-title"> <h3 class="card-title">
<div class="media"> <div class="media">
@@ -442,7 +458,9 @@ if (isset($_GET['ticket_id'])) {
<div class="media-body"> <div class="media-body">
<?php echo $ticket_reply_by_display; ?> <?php echo $ticket_reply_by_display; ?>
<div> <div>
<small class="text-muted"><?php echo $ticket_reply_created_at; ?> <?php if (!empty($ticket_reply_updated_at)) { echo "modified: $ticket_reply_updated_at"; } ?></small> <small class="text-muted"><?php echo $ticket_reply_created_at; ?> <?php if (!empty($ticket_reply_updated_at)) {
echo "modified: $ticket_reply_updated_at";
} ?></small>
</div> </div>
<?php if ($ticket_reply_type !== "Client") { ?> <?php if ($ticket_reply_type !== "Client") { ?>
<div> <div>
@@ -493,8 +511,6 @@ if (isset($_GET['ticket_id'])) {
<?php <?php
require "ticket_reply_edit_modal.php"; require "ticket_reply_edit_modal.php";
} }
?> ?>
@@ -608,8 +624,7 @@ if (isset($_GET['ticket_id'])) {
?> ?>
<div class='mt-1'> <div class='mt-1'>
<i class="fa fa-fw fa-eye text-secondary ml-1 mr-2"></i><?php echo $ticket_watcher_email; ?> <i class="fa fa-fw fa-eye text-secondary ml-1 mr-2"></i><?php echo $ticket_watcher_email; ?>
<a class="confirm-link" <a class="confirm-link" href="post.php?delete_ticket_watcher=<?php echo $watcher_id; ?>">
href="post.php?delete_ticket_watcher=<?php echo $watcher_id; ?>">
<i class="fas fa-fw fa-times text-secondary ml-1"></i> <i class="fas fa-fw fa-times text-secondary ml-1"></i>
</a> </a>
</div> </div>
@@ -693,7 +708,7 @@ if (isset($_GET['ticket_id'])) {
<?php } else { ?> <?php } else { ?>
<div> <div>
<a href='client_asset_details.php?client_id=<?php echo $client_id?>&asset_id=<?php echo $asset_id?>' ><i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2"></i><strong><?php echo $asset_name; ?></strong></a> <a href='client_asset_details.php?client_id=<?php echo $client_id ?>&asset_id=<?php echo $asset_id ?>'><i class="fa fa-fw fa-desktop text-secondary ml-1 mr-2"></i><strong><?php echo $asset_name; ?></strong></a>
</div> </div>
<?php if (!empty($asset_os)) { ?> <?php if (!empty($asset_os)) { ?>
@@ -774,9 +789,11 @@ if (isset($_GET['ticket_id'])) {
</div> </div>
</div> </div>
<?php } // End Ticket asset Count ?> <?php } // End Ticket asset Count
?>
<?php } // End if asset_id == 0 else ?> <?php } // End if asset_id == 0 else
?>
</div> </div>
<!-- End Asset card --> <!-- End Asset card -->
@@ -824,7 +841,8 @@ if (isset($_GET['ticket_id'])) {
</div> </div>
<?php } ?> <?php } ?>
<?php } //End Else ?> <?php } //End Else
?>
</div> </div>
<!-- End Vendor card --> <!-- End Vendor card -->
@@ -837,18 +855,24 @@ if (isset($_GET['ticket_id'])) {
<div class="input-group-prepend"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-user"></i></span> <span class="input-group-text"><i class="fa fa-fw fa-user"></i></span>
</div> </div>
<select class="form-control select2" name="assigned_to" <?php if ($ticket_status == "Closed") {echo "disabled";} ?>> <select class="form-control select2" name="assigned_to" <?php if ($ticket_status == "Closed") {
echo "disabled";
} ?>>
<option value="0">Not Assigned</option> <option value="0">Not Assigned</option>
<?php <?php
while ($row = mysqli_fetch_array($sql_assign_to_select)) { while ($row = mysqli_fetch_array($sql_assign_to_select)) {
$user_id = intval($row['user_id']); $user_id = intval($row['user_id']);
$user_name = nullable_htmlentities($row['user_name']); ?> $user_name = nullable_htmlentities($row['user_name']); ?>
<option <?php if ($ticket_assigned_to == $user_id) { echo "selected"; } ?> value="<?php echo $user_id; ?>"><?php echo $user_name; ?></option> <option <?php if ($ticket_assigned_to == $user_id) {
echo "selected";
} ?> value="<?php echo $user_id; ?>"><?php echo $user_name; ?></option>
<?php } ?> <?php } ?>
</select> </select>
<div class="input-group-append d-print-none"> <div class="input-group-append d-print-none">
<button type="submit" class="btn btn-primary" name="assign_ticket" <?php if ($ticket_status == "Closed") {echo "disabled";} ?>><i class="fas fa-check"></i></button> <button type="submit" class="btn btn-primary" name="assign_ticket" <?php if ($ticket_status == "Closed") {
echo "disabled";
} ?>><i class="fas fa-check"></i></button>
</div> </div>
</div> </div>
</div> </div>
@@ -872,7 +896,7 @@ if (isset($_GET['ticket_id'])) {
</div> </div>
<?php <?php
require_once "ticket_edit_modal.php"; require_once "ticket_edit_modal.php";
require_once "ticket_edit_contact_modal.php"; require_once "ticket_edit_contact_modal.php";
@@ -895,9 +919,7 @@ if (isset($_GET['ticket_id'])) {
require_once "ticket_edit_billable_modal.php"; require_once "ticket_edit_billable_modal.php";
require_once "ticket_invoice_add_modal.php"; require_once "ticket_invoice_add_modal.php";
} }
} }
} }
@@ -911,7 +933,7 @@ require_once "footer.php";
<script src="js/show_modals.js"></script> <?php <script src="js/show_modals.js"></script> <?php
if ($ticket_status !== "Closed") { ?> if ($ticket_status !== "Closed") { ?>
<!-- Ticket Time Tracking JS --> <!-- Ticket Time Tracking JS -->
<script src="js/ticket_time_tracking.js"></script> <script src="js/ticket_time_tracking.js"></script>
@@ -921,4 +943,3 @@ if ($ticket_status !== "Closed") { ?>
<?php } ?> <?php } ?>
<script src="js/pretty_content.js"></script> <script src="js/pretty_content.js"></script>
+4 -8
View File
@@ -16,11 +16,9 @@
<div class="form-group"> <div class="form-group">
<label>Scheduled Date and Time</label> <label>Scheduled Date and Time</label>
<?php if (!$ticket_scheduled_for) { ?> <?php if (!$ticket_scheduled_for) { ?>
<input type="datetime-local" class="form-control" name="scheduled_date_time" <input type="datetime-local" class="form-control" name="scheduled_date_time" placeholder="Scheduled Date & Time">
placeholder="Scheduled Date & Time">
<?php } else { ?> <?php } else { ?>
<input type="datetime-local" class="form-control" name="scheduled_date_time" <input type="datetime-local" class="form-control" name="scheduled_date_time" value="<?php echo $ticket_scheduled_for; ?>">
value="<?php echo $ticket_scheduled_for; ?>">
<?php } ?> <?php } ?>
</div> </div>
@@ -34,10 +32,8 @@
</div> </div>
<div class="modal-footer bg-white"> <div class="modal-footer bg-white">
<button type="submit" name="edit_ticket_schedule" class="btn btn-primary text-bold"><i <button type="submit" name="edit_ticket_schedule" class="btn btn-primary text-bold"><i class="fa fa-check mr-2"></i>Save</button>
class="fa fa-check mr-2"></i>Save</button> <button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i
class="fa fa-times mr-2"></i>Cancel</button>
</div> </div>
</form> </form>
+59 -42
View File
@@ -39,7 +39,7 @@ if (isset($_GET['assigned']) & !empty($_GET['assigned'])) {
if ($_GET['assigned'] == 'unassigned') { if ($_GET['assigned'] == 'unassigned') {
$ticket_assigned_filter = 'AND ticket_assigned_to = 0'; $ticket_assigned_filter = 'AND ticket_assigned_to = 0';
} else { } else {
$ticket_assigned_filter = 'AND ticket_assigned_to = '.intval($_GET['assigned']); $ticket_assigned_filter = 'AND ticket_assigned_to = ' . intval($_GET['assigned']);
} }
} else { } else {
// Default - any // Default - any
@@ -117,10 +117,11 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
<div class="row"> <div class="row">
<div class="col-sm-4"> <div class="col-sm-4">
<div class="input-group"> <div class="input-group">
<input type="search" class="form-control" name="q" value="<?php if (isset($q)) { echo stripslashes(nullable_htmlentities($q)); } ?>" placeholder="Search Tickets"> <input type="search" class="form-control" name="q" value="<?php if (isset($q)) {
echo stripslashes(nullable_htmlentities($q));
} ?>" placeholder="Search Tickets">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-secondary" type="button" data-toggle="collapse" <button class="btn btn-secondary" type="button" data-toggle="collapse" data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
data-target="#advancedFilter"><i class="fas fa-filter"></i></button>
<button class="btn btn-primary"><i class="fa fa-search"></i></button> <button class="btn btn-primary"><i class="fa fa-search"></i></button>
</div> </div>
</div> </div>
@@ -172,7 +173,9 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
</div> </div>
</div> </div>
<div class="collapse <?php if (!empty($_GET['dtf']) || (isset($_GET['canned_date']) && $_GET['canned_date'] !== "custom") || (isset($_GET['status']) && is_array($_GET['status']))) { echo "show"; } ?>" id="advancedFilter"> <div class="collapse <?php if (!empty($_GET['dtf']) || (isset($_GET['canned_date']) && $_GET['canned_date'] !== "custom") || (isset($_GET['status']) && is_array($_GET['status']))) {
echo "show";
} ?>" id="advancedFilter">
<div class="row"> <div class="row">
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
@@ -232,14 +235,28 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
<div class="col-md-2"> <div class="col-md-2">
<div class="form-group"> <div class="form-group">
<label>Ticket Status</label> <label>Ticket Status</label>
<select class="form-control select2" name="status[]" data-placeholder = "Select Status" multiple> <select class="form-control select2" name="status[]" data-placeholder="Select Status" multiple>
<option value="In-Progress" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('In-Progress', $_GET['status'])) { echo 'selected'; } ?> >In-Progress</option> <option value="In-Progress" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('In-Progress', $_GET['status'])) {
<option value="Client-Replied" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Client-Replied', $_GET['status'])) { echo 'selected'; } ?> >Client-Replied</option> echo 'selected';
<option value="Pending-Client" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Client', $_GET['status'])) { echo 'selected'; } ?> >Pending-Client</option> } ?>>In-Progress</option>
<option value="Pending-Vendor" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Vendor', $_GET['status'])) { echo 'selected'; } ?> >Pending-Vendor</option> <option value="Client-Replied" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Client-Replied', $_GET['status'])) {
<option value="Pending-Shipment" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Shipment', $_GET['status'])) { echo 'selected'; } ?> >Pending-Shipment</option> echo 'selected';
<option value="Scheduled" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Scheduled', $_GET['status'])) { echo 'selected'; } ?> >Scheduled</option> } ?>>Client-Replied</option>
<option value="Closed" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Closed', $_GET['status'])) { echo 'selected'; } ?> >Closed</option> <option value="Pending-Client" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Client', $_GET['status'])) {
echo 'selected';
} ?>>Pending-Client</option>
<option value="Pending-Vendor" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Vendor', $_GET['status'])) {
echo 'selected';
} ?>>Pending-Vendor</option>
<option value="Pending-Shipment" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Pending-Shipment', $_GET['status'])) {
echo 'selected';
} ?>>Pending-Shipment</option>
<option value="Scheduled" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Scheduled', $_GET['status'])) {
echo 'selected';
} ?>>Scheduled</option>
<option value="Closed" <?php if (isset($_GET['status']) && is_array($_GET['status']) && in_array('Closed', $_GET['status'])) {
echo 'selected';
} ?>>Closed</option>
</select> </select>
</div> </div>
</div> </div>
@@ -247,8 +264,12 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
<div class="form-group"> <div class="form-group">
<label>Assigned to</label> <label>Assigned to</label>
<select class="form-control select2" name="assigned"> <select class="form-control select2" name="assigned">
<option value="" <?php if ($ticket_assigned_filter == "") {echo "selected";}?> >Any</option> <option value="" <?php if ($ticket_assigned_filter == "") {
<option value="unassigned"<?php if ($ticket_assigned_filter == "0") {echo "selected";}?> >Unassigned</option> echo "selected";
} ?>>Any</option>
<option value="unassigned" <?php if ($ticket_assigned_filter == "0") {
echo "selected";
} ?>>Unassigned</option>
<?php <?php
$sql_assign_to = mysqli_query($mysqli, "SELECT * FROM users WHERE user_archived_at IS NULL ORDER BY user_name ASC"); $sql_assign_to = mysqli_query($mysqli, "SELECT * FROM users WHERE user_archived_at IS NULL ORDER BY user_name ASC");
@@ -256,7 +277,9 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
$user_id = intval($row['user_id']); $user_id = intval($row['user_id']);
$user_name = nullable_htmlentities($row['user_name']); $user_name = nullable_htmlentities($row['user_name']);
?> ?>
<option <?php if ($ticket_assigned_filter == $user_id) { echo "selected"; } ?> value="<?php echo $user_id; ?>"><?php echo $user_name; ?></option> <option <?php if ($ticket_assigned_filter == $user_id) {
echo "selected";
} ?> value="<?php echo $user_id; ?>"><?php echo $user_name; ?></option>
<?php <?php
} }
?> ?>
@@ -272,44 +295,37 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token'] ?>"> <input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token'] ?>">
<div class="table-responsive-sm"> <div class="table-responsive-sm">
<table class="table table-striped table-borderless table-hover"> <table class="table table-striped table-borderless table-hover">
<thead class="text-dark <?php if (!$num_rows[0]) { echo "d-none"; } ?>"> <thead class="text-dark <?php if (!$num_rows[0]) {
echo "d-none";
} ?>">
<tr> <tr>
<td> <td>
<div class="form-check"> <div class="form-check">
<input class="form-check-input" id="selectAllCheckbox" type="checkbox" onclick="checkAll(this)"> <input class="form-check-input" id="selectAllCheckbox" type="checkbox" onclick="checkAll(this)">
</div> </div>
</td> </td>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_number&order=<?php echo $disp; ?>">Number</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_number&order=<?php echo $disp; ?>">Number</a>
</th> </th>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_subject&order=<?php echo $disp; ?>">Subject</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_subject&order=<?php echo $disp; ?>">Subject</a>
</th> </th>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=client_name&order=<?php echo $disp; ?>">Client / Contact</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=client_name&order=<?php echo $disp; ?>">Client / Contact</a>
</th> </th>
<?php if ($config_module_enable_accounting) { <?php if ($config_module_enable_accounting) {
?> ?>
<th class="text-center"><a class="text-dark" <th class="text-center"><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_billable&order=<?php echo $disp; ?>">Billable</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_billable&order=<?php echo $disp; ?>">Billable</a>
</th> </th>
<?php <?php
} }
?> ?>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_priority&order=<?php echo $disp; ?>">Priority</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_priority&order=<?php echo $disp; ?>">Priority</a>
</th> </th>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_status&order=<?php echo $disp; ?>">Status</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_status&order=<?php echo $disp; ?>">Status</a> <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=user_name&order=<?php echo $disp; ?>">Assigned</a>
<th><a class="text-dark"
href="?<?php echo $url_query_strings_sort; ?>&sort=user_name&order=<?php echo $disp; ?>">Assigned</a>
</th> </th>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_updated_at&order=<?php echo $disp; ?>">Last Response</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_updated_at&order=<?php echo $disp; ?>">Last Response</a>
</th> </th>
<th><a class="text-dark" <th><a class="text-dark" href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_created_at&order=<?php echo $disp; ?>">Created</a>
href="?<?php echo $url_query_strings_sort; ?>&sort=ticket_created_at&order=<?php echo $disp; ?>">Created</a>
</th> </th>
</tr> </tr>
@@ -361,7 +377,7 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
$ticket_status_color = "dark"; $ticket_status_color = "dark";
} elseif ($ticket_status == "Client-Replied") { } elseif ($ticket_status == "Client-Replied") {
$ticket_status_color = "warning"; $ticket_status_color = "warning";
} else{ } else {
$ticket_status_color = "secondary"; $ticket_status_color = "secondary";
} }
@@ -369,7 +385,7 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
$ticket_priority_color = "danger"; $ticket_priority_color = "danger";
} elseif ($ticket_priority == "Medium") { } elseif ($ticket_priority == "Medium") {
$ticket_priority_color = "warning"; $ticket_priority_color = "warning";
} else{ } else {
$ticket_priority_color = "info"; $ticket_priority_color = "info";
} }
$ticket_assigned_to = intval($row['ticket_assigned_to']); $ticket_assigned_to = intval($row['ticket_assigned_to']);
@@ -394,9 +410,11 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
?> ?>
<tr class="<?php if(empty($ticket_updated_at)) { echo "text-bold"; }?>"> <tr class="<?php if (empty($ticket_updated_at)) {
echo "text-bold";
} ?>">
<td> <td>
<?php if($ticket_status !== "Closed") { ?> <?php if ($ticket_status !== "Closed") { ?>
<div class="form-check"> <div class="form-check">
<input class="form-check-input bulk-select" type="checkbox" name="ticket_ids[]" value="<?php echo $ticket_id ?>"> <input class="form-check-input bulk-select" type="checkbox" name="ticket_ids[]" value="<?php echo $ticket_id ?>">
</div> </div>
@@ -425,7 +443,8 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
} else { } else {
echo "<span class='badge badge-pill badge-secondary'>X</span>"; echo "<span class='badge badge-pill badge-secondary'>X</span>";
} }
?></td> ?>
</td>
<?php <?php
} }
?> ?>
@@ -452,9 +471,7 @@ $user_active_assigned_tickets = intval($row['total_tickets_assigned']);
if ($config_module_enable_accounting) { if ($config_module_enable_accounting) {
require "ticket_edit_billable_modal.php"; require "ticket_edit_billable_modal.php";
} }
} }
} }
?> ?>