/**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create($tourId, TourRepository $tourRepository, ActivityRepository $activityRepository, CountryRepository $countryRepository)
 {
     $tour = $tourRepository->findTour($tourId);
     $activities = $activityRepository->getAllActivities();
     $countries = $countryRepository->getDestinationCountries();
     return view('tours.tourRelations', compact('tour', 'activities', 'countries'));
 }
 /**
  * Booking form
  *
  * @param int $tourId
  * @return Response
  */
 public function create($tourId, Request $request, UserRepository $userRepository, TourRepository $tourRepository, CountryRepository $countryRepository)
 {
     $this->validate($request, ['email' => 'required|email|max:200']);
     $email = $request->input('email');
     $user = $userRepository->findUserByEmail($email);
     $user = $user ? $user : new User();
     $tour = $tourRepository->findTour($tourId);
     $countries = $countryRepository->getAllCountries();
     $pageTitle = 'Book a Tour';
     return view('bookings.create', compact('pageTitle', 'email', 'user', 'tour', 'countries'));
 }
 /**
  * Display a tour
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id, TourRepository $tourRepository)
 {
     $tour = $tourRepository->findTour($id);
     if ($tourRepository->isDraft($tour)) {
         return redirect()->route('tours.edit', $id);
     }
     $pageTitle = 'Tour Vacation Package';
     return view('tours.show', compact('pageTitle', 'tour'));
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle(TourRepository $tourRepository)
 {
     $tour = $tourRepository->findTour($this->data['tourId']);
     $tourRepository->syncCountries($tour, $this->data['countryIds']);
     $tourRepository->syncActivities($tour, $this->data['activityIds']);
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create($tourId, TourRepository $tourRepository)
 {
     $tour = $tourRepository->findTour($tourId);
     return view('photos.create', compact('tour'));
 }