/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Business $business, Request $request)
 {
     $this->log->info(__METHOD__);
     $this->log->info(sprintf('businessId:%s', $business->id));
     $this->authorize('manageVacancies', $business);
     // BEGIN
     $vacanciesForPublishing = $request->get('vacancy');
     if (!$this->vacancyService->update($business, $vacanciesForPublishing)) {
         $this->log->warning('Nothing to update');
         Flash::warning(trans('manager.vacancies.msg.store.nothing_changed'));
         return redirect()->back();
     }
     $this->log->info('Vacancies updated');
     Flash::success(trans('manager.vacancies.msg.store.success'));
     return redirect()->route('manager.business.show', [$business]);
 }
 /**
  * Show the published vacancies timetable.
  *
  * @return Response
  */
 public function show(Business $business)
 {
     logger()->info(__METHOD__);
     logger()->info(sprintf('businessId:%s', $business->id));
     $this->authorize('manageVacancies', $business);
     // BEGIN
     $daysQuantity = $business->pref('vacancy_edit_days_quantity', config('root.vacancy_edit_days'));
     $vacancies = $business->vacancies()->with('Appointments')->get();
     $timetable = $this->vacancyService->setBusiness($business)->buildTimetable($vacancies, 'today', $daysQuantity);
     if ($business->services->isEmpty()) {
         flash()->warning(trans('manager.vacancies.msg.edit.no_services'));
     }
     return view('manager.businesses.vacancies.show', compact('business', 'timetable'));
 }
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create(Business $business)
 {
     $this->log->info(__METHOD__);
     $this->log->info(sprintf("  businessId:%s", $business->id));
     ///////////////////////////////
     // TODO: AUTH GATE GOES HERE //
     ///////////////////////////////
     //////////////////
     // FOR REFACTOR //
     //////////////////
     $dates = VacancyService::generateAvailability($business->vacancies);
     $services = $business->services;
     if ($services->isEmpty()) {
         Flash::warning(trans('manager.vacancies.msg.edit.no_services'));
     }
     return view('manager.businesses.vacancies.edit', compact('business', 'dates', 'services'));
 }