File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/MailBoxController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Mailbox;
use Illuminate\Support\Facades\DB;
use Yajra\DataTables\Facades\DataTables;
class MailBoxController extends Controller
{
public function index(){
return view('mailbox.mailboxes');
}
public function getMailBox(Request $request){
$id = $request["id"];
$mailbox = Mailbox::where('id',$id)->with('user','businessUnit')->first();
$mail = array(
'request_type'=> $mailbox->request_type,
'business_unit'=> $mailbox->businessUnit->name ?? '',
'name'=> $mailbox->user->first_name.' '.$mailbox->user->last_name,
'document'=> $mailbox->user->document,
'email'=> $mailbox->user->email,
'message'=> $mailbox->message,
'date'=> $mailbox->created_at
);
$mailbox->read_message = 1;
$mailbox->update();
return $mail;
}
public function tableFilter(){
$obj = $obj = DB::table('mailboxes')
->select([
'mailboxes.id',
'mailboxes.request_type',
'mailboxes.created_at',
'mailboxes.message',
'users.first_name as name',
'users.last_name as lastname',
'users.document as document',
'users.email as email',
'business_units.name as business_unit_name',
])
->join('users', 'users.id', '=', 'mailboxes.user_id')
->leftjoin('business_units', 'business_units.id', '=', 'mailboxes.business_unit_id')
->whereNull('mailboxes.deleted_at');
return DataTables::of($obj)
->addColumn('actions', function ($obj) {
return '<i class="fa fa-eye iconMini" onClick="clickInfoMailbox('.$obj->id.')" name="btnEditar" data-id="'.$obj->id.'" title="Información"></i>';
})
->editColumn('name', function ($obj) {
return $obj->name.' '.$obj->lastname;
})
->rawColumns(['actions'])
->make(true);
}
public function notRead()
{
$mails = Mailbox::where('read_message', 0)->get();
if (count($mails) > 0) {
return array('r' => true, 'c' => count($mails));
} else {
return array('r' => false);
}
}
}