feat: profile_photo en contratos activos, notificaciones bilingues en reportes y foto en panel usuarios

- API contratos activos (cliente y proveedor): agrega campo profile_photo (técnico asignado o supplier, null si no tiene)
- Notificaciones push bilingues en comentarios de reporte: "Nueva actividad en tu reporte" / "New activity on your report"
- Moderador en web panel notifica a cliente y proveedor al comentar, con prefijo Moderador/Moderator
- Panel usuarios: columna de foto de perfil entre ID y Nombre

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 17:17:14 -06:00
parent 38da1b56ce
commit 0ed98c96ee
40 changed files with 1390 additions and 651 deletions

View File

@@ -44,6 +44,10 @@ class DatabaseSeeder extends Seeder
'name' => 'SuperAdmin',
]);
DB::table('roles')->insert([
'name' => 'Técnico',
]);
DB::table('users')->insert([
'name' => 'Admin',
'email' => 'torch2196@gmail.com',
@@ -102,6 +106,10 @@ class DatabaseSeeder extends Seeder
'en_name' => 'canceled',
]);
DB::table('statuses')->insert([
'name' => 'ausente',
'en_name' => 'absent',
]);
DB::table('statuses')->insert([
'name' => 'fuera de casa',
'en_name' => 'no home',
]);
@@ -110,9 +118,14 @@ class DatabaseSeeder extends Seeder
'en_name' => 'reported',
]);
DB::table('statuses')->insert([
'name' => 'ausente',
'en_name' => 'absent',
'name' => 'devuelto al cliente',
'en_name' => 'returned to client',
]);
DB::table('statuses')->insert([
'name' => 'disptuta terminada',
'en_name' => 'complain ended',
]);
$this->call([
BanksSeeder::class,