/** * 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')); }