54 lines
2.1 KiB
PHP
54 lines
2.1 KiB
PHP
<?php
|
|
session_start();
|
|
require_once 'db/config.php';
|
|
|
|
// Función para generar el código base a partir de las iniciales
|
|
function generar_codigo_base($nombre) {
|
|
$palabras = explode(' ', trim($nombre));
|
|
$iniciales = '';
|
|
foreach ($palabras as $palabra) {
|
|
if (!empty($palabra)) {
|
|
$iniciales .= strtoupper($palabra[0]);
|
|
}
|
|
}
|
|
return $iniciales;
|
|
}
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
// Recoger todos los datos del formulario
|
|
$id = $_POST['id'] ?? null;
|
|
$nombre = $_POST['nombre'] ?? '';
|
|
$codigo_base = $_POST['codigo_base'] ?? '';
|
|
$sku = !empty($_POST['sku']) ? $_POST['sku'] : null;
|
|
$costo = !empty($_POST['costo']) ? (float)$_POST['costo'] : 0.00;
|
|
$precio_venta = !empty($_POST['precio_venta']) ? (float)$_POST['precio_venta'] : 0.00;
|
|
$description = $_POST['description'] ?? '';
|
|
$provincia_id = !empty($_POST['provincia_id']) ? $_POST['provincia_id'] : null;
|
|
|
|
$show_on_panel = isset($_POST['show_on_panel']) ? 1 : 0;
|
|
|
|
// Generar código base si está vacío
|
|
if (empty($codigo_base)) {
|
|
$codigo_base = generar_codigo_base($nombre);
|
|
}
|
|
|
|
$db = db();
|
|
|
|
if (!empty($id)) {
|
|
// Actualizar producto existente
|
|
$sql = "UPDATE products SET nombre = ?, sku = ?, costo = ?, precio_venta = ?, description = ?, provincia_id = ?, show_on_panel = ?, codigo_base = ? WHERE id = ?";
|
|
$stmt = $db->prepare($sql);
|
|
$stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $show_on_panel, $codigo_base, $id]);
|
|
$_SESSION['success_message'] = "Producto actualizado exitosamente.";
|
|
} else {
|
|
// Crear nuevo producto
|
|
$sql = "INSERT INTO products (nombre, sku, costo, precio_venta, description, provincia_id, show_on_panel, codigo_base, unidades_vendidas) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0)";
|
|
$stmt = $db->prepare($sql);
|
|
$stmt->execute([$nombre, $sku, $costo, $precio_venta, $description, $provincia_id, $show_on_panel, $codigo_base]);
|
|
$_SESSION['success_message'] = "Producto creado exitosamente.";
|
|
}
|
|
|
|
header('Location: productos.php');
|
|
exit;
|
|
}
|
|
?>
|