/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->validate($request, $this->rules);
     $data = $request->all();
     $data['user_id'] = $this->user['id'];
     try {
         $new_requirement = Requirements::create($data);
         if ($new_requirement->id) {
             $context_ideal_ways = ContextScenarioIdealWay::get();
             if ($context_ideal_ways) {
                 foreach ($context_ideal_ways as $row) {
                     $context_new_data_arr = array('requirement_id' => $new_requirement->id, 'user_id' => $data['user_id'], 'context_id' => $row->id, 'accompanying' => $row->accompanying, 'intermittent' => $row->intermittent, 'interrupting' => $row->interrupting);
                     ContextScenarioUserAppInteraction::insert($context_new_data_arr);
                 }
             }
         }
         Session::flash('flash_message', 'Congratulations, New requirement added successfully!');
     } catch (Exception $e) {
         Session::flash('flash_message_error', 'Sorry, An error occurred while creating new requirement!');
     }
     return redirect("scenarios/{$request->scenario_id}");
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $scenario = Scenarios::find($id);
     $project_id = $scenario->project_id;
     if ($scenario->user_id != $this->user['id']) {
         Session::flash('flash_message_warning', 'Sorry, you do not have enough privilege to make this change!');
         return redirect("projects/{$project_id}");
     }
     $context_ideal_way = ContextScenarioIdealWay::getContextIdealWayKeyValue();
     $breadcrumbs = array('Projects' => '/projects', 'Scenarios' => "/projects/{$project_id}");
     return view('scenarios.edit', compact('scenario', 'project_id', 'context_ideal_way', 'breadcrumbs'));
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $context = ContextScenarioUserAppInteraction::select('context_scenario_user_app_interaction.*', 'CSR.scene')->leftJoin('context_scene_relation as CSR', function ($join) {
         $join->on('CSR.context_id', '=', 'context_scenario_user_app_interaction.id');
         $join->where('CSR.user_id', '=', $this->user['id']);
     })->where('context_scenario_user_app_interaction.id', $id)->get();
     if (count($context)) {
         $context = $context[0];
     }
     $requirement_id = $context->requirement_id;
     //        if($context->user_id != $this->user['id']){
     //            Session::flash('flash_message_warning', 'Sorry, you do not have enough privilege to make this change!');
     //            return redirect("requirements/$requirement_id");
     //        }
     $requirement = Requirements::select('scenario_id')->where('id', $requirement_id)->first();
     $context_ideal_way = ContextScenarioIdealWay::getContextIdealWayKeyValue();
     $breadcrumbs = array('Projects' => "/projects", 'All Requirements' => "/scenarios/{$requirement->scenario_id}", 'All Context' => "requirements/{$requirement_id}");
     return view('context.edit', compact('context', 'requirement_id', 'context_ideal_way', 'breadcrumbs'));
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $context = ContextScenarioIdealWay::get();
     $breadcrumbs = array();
     return view('context.contextIdealWay', compact('context', 'breadcrumbs'));
 }