예제 #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:missions,status');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         return Response::json($validator->messages(), 500);
     } else {
         $mission = Mission::findOrNew($id);
         if ($request->title) {
             $mission->title = $request->title;
         }
         $mission->status = $request->status;
         $mission->save();
         if ($mission->status == 'completed' or $mission->status == 'canceled') {
             //Free employees if mission canceling or completed
             $mission->employees()->update(['mission_id' => null]);
         }
         return Response::json($mission);
     }
 }
예제 #2
0
 /**
  * Put existing employee to mission and return it.
  *
  * @param  Request  $request
  * @return Response
  */
 public function putMissionEmployee($mid, $eid)
 {
     $employee = Employee::findOrNew($eid);
     $rules = array('name' => 'required', 'position' => 'required');
     $validator = Validator::make($employee->toArray(), $rules);
     if ($validator->fails()) {
         return Response::json($validator->messages(), 500);
     } else {
         $mission = Mission::findOrNew($mid);
         $mission->employees()->save($employee);
         return Response::json($employee);
     }
 }