Пример #1
0
 /**
  * @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.');
     }
 }