/** * like-Action to call with class_name and object_id * * @return null */ public function likeORdis($class_name, $object_id) { if (Auth::user()) { $class_name = "\\" . self::getAppNamespace() . ucfirst($class_name); $object = $class_name::find($object_id); if ($object->liked(Auth::user())) { if ($object->dislike(\Auth::user())) { $type = "disliked"; } else { $type = "error"; } return \Response::json([$type, $object->getLikeCount()]); } else { if ($object->like(\Auth::user())) { $type = "liked"; } else { $type = "error"; } return \Response::json([$type, $object->getLikeCount(), trans("messages.liked")]); } } else { Toastr::warning("please login or register to LIKE or DISLIKE!", $title = "login required", $options = []); return \Response::json("error"); } }
/** * Save attached Media to existing Issue */ public function saveAttachedMedia($file) { $site = Site::findOrFail($this->site_id); $path = "filebank/site/" . $site->id . '/issue'; $name = 'issue-' . $site->code . '-' . $this->id . '-' . Auth::user()->id . '-' . sha1(time()) . '.' . strtolower($file->getClientOriginalExtension()); $path_name = $path . '/' . $name; $file->move($path, $name); // resize the image to a width of 1024 and constrain aspect ratio (auto height) if (exif_imagetype($path_name)) { Image::make(url($path_name))->resize(1024, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->save($path_name); } else { Toastr::error("Bad image"); } $this->photo = $name; $this->save(); }
/** * Store a newly created resource in storage. * * @return \Illuminate\Http\Response */ public function store(SiteIssueRequest $request) { // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('add', 'issue.report')) { return view('errors/404'); } $issue_request = $request->except('action'); $site = Site::findOrFail($issue_request['site_id']); $issue = SiteIssue::create($issue_request); //Create action taken + attach image to issue if ($issue) { $action_request = $request->only('action'); $action = $issue->actions()->save(new SiteIssueAction($action_request)); // Handle attached Photo or Video if ($request->hasFile('media')) { $issue->saveAttachedMedia($request->file('media')); } // Email issue $issue->emailIssue($action); } Toastr::success("Lodged safety issue"); $worksite = Site::findOrFail($issue_request['site_id']); return view('pages/home', compact('worksite')); }
/** * Update the security for user resource in storage. * * @return \Illuminate\Http\Response */ public function updateSecurity(Request $request, $username) { $user = User::where(compact('username'))->firstOrFail(); // Check authorisation and throw 404 if not if (!Auth::user()->is('security') || !Auth::user()->allowedTo('edit', 'user', $user)) { return view('errors/404'); } // Update Roles $roles = $request->get('roles'); $user->detachAllRoles(); if ($roles) { foreach ($roles as $role) { $user->attachRole($role); } } // Update Permissions $permissions = $request->get('permissions'); $user->detachAllPermissions(); if ($permissions) { foreach ($permissions as $permission) { $user->attachPermission($permission); } } Toastr::success("Saved changes"); return redirect('/user/' . $user->username . '/settings/security'); }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(CompanyLeaveRequest $request, $id) { $leave = CompanyLeave::findOrFail($id); // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('edit', 'company', $leave->company)) { return view('errors/404'); } // Format date from daterange picker to mysql format $leave_request = $request->all(); $leave_request['from'] = Carbon::createFromFormat('d/m/Y H:i', $request->get('from') . '00:00')->toDateTimeString(); $leave_request['to'] = Carbon::createFromFormat('d/m/Y H:i', $request->get('to') . '00:00')->toDateTimeString(); $leave->update($leave_request); Toastr::success("Saved changes"); return redirect('/company/leave/' . $leave->id . '/edit'); }
/** * Process Site Check-in. * * @return \Illuminate\Http\Response */ public function processCheckin(SiteCheckinRequest $request, $slug) { $site = Site::where(compact('slug'))->firstOrFail(); if ($request->has('safe_site')) { $site->attendance()->save(new SiteAttendance(['safe_site' => '1'])); } else { $site->attendance()->save(new SiteAttendance(['safe_site' => '0'])); // Create Issue + attach to site if ($request->has('action_required')) { $issue = $site->issues()->save(new SiteIssue($request->only('reason', 'action_required'))); } else { $issue = $site->issues()->save(new SiteIssue($request->only('reason'))); } //Create action taken + attach to issue if ($issue) { $action_request = $request->only('action'); $action = $issue->actions()->save(new SiteIssueAction($action_request)); // Handle attached Photo or Video if ($request->hasFile('media')) { $issue->saveAttachedMedia($request->file('media')); } // Email issue $issue->emailIssue($action); } } // if Today add them to Roster if Company is on Planer but user not on Roster $today = Carbon::now()->format('Y-m-d'); if ($site->isCompanyOnPlanner(Auth::user()->company->id, $today) && !$site->isUserOnRoster(Auth::user()->id, $today)) { $newRoster = SiteRoster::create(array('site_id' => $site->id, 'user_id' => Auth::user()->id, 'date' => $today . ' 00:00:00', 'created_by' => '1', 'updated_by' => '1')); } Toastr::success("Checked in"); return redirect('/dashboard'); }
/** * Update the photo on user model resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function updateLogo(CompanyRequest $request, $slug) { $company = Company::where(compact('slug'))->firstOrFail(); // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('edit', 'company', $company)) { return view('errors/404'); } $file = $request->file('logo'); $path = "filebank/company/" . $company->id; $name = "logo." . strtolower($file->getClientOriginalExtension()); $path_name = $path . '/' . $name; $file->move($path, $name); Image::make(url($path_name))->fit(740)->save($path_name); $company->logo_profile = $path_name; $company->save(); Toastr::success("Saved changes"); return redirect('/company/' . $company->slug . '/settings/logo'); }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $role = Role::findorFail($id); // Update Permissions $permissions = $request->get('permissions'); $role->detachAllPermissions(); if ($permissions) { foreach ($permissions as $permission) { $role->attachPermission($permission); } } /* PermissionRoleCompany::where('role_id', $id)->delete(); $permissions = $request->get('permissions'); if ($permissions) { $data = []; foreach ($permissions as $permission) { $data[] = [ 'permission_id' => $permission, 'role_id' => $id, 'company_id' => Auth::user()->company->id ]; } PermissionRoleCompany::insert($data); }*/ Toastr::success("Saved changes"); // Get Permissions $rt = getRoleTypes(); $pt = getPermissionTypes(); //$permissions = PermissionRoleCompany::where('role_id', $role->id)->lists('permission_id')->toArray(); $permissions = $role->permissions->lists('id')->toArray(); return view('manage/role/edit', compact('role', 'permissions', 'pt', 'rt')); }
/** * Update status of existing ticket */ public function updateStatus(Request $request, $id, $status) { //$ticket_id = $request->get('id'); $ticket = SupportTicket::findorFail($id); $ticket->status = $status; if ($status) { $ticket->resolved_date = "0000-00-00 00:00:00"; $ticket->eta = "0000-00-00 00:00:00"; $action_request = ['action' => 'Re-opened ticket']; $action = $ticket->actions()->save(new SupportTicketAction($action_request)); Toastr::success("Re-opened ticket"); } else { $ticket->resolved_date = Carbon::now(); $action_request = ['action' => 'Resolved ticket']; $action = $ticket->actions()->save(new SupportTicketAction($action_request)); Toastr::success("Resolved ticket"); } $ticket->save(); return redirect('support/ticket/' . $id); }
/** * Email document to someone */ public function email(Request $request, $id) { $doc = WmsDoc::findOrFail($id); $email_list = $request->has('email_list') ? $request->get('email_list') : ''; $email_user = $request->get('email_self') ? true : false; if ($email_list) { $doc->emailStatement($email_list, $email_user); Toastr::success("Sent email"); } return redirect('/safety/doc/wms/' . $doc->id); }
/** * just deleting posts if the post belongs to user or the user is admin * * @param $id * @return mixed */ public function destroy($id) { $this->repository->delete($id); Toastr::success(Auth::user()->name, $title = 'Your Post deleted successfully! Have a nice day!', $options = []); return redirect()->to(App::getLocale() . '/blog'); }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(ClientRequest $request, $slug) { $client = Client::where(compact('slug'))->firstOrFail(); $client_request = $request->except('tabs'); $client->update($client_request); Toastr::success("Saved changes"); $tabs = explode(':', $request->get('tabs')); return redirect('/client/' . $client->slug . '/' . $tabs[0] . '/' . $tabs[1]); }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(SiteDocRequest $request, $id) { $site_id = $request->get('site_id'); $type = $request->get('type'); // Redirect on 'back' button if ($request->has('back')) { return view('/site/doc/list', compact('site_id', 'type')); } $doc = SiteDoc::findOrFail($id); // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('edit', 'site.doc', $doc)) { return view('errors/404'); } // Get Original report filename path $orig_site = $doc->site_id; $orig_type = $doc->type; $orig_reportfile = $doc->reportUrl; //dd($request->all()); $doc_request = $request->only('name', 'type', 'site_id', 'notes'); $doc->update($doc_request); // if doc has altered 'site_id' or 'type' move the file to the new file location if ($doc->type != $orig_type || $doc->site_id != $orig_site) { // Make directory if non-existant if (!file_exists(public_path(pathinfo($doc->reportUrl, PATHINFO_DIRNAME)))) { mkdir(public_path(pathinfo($doc->reportUrl, PATHINFO_DIRNAME), 0755)); } rename(public_path($orig_reportfile), public_path($doc->reportUrl)); $orig_reportfile = $doc->reportUrl; } if ($doc->type == 'RISK') { $type = 'risk'; } if ($doc->type == 'HAZ') { $type = 'hazard'; } if ($doc->type == 'PLAN') { $type = 'plan'; } // Handle attached file if ($request->hasFile('uploadfile')) { $file = $request->file('uploadfile'); $path = "filebank/site/" . $doc->site_id . '/' . $type; $name = sanitizeFilename(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME)) . '.' . strtolower($file->getClientOriginalExtension()); // Ensure filename is unique by adding counter to similiar filenames $count = 1; while (file_exists(public_path("{$path}/{$name}"))) { $name = $doc->site_id . '-' . sanitizeFilename(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME)) . '-' . $count++ . '.' . strtolower($file->getClientOriginalExtension()); } $file->move($path, $name); $doc->reportfile = $name; $doc->save(); // Delete previous file if (file_exists(public_path($orig_reportfile))) { unlink(public_path($orig_reportfile)); } } Toastr::success("Updated document"); return view('site/doc/edit', compact('doc', 'site_id', 'type')); }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $comply = SiteCompliance::findOrFail($id); // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('edit', 'compliance', $comply)) { return view('errors/404'); } $comply_request = $request->only('reason', 'status', 'notes'); if ($comply_request['reason'] == '') { $comply_request['reason'] = null; } // Format date from datetime picker to mysql format //$date = new Carbon (preg_replace('/-/', '', $request->get('resolved_date'))); //$comply_request['resolveddate'] = $date->format('Y-m-d H:i:s'); $comply->update($comply_request); Toastr::success("Updated record"); return $comply; }
/** * Update the specified resource in storage. * * @return \Illuminate\Http\Response */ public function update(SiteAccidentRequest $request, $id) { $accident = SiteAccident::findOrFail($id); // Check authorisation and throw 404 if not if (!Auth::user()->allowedTo('edit', 'accident.report', $accident)) { return view('errors/404'); } $accident_request = $request->all(); // Format date from datetime picker to mysql format $date = new Carbon(preg_replace('/-/', '', $request->get('date'))); $accident_request['date'] = $date->format('Y-m-d H:i:s'); // If Status closed 'field not present' set to 0 if (!$request->has('status')) { $accident_request['status'] = '0'; } // If status was modified then update resolved date if ($accident->status != $accident_request['status']) { $accident_request['resolved_date'] = $accident_request['status'] ? '000-00-00 00:00:00' : Carbon::now()->toDateTimeString(); } $accident->update($accident_request); Toastr::success("Updated accident report"); return view('site/accident/show', compact('accident')); }
public function jobstartPDF(Request $request) { $today = Carbon::now()->format('Y-m-d'); $planner = DB::table('site_planner AS p')->select(['p.id', 'p.site_id', 'p.entity_type', 'p.entity_id', 'p.task_id', 'p.from', 't.code'])->join('trade_task as t', 'p.task_id', '=', 't.id')->whereDate('p.from', '>=', $today)->where('t.code', 'START')->orderBy('p.from')->get(); //dd($planner); $startdata = []; foreach ($planner as $plan) { $site = Site::findOrFail($plan->site_id); $entity_name = "Carpenter"; if ($plan->entity_type == 'c') { $entity_name = Company::find($plan->entity_id)->name; } $startdata[] = ['date' => Carbon::createFromFormat('Y-m-d H:i:s', $plan->from)->format('M j'), 'code' => $site->code, 'name' => $site->name, 'company' => $entity_name]; } $pdf = PDF::loadView('pdf/plan-jobstart', compact('startdata')); if ($request->has('view_pdf')) { return $pdf->stream(); } if ($request->has('email_pdf')) { /*$file = public_path('filebank/tmp/jobstart-' . Auth::user()->id . '.pdf'); if (file_exists($file)) unlink($file); $pdf->save($file);*/ if ($request->get('email_list')) { $email_list = explode(';', $request->get('email_list')); $email_list = array_map('trim', $email_list); // trim white spaces $data = ['user_fullname' => Auth::user()->fullname, 'user_company_name' => Auth::user()->company->name, 'startdata' => $startdata]; Mail::send('emails/jobstart', $data, function ($m) use($email_list, $data) { $user_email = Auth::user()->email; $user_email ? $send_from = $user_email : ($send_from = '*****@*****.**'); $m->from($send_from, Auth::user()->fullname); $m->to($email_list); $m->subject('Upcoming Job Start Dates'); }); if (count(Mail::failures()) > 0) { foreach (Mail::failures as $email_address) { Toastr::error("Failed to send to {$email_address}"); } } else { Toastr::success("Sent email"); } return view('planner/export/start'); } } }