public function postAdd(Request $request)
 {
     if (!ACL::hasPermission('visitWellPhotos', 'add')) {
         return redirect(route('visitWellPhotos'))->withErrors(['Você não pode adicionar fotos.']);
     }
     $this->validate($request, ['date' => 'required|max:10', 'title' => 'required|max:100', 'image' => 'image|mimes:jpeg,gif,png'], ['date.required' => 'Informe a data', 'date.max' => 'A data não pode passar de :max caracteres', 'title.required' => 'Informe o nome da turma ou o título da foto', 'title.max' => 'O nome da turma ou título da foto não pode passar de :max caracteres', 'image.image' => 'Envie um formato de imagem válida', 'image.mimes' => 'Formatos suportados: .jpg, .gif e .png']);
     $visitWellPhotos = new VisitWellPhotos();
     $visitWellPhotos->date = Carbon::createFromFormat('d/m/Y', $request->date)->format('Y-m-d');
     $visitWellPhotos->title = $request->title;
     $visitWellPhotos->slug = str_slug($request->title, '-');
     //IMAGE
     $extension = $request->image->getClientOriginalExtension();
     $nameImage = Carbon::now()->format('YmdHis') . "." . $extension;
     $image = Image::make($request->file('image'));
     if ($request->imageCropAreaW > 0 or $request->imageCropAreaH > 0 or $request->imagePositionX or $request->imagePositionY) {
         $image->crop($request->imageCropAreaW, $request->imageCropAreaH, $request->imagePositionX, $request->imagePositionY);
     }
     $image->resize($this->imageWidth, $this->imageHeight)->save($this->folder . $nameImage);
     $visitWellPhotos->image = $nameImage;
     $visitWellPhotos->save();
     $success = "Foto adicionada com sucesso.";
     return redirect(route('visitWellPhotos'))->with(compact('success'));
 }