/**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update(CampRequest $request, $card_id, $id)
 {
     $timeline[$this->action] = 'update';
     $options['0'] = 'Planned';
     $options['1'] = 'Completed';
     $options['2'] = 'Incompleted';
     $options['3'] = 'In Progress';
     Card::findOrFail($card_id);
     $camp = Camp::findOrFail($id);
     $input = $request->except('image');
     $input['start_date'] = Carbon\Carbon::parse($request->get('start_date'))->format('Y-m-d');
     $input['end_date'] = Carbon\Carbon::parse($request->get('end_date'))->format('Y-m-d');
     $input['geoPoint'] = DB::raw("GeomFromText('POINT({$request->latitude} {$request->longitude})' )");
     $input[$this->card_id] = $card_id;
     if ($camp->status != $input[$this->status]) {
         $timeline[$this->description] = '<a href="javascript:;">' . Auth::user()->first_name . ' ' . Auth::user()->last_name . '</a> changed the ' . $camp->name . ' camp status to ' . $options[$input[$this->status]] . '.';
     } else {
         $timeline[$this->description] = '<a href="javascript:;">' . $camp->name . '</a> camp has been updated by ' . Auth::user()->first_name . ' ' . Auth::user()->last_name . '.';
     }
     $camp->fill($input);
     $camp->save();
     Session::flash($this->success, Lang::get('ruban.camp.updated'));
     $timeline['object_type'] = 4;
     $timeline[$this->object_id] = $id;
     Timeline::create($timeline);
     return Redirect::route('ruban.cards.show', array($card_id));
 }