mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'feat/catalogo' into 'main'
Feat/catalogo See merge request jjimenez/safekat!727
This commit is contained in:
@ -0,0 +1,146 @@
|
||||
<!-- File: app/Views/catalogo_configuracion_libro.php -->
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionConfiguracionLibro">
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingConfiguracionLibro">
|
||||
<button class="accordion-button" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseConfiguracionLibro" aria-expanded="true"
|
||||
aria-controls="collapseConfiguracionLibro">
|
||||
<h5 class="mb-0"><?= lang('Catalogo.configuracionLibro') ?: 'Configuración del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseConfiguracionLibro" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#accordionConfiguracionLibro">
|
||||
<div class="accordion-body">
|
||||
|
||||
<?php
|
||||
// 1) TIPO DE IMPRESIÓN + ENCUADERNACIÓN
|
||||
$tipos = ['negro', 'negrohq', 'color', 'colorhq'];
|
||||
?>
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang('Presupuestos.tipoImpresion') ?></h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row px-4 mt-1">
|
||||
<div class="col-lg-3 col-md-12">
|
||||
<select id="tipo_impresion" name="tipo_impresion" class="form-control select2bs2 warning-change"
|
||||
style="width:100%" data-placeholder="<?= lang('Catalogo.seleccionarTipoImpresion') ?>">
|
||||
<option></option>
|
||||
<?php foreach ($tipos as $t): ?>
|
||||
<option value="<?= $t ?>" <?= $catalogoLibrosEntity->tipo_impresion === $t ? 'selected' : '' ?>>
|
||||
<?= lang("MaquinasTarifasImpresions.$t") ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-3 col-md-12">
|
||||
<select id="encuadernacion_id" name="encuadernacion_id"
|
||||
class="form-control select2bs2 warning-change" style="width:100%">
|
||||
<option value="<?= $catalogoLibrosEntity->encuadernacion_id ?>" selected>
|
||||
<?= esc($catalogoLibrosEntity->encuadernacionName) ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// 2) COLUMNAS Y ETIQUETAS COMPARTIDAS
|
||||
$cols = [2, 2, 2, 2, 2, 2];
|
||||
$labels = ['', 'numeroPaginas', 'papel', 'gramaje', 'solapas', 'acabados'];
|
||||
|
||||
// Función única para renderizar cualquier fila, con clase opcional
|
||||
$renderRow = function (array $cellsHtml, string $rowClass = '') use ($cols) {
|
||||
$classAttr = $rowClass ? " {$rowClass}-line" : '';
|
||||
echo "<div class=\"row{$classAttr} mb-0\">";
|
||||
foreach ($cellsHtml as $i => $cell) {
|
||||
$w = $cols[$i] ?? 2;
|
||||
echo "<div class=\"col-lg-{$w} col-md-12 px-4 mb-0\">{$cell}</div>";
|
||||
}
|
||||
echo '<div><hr class="my-1"></div></div>';
|
||||
};
|
||||
?>
|
||||
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang('Presupuestos.papelesComparadorPresupuestoAdmin') ?></h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 2a) Encabezado -->
|
||||
<?php
|
||||
$hdr = [];
|
||||
foreach ($labels as $lbl) {
|
||||
$hdr[] = '<p class="mb-0">' . ($lbl ? lang("Presupuestos.$lbl") : '') . '</p>';
|
||||
}
|
||||
echo '<div class="row mb-1">';
|
||||
foreach ($hdr as $i => $html) {
|
||||
echo '<div class="col-lg-' . $cols[$i] . ' col-md-12 px-4 mb-0">' . $html . '</div>';
|
||||
}
|
||||
echo '<div><hr class="my-1"><hr class="my-1"></div></div>';
|
||||
?>
|
||||
|
||||
<!-- 3) Filas dinámicas: negro y color -->
|
||||
<?php foreach (['negro', 'negro_pod', 'color', 'color_pod'] as $tipo):
|
||||
$pag = old("{$tipo}_paginas", $catalogoLibrosEntity->{"{$tipo}_paginas"});
|
||||
$papId = $catalogoLibrosEntity->{"{$tipo}_papel_id"};
|
||||
$papNm = $catalogoLibrosEntity->{"{$tipo}PapelName"};
|
||||
$gram = $catalogoLibrosEntity->{"{$tipo}_gramaje"};
|
||||
|
||||
$cells = [
|
||||
'<p>' . lang("MaquinasTarifasImpresions.$tipo") . '</p>',
|
||||
"<input type=\"text\" id=\"{$tipo}_paginas\" name=\"{$tipo}_paginas\" placeholder=\"0\" maxlength=\"5\" class=\"form-control {$tipo}_items\" value=\"" . esc($pag) . "\">",
|
||||
"<select id=\"{$tipo}_papel_id\" name=\"{$tipo}_papel_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\">"
|
||||
. ($papNm ? "<option value=\"" . esc($papId) . "\" selected>" . esc($papNm) . "</option>" : "")
|
||||
. "</select>",
|
||||
"<select id=\"{$tipo}_gramaje\" name=\"{$tipo}_gramaje\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\">"
|
||||
. "<option value=\"" . esc($gram) . "\" selected>" . esc($gram) . "</option></select>",
|
||||
'', // solapas
|
||||
'' // acabados
|
||||
];
|
||||
$renderRow($cells, $tipo);
|
||||
endforeach; ?>
|
||||
|
||||
<!-- 4) Cubierta y Sobrecubierta -->
|
||||
<?php
|
||||
$especiales = [
|
||||
'cubierta' => ['faces' => [2 => 'unaCara', 4 => 'dosCaras'], 'disable' => false],
|
||||
'cubierta_pod' => ['faces' => [2 => 'unaCara', 4 => 'dosCaras'], 'disable' => false],
|
||||
'sobrecubierta' => ['faces' => [0 => 'no', 1 => 'si'], 'disable' => in_array($catalogoLibrosEntity->tipo_impresion_id, [5, 6, 7, 8, 21])],
|
||||
'sobrecubierta_pod' => ['faces' => [0 => 'no', 1 => 'si'], 'disable' => in_array($catalogoLibrosEntity->tipo_impresion_id, [5, 6, 7, 8, 21])]
|
||||
];
|
||||
foreach ($especiales as $tipo => $cfg):
|
||||
$pag = $catalogoLibrosEntity->{"{$tipo}_paginas"};
|
||||
$papId = $catalogoLibrosEntity->{"{$tipo}_papel_id"};
|
||||
$papNm = $catalogoLibrosEntity->{"{$tipo}PapelName"};
|
||||
$gram = $catalogoLibrosEntity->{"{$tipo}_gramaje"};
|
||||
$sol = old("{$tipo}_solapas_ancho", $catalogoLibrosEntity->{"{$tipo}_ancho_solapas"});
|
||||
$acId = $catalogoLibrosEntity->{"{$tipo}_acabado_id"};
|
||||
$acNm = $catalogoLibrosEntity->{"{$tipo}AcabadoName"};
|
||||
|
||||
$optPag = '';
|
||||
foreach ($cfg['faces'] as $v => $lbl) {
|
||||
$sel = $pag == $v ? ' selected' : '';
|
||||
$optPag .= "<option value=\"$v\"$sel>" . lang("Presupuestos.$lbl") . "</option>";
|
||||
}
|
||||
|
||||
$cells = [
|
||||
'<p>' . lang("PapelImpresion.$tipo") . '</p>',
|
||||
"<select id=\"{$tipo}_paginas\" name=\"{$tipo}_paginas\" class=\"form-control select2bs2\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">{$optPag}</select>",
|
||||
"<select id=\"{$tipo}_papel_id\" name=\"{$tipo}_papel_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. ($papNm ? "<option value=\"" . esc($papId) . "\" selected>" . esc($papNm) . "</option>" : "")
|
||||
. "</select>",
|
||||
"<select id=\"{$tipo}_gramaje\" name=\"{$tipo}_gramaje\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. "<option value=\"" . esc($gram) . "\" selected>" . esc($gram) . "</option></select>",
|
||||
"<input type=\"text\" id=\"{$tipo}_ancho_solapas\" name=\"{$tipo}_ancho_solapas\" placeholder=\"0\" maxlength=\"5\" class=\"form-control {$tipo}_items\" value=\"" . esc($sol) . "\"" . ($cfg['disable'] ? ' disabled' : '') . ">",
|
||||
"<select id=\"{$tipo}_acabado_id\" name=\"{$tipo}_acabado_id\" class=\"form-control select2bs2 {$tipo}_items\" style=\"width:100%\"" . ($cfg['disable'] ? ' disabled' : '') . ">"
|
||||
. "<option value=\"" . esc($acId) . "\" selected>" . esc($acNm) . "</option></select>",
|
||||
];
|
||||
$renderRow($cells, $tipo);
|
||||
endforeach;
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,127 @@
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionLibro">
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingLibroDatos">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseLibroDatos" aria-expanded="true" aria-controls="collapseLibroDatos">
|
||||
<h5 class="mb-0"><?= lang("Catalogo.datosGenerales") ?? 'Datos generales del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseLibroDatos" class="accordion-collapse collapse show" data-bs-parent="#accordionLibro">
|
||||
<div class="accordion-body">
|
||||
|
||||
<div class="row">
|
||||
<!-- COLUMNA IZQUIERDA: Imagen -->
|
||||
<div class="col-md-12 col-lg-2 px-4 d-flex flex-column justify-content-center align-items-center"
|
||||
style="min-height: 100%;">
|
||||
<div class="mb-3 text-center w-100">
|
||||
<?php if (!empty($catalogoLibrosEntity->cubierta_url)): ?>
|
||||
<img src="<?= esc($catalogoLibrosEntity->cubierta_url) ?>" class="img-fluid mb-2"
|
||||
alt="Portada">
|
||||
<?php else: ?>
|
||||
<img src="https://static.cegal.es/imagenes/marcadas/9788415/978841f45711.gif" class="img-fluid mb-2"
|
||||
alt="Sin portada">
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- COLUMNA DERECHA: Datos -->
|
||||
<div class="col-md-12 col-lg-10 px-4">
|
||||
<div class="row">
|
||||
<div class="col-md-4 mb-3">
|
||||
<label for="cliente_id" class="form-label">Cliente *</label>
|
||||
<select id="cliente_id" name="cliente_id" class="form-select select2bs5">
|
||||
<option value="<?= $catalogoLibrosEntity->cliente_id ?>" selected>
|
||||
<?= $catalogoLibrosEntity->clienteName ?>
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-8 mb-3">
|
||||
<label for="titulo" class="form-label">Título *</label>
|
||||
<input type="text" id="titulo" name="titulo" class="form-control"
|
||||
value="<?= old('titulo', $catalogoLibrosEntity->titulo) ?>" required
|
||||
maxlength="300">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="autor" class="form-label">Autor</label>
|
||||
<input type="text" id="autor" name="autor" class="form-control"
|
||||
value="<?= old('autor', $catalogoLibrosEntity->autor) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="coleccion" class="form-label">Colección</label>
|
||||
<input type="text" id="coleccion" name="coleccion" class="form-control"
|
||||
value="<?= old('coleccion', $catalogoLibrosEntity->coleccion) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="editorial" class="form-label">Editorial</label>
|
||||
<input type="text" id="editorial" name="editorial" class="form-control"
|
||||
value="<?= old('editorial', $catalogoLibrosEntity->editorial) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="sello" class="form-label">Sello</label>
|
||||
<input type="text" id="sello" name="sello" class="form-control"
|
||||
value="<?= old('sello', $catalogoLibrosEntity->sello) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="isk" class="form-label">Identificador ISK</label>
|
||||
<input type="text" id="isk" name="isk" class="form-control" readonly
|
||||
value="<?= old('isk', $catalogoLibrosEntity->isk) ?>" maxlength="64"
|
||||
style="background: #E8E8E8;">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="isbn" class="form-label">ISBN *</label>
|
||||
<input type="text" id="isbn" name="isbn" class="form-control"
|
||||
value="<?= old('isbn', $catalogoLibrosEntity->isbn) ?>" maxlength="255">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="num_edic" class="form-label">Edición</label>
|
||||
<input type="number" id="num_edic" name="num_edic" class="form-control"
|
||||
value="<?= old('num_edic', $catalogoLibrosEntity->num_edic ?? 1) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ean" class="form-label">EAN</label>
|
||||
<input type="text" id="ean" name="ean" class="form-control" readonly
|
||||
style="background: #E8E8E8;" value="<?= old('ean', $catalogoLibrosEntity->ean) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ubicacion" class="form-label">Ubicación</label>
|
||||
<input type="text" id="ubicacion" name="ubicacion" class="form-control"
|
||||
value="<?= old('ubicacion', $catalogoLibrosEntity->ubicacion) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="ancho" class="form-label">Ancho *</label>
|
||||
<input type="number" step="0.01" id="ancho" name="ancho" class="form-control"
|
||||
value="<?= old('ancho', $catalogoLibrosEntity->ancho) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="alto" class="form-label">Alto *</label>
|
||||
<input type="number" step="0.01" id="alto" name="alto" class="form-control"
|
||||
value="<?= old('alto', $catalogoLibrosEntity->alto) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 mb-3">
|
||||
<label for="paginas" class="form-label">Nº Páginas *</label>
|
||||
<input type="number" id="paginas" name="paginas" class="form-control"
|
||||
value="<?= old('paginas', $catalogoLibrosEntity->paginas) ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- //.row -->
|
||||
|
||||
</div> <!-- //.accordion-body -->
|
||||
</div> <!-- //.collapse -->
|
||||
</div> <!-- //.accordion-item -->
|
||||
</div> <!-- //.accordion -->
|
||||
@ -0,0 +1,99 @@
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionLibroOtros">
|
||||
<div class="card accordion-item">
|
||||
<h2 class="accordion-header" id="headingOtrosDatos">
|
||||
<button type="button" class="accordion-button collapsed" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOtrosDatos" aria-expanded="false" aria-controls="collapseOtrosDatos">
|
||||
<h5 class="mb-0"><?= lang("Catalogo.otrosDatosLibro") ?? 'Otros datos del libro' ?></h5>
|
||||
</button>
|
||||
</h2>
|
||||
|
||||
<div id="collapseOtrosDatos" class="accordion-collapse collapse" data-bs-parent="#accordionLibroOtros">
|
||||
<div class="accordion-body">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="peso" class="form-label">Peso</label>
|
||||
<input type="number" step="0.01" id="peso" name="peso" class="form-control"
|
||||
value="<?= old('peso', $catalogoLibrosEntity->peso) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="autor_entidad" class="form-label">Autor entidad</label>
|
||||
<input type="text" id="autor_entidad" name="autor_entidad" class="form-control"
|
||||
value="<?= old('autor_entidad', $catalogoLibrosEntity->autor_entidad) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="traductor" class="form-label">Traductor</label>
|
||||
<input type="text" id="traductor" name="traductor" class="form-control"
|
||||
value="<?= old('traductor', $catalogoLibrosEntity->traductor) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="ilustrador" class="form-label">Ilustrador</label>
|
||||
<input type="text" id="ilustrador" name="ilustrador" class="form-control"
|
||||
value="<?= old('ilustrador', $catalogoLibrosEntity->ilustrador) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="idioma" class="form-label">Idioma</label>
|
||||
<input type="text" id="idioma" name="idioma" class="form-control"
|
||||
value="<?= old('idioma', $catalogoLibrosEntity->idioma ?? 'spa') ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_edic" class="form-label">Nº Edición</label>
|
||||
<input type="number" id="num_edic" name="num_edic" class="form-control"
|
||||
value="<?= old('num_edic', $catalogoLibrosEntity->num_edic ?? 1) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="fecha_disponibilidad" class="form-label">Fecha Disponibilidad</label>
|
||||
<input type="date" id="fecha_disponibilidad" name="fecha_disponibilidad" class="form-control"
|
||||
value="<?= old('fecha_disponibilidad', $catalogoLibrosEntity->fecha_disponibilidad?->format('Y-m-d')) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="fecha_public" class="form-label">Fecha Publicación</label>
|
||||
<input type="date" id="fecha_public" name="fecha_public" class="form-control"
|
||||
value="<?= old('fecha_public', $catalogoLibrosEntity->fecha_public?->format('Y-m-d')) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_fotos" class="form-label">Nº Fotos</label>
|
||||
<input type="number" id="num_fotos" name="num_fotos" class="form-control"
|
||||
value="<?= old('num_fotos', $catalogoLibrosEntity->num_fotos ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr" class="form-label">Nº Ilustraciones</label>
|
||||
<input type="number" id="num_ilustr" name="num_ilustr" class="form-control"
|
||||
value="<?= old('num_ilustr', $catalogoLibrosEntity->num_ilustr ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr_color" class="form-label">Nº Ilustraciones Color</label>
|
||||
<input type="number" id="num_ilustr_color" name="num_ilustr_color" class="form-control"
|
||||
value="<?= old('num_ilustr_color', $catalogoLibrosEntity->num_ilustr_color ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-2 mb-3">
|
||||
<label for="num_ilustr_bn" class="form-label">Nº Ilustraciones B/N</label>
|
||||
<input type="number" id="num_ilustr_bn" name="num_ilustr_bn" class="form-control"
|
||||
value="<?= old('num_ilustr_bn', $catalogoLibrosEntity->num_ilustr_bn ?? 0) ?>">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="resumen" class="form-label">Resumen</label>
|
||||
<textarea id="resumen" name="resumen" rows="4" class="form-control"><?= old('resumen', $catalogoLibrosEntity->resumen) ?></textarea>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mb-3">
|
||||
<label for="resumen_breve" class="form-label">Resumen breve</label>
|
||||
<textarea id="resumen_breve" name="resumen_breve" rows="4" class="form-control"><?= old('resumen_breve', $catalogoLibrosEntity->resumen_breve) ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,20 @@
|
||||
<?php if (!empty($catalogoLibrosEntity->user_created_id)): ?>
|
||||
<div
|
||||
class="container-fluid d-flex flex-md-row flex-column justify-content-between align-items-md-center gap-1 container-p-x py-3">
|
||||
<div class="col-md-6">
|
||||
<p>
|
||||
<strong><?= lang("Catalogo.created_by_at") ?></strong>
|
||||
<span id="created_by"><?= $catalogoLibrosEntity->createdUser ?></span>,
|
||||
<span id="created_at"><?= $catalogoLibrosEntity->created_at ?></span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<p>
|
||||
<strong><?= lang("Catalogo.updated_by_at") ?></strong>
|
||||
<span id="updated_by"><?= $catalogoLibrosEntity->updatedUser ?></span>,
|
||||
<span id="updated_at_footer"><?= $catalogoLibrosEntity->updated_at ?></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
@ -0,0 +1,48 @@
|
||||
<?= $this->include("themes/_commonPartialsBs/select2bs5") ?>
|
||||
<?= $this->include("themes/_commonPartialsBs/sweetalert") ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section("content") ?>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
|
||||
</div><!--//.card-header -->
|
||||
|
||||
<form id="catalogoLibroForm" class="card-body" method="post" action="<?= $formAction ?>">
|
||||
<?= csrf_field() ?>
|
||||
<!-- card-body -->
|
||||
<div class="card-body">
|
||||
<?= view("themes/_commonPartialsBs/_alertBoxes") ?>
|
||||
<?= !empty($validation->getErrors()) ? $validation->listErrors("bootstrap_style") : "" ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_datosGeneralesFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_otrosDatosFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_configuracionLibroFormItems") ?>
|
||||
<?= view("themes/vuexy/form/catalogo/_trackingFormItems") ?>
|
||||
</div>
|
||||
<!-- /.card-body -->
|
||||
<!-- card-footer -->
|
||||
<div class="pt-4">
|
||||
<?php if (auth()->user()->can('catalogo.edit')): ?>
|
||||
<input type="submit" class="btn btn-primary float-start me-sm-3 me-1" name="save"
|
||||
value="<?= lang("Basic.global.Save") ?>" />
|
||||
<?php endif; ?>
|
||||
<?= anchor(route_to("CatalogoLibrosList"), lang("Basic.global.Cancel"), ["class" => "btn btn-secondary float-start"]) ?>
|
||||
</div>
|
||||
<!-- /.card-footer -->
|
||||
</form>
|
||||
</div><!-- //.card -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.row -->
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/safekat.css') ?>">
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section("additionalExternalJs") ?>
|
||||
<script type="module" src="<?= site_url('assets/js/safekat/pages/catalogo/catalogo.js?' . 'token' . '=' . (csrf_token() ?? "token")) ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -0,0 +1,80 @@
|
||||
<?= $this->include('themes/_commonPartialsBs/datatables') ?>
|
||||
<?= $this->include('themes/_commonPartialsBs/sweetalert') ?>
|
||||
<?= $this->extend('themes/vuexy/main/defaultlayout') ?>
|
||||
|
||||
<?= $this->section('content'); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="card card-info">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?= lang('Catalogo.listingPage') ?></h3>
|
||||
<?= anchor(route_to('CatalogoLibrosAdd'), lang('Basic.global.addNew') . ' ' . lang('Catalogo.libro'), ['class' => 'btn btn-primary float-end']); ?>
|
||||
</div><!--//.card-header -->
|
||||
<div class="card-body">
|
||||
<?= view('themes/_commonPartialsBs/_alertBoxes'); ?>
|
||||
|
||||
<table id="tableOfCatalogoLibros" class="table table-striped table-hover" style="width: 100%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= lang('Catalogo.portada') ?></th>
|
||||
<th><?= lang('Catalogo.id') ?></th>
|
||||
<th><?= lang('Catalogo.titulo') ?></th>
|
||||
<th><?= lang('Catalogo.cliente') ?></th>
|
||||
<th><?= lang('Catalogo.edicion') ?></th>
|
||||
<th><?= lang('Catalogo.autor') ?></th>
|
||||
<th><?= lang('Catalogo.isbn') ?></th>
|
||||
<th><?= lang('Catalogo.ean') ?></th>
|
||||
<th><?= lang('Catalogo.paginas') ?></th>
|
||||
<th class="text-nowrap" style="min-width: 85px;"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><input type="text" class="form-control filtro_catalogo" name="titulo"></th>
|
||||
<th><input type="text" class="form-control filtro_catalogo" name="cliente"></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div><!--//.card-body -->
|
||||
<div class="card-footer">
|
||||
|
||||
</div><!--//.card-footer -->
|
||||
</div><!--//.card -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.row -->
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
|
||||
<?= $this->section('css') ?>
|
||||
<link rel="stylesheet"
|
||||
href="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.css") ?>">
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.css') ?>" />
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
<script
|
||||
src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/dataTables.buttons.min.js") ?>"></script>
|
||||
<script
|
||||
src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.html5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.print.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/jszip/jszip.min.js") ?>"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/pdfmake/pdfmake.min.js") ?>"
|
||||
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
||||
<script src="<?= site_url("/themes/vuexy/vendor/libs/datatables-sk/plugins/pdfmake/vfs_fonts.js") ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/sweetalert2/sweetalert2.js') ?>"></script>
|
||||
<script type="module" src="<?= site_url("assets/js/safekat/pages/catalogo/list.js") ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -1,35 +1,33 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* MENU CATALOGO
|
||||
*/
|
||||
if (auth()->user()->inGroup('beta')) {
|
||||
?>
|
||||
if (auth()->user()->can('catalogo.menu')) {
|
||||
?>
|
||||
<!-- Catalogue -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle beta">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-book"></i>
|
||||
<div><?= lang("App.menu_catalogo") ?></div>
|
||||
<?= lang("App.menu_catalogo") ?>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_libros") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/nuevo") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_nuevo") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/categorias") ?>" class="menu-link beta">
|
||||
<div><?= lang("App.menu_catalogo_categorias") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php if (auth()->user()->can('catalogo.menu')) { ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= route_to("CatalogoLibrosList") ?>" class="menu-link">
|
||||
<?= lang("App.menu_catalogo_libros") ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (auth()->user()->can('catalogo.create')) { ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= route_to("CatalogoLibrosAdd") ?>" class="menu-link">
|
||||
<?= lang("App.menu_catalogo_nuevo") ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("catalogo/catalogo/importar") ?>" class="menu-link beta">
|
||||
<div> <?= lang("App.menu_catalogo_importar") ?></div>
|
||||
<?= lang("App.menu_catalogo_importar") ?>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user