diff --git a/index.php b/index.php index 78167f0..2bcd15e 100644 --- a/index.php +++ b/index.php @@ -457,6 +457,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $min_stock = (float)($_POST['min_stock_level'] ?? 0); $vat_rate = (float)($_POST['vat_rate'] ?? 0); $expiry = $_POST['expiry_date'] ?: null; + $is_promotion = isset($_POST['is_promotion']) ? 1 : 0; + $promo_start = $_POST['promotion_start'] ?: null; + $promo_end = $_POST['promotion_end'] ?: null; + $promo_percent = (float)($_POST['promotion_percent'] ?? 0); $image_path = null; if (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) { @@ -469,8 +473,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } if ($name_en && $name_ar) { - $stmt = db()->prepare("INSERT INTO stock_items (category_id, unit_id, supplier_id, name_en, name_ar, sku, purchase_price, sale_price, stock_quantity, min_stock_level, expiry_date, image_path, vat_rate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); - $stmt->execute([$cat_id, $unit_id, $supplier_id, $name_en, $name_ar, $sku, $p_price, $s_price, $qty, $min_stock, $expiry, $image_path, $vat_rate]); + $stmt = db()->prepare("INSERT INTO stock_items (category_id, unit_id, supplier_id, name_en, name_ar, sku, purchase_price, sale_price, stock_quantity, min_stock_level, expiry_date, image_path, vat_rate, is_promotion, promotion_start, promotion_end, promotion_percent) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); + $stmt->execute([$cat_id, $unit_id, $supplier_id, $name_en, $name_ar, $sku, $p_price, $s_price, $qty, $min_stock, $expiry, $image_path, $vat_rate, $is_promotion, $promo_start, $promo_end, $promo_percent]); $message = "Item added successfully!"; } } @@ -504,6 +508,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { $min_stock = (float)($_POST['min_stock_level'] ?? 0); $vat_rate = (float)($_POST['vat_rate'] ?? 0); $expiry = $_POST['expiry_date'] ?: null; + $is_promotion = isset($_POST['is_promotion']) ? 1 : 0; + $promo_start = $_POST['promotion_start'] ?: null; + $promo_end = $_POST['promotion_end'] ?: null; + $promo_percent = (float)($_POST['promotion_percent'] ?? 0); $stmt = db()->prepare("SELECT image_path FROM stock_items WHERE id = ?"); $stmt->execute([$id]); @@ -523,8 +531,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { } if ($name_en && $name_ar) { - $stmt = db()->prepare("UPDATE stock_items SET category_id = ?, unit_id = ?, supplier_id = ?, name_en = ?, name_ar = ?, sku = ?, purchase_price = ?, sale_price = ?, stock_quantity = ?, min_stock_level = ?, expiry_date = ?, image_path = ?, vat_rate = ? WHERE id = ?"); - $stmt->execute([$cat_id, $unit_id, $supplier_id, $name_en, $name_ar, $sku, $p_price, $s_price, $qty, $min_stock, $expiry, $image_path, $vat_rate, $id]); + $stmt = db()->prepare("UPDATE stock_items SET category_id = ?, unit_id = ?, supplier_id = ?, name_en = ?, name_ar = ?, sku = ?, purchase_price = ?, sale_price = ?, stock_quantity = ?, min_stock_level = ?, expiry_date = ?, image_path = ?, vat_rate = ?, is_promotion = ?, promotion_start = ?, promotion_end = ?, promotion_percent = ? WHERE id = ?"); + $stmt->execute([$cat_id, $unit_id, $supplier_id, $name_en, $name_ar, $sku, $p_price, $s_price, $qty, $min_stock, $expiry, $image_path, $vat_rate, $is_promotion, $promo_start, $promo_end, $promo_percent, $id]); $message = "Item updated successfully!"; } } @@ -1772,7 +1780,7 @@ switch ($page) { ORDER BY q.id DESC"); $stmt->execute($params); $data['quotations'] = $stmt->fetchAll(); - $data['items_list'] = db()->query("SELECT id, name_en, name_ar, sale_price, purchase_price, stock_quantity, vat_rate FROM stock_items ORDER BY name_en ASC")->fetchAll(); + $data['items_list'] = db()->query("SELECT id, name_en, name_ar, sale_price, purchase_price, stock_quantity, vat_rate, is_promotion, promotion_start, promotion_end, promotion_percent FROM stock_items ORDER BY name_en ASC")->fetchAll(); $data['customers_list'] = db()->query("SELECT id, name FROM customers WHERE type = 'customer' ORDER BY name ASC")->fetchAll(); break; case 'payment_methods': @@ -1822,7 +1830,7 @@ switch ($page) { } unset($inv); - $data['items_list'] = db()->query("SELECT id, name_en, name_ar, sale_price, purchase_price, stock_quantity, vat_rate FROM stock_items ORDER BY name_en ASC")->fetchAll(); + $data['items_list'] = db()->query("SELECT id, name_en, name_ar, sale_price, purchase_price, stock_quantity, vat_rate, is_promotion, promotion_start, promotion_end, promotion_percent FROM stock_items ORDER BY name_en ASC")->fetchAll(); $data['customers_list'] = db()->query("SELECT id, name FROM customers WHERE type = '" . ($type === 'sale' ? 'customer' : 'supplier') . "' ORDER BY name ASC")->fetchAll(); break; @@ -2864,7 +2872,12 @@ $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? 'Accounting System';