Correcciones en controladores de postulaciones y contratos
- Corregir método distance() a withinDistanceTo() para consultas espaciales - Corregir parsing de fecha/hora con timezone America/Tijuana - Comentar código de WhatsApp no configurado Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -110,7 +110,7 @@ class PostulationController extends Controller
|
||||
$category = Categories::where('name', strip_tags($request->category))->orwhere('en_name', strip_tags($request->category))->first();
|
||||
|
||||
$distance = 0.5;
|
||||
$suppliers = Suppliers::distance('location', $geometry, $distance)->get();
|
||||
$suppliers = Suppliers::withinDistanceTo('location', $geometry, $distance)->get();
|
||||
|
||||
if ($suppliers != '[]') {
|
||||
|
||||
@@ -121,8 +121,10 @@ class PostulationController extends Controller
|
||||
$postulation->location = $geometry;
|
||||
$postulation->int_number = $request->int_number;
|
||||
$postulation->references = preg_replace('/\d+/', '', strip_tags($request->references));
|
||||
$timeoffset = str_replace("0", "", substr(substr(strip_tags($request->sethour), 23), 0, 3));
|
||||
$postulation->appointment = Carbon::createFromFormat('Y-m-d H:i:s', (substr(strip_tags($request->setdate), 0, 10) . ' ' . substr(substr(strip_tags($request->sethour), 11), 0, 8)), $timeoffset)->tz('UTC');
|
||||
// Parsear fecha y hora del formato ISO que envía el frontend
|
||||
$dateStr = substr(strip_tags($request->setdate), 0, 10); // "2026-01-28"
|
||||
$timeStr = substr(strip_tags($request->sethour), 11, 8); // "19:47:00"
|
||||
$postulation->appointment = Carbon::createFromFormat('Y-m-d H:i:s', $dateStr . ' ' . $timeStr, 'America/Tijuana')->tz('UTC');
|
||||
$postulation->amount = 5000;
|
||||
$postulation->details = preg_replace('/\d+/', '', strip_tags($request->details));
|
||||
$postulation->save();
|
||||
@@ -141,7 +143,7 @@ class PostulationController extends Controller
|
||||
|
||||
foreach ($suppliers as $supplier) {
|
||||
if (in_array($category->id, $supplier->categories->pluck('id')->toArray())) {
|
||||
/*OneSignal::sendNotificationUsingTags(
|
||||
OneSignal::sendNotificationUsingTags(
|
||||
"Dirígete a la sección de postulaciones en la app para ver más detalles",
|
||||
array(
|
||||
["field" => "tag", "key" => "iChamba_ID", "relation" => "=", "value" => $supplier->user_id]
|
||||
@@ -151,14 +153,15 @@ class PostulationController extends Controller
|
||||
$buttons = null,
|
||||
$schedule = null,
|
||||
$headings = "Proveedor: hay nueva postulación"
|
||||
);*/
|
||||
);
|
||||
|
||||
Whatsapp::send($supplier->user->phone, Messages\TemplateMessage::create()
|
||||
->name('suppplier_new_postulation')
|
||||
->language('es_US')
|
||||
->body(Messages\Components\Body::create([
|
||||
Messages\Components\Parameters\Text::create('Proveedor hay nueva postulación: dirígete a la sección de postulaciones en JobHero para ver más detalles'),
|
||||
])));
|
||||
// TODO: Configurar WhatsApp cuando esté disponible
|
||||
// Whatsapp::send($supplier->user->phone, Messages\TemplateMessage::create()
|
||||
// ->name('suppplier_new_postulation')
|
||||
// ->language('es_US')
|
||||
// ->body(Messages\Components\Body::create([
|
||||
// Messages\Components\Parameters\Text::create('Proveedor hay nueva postulación: dirígete a la sección de postulaciones en JobHero para ver más detalles'),
|
||||
// ])));
|
||||
|
||||
}
|
||||
}
|
||||
@@ -178,7 +181,7 @@ class PostulationController extends Controller
|
||||
|
||||
$delay_UTC = Carbon::now()->addMinutes(15)->toString();
|
||||
|
||||
/*OneSignal::sendNotificationUsingTags(
|
||||
OneSignal::sendNotificationUsingTags(
|
||||
"Dirígete a la sección de contratos en la app para ver más detalles",
|
||||
array(
|
||||
["field" => "tag", "key" => "iChamba_ID", "relation" => "=", "value" => $user->id]
|
||||
@@ -188,7 +191,7 @@ class PostulationController extends Controller
|
||||
$buttons = null,
|
||||
$schedule = $delay_UTC,
|
||||
$headings = "Búsqueda Finalizada"
|
||||
);*/
|
||||
);
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Servicio solicitado, espere a que un proveedor se postule'
|
||||
@@ -227,7 +230,7 @@ class PostulationController extends Controller
|
||||
|
||||
if ($time_limit > 0) {
|
||||
if (in_array($postulation->category_id, $supplier->categories->pluck('id')->toArray())) {
|
||||
/*if($supplier->membership == 1) {
|
||||
if($supplier->membership == 1) {
|
||||
OneSignal::sendNotificationUsingTags(
|
||||
"Dirígete a la sección de contratos en la app para ver más detalles",
|
||||
array(
|
||||
@@ -239,13 +242,14 @@ class PostulationController extends Controller
|
||||
$schedule = null,
|
||||
$headings = "Un proveedor certificado se ha postulado"
|
||||
);
|
||||
}*/
|
||||
Whatsapp::send($postulation->user->phone, Messages\TemplateMessage::create()
|
||||
->name('suppplier_postulated')
|
||||
->language('es_US')
|
||||
->body(Messages\Components\Body::create([
|
||||
Messages\Components\Parameters\Text::create('Un proveedor certificado se ha postulado: dirígete a la sección de contratos en JobHero para ver más detalles'),
|
||||
])));
|
||||
}
|
||||
// TODO: Configurar WhatsApp cuando esté disponible
|
||||
// Whatsapp::send($postulation->user->phone, Messages\TemplateMessage::create()
|
||||
// ->name('suppplier_postulated')
|
||||
// ->language('es_US')
|
||||
// ->body(Messages\Components\Body::create([
|
||||
// Messages\Components\Parameters\Text::create('Un proveedor certificado se ha postulado: dirígete a la sección de contratos en JobHero para ver más detalles'),
|
||||
// ])));
|
||||
|
||||
$supplier->postulations()->attach($request->postulation_id);
|
||||
$supplier->save();
|
||||
|
||||
Reference in New Issue
Block a user