# Implantação 020 - Item 7 (Acesso por Escola e Vínculo de Usuários)

Data: 2026-01-28

## O que foi feito
- Vínculo de usuário com escola (school_id) e validação por perfil.
- Escopo automático de dados por escola para o perfil Escola.
- Ajustes de interface para seleção de escola em usuários e restrição de criação/remoção de escolas.
- Ajuste de filtros e validações para dados sensíveis (responsáveis e estoque).

## Arquivos alterados/criados
- `app/Models/Concerns/AppliesSchoolScope.php`
- `app/Models/Student.php`
- `app/Models/Classroom.php`
- `app/Models/Enrollment.php`
- `app/Models/Teacher.php`
- `app/Models/MealStockItem.php`
- `app/Models/MonthlyClosing.php`
- `app/Models/SupportTicket.php`
- `app/Models/School.php`
- `app/Models/User.php`
- `app/Http/Controllers/Concerns/SchoolScopedController.php`
- `app/Http/Controllers/UserController.php`
- `app/Http/Controllers/SchoolController.php`
- `app/Http/Controllers/GuardianController.php`
- `app/Http/Controllers/StudentController.php`
- `app/Http/Controllers/ClassroomController.php`
- `app/Http/Controllers/EnrollmentController.php`
- `app/Http/Controllers/TeacherController.php`
- `app/Http/Controllers/MealStockController.php`
- `app/Http/Controllers/MealStockMovementController.php`
- `app/Http/Controllers/MonthlyClosingController.php`
- `database/migrations/2026_01_28_190000_add_school_id_to_users_table.php`
- `database/seeders/DatabaseSeeder.php`
- `resources/views/pages/users/create.blade.php`
- `resources/views/pages/users/edit.blade.php`
- `resources/views/pages/users/index.blade.php`
- `resources/views/pages/schools/index.blade.php`

## Comandos recomendados
- `php8.4 artisan migrate --force`
- `php8.4 artisan db:seed --force`
- `PATH=/usr/bin:/bin npm run build`

## Rollback
1) `sudo /var/www/html/escolar/scripts/rollback_snapshot.sh`
2) `sudo /var/www/html/escolar/scripts/rollback_restore.sh <timestamp>`
