assign('atributoId',$atributoId); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/boxes/agregar-atributo-valor-popup.tpl'); break; case 'saveValor': $atributoId = $_POST['atributoId']; // Verificar atributoId recibido error_log("=== SAVE VALOR ==="); error_log("atributoId recibido: $atributoId"); error_log("nombre recibido: " . $_POST['name']); $atribVal->setAtributoId($atributoId); $atribVal->setNombre($_POST['name']); $result = $atribVal->Save(); error_log("Resultado Save: " . ($result ? 'SUCCESS ID: ' . $result : 'FAILED')); if(!$result) { 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 '[#]'; echo $atributoId; echo '[#]'; $atribVal->setAtributoId($atributoId); // Debug directo al método EnumerateAll error_log("=== DEBUG ENUMERATEALL ==="); error_log("atributoId: $atributoId"); error_log("empresaId: " . ($_SESSION['empresaId'] ?? 'NO_SESSION')); error_log("Antes de EnumerateAll()"); $valores = $atribVal->EnumerateAll(); error_log("Resultado EnumerateAll(): " . print_r($valores, true)); error_log("Count: " . count($valores)); $item['valores'] = $util->EncodeResult($valores); // Crear estructura compatible con template $valoresForTemplate = array( 'items' => $valores, 'pages' => array() // Sin paginación para EnumerateAll ); $smarty->assign('item', $item); $smarty->assign('valores', $valoresForTemplate); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/atributos-valores-rows.tpl'); } break; case 'editValor': $atribVal->setAtribValId($_POST['atribValId']); $info = $atribVal->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-valor-popup.tpl'); break; case 'saveEditValor': $atribVal->setAtribValId($_POST['atribValId']); $atribVal->setNombre($_POST['name']); $info = $atribVal->Info(); $atributoId = $info['atributoId']; if(!$atribVal->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 '[#]'; echo $atributoId; echo '[#]'; $atribVal->setAtributoId($atributoId); $valores = $atribVal->EnumerateAll(); $item['valores'] = $util->EncodeResult($valores); // Crear estructura compatible con template $valoresForTemplate = array( 'items' => $valores, 'pages' => array() // Sin paginación para EnumerateAll ); $smarty->assign('item', $item); $smarty->assign('valores', $valoresForTemplate); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/atributos-valores-rows.tpl'); } break; case 'deleteValor': $atribVal->setAtribValId($_POST['atribValId']); $info = $atribVal->Info(); $atributoId = $info['atributoId']; if(!$atribVal->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 '[#]'; echo $atributoId; echo '[#]'; $atribVal->setAtributoId($atributoId); $valores = $atribVal->EnumerateAll(); $item['valores'] = $util->EncodeResult($valores); // Crear estructura compatible con template $valoresForTemplate = array( 'items' => $valores, 'pages' => array() // Sin paginación para EnumerateAll ); $smarty->assign('item', $item); $smarty->assign('valores', $valoresForTemplate); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/atributos-valores-rows.tpl'); } break; }//switch ?>