Files
wticreatorstudio/Modules/WTIJobBoard/Http/Controllers/ContactController.php
T
Leonard Biano 4d427fb6d5 WTIJobBoard Module Update
Settings for client category recipient emails
2024-08-02 00:43:52 +08:00

68 lines
2.1 KiB
PHP

<?php
namespace Modules\WTIJobBoard\Http\Controllers;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\WTIJobBoard\Entities\JobRequest;
use Modules\WTIJobBoard\Entities\JobRequestSetting;
use App\Traits\SendMail;
class ContactController extends Controller
{
use SendMail;
/**
* Display a listing of the resource.
* @return Renderable
*/
public function __construct()
{
$this->middleware(['auth']);
}
public function index()
{
return view('wtijobboard::client-relations');
}
public function send(Request $request)
{
if($request->has('job_request_id')){
$job_request = JobRequest::find($request->job_request_id);
if ($job_request) {
$user = auth()->user();
$send_to = $job_request->viewer == 'client' ? $job_request->category->support_email : $job_request->category->creator_support_email;
$setting = JobRequestSetting::where('job_request_category_id',$job_request->type)->where('user_id',$user->id)->whereNotNull('email')->first();
$response = $this->sendContactJobRequest($setting ? $setting->email : $user->email, $user->full_name, $send_to, $user->company->brand_name ?? null, $job_request->asin, $job_request->id , $request->message);
if($response){
return response()->json([
'message' => 'Mail has been sent successfully.'
]);
}
}
} else {
$response = $this->sendContactJobRequest(auth()->user()->email, auth()->user()->full_name, app('general_setting')->client_relations_email, null, null, null, $request->message);
if($response){
return response()->json([
'message' => 'Mail has been sent successfully.'
]);
}
}
return response()->json([
'message' => 'Something went wrong, cannnot send email.'
], 400);
}
}