File: /var/www/vhost/disk-apps/agile-selling-wpb/app/Http/Controllers/MailBoxController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Mailbox;
use Illuminate\Support\Facades\Storage;
use DB;
use Datatables;
class MailBoxController extends Controller
{
public function __construct(Request $request)
{
$this->middleware('auth');
// $this->middleware(function ($request, $next) {
// $this->user = Auth::user();
// if (Auth::user()->rol->id == 1 || Auth::user()->rol->id == 6) {
// $this->changeDbDefault($request);
// }
// return $next($request);
// });
}
public function index(){
// $rol = Auth::user()->rol->id;
// if ($rol == 1 || $rol == 6) {
$mailbox = Mailbox::orderBy('user_id', 'ASC')->get();
return view('mailbox.mailboxes')->with('mailboxes',$mailbox);
// }else{
// return redirect()->back();
// }
}
public function getMailBox(Request $request){
$id = $request["id"];
$mailbox = Mailbox::where('id',$id)->with('user')->first();
$mail = array(
'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')
->join('users', 'users.id', '=', 'mailboxes.user_id')
->select('mailboxes.id', 'mailboxes.created_at','mailboxes.message','users.first_name as name','users.last_name as lastname','users.document as document','users.email as email');
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);
}
}
}