コード例 #1
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $context = ContextScenarioUserAppInteraction::findOrFail($id);
     $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}");
     }
     $context->delete();
     Session::flash('flash_message', 'Data successfully deleted!');
     return redirect("requirements/{$requirement_id}");
 }
コード例 #2
0
 public function review(Request $request)
 {
     $requirement_id = $request->segment(2);
     $requirement = Requirements::find($requirement_id);
     $project = Projects::find($requirement->project_id);
     DB::enableQueryLog();
     $context = ContextScenarioUserAppInteraction::leftJoin('users', 'users.id', '=', 'context_scenario_user_app_interaction.user_id')->leftJoin('context_scenario_ideal_way AS context', 'context.id', '=', 'context_scenario_user_app_interaction.context_id')->leftJoin('context_ratings as CR', 'CR.context_id', '=', 'context_scenario_user_app_interaction.id')->select('context_scenario_user_app_interaction.*', 'users.name AS user_name', 'context.context_name', 'context.full_name', DB::raw('avg(CR.rating) AS avg_rating,
                     count(CR.id) AS rating_count'))->where('requirement_id', $requirement_id)->groupBy('context_scenario_user_app_interaction.id')->get()->toArray();
     $context_voting = ContextScenarioUserAppInteraction::leftJoin('ways_of_interaction_voting as WOIV', 'WOIV.context_id', '=', 'context_scenario_user_app_interaction.id')->select('context_scenario_user_app_interaction.id', DB::raw('sum(WOIV.accompanying) as accompanying_count,
                     sum(WOIV.intermittent) as intermittent_count,
                     sum(WOIV.interrupting) as interrupting_count'))->where('requirement_id', $requirement_id)->groupBy('context_scenario_user_app_interaction.id')->get()->toArray();
     foreach ($context as &$value1) {
         foreach ($context_voting as $value2) {
             if ($value1['id'] == $value2['id']) {
                 $value1 = array_merge($value1, $value2);
             }
         }
     }
     usort($context, function ($i, $j) {
         $a = $i['avg_rating'];
         $b = $j['avg_rating'];
         if ($a == $b) {
             return 0;
         } elseif ($a > $b) {
             return 1;
         } else {
             return -1;
         }
     });
     $context = array_reverse($context);
     $breadcrumbs = array('Projects' => '/projects', 'All Requirements' => "/projects/{$requirement->project_id}");
     return view('requirements.review', compact('requirement', 'context', 'project', 'breadcrumbs'));
 }