36766-vm/index.php
Flatlogic Bot 6c14b2436f 2.0
2025-12-18 09:40:37 +00:00

114 lines
4.2 KiB
PHP

<?php
require_once __DIR__ . '/includes/header.php';
require_once 'db/config.php';
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
$dealer_id = $_SESSION['dealer_id'];
try {
$pdo = db();
// Fetch pending service requests
$stmt_pending_requests = $pdo->prepare("SELECT COUNT(*) FROM service_requests WHERE dealer_id = ? AND status = 'pending'");
$stmt_pending_requests->execute([$dealer_id]);
$pending_requests_count = $stmt_pending_requests->fetchColumn();
// Fetch unactivated warranties
$stmt_unactivated_warranties = $pdo->prepare("SELECT COUNT(*) FROM sold_serials WHERE dealer_id = ? AND is_activated = FALSE");
$stmt_unactivated_warranties->execute([$dealer_id]);
$unactivated_warranties_count = $stmt_unactivated_warranties->fetchColumn();
// Fetch total products
$stmt_products = $pdo->query("SELECT COUNT(*) FROM products");
$products_count = $stmt_products->fetchColumn();
} catch (PDOException $e) {
// For simplicity, we'll just display 0 if there's a db error.
$pending_requests_count = 0;
$unactivated_warranties_count = 0;
$products_count = 0;
$open_invoices_count = 0;
$total_due = 0;
}
// Fetch open invoices summary
try {
$user_id = $_SESSION['user_id'];
$is_admin = $_SESSION['is_admin'] ?? false;
$sql = "SELECT COUNT(*) as count, SUM(total_amount) as total FROM invoices WHERE status = 'open'";
$params = [];
if (!$is_admin) {
$sql .= " AND dealer_id = ?";
$params[] = $user_id;
}
$stmt_invoices = $pdo->prepare($sql);
$stmt_invoices->execute($params);
$invoices_summary = $stmt_invoices->fetch();
$open_invoices_count = $invoices_summary['count'] ?? 0;
$total_due = $invoices_summary['total'] ?? 0;
} catch (PDOException $e) {
$open_invoices_count = 0;
$total_due = 0;
}
?>
<div class="row mb-4">
<div class="col-md-4">
<div class="card text-white bg-warning">
<div class="card-body">
<h5 class="card-title"><i class="bi bi-clock-history"></i> Pending Service Requests</h5>
<p class="card-text display-4"><?php echo $pending_requests_count; ?></p>
<a href="service_requests.php" class="text-white">View Details <i class="bi bi-arrow-right-circle"></i></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card text-white bg-info">
<div class="card-body">
<h5 class="card-title"><i class="bi bi-shield-exclamation"></i> Unactivated Warranties</h5>
<p class="card-text display-4"><?php echo $unactivated_warranties_count; ?></p>
<a href="warranty_registration.php" class="text-white">Register Now <i class="bi bi-arrow-right-circle"></i></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card text-white bg-success">
<div class="card-body">
<h5 class="card-title"><i class="bi bi-box-seam"></i> Total Products</h5>
<p class="card-text display-4"><?php echo $products_count; ?></p>
<a href="products.php" class="text-white">Browse Catalog <i class="bi bi-arrow-right-circle"></i></a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card text-white bg-danger">
<div class="card-body">
<h5 class="card-title"><i class="bi bi-file-earmark-text"></i> Open Invoices</h5>
<p class="card-text display-4"><?php echo $open_invoices_count; ?></p>
<p class="card-text">Total Due: $<?php echo number_format($total_due, 2); ?></p>
<a href="invoices.php" class="text-white">View Invoices <i class="bi bi-arrow-right-circle"></i></a>
</div>
</div>
</div>
</div>
<div class="p-5 mb-4 bg-light rounded-3">
<div class="container-fluid py-5">
<h1 class="display-5 fw-bold">Sensa Core Dealer Portal</h1>
<p class="col-md-8 fs-4">Welcome to the central hub for sales, service, and finance operations. Manage your orders, register warranties, and track service requests all in one place.</p>
</div>
</div>
<?php
require_once 'includes/footer.php';
?>