Beispiel #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $rules = array('status' => 'exists:targets,status');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return Response::json($validator->messages(), 500);
     } else {
         $target = Target::findOrNew($id);
         $mission = $target->mission()->first();
         if ($request->type) {
             $target->type = $request->type;
         }
         $target->status = $request->status;
         $target->save();
         // If all targets was achieve, parent mission will be completed
         if ($this->isAllTargetsAchieved($mission)) {
             $mission->update(['status' => 'completed']);
         }
         return Response::json($target);
     }
 }