/** * @param int $id * @param $encontristaId * @return mixed */ function unsubscribe($id, $encontristaId = null) { /** @var Encontrista $encontrista */ $encontrista = Encontrista::find(is_null($encontristaId) ? Auth::user()->id : $encontristaId); if (is_null($response['encontrista'] = !is_null($encontrista) ? $encontrista->id : null)) { return response()->json($response); } if (is_null($response['course_subscribed'] = !is_null(Meeting::find($id)) ? Meeting::find($id)->id : null)) { return response()->json($response); } $response['old_subscribe_status'] = !is_null($encontrista->meetings()->find($id)); if ($response['modified_subscribe_status'] = $response['old_subscribe_status']) { $encontrista->meetings()->detach($response['course_subscribed']); } $response['new_subscribe_status'] = !is_null($encontrista->meetings()->find($id)); return response()->json($response); }
public function downloadPlan($id) { $meeting = Meeting::find($id); $public_path = public_path(); $url = $public_path . '/storage/' . $meeting->plan; if (\Storage::exists($meeting->plan)) { return response()->download($url); } return redirect('historial')->with('file_error', 'No se ha encontrado el archivo especificado'); }
public function updateMeeting(Request $request) { $data = $request->all(); $validator = Validator::make($data, ['weight' => 'required|numeric', 'height' => 'required|numeric', 'waist' => 'required|numeric', 'hip' => 'required|numeric', 'arm_perimeter' => 'required|numeric', 'bicipital' => 'required|numeric', 'tricipital' => 'required|numeric', 'plan' => 'mimes:pdf', 'comment' => 'required']); if ($validator->fails()) { return redirect('citas')->with('errors', $validator->errors()); } else { $meeting = Meeting::find(intval($data['id'])); $plan = $data['plan']; if (is_object($plan)) { $name = 'plan_' . $meeting->id . '.pdf'; \Storage::disk('local')->put($name, \File::get($plan)); $meeting->plan = 'plan_' . $meeting->id . '.pdf'; } $meeting->status = 'accomplished'; $meeting->review = 5; $meeting->weight = $data['weight']; $meeting->height = $data['height']; $meeting->waist = $data['waist']; $meeting->hip = $data['hip']; $meeting->arm_perimeter = $data['arm_perimeter']; $meeting->bicipital = $data['bicipital']; $meeting->tricipital = $data['tricipital']; $meeting->bmi = round(floatval($meeting->weight / pow($meeting->height / 100, 2)), 1); //Formula IMC $meeting->ideal_weight = round(floatval(0.75 * ($meeting->height - 150) + 55), 1); $meeting->comment = $data['comment']; $meeting->save(); $nutritionistFile = $meeting->nutritionist->nutritionistFile; $nutritionistFile->reviews = $nutritionistFile->reviews + 1; $currentScore = $nutritionistFile->score; $nutritionistFile->score = $currentScore + 5; $nutritionistFile->ranking = round($nutritionistFile->score / $nutritionistFile->reviews, 1); $nutritionistFile->save(); $info_mail = ['obj' => $meeting->patient->email, 'date' => $meeting->getScheduleDateTime(), 'name' => $meeting->nutritionist->getCompleteName()]; \Mail::send('patient.notificationMessage', $info_mail, function ($message) use($info_mail) { $message->from('*****@*****.**'); $message->subject('[Nume Tracker] Tienes una nueva actualización, mensaje generado ' . date("Y-m-d H:i:s")); $message->to($info_mail['obj']); }); return redirect('citas')->with('success', 'Se han guardado los cambios en el record con éxito.'); } }