Files
ventas_php/ajax/atributos.php
nickpons666 ccfa01fa0e feat(atributos): Mejora la funcionalidad de la página de atributos
- Deshabilita la paginación para mostrar todos los atributos por defecto.
- Corrige un error de renderizado en 'atributos-valores.tpl' añadiendo etiquetas de cierre faltantes.
- Cambia el orden de los atributos a 'atributoId' en 'atributo.class.php'.
- Corrige un bug en 'atributoValor.class.php' descomentando una condición.
- Asegura que las acciones AJAX (añadir, editar, eliminar) refresquen la lista correctamente sin paginación.
2026-01-08 01:06:11 -06:00

150 lines
3.8 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
switch($_POST["type"]){
case 'addAtributo':
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/boxes/agregar-atributo-popup.tpl');
break;
case 'saveAtributo':
$atributo->setNombre($_POST['name']);
if(!$atributo->Save())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$all_atributos = $util->EncodeResult($atributo->EnumerateAll());
$items = array();
foreach($all_atributos as $res){
$card = $res;
$atribVal->setAtributoId($res['atributoId']);
$valores = $atribVal->EnumerateAll();
$card['valores'] = $util->EncodeResult($valores);
$items[] = $card;
}
$atributos_for_smarty = array();
$atributos_for_smarty['items'] = $items;
$atributos_for_smarty['pages'] = null;
$smarty->assign('atributos', $atributos_for_smarty);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/atributos.tpl');
}
break;
case 'editAtributo':
$atributoId = $_POST['atributoId'];
$atributo->setAtributoId($atributoId);
$info = $atributo->Info();
$info['nombre'] = utf8_encode($info['nombre']);
$smarty->assign('info', $info);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/boxes/editar-atributo-popup.tpl');
break;
case 'saveEditAtributo':
$atributo->setAtributoId($_POST['atributoId']);
$atributo->setNombre($_POST['name']);
if(!$atributo->Update())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$all_atributos = $util->EncodeResult($atributo->EnumerateAll());
$items = array();
foreach($all_atributos as $res){
$card = $res;
$atribVal->setAtributoId($res['atributoId']);
$valores = $atribVal->EnumerateAll();
$card['valores'] = $util->EncodeResult($valores);
$items[] = $card;
}
$atributos_for_smarty = array();
$atributos_for_smarty['items'] = $items;
$atributos_for_smarty['pages'] = null;
$smarty->assign('atributos', $atributos_for_smarty);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/atributos.tpl');
}
break;
case 'deleteAtributo':
$atributoId = $_POST['atributoId'];
$atributo->setAtributoId($atributoId);
if(!$atributo->Baja())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}else
{
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
echo '[#]';
$all_atributos = $util->EncodeResult($atributo->EnumerateAll());
$items = array();
foreach($all_atributos as $res){
$card = $res;
$atribVal->setAtributoId($res['atributoId']);
$valores = $atribVal->EnumerateAll();
$card['valores'] = $util->EncodeResult($valores);
$items[] = $card;
}
$atributos_for_smarty = array();
$atributos_for_smarty['items'] = $items;
$atributos_for_smarty['pages'] = null;
$smarty->assign('atributos', $atributos_for_smarty);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/atributos.tpl');
}
break;
}//switch
?>