Пример #1
0
 public function store(CreateReportRequest $request)
 {
     if (Gate::denies('managerOnly')) {
         abort(403);
     }
     $input = $request->all();
     $result = DB::transaction(function ($input) use($input) {
         $report = new Report();
         $report->name = $input['name'];
         $report->start_date = $input['start_date'];
         $report->end_date = $input['end_date'];
         $report->owner()->associate(Auth::user());
         $report->save();
         foreach ($input['users'] as $user) {
             $report->users()->attach($user['id'], ['view_self' => $user['pivot']['view_self'], 'view_all' => $user['pivot']['view_all']]);
         }
         foreach ($input['indicators'] as $indicator) {
             $report->indicators()->attach($indicator['id'], ['show_value' => $indicator['pivot']['show_value'], 'show_points' => $indicator['pivot']['show_points']]);
         }
         return $report;
     });
     return $result;
 }