/** * Store a newly created resource in storage. * * @param \App\Requests\riskRequest $request * @return \Illuminate\Http\Response */ public function store(DefenceRequest $request, $attack) { $this->authorize('append', $attack); if ($attack->tree->id != $request->input('tree')) { abort(400); } $new_defence = new Defence($request->all()); $new_defence->tree()->associate($request->input('tree')); $new_defence->tempAttacks = $request->input('attacks'); $new_defence->save(); $new_defence->attacks()->sync($request->input('attacks')); $new_defence->syncTags($request->input('tags')); return redirect()->route('tree.show', [$attack->tree])->with('succes', 'Defence successfully created'); }
/** * Bootstrap any application services. * * @return void */ public function boot() { \App\Attack::observe(new \App\Observers\AttackObserver()); \App\Defence::observe(new \App\Observers\DefenceObserver()); \App\Risk::observe(new \App\Observers\RiskObserver()); \App\Tree::observe(new \App\Observers\TreeObserver()); \App\User::observe(new \App\Observers\UserObserver()); }
/** * Create a new event instance. * * @return void */ public function __construct(\App\Defence $defence) { $this->defence = $defence->load('attacks'); $this->tree = ['id' => $defence->tree->id, 'public' => $defence->tree->public]; $this->parent = ['type' => 'attack', 'id' => $defence->tempAttacks ? $defence->tempAttacks : $defence->attack->id]; }