Files
ventas_php/classes/atributo.class.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

185 lines
4.0 KiB
PHP
Executable File

<?php
class Atributo extends Main
{
private $atributoId;
private $nombre;
public function setAtributoId($value)
{
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, "Atributo");
$this->atributoId = $value;
}
public function setNombre($value)
{
$this->Util()->ValidateString($value, $max_chars=50, $minChars = 1, 'Nombre');
$this->nombre = $value;
}
public $page = 0;
public function SetPage($page)
{
$this->page = $page;
}
function Info(){
$sql = "SELECT
*
FROM
atributo
WHERE
atributoId = '".$this->atributoId."'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$row = $this->Util()->DBSelect($_SESSION["empresaId"])->GetRow();
return $row;
}
function EnumerateAll()
{
$sql = "SELECT * FROM atributo WHERE baja = '0' ORDER BY atributoId ASC";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$atributos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
return $atributos;
}
function EnumerateAll2()
{
$sql = "SELECT * FROM atributo
WHERE atributoId > 2
AND baja = '0'
ORDER BY nombre ASC";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$atributos = $this->Util()->DBSelect($_SESSION["empresaId"])->GetResult();
return $atributos;
}
function Enumerate()
{
$db = $this->Util()->DBSelect($_SESSION["empresaId"]);
$sql = "SELECT COUNT(*) FROM atributo WHERE baja = '0'";
$db->setQuery($sql);
$total = $db->GetSingle();
$pages = $this->Util()->HandleMultipages($this->page, $total ,WEB_ROOT."/atributos", "p");
$sqlAdd = " LIMIT ".$pages["start"].", ".$pages["items_per_page"];
$sql = "SELECT * FROM atributo WHERE baja = '0' ORDER BY nombre ASC".$sqlAdd;
$db->setQuery($sql);
$atributos = $db->GetResult();
$data["items"] = $atributos;
$data["pages"] = $pages;
return $data;
}
function Save(){
if($this->Util()->PrintErrors()){
return false;
}
$sql = "INSERT INTO `atributo`
(
nombre
)
VALUES (
'".utf8_decode($this->nombre)."'
)";
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
$this->Util()->setError(30039, "complete");
$this->Util()->PrintErrors();
return true;
}
function Update(){
if($this->Util()->PrintErrors()){
return false;
}
$sql = "UPDATE
`atributo`
SET
nombre = '".utf8_decode($this->nombre)."'
WHERE
atributoId = ".$this->atributoId;
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery($sql);
$this->Util()->DBSelect($_SESSION['empresaId'])->ExecuteQuery();
$this->Util()->setError(30040, "complete");
$this->Util()->PrintErrors();
return true;
}
function Delete(){
$sql = "DELETE FROM
atributo
WHERE
atributoId = '".$this->atributoId."'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
$sql = "DELETE FROM
atributoValor
WHERE
atributoId = '".$this->atributoId."'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$this->Util()->DBSelect($_SESSION["empresaId"])->DeleteData();
$this->Util()->setError(30041, "complete");
$this->Util()->PrintErrors();
return true;
}
function Baja(){
$this->Util()->DBSelect($_SESSION['empresaId'])->setQuery("
UPDATE atributo SET baja = '1'
WHERE atributoId = '".$this->atributoId."'"
);
$this->Util()->DBSelect($_SESSION['empresaId'])->UpdateData();
$this->Util()->setError(30041, "complete");
$this->Util()->PrintErrors();
return true;
}//Baja
function GetNameById(){
$sql = "SELECT
nombre
FROM
atributo
WHERE
atributoId = '".$this->atributoId."'";
$this->Util()->DBSelect($_SESSION["empresaId"])->setQuery($sql);
$name = $this->Util()->DBSelect($_SESSION["empresaId"])->GetSingle();
return $name;
}
}//Atributo
?>