JezK
Edit File: view_transaction.php
<?php session_start(); require_once 'config/database.php'; require_once 'includes/functions.php'; // Check if user is logged in if (!isset($_SESSION['user_id'])) { header('Location: login.php'); exit(); } // Get transaction ID $id = isset($_GET['id']) ? (int)$_GET['id'] : 0; if (!$id) { header('Location: transactions.php'); exit(); } // Get transaction details $transaction = getTransactionById($conn, $id); if (!$transaction) { header('Location: transactions.php'); exit(); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>View Transaction - PAYMIND</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> <link href="assets/css/style.css" rel="stylesheet"> </head> <body> <!-- Navigation --> <nav class="navbar navbar-expand-lg navbar-dark bg-primary"> <div class="container-fluid"> <a class="navbar-brand" href="index.php"> <i class="fas fa-credit-card me-2"></i>PAYMIND </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav me-auto"> <li class="nav-item"> <a class="nav-link" href="index.php"> <i class="fas fa-tachometer-alt me-1"></i>Dashboard </a> </li> <li class="nav-item"> <a class="nav-link active" href="transactions.php"> <i class="fas fa-list me-1"></i>Transactions </a> </li> <li class="nav-item"> <a class="nav-link" href="add_transaction.php"> <i class="fas fa-plus me-1"></i>Add Transaction </a> </li> <li class="nav-item"> <a class="nav-link" href="sellers.php"> <i class="fas fa-users me-1"></i>Sellers </a> </li> <li class="nav-item"> <a class="nav-link" href="employees.php"> <i class="fas fa-user-tie me-1"></i>Employees </a> </li> <li class="nav-item"> <a class="nav-link" href="attendance.php"> <i class="fas fa-calendar-check me-1"></i>Attendance & Salary </a> </li> <li class="nav-item"> <a class="nav-link" href="expense_tracker.php"> <i class="fas fa-receipt me-1"></i>Expense Tracker </a> </li> <li class="nav-item"> <a class="nav-link" href="reports.php"> <i class="fas fa-chart-bar me-1"></i>Reports </a> </li> <li class="nav-item"> <a class="nav-link" href="reminders.php"> <i class="fas fa-bell me-1"></i>Reminders </a> </li> <li class="nav-item"> <a class="nav-link" href="settings.php"> <i class="fas fa-cog me-1"></i>Settings </a> </li> </ul> <ul class="navbar-nav"> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown"> <i class="fas fa-user me-1"></i><?php echo isset($_SESSION['username']) ? $_SESSION['username'] : 'User'; ?> </a> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="profile.php">Profile</a></li> <li><a class="dropdown-item" href="settings.php">Settings</a></li> <li><hr class="dropdown-divider"></li> <li><a class="dropdown-item" href="logout.php">Logout</a></li> </ul> </li> </ul> </div> </div> </nav> <div class="container-fluid mt-4"> <div class="row"> <div class="col-12"> <div class="d-flex justify-content-between align-items-center mb-4"> <h1 class="h3 mb-0">View Transaction</h1> <div> <a href="edit_transaction.php?id=<?php echo $transaction['id']; ?>" class="btn btn-warning me-2"> <i class="fas fa-edit me-1"></i>Edit Transaction </a> <a href="transactions.php" class="btn btn-secondary"> <i class="fas fa-arrow-left me-1"></i>Back to Transactions </a> </div> </div> <!-- Transaction Details --> <div class="row"> <div class="col-lg-8"> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Transaction Details</h6> </div> <div class="card-body"> <div class="row"> <div class="col-md-6"> <table class="table table-borderless"> <tr> <td><strong>Transaction Type:</strong></td> <td> <?php $type_name = 'Unknown'; if (isset($transaction['transaction_type_id'])) { // Get transaction type name from database $type_sql = "SELECT type_name FROM transaction_types WHERE id = ?"; $type_stmt = $conn->prepare($type_sql); $type_stmt->bind_param("i", $transaction['transaction_type_id']); $type_stmt->execute(); $type_result = $type_stmt->get_result(); if ($type_row = $type_result->fetch_assoc()) { $type_name = $type_row['type_name']; } } ?> <span class="badge bg-info fs-6"><?php echo htmlspecialchars($type_name); ?></span> </td> </tr> <tr> <td><strong>Invoice No:</strong></td> <td><span class="badge bg-primary fs-6"><?php echo htmlspecialchars($transaction['invoice_number'] ?? 'N/A'); ?></span></td> </tr> <tr> <td><strong>Barcode No:</strong></td> <td><?php echo htmlspecialchars($transaction['barcode_no']); ?></td> </tr> <tr> <td><strong>Receiver Name:</strong></td> <td><?php echo htmlspecialchars($transaction['receiver_name']); ?></td> </tr> <tr> <td><strong>Sender Name:</strong></td> <td><?php echo htmlspecialchars($transaction['sender_name']); ?></td> </tr> <tr> <td><strong>Product:</strong></td> <td><?php echo htmlspecialchars($transaction['product_name']); ?></td> </tr> <tr> <td><strong>Physical Weight:</strong></td> <td><?php echo $transaction['physical_weight']; ?> g</td> </tr> <tr> <td><strong>Total Amount:</strong></td> <td><strong class="text-primary">₹<?php echo number_format($transaction['total_amount'], 2); ?></strong></td> </tr> </table> </div> <div class="col-md-6"> <table class="table table-borderless"> <tr> <td><strong>Order Date:</strong></td> <td><?php echo date('d M Y', strtotime($transaction['order_date'])); ?></td> </tr> <tr> <td><strong>Receiver City:</strong></td> <td><?php echo htmlspecialchars($transaction['receiver_city']); ?></td> </tr> <tr> <td><strong>Receiver Pincode:</strong></td> <td><?php echo htmlspecialchars($transaction['receiver_pincode']); ?></td> </tr> <tr> <td><strong>Payment Status:</strong></td> <td> <span class="badge bg-<?php echo getStatusColor($transaction['payment_status']); ?>"> <?php echo ucfirst($transaction['payment_status']); ?> </span> </td> </tr> <tr> <td><strong>Amount Received:</strong></td> <td class="text-success">₹<?php echo number_format($transaction['amount_received'], 2); ?></td> </tr> <tr> <td><strong>Amount Pending:</strong></td> <td class="text-danger">₹<?php echo number_format($transaction['amount_pending'], 2); ?></td> </tr> </table> </div> </div> </div> </div> <!-- Receiver Information --> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Receiver Information</h6> </div> <div class="card-body"> <div class="row"> <div class="col-md-6"> <strong>Address:</strong><br> <?php echo nl2br(htmlspecialchars($transaction['receiver_add_line1'])); ?> <?php if ($transaction['receiver_add_line2']): ?> <br><?php echo nl2br(htmlspecialchars($transaction['receiver_add_line2'])); ?> <?php endif; ?> <?php if ($transaction['receiver_add_line3']): ?> <br><?php echo nl2br(htmlspecialchars($transaction['receiver_add_line3'])); ?> <?php endif; ?> </div> <div class="col-md-3"> <strong>City:</strong><br> <?php echo htmlspecialchars($transaction['receiver_city']); ?><br> <strong>State:</strong><br> <?php echo htmlspecialchars($transaction['receiver_state']); ?> </div> <div class="col-md-3"> <strong>Pincode:</strong><br> <?php echo htmlspecialchars($transaction['receiver_pincode']); ?><br> <strong>Mobile:</strong><br> <?php echo htmlspecialchars($transaction['receiver_mobile']); ?> </div> </div> </div> </div> <!-- Sender Information --> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Sender Information</h6> </div> <div class="card-body"> <div class="row"> <div class="col-md-6"> <strong>Address:</strong><br> <?php echo nl2br(htmlspecialchars($transaction['sender_add_line1'])); ?> <?php if ($transaction['sender_add_line2']): ?> <br><?php echo nl2br(htmlspecialchars($transaction['sender_add_line2'])); ?> <?php endif; ?> <?php if ($transaction['sender_add_line3']): ?> <br><?php echo nl2br(htmlspecialchars($transaction['sender_add_line3'])); ?> <?php endif; ?> </div> <div class="col-md-3"> <strong>City:</strong><br> <?php echo htmlspecialchars($transaction['sender_city']); ?><br> <strong>State:</strong><br> <?php echo htmlspecialchars($transaction['sender_state']); ?> </div> <div class="col-md-3"> <strong>Pincode:</strong><br> <?php echo htmlspecialchars($transaction['sender_pincode']); ?><br> <strong>Mobile:</strong><br> <?php echo htmlspecialchars($transaction['sender_mobile']); ?> </div> </div> </div> </div> <!-- Shipping Details --> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Shipping Details</h6> </div> <div class="card-body"> <div class="row"> <div class="col-md-4"> <strong>COD Type:</strong><br> <?php echo htmlspecialchars($transaction['cod_type'] ?: 'N/A'); ?><br> <strong>COD Value:</strong><br> ₹<?php echo number_format($transaction['cod_value'] ?: 0, 2); ?> </div> <div class="col-md-4"> <strong>Prepayment Code:</strong><br> <?php echo htmlspecialchars($transaction['prepayment_code'] ?: 'N/A'); ?><br> <strong>Prepayment Value:</strong><br> ₹<?php echo number_format($transaction['prepayment_value'] ?: 0, 2); ?> </div> <div class="col-md-4"> <strong>Insurance Type:</strong><br> <?php echo htmlspecialchars($transaction['insurance_type'] ?: 'N/A'); ?><br> <strong>Insurance Value:</strong><br> ₹<?php echo number_format($transaction['insurance_value'] ?: 0, 2); ?> </div> </div> <?php if ($transaction['delivery_instruction']): ?> <div class="row mt-3"> <div class="col-12"> <strong>Delivery Instructions:</strong><br> <?php echo nl2br(htmlspecialchars($transaction['delivery_instruction'])); ?> </div> </div> <?php endif; ?> </div> </div> <!-- GYAN POST Payment Details --> <?php if ($type_name === 'GYAN_POST' && (isset($transaction['payment_received']) || isset($transaction['payment_date']) || isset($transaction['payment_mode']))): ?> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-success">GYAN POST Payment Details</h6> </div> <div class="card-body"> <div class="row"> <div class="col-md-4"> <strong>Payment Received:</strong><br> <span class="text-success fs-5">₹<?php echo number_format($transaction['payment_received'] ?: 0, 2); ?></span> </div> <div class="col-md-4"> <strong>Payment Date:</strong><br> <?php echo $transaction['payment_date'] ? date('d M Y', strtotime($transaction['payment_date'])) : 'N/A'; ?> </div> <div class="col-md-4"> <strong>Payment Mode:</strong><br> <span class="badge bg-info"><?php echo htmlspecialchars($transaction['payment_mode'] ?: 'N/A'); ?></span> </div> </div> </div> </div> <?php endif; ?> </div> <!-- Sidebar --> <div class="col-lg-4"> <!-- Payment Summary --> <div class="card shadow mb-4"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Payment Summary</h6> </div> <div class="card-body"> <div class="d-flex justify-content-between mb-2"> <span>Total Amount:</span> <strong>₹<?php echo number_format($transaction['total_amount'], 2); ?></strong> </div> <div class="d-flex justify-content-between mb-2"> <span>Amount Received:</span> <span class="text-success">₹<?php echo number_format($transaction['amount_received'], 2); ?></span> </div> <div class="d-flex justify-content-between mb-3"> <span>Amount Pending:</span> <span class="text-danger">₹<?php echo number_format($transaction['amount_pending'], 2); ?></span> </div> <div class="progress mb-3"> <?php $percentage = $transaction['total_amount'] > 0 ? ($transaction['amount_received'] / $transaction['total_amount']) * 100 : 0; ?> <div class="progress-bar bg-success" role="progressbar" style="width: <?php echo $percentage; ?>%"></div> </div> <small class="text-muted"><?php echo round($percentage, 1); ?>% paid</small> </div> </div> <!-- Quick Actions --> <div class="card shadow"> <div class="card-header py-3"> <h6 class="m-0 font-weight-bold text-primary">Quick Actions</h6> </div> <div class="card-body"> <div class="d-grid gap-2"> <a href="edit_transaction.php?id=<?php echo $transaction['id']; ?>" class="btn btn-warning"> <i class="fas fa-edit me-1"></i>Edit Transaction </a> <?php if ($transaction['amount_pending'] > 0): ?> <a href="add_payment.php?transaction_id=<?php echo $transaction['id']; ?>" class="btn btn-success"> <i class="fas fa-money-bill me-1"></i>Add Payment </a> <?php endif; ?> <a href="print_invoice.php?id=<?php echo $transaction['id']; ?>" class="btn btn-info"> <i class="fas fa-print me-1"></i>Print Invoice </a> <?php if (isAdmin()): ?> <a href="transactions.php?delete=<?php echo $transaction['id']; ?>" class="btn btn-danger" onclick="return confirm('Are you sure you want to delete this transaction?')"> <i class="fas fa-trash me-1"></i>Delete Transaction </a> <?php endif; ?> </div> </div> </div> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html>