/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $caseOwners = CaseOwner::where('caseId', '=', $request['caseID'])->get(); $author = User::find($request['uid']); $caseNote = new CaseNote(); $caseNote->note = $request['caseNote']; $caseNote->user = $request['uid']; $caseNote->caseId = $request['caseID']; $caseNote->save(); $caseActivity = new CaseActivity(); $caseActivity->caseId = $request['caseID']; $caseActivity->user = $request['uid']; $caseActivity->addressbook = 0; $caseActivity->note = "New Case Noted Added by " . $author->name . " " . $author->surname; $caseActivity->save(); foreach ($caseOwners as $caseOwner) { $user = User::find($caseOwner->user); $data = array('name' => $user->name, 'caseID' => $request['caseID'], 'caseNote' => $request['caseNote'], 'author' => $author->name . ' ' . $author->surname); \Mail::send('casenotes.email', $data, function ($message) use($user) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($user->username)->subject("Siyaleader Notification - New Case Note: "); }); } return "ok"; }
/** * Display a listing of the resource. * * @return Response */ public function index($id, $user) { $caseOwner = CaseOwner::where('case_id', '=', $id)->where('user', '=', $user)->first(); if (sizeof($caseOwner) > 0) { return $caseOwner->accept == 1 ? 1 : 0; } else { return 0; } }
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { //tutsnare.com/upload-files-in-laravel/ //laravel-recipes.com/recipes/147/creating-a-directory //github.com/Studio-42/elFinder/wiki/Client-configuration-options#uiOptions $destinationFolder = 'files/case_' . $request['caseID']; if (!\File::exists($destinationFolder)) { $createDir = \File::makeDirectory($destinationFolder, 0777, true); } $fileName = $request->file('caseFile')->getClientOriginalName(); $fileFullPath = $destinationFolder . '/' . $fileName; if (!\File::exists($fileFullPath)) { $request->file('caseFile')->move($destinationFolder, $fileName); $caseOwners = CaseOwner::where('caseId', '=', $request['caseID'])->get(); $author = User::find($request['uid']); $caseFile = new CaseFile(); $caseFile->file = $fileName; $caseFile->imgUrl = $fileFullPath; $caseFile->user = $request['uid']; $caseFile->caseId = $request['caseID']; $caseFile->fileNote = $request['fileNote']; $caseFile->save(); $caseActivity = new CaseActivity(); $caseActivity->caseId = $request['caseID']; $caseActivity->user = $request['uid']; $caseActivity->addressbook = 0; $caseActivity->note = "New Case File Added by " . $author->name . " " . $author->surname; $caseActivity->save(); foreach ($caseOwners as $caseOwner) { $user = User::find($caseOwner->user); $data = array('name' => $user->name, 'caseID' => $request['caseID'], 'caseNote' => $fileName, 'caseFileDesc' => $request['fileNote'], 'author' => $author->name . ' ' . $author->surname); \Mail::send('casefiles.email', $data, function ($message) use($user) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($user->username)->subject("Siyaleader Notification - New Case File Uploaded: "); }); } return "ok"; } return "ok"; }
public function store(Report $report, Request $request) { \Log::info("Request " . $request); $category = \Input::get('category'); \Log::info('GET Category ' . $category); $sub_category = \Input::get('sub_category'); \Log::info('GET Sub Category ' . $sub_category); $sub_sub_category = \Input::get('sub_sub_category'); \Log::info('GET Sub Sub Category ' . $sub_sub_category); $sub_sub_category = empty($sub_sub_category) ? " " : $sub_sub_category; $description = \Input::get('description'); \Log::info('Get Description :' . $description); $description = empty($description) ? " " : $description; $gps_lat = \Input::get('gps_lat'); \Log::info('GPS Lat :' . $gps_lat); $gps_lng = \Input::get('gps_lng'); \Log::info('GPS Lng :' . $gps_lng); $user_email = \Input::get('user_email'); \Log::info('Email :' . $user_email); $priority = \Input::get('priorities'); $priority = empty($priority) ? "Normal" : $priority; \Log::info('Priority :' . $priority); $headers = apache_request_headers(); $response = array(); \Log::info("Request " . $request); if (count($_FILES) > 0) { $files = $_FILES['img']; $name = uniqid('img-' . date('Ymd') . '-'); $temp = explode(".", $files['name']); $name = $name . '.' . end($temp); if (file_exists("uploads/" . $name)) { echo $_FILES["img"]["name"] . "already exists. "; } else { $img_url = "uploads/" . $name; $target_file = "uploads/{$name}"; $resized_file = "uploads/{$name}"; $wmax = 600; $hmax = 480; $fileExt = 'jpg'; if (move_uploaded_file($_FILES["img"]["tmp_name"], $img_url)) { $this->ak_img_resize($target_file, $resized_file, $wmax, $hmax, $fileExt); } } } $img_url = isset($img_url) ? $img_url : "uploads/noimage.png"; if (isset($headers['api_key'])) { $userNew = UserNew::where('api_key', '=', $headers['api_key_new'])->first(); if (sizeof($userNew) > 0) { $objCat = DepartmentCategory::where('name', '=', $category)->first(); \Log::info('Category Object :' . $objCat); $department = Department::where('id', '=', $objCat->department)->first(); \Log::info('Department Object : ' . $department); $objSubCat = DepartmentSubCategory::where('name', '=', $sub_category)->first(); $SubCatName = sizeof($objSubCat) > 0 ? $objSubCat->name : ""; if (strlen($sub_sub_category) > 1) { $objSubSubCat = DepartmentSubSubCategory::where('name', '=', $sub_sub_category)->first(); $objSubSub = $objSubSubCat->id; } else { $objSubSubCat = 0; $objSubSub = 0; } $case = new CaseReport(); $case->description = $description; $case->user = $userNew->id; $case->reporter = $userNew->id; $case->department = $department->id; $case->category = $objCat->id; $case->sub_category = $objSubCat->id; $case->sub_sub_category = $objSubSub; $case->priority = $priority; $case->status = 'Pending'; $case->gps_lat = $gps_lat; $case->precinct = 5; $case->img_url = $img_url; $case->gps_lng = $gps_lng; $case->save(); $caseOwner = new CaseOwner(); $caseOwner->user = $userNew->id; $caseOwner->caseId = $case->id; $caseOwner->type = 0; $caseOwner->active = 1; $caseOwner->save(); $response["message"] = "Report created successfully"; $response['error'] = FALSE; $data = array('name' => $userNew->name, 'caseID' => $case->id, 'caseDesc' => $case->description); \Mail::send('emails.sms', $data, function ($message) use($userNew) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($userNew->username)->subject("Siyaleader Notification - New Case Reported:"); }); if (is_object($objSubSubCat)) { $firstRespondersObj = CaseResponder::where("sub_sub_category", '=', $objSubSubCat->id)->select('firstResponder')->first(); /*$secondRespondersObj = CaseResponder::where("sub_sub_category",'=',$objSubSubCat->id) ->select('secondResponder')->first(); $thirdRespondersObj = CaseResponder::where("sub_sub_category",'=',$objSubSubCat->id) ->select('thirdResponder')->first(); */ if (sizeof($firstRespondersObj) > 0) { $case->status = "Referred"; $case->referred_at = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString(); $case->save(); $firstResponders = explode(",", $firstRespondersObj->firstResponder); if ($firstRespondersObj->firstResponder > 0) { foreach ($firstResponders as $firstResponder) { $firstResponderUser = UserNew::find($firstResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $firstResponder; $caseOwner->caseId = $case->id; $caseOwner->type = 1; $caseOwner->active = 1; $caseOwner->save(); $data = array('name' => $firstResponderUser->name, 'caseID' => $case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description); \Mail::send('emails.responder', $data, function ($message) use($firstResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($firstResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); $cellphone = $firstResponderUser->email; \Mail::send('emails.caseEscalatedSMS', $data, function ($message) use($cellphone) { $message->from('*****@*****.**', 'Siyaleader'); $message->to('*****@*****.**')->subject("REFER: {$cellphone}"); }); } } } /* if (sizeof($secondRespondersObj) > 0) { $secondResponders = explode(",",$secondRespondersObj->secondResponder); if($secondRespondersObj->secondResponder > 0) { foreach ($secondResponders as $secondResponder) { $secondResponderUser = UserNew::find($secondResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $secondResponder ; $caseOwner->caseId = $case->id; $caseOwner->type = 2; $caseOwner->active = 1; $caseOwner->save(); $data = array( 'name' =>$secondResponderUser->name, 'caseID' =>$case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description, ); \Mail::send('emails.responder',$data, function($message) use ($secondResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($secondResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); } } } */ /* if (sizeof($thirdRespondersObj) > 0) { $thirdResponders = explode(",",$thirdRespondersObj->thirdResponder); if($thirdRespondersObj->thirdResponder > 0) { foreach ($thirdResponders as $thirdResponder) { $thirdResponderUser = UserNew::find($thirdResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $thirdResponder ; $caseOwner->caseId = $case->id; $caseOwner->type = 3; $caseOwner->active = 1; $caseOwner->save(); $data = array( 'name' =>$thirdResponderUser->name, 'caseID' =>$case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description, ); \Mail::send('emails.responder',$data, function($message) use ($thirdResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($thirdResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); } } }*/ } if (sizeof($objSubCat) > 0 && $objSubSubCat == "") { $firstRespondersObj = CaseResponder::where("sub_category", '=', $objSubCat->id)->select('firstResponder')->first(); /* $secondRespondersObj = CaseResponder::where("sub_category",'=',$objSubCat->id) ->select('secondResponder')->first(); $thirdRespondersObj = CaseResponder::where("sub_category",'=',$objSubCat->id) ->select('thirdResponder')->first(); */ if (sizeof($firstRespondersObj) > 0) { $case->status = "Referred"; $case->referred_at = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString(); $case->save(); $firstResponders = explode(",", $firstRespondersObj->firstResponder); if ($firstRespondersObj->firstResponder > 0) { foreach ($firstResponders as $firstResponder) { $firstResponderUser = UserNew::find($firstResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $firstResponder; $caseOwner->caseId = $case->id; $caseOwner->type = 1; $caseOwner->active = 1; $caseOwner->save(); $data = array('name' => $firstResponderUser->name, 'caseID' => $case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description); \Mail::send('emails.responder', $data, function ($message) use($firstResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($firstResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); $cellphone = $firstResponderUser->cellphone; \Mail::send('emails.caseEscalatedSMS', $data, function ($message) use($cellphone) { $message->from('*****@*****.**', 'Siyaleader'); $message->to('*****@*****.**')->subject("REFER: {$cellphone}"); }); } } } /* if (sizeof($secondRespondersObj) > 0) { $secondResponders = explode(",",$secondRespondersObj->secondResponder); if($secondRespondersObj->secondResponder > 0) { foreach ($secondResponders as $secondResponder) { $secondResponderUser = UserNew::find($secondResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $secondResponder ; $caseOwner->caseId = $case->id; $caseOwner->type = 2; $caseOwner->active = 1; $caseOwner->save(); $data = array( 'name' =>$secondResponderUser->name, 'caseID' =>$case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description, ); \Mail::send('emails.responder',$data, function($message) use ($secondResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($secondResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); } } }*/ /*if (sizeof($thirdRespondersObj) > 0) { $thirdResponders = explode(",",$thirdRespondersObj->thirdResponder); if($thirdRespondersObj->thirdResponder > 0) { foreach ($thirdResponders as $thirdResponder) { $thirdResponderUser = UserNew::find($thirdResponder); $caseOwner = new CaseOwner(); $caseOwner->user = $thirdResponder ; $caseOwner->caseId = $case->id; $caseOwner->type = 3; $caseOwner->active = 1; $caseOwner->save(); $data = array( 'name' =>$thirdResponderUser->name, 'caseID' =>$case->id, 'caseDesc' => $case->description, 'caseReporter' => $case->description, ); \Mail::send('emails.responder',$data, function($message) use ($thirdResponderUser) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($thirdResponderUser->username)->subject("Siyaleader Notification - New Case Reported:"); }); } } }*/ } return \Response::json($response, 201); } else { $response['message'] = 'Access Denied. Invalid Api key'; $response['error'] = TRUE; return \Response::json($response, 401); } } else { $response['message'] = 'Access Denied. Invalid Api key'; $response['error'] = TRUE; return \Response::json($response, 401); } }
<?php use App\User; use App\CaseReport; use App\CaseNote; use App\Category; use App\Ship; use App\Position; use App\Department; use App\Municipality; use App\addressbook; use App\CaseOwner; if (\Auth::user()->role == 1) { $cases = CaseReport::whereNotNull('gps_lat')->whereNotNull('gps_lng')->get(); } else { $casesIds = CaseOwner::where('user', '=', \Auth::user()->id)->get(); $ids = array(); foreach ($casesIds as $case) { $ids[] = $case->caseId; } $cases = CaseReport::whereNotNull('gps_lat')->whereNotNull('gps_lng')->whereIn('id', $ids)->get(); } foreach ($cases as $case) { if ($case->addressbook == 1) { $userObj = addressbook::find($case->reporter); $ReporterName = $userObj->FirstName . ' ' . $userObj->Surname; $ReporterPosition = ""; $ReporterMobile = $userObj->cellphone; } else { $userObj = user::find($case->reporter); $ReporterName = $userObj->name . ' ' . $userObj->surname;
/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function escalate(Request $request) { $addresses = explode(',', $request['addresses']); $caseOwners = CaseOwner::where('caseId', '=', $request['caseID'])->get(); foreach ($caseOwners as $caseOwner) { $user = User::find($caseOwner->user); $data = array('name' => $user->name, 'caseID' => $request['caseID'], 'content' => $request['message'], 'executor' => \Auth::user()->name . ' ' . \Auth::user()->surname); \Mail::send('emails.caseEscalation', $data, function ($message) use($user) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($user->username)->subject("Siyaleader Notification - Case Referred: "); }); } foreach ($addresses as $address) { $user = User::where('username', '=', $address)->first(); if (sizeof($user) <= 0) { $userAddressbook = addressbook::where('email', '=', $address)->first(); } $name = sizeof($user) <= 0 ? $userAddressbook->FirstName : $user->name; $surname = sizeof($user) <= 0 ? $userAddressbook->Surname : $user->surname; $to = sizeof($user) <= 0 ? $userAddressbook->id : $user->id; $cellphone = sizeof($user) <= 0 ? $userAddressbook->cellphone : $user->cellphone; $type = sizeof($user) <= 0 ? 1 : 0; $addressbook = sizeof($user) <= 0 ? 1 : 0; $data = array('name' => $name, 'caseID' => $request['caseID'], 'content' => $request['message']); $caseReport = CaseReport::find($request['caseID']); $caseReport->status = "Referred"; $caseReport->save(); $caseActivity = new CaseActivity(); $caseActivity->caseId = $request['caseID']; $caseActivity->user = $to; $caseActivity->addressbook = $addressbook; $caseActivity->note = "Case Referred to " . $name . " " . $surname . " by " . \Auth::user()->name . ' ' . \Auth::user()->surname; $caseActivity->save(); \Mail::send('emails.caseEscalated', $data, function ($message) use($address) { $message->from('*****@*****.**', 'Siyaleader'); $message->to($address)->subject("Siyaleader Notification - Case Referred: "); }); \Mail::send('emails.caseEscalatedSMS', $data, function ($message) use($cellphone) { $message->from('*****@*****.**', 'Siyaleader'); $message->to('*****@*****.**')->subject("REFER: {$cellphone}"); }); $caseEscalationObj = new CaseEscalator(); $caseEscalationObj->caseId = $request['caseID']; $caseEscalationObj->from = \Auth::user()->id; $caseEscalationObj->to = $to; $caseEscalationObj->type = $type; $caseEscalationObj->message = $request['message']; $caseEscalationObj->save(); $caseOwnerObj = new CaseOwner(); $caseOwnerObj->caseId = $request['caseID']; $caseOwnerObj->user = $to; $caseOwnerObj->type = 4; $caseOwnerObj->addressbook = $addressbook; $caseOwnerObj->save(); } return "ok"; }
public function allocate(Request $request) { $responders = $request['responders']; foreach ($responders as $responder) { $caseOwner = new CaseOwner(); $caseOwner->case_id = $request['caseID']; $caseOwner->user = $responder; $caseOwner->type = 1; $caseOwner->save(); } $objCase = CaseReport::find($request['caseID']); $objCaseStatus = CaseStatus::where('name', '=', 'Referred')->first(); $objCase->status = $objCaseStatus->id; $objCase->referred_at = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString(); $objCase->updated_by = \Auth::user()->id; $objCase->save(); return 'ok'; }