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

@@ -17,6 +17,20 @@
<span id="error-name" class="invalid-feedback"></span>
</div>
</div>
<div class="form-group row">
{!! Form::label("contract_status","Acción sobre el contrato",["class"=>"col-form-label col-md-3 col-lg-2"]) !!}
<div class="col-md-8">
{!! Form::select("contract_status", [
'' => '— Sin cambio de estatus —',
'8' => 'Devuelto al cliente (reembolso Stripe)',
'9' => 'Disputa terminada (pagar al proveedor)',
], null, ["class"=>"form-control"]) !!}
<small class="text-muted">
"Devuelto al cliente" emite el reembolso en Stripe automáticamente.
"Disputa terminada" aparece en la sección de Pagos.
</small>
</div>
</div>
@if ($errors->any())
<div class="alert alert-danger">
<ul>