<?php
require_once 'verificar_permissao.php';
verificarPermissao('admin');
require_once 'conexao.php';

session_start();

if (!isset($_SESSION['tenant_id'])) {
    $_SESSION['mensagem'] = "Tenant não definido na sessão.";
    header('Location: gerenciar_usuarios.php');
    exit;
}

$tenantId = (int) $_SESSION['tenant_id'];

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id = intval($_POST['id']);
    
    // Obtém o status atual e verifica se o usuário pertence ao tenant do admin
    $stmt = $conn->prepare("SELECT ativo FROM usuarios WHERE id = ? AND tenant_id = ?");
    $stmt->bind_param("ii", $id, $tenantId);
    $stmt->execute();
    $result = $stmt->get_result();
    $usuario = $result->fetch_assoc();
    
    if (!$usuario) {
        $_SESSION['mensagem'] = "Usuário não encontrado ou sem permissão para alteração.";
        header('Location: gerenciar_usuarios.php');
        exit;
    }
    
    // Alterna o status (assumindo que 'ativo' é armazenado como 0 ou 1)
    $novoStatus = $usuario['ativo'] ? 0 : 1;
    
    $stmt = $conn->prepare("UPDATE usuarios SET ativo = ? WHERE id = ? AND tenant_id = ?");
    $stmt->bind_param("iii", $novoStatus, $id, $tenantId);
    $stmt->execute();
    
    $_SESSION['mensagem'] = "Status do usuário alterado com sucesso!";
    header('Location: gerenciar_usuarios.php');
    exit;
}
