95 lines
3.4 KiB
PHP
95 lines
3.4 KiB
PHP
<?php
|
|
/**
|
|
* papelera.php — Papelera de reciclaje de oficios
|
|
*/
|
|
require_once __DIR__ . '/../../config/config.php';
|
|
require_once __DIR__ . '/../../controllers/AuthController.php';
|
|
require_once __DIR__ . '/../../models/Oficio.php';
|
|
|
|
AuthController::requerirAdmin();
|
|
|
|
$model = new OficioModel();
|
|
$oficios = $model->papelera();
|
|
|
|
$pageTitle = 'Papelera de Reciclaje';
|
|
$activeNav = 'papelera';
|
|
|
|
include __DIR__ . '/../../views/layout/header.php';
|
|
include __DIR__ . '/../../views/layout/sidebar.php';
|
|
include __DIR__ . '/../../views/layout/topbar.php';
|
|
?>
|
|
<div class="page-content">
|
|
|
|
<div class="breadcrumb">
|
|
<a href="<?= APP_URL ?>/dashboard.php"><i class="fa-solid fa-house"></i></a>
|
|
<i class="fa-solid fa-chevron-right sep"></i>
|
|
<span>Papelera de Reciclaje</span>
|
|
</div>
|
|
|
|
<?php $success = $_GET['success'] ?? ''; ?>
|
|
<?php if ($success): ?>
|
|
<div class="alert alert-success"><i class="fa-solid fa-circle-check"></i> <?= htmlspecialchars($success) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<div class="page-header">
|
|
<div class="page-header-content">
|
|
<h1>Papelera de Reciclaje</h1>
|
|
<p><?= count($oficios) ?> oficio(s) en papelera · Solo administradores pueden restaurar o eliminar permanentemente</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body" style="padding:0">
|
|
<div class="table-responsive">
|
|
<table class="table" id="tablaPapelera">
|
|
<thead>
|
|
<tr>
|
|
<th>Nº Oficio</th>
|
|
<th>Asunto</th>
|
|
<th>Responsable</th>
|
|
<th>Eliminado el</th>
|
|
<th>Acciones</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php if (empty($oficios)): ?>
|
|
<tr>
|
|
<td colspan="5" class="text-center" style="padding:2rem;color:var(--text-muted)">
|
|
<i class="fa-solid fa-trash-can" style="font-size:2rem;display:block;margin-bottom:.5rem;opacity:.3"></i>
|
|
La papelera está vacía
|
|
</td>
|
|
</tr>
|
|
<?php else: ?>
|
|
<?php foreach ($oficios as $o): ?>
|
|
<tr>
|
|
<td class="fw-600"><?= htmlspecialchars($o['numero_oficio']) ?></td>
|
|
<td><?= htmlspecialchars(mb_strimwidth($o['asunto'], 0, 60, '…')) ?></td>
|
|
<td><?= htmlspecialchars($o['responsable_nombre'] ?? '—') ?></td>
|
|
<td><?= date('d/m/Y H:i', strtotime($o['deleted_at'])) ?></td>
|
|
<td>
|
|
<div class="d-flex gap-1">
|
|
<a href="<?= APP_URL ?>/controllers/OficioController.php?action=restaurar&id=<?= $o['id'] ?>"
|
|
class="btn btn-sm btn-success"
|
|
data-confirm="¿Restaurar este oficio?">
|
|
<i class="fa-solid fa-rotate-left"></i> Restaurar
|
|
</a>
|
|
<a href="<?= APP_URL ?>/controllers/OficioController.php?action=eliminar_fisico&id=<?= $o['id'] ?>"
|
|
class="btn btn-sm btn-danger"
|
|
data-confirm="⚠️ ¿Eliminar PERMANENTEMENTE? Esta acción no se puede deshacer.">
|
|
<i class="fa-solid fa-trash-can"></i> Eliminar
|
|
</a>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>$(document).ready(()=>initDataTable('#tablaPapelera'))</script>
|
|
<?php include __DIR__ . '/../../views/layout/footer.php'; ?>
|