Inicializacion del modulo catalogo

This commit is contained in:
unknown
2025-04-12 22:04:34 +02:00
parent 7350e193e5
commit 9981f878d1
3 changed files with 205 additions and 0 deletions

View File

@ -0,0 +1,2 @@
Portada Id Cliente Título Edición Autor Archivo ISBN EAN Páginas Acciones
Lo que hay que listar

View File

@ -0,0 +1,94 @@
<?php
namespace App\Entities\Catalogo;
use CodeIgniter\Entity\Entity;
class CatalogoLibro extends Entity
{
protected $attributes = [
'id' => null,
'cliente_id' => null,
'proveedor_id' => null,
'user_created_id' => 1,
'user_update_id' => 1,
'cubierta_archivo' => null,
'cubierta_url' => null,
'ancho' => 0.00,
'alto' => 0.00,
'peso' => null,
'titulo' => '',
'autor' => '',
'autor_entidad' => null,
'traductor' => null,
'ilustrador' => null,
'idioma' => 'spa',
'num_edic' => 1,
'fecha_disponibilidad' => null,
'fecha_public' => null,
'num_fotos' => 0,
'num_ilustr' => 0,
'num_ilustr_color' => 0,
'num_ilustr_bn' => 0,
'coleccion' => '',
'isbn' => null,
'ean' => null,
'editorial' => '',
'resumen' => null,
'resumen_breve' => null,
'sello' => null,
'paginas' => 0,
'tipo_impresion' => null,
'solapas_ancho' => 0.00,
'cubiertas_ancho' => 0.00,
'comentarios' => '',
'negro_paginas' => null,
'negro_papel' => null,
'negro_gramaje' => null,
'color_paginas' => null,
'color_papel' => null,
'color_gramaje' => null,
'portada_paginas' => null,
'portada_papel' => null,
'portada_gramaje' => null,
'portada_acabado' => null,
'cubierta_paginas' => null,
'cubierta_papel' => null,
'cubierta_gramaje' => null,
'cubierta_acabado' => null,
'encuardenacion' => '',
'ubicacion' => null,
'created_at' => null,
'updated_at' => null,
'deleted_at' => null,
];
protected $dates = ['created_at', 'updated_at', 'deleted_at', 'fecha_disponibilidad', 'fecha_public'];
protected $casts = [
'id' => 'int',
'cliente_id' => '?int',
'proveedor_id' => '?int',
'user_created_id' => 'int',
'user_update_id' => 'int',
'ancho' => 'float',
'alto' => 'float',
'peso' => '?float',
'num_edic' => '?int',
'num_fotos' => '?int',
'num_ilustr' => '?int',
'num_ilustr_color' => '?int',
'num_ilustr_bn' => '?int',
'paginas' => 'int',
'solapas_ancho' => 'float',
'cubiertas_ancho' => 'float',
'negro_paginas' => '?int',
'negro_gramaje' => '?float',
'color_paginas' => '?int',
'color_gramaje' => '?float',
'portada_paginas' => '?int',
'portada_gramaje' => '?float',
'cubierta_paginas' => '?int',
'cubierta_gramaje' => '?float',
];
}

View File

@ -0,0 +1,109 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
use App\Entities\Catalogo\CatalogoLibro;
class CatalogoLibroModel extends Model
{
protected $table = 'catalogo_libros';
protected $primaryKey = 'id';
protected $returnType = CatalogoLibro::class;
protected $useSoftDeletes = true;
protected $useTimestamps = true;
protected $allowedFields = [
'cliente_id',
'proveedor_id',
'user_created_id',
'user_update_id',
'cubierta_archivo',
'cubierta_url',
'ancho',
'alto',
'peso',
'titulo',
'autor',
'autor_entidad',
'traductor',
'ilustrador',
'idioma',
'num_edic',
'fecha_disponibilidad',
'fecha_public',
'num_fotos',
'num_ilustr',
'num_ilustr_color',
'num_ilustr_bn',
'coleccion',
'isbn',
'ean',
'editorial',
'resumen',
'resumen_breve',
'sello',
'paginas',
'tipo_impresion',
'solapas_ancho',
'cubiertas_ancho',
'comentarios',
'negro_paginas',
'negro_papel',
'negro_gramaje',
'color_paginas',
'color_papel',
'color_gramaje',
'portada_paginas',
'portada_papel',
'portada_gramaje',
'portada_acabado',
'cubierta_paginas',
'cubierta_papel',
'cubierta_gramaje',
'cubierta_acabado',
'encuardenacion',
'ubicacion',
];
protected $useAutoIncrement = true;
protected $protectFields = true;
protected $createdField = 'created_at';
protected $updatedField = 'updated_at';
protected $deletedField = 'deleted_at';
// Opcional: reglas de validación
protected $validationRules = [];
protected $validationMessages = [];
protected $skipValidation = false;
/**
* Get resource data.
*
* @return \CodeIgniter\Database\BaseBuilder
*/
public function getDatatableQuery()
{
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id AS id,
t1.nombre AS nombre,
t1.code AS cliente,
t1.titulo AS titulo,
t1.edicion AS edicion,
t1.autor AS autor,
t1.isbn AS isbn,
t1.ean AS ean,
t1.paginas AS paginas,
t1.cubierta_url AS portada"
);
return $builder;
}
}