prepare("INSERT INTO inventory_items (name_en, name_ar, category_id, sku, unit, min_level, reorder_level, description) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$name_en, $name_ar, $category_id, $sku, $unit, $min_level, $reorder_level, $description]); $_SESSION['flash_message'] = '
' . __('item_added_successfully') . '
'; } catch (PDOException $e) { $_SESSION['flash_message'] = '
' . __('error_adding_item') . ': ' . $e->getMessage() . '
'; } } else { $_SESSION['flash_message'] = '
' . __('fill_all_required_fields') . '
'; } } elseif ($_POST['action'] === 'edit_item') { $id = $_POST['id'] ?? 0; $name_en = $_POST['name_en'] ?? ''; $name_ar = $_POST['name_ar'] ?? ''; $category_id = $_POST['category_id'] ?? null; $sku = $_POST['sku'] ?? ''; $unit = $_POST['unit'] ?? 'piece'; $min_level = $_POST['min_level'] ?? 10; $reorder_level = $_POST['reorder_level'] ?? 20; $description = $_POST['description'] ?? ''; if ($name_en && $category_id) { try { $stmt = $db->prepare("UPDATE inventory_items SET name_en = ?, name_ar = ?, category_id = ?, sku = ?, unit = ?, min_level = ?, reorder_level = ?, description = ? WHERE id = ?"); $stmt->execute([$name_en, $name_ar, $category_id, $sku, $unit, $min_level, $reorder_level, $description, $id]); $_SESSION['flash_message'] = '
' . __('item_updated_successfully') . '
'; } catch (PDOException $e) { $_SESSION['flash_message'] = '
' . __('error_updating_item') . ': ' . $e->getMessage() . '
'; } } } elseif ($_POST['action'] === 'delete_item') { $id = $_POST['id'] ?? 0; // Check usage $stmt = $db->prepare("SELECT COUNT(*) FROM inventory_batches WHERE item_id = ? AND quantity > 0"); $stmt->execute([$id]); if ($stmt->fetchColumn() > 0) { $_SESSION['flash_message'] = '
' . __('cannot_delete_item_with_stock') . '
'; } else { $stmt = $db->prepare("DELETE FROM inventory_items WHERE id = ?"); $stmt->execute([$id]); $_SESSION['flash_message'] = '
' . __('item_deleted_successfully') . '
'; } } header("Location: inventory_items.php"); exit; } } // Fetch Items with Stock $items = $db->query(" SELECT i.*, c.name_en as category_name, COALESCE((SELECT SUM(quantity) FROM inventory_batches b WHERE b.item_id = i.id), 0) as current_stock FROM inventory_items i LEFT JOIN inventory_categories c ON i.category_id = c.id ORDER BY i.name_en ASC ")->fetchAll(PDO::FETCH_ASSOC); // Fetch Categories for Dropdown $categories = $db->query("SELECT * FROM inventory_categories ORDER BY name_en ASC")->fetchAll(PDO::FETCH_ASSOC); ?>

(Low)