<?php
require_once __DIR__ . '/../../app/bootstrap.php';
require_login();

if (!has_role('ADMIN')) { http_response_code(403); die("Acceso no permitido"); }

$pdo = db();

$msg = null;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  csrf_check();

  $username = trim((string)($_POST['username'] ?? ''));
  $pass     = (string)($_POST['password'] ?? '');
  $ci       = trim((string)($_POST['ci'] ?? ''));
  $nombres  = trim((string)($_POST['nombres'] ?? ''));
  $apellidos= trim((string)($_POST['apellidos'] ?? ''));

  if ($username==='' || $pass==='' || $nombres==='' || $apellidos==='') {
    $msg = "⚠️ Completa usuario, contraseña, nombres y apellidos.";
  } else {
    $pdo->beginTransaction();

    // crear usuario
    $hash = password_hash($pass, PASSWORD_DEFAULT);

    $st = $pdo->prepare("INSERT INTO usuarios (username, password_hash, nombres, apellidos, activo, tipo) VALUES (?,?,?,?,1,'STAFF')");
    $st->execute([$username, $hash, $nombres, $apellidos]);
    $usuarioId = (int)$pdo->lastInsertId();

    // asignar rol DOCENTE
    $pdo->prepare("INSERT INTO usuario_roles (usuario_id, rol_id)
                   VALUES (?, (SELECT id FROM roles WHERE nombre='DOCENTE' LIMIT 1))")
        ->execute([$usuarioId]);

    // crear registro en docentes (estructura más común)
    // Si tu tabla docentes exige otros campos, el bootstrap te mostrará el error exacto.
    $pdo->prepare("INSERT INTO docentes (ci, nombres, apellidos, usuario_id) VALUES (?,?,?,?)")
        ->execute([$ci !== '' ? $ci : null, $nombres, $apellidos, $usuarioId]);

    $pdo->commit();
    $msg = "✅ Docente creado: $username";
  }
}

// listar docentes
$doc = $pdo->query("
  SELECT d.id, d.ci, d.nombres, d.apellidos, d.usuario_id, u.username
  FROM docentes d
  LEFT JOIN usuarios u ON u.id = d.usuario_id
  ORDER BY d.apellidos, d.nombres
")->fetchAll();

$title="Docentes";
include __DIR__ . '/../../app/views/header.php';
?>

<div class="d-flex justify-content-between align-items-center flex-wrap gap-2 mb-2">
  <h1 class="h5 mb-0">Docentes</h1>
  <a class="btn btn-outline-secondary btn-sm" href="/Comercio/public/dashboard.php">← Dashboard</a>
</div>

<?php if ($msg): ?><div class="alert alert-info"><?= htmlspecialchars($msg) ?></div><?php endif; ?>

<div class="card card-pro p-3 mb-3">
  <div class="fw-bold mb-2">Crear docente</div>
  <form method="post" class="row g-2">
    <input type="hidden" name="csrf" value="<?= htmlspecialchars(csrf_token()) ?>">

    <div class="col-12 col-md-4">
      <label class="form-label">Usuario</label>
      <input class="form-control" name="username" placeholder="ej: arnaldo.docente" required>
    </div>
    <div class="col-12 col-md-4">
      <label class="form-label">Contraseña</label>
      <input class="form-control" type="password" name="password" placeholder="mínimo 6" required>
    </div>
    <div class="col-12 col-md-4">
      <label class="form-label">CI (opcional)</label>
      <input class="form-control" name="ci" placeholder="ej: 1234567">
    </div>

    <div class="col-12 col-md-6">
      <label class="form-label">Nombres</label>
      <input class="form-control" name="nombres" required>
    </div>
    <div class="col-12 col-md-6">
      <label class="form-label">Apellidos</label>
      <input class="form-control" name="apellidos" required>
    </div>

    <div class="col-12 d-flex gap-2 mt-1">
      <button class="btn btn-brand"><i class="bi bi-person-plus me-1"></i>Crear</button>
    </div>
  </form>
</div>

<div class="card card-pro p-3">
  <div class="fw-bold mb-2">Nómina</div>

  <div class="table-responsive">
    <table class="table table-sm align-middle">
      <thead>
        <tr>
          <th>Docente</th>
          <th>CI</th>
          <th>Usuario</th>
          <th></th>
        </tr>
      </thead>
      <tbody>
      <?php foreach($doc as $d): ?>
        <tr>
          <td class="fw-semibold"><?= htmlspecialchars(($d['apellidos'] ?? '').' '.($d['nombres'] ?? '')) ?></td>
          <td><?= htmlspecialchars($d['ci'] ?? '-') ?></td>
          <td><?= htmlspecialchars($d['username'] ?? '-') ?></td>
          <td class="text-end">
            <a class="btn btn-outline-primary btn-sm"
               href="/Comercio/public/admin/asignar_clases.php?docente_id=<?= (int)$d['id'] ?>">
              Asignar clases
            </a>
          </td>
        </tr>
      <?php endforeach; ?>
      </tbody>
    </table>
  </div>
</div>

<?php include __DIR__ . '/../../app/views/footer.php'; ?>
